forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
7832 lines (6945 loc) · 438 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.1 (10 Jun 2021)
------------------------
Miscellaneous
* Add support for Fanti, Tamil and Swahili languages (#13014)
* Transfer codeownership of filepath-editor to kevintab95. (#12578)
Contributor Pages
* Fix #12657: Enable translation of interactions in contributor dashboard (#12810)
* Fix #12691: Revert codeowners for contributor dashboard files (#12782)
* Fix part of #12691: Swap codeowners for contributor dashboard files until 2021-05-10 (#12693)
* Fix #12382 : Contribution Dashboard users with the SUBMIT_QUESTION or REVIEW_QUESTION permission should now be shown (#12562)
* Fix #11706 : Cursor should revert to normal when translation modal is closed (#12521)
* Fix part of #11735: enables reviewers to edit translations(re-submission) (#12540)
* Fix part of #11735: feature edited by reviewer flag for suggestions (#12785)
Answer Classification
* Milestone 3 of migrating Oppia ML pipeline (#12091)
Server Errors
* Fix #12830: Add ContentLanguageSelectorComponent to entryComponents and declarations in review-test module (#12834)
* Fix HTML caching (#12607)
Translations
* Routine update of translations. (#13012)
* Add MachineTranslatedStateTextsHandler and translation domain services (#12524)
* Add MachineTranslatedText storage model and domain object (#12515)
* Add Cloud Translate Services (#12065)
Developer UX
* Routine update of translations. (#12895)
* Handle all server management with managed_process() (#12800)
* Fixes #12776 : Fixes Type Errors in Promise rejections in admin page. (#12777)
* Handle all server management with managed_process() (#12761)
* Update backend libraries (#12744)
* Update backend libraries (#12734)
* Fix part of #10474: Cover MisconceptionObjectFactory with strict typescript checks (#12720)
* Routine upgrade of libraries (#12709)
* Fix #12512: Fixes import error after cleanup (#12701)
* Distribute nithusha21's codeowner files (#12696)
* Fix Part of #11496: Add lint check for `.then()` method (#12677)
* Fix Running E2E Tests Locally (#12668)
* Fix Part of #10474: Cover and Refactor six more files with TS strict checks (#12643)
* Fix #11811: remove remaining TODOs. (#12605)
* Fix part of #11462: Give Firebase accounts --save_datastore support (#12600)
* Removes unused codecov config file (#12583)
* Fix Part Of #10474: Make typescript checks strict for some services (#12569)
* Fix Part Of #10474: Make typescript checks strict for some services (#12561)
* Fix #12550: Allow metadata with py2.7 suffix (#12559)
* Fix #10306: Adds "Async" keyword to all the remaining files. (#12558)
* Fix part of #7450: Modify private method in ContinuousComputationTests (#12553)
* Fix part of #7450: Modify private method in SuggestionServicesUnitTests (#12511)
* Fix part of #10474: Adds strict typing to `GuestCollectionProgressObjectFactory` (#12497)
* Fix part of #10474: Strict type checks for NeedsGuidingResponsesTaskModal and its spec file (#12491)
* Fix part of #10474: Make TS checks strict for CollectionPlaythrough CollectionRights CollectionSummary (#12487)
* Shard error fix for issue #12422 (#12485)
* Fix part of #8423: Add lint check to ensure that functions with "testOnly" in their names are only called from "spec" files. (#12455)
* Fix part of #10474: Cover exploration-feature service with strict typescript checks (#12388)
* Remove self code owners until 2021-05-24 (#12737)
* Improve swap_with_checks() (#12721)
* Fix Part of #11572: Stack Traces for exceptions are correctly thrown (#12618)
* Update eslint version to 7.23.0 (#12501)
* Revert ownership to darksun27 (#12493)
* Fix part of #12656: Temporarily transfer codeowners for @brianrodri (#12658)
Data handling
* Split fetch review suggestions query into separate queries for translations and questions (#12950)
* Fix part of #11475: implement the _get_change_domain_class for other models: collection, config, question (#12826)
* Replace fetch_page of 'get_translation_suggestion_ids_with_exp_ids' with fetch (#12784)
* Fix #9320: Remove jinja (#12757)
* Refactor try-except in exp_services.py (#12685)
* Adds new fields in userSettings model with corresponding one-off job to populate those fields (#12683)
* Replace fetch_page of 'query_new_and_pending_training_jobs' with fetch (#12678)
* Fix part of #11475: migrate _validate_commit_cmds_schema to Beam job (#12568)
* Fix part of #10415: Refactor activity validators (#12477)
* Add additional predicates to email dashboard (#12356)
* Fix part of #11475: Migrate _validate_post_commit_status to Apache Beam (#12347)
* Fix part of #11475: Migrate validate_commit_type to Apache Beam (#12240)
Angular Migration
* Fix Part Of #9749: Migrates Collection-Linearizer-Service to Angular (#12837)
* Fix Part of #9749: Migrates Contact Page (#12774)
* Fix Part Of #9749: Migrates Delete-Account-Page to Angular (#12750)
* Fix part of #9749, #8472: Refresher exploration confirmation service and modal migrated. (#12748)
* Fix part of N/A: Migrate ng-audio. Fix part of #8742: Audio Player Service (#12715)
* Fix part of #9749: Migrate Privacy page (#12705)
* Fix part of #9749: Migrate Learner local nav directive along with dependencies. (#12704)
* Fixes part of #9749: Migrate Correctness footer (#12682)
* Fix part of #9749: Migrate Learner answer info card (#12681)
* Fixes part of #9749: Migrate continue button directive (#12680)
* Fix part of #8472: Migrate Exploration player state service (#12679)
* Fix part of #8472: Learner view rating Service Migrated (#12676)
* Fix part of #8472: Migrate exploration engine service. (#12675)
* Fix part of #9749: Migrate moderator page (#12602)
* Fix part of N/A: Remove most of the service from serviceToProvide in App.ts to remove multiple instances of a services. (#12596)
* Fix #12571: Update filepath editor to set correct width, height and offset on initialisation. (#12572)
* Fix part of #9749: Migrate pending account deletion page. (#12545)
* Fix part of #9749: Migrate Notifications dashboard page (#12544)
* Fix part of #9749: Migrate side navigation bar (#12543)
* Fix part of #9749: Migrate warnings-and-alerts and alert-message directives (#12542)
* Fix part of #9749: Loading message directive migrated (#12541)
* Create NgInit and mathjax Directive and Fix part of #9749: Migrate int, list-of-sets-of-translatable, list-of-tabs, list-of-unicode-string, set-of-unicode-string, logic-error, logic-question, math equation, math expression, muisc-phrase, nonnegative and number-units editors (#12532)
* Fix Part of #9749: Migrated Story-Preview-Tab with Spec (#12513)
* Fix part of #9749: Migrate Custom OSK, drag-drop-positive, filepath, fraction, graph-editor, html-editor and image-with-regions editors (#12502)
* Fix part of #9749: Migrate rubrics editor directive along with dependencies (#12488)
* Fix part of #9749 Migrating outcome-feedback-editor.directive.ts to Angular (#12479)
* Fix Part Of #9749: Migrates Story-Viewer-Page to Angular (#12472)
* Fix Part of #10700: Refractor Object Factories (#12458)
* Fix part of #9749: skills list directive and dependencies migrated (#12432)
* Fix part of #9749: Topics list directive migrated (#12410)
* Fix Part of #9749:Migrates skill-description-editor directive to Angular (#12395)
* Fix Part of #9749:Migrates response-header directive to Angular (#12376)
* Fix part of #9749: Migrates create-activity-button to angular (#12290)
* Fix #12292 and part of #9749: Migrate image click interaction (#12113)
* Fix #12206, #12385, #12523, #12525, #12526, #12527 Migrated Learner's Dashboard Completely (Angular Migration) (#12056)
* Temporarily provide $translate in Angular (#12794)
* Fix Remaining comments from #12569 and #12561 (#12778)
* Fix remaining comments from #12639. (#12713)
* Emit object form validity event in list-of-sets-of-translatable-html-content-ids-editor.component.ts (#12546)
* Migrate ui-codemirror and Fix part of #9749: Migrate CodeRepl interaction (#12639)
* Revert "Fix Part of #9749:Migrates response-header directive to Angular.(This PR is currently made for some testing purposes) (#12708)
* Fix part of N/A: Introduce Event bus for events (#12459)
Bug fixes
* Add google-cloud-translate fix for deployed server (#12825)
* Fix #12804: Social buttons are now showing correctly. (#12805)
* Fix #12642: topicName is interpolated properly now. (#12803)
* Fix #12738: Copy does not work for images in the translation modal and image upload during question creation (#12789)
* Redirect away from login page when already signed in (#12710)
* Fix part of #11462: Revoke session cookies after granting/revoking super admin privileges (#12570)
* Fixes: #12907 Drop down for "play later" in mobile view (#12932)
* Fix #12903: Optimize exploration-summary-tile.component change detection cycles. (#12931)
* Fix rule input voiceover status (#12905)
* Fix translation flow issue (#12902)
* Fix #12841: Exploration player i18n bug fixes (#12843)
* Fix #12818: RTE Helper modal controller flake (#12820)
* Fix #12106 : Creates seperate variables to store different results in admin roles tab (#12230)
Python Migration
* Fix part of #11475: Migrates _validate_entity_type (#12854)
* Fix #12656: Reclaim @brianrodri's ownership (#12838)
* Fix #11462: Cleanup Firebase TODOs and leftover code (#12827)
* Fix #12671: Generate signature migration (#12816)
* Fixes Enum bug (#12809)
* Fix part of #11474: Move contextlib2 API into python_utils (#12773)
* Adding python3 compatibility for zip largest (#12758)
* Fix #12697: Refactoring audit errors (#12725)
* Python Migration raw string (#12714)
* Fix part of #11462: Permit auth-related pages and handlers in maintenance mode (#12684)
* Fix #12503: Renaming proto folder for further migration to Python 3 (#12672)
* Fix part of #11475: migrate validate_canonical_name_matches_name_in_lowercase to beam job (#12669)
* Python 3 compatibility for base64 encoding (#12651)
* Fix part of #11475: migrate validate_activity_mapping_contains_only_allowed_keys to beam job (#12579)
* Fix part of #11462: Add one-off job to detect accounts with duplicate emails (#12534)
* Remove incoming emails (#12516)
* Migrates creation of enum to the inbuilt Enum method (#12470)
* Fix part of #11475: Migrate validate_model_domain_object_instances to beam jobs (#12317)
* Migrates _validate_post_commit_status_is_public (#12787)
* Return PTransform class object from ModelStub.get_models_ptransform (#12739)
* Changes the existing hierarchical roles system to independent roles to actions system (#12686)
* Fix part of #11475: Migrates validate_draft_change_list_last_updated (#12673)
* Fix part of #10728: Migrate metaclass python regex to custom Astroid checker (#12394)
Learner/Creator Pages
* Link exploration state to skill (#12348)
* Fix thumbnail background colour not updating (#13023)
* Fix #12630: Force pasting plain text in RTE editor (#12861)
* Display learner-facing pages in RTL when the site language is an RTL language. (#12762)
* Fix #12580: Makes exploration content Tabbable. (#12752)
* Added exp ID logging for StoryExplorationsAuditOneOffJob (#12749)
* Fix #12426: Show "Loading..." text when RTE toolbar is loading (#12740)
* Resolving katex parser error in Numeric Expression Input interaction (#12730)
* Fixes #12575 : Fixes audio bar position on small screens. (#12702)
* Fixes #12641: Browse our lessons button fixed. (#12646)
* Merging SVG-Diagram and Image plugins in RTE : Adds function for converting tags (#12620)
* Fix console errors for duplicate skill description (#12595)
* Update the custom entity context when reviewing translations (#12573)
* Fix Part of #9271: Remains in skills tab after merging two or more skills. (#12567)
* Fix #12528: Fixes server error in the DragAndDropSortInput interaction. (#12548)
* Adds Autofocus on exploration interactions (#12538)
* Add card_is_checkpoint field in state model (#12529)
* Fix #6069 : Added top margin to "Start New Thread" button (#12489)
* Fix #11692: Adds a customization arg for math interactions that allow selecting division symbol. (#12483)
* Fix #12265: Search input and review div for topic selector (#12384)
* Link exploration state to skill (#12807)
* Revert "Link exploration state to skill (#12348)" (#12801)
* Fix #10892: Fixes long skill names bug in the subtopic editor (#12236)
* Fixes an error when uploading GIFs with transparent bg and add removes GIF from COMPRESSIBLE_IMAGE_FORMATS (#12504)
* Fix #12223: Errors in Skill Editor is displayed. (#12629)
* Fix #12587 : Back arrow works fine on skill and topic editor page (#12674)
* Fix Part of #10914: Adds progress indicator in save button. (#12603)
Automated QA Team
* Fixing e2e flake in Settings tab(No element found using locator: By(css selector, option:checked)) and (No element found using locator: By(css selector, .select2-dropdown))) (#12796)
* Adding a Video Recorder for E2E Tests (#12759)
* Wait for Moderator or 401 Error Page to load in e2e test (#12745)
* Fix part of #10798: Add action to learnerFlow.js file (#12690)
* Fix part of #10798: Fix end to end tests for ClassroomPage.js (#12670)
* Fix Part of #10798: Fixed e2e test file to resolve non-deterministic behavior (#12614)
* Resolving the 'Page Takes > 15 seconds to load' Flake (#12597)
* Update ProfilePage.js (#12593)
* Fixes #12142 Flake Fixed in Edit thumbnail Controller (#12574)
* Moving Tests To Github Actions (#12495)
* Fix librarypage test #10798 (#12486)
* Skip Selected CI Checks for Low-Risk PRs (#12440)
* Resolving “no element found using locator: by(css selector, .protractor-test-exp-summary-tile-title)” (#12812)
* Revert "Handle all server management with managed_process()" (#12797)
* Fix afterAll failure error (E2E Test passing despite failure in afterAll block) (#12576)
* Fixes e2e Flake in story Editor (#12530)
* Fix #12173 Fix Failing Accessibility Tests (#12457)
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)