-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
/
Copy pathCHANGELOG
6958 lines (6141 loc) · 384 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This file contains a summary of changes to the Oppia code base.
v3.0.5 (02 Dec 2020)
------------------------
Contributor Pages
* Fix part of #10687: Make it possible to get the top 5 suggestions that have been waiting longest for review per reviewer. (#10860)
* Fix #10955: Make the updates to the CommunityContributionStatsModel transactional in the PopulateContributionStatsOneOffJob (#10956)
* Fix #10687: Make it possible to notify Contributor Dashboard reviewers that there are suggestions waiting for review. (#10943)
* Fix translation count issue for the exploration opportunity models (#11290)
* Add job to delete invalid suggestion models on server (#11274)
* Add job to rename the ExplorationOpportunitySummaryModel properties (#11093)
* Fix #10707, #10969: Notify admins about bottlenecks on the Contributor Dashboard causing a longer review turnaround time (#10963)
Cloud NDB Migration
* Improve code health of test_utils (#11080)
Bug fixes
* Fix #11200: Fix browser detection mismatch between frontend and backend (#11211)
* Fix part of #11202: Enable logging and add retry for create task (#11209)
* Bug fixes: enable signup button after usernamehandler/data call has completed; login redirection must include search params (#11115)
* Fix #11023: Improve robustness of platform parameter evaluation (#11074)
Translations
* Add new site languages Kabyle & Turkish (#11109)
* Fix #11032: Adds customization args content-id for state color status for voiceover (#11094)
* Migrate text input rules from NormalizedString to SetOfNormalizedString (#10882)
Developer UX
* Implement admin control panel for dynamic feature gating (#10334)
* Use merge-base when determining diffs in pre_push_hook (#10978)
* Fix #10617: Refactor the js_ts_linter to run eslint checks on all files at once (#10632)
* Fix #10552: Add test coverage for eslint checks (#11024)
* Fix #10633: Refactored linter to fail if one of the sub-linter fails and exit (#10895)
* Fix #10802: Moved _check_http_request to general_purpose_linter (#10877)
* Refactor the linter to log more helpful messages (#10705)
* Fix part of #8423: Add pylint check for a single space after keyword (`if`, `elif`, `while`, `yield`) (#10486)
* Fix part of #10863: Replace overrides of put with _pre_put_hook (#10890)
Data handling
* Fix hard-deletion cron job for versioned models (#11204)
* Wipeout 8.16: Save the username of deleted user so it cannot be reused (#11168)
* Wipeout 8.15: Fix removal of user from contributors (#11151)
* Fix #10951: Create a new model that is used to retrieve the user ID from the GAE ID (#11134)
* Fix issues with ExplorationSnapshotMetadataModelAuditOneOffJob due to large output (#11127)
* Wipeout 4.5: Add username confirmation field into the delete account modal (#11082)
* Wipeout 8.14: Hard deletion for models marked as deleted and other small stuff (#11071)
* Wipeout 8.13: Fix deletion policies in various models (#11069)
* Fix part of #10951: Only allow creating users on the signup page (#11050)
* Fix 10178: Remove gae_id attribute from UserSettingsModel (#10994)
* Fix part of #10463: Add profile picture verification job (#10961)
* Fix part of #5914: Add testing for Takeout export policies (#10944)
* Remove creation of contribution model for migration bot (#10927)
* Wipeout 8.11: Various fixes (#10864)
* Wipeout 9.1: Add tests for wipeout and modify the release for wipeout (#10830)
* Fix part of #5914: Enable Takeout (#10825)
* Add one off job to fix issues with exploration model (#10821)
* Fix #10811: Add one off jobs to fix issues with user models (#10794)
* Validate whether all the metadataSnapshot has a commitLog pair (#10770)
* Add one-off job for question suggestion migration (#11169)
* Wipeout 8.12: Edit deletion page texts and modify the wipeout process (#10993)
* Fix #10863: Explicitly update the timestamps of models (#10981)
* Add one-off job for question suggestion migration (#11169)
* Enforce index config for StringProperty and TextProperty (#10869)
Learner/Creator Pages
* Fix #10788 and add a 'Coming Soon' topic card to classroom page. (#10939)
* Fix #11242: Show appropriate error message when skill deletion fails (#11284)
* Fix #11055: Modify validation for prereq skills (#11258)
* Redirect /learn -> /learn/math and "browse our lessons" button to redirect to classroom instead of library (#11213)
* Story viewer signup flow (#11139)
* Add customization arg for Numeric Expression Input Interaction (#10815)
Release team
* Fix #9415: Adds feature to update version in package.json with each release (#11008)
* Fix terms page path in update configs script (#11001)
* Fix workflows for changelog update PRs (#10998)
QA Team
* Improve rating and feedback (#10965)
* Fix help card hiding the submit button in e2e tests (#10819)
* Topics and skills dashboard e2e refactor (#10782)
* Custom e2e logging 2 (#11056)
* Implement e2e flow test for dynamic feature gating (#10372)
* Install Chrome 77 in e2e tests on Github Actions (#11009)
* Fix part of #10798: Fixing End-to-End Tests with action.js and waitFor.js (#10954)
* Fix end to end tests for ContributorDashboard Page.js with action.js and waitFor.js (#10928)
* Rewriting the Extensions Suite (#10776)
Angular Migration
* Fix part of #8472: Migrate solution verification service (#11135)
* Fix part of #9749: Migrates collection-navbar.component.ts (#11053)
* Fix part of #8472: Migrate EditableQuestionBackendApiService to Angular8 (#11040)
* Fix part of #8472: Migrate Expression Interpolation Service (#10991)
* Fix part of #9749: Migrates state-param-changes-editor.component to Angular (#10962)
* Fix part of #8472: Migrate exploration-summary-backend-api.service.ts and exploration-id-validation.service.ts (#10908)
* Fix part of #10700: Refactor Object Factories with Dependencies (#10868)
* Migrate QuestionsListService to Angular (#10867)
* Fix part of #10700: Refactor Object Factories (#10838)
* Fix part of #8472 : Migrate TranslationTabActiveModeService to Angular8 (#10813)
* Fix part of #10700: Refactor Object Factories (#10701)
* Fix part of #8472: Migrate editable-story-backend-api.service.ts file to angular 8 (#10378)
* Fix part of #8472: Migrate admin-config-tab-backend-api.service.ts file to angular 8 (#11058)
* Fix part of #8472: Migrate learner answer info service to angular 8 (#11021)
* Fix part of #8472: Migrate EditableTopicBackendApiService to Angular 8 (#10997)
* Fix #8038: Http calls moved from promo-bar.service.ts to *backend.api.service (#11067)
* Fix #10398: Remove services from app and add require (#10725)
v3.0.4 (17 Oct 2020)
------------------------
Contributor Pages
* Fix guest user UI for opportunities on community dashboard (#9434)
* Fixes #10625, #10696 & #10910: Add checks to present old suggestions for the deleted opportunities (#10932)
* Fix part of #10707: Create a one off job to populate/regenerate the count values in the CommunityContributionStatsModel (#10774)
* Fix #10757: Add a check to validate the values of the counts of the CommunityContributionStatsModel (#10764)
* Fixes #10625 and Fixes #10696 Adds check to make sure opportunities are not undefined (#10745)
* Fix part of #10707: Create a model to keep track of the number suggestions that are currently in review and the number of reviewers. (#10708)
* Fix part of #10687: Make it possible to retrieve the question and translation suggestions that have been waiting too long for review. (#10688)
* Fix 10590: Update the naming of UserContributionScoringModel to UserContributionProficiencyModel in index.yaml. (#10592)
* Enables contributor dashboard page (#10573)
* Fix #10546: Make it possible to query suggestions by language. (#10547)
* Allow uploading and copying images in translation suggestion (#10529)
* Allow images in question suggestions. (#10475)
* Fix #10456: Improve naming by changing Scoring to Proficiency in UserContributionScoringModel and UserContributionScoring. (#10458)
* Fix #10031: Translation opportunity progress fixes (#10159)
Learner/Creator Pages
* FIx #10915: Remove newlines from profile picture data URLs before rendering (#10984)
* New structures UI bug fixes (#10948)
* Add AlgebraicExpressionInput and MathEquationInput interactions to android constants (#10903)
* Add NumericExpressionInput to android validation constants (#10806)
* Fix #10604: Add validation indication for topic/story/subtopic creation modals (#10804)
* Make customization args modal have a static backdrop. (#10789)
* Fixes #10528: Fixes audio bar placement (#10784)
* Adds links for chapters in the topic viewer page (#10755)
* Fix #10638: Adds a job to add xmlns attribute to math SVG images. (#10752)
* Fix #10597: Preferences UX fixes; enables remove icon and fixes dnd issue in mobile view for playlist items; fixes bullet points issue in subtopic editor (#10739)
* Fix #10685 and #10636: CSS changes (#10734)
* Fix #10608 Fixing skills dashboard pagination . (#10731)
* Fix part of #10491: Frontend changes to mark optional misconceptions as inapplicable (#10729)
* Fixes for learning facing bugs (#10695)
* Fix 10649: The history tab in the exploration editor shows incorrect revisions. (#10690)
* Fixes part of #10548: UI/UX fixes in the classroom page (#10683)
* Fix #10587: Follow on PR #10567 (#10676)
* Fix #10612: Fixing question editor UI issues. (#10673)
* Fix #10594, 10605 Exploration navbar bug, and modal closing on clicking outside. (#10669)
* Fix part of #10548: Classroom issues and miscellaneous fixes (#10664)
* Fix #10460: Adds the learner view for the ratio input interaction (#10662)
* Improving topics and skill dashboard mobile view (#10615)
* Adding confirmation dialog before leaving browser. (#10584)
* Redirect to topic editor page if subtopic id is invalid (#10581)
* Page title and meta tag fixes (#10579)
* Fix part of #10491: Untag deleted misconceptions from questions (#10567)
* Change landing page links (#10557)
* Adding loading screen to topic editor and story editor (#10545)
* Fix #10535: Use a variable for custom schema (#10536)
* Fix #10499: Fixing no error is displayed for exploration in story. (#10524)
* Fixed error message in math interactions. (#10521)
* Changing text for uncategorized skills on the topic editor and removing skill button from subtopic editor. (#10515)
* Fix #10440: Improving the UI for exploration editor, question editor and fixing navbar bug (#10507)
* Fix #10196: Added frontend validation for math rich text SVG image size (#10504)
* Math interaction fixes (#10492)
* Introduce fields 'not_applicable_misconception_ids' for questions and 'misconception_ids' for question summaries (#10481)
* Svg editor UI improvements and bug fixes (#10478)
* Minor UI fix in the math editor. (#10468)
* Adding interaction field to the Question Summary Model. (#10459)
* Fabric js version update (#10453)
* Improving UI of modals for exploration editor. (#10447)
* Adds Meta tag fields for topics and stories and practice_tab_is_displayed field for topic. (#10445)
* Upgrading UI for the exploration customize interaction modal. (#10431)
* Fix #861: Add text input rule validation. (#10424)
* Improving exploration editor main tab UI. (#10417)
* Fix #10264 and Adding support for adding prerequistie skills for chapter editor. (#10413)
* Adding destination ids to story nodes (#10412)
* Fix #10362, #10283, #10301 and #10303: Learner view changes (#10409)
* Fix #10267: Fixes exploration editor autosave bug (#10405)
* Upgrading the UI for exp history tab. (#10400)
* Introduce classroom_page_is_accessible and classroom_promos_are_enabled config props (#10391)
* Fix #10352 Adding subtopic validation and disabling practice tab for topic editor. (#10374)
* Upgrading the question editor UI. (#10370)
* Milestone 3.2: Removed the old math interaction. (#10361)
* Question Editor: Adding select difficulty modal to the question tab page itself. (#10357)
* Add URL preview for topics, subtopic, and story editor (#10351)
* Fixes #10311: Adds storyId property to StoryPlaythrough object (#10348)
* Use the math SVGs in the datastore instead of MathJax to render the math rich-text components (#10331)
* Upgrading UI for the exploration settings tab (#10328)
* Milestone 3.1: Adds 3 rules to AlgebraicExpressionInput and MathEquationInput (#10321)
* Add redirection with lowercase url_fragment (#10304)
* Adding loading dots to the topic and skill editor tab untill the data is fetched from the backend. (#10289)
* Fix #10140: Make url_fragment a required field (#10277)
* Fix #10229: Fixes bugs related to the new math interactions. (#10269)
* Fix #10207, 10206, 10205: Fixing UI bugs and making improvements. (#10225)
* Upgrading the UI for the exploration editor. (#10221)
* Upgrading the UI for the exploration editor navbar. (#10184)
* Add import svg tool to svg editor (#10182)
* Create a preview tab for the topic editor in the editor itself. (#10150)
Answer Classification
* Revert "Milestone 2 of ML pipeline migration" (#10765)
* Milestone 2 of ML pipeline migration (#10672)
* Milestone 2 of ML pipeline migration (#10060)
Lesson analytics
* Fix transaction error in stats recording. (#10835)
* Fix part of #9632: Improve debugability of stats_domain.ExplorationStats (#10694)
* Introduce NeedsGuidingResponses Task Component to Improvements Tab (#10390)
* Extend ExplorationImprovementsService to manage HBR/NGR tasks (#10231)
Developer UX
* Fix formatting of linter messages (#9925)
* Update codeowners (#10777)
* Fix part of #8668: JSOC added for admin-router.services (#10775)
* Fix #10748: Add relative path for the custom eslint module (#10750)
* Fix part of #10306: Added async keyword to asynchronous functions that return a promise. (#10703)
* Fix part of #9827: Migrate Google App Engine Taskqueue to Cloud Tasks (#10699)
* Fix #10697: Replace moment with dayjs and use proper lodash imports (#10698)
* Slight changes to the lighthouse configs (#10677)
* Upgrade libs (#10644)
* Update names for GitHub Actions workflows to be globally consistent. (#10626)
* Use preexisting pip functions with requirements (#10623)
* Fix #10250: Revert codeowners for contributor dashboard project (#10586)
* Fix #10538: Revert CODEOWNER files back to @vojtechjelinek (#10585)
* Removed inline styling (#10580)
* Disable inline styling. (#10577)
* Adding requireindex as a dependency (#10565)
* Drop --skip-build and --skip-install from the first e2e test on Github actions (#10562)
* Fix part of #8423: Added lint to prohibit inline styling (#10550)
* Transfer files away from vojtechjelinek (#10534)
* Fix #10219: Type checks for .d.ts files (#10526)
* Fix backend test issues on develop branch (#10525)
* Fix part of #8423: Added lint check to disable multiline eslint-disable comments (#10497)
* Fix part of #8423: Added new lint check to ensure correct frontend-tests message styling (#10494)
* Fix part of #8423: Added lint check to remove any unused dependency (#10493)
* Fix WebP images and switch lighthouse config from JSON to JS (#10467)
* Lint Check for $broadcast use in the codebase (#10457)
* Introduce new eslint rules (#10455)
* Force user agent for urllib.urlretrieve (#10454)
* fix additionalEditorFeatures test flake (#10446)
* Split non-prod e2e test into two builds (#10444)
* Fixed part of #8423: Added lint check to check for unused variables (#10441)
* Add a new config for strict typescript checks (#10433)
* Removed inline styling (#10430)
* Add some more eslint checks (#10414)
* Upgrade libs (#10406)
* Fix #10383: Migrated comment checker to ITokenChecker (#10383)
* Introduce more eslint checks (#10377)
* Migrated BlankLineBelowFileoverview from IRawChecker to IAstroidChecker (#10376)
* Fix part of #8423: Added custom eslint check to ensure line break after parenthesis (#10363)
* Update skip_files to remove invalid dirs and to exclude test files (#10355)
* Fix lint checks failing on develop (#10344)
* Fix part of #8423: Added lint check to check for any extra space in parenthesis (#10295)
* Fix part of #8423: Added a lint check to ensure a space after semicolon (#10294)
* Add { waitUntil: 'networkidle0' } to the puppeteer script (#10293)
* Used pycodestyle instead of custom pylint check (#10292)
* Upgrade libs (#10288)
* Fix part of #8668: Documenting editability.serivce.ts with JSDoc (#10285)
* Fix part of #10250: Temporarily transfer codeowners for contributor dashboard project (#10252)
* Introduce new eslint checks (#10187)
* Fix part of #9827: Migrate Google App Engine memcache services to use Memorystore for Redis (#10114)
* Implement part of #9827: Update webapp2 to support python3 (#10621)
* Milestone 3.5: Add Dynamic URLS to lighthouse and Reinstate admin pages (#10537)
* Changes implicit typecast to explicit typecast for returning status code in Error page component (#10462)
* Fix part of #9827: Enforce redis server to start with clean slate. (#10429)
* Update Google App Engine Cloud SDK to Latest Version (#10254)
* Fix part of #8668: Documenting state-name.service.ts with JsDocs (#10172)
* Upgrades the UI for the question editor tab. (#10243)
* Follow up for addressing #10186 comments: Generalizes exploration migration audit jobs for testing exploration/state migrations (#10204)
* Implement frontend domain objects for dynamic feature gating (#10190)
* Implement frontend services for dynamic feature gating (#10185)
* Milestone 3.1 : Add Ratio Expression Input Interaction (#10175)
* Milestone 3.1: Score 100% in both Chrome and manual accessibility audits on Preferences, Profile, Splash, Signup pages. (#10174)
* Milestone 2: Deferred Changes and miscellaneous fixes (#10152)
* Community dashboard e2e tests for suggestions and reviewer assignment (#10090)
* Fix part #4057: Adding tests for SkillDifficultyObjectFactorySpec.ts. (#10085)
* Implement controllers for dynamic feature gating (#10021)
Data handling
* Fix part of #5914: Projection query for improved Takeout performance (#9963)
* Fix #10891: Fixes moderator page issues (#10894)
* Fix 10861: Removal of version attribute from ModifiableUserData domain class (#10862)
* Add comments for migration jobs to clarify job deletion (#10827)
* Add one off jobs to fix issues with feedback model (#10799)
* Add one off jobs to fix issues with recommendation model (#10797)
* Add one off jobs to fix issues with question models (#10793)
* Add one off jobs to fix skill model related issues (#10791)
* Wipeout 8.9: Add support for wipeout to remaining models (#10762)
* Wipeout 8.8: Introduce wipeout utilities in the admin page (#10759)
* Fix issues in audit jobs (#10730)
* Remove duplicate job name in jobs_regsitry (#10722)
* Fix part of #10049: Remove deprecated fields: translator_ids & gae_user_id (#10704)
* Convert error output in interaction validation job to unicode (#10680)
* Wipeout 8.7: Add more models to wipeout (#10674)
* Delete feedbacks when exploration or topic is deleted (#10613)
* Fix part of #5914: Change export policy to per-field rather than per-model (#10558)
* Fix #10394: Shift PIN attribute to UserSettingsModel (#10517)
* Wipeout 8.6: Add pseudonymous usernames (#10511)
* Fix #9952: Removed the temporary model ExplorationMathRichTextInfo and corresponding one-off jobs (#10509)
* Fix #10380: Remove golden zip file in Takeout controller level tests. (#10500)
* Wipeout 8.5: Delete exploration related models and remove old `JobModel`s (#10466)
* Fixes part of #10415: Refactor activity validators (#10416)
* Add snapshot metadata audit job (#10367)
* Refactor prod validation jobs (#10360)
* Wipeout 8.4: Add `mentioned_user_ids` to RightsSnapshotMetadataModels (#10332)
* Wipeout 8.3: Pseudonymize feedback and suggestion models (#10318)
* Fix part of #5914: Resolve issue with timezones in controller level tests (#10284)
* Introduce proper reconstitute for `CollectionRightsModel` and `ExplorationRightsModel` (#10245)
* Fix #10240: Implement domain requirements for android profiles (#10241)
* Refactor interaction validation jobs and add a new one for customization args validation (#10092)
* Wipeout 8.2: Implement wipeout for other categories of models (#10047)
* Implement backend services for dynamic feature gating (#9995)
* Gather all remaining ndb usages into gae_datastore_services and enforce it (#10858)
* Gather usages of ndb modules into gae_datastore_services (#10792)
* Gather usages of datastore_* modules into gae_datastore_services (#10790)
* Gather usages of app_identity into gae_app_identity_services (#10786)
* Gather usages of datastore_query.Cursor into gae_datastore_services (#10785)
* Create keyboard shortcut discovery modal (#10487)
* Added a validation job for validating the Math content object in Math rich-text components with the recently added validation (#10418)
Speed improvement
* Move libraries used for interactions to webpack (#10388)
* Fix source maps bug (#10384)
* Use faster devtools in webpack (#10228)
* Loads libraries in manifest.json using webpack, Add a seperate light module for karma (#10223)
Release team
* Update release constants to specify a single value for app yaml (#10916)
* Complete release refactor by removing extra scripts (#10883)
* Update to release scripts to deploy cron.yaml (#10834)
* Delete the cloud_datastore_export app (#10833)
* Fix appengine_config to monkeypatch versions for get_distribution (#10824)
* Add flag to provide custom release data dir for deployment (#10817)
* Add all release constants to wrap up release refactor (#10763)
* Adds new script and constants for release refactoring (#10723)
* Fix minor issues with release scripts (#10679)
* Remove manual check for feconf verification (#10589)
* Fix issues with release scripts (#10523)
* Fixes issues in release scripts (#10471)
* Milestone 3.3: Achieve Lighthouse scores of 100 on Story editor, Story player, Teach, and Terms pages (#10403)
* Fix issues with release scripts and update scripts for redis (#10354)
* Milestone 3.2: Score 100% in Chrome accessibility audits on Skill_Editor, Stewards, Story_Editor, Review_tests pages (#10276)
* Fix instructions in release scripts (#10234)
QA Team
* Changes default log level to 'error' for e2e tests (#10823)
* Fix e2e issue in the topic and skill dashbaord page (#10643)
* Adding test for story editor directive. (#10566)
* Remove Accessibility & Learner Suites from Actions (#10542)
* Replace Exploration Statistics Tab with Additional Player Features in GitHub Actions E2E (#10489)
* Fix User Creation Flake in e2e tests (#10488)
* Add E2E Tests to GitHub Actions (#10448)
* Increasing coverage for the topic selector directive. (#10435)
* Add custom jasmine report in frontend unit tests (#10407)
* Milestone 2 Fix - Improve spec from frontend unit tests (#10387)
* Milestone 3 - Change directives to components and test hard components (Part 2) (#10364)
* Milestone 3 - Change directives to components and test hard components (Part 1) (#10353)
* Milestone 3 - Change directives to components and test easy components (Part 2) (#10335)
* Revert "Milestone 3 - Change directives to components and test easy components (Part 2)" (#10329)
* Milestone 3 - Change directives to components and test medium components (Part 3) (#10305)
* Milestone 3 - Change directives to components and test medium components (Part 2) (#10273)
* Milestone 3 - Change directives to components and test medium components (Part 1) (#10193)
* Milestone 3 - Change directives to components and test easy components (Part 3) (#10168)
* Milestone 3 - Change directives to components and test easy components (Part 2) (#10144)
* Milestone 3 - Change directives to components and test easy components (Part 1) (#10143)
* Milestone 1 Fix - Improve spec from frontend unit tests (#10111)
Angular Migration
* Fixes Part of #10700: Refactor state stats object factory (#10844)
* Add workaround for stateful Angular 8 Services (#10714)
* Fix Part of #10700: Refactor Object Factories (#10713)
* Migrate Skill Backend Api Service to Angular (#10693)
* Fix part of #8742: Upgrade AssetsBackendApiService, AudioPreloaderService, and ImagePreloaderService (#10671)
* Fix part of #8472: Migrate FocusManagerService to Angular 8 (#10661)
* Fix part of #8472: Migrate ExpressionEvaluatorService to Angular 8 (#10660)
* Add helper function to provide all angular dependencies. (#10659)
* Convert base-undo-redo service to a typescript class. (#10583)
* Introduce a unit test utils file to contain commonly used patterns in unit testing. (#10427)
* Fix #10083: Fixes rogue events, migrates recent events and completely eradicates $broadcast/$on pairs from the codebase (#10395)
* Migrate topic-viewer-page.component.ts (#10392)
* Fix part of #10083: Migrates events 'externalSave' and 'focusOn' to Angular and adds event for Math RTE editor (#10365)
* Fix part of #10083: Removes events 'EVENT_NEW_CARD_AVAILABLE', 'refreshVersionHistory', 'playerStateChange' (#10343)
* Fix part of #10083: Removes events 'topicsAndSkillsDashboardReinitialized' and 'undoRedoChangeApplied' (#10342)
* Create an index file for all angular services to help with testing angularjs code without using ugs. (#10341)
* Fix part of #10083 - Migrate onQuestionChange event (#10340)
* Fix part of #10083: Removes events 'hintConsumed', 'initExplorationPage', 'helpCardAvailable' (#10299)
* Fix part of #10083: Removes events 'activeLanguageChanged', 'activeContentIdChanged', 'showTranslationTabBusyModal' (#10298)
* Fix part of #10083: Removes InitialSearchResultsLoaded and SchemaBasedFormShown (#10272)
* Fix part of #10083 - Migrate CollectionLoad event (#10271)
* Fix part of #10083: Removes refreshStateTranslation, solutionViewed and updateAnswerChoices (#10258)
* Fix part of #10083: Removes OppiaFeedback, QuestionSessionCompleted and RatingUpdated (#10255)
* Fix part of #10083: Removes events 'EVENT_SUBTOPIC_PAGE_LOADED', 'EVENT_NEW_CARD_OPENED', 'EVENT_QUESTION_SUMMARIES_INITIALIZED', 'EVENT_STORY_SUMMARIES_INITIALIZED' (#10253)
* Fix part of #10083: Removes EnterEditorForTheFirstTime, EnterTranslationForTheFirstTime and CenterGraph (#10251)
* Fix part of #10083: Removes unused events from the codebase (#10238)
* Fix part of #10083: Removes events 'EVENT_EXPLORATION_PROPERTY_CHANGED', 'preferredLanguageCodesLoaded', 'saveOutcomeFeedbackDetails', 'saveOutcomeDestDetails', 'explorationPropertyChanged' (#10233)
* Fix part of #10083: Removes events 'EVENT_VIEW_STORY_NODE_EDITOR', 'recalculateAvailableNodes', 'storyGraphUpdated' (#10224)
* Fix part of #10083: Removes events EVENT_TOPIC_INITIALIZED & EVENT_TOPIC_REINITIALIZED from the codebase (#10222)
* Fix part of #10083: Removes events 'EVENT_AUTOPLAY_AUDIO' and 'EVENT_ACTIVE_CARD_CHANGED [With coverage fix] (#10216)
* Fix part of #10083: Removes events 'updateActiveStateIfInEditor', 'openEditorTutorial', 'openTranslationTutorial', 'openPostTutorialHelpPopover' (#10208)
* Fix part of #10083: Removes events 'submittedSchemaBasedIntForm', 'submittedSchemaBasedFloatForm', submittedSchemaBasedUnicodeForm' (#10195)
* Fix part of #10083: Eliminates events refreshGraph, refreshStatisticsTab, refreshSettingsTab, refreshTranslationTab [FIXES Frontend test issue] (#10151)
* Fix #10055: Remove unneeded optional properties (#10093)
Bug fixes
* Fix #10935: Fix import of $scope (#10938)
* Fix blocking bugs: Fixes to topic viewer page and exploration player page (#10783)
* Fix part of #10772: Change 'expect model' to 'expected model' in ERROR_CATEGORY_FIELD_CHECK error messages. (#10773)
* Fix #10596: Fix error in showing links to explorations in moderator page (#10692)
* Fix #10375: Fixes typo in translation key and adds scope to showLicenseExplanationModal() in "I18N_SIGNUP_LICENSE_NOTE" (#10422)
* Fix #10097: Change methods in suggestion_services.py to pass the suggestion id instead of passing the suggestion object. (#10300)
* Fix #10256 (#10257)
* Fix #10934: Fix admin page UI (#10940)
* Revert "Fixes #10625 and Fixes #10696 Adds check to make sure opportunities are not undefined" (#10876)
* Fix part of #10474: Enable Strict type check for following services - CsrfTokenService, DateTimeFormatService (#10851)
* fix part of #10306 added async to createSkill (#10846)
* Add a dummy strptime call before a deferred task is called (#10832)
* Refactor core.domain.user_services to use the requests library (#10818)
* Fix part of #10250: Temporarily transfer codeowners for contributor dashboard project. (#10787)
* Fix part of #10306: added the async keyword in Email Dashboard data service (#10781)
* Fix part of #10306: Added "async" keyword to files in profile_page directory (#10778)
* Update terms to CC BY SA (#10761)
* fix backend test failure in suggestion_services_test (#10760)
* Fix #10629, #10532: Fixes all contributor dashboard page UI issues (#10751)
* Localisation updates from https://translatewiki.net. (#10740)
* Fixes part of #10415: Refactor opportunity validators (#10735)
* Fix part of #10474: Cover BrowserCheckerService and BackgroundMaskService with strict checks (#10724)
* Fix part of #10709: Temporarily remove Hudda from codeowners (#10710)
* Fix part of #10474: increased the coverage of strict checks (#10706)
* Fix #9245: Keep cursor type to default when hovering over hint-label (#10681)
* Fix #10477: Access AppConstants using dot-notation (#10651)
* Fix #10642, #10641 Question appearing twice and error if no difficulty is present. (#10648)
* Fix part of #9827: Fix bug where python libraries with added support for other packages are handled incorrectly. (#10622)
* Fixes part of #10619: Temporaily remove Nitish from codeowners (#10620)
* Localisation updates from https://translatewiki.net. (#10618)
* Fix #10593: Start redis server in scripts.start in prod environment. (#10614)
* Fix #9578: Change Blog icon from Blogger to Medium (#10595)
* Revert "Milestone 2 of ML pipeline migration" (#10578)
* Fix #10472: Add myself back as codeowners (#10576)
* Separate lighthouse accessibility checks into a new suite (#10571)
* Remove unnecessary ids and update names for ids used for accessibility. (#10570)
* Fixes Lint error in lighthouse_setup script (#10568)
* Fix #10556: Added Math SVGs for demo explorations. (#10564)
* Add link to code change guidelines in PR template (#10559)
* Fixing position of the question help box on mobile. (#10554)
* Fix part of #8668: document logger and messenger services (#10544)
* Fix part of #9632: Introduce/fix jobs for regenerating the missing stats of an Exploration (#10541)
* Fix #10522: Add initialization at page startup for PlatformFeatureService (#10505)
* Fix part of #9827: Update the way backend python libraries are installed. (#10502)
* Fix part of #10474: Cover more files with strict checks (#10485)
* Adds a lint check to restrict the usage of bypassing angular's security mechanism, decode the URI encoded profile pictures and remove safe-pipe.ts (#10484)
* Fix part of #10474, Fix #7434: Cover more files with strict checks and Makes all constants accessible in AppConstants using dot notation (#10476)
* Milestone 3.4: Achieve Lighthouse scores of 100 in topic and skill dashboard, topic editor, topic_viewer, and thanks page (#10461)
* Rewrite the coreEditorAndPlayerFeatures Suite (#10443)
* Fix backend test error introduced in #10021 (#10401)
* Fix #10045 : Remove the temporary math SVG generation functions (#10393)
* Fix #10359: Removes waitForNavigation() from lighthouse puppeteer scripts (#10382)
* Add test cases for PlatformParameter registry (#10368)
* Fix #9379: Added validation for svg_filename field in math rich-text components. (#10366)
* Fixes backend test flake in SuggestionSvgFilenameValidationOneOffJobTests (#10330)
* Fix #10072: Adds dtslint tests to test that customization argument backend interfaces match the customization argument interfaces (#10326)
* Fix #10324: Fixing space in navbar (#10325)
* Removed inline styling (#10287)
* Replace self for Android codeowners while on vacation (#10275)
* Fixes flaky frontend tests (#10270)
* Fix #10247: Set CodeMirror viewportMargin to 100 and fix e2e flake (#10248)
* Fixes docstr in customization_args_util_test.py (#10244)
* Fix #10235: Fixing Broken Frontend Tests Wiki Link (#10237)
* Fix #10094: Only create exploration opportunity on topic/story publish. (#10212)
Translations
* Fix #10098: Translation tab fixes (#10870)
* Reverses the AnswerGroup domain object migration to allow translations of rule inputs from PR10246 (#10516)
* Adds frontend components to contribute interaction customization args translations in the translation tab of exploration editor (#10308)
* Migrates AnswerGroup domain object to allow translations of rule inputs (#10246)
Server Errors
* Suppress AppEnginePlatformWarning warning (#10871)
* Removes unwanted suggestion cron jobs (#10423)
v3.0.3 (CANCELLED)
-----------------------------
This release was cancelled due to the release preparation process running significantly past the deadline.
v3.0.2 (01 Sep 2020)
------------------------
Learner/Creator Pages
* The topic description breaks word randomly, fixing word break css. (#9789)
* Revert "Milestone 1.2 and 1.3: SVG generation for new entities." (#9795)
* Adds bezier curve tool to svg editor (#9927)
* Revert #9744: Fixes #7690, #9632: When updating an exploration, commit all new models transactionally (#9948)
* Added functions for generating math SVGs in exploration (#9985)
* Milestone 2.3: Adds an on-screen keyboard for math interactions. (#9978)
* Seperating the main story editor and the chapters list into different cards in the story editor. (#9965)
* Adding reorder/drag-drop feature for subtopics in the topic editor. (#9955)
* Making UI improvements to the topic and subtopic editor. (#9954)
* Fix #9904: Add check and validation to fix concept card issues. (#9910)
* Fix #9838, #9877, #9801 and #9819: Topic, subtopic and story viewer changes, trailing whitespace in RTE content and skill editor changes (#9907)
* Improving the subtopic editor UI, preview tab and adding mobile view for subtopic editor and preview tab of subtopic editor. (#9901)
* Fix #9837, #9834, #9833 Fixing merged skills persist, topic warning is cut-off, topic description typo. (#9896)
* Adding reassign modal to add skills to subtopics globally, and made UI upgrades to topic editor. (#9895)
* Added one-off job and temporary model for helping in image generation of Math explorations (#9889)
* Milestone 2.2: Upgrade explorations that use the old math interaction. (#9863)
* Adding the functionality to reorder skills in the subtopic editor, by dragging and dropping. (#9852)
* Upgrading the preview tab UI for subtopic editor (#9829)
* Milestone 2.1: Added Numeric Expression Input Interaction. (#9822)
* Adding Functionality to get number of question assigned to skill with given ids. (#9816)
* Increase ExplorationMigrationJobManager sharding to 64 and adds check to prevent processing of private explorations for DragAndDropSortInputInteractionOneOffJob (#9815)
* Generate SVGs for math-expressions created for all the new entities (#9805)
* Complete the classroom page and add a topic summary regeneration job (#9778)
* Fix 9756, 9755 Fixing error in deleting skill (#9769)
* Svg diagram editor rte bug fixes (#9763)
* Add e2e tests to svg editor rte (#9745)
* Fix part of #8015: skill-mastery-backend-api (#9430)
* Fix #10264 and Adding support for adding prerequistie skills for chapter editor. (#10413)
* Adding destination ids to story nodes (#10412)
* Fix #10266, #10259 Fixing overflow bug and thumbnail preview improvements. (#10371)
* Fix #10324: Fixing exploration breaks on new card when name gets too big. (#10346)
* Add redirection with lowercase url_fragment (#10304)
* Fix the failing of SuggestionSvgFilenameValidationOneOffJob job on the test-server (#10302)
* Fix #10229: Fixes bugs related to the new math interactions. (#10269)
* Add math RTE to VALID_RTE_COMPONENTS whitelist (#10226)
* Added generation functions for math latex svgs suggestions (#10203)
* Add link to Oppia avatar images (#10179)
* Fix #10128 and Automate generation of SVGs in explorations (#10158)
* Fix #10126: Making UI improvements to the editor pages. (#10137)
* Fix #10037: Adds a customization arg for math interactions. (#10136)
* Added audit jobs to find math latex strings without svgs in topics, skills, questions and stories (#10135)
* Introduce url_fragment for stories and subtopics (#10134)
* Add pie chart tool to svg editor (#10099)
* Adding the mobile view for story editor and the chapter editor. (#10046)
* New URL changes (#10041)
* Upgrading the create chapter modal UI to include explorationID and thumbnail image. (#10040)
* Changing the Create story modal to include description and thumbnail. (#10034)
* Fix #10020: Making UI fixes for the topic editor page, skill editor page, subtopic editor page. (#10027)
* Creating a seperate chapter editor, and adding the top blue navigation bar. (#10026)
* Adding functionality to reorder chapters inside a story. (#10010)
* Fixes #9970 - Implement new role "Learner" for profiles (#10007)
* Improving the UI of the subtopic page, reassign modal, and the top blue navbar. (#10006)
* Fix feedback reply issues on editor page (#10130)
Contributor Pages
* Fix #9638: Update "community dashboard" usages to "contributor dashboard" (#9983)
* Fix #9637: Do not display empty translation texts for translation opportunities (#9981)
* Fix #9640: Fixed the language dropdown not disappearing for the 'View Community Reviewers' section of admin page (#9949)
* Fix #9902: Fixed the viewing community reviewers by role dropdown not populating, e2e tests added (#9941)
* Fix #9639: prevents trying to access fields of a null pointer when rendering exploration opportunities (#9849)
* Fix #9500: Load dummy new structures data from admin page now populates translation opportunities. (#9848)
* Fix #9634: Reject question suggestions upon corresponding skill deletion. (#9839)
* Fix #9676: update exception output to print useful stack traces in suggestion.py (#9750)
* Fix #9509: Set empty user IDs for question suggestions to None instead of empty strings (#9511)
* Fix #9635: Marks translation suggestions as rejected when an exploration is removed from a story. (#10024)
* Fix #9636: Marks translation suggestions corresponding to a topic rejected whenever the topic is deleted. (#10022)
Lesson analytics
* Fix part of #7100: updated audit job for PlaythroughModel (#9546)
* Gather improvements-related config into a controller/service API (#9998)
* Introduce ExplorationImprovementsTaskRegistryService (#9881)
* Add stronger typings to Exploration tasks (#9800)
* Delete deprecated improvements tab logic (#9787)
* Deprecate BarChart visualization (#10095)
QA Team
* Fix #9052: Disable E2E Test Sharding by Default (#9793)
* Fix e2e test issue for preference suite (#9897)
* Revert "Milestone 2 - Fully cover 10 controllers (Part 2) FIX (#9873)" (#9931)
* Changing directives to components and test all to get 100% coverage (Part 3) (#9979)
* Milestone 2 - Changing medium directives to components and test all to get 100% coverage (Part 2) (#9961)
* Milestone 2 - Fully cover 10 controllers and fix timezone problem in unit tests (#9935)
* Milestone 2 - Changing medium directives to components and test all to get 100% coverage (Part 1) (#9934)
* FIx #9052: Add Portserver to E2E Tests (#9921)
* Milestone 2 - Changing directives to components and test all to get 100% coverage (Part 3) (#9913)
* Milestone 2 - Changing directives to components and test all to get 100% coverage (Part 4) (#9909)
* Move Flaky CircleCI E2E Tests to TravisCI (#9892)
* Milestone 2 - Fully cover 10 controllers (Part 2) FIX (#9873)
* Revert "Milestone 2 - Fully cover 10 controllers (Part 2)" (#9866)
* Milestone 2 - Changing directives to components and test all to get 100% coverage (Part 2) (#9861)
* Milestone 2 - Changing directives to components and test all to get 100% coverage (Part 1) (#9850)
* Milestone 2 - Fully cover 1 controller (Part 4) (#9832)
* Fix #9686: Fixing coverage of question creation service. (#9788)
* Milestone 2 - Fully cover 5 controllers (Part 3) (#9783)
* Milestone 2 - Fully cover 10 controllers (Part 2) (#9752)
* Milestone 2 - Fully cover 8 controllers (Part 1) (#9741)
* Fix #10106: Fully cover editor-navigation component (#10169)
* Change $scope for ctrl in test-interaction-panel (#10117)
* Milestone 2 - Test hard directives to get 100% coverage (Part 4) (#10103)
* Milestone 2 - Changing hard directives to components and test it to get 100% coverage (Part 3) (#10080)
* Fixing general e2e flakes for topics and skills dashboard. (#10075)
* Milestone 2 - Changing medium directives to components and test all to get 100% coverage (Part 2) - FIX (#10073)
* Milestone 2 - Changing hard directive to component and test it to get 100% coverage (Part 2) (#10057)
* Fix assign skill e2e flake (#10029)
* Milestone 2 - Changing hard directive to component and test it to get 100% coverage (Part 1) (#10023)
* Revert "Removes caching from Circle CI config" (#10198)
* Revert "Milestone 2 - Changing medium directives to components and test all to get 100% coverage (Part 2)" (#10058)
Server Errors
* Adds empty callback to prevent 'unhandled rejection' errors for canceled audio file requests (#10336)
Translations
* Localisation updates from https://translatewiki.net. (#9976)
* Migrates exploration state to enable i18n translations of interactions (#9919)
* Localisation updates from https://translatewiki.net. (#9869)
* Disallow bundling of audio assets when downloading an exploration (#9814)
* Localisation updates from https://translatewiki.net. (#9721)
* Implement translation editor copy feature (#9582)
* Fix #10309: Adds audio-needs-update modal template (#10425)
* Migrates CaseSensitiveEquals RuleSpecs to Equals (#10189)
* Fixes Issue 10170: Follow-up PR on standing review comments for PR9919 (#10183)
* Localisation updates from https://translatewiki.net. (#10199)
Miscellaneous
* Temporary transfer of CODEOWNER files from brianrodri@ to seanlip@ until 2020-07-27 (#9885)
* Revert "Temporary transfer of CODEOWNER files from brianrodri@ to seanlip@ until 2020-07-27" (#9886)
* Milestone 2.2: Achieve scores of 100% in lighthouse audits on the Learner_Dashboard, Library, Maintenance, Moderator pages. (#9899)
* Milestone 2.1: Achieve scores of 100% in lighthouse audits on the Error, Exploration_Editor, Exploration_Player, Get_Started, Landing pages (#9898)
* Milestone 2.3: Achieve scores of 100% in lighthouse audits on the Notification_dashboard, Privacy-policy, and Practice_session pages (#9950)
* Added blanket codeowners for broad directories (#9977)
* Fix part of #8015: Return a domain object in backend api services (#9883)
* Fix Lighthouse best practices (#9858)
* Implement part of #9827: Migrate Google App Engine Images Functionality to use Python Pillow (#9828)
* Fix part of #8015: Refactor backend api services to return domain objects (#9798)
* Create Login Puppeteer Script and connect to lighthouserc.json (#9692)
* Fix #9596: Thanks Page Overlap (#9599)
* Make the svg-filename consistent with the frontend (#10404)
* Generalizes exploration migration audit jobs for testing exploration/state migrations (#10186)
* Rename all .scripts.ts files to .import.ts (#10132)
* Fix 9996 and Fix part of #9982: Refactor backend api services and remove remaining any types (#10054)
* Milestone 2.5: All navigation keyboard shortcuts and their e2e test are added. (#10036)
* Fix part of #9827: Migrate third party installation out of appengine_config into main.py (#10035)
* Fix #9348: Remove I from interfaces and types (#10017)
* Revert part of #10035: fix third party migration bug on production server (#10146)
* Add @kevintab95 as e2e codeowner (#10096)
* Reclaim brianrodri@'s CODEOWNERS (#10078)
* Adding Showtim3 to codeowners for some of the editor pages. (#10077)
* Fix Part of #8668: Documenting Three Files with JsDocs (#10009)
* Milestone 2.4: All action keyboard shortcuts for the Library Page and Exploration Player and their e2e test are added. (#10002)
Data handling
* Implement storage model for dynamic feature gating (#9876)
* Implement part of #9827: Migrate Google App Engine Mail Functionality to use Mailgun (#9867)
* Implement domain objects for dynamic feature gating (#9946)
* Fix last_updated for commit log models (#9811)
* Remove user ID migration code (#9810)
* Wipeout 8.1: Implement wipeout for the story models (#9760)
* Fix part of #5914: Takeout Render Zip File (#9714)
* Fixes issues in prod validation jobs (#9495)
* Fix commit log models on test server (#10291)
* Fix #9974 and part of #10069: Migration jobs and domain methods to populate UserAuthModel. (#10123)
* Fix #9973: Change user settings model to support profiles (#10105)
* Fix #10051: Rename domain functions for full user (#10059)
* Fix #9972 by implementing the UserAuthModel (#10004)
Developer UX
* Fix part of #8668: Document the service file autoplayed-videos.service.ts using jsdoc (#9888)
* Used IAstroidChecker for DivisionOperatorChecker and SingleSpaceAfterYieldChecker (#9991)
* Fix #7165: Remove remaining any types and move any check to eslint (#9990)
* Fix part of #9766: Inherited from a new class named LinterTestBase (#9959)
* Change action name for ACTION_MANAGE_PROFILE (#9958)
* Upgrade libs (#9953)
* Fix #9945: Fixed automatic chrome driver version retrieval for Mac OS. (#9947)
* Fix part of #8423: Added check to ensure that pylint pragmas are used to disable any rule for a single line (#9922)
* Fix part of #8423: Added lint check for args-name for a non-keyword argument (#9915)
* Setup Lighthouse CI (#9906)
* Temporary transfer of CODEOWNERS files from brianrodri@ to seanlip@ (#9893)
* Revert "Fix #9052: Disable E2E Test Sharding by Default" (#9891)
* Added '--disable_host_checking' flag to startup script (#9884)
* Fix #9874: Fixed pycodestyle error (#9882)
* Fixes issues with e2e script (#9880)
* Fix part of #8423: Added lint check to forbid usage of assertRaises and to use assertRaisesRegexp instead (#9860)
* Upgrade version of wavesurfer and use type defs from DefinitelyTyped (#9831)
* Fix part of #8423: Add lint check for unused imports (#9826)
* Routine upgrade of libs (#9823)
* Adds server_log_level arg for run_e2e_tests script (#9817)
* Fix #9688: Set constants to default values at exit (#9761)
* Fix part of #8423: New linter check to enforce snake_case (#9659)
* Transfer more code owner files (#9656)
* Removes caching from Circle CI config (#10181)
* Perform routine upgrades (#10160)
* Fix part of #8423: Added lint check to check for correctly formated typeinfo. (#10107)
* Revert "Temporary codeowner replacement" (#10091)
* Add a lint check for ts-ignore (#10088)
* Fix embedding flake (#10086)
* Converted docstring checks to IAstroidChecker and merged all docstring checks. (#10084)
* Fix part of #10064: Revert import github changes (#10074)
* Fixed pylint pragma check (#10050)
* Fix part of #8423: Added a lint check to ensure a newline after bracket (#10048)
* Fix lint errors on develop (#10043)
* Temporary codeowner replacement (#10032)
* Fix undefined time issue in run_e2e_tests script (#10011)
* Adds a lint check to restrict the usage of bypassing angular's security mechanism, decode the URI encoded profile pictures and remove safe-pipe.ts (#10484)
Speed improvement
* Lighthouse: Removing tests requiring admin authentication (#10164)
* Use cache-loader in webpack (#10155)
* Move scripts imports in header to webpack (#10141)
Release team
* Make release process more efficient (#9703)
* Remove release mail message template (#10101)
* Fix pygithub version in release scripts (#10079)
Bug fixes
* Fixes profile page rendering issue (#9916)
* Fix backend tests (#9843)
* Fix #4662: Use SortedTiles visualization for MultipleChoiceInput (#9780)
* Fixes #7690, #9632: When updating an exploration, commit all new models transactionally (#9744)
* Fix #9586: commit dates are now displayed in the exploration history tab. (#9665)
* Simplify topic viewer controller to fix failure with 42 skills in prod (#10239)
* Adds separate route entries for story, revision, practice (#10220)
* Fix #8124: Broken symlink OS errors in `pre_commit_hook` and `pre_push_hook` (#10025)
Angular Migration
* Revert "Fix part of #9749: Migrates some Topic Viewer Page Directives (PracticeTab, TopicViewerNavbarBreadcrumb, StoriesList, SubtopicsList) to Angular" (#9890)
* Revert #9841: Migrates Topic Summary Tile to Angular (#9956)
* Fix part of #8472: Upgrade StateTopAnswersStatsService to Angular 8 (#9984)
* Fix part of #9749: Migrates Maintenance Page and Topic Landing Page to Angular (#9980)
* Migrates topic-viewer-navbar-breadcrumb, subtopics-list, topic-viewer-page, practice-tab, topic-viewer-stories-list to angular components and introduces angular2+ material css. (#9957)
* Fix part of #9749: Migrates Error Page to Angular (#9933)
* Fix part of #8015 and Fix #9914: Refactor backend-api services to return domain objects. (#9917)
* Fix part of #9749: Migrates Teach Page to Angular (#9908)
* Fix part of #9749: Upgrades thank-page component to Angular component (#9905)
* Adds the i18n language service code to notify angular for translation language code change wherever $translate.use is used (#9870)
* Fix part of #7165: Remove some more any types (#9854)
* Move translate service "initialization" to oppia root so that it is a done once globally instead of doing it in all modules. (#9842)
* Fix part of #9749: Migrates Topic Summary Tile to Angular (#9841)
* Fix part of #9749: Migrates some directives in collection-player-page to Angular components (collection-node-list, collection-footer) (#9804)
* Fix part of #9749: Migrates some Topic Viewer Page Directives (PracticeTab, TopicViewerNavbarBreadcrumb, StoriesList, SubtopicsList) to Angular (#9790)
* Introduces UIB modal migration, Flex Layout Classes, and migrates sharing links directive - attempt 2 (#9784)
* Fix part of #9749: Migrates LazyLoading, LoadingDots, AttributionGuide directives to Angular (#9773)
* Fix part of #9749: Migrates Skill Mastery Viewer Directive to Angular (#9759)
* Fix part of #9749: Migrates Social Buttons Directive to Angular (#9757)
* Add angular material (2+) (#9730)
* Fix part of #10083: Removes events 'initializeTranslation' and 'onInteractionIdChanged' (#10165)
* Fix part of #10083: Removes events 'EVENT_AUTOPLAY_AUDIO' and 'EVENT_ACTIVE_CARD_CHANGED' (#10163)
* Fix part of #10083: Removes events 'EVENTS_COLLECTION_INITIALIZED' and 'EVENTS_COLLECTION_REINITIALIZED' (#10127)
* Fix part of #10083: Removes events 'answerGroupsChanged' and 'initializeAnswerGroups' (#10100)
* Fix part of #10083 - Remove unmigratable broadcast events EVENT_STORY_INITIALIZED & EVENT_STORY_REINITIALIZED (#10070)
* Fix part of #9749: Migrates profile-page-navbar-breadcrumb and subtopic-viewer-navbar-breadcrumb (With Testing Videos) (#10019)
* Fix part of #9749: Migrates Collection History, Statistics, Settings Tab to Angular (#10003)
* Revert "Fix part of #10083: Removes events 'EVENT_AUTOPLAY_AUDIO' and 'EVENT_ACTIVE_CARD_CHANGED'" (#10215)
* Revert "Fix part of #10083: Eliminates events refreshGraph, refreshStatisticsTab, refreshSettingsTab, refreshTranslationTab" (#10148)
* Fix part of #10083: Removes events 'searchBarLoaded', 'totalQuestionsReceived', 'stateEditorInitialized' & 'stateEditorDirectiveInitialized' (#10116)
* Fix part of #10083: Eliminates events refreshGraph, refreshStatisticsTab, refreshSettingsTab, refreshTranslationTab (#10112)
* Fix part of #9749: Migrates profile-link-image, profile-link-text directives to Angular and implements Safe Pipe (#10030)
v3.0.1 (21 Jul 2020)
------------------------
Contributor Pages
* Fix #6672: Translation prioritization (#9443)
QA Team
* Fix part of #9740: Remove "any" from spec files and replace it by @ts-ignore (#9748)
* Remove flaky test block from voicever player suite (#9739)
* Fix frontend errors related to spying window inner width (#9701)
* Revert flaky frontend test (#9700)
* Fix the frontend flake (#9693)
* Milestone 1 - Change maintenance-page controller to component (#9662)
* Milestone 1 - Separate remaining inline AngularJS modal controllers into new files and fully covered them (#9651)
* Changing topic-and-skills-dashboard-page controller to component and test it until 100% coverage (#9650)
* Milestone 1 - Testing exploration-editor-page to get 100% coverage (part 6) (#9646)
* Milestone 1 - Testing components to get 100% coverage (part 5) (#9623)
* Milestone 1 - Testing components to get 100% coverage (part 4) (#9620)
* Milestone 1 - Fully cover 10 inline controllers (part 4) (#9601)
* Milestone 1 - Fully cover 10 inline controllers (part 3) (#9583)
* Milestone 1 - Fully cover 10 inline controllers (part 2) (#9563)
* Milestone 1 - Fully cover 10 inline controllers (#9554)
* Milestone 1 - Testing components/controllers to get 100% coverage (part 3) (#9529)
* Fix part of #6240: Adding e2e tests for playing audio translations (2nd PR) (#9518)
* Milestone 1 - Testing components to get 100% coverage (part 2) (#9508)
* Fix #9409: Fix e2e flakes (#9437)
* Milestone 1 - Testing components to get 100% coverage (#9422)
* Fix part of #4057: Test Coverage for StatesObjectFactory.ts (#9655)
* Fix #9492 Flaky frontend test (#9506)
Lesson analytics
* Introduce controller layer for improvements tasks (#9645)
* Introduce ExplorationTask, IneffectiveFeedbackLoopTask, SuccessiveIncorrectAnswersTask domain objects (#9618)
* Standardize structure of visualization directives (#9605)
* Introduce NeedsGuidingResponsesTask domain object (#9595)
* Introduce services layer for exploration improvement tasks (#9575)
* Introduce HighBounceRateTask domain object (#9515)
* Refactor PlaythroughService and increase coverage to 100% (#9497)
* Fix #3947: Clean-up Statistics tab with ClickHexbin visualization as sample introduction (#9622)
Translations
* Add french as supported site language (#9484)
Miscellaneous
* Milestone 1.5: Score 100% in Chrome audits on Donate, Email Dashboard, And Email Dashboard results Webpages (#9705)
* Milestone 1.3 and Milestone 1.4: Score 100% in Chrome audits on Collection-Player, Contact, Community-Dashboard, Creator-Dashboard, and Delete-Account Pages (#9613)
* Fix part of #7450: private access in jobs test file (#9543)
* Fix #6271: update_interaction_solution is accepting object instead of dict (#9503)
* Fix #7450: fixed private method calls for the tests in draft_upgrade_services_test.py (#9491)
* Milestone 1.2: Score 100% in Chrome audits Admin, Classroom, About, Collection_Editor pages (#9490)
* URL Changes for SEO (Static URL changes) (#9460)
* Fix part of #8038: Remove http requests from the files that are not backend api services (#9433)
* Fix #9711: Fixed the admin page job buttons issue (#9712)
* Localisation updates from https://translatewiki.net. (#9615)
Release team
* Remove extra spaces in changelog (#9724)
* Update authors and changelog for v3.0.0 (#9723)
Angular Migration
* Fix part of #7165: Remove some more any types (#9754)
* Fix part of #7165: Refactor interaction type defs and some more remove any types (#9742)
* Fix part of #7165: Remove some more any types (#9677)
* Intoduce UIB modal migration, Flex Layout Classes, and migrates sharing links directive (#9673)
* Fix part of #7165: Remove some more any types (#9663)
* Fix #7176: Remove rest of any types under the issue 7176 (#9596)
* Add oppia-root and oppia-angular-root to all modules (#9576)
* Fix part of #7176: Remove some more any types (#9544)
* Fix part of #8472: Migrate concept-card-backend-api-service to Angular 8 (#9505)
* Hybrid config (#9479)
* Fix part of #7176: Add types for Customization Args (#9463)
* Change subjects to event emitters (#9423)
* Change controllers to components (Part 2) (#9335)
Speed improvement
* Fix part of #8016: Added a separate backend api service for profile-page.controller.ts (#9387)
* Fix #8499: Serve Images in WebP (#9206)
Data handling
* Remove username from commit log models (#9329)
Bug fixes
* Fix #9808: Add component.html to build to fix topic editor in prod_env (#9857)
* Fix #9791: Fixed math editor preview in old math interaction. (#9806)
* Fix undefined values in topic manager dropdown (#9792)
* Fix #6893: Make the suggestion validation less stringent to match validation of exploration categories and modify the suggestion migration job. (#9732)
* Fix images not showing in subtopic viewer in prod and local storage handling in thumbnail editor (#9690)
* Fix #9557, #9559, #9540, #9558, #9567 - Fixed on window resize function, added migration to get_multi_skills and other UI changes (#9591)
* Fix #9565: Pass .timetuple() to time.mktime() in utils.get_time_in_millisecs (#9560)
Learner/Creator Pages
* Fix bugs in the create new subtopic modal of missing validations. (#9943)
* Fix #9904: Add check and validation to fix concept card issues. (#9910)
* Fix #9838, #9877, #9801 and #9819: Topic, subtopic and story viewer changes, trailing whitespace in RTE content and skill editor changes (#9907)
* Fix #9864: Convert schema-based-float-editor input from string to number type (#9903)
* Fix #9837, #9834, #9833 Fixing merged skills persist, topic warning is cut-off, topic description typo. (#9896)
* Fix #9818, #9772, #9786 (#9830)
* Fix #9777: Overriding guppy osk styles to fix tooltip position. (#9785)
* Fix no skills text bug (#9776)
* Minor improvements to topics and skills dashboard. (#9774)
* Fix 9756, 9755 Fixing error in deleting skill (#9769)
* Fix #9709: Show question images in question player (#9768)
* Improve pagination and making right box scrollable (#9758)
* Remove commas from input for NumericInput interactions (#9747)
* Improving the Skills dashboard UI and improving the topic preview button in topic editor. (#9743)
* Fix #9722: Fix skill modal opening twice bug, Adding reordering functionality and Unassigned topic filter (#9733)
* Add mobile view for Skill editor. (#9719)
* Fix #9587, Added mobile view for topics dashboard, skills dashboard and topic editor. (#9706)
* Milestone 1.2 and 1.3: SVG generation for new entities. (#9678)
* Upgrade the Skill Editor UI (#9672)
* Extend math expression parser. (#9658)
* Fix #9602 Add touch support to fabric js editor (#9657)
* Milestone 1.6 and 1.7: Add Math Equation Input Interaction. (#9649)
* Fix drag drop interaction bug (#9644)
* Allow images while creating questions. (#9617)
* New UI for the topic editor. (#9603)
* Add svg editor using fabric js and replace literallyCanvas (#9598)
* Add a one-off job for math expression input validation. (#9597)
* Milestone 1.3 and 1.4: Add Algebraic Expression Input Interaction (#9553)
* Upgrading the Skills dashboard UI (#9525)
* Fix #9354 and other critical bugs (#9520)
* Add validation jobs for math expressions in Explorations and draft change lists. (#9517)
* Show rubrics info in the question editor and bug fixes (#9510)
* Fix #9466: Adding thumbnail and fixing bugs (#9474)
* Redesign story viewer followup (#9473)
* Milestone 1.2.2: Add position-of-terms and math editor directives. (#9400)
* Milestone 1.1: Add the new Math schema and migrations. (#9390)
* Fix #9322: Redesign landing page (#9366)
* Milestone 1.2.1: Add math objects with validators. (#9336)
* Add functionality to filter skills in the skill selector, based on subtopics and topics. (#9280)
* Fix part of #3446: add SetInput validations (#9439)
Developer experience
* Revert "Intoduces UIB modal migration, Flex Layout Classes, and migrates sharing links directive" (#9779)
* Chromedriver Upgrade (#9775)
* Update github actions python and checkout library (#9767)
* Fix Action tasks stdout encoding (#9737)
* Update audio project codeowners (#9735)
* Remove issue assigned check from github actions (#9734)
* Fix #9697: Separate frontend and backend tests (#9699)
* Revert "Add live output for frontend tests" (#9698)
* Fix #9691: Increase build time for nav-and-misc e2e test (#9696)
* Fix Travis email notifications to always notify on failures. (#9694)
* Suppress 40k lines of ENOSPC output in frontend tests. Build GitHub Actions only on pushes/PRs to develop or release branches. (#9689)
* Fix part of #8423: Added lint check to ensure that there is one blank newline below each class docstring. (#9687)
* Container reorganization (#9684)
* Remove lint checks and backend tests from circle CI (#9671)
* Setup oppiabot workflow (#9669)
* Introduce GitHub actions to backend and linter (#9668)
* Fix #8165: implement 4 space indentation and 8 space indentation for docstrings (#9654)
* Add 'merge to target' step for all circle ci tests (#9614)
* Fix part of #8423: Added check to ensure if the instances of HtmlWebpackPlugin in webpack.common.config.ts contains all needed keys (#9590)
* Fix for #9458: Typescript linter fails on relative import (#9580)
* Assign @srijanreddy98 ownership of angular-migration files to co-own those files with @basnalnitish (#9577)
* Fix part of #8423: Added check for proper comment style for JS files (#9574)
* Fix part of #8423: Added check to ensure that all TODO messages start with a capital letter (#9573)
* Skip setup in frontend tests and e2e tests (#9572)
* Fix CircleCI setup git config (#9535)
* CI Test Organization (#9523)
* Fix part of #8423: Add lint check for alphabetized list in CSS (#9522)
* Update travis and circleci to disable tests for release changelog PRs (#9516)
* Fix part of #8423: Added lint check to ensure that there are valid spaces and newlines (#9507)
* Fix #8423: Check that functions with test_only in their names are only used in _test.py files. (#9504)
* Transfer codeowners (#9501)
* Disallow using eslint disable statement for camelcase (#9482)
* Added newline check at end of file (#9459)
* Fix part of #8423: Added check to ensure that all lines in skip_files in app.yaml reference valid files in the repository (#9451)
* Lint output is cleaner and less verbose. (#9438)
* Fix #8668: added jsdoc to improve documentation and Fix #7165: adds type clarity (#9421)
* Fix #7590: Python, HTML, CSS, Js/Ts lint tests (#8947)
* Improve run frontend tests (fixed encoding issue) (#9725)
* Fix #9683: Add Constants File for Protractor (#9720)
* Add live output for frontend tests (#9621)
v3.0.0 (29 Jun 2020)
------------------------
Contributor Pages
* Fix #9417: No difficulty level to select for questions while creating question suggestion (#9436)
* Fix #9375: Adds custom entity context for the translations in community dashboard (#9386)
Lesson analytics
* Introduce SortedTiles visualization for statistics (#9481)
* Introduce core.storage.improvements models (#9475)
* Cache the results from StateInteractionStatsService.computeStats (#9414)
* Update ExplorationMissingStatsAudit to read directly from raw models (#9384)
* Remove playthroughs from the statistics tab (#9383)
* Empty-out and simplify logic of the improvements tab (#9215)
Learner/Creator Pages
* Fix drag drop interaction bug (#9644)
* Fix #9526 and #9527: Add protip about using dedicated mic for best results and fixes timer issue (#9604)
* Fix #9354 and other critical bugs (#9520)
* Added validation jobs for math expressions in Explorations and draft change lists. (#9517)
* Show rubrics info in the question editor and bug fixes (#9510)
* Fix #9466: Adding thumbnail and fixing bugs (#9474)
* Hide practice tab when questions are fewer than 5 (#9470)
* Fix issues in the story viewer and chapter player (#9469)
* Milestone-1.3 and 1.4 add saving and editing functionality to svg editor (#9445)
* Redesign subtopic viewer (#9397)
* Redesign story viewer (#9392)
* Redesign topic viewer (#9362)
* Allow saving of stories with explorations containing skillreview RTE and DragAndDropSortInput interaction (#9360)
* Milestone 1 part 1 Initializing literallyCanvas and adding the required backend changes (#9352)
* Fix #9340: Issue while linking another skill to a question (#9341)
* Fixes some question editor bugs (#9337)
* Topic dashboard ui (#9333)
* Fix #9309: Added conditional while rendering the classroom page. (#9312)
* Allow adding images in the create skill modal (#9262)
* Fix # 9235 : Moves the "Prerequisite Skills" section to above Review Material (#9241)
* Fix #9212 and #9227: Replaces HtmlParams with FormData API; Adds check for prepublish validate to enable/disable the story publish button; Explicitly sets the mimetype while committing files to GCS (#9233)
* Fix #9209: Add css to fix overflow issues and adds logic to duplicate SVG instead of compressing it (#9216)
* Add an icon for merge skill (#9213)
* Topic Summary description migration (#9192)
* Fixes #5436 Randomize pretest questions (#9061)
Speed improvement
* Milestone 1.1: Creation of .lighthouserc.js file and scripts/lighthouse_checks.py file (#9295)
* Fix #7493: Remove jinja from base.py (#9294)
* Milestone 1.3.2: Import WaveSurfer using yarn and add typedefs for it (#9279)
* Fix part of #8833: Makes all event listeners passive by default (#9178)
Data handling
* Fix part of #5914: Complete Takeout Frontend (#9424)
* Fix part of #5914: Add JSON rendering testing to Takeout (#9301)
* Fixed user updates. (#9252)
* Added update username functionality in the admin tab. (#9191)
* Wipeout 3.10: Add new field to rights models (#8505)
QA Team
* Fix #9442: Delete Un-Migrated E2E Test Code (#9444)
* Fix #9372: Mocked datetime to fix admin test flakyness. (#9394)
* Fix part of #4057: Tests for editable-exploration-backend-api.service.ts, RecordedVoiceoversObjectFactory.ts, and topic-update.service.ts (#9380)
* Fix #8924: Separate inline AngularJS modal controllers into new files (2nd) (#9376)
* Extend ExplorationMissingStatsAudit to check for state stats (#9361)
* Fix #8924 Separate inline AngularJS modal controllers into new files (1st) (#9344)
* Introduce ExplorationMissingStatsAudit One Off Job (#9306)
* Fix #9132: Transition E2E Tests to Async-Await (#9267)
* Fix #8758: add waitFor statement in getResponseEditor method (#9229)
* Increase coverage for autosave-info-modals.service.ts (#9174)
* Fix part of #8924: Create a generic modal and replace it and inherit it in common and similar inline modals from $uibModal.open controller property (#9167)
* Fix part of #4057: Added a test file for exploration-param-specs.service.ts (#9115)
Angular Migration
* Adds all Angular services to UpgradedServices (#9416)
* Add i18n translation service for angular code! (#9398)
* Fix part of #8015: return CollectionRights rather than dict (#9389)
* Fix part of #7165: Add WARNING_TYPE to interaction validation spec files (#9371)
* Fix part of #7176: Remove any from some object factories - III (#9370)
* Fix part of #7176: Remove any from RuleObjectFactory and introduce TypeChangeService (#9365)
* Fix part of #7176: Remove any types from some object factories - II (#9349)
* Fix part of #8472: Upgrades CurrentInteractionService to Angular (#9347)
* Fix part of #7176: Add type definitions in some object factories (#9345)
* Fix part of #8472: Upgrades ExplorationRecommendationsService to Angular (#9339)
* Fix part of #8472: Upgrades UserExplorationPermissionsService to Angular (#9338)
* Migrates Background Banner directive to Angular Component (#9330)