forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
7621 lines (6747 loc) · 425 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.1.0 (20 May 2021)
------------------------
Contributor Pages
* Fix #12396: Fixes issues with translation "go back" and "skip" flow (#12727)
* Fix #12610 : Changes the logic for copying a concept card (#12648)
* Fix part of #11464: Applies code-owner suggestion on PR #12308 (#12403)
* Fix #11903: Removes unnecessary height property from left navbar buttons of Contributor Dashboard (#12364)
* Fix #12322 : Makes subheading aligned with heading in translation modal (#12328)
* Fix part of #11464: Fixes task 8 by allowing user to edit skill difficulty . (#12308)
* Adds metrics for curated lessons; Fix text direction in the suggestion review modal; (#12769)
* Fix #11904: Reset "local storage" image destination before closing the translation suggestion modal (#12439)
* Fixes #11438: Made contributor dashboard header sticky with reducing the size of user details container (#11738)
Learner/Creator Pages
* Display learner-facing pages in RTL when the site language is an RTL language. (#12762)
* Fixes #12575 : Fixes audio bar position on small screens. (#12702)
* Fix #12590: Do not allow empty commits in question editor (#12666)
* Update the custom entity context when reviewing translations (#12573)
* Fix #12378: Images in exploration tabs and collapsibles correctly preload (#12442)
* Fixes New Nav Structure and Focus on exploration editor. (#12431)
* Removed pretest question, fixed attribution text and added more comments to preferences page (#12415)
* Fix #12380: Exploration statistics pie charts now show on page load (#12414)
* Allow skillreview RTE component globally (#12397)
* Fix #12224: Edit question flow fixes (#12321)
* Fix part of #12253 : Added z-index styles to ensure dropdown does not overlap "Coming Soon" label (#12288)
* New navigational structure: Foundation site and Oppia.org Integration (#12257)
* Restrict exploration editor for explorations in story (#12233)
* Fix #12171 : Removed redundant position property from classroom banner (#12207)
* Number of elements in ratio expression input should not be more than 10 (#12204)
* Fix the pause voice-over issue in audio bar. (#12192)
* Fix #12174 : Added extra margin to the bottom of the search bar component in the library page (#12175)
* Audit Job to check for explorations with number of ratio terms greater than 10 (#12157)
* Fix #12070: Adding creator-guidelines page (#12144)
* Autofocus: Adds autofocus to learner dashboard, contributor dashboard and story editor. (#12114)
* Autofocus editors:Adds autofocus to topic,skill and exploration editor. (#12089)
* Fixes part of #11464: Populate interactions with the saved solution. (#12057)
* Fix part of #9749: `audio-file-uploader.directive.ts` migrated to angular. (#11971)
* Fix Part of #12586: Prevents merging of questions when merging skills are failed. (#12723)
* Fix #12598 Added padding above skill description in Question Editor (#12706)
* Fix #12336: Adds a check for processed image size when uploading an image (#12344)
* Allow exploration owner to remove users role from their exploration (#12143)
* Fix #11333: Correctly enable publish and transfer to community buttons in settings tab of exploration editor (#11690)
Translations
* Add Dari to SUPPORTED_CONTENT_LANGUAGES (#12551)
* Routine update of translations. (#12473)
* Fix #11581: Enable rule inputs to be translated in the translation tab and these translations to be used in the learner view. (#12406)
* Standardize handling of translatable objects. (#12342)
* Add Urdu to list of supported languages (#12535)
* Fix #12180 Add inline translation tips to translation cards. (#12339)
Miscellaneous
* Fix #12306: Changes the order of headings on the Splash Page (#12330)
* Adds a polyfill for globalThis (#12268)
* Remove old conversion functions and upgrade all exploration demo yaml files to the latest schema versions. (#12256)
* Fix #11909: make footer responsive in smaller view (#12234)
* Update the year to 2021 (#12167)
* Fix part of #10306: Added async keyword to a function that return promise (#12050)
* Revert "Fixes part of #11462: Update install_backend_python_libs to respect direct urls from GitHub" (#12363)
* Revert "Fix part of #9749: Migrates image-uploader.directive.ts to angular" (#12335)
* Log 404 from base handler without raising exceptions (#12345)
* Remove @darksun27 from CODEOWNERS (#12329)
* Revert "Fixes part of #8472: Migrate Exploration Rights Service" (#12305)
* Reassign @Hudda as codeowner (#12154)
Release team
* Updated gcloud version in release_constants (#12510)
* Add release constant for CUJ doc (#12484)
Developer UX
* Fix Part of #4057: Fully cover NumericInputValidationService with unit tests (#12462)
* Changes gae version to 335.0.0 (#12456)
* Fix Part of #10474: Make TS checks strict for StateEditorRefreshService, StateNameService, StoryNodeModel (#12429)
* Fix Part of #10474 : Make checks strict for SchemaFormSubmittedService and SetInputRulesService (#12423)
* Fix part of #11472: Note the idempotency of super-admin privilege handlers (#12419)
* Fix #12389: Disallow usage of xdescribe and xit in frontend unit test (#12418)
* Fix Part of #10474 : Make typescript checks strict for MathEquationInputRulesService (#12411)
* Fix #12379: Changes regex to support case insensitive process names (#12409)
* Fix part of #10474: Make typescript checks strict in NumericInputRulesService (#12320)
* Fixes part of #11462: Update install_backend_python_libs to respect direct urls from GitHub (#12315)
* Clarify Port Open/Closed Language in scripts/common.py (#12307)
* Fix part of #10306: Add "async" keyword to asynchronous functions that return a promise (#12302)
* Fix part of #10306: Added async keyword to synchronous function that return a promise (#12291)
* Fix part of #11776. Adding/Updating 'Args' and 'Return' in docstrings (#12287)
* Fixes part of #8423: Added lint test to enforce use of 3 character hexadecimal notation (#12282)
* Fix part of #11496: Adds lint check to disallow browser.sleep() calls (#12248)
* Fix part of #10306: added async to createTopic in topic-creation-backend-api.service.ts (#12239)
* Refactor of the user services and android constants (#12229)
* Fix part of #8423: Implement new linter checks (Check for space before and after = in HTML) (#12225)
* Fix part of #8423 Add eslint check to ensure space between type and : [e.g: const variableName:<space>TYPE] (#12222)
* Fix part of #10306: Adds 'async' keyword to asynchronous function in pretest-question-backend-api.service (#12176)
* Fix part of #10306: Add "async" keyword to asynchronous functions that return a promise (#12151)
* Fix part of #7450 : Modified private methods in "jobs_test.ContinuousComputationTests" (#12133)
* Fix part of #10306 : Add "async" keyword to asynchronous functions in "playthrough-issues-backend-api.service.ts" (#12127)
* Fix part of #10306: Adds 'async' keyword to asynchronous function in topic-creation-backend-api.service.ts (#12100)
* Shard Lint Tests (#12073)
* Fixes part of #10306 : Added async keyword to asynchronous functions that return a promise (#12021)
* Fix an incorrect comment in context.service.ts (#12453)
* Fix Part of #4057: Frontend test to fully cover collection-node.model.ts (#12420)
* Frontend test for oppia interactive end exploration (#12354)
* Fix Part of #4057: Fully cover context.service.ts (#12262)
* Update to the Proof that changes are correct section. (#12077)
Data handling
* Fix prod validation errors (#12398)
* Remove lowest supported role (#12391)
* Create android feedback reporting storage models (#12298)
* Add permission decorator for primary admin (#12283)
* Fix part of #11475: Migrate _validate_post_commit_is_private to Apache Beam (#12272)
* Email dashboard - Send emails by custom predicates (#12041)
* Fix left over stats server errors (#12416)
Bug fixes
* Fix #12738: Copy does not work for images in the translation modal and image upload during question creation (#12789)
* Fix #12632 & #12589: Adds custom class to fix modal issue and changes animation name (#12772)
* Fix part of #8423: Restrict use of px with 0 (#12285)
* Fix #6219: Fixes checkbox CSS (#12244)
Python Migration
* Fix part of #11462: Permit auth-related pages and handlers in maintenance mode (#12684)
* Fix part of #11462: Include users marked for deletion when managing deleted users (#12555)
* Fix part of #11462: Add one-off job to detect accounts with duplicate emails (#12534)
* Add {Model.property: Model.ID} relationship checks to AuditAllStorageModelsJob (#12471)
* Fix part of #11475: Migrates _validate_old_models_marked_deleted (#12465)
* Changes try except to not fail for python3 (#12461)
* Fix part of #11462: Hide user menu on login and logout pages (#12438)
* Fix part of #11462: Add missing await (#12430)
* Fix part of #11475: Implement AuditAllStorageModelsJob with Apache Beam (#12428)
* Fix part of #11462: Add SyncFirebaseAccountsOneOffJob (#12417)
* Fix part of #11475: Rearchitect the code in /jobs/ (#12413)
* Fix #11462: Migrate to Firebase authentication (#12392)
* Fixes part of #11462: Update install_backend_python_libs to respect direct urls from GitHub (#12366)
* Part of #11475: Update beam conventions (#12338)
* Revert "Fix #11462: Migrate to Firebase authentication" (#12313)
* Fix #11462: Migrate to Firebase authentication (#12172)\
* Fix part of #11462: Remove logging from SyncFirebaseAccountsOneOffJob (#12441)
* Fix part of #11476: Introduce process manager for Cloud Datastore Emulator (#12408)
Angular Migration
* Fix #12400 and #12505: Add imports for modules that requires 'interactionsQuestionsRequires.ts' (#12608)
* Fix part of #9749: Migrate topic-selector directive to angular (#12387)
* Fix part of #9749: Migrate Algebraic Expression Editor, boolean-editor, code-string-editor, coord-two-dim (#12360)
* Fix part of #9749 :On screen keyboard Migrated (#12351)
* Fix part of #9749: Image uploader is migrated and fixed (#12337)
* Fix part of #9749: Migrate translation opportunity modal (#12191)
* Fix part of #9749: Migrate admin-navbar and admin-dev-mode-activities-tab & added api service for admin-navbar (#12189)
* Migrate ConfirmOrCancelModal to Angular and use it in a modal. (#12153)
* Fix part of #9749: Topics and skills dashboard navbar breadcrumb (#12131)
* Fix part of #9749: Migrates image-uploader.directive.ts to angular (#12128)
* Fix part of #9749: Migrated promo-bar-directive (#12110)
* Fix part of #9749: Admin jobs tab component migrated (#12076)
* Fix part of #8472: question-validation.service.ts along with spec migrated to angular (#12023)
* Fixes part of #8472: Migrate Exploration Rights Service (#11974)
* Fix part of #9749: Migrate skill selector to angular (#11791)
* Fixes part of #10700: Refactor AnswerStatsObjectFactory to model.ts (#11691)
* Fix part of #8016: Added a separate backend api service for learner-view-info-backend-api.service.ts (#12132)
Automated QA Team
* Fix #12372: Pin and Assert Lighthouse Chrome Versions (#12368)
* Add a check for whether a server is running on the elasticsearch port when running e2e tests. (#12359)
* Fix Admin Page Flake: expected 0 to equal 2 (#12358)
* Name CI Tests for Custom ESLint Checks (#12325)
* Increase logging on the publications suite (#12271)
* Fix #10798: Fixing End-to-End Tests with action.js and waitFor.js for ExplorationEditorHistoryTab.js (#12245)
* Fix e2e flake:No element found using locator: by.cssContainingText("option" , "moderator") (#12226)
* Added unit tests for skill-mastery.component.ts and collection-local-nav.component.ts (#12216)
* Move Users E2E Tests to GitHub Actions (#12209)
* Fix #10798: Fixes failure of e2e tests with action.js (#12148)
* Fix editStateButton click intercepted by welcome modal (#12097)
* Fix part of #10798 : End-to-End tests for profileMenuFlow.js (#12082)
* Fix part of N/A: Fix flaky frontend test. (#12476)
* Hot-fix of failing lint check (#12421)
v3.0.9 (29 Mar 2021)
------------------------
Contributor Pages
* Fix part of #11464: Fix task 8 by allowing user to edit skill difficulty . (#12308)
* Fix #12260: Add media queries to prevent overflow of tabs in question editor (#12281)
Angular Migration
* Upgrade component wrapper for Angular html Bind (#12138)
* Fix part of #9749: Migrate graph interaction (#12090)
* Fix part Of #10700: Refactor ThreadMessageSummaryObjectFactory and ThreadMessageObjectFactory to Model (#12060)
* Fix part of #8472: Migrate collection-editor-state.service.ts along with spec (#12027)
* Fix part of #9749: Migrate summary list header directive to Angular (#12019)
* Fix part of #11920: Add `RatioExpressionInputRulesService` to `UpgradedServices.ts` (#12009)
* Migrate skill editor navbar breadcrumb to Angular (#12001)
* Migrate thread table component (#12000)
* Fix part of #9749: Migrate all fraction interactions (#11990)
* Fix part of #9749: Migrate all the Algebraic Interactions to angular components. (#11958)
* Delete learner-answer-details-data service as it was dead code (#11954)
* Migrate user email preferences service from AngularJS to Angular (#11949)
* Fix part of #10700: Refactor Suggestions object factory (#11942)
* Fix part of #9749: Migrate all the continue interaction related directives to angular components (#11935)
* Fix part of #8472: Migrate story-update.service (#11889)
* Fix part of #9749: Migrate Splash page to angular (#11826)
* Fix part of #8472: Migrate Collection Update Service (#11663)
* Fix part of #8472: Migrate state-tutorial-first-time.service.ts to Angular 8 (#11368)
* Fix part of #9749: Migrate Collection Local Nav to Angular (#11352)
* Fix part of #8472: Migrate image-upload-helper.service (#11306)
* Fix part of #9749: Migrate subtopic-viewer-navbar-pre-logo-action.component.ts to Angular (#11983)
* Fix part of #9749: Migrate admin-prod-mode-activities-tab directive to angular component (#11787)
Translations
* Fix part of #11721: Add i18n for delete button text on preferences page (#11762)
Developer UX
* Relax Lighthouse Accessibility Assertions (#12183)
* Use pip 20 and explain `deparallelize_terser` param more (#12145)
* Fix part of #12117: Remove loop from html linter file (#12129)
* Fix #11070: Fix empty docstring linter error (#12119)
* Fix css linter script issue (#12105)
* Fix part of #5097: Add length-zero-no-unit rule for CSS lint check (#12095)
* Fix part of #11462: Only start firebase emulator in EMULATOR_MODE (#12093)
* Fix part of #4057: Add tests in image-upload-helper.service.spec.ts (#11991)
* Add emulator mode (#11906)
* Move _check_extra_js_files to the general linter (#11864)
* Fix #9008: Fix FetchIssuesHandler responds with a JSON object instead of an array (#11852)
* Fix part of #11431: Replace run_in_transaction call with decorator (#11821)
* Fix part of #8423: Add Args to docstrings in some files (#11770)
* Fix part of #11496: Lint Check for E2E Action Functions (#11734)
Data handling
* Introduce wipeout related utils to admin page (#12101)
* Clear old drafts and fix format of content suggestions (#12068)
* Fix part of #10049: Remove deprecated fields from ExplorationRightsModel (#12052)
* Fix part of #3446: Add frontend validators to PencilCodeEditor (#12033)
* Fix part of #10049: Remove deprecated fields from ExplorationModel (#11998)
* Fix part of #10415: Refactor activity validators (#11926)
* Fix #9427: Remove email access in admin-page (#11869)
Miscellaneous
* Add a polyfill for globalThis (#12268)
Release team
* Rename release constant key (#12284)
Bug fixes
* Fix missing login required modal (#11858)
Python Migration
* Lift minimal App Engine setup to new base classes (#12124)
* Fix part of #11462: Add one-off job to populate Firebase servers (#12086)
* Fix part of #11462: Transition backend to manage Firebase authentication using HTTP cookies (#12054)
* Fix part of #11462: Transition frontend to manage Firebase authentication using HTTP cookies (#11973)
* Fix part of #11475: Migrate Base Model Validator to Apache Beam (#11955)
Learner/Creator Pages
* Show skillreview RTE component when submitting a question via the community dashboard (#12340)
* Fix #12178: Make questions appear on practice session (#12295)
* Update classroom card to show # of chapters instead of # of stories (#12218)
* Use EditabilityService to determine when solution can be edited (#12162)
* Fix #12070: Adding creator-guidelines page (#12144)
* Ensure `n`-th term of ratio equals `x` (#12103)
* Preload functionality for images in state writtenTranslations (#12063)
* Fix part of #11919: Add styles to prevent errors from looking clickable (#12039)
* Fix Teach Page: Make teach page responsive and removes broken link (#12038)
* Add e2e test for student user journey (#12010)
* Add 'Classroom' option in the sidebar menu (mobile specific) with 'Basic Mathematics' option in submenu (#11985)
* Fix part of #11950: Add jobs for migrating all snapshots of explorations and questions to the latest schema version (#11952)
* Fix #11887: Fix audio player position in tablet,mobile view (#11948)
* Fix part of #11433: Add new TranslatableHtml and TranslatableUnicode objects (#11937)
* Fix classroom page tasks adding topic in lesson player (#11923)
* Fix part of #10306: Add async keyword to asynchronous functions that return a promise (#11915)
* Fix part of #10700: Convert Object factory to Model Class (#11902)
* Fix #11886: Add padding at the bottom of the search bar container to make it visible (#11893)
* Fix part of #10667: Unblock profile icon and commit message for topics (#11875)
* Fix Classroom page navbar in mobile view. (#11873)
* Hide previously assigned topics for a skill in the 'Assign Skill to Topic' modal (#11865)
* Fix #3984: Change tooltip from "Add to playlist" to "Watch later" in exploration library (#11780)
* Fix #11639: Improve style of navbar-menu:focus (#11731)
* Fix part of #11485: Revisit old completed lessons in story (#11563)
* Remove suggestion submission functionality from the learner view (#12096)
* Fix #10919, #8800 & #4932: Make "Play later" section tiles consistent with other sections (#12048)
* Fix #11898: Fix misaligned social media icons (#11913)
Automated QA Team
* Fix part of #11462: Add logout at the end of end-to-end tests (#12118)
* Fix part of #10798: Add End-to-End tests for libraryFlow.js (#12083)
* Fix part of #4057: Add a unit test for Graph Utils Service (#12072)
* Fix #12026: Skip E2E Tests for Changelog Update PRs (#12035)
* Fix #12029: Escape Protractor Screenshot File Names (#12034)
* Fix part of #4057: Add a test file for state-tutorial-first-time.service.ts (#12007)
* Fix part of #10798: Fix E2E tests for accessibility.js (#11999)
* Fix #11947 and #11993: Fix URLs Reported to E2E Logging Server and Report Branch Name (#11995)
* Fix part of #10798: Add end-to-end test general.js file (#11965)
* Fix frontend test failing flakily due to coverage (#11907)
* Shard backend tests (#11792)
v3.0.8 (25 Feb 2021)
------------------------
Contributor Pages
* Contributor dashboard bug fixes (#12008)
* Fix part of #11900: Disable opportunities list next button if there are no more results to display (#11982)
* Fix #11901: aligns bullets points properly. (#11976)
* Fix #11840 and #11899: Allow admin to view, add, and remove users to use submit question tab on contributor dashboard + misc admin roles fixes (#11862)
Bug fixes
* Fix part of #11462: Avoid initializing AngularFire by default (#11845)
Angular Migration
* Fix part of #11920: Add `RatioExpressionInputRulesService` to `UpgradedServices.ts` (#12009)
* Fix part of #8472: Migrate translation-tab-active-content-id.service (#11760)
* Fixes Part of #8472: Migrate Exploration data service (#11564)
Translations
* Add hi-en to SUPPORTED_CONTENT_LANGUAGES and fixes revision card not showing content (#11917)
Developer UX
* Fix #9887: Adds inline comment checker for codeowner (#11835)
* Fix part of #10474: Enable strict check on audio language model (#11813)
* Fix #11477: Update codeowners in preparation for vacation. (#11810)
* Upgrade libraries (#11754)
* Fix #11727: Update the CODEOWNERS file and lint check to ensure new files don’t fall under blanket code owners (#11745)
* Fix part of #11431: Replace run_in_transaction call with decorator (#11741)
* Fix #9726 Relocated sidebar-status.service.ts file from domain to services directory. (#11729)
* Fix part of #11572: Tighten some try/excepts and use `exception` instead of `error` in some places (#11728)
* Fix part of #10306: Added async keyword to functions that return a promise (#11710)
* Fix css linter chekcs never stops because of re.sub() call (#11672)
* Clean up ElasticSearch server after e2e run. (#11662)
* Fix part of #10728: Move python regex lint check to pylint (#11579)
* Fix part of #10474: Cover more files with strict checks (#11574)
* Fix part of #7450: Modify private methods in SuggestionIntegrationTests (#11797)
* Fix of #10306 added async keyword before functions that return a promise (#11755)
* Fix part of #10306 adding async in ansynchronous functions of Translations-backend-api.service (#11740)
* Fix part of #10306: Added async keyword to asynchronous functions that return a promise (#11739)
Data handling
* Fix signup process for user marked as deleted (#11946)
* Add notification email when Wipeout fails (#11775)
* Refactor controllers to not user storage models directly (#11673)
* Fix #11469, #11623: Fix audit jobs, adding ID validation and reducing shards for audit jobs (#11646)
* Fix part of #5914: Truncate commit_message lengths to enable projection queries for Takeout (#11465)
* Fix part of #10049: Remove deprecated fields from `CollectionModel` and `CollectionRightsModel` (#11350)
* Fix part of #10049: Remove deprecated field from `UserSubscriptionsModel` (#11597)
Miscellaneous
* Fix installation issues with gtag (#11908)
* Pin webdriver-manager package to ^12.1.8 (#11794)
* Add code snippet for Google Optimize (#11773)
* Fix #8174: Remove duplicate DIRS_TO_ADD_TO_SYS_PATH from the code base (#11860)
* Upgrade GA version to use gtag. (#11882)
* Change Version to Browser-version in the bug report issue template (#11689)
* Replace logging mocks with TestBase.capture_logging (#11688)
Release team
* Add correct release constants for migration job names list (#11648)
QA Team
* fix preferencePages as part of #10798 (#11669)
* Use waitFor.invisibilityOf immediately after waitFor.visibilityOf for toast messages in ExplorationEditorPage.saveChanges (#11846)
* fix "confirm delete skill button is not clickable" flake in topicsAndSkillsDashboard (#11801)
* Fix part of #10798: Fix end to end tests for ExplorationEditorImprovementsTab.js (#11619)
Python Migration
* Fix part of #11462: Initialize AngularFire with Firebase constants (#11796)
* Fix part of #11314: Switch over to elasticsearch in dev and prod. (#11774)
* Fix part of #11462: Lift GAE-specific auth services to the platform layer (#11588)
Learner/Creator Pages
* Fix images not loading when offline (#11964)
* Fix #11912: Implements delay before cards can be rearranged. (#11931)
* Fix #11898: The social media icons are missaligned and different sizes (#11913)
* Fix Skill editor console error (#11989)
* Fix #11887: fixes audio player position in tablet,mobile view (#11948)
* Fix #11918: Added text to that conveys the interaction used (#11941)
* Fix #11919 : Refactor CSS styles to prevent errors from looking clickable (#11940)
* Fix #11892:Added a specific height to the cards. (#11911)
* Fix #11885: added media query to change to mobile view (#11894)
* Fix #11886 : Added padding at the bottom of the search bar container to make it visible (#11893)
* Fix #10201 and #11682: Editor and translation tutorials fully working (#11857)
* Remove deleted skills from skillIdToRubricsObject in the topic editor (#11855)
* Fix #11679: Success alert on merging two skills (#11766)
* Fix minor syntax issues in the correctness footer (#11719)
* Add End-to-end test for topic and story viewer page (#11701)
* Fix part of #11464 task 12 highlighting interaction selection modal (#11674)
* Hide create topic/skill buttons for users with insufficient access rights; Update page title guidelines; (#11670)
* Fix #11181: Changed button CSS (#11667)
* Fix #11519: Removes "Uncategorized Skills" from topic editor if all skills have been categorized (#11656)
* Fix #11536: Fix overflowing map container in exploration editor (#11651)
* Fix part of #11464:Changes question editor flow in skill editor tab and Fixes task 7 (#11625)
* Fix question editor issues (#11573)
* Fix part of #10306: Adds async keyword in read-only-collection-backend-api.service (#11568)
* Deprecate parameters in exploration editor settings (#11513)
* Fix part of #10667: Prevent duplicate skill creation (#11375)
* Increase duration that success toast stays on the screen (save exp) (#11842)
* Make categories visible (#11832)
* Fix #11105: Adds correct styling in the audio player to maintain its height (#11819)
* Add metrics for 'curated lesson completed' (#11799)
* Introduce an Audit job to list all interaction ids in a topic (#11712)
* Add few methods for site analytics (#11668)
* Fix #11247: Duplicated Number Input interaction into General tab (#11664)
* Fix #10261: Displays "Reload Site?" modal/alert (#11654)
* Fix part of #8038: Changes translation-file-hash-loader.service.ts name to translation-file-hash-loader-backend-api.service.ts (#11650)
* Fix part of #11464 task 20 and 21 fixing border-bottom (#11567)
v3.0.7 (04 Feb 2021)
------------------------
Contributor Pages
* Fix #9642: Changes the title Things to do to Available Tasks (#11571)
Angular Migration
* Fix part of #8472: Migrate Editable Exploration Backend Api Service (#11558)
* Upgrade Angular packages to 10.2.2 and TypeScript Compiler to ES6 (#11410)
* Fix Part of #8472: Migrate Search Service to Angular 8 (#11409)
* Fix #11043: Fix const/readonly usages in the codebase (#11391)
* Fix part of #11043: Fix const/readonly usages in the codebase (#11386)
* Fix part of #8472 : Migrate SkillEditorStateService to Angular8 (#11355)
* Fix part of #8472 Migrate skill-update-service.ts to Angular 8 (#11214)
* Migration (topic-editor-routing.service.ts) AngularJS to Angular 8 (#11188)
* Revert "Migration (topic-editor-routing.service.ts) AngularJS to Angular 8" (#11423)
* Fix part of #8472 Migrate Fatigue Detection Service to Angular 8 (#11408)
Translations
* Add the Pashto language for exploration translation and voiceover (#11658)
* Fix #11632: Resolve nits from #11499 and fix one bug from #11499 (#11640)
* Translation surfacing (#11569)
* Implement an audit job (RuleInputToCustomizationArgsMappingOneOffJob) that validates rule inputs that match choices. (#11511)
* Fix part of #11367: Switch translation opportunity editor to RTL when translating into an RTL language (#11499)
* Routine update from translatewiki (#11488)
* Migrate ItemSelectionInput and DragAndDropSort input rule inputs to support translations (#11466)
* Add rule inputs translations backend support and new BaseTranslatableObject interface (#11376)
Developer UX
* Fix links in CONTRIBUTORS file. (#11604)
* Fix part of #10474: Enable strict checks for graph input (#11575)
* Fix #10306: Added Async to function that return Promises (#11551)
* Use context manager to handle set-up/tear-down of GAE Server (#11510)
* Fix pylint taking infinite time to complete lint testing (#11490)
* Fix part of #10474: Cover Few Services with strict checks (#11460)
* Add a check for checking if files are sorted in tsconfig-strict.json (#11445)
* Fix part of #10474: Added strict checks for LogicProofRulesService (#11440)
* Update oppiabot github actions to latest version (#11424)
* Refactor try/excepts in domain (#11421)
* Remove usage of platform from controllers (#11404)
* ClassifierObjectFactory added to strict check (#11400)
* Modifications added for async keyword returning a promise (#11364)
* Adds helpful pointers for new contributors in the PR template (#11291)
* Fix part of #10474: Cover more files with strict checks (#11561)
* Removes duplicate importAllAngularServices imports (#11556)
* Fix part of #10474: Add typescript strict checks in ParamChangeObjectFactory (#11494)
* Fiz part of #10306: Added async keyword to Promise Returning functions in `core/templates/services/translate.service.ts` (#11468)
* Fix part of #10474: Add files to strict check. (#11457)
* Fix #8668: Document graph data service file with jsdoc - resubmission (#11455)
Data handling
* Fix external fetcher error reporting (#11641)
* Fix part of #5914: Remove Takeout variable redeclaration (#11589)
* Fix #11140: Remove retrieval of `UserAuthDetailsModel` (#11448)
* Revert "Fix #11140: Remove retrieval of `UserAuthDetailsModel`" (#11443)
* Fix #10386: Fix `created_on` in `UserSettingsModel` (#11437)
* Fix #11394: Failed base64 image decoding (Takeout) (#11422)
* Fix part of #5914: Add Controller Level Gating Against User ID Export (#11382)
* Fix #11140: Remove retrieval of `UserAuthDetailsModel` (#11363)
* Fixes issue #10727: Rename field `activity_ids` to `exploration_ids` in the `UserSubscriptionsModel` (#11316)
* Refactor some try/excepts and remove unneeded one off jobs (#11293)
* Fix #11527: Add base human maintained model (#11270)
* Fix part of #10049: Remove `feedback_thread_ids`. (#11508)
* Allow system users as committers and add jobs to fix issues in SkillSnapshotMetadataModelAuditOneOffJob (#11245)
* Fix part of #10415: Refactor prod validators to be split into individual validators (#11493)
Miscellaneous
* Added code snippet for Google Optimize (#11773)
* Fix part of #11329: exploration-save-modal (remove: addclass and removeclass) (#11407)
* Fix part of #11329: admin-navbar-directive (remove: addclass and removeclass) (#11406)
* Fix #9717: Changes navbar and logo color on maintenance page (#11624)
* Fix part of #11329: top-navigation-bar.directive.ts (removing:addclass and removeclass) (#11378)
* Fix part of #10415: Refactor feedback validators (#11340)
* Fix part of #10306: Added async keyword to functions that return a promise (#11339)
* Fix part of #10306: Added async keyword to functions that return a promise (#11299)
* Fix part of #10474: Cover more files with strict checks (#11521)
* Fix #9708: Fixed Tweet Text (#11516)
* Fix part of #8668: Document service files with jsdoc (#11514)
* Fix issue #11454: Footer in preview changes tab looks odd in mobile. (#11506)
* Add the Telugu langauge for translation and voiceover (#11497)
* Fix #11566: Added flexbox for fixing overflow of text (#11580)
Release team
* Add correct release constants for migration job names list (#11648)
* Modify release scripts (#11365)
QA Team
* Wait for language selector to be present before clicking on it (#11613)
* Fix part of #10798 : Fixed End-to-End Tests with action.js and waitFor.js inSubscriptionDashboardPage.js (#11598)
* Revert "Fix part of #8472: Migrate Editable Exploration Backend Api Service" (#11596)
* Wait for Oppia Server To Shut Down Before Running E2E Tests (#11565)
* Fix E2E Reporting (#11449)
* Fix and improvements based on e2e failures in Circle CI (#11392)
* Fix #11601: Take more care when trying to kill processes (#11602)
* Fix part of #4057: improved skill-update.service.ts test coverage to 100% (#11451)
* Add flaky e2e report and restart functionality (#11263)
* Fix End-to-End tests for CreatorDashboardPage.js (#11145)
* Fix part of #4057: Adds unit test for collection-playthrough.model.ts (#11489)
Python Migration
* Fix part of #11462: Introduce Firebase emulator to dev workflow (#11555)
* Fix part of #11462: Use AuthClaims domain object as return value of authenticate_request (#11554)
* Fix part of #11462: Define Firebase-specific constants with empty values (#11540)
* Fix part of #11462: Add wipeout hooks for auth-related data (#11537)
* Fix part of #11314: Add search stub for tests (#11500)
* Fix part of #11462: Add AuthService and AuthInterceptor for managing user authorization (#11492)
* Fix part of #11462: Add platform layer for Firebase authentication services (#11452)
* Fix part of #11202: Add retry to queue.yaml and remove retry from Cloud Tasks (#11429)
* Remove unused auth-related jobs (#11586)
* Fix part of #11314: add local ElasticSearch server for dev mode and testing (#11546)
Learner/Creator Pages
* Remove deleted skills from skillIdToRubricsObject in the topic editor (#11855)
* Fix #11677: Allow reordering of chapters as they are created (#11809)
* Fix #11696: Replace skill id with the new one for all topics that the skill was assigned to; fixes a feedback editor bug (#11808)
* Fix #11015 & #11603: show warning sign in the default answer group; fix date issues in the history tab; (#11803)
* Optimizes the exploration save process and defers the summary generation call (#11793)
* Fix #11694: Resolving console errors in Skill preview tab (#11790)
* Fix #11679: Success alert on merging two skills (#11766)
* Fix #11630: Changed 'Goal' to 'Chapter description' in story editor (#11746)
* Fix of #11676 placing button inside the banner (#11733)
* Fix #11389: Updates margin of the supplemental card in exploration player page (#11638)
* Fix #6292: This PR fixes #6292 as per #11635 (#11637)
* Handles Concept card backdrop click and fixes an e2e flake (#11628)
* Update skill only after fetchSkill and fetchSkillRightsAsync have returned (#11612)
* Unblur and enable by default all chapters in the story viewer page (#11600)
* Fix success toast showing before a topic is saved (#11599)
* Fix #11559: Fixed Promo looking wonky on the library page (#11570)
* Fix blocking bugs #11399 and #11416 (#11517)
* Added validation for an edge case in math interactions. (#11491)
* Fix #11430: Merge skill modal has styling issues (#11487)
* New Teach page (#11467)
* Transfer codeownership of interaction files from @aks681 to @iamprayush. (#11459)
* Fix #11379: Fixed UI bug - code output hidden behind footer. (#11458)
* Fix #6292: Makes the card too long warning prominent. (#11444)
* Fix #11418 & #11415 and minor SEO improvements (#11436)
* Fix #11181: Modified button css throughout codebase (#11351)
* Fix part of #10667 to fix ”Save Draft” modal disappears when you click outside the modal. (#11280)
* Fix #11179: Changed Font CSS (#11269)
* Modify the splash page (#11260)
* New Teach page (#11467)
* Fix #11675: Adding limit to story description (#11732)
* Fix issue #9044: No Side Scroll when making interaction (#11241)
* Fix #10263: Search Bar turns to white when moves to page middle (#11515)
* Fix issue #11402: Fixing 'AUTHOR PROFILES' display in mobile view. (#11447)
* Fix issue which caused Skill Editor to not load completely unless a digest loop was triggered (#11553)
* Fix #8801: Fixed number overlapping in creator dashboard's navbar (#11524)
* Add $rootScope.$applyAsync in skill-editor-navbar.directive.ts (#11470)
v3.0.6 (04 Jan 2021)
------------------------
Contributor Pages
* Add config to disallow contributors to suggest questions (#11442)
* Fix ck-editor lagging issue on contributor dashboard (#11349)
* Removes run_in_transactions for suggestion and stats models and fixes translation issue in contributor dashboard page (#11320)
* Fix #11300: Revert "Add job to delete invalid suggestion models on server" (#11319)
* Adds Dari language for contents and translations. (#11307)
* Fix translation count issue for the exploration opportunity models (#11290)
* Fix #10715: Admin page UI issues (#11172)
* Fix part of #9004: Record event measurements for Contributor Dashboard analytics (#11238)
* Add one-off job for question suggestion migration (#11169)
* Fix part of #10415: Refactor suggestion validators (#11345)
* Fix part of #10720: Hide in review translation texts in contributor dashboard translation modal (#11356)
* Fix part of #10720: Add check for loading data in translation modal. (#11401)
Answer Classification
* Milestone 2 of ML pipeline migration (#11052)
QA Team
* Drop ClassroomPage e2e test from Circle CI because it is present in Actions (#11358)
* Fix part of #4057: Adds frontend test cases for ExplorationRecommendationsService (#11348)
* Rewrite additional editor features (#11324)
* Fix #11309: Minor changes to the failing test (#11310)
* Fix common e2e flakes (#11279)
* Store protractor screenshots as artifacts (#11266)
* Rewrite Play Voiceovers E2E Test (#11265)
* Fixes common e2e errors in e2e_learner_flow_skill_editor_and_embedding (#11259)
* Fix issue #10798 : Fixed End-to-End Tests with action.js and waitFor.js in ExplorationEditorFeedbackTab.js (#11166)
* Fix part of #10798:Fixing End-to-End Tests for CollectionEditor.js (#11126)
* Update e2e workflow names (#11223)
Server Errors
* Adds more info to the logs for #7951 server error (#11357)
Developer UX
* Fix part of #10474: Make typescript checks strict for service CreatorDashboardStatsObjectFactory (#11332)
* Fix #11163: Fix installation output to output correct error message. (#11282)
* Remove travis from the codebase (#11275)
* Removed Hudda as codeowner (#11240)
* Increase taskqueue http request timeout (#11195)
* Upgrade libraries (#11147)
* Fix part of #10306: Added async keyword to asynchronous functions that return a promise. (#11068)
* Fix part of #10474: Add strict checks to files (#11028)
* Ubuntu docker (#11278)
* Add auto retry functionality to e2e script (#11277)
* Fix part of #8668: Document the service file with jsdoc (#11239)
* Add Travis CI tests to Github actions (#11205)
* Fix part of #10415: Refactor user validators (#11117)
* Fix part of #8423: Forbid use of "if x != None" (#11108)
* Fix part of #10306: Added async keyword to asynchronous functions that return a promise. (#10886)
Data handling
* Fix part of #5914: Takeout E2E testing (#11311)
* Wipeout 8.17: Fix remaining stuff from the audit (#11281)
* Fix #11142 and #11150: Update Takeout Docstrings and Clean Up (#11261)
* Wipeout 8.16: Save the username of deleted user so it cannot be reused (#11168)
* Fix part of #10415: Extract collection model validators from prod_validators to a new file (#11152)
* Fix part of #10415: Extract config validators from prod_validator (#11148)
* Add missing commit logs (#11146)
* Fix part of #10415: Refactor classifier validators (#11116)
* Fix interaction customization args validation issues in LogicProof, AlgebraicExpressionInput, MathEquation (#11019)
* Fix part of #10415: Topic validator refractor (#10967)
Translations
* Localisation updates from https://translatewiki.net. (#11110)
Learner/Creator Pages
* Fix #11536: pencil code editor inside interaction box (#11538)
* Show all topics that a skill has been assigned to in the dashboard page (#11525)
* Fix blocking bugs #11399 and #11416 (#11517)
* Fix #11418 & #11415 and minor SEO improvements (#11436)
* Fix #11334: Changes index -> version number in the history tab (#11346)
* Fix part of #10667: make alt text in image editor into paragraph text (#11298)
* Add page title field for Topics and minor changes to page titles (#11294)
* Fix #11155, #11156: Removed redundant rule for simplified value (#11251)
* Fixing Lesson info modal card (#11224)
* Fix part of #10415: Refactor question validators (#11222)
* Fix #11157 and #10758: Adress comments from PRs (#11210)
* Fix #11096 and rest of classroom page issues (#11196)
* Adds licence metadata to HTML (#11167)
* Fix #3341: Added confirmation modal in the customization args editing. (#11164)
* Fix of #10905 for not showing negative numbers in feedback notification (#11132)
Bug fixes
* Fix promo bar breakage in production. (#11326)
* Fix #11200: fix browser detection mismatch between frontend and backend (#11211)
* Fix issue #9992: Fixing the fin shaped portion of the blockquote element in the topic and skills dashboard and about page. (#11271)
* Fix param editor: c.isCurrentlyInSettingsTab is not a function (#11335)
* Move margin-bottom to conversation-skin-tutor-card-container (#11336)
* Fix #11073: Fixes evaluation context in feature gating (#11218)
* Add one-off job to wipe all ExplorationIssuesModel instances (#11323)
* Fix to #10798 Refactor ExplorationPlayerPage.js (#11301)
* Fix #11133: display '+1' icon and "Nowhere yet..." text (#11252)
* Fix part of #9749 Remove circular image directive (#11201)
* Fix part of #8472 Migrate response-service.ts to Angular 8 (#11194)
* Fix issue #9041: Maxlength in the input box when renaming a state (#11175)
Python Migration
* Change Cloud Tasks from HTTP tasks to AppEngine tasks (#11246)
* Fix part of #9827: Implement search platfrom API (#11295)
Angular Migration
* Fix Part of #8472: Migrate Question Player Enginer Service to Angular 8 (#11285)
* Fix part of #8472 : Migrate TopicUpdateService to Angular8 (#11276)
* Fix part of #8472: Migrate story-editor-state.service.ts (#11268)
* Fix Part of #8472: Remove unused expression-type-parser service file and connected functions (#11262)
* Fix Part of #8472: Migrate User Service to Angular 8 (#11191)
* Fix part of #8472: Migrate translation language service to Angular (#11178)
* Fix Part of #8472: Migrate Topic Rights Backend API Service (#11177)
* Migrate ReadOnlyExplorationBackendApiService to angular (#11060)
* Fix part of #8472: Migrate thread-data.service.ts to Angular 8 (#10941)
* Fix Part of #8472: Migrate HintsAndSolutionManagerService to Angular 8 (#10900)
* Fix part of #10474:Make typescript checks strict for service "CreatorExplorationSummaryObjectFactory" (#11327)
* Fix part of #10474: Set strict checks for LearnerParamsService (#11302)
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)