forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
9120 lines (8133 loc) · 519 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.2.4 (29 Mar 2022)
------------------------
Learner/Creator Pages
* Fix #15023, #15037: Hide learner suggestions in the feedback tab and show correct open feedback count; Fix errors in skill questions tab (#15220)
* Fix #15188: Fix Drag and Drop interaction short response html so it displays _html instead of _contentId (#15211)
* Fixes 15159, 15156, 15163, 15180, 14752 (#15192)
* Fix #15166: Add hacky translation support for breadcrumbs on classroom related pages (#15167)
* Removed unnecessary calls to analytics service (#15154)
* Fix #15101: Question submission image issue (#15131)
* Fix #15123: Show classroom promo in navbar regardless of user state (#15125)
* Fixes scroll issues (#15114)
* Fix base64 parsing issue in svg editor upload functionality (#15109)
* fixes broken UI on lessons tab. (#15068)
* Fix #15024: fixes feedback's reload behaviour. (#15067)
* Fix #14944: Copy text in translation mode (#15061)
* Fix #14855: Edits navbar to ensure learning view does not break (#15045)
* Fix part of #14219: Make test coverage in question_fetchers 100% (#15040)
* Fixes #15005: Topic prerequisite skill checking is broken and prevents topic being published. (#15025)
* Fix part of #14702: Add entity editor browser tabs info domain object (#15019)
* Fix #14982, Fix part of #14960: Fixing search bar's language and categories drop-down and repetition of search results. (#14991)
* Fix part of #14960: UI improvements on exploration and classroom pages (#14979)
* Fix part of #14960: Updated UI of preferred languages chip (#14978)
* Fix part of #14960: Open chapter from the topic page in the same tab instead of opening in a new tab. (#14976)
* Fix part of #14960: Remove extra margin from beneath the lesson completion card (#14964)
* Fix part of #13822: Backend validation for non-duplicate exploration rights user IDs (#14962)
* Added new menu item `about oppia foundation` (#14961)
* Fix part of #14829: Added RTL formatting for remaining files. (#14934)
* Fix #14845: Problems related to skill editor component in the exploration editor (#14933)
* Fix #14921: Made Image-editor component and edit-profile-picture component responsive (#14932)
* Check uniqueness of topic name without considering leading and trailing spaces (#14925)
* Fixes UI Inconsistencies in the Review Player (#14919)
* Add some debug info to track #14708 if it occurs again (#14915)
* Learner dahsboard fixes based on learner dashboard doc (#14898)
* Fix #14793: Strip invalid tags and attribute from SVGs instead of showing a warning. (#14876)
* Fixes The order of In-progress lessons. (#14868)
* Minor UI enhancements in Goals Tab on Learner Dashboard. (#14863)
* Fix #14712: Added warning checks for author recommended exploration ids (#14853)
* Change hover behaviour of cards on the learner's dashboard (#14852)
* Minor UI improvements in Navbar (#14837)
* Minor UI changes in side-navbar. (#14836)
* Fix part of #13764: set minimum number of questions for Topic until practice tab can be displayed (#14799)
* Added new empty lessons tab and fixes feedback tab's title position. (#14768)
* Fix #14788: Results page now doesn't show skills with no questions (#14762)
* Fix #14634: Add checks to validate explorations before adding them as chapters (#14747)
* Switch default values of autogenerated text-to-speech and correctness feedback for explorations (#14746)
* Fix #13010: Allow learners to enter decimals in formats other than English (#14744)
* Fix #14646: Make display of concept card link inline. (#14731)
* Fixes creator dashboard button's screen position, added hover effect on main menu and removed extra unit spaces. (#14721)
* Fix #14667: Adds I18N keys for preference page (#14685)
* Fix #14621: Change concept-card modal's z-index so it stacks correctly over other modals (#14670)
* Fix #14432: Shows previous subtopic card when at last subtopic of the topic. (#14660)
* Fixes Leaner Dashboard Issues (#14654)
* Fixes #14636: Bug on collection player page on mobile devices (#14637)
* Fix part of #14219: Increasing backend test coverage of core.domain.story_fetchers_test to 100% (#14632)
* Changing the login overlay to have the new UI (#14607)
* Align lesson titles on collection page so they don't overlap with the path line (#14591)
* Fixes practice tab's start button behaviour (#14583)
* Fix #14431: Resolves all navbar related fixes for rtl languages (#14559)
* Change layout of exploration and collection cards on community-library for mobile UI (#14527)
* Fix #13566: Updates languages names in voiceover dropdown and other fixes. (#14523)
* Implemented new UI changes in lessons page (mobile view). (#14512)
* Redesign Search bar and Fix #14447: Change dropdown buttons' z-index so they don't appear over the sidebar (#14486)
* Add RTL support to the major viewer pages (#14375)
* Fix #13737: Voiceover does not repeat when user submits answer before voiceover has finished (#14367)
* Fix part of #14085: Making math interactions consistent with the android definitions. (#14197)
* Fix part of #13764: Story notes and skill rubric explanation validation. (#14159)
* Registers translatable fields in Exploration, Question & State based on new translation architecture. (#14534)
* Fix base64 to unicode decoding issue (#15002)
* Fix part of #13764: For curated lessons outcome refresher_exploration_id should be None (#14908)
* Fix 14787: Fixes topic editor tab when wrong URL fragment is entered in `Topic URL Fragment` (#14903)
* Fix #15011: Replace choppy animation and introduce fade in out as a short term fix (#15081)
* Fix part of #11329: conversation-skin.directive (remove: addclass and removeclass) (#15066)
* Fixed different behavior of navbar items. (#14862)
* Skip regenerating summary with new contributor if exp is not found (#14846)
* Fixes #14704: Uploading of exploration in yaml format. (#14800)
Speed improvement
* Improve speed (#15116)
Release team
* Fix path for app yaml file (#15107)
* Allow option to choose default browser (#15076)
* Add CORS header to app.yaml (#15043)
* Remove usage of credits form for changelog generation (#14911)
* Re-add rtl css to develop (#14907)
* Update authors and changelog for v3.2.3 (#14904)
* Allow multiple remote urls to be used for release (#14894)
* Fix cloud sdk version and add a check to avoid this issue in future (#14616)
* Fix #14354, #14328 and #57 (on release-scripts): Multiple Release script fixes (#14380)
Translations
* Routine update of translations. (#15092)
* Fix #14998: Extended hacky translations for next recommended chapter name translation (#14999)
* Fix #14947: Mcq options translations not showing up (#14948)
* Fix #14881: Extended hacky translations for navbar topic titles (#14882)
* Routine update of translations. (#14789)
* Imlementation of Hacky translations for the all classroom related pages (#14631)
* Adds Base structure for the new translation architecture (#14515)
Contributor Pages
* Fix part of #14355 Allow filtering reviewable translation suggestions by topic [Frontend] (#15074)
* Fix #14826: Implement pagination in Contributor Dashboard Contributions tab. (#15072)
* Fix part of #14355 Allow filtering reviewable translation suggestions by topic [Backend] (#15070)
* Fix #14358: Slow load times for translation opportunities (#14784)
* Fix #14206: Unable to remove question contribution rights in admin dashboard (#14577)
* Fixed length of filter by topics container (#14561)
* Fix #11761: Add a dropdown to replace the sidebar in contributor's dashboard when the screen becomes too narrow (#14342)
Data handling
* Fix part of #13341: Type annotate third_party_size_check.py, start.py, setup_gae.py (#15069)
* Fix part of #13822: Add backend validation check for story description. (#15038)
* Fix part of #14419: ANDROID_TEXT_SIZE and ANDROID_NETWORK_TYPE enums refactored (#15015)
* Fix #10383: fix nerdamer typing (#14963)
* Fix Part of #13162: Adds schema for handler UserInfoHandler class (#14922)
* Upgrade lighthouse (#14917)
* Replace validation method with object class (#14901)
* Fix part of #13162: Added SiteLanguageHandler schema (#14886)
* Fix part of #13162: Added Schema for ExportAccountHandler (#14880)
* Fix part of #13162: Added Urlhandler schema with required changes (#14879)
* Topic domain refactor (#14844)
* Fix part of #14537: Refactor feedback domain file. (#14802)
* Fix part of #14537: Refactor wipeout domain (#14764)
* Fix #14751: Allow int in float ininstance checks (#14758)
* Fix Part of #13162: Adds schema for handler FetchSkillsHandler class (#14749)
* Fix part of #13822: Exploration title should have max length of 36 (#14748)
* Refactor beam_job_domain file (#14742)
* Fix #14705: Allow any param dict, add more files to GCoud ignore file, fix MyPy bug by adding stubs (#14724)
* Fix #14022: Tidy-up admin related pages and remove remainders of MapReduce jobs (#14663)
* Fix part of #13162: Added Schema for EditableSkillDataHandler (#14623)
* Fix Part of #13162: Added Schema for SignUpPage (#14614)
* Fix part of #14555: Implement a schema type to validate variable no of keys in dict (#14571)
* Fix part of #14383: Refactor comma_separated_*_ids (#14563)
* Fix part of #14537: Introduce lint checks for importing services inside domain files (#14553)
* Fix part of #13162: Added schema for ExplorationEmbedPage (#14481)
* Job to extract email, collection id of users who created collection (#14461)
* Fix part of #13162: Setup schemas on topic editor (#14356)
* Skill opportunity job (#14324)
Miscellaneous
* Fix tests/methods that refer to private functions in Python inside core.domain.exp_services_test.py (#15060)
* Fix #14827: Clarifies the error messages for NumericInputInteraction (#14918)
* Upgrade libs (#15127)
* Revert "Improve speed" (#15121)
* Transfer codeowner files from Eric to Kevin (#14753)
* Update README file to add social media (#14745)
* Update year to 2022 (#14700)
* Fix frontend test flake caused by #14342 (#14638)
* Fix #14524: Frontend testing (#14619)
* Revert #14470 (#14613)
Angular Migration
* exploration-improvements.service.ts from AngularJS to Angular (#15051)
* dead code (#15028)
* Fixed part of #9749: Migrated concept-card-editor and skill-preview modal (#14939)
* Fix Part of #10700: Refactor Object Factories (#14888)
* Fix Part of #9749: state-interaction-editor from AngularJS to Angular (#14873)
* Fix part of #9749: Migrated outcome-destination-editor (#14865)
* Fix Part of #9749: Migrate State content editor (#14838)
* Fix part of 9749: customize-interaction-modal.component migrated from AngularJS to Angular (#14798)
* Fix part of #9749: Migrated state-solution-editor component (#14790)
* Fix Part of #9749: Migrate and Redesign DragAndDrop interaction (#14774)
* Fix part of #9749: Migrated add-or-update-solution modal component (#14771)
* Migrate ExplorationStatesService and GraphDataService to Angular 2+ (#14701)
* Fix part of #9749: Migrate whole NumberWithUnits interaction directive. (#14681)
* Fix part of #9749: Migrated ques-misconception-editor (#14672)
* Fixes Part of #9749: Migrate Whole RatioExpressionInput directive interaction (#14661)
* Fix part of #9749: Migrate Solution-editor & solution-explanation-editor to angular (#14656)
* Fix Part of #9749: Migrates Interaction Pencil Code Editor to Angular (#14624)
* Fix Part of #9749: Migrate whole ItemSelectionInput directive inside interaction. (#14593)
* Fix part of #9749: Migrated reviews-materials-editor component (#14590)
* Fix part of #9749: Migrated skill-misconception-editor directive (#14588)
* Fix part of issue #9749: State-hints-editor, hint-editor, response-header component from angularJS to angular (#14576)
* Fix part of #9749: Migrated select-skill-difficulty-modal, question-editor-save modal, confirm-question-exit-modal etc. (#14565)
* Fix part of #9749: Migrate translation-suggestion-review-modal (#14546)
* Fix Part of #9749: Migrate change subtopic assignment modal (#14493)
* Fix part of #14187: Migrate contribution-and-review-service to angular and fully cover it with frontend tests (#14471)
* Fix part of 9749: Migrate help-modal.controller (#14406)
* Fix part of #9749: Migrate conversation skin, conversation skin embed and exploration player page directives (#14087)
Typing
* Fix part of #10474: Make typescript checks strict for few more files. (#15046)
* Fix part of #14033: Added MyPy type annotation to the file image_services.py (#15032)
* Fix part of #10474: Make typescript checks strict for few more files (#15027)
* Fix part of #14033: Added Mypy type annotations to some files. (#15008)
* Fix part of #10474: Make typescript checks strict for few more files (#14990)
* Fix part of #10474: Make typescript checks strict for subtopic_viewer/*.ts folder (#14989)
* Fix part of #10474: Make typescript checks strict for few files (#14988)
* Fix part of #14033: Added Mypy type annotations to `activity_services.py` (#14986)
* Fix part of #10474: Make typescript checks strict for few files. (#14983)
* Fix part of #14033: Type annotate user_query_domain (#14931)
* Fix part of #10474: Make typescript checks strict for skills-list.component ans spec (#14871)
* Fix Part of #13015: Removing use of `unknown` as a type in Interactions (#14775)
* Added strict tests for more files (#14664)
* Fix part of #10474 : Make typescript checks strict for `core/templates/components/skill-selector/merge-skill-modal.component.ts` (#14644)
* Fix part of #10474 : Make typescript checks strict for `core/templates/domain/editor/undo_redo/base-undo-redo.service.ts` (#14633)
* Fix part of #10474: Make typescript checks strict for ExplorationObjectFactory (#14600)
* Fix part of #14033: Type annotate Topic domain (#14595)
* Fix part of #14033: Added Mypy type annotations to some files. (#14469)
Developer UX
* Upgrade elasticsearch and limit its memory usage (#15033)
* Fix part of #7450: Replace testing of private methods in BuildTests (#15020)
* Add error message to debug flaky test (#14970)
* Fix Part of #11496: Add lint check for browser.switchTo().activeElement() method (#14959)
* Upgrade frontend and backend libs (#14902)
* Upgrade to fixed version of pip-tools (#14860)
* Catch errors at the time of javascript compilation (#14849)
* Remove codeowner for the pylint files (#14824)
* Fix pip compile (#14813)
* Fix part of #12912: Enables 'missing-raises-doc' and 'cyclic-import' pylint checks (#14772)
* Upgrade frontend libs (#14737)
* Fix part of #12912: Enables raise-missing-from pylint check (#14719)
* Upgrade libraries (#14642)
* Update PULL_REQUEST_TEMPLATE.md (#14629)
* Move import under third party exec code (#14606)
* Fix part of 14219: Increasing backend test coverage of core.storage.classifier.gae_models_test to 100% (#14573)
* Fix part of #14419: SERVER_MODES refactored to ServerModes and values changed to UPPERCASE (#14556)
* Fix part of #12912: Enables `consider-using-in` pylint check (#14520)
* Fix part of #12912: Changes deprecated python methods (#14506)
* Fix parts of #12912: Enables `no-else-continue` and `no-else-raise` pylint checks (#14504)
* Fix part of #10616: Added eslint check "lines-between-class-members" (#14496)
Automated QA Team
* Fix part of #14219: Increasing backend test coverage of core.domain.playthrough_issue_registry_test to 100% (#15026)
* Fix part of #14219: Add backend tests to achieve 100% per-file backend coverage with classifier_domain_test (#14996)
* Fix part of #14219: Increasing backend test coverage of core.domain.topic_fetchers_test to 100% (#14981)
* Fix part of #14187: Added frontend coverage for `oppia-footer.component.ts` (#14973)
* Fix part of #14219: Increasing backend test coverage of core.domain.story_services_test to 100% (#14942)
* Fix part of #14187: Add frontend test for audio-preloader.service.ts (#14927)
* Fix part of #14187: Add frontend test for story-node.model.ts (#14923)
* Fixes part of #14219: 100% test coverage for skill_domain and suggestion_services (#14920)
* Fixed part of #14219: 100% per-file backend test coverage for acl_decorators.py (#14892)
* Fix part of #14219: Increasing backend test coverage of core.domain.topic_services_test to 100% (#14891)
* Fix part of #14219: Increasing backend test coverage of core.domain.summary_services_test to 100% (#14890)
* Add more tests to SVG editor (#14884)
* Fix part of #14219: Increasing backend test coverage of core.domain.exp_fetchers_test to 100% (#14883)
* Fix part of #14219: Increasing backend test coverage of core.domain.blog_services_test to 100% (#14854)
* Fix part of #14219: Increasing backend test coverage of core.domain.skill_fetchers_test to 100% (#14835)
* Fix part of #14219: Increasing backend test coverage of core.controllers.blog_homepage_test to 100% (#14834)
* Resolving Add to 'play later' list icon taking too long to load flake in learner dashboard (#14822)
* Fix "Wait timed out after 10001ms" flake in wipeout suite. (#14818)
* Fix part of #14219: Increasing backend test coverage of core.domain.exp_services_test to 100% (#14816)
* Fix part of #14219: Increase backend coverage for `classifer_services.py` to 100% (#14812)
* Fix part of #14219: Increasing backend test coverage of `core.domain.skill_services_test` to 100% (#14801)
* Fix part of #14187: Add remaining frontend tests for some files for 100% coverage (#14796)
* Fix part of #14187: Add fronted tests for `normalize-whitespace-punctuation-and-case.pipe.ts` (#14773)
* fixed part of #14219: 100% per-file backend test coverage for question_domain.py (#14759)
* Fix part of #14219: Increasing backend test coverage of core.domain.feedback_services_test to 100% (#14756)
* Fix part of #14187: Cover some files with frontend tests (#14729)
* Fix part of #14187: Add remaining frontend tests for `truncate-and-capitalize.pipe.ts` (#14699)
* Fix part of #14187: Adds frontend tests for `subtopic.model.ts` (#14696)
* fixed part of #14219: 100% per-file backend test coverage for event_services.py (#14682)
* Fix part of #14219: Increasing backend test coverage of `core.storage.auth.gae_models_test` to 100% (#14665)
* Fix part of #14219: Increasing backend test coverage of `core.storage.question.gae_models_test` and `core.jobs.job_utils_test` to 100% (#14662)
* Fix part of #14187: Add remaining frontend tests for three files (#14650)
* Fixed part of #14219: Increased backend test coverage of `core.storage.opportunity.gae_models_test`, `core.controllers.story_editor_test`, `core.controllers.skill_editor_test` and `core.storage.statistics.gae_models_test` to 100% (#14641)
* Fix parts of #14219: Increasing backend test coverage of `core.storage.recommendations.gae_models_test` and `core.storage.subtopic.gae_models_test` to 100% (#14610)
* Fix part of #14219: Increasing backend test coverage of `core.domain.email_manager_test`, `core.domain.action_registry_test` and `core.domain.config_domain_test` to 100% (#14601)
* Fix part of #14219: 100% per-file backend test coverage for editor.py (#14594)
* Fix part of #14219: Increasing backend test coverage of `core.storage.config.gae_models_test`, `core.domain.html_validation_service_test` and `core.domain.stats_domain_test` to 100% (#14589)
* Fix part of #14219: Increasing backend test coverage of `core.storage.story.gae_models_test` to 100% (#14586)
* Fix part of #14219: Increasing backend test coverage of `core.storage.blog.gae_models_test` to 100% (#14585)
* Fix part of #14219: Increasing backend test coverage of `core.storage.audit.gae_models_test` to 100% (#14584)
* Fix part of #14219: Increasing backend test coverage of `core.domain.learner_goals_services_test` and `core.domain.recommendations_services_test` to 100% (#14582)
* Fix part of #14219: Increasing backend test coverage of `core.domain.param_domain_test` to 100% (#14581)
* Fix part of #14219: Increasing backend test coverage of core.storage.improvements.gae_models_test to 100% (#14580)
* Fix part of 14219: Increasing backend test coverage of `core.domain.rights_domain_test` to 100% (#14578)
* Fixes part of 14219: Increasing backend test coverage of `core.domain.taskqueue_services_test` to 100% (#14564)
* Fix part of 14219: Increasing backend test coverage of `core.domain.activity_domain_test` to 100% (#14558)
* Fix part of #14219: Increasing backend test coverage of `core.platform.storage.cloud_storage_emulator_test` to 100% (#14548)
* Fix part of #14219: Increasing backend test coverage of core.controllers.resources_test to 100% (#14541)
* Fix part of #14219: Increase backend test coverage of core.controllers.profile_test to 100% (#14529)
* Add support for E2E rerun overrides (#14508)
* Enable screenshots on the develop branch of oppia/oppia (#14473)
* Fix #12219: Migrate typescript tests to Github actions and filter circle ci tests to run only on develop branch (#14439)
Bug fixes
* Fixed #15009: Scroll to the top while navigating to the static pages. (#15010)
* Fix part of #14960: Center aligning this text with their images. (#14993)
* Fix failing mypy checks of `core.domain.rights_domain_test` (#14649)
* Fix shared component error for: Migrate delete-hint-modal.template, delete-interaction-modal.template, delete-last-hint-modal.template, delete-solution-modal.template, follow #14454 PR: (#14522)
Server Errors
* Fix #13624: Limit number of characters that can be entered in the skill description text field (#14940)
* Include additional data when error is thrown to better understand issue #14709 should it arise again (#14938)
* Fix #14711: Unsubscribe from observables to prevent detectChanges calls after component destruction (#14926)
* Fix #14710: Fixes `newWidgetSelector` being assigned null. (#14905)
* Investigating server error described in issue #14707 (#14887)
* Fix #14714: Modified conditional checks for adding content ids (#14867)
* Fixes #14713: ngModel:numfmt error in the editor page (#14850)
Python Migration
* Fix part of #13956: Migrate function python_utils.open_file (#14728)
* Fix part of #13956: Replaced python_utils.divide with "//" python3 operator (#14657)
* Fix part of #13956: Replaced python_utils.parse_query_string with urllib.parse.parse_qs (#14640)
* Fix part of #13956: python_utils.url_unsplit->urllib.unsplit (#14338)
* Fix part of #13956: Replaced python_utils.ZIP() with zip() (#14279)
* Fix part of #13956: Remove `yaml_from_dict` from python_utils.py (#13970)
v3.2.3 (10 Feb 2022)
------------------------
Learner/Creator Pages
* Fix #14693: Allows changing thumbnail background color. (#14783)
* Fix #14426: Resolved Multiple Choice Options Shuffling Between Attempts (#14777)
* Fix #14694: Stack skill name label and radio button container properly and add text explaining score calculation on the practice session results page (#14716)
* Fix #14683: Learner dashboard minor UI fixes for mobile view (#14688)
* Fix #14667: Adds I18N keys for preference page (#14685)
* Fixes unnecessary underlining on hover and focus on the top navigation bar (#14608)
* Changing the login overlay to have the new UI (#14607)
* Fix #14431: Resolves all navbar related fixes for rtl languages (#14559)
* Fix #14084: Allow resize image to 200%; Surface exp role editor error (#14557)
* Fix #14397 : Contributors page not found (#14540)
* Fix #14530: Change question-editor-container's position so it moves up when screen is scrolled (#14535)
* Change layout of exploration and collection cards on community-library for mobile UI (#14527)
* Fix #13680 Remove voice artists' role in the description text (#14463)
* Fix #14188: Fix the Score Circle on the results page so it animates properly (#14452)
* Implemented new navbar : Home navbar menu item (#14438)
* Fix #11898: Align social-media icons (#14436)
* Fix #14389: Increase HTML length validation check limits (#14391)
* Fix #14255 Added extra space at bottom of the story editor page (#14381)
* Implemented new UI for the 'Get Involved' Tab of the top navbar and fixes issue with keyboard navigation (#14345)
* Fix part of #14085: Making math interactions consistent with the android definitions. (#14197)
Data handling
* Fix #14751: Allow int in float ininstance checks (#14758)
* Fix translation stats job (#14554)
* Fix part of #13162: Add backend test and schema to validate StoryUrlFragmentHandler class arguments (#14489)
* Fix part of #14351: Extended Schema validator (#14465)
* Fix part of #13162: Add schema for ReviewableSuggestionsHandler (#14407)
* Add skill and story migration jobs (#14361)
* Fix Part of #13162: Add argument schema for ProfileHandler, SignupHandler classes (#14257)
Contributor Pages
* Fix #14669: Translation modal and other UI fixes in Contributor Dashboard Page (#14680)
* Fix #14519: Contributor profile page UI fixes (#14562)
* Fix #14230: Strip whitespace when comparing translation content html and exploration content html (#14396)
Developer UX
* Fix parts of #12912: Enables `useless-object-inheritance` (#14551)
* Fix part of #12912: Enables no-else-break pylint check (#14474)
* Upgrade libraries (#14430)
* Updates cron time for pending review notification (#14364)
* Upgrade libraries (#14236)
Python Migration
* Fix part of #14419: Refactor ValidationModes class and values (#14592)
* Fix part of #13956: remove python_utils.create_enum (#14301)
* Script for auto extending index.yaml (#14293)
Bug fixes
* Remove submodule (#14568) (#14569)
* Fixed #14510: Fixed working of delete answer group modal component (#14516)
* FE Flake in Router Service (#14318)
* Fixes few server errors and addresses some follow-up comments from #14352 (#14518)
Translations
* Routine update of translations. (#14789)
* Imlementation of Hacky translations for the all classroom related pages (#14631)
* Routine update of translations. (#14570)
Automated QA Team
* Fix part of #14219: Increasing backend test coverage of `core.controllers.library_test` to 100% (#14545)
* Fix part of #14219: Increasing backend test coverage of `core.controllers.questions_list_test` to 100% (#14538)
* Fix part of #14219: Increasing Backend Test Coverage of `extensions.rich_text_components.components_test` to 100% (#14528)
* Fix #14525: Fix incorrect error of no backend tests (#14526)
* Fix part of #14219: Write tests to fix 100% per file coverage for collection_domain.py (#14499)
* Fix part of #14219: 100% per-file backend test coverage for base.py (#14495)
* Fix part of #14219: Add a test to complete gae_models coverage (#14466)
* Fix part of #14219: Add tests to completely cover scripts/common.py (#14442)
* Fix part of #14187: Cover current-interaction and language-util services fully (#14434)
* Add e2e test to prevent supplemental cards regression (#14320)
* Add frontend test for schema-based-html-viewer.directive.ts (#14205)
Typing
* Added strict checking for more files (#14539)
* Fix part of #10474 : Make typescript checks strict for base-components/base.module.ts (#14513)
* Fix part of #10474 : Make typescript checks strict for editable-topic-backend-api.service.ts (#14459)
* Fix part of #14033: Type annotate improvements and feedback domain files (#14445)
* Fix part of #14033: Type annotate Classifier and Classroom domain (#14369)
* Fix part of #10474: Make typescript checks strict for core/templates/components/graph-services/graph-layout.service.ts file (#14311)
* Fix #14231: Added required strict typescript checks to import question-player-state-service (#14274)
Angular Migration
* Fix #14514: Remove dead code for voiceover tab on contributor dashboard page. (#14517)
* Fix #14502 & Fix part of #9749: use one modal for save-pending-changes-modal. (#14509)
* Fix #14501 & Fix Part of #9749: skill-prerequisite-skills-editor solved data not showing issue and moved it from angularJs to angular (#14505)
* Fixed part of #9749: Migrated skill-rubrics-editor component (#14500)
* Fixed part of #9749: Migrated Add-Worked Editor directive to component (#14490)
* Fix part of issue #9749: migrate forms-templates from AngularJS to Angular (#14488)
* Fixed part of #9749: Migrated misconception editor directive (#14487)
* Fix part of #9749: Migrated Add-worked-example and delete worked example modal (#14477)
* Fix part of #9749: Migrate save-pending-changes-modal.template (#14476)
* Fix part of #8472: Migrates exploration correctness feedback, exploration param changes, exploration param specs services. (#14475)
* Fix part of #9749: Migrate to skill-editor-save-modal.component (#14470)
* Fixed part of #9749: Migrated Add Misconception modal (#14467)
* Fix Part of #9749: Migrate delete-hint-modal.template, delete-interaction-modal.template, delete-last-hint-modal.template, delete-solution-modal.template into component (#14454)
* Fix part of #9749: Migrates topic-editor-send-mail, topic-editor-save, delete story modal (#14451)
* Fixed part of #9749: Migrated preview set parameter modal (#14435)
* Fix part of 9749: Migrate delete-answer-group-modal.template (#14429)
* Fixed part of #9749: Migrated revert-exploration-modal component (#14421)
* Fix part of issue #9749: migrate translation-tab TranslationTabBusyModal, DeleteAudioTranslationModal from angularjs to angular (#14411)
* Fix part of issue #9749: migrate welcome translation modal from angularjs to angular (#14410)
* Fixed part of #9749: Migrated add-hint-modal component (#14401)
* Fix part of issue #9749: migrate preview-summary-tile-modal to angular component and some services (#14388)
* Fix a part of #14278 : Exploration rights Service small important change in code (#14387)
* Fixed part of #8472: Migrated confirm-state-modal component (#14377)
* Fixed part of #8472: Migrated topic-editor-save-modal to Angular component (#14363)
* Migrate and encapsulate logic from conversation skin directive to ratings-and-recommendations component. (#14049)
* Fix Part of #9749: Migrates Creator-Dashboard-Page to Angular (#13906)
Release team
* Add notes to the release coordinator page (#14472)
* Fix problems in pre push hook (#14457)
Miscellaneous
* Fix #13162: Add schema and introduce new approach for saving multiple images in suggestion handler. (#14063)
v3.2.2 (05 Jan 2022)
------------------------
Learner/Creator Pages
* Fix breaking of navbar throughout all screen sizes (#14498)
* Fixes an issue where multiple calls where being made to the backend (#14460)
* Fix #14390: Concept cards have line breaks before and above them (#14443)
* Implemented new navbar : Home navbar menu item (#14438)
* Fix #14404: Fixes sidebar freezing behaviour (#14420)
* Fix #14011: Made misaligned subtopic tiles responsive (#14392)
* Fix #14304: Removed navbar links linking pages to new tabs (#14346)
* Implemented new UI for the 'Get Involved' Tab of the top navbar and fixes issue with keyboard navigation (#14345)
* Fix #14305: Change Foundation Page Title (#14329)
* Implemented the new UI for the Learn (formerly Classroom) Tab of the navbar and fixes #13667 (#14294)
* Adding a “Create exploration” button to the top bar of creator-dashboard (#14292)
* Fix part of #13764: page title fragment for web should have min-length 5 characters (#14264)
* Implemented new UI changes in side Navigation bar (#14258)
* Implemented donate nav item according to the new navbar view (#14232)
* Fix - Hints visible on results page, #13248: Adding href to topic viewer page urls (#14224)
* Fix issue #12165 overflow of skill description (#14203)
* Implemented the new UI for the results page (#14193)
* Add translation keys for interaction specific constant translations (#14158)
* Fix #14330: Pass isLearnAgainButton input to the progress-nav component (#14371)
* Fix mobile usability issues (#14198)
* Added confirmation before leaving practice tab to prevent accidental session close. (#14128)
Contributor Pages
* Add languages: Hausa, Igbo, Yoruba (#14378)
* Fix #14300 When the language is changed on the contributor dashboard, the view doesn't update for a while. (#14357)
* Fix #14339: Unblock translation review process from server error raised while fetching translations to review (#14341)
* Fix #14234 Unable to accept/reject a suggestions during reviews. (#14283)
* Fix #14265: Make translation language selector to show selected language correctly (#14268)
Data handling
* Add email job to registry (#14393)
* Add debugging to suggestions stats job (#14350)
* Fix part of #13162: Adds schemas for TopicsAndSkillsDashboardPageDataHandler, TopicAssignmentsHandler, SkillsDashboardPageDataHandler (#14323)
* Remove Brian for codeowners (#14319)
* Fix part of #13162: Added schema for the SkillRightsHandler and SkillEditorPage class in skill_editor.py (#14251)
* Fix part of #13162: Add schemas to validate ExplorationStartEventHandler and ExplorationActualStartEventHandler class arguments (#14222)
* Wipeout changes (#14221)
* Fix #13974: Remove unneeded constants (#14213)
* Fix #14103: Shifts handler schema constants to a separate file (#14212)
* Fix Part of #13162: Add argument schema for ExplorationCompleteEventHandler, ExplorationMaybeLeaveHandler, SolutionHitEventHandler classes (#14208)
* Fix part of #13162: Adds schema for the PromoBarHandler in resources.py (#14171)
Bug fixes
* Fix popperJS (#14386)
Python Migration
* Fixes part of #13956: python_utils.urllib_unquote (#14374)
* Fix part of #13935: Remove python_utils.url_parse function (#14336)
* Fixed part of #13956: Remove python_utils.zip_longest function (#14317)
* Fix part of #13956: Using Python3 urlrequest (#14303)
* Fix part of #13956: remove python_utils.string_io() and python_utils.url_open() (#14299)
* Fixed part of #13956: Remove python_utils.PRINT function (#14284)
* Introduce helper transforms for jobs (#14120)
* Fix part of #11314: Change "offset" from str to int, cursor to offset and address remaining TODO's (#14172)
Angular Migration
* Fix part of issue #9749: migrate setting-tab modals (delete, unpublish, reassign, ... ) to Angular Component (#14359)
* Fix part of issue #9749: migrate create new subtopic modal to angular component (#14347)
* Fix part of #8016: Migration of Exploration rights Service from AngularJS to Angular (#14278)
* Fix part of #8016: Make Http Calls of question-suggestion-review-modal.controller.ts and translation-suggestion-review-modal.controller.ts through service component. (#14246)
* Fix #9749: migrate Create feedback thread modal to angular component (#14269)
* Fixes part of #9749: Migrate few instances of angular-html-bind (#14263)
* Fix part of #8016: Make HTTP Calls of setting-tab.component.ts through service component (#14153)
* Fix Part of #9749: Migrates Collection-Player-Page to Angular (#12729)
Translations
* Routine update of translations. (#14349)
Developer UX
* Update CONTRIBUTING.md to be the same as our wiki (#14334)
* Fix part of #10616: Add eslint rule 'member-delimiter-style' (#14244)
* Fix part of #10616: Add eslint rule to ensure consistent type definitions (#14162)
* Fix some errors and omissions in the lint script. (#14321)
Miscellaneous
* Temporarily remove @BenHenning from codeowners (#14286)
* Remove myself from oppia-web CODEOWNERS (#14216)
* Use legacy cust args for v47 to v48 schema migration (#14352)
* Fix #14126: Pass the normalized values for url path elements to the handler (#14127)
Automated QA Team
* Fix part of #13467: Fixes frontend coverage issue with `save-validation-fail-modal.component.ts` (#14275)
* Fix part of #14187: Cover some files with frontend tests (#14242)
* Disable GPU for Selenium to try and fix renderer timeout (#14220)
* Fix part of #14187: Write frontend tests for some components (#14179)
* Fix #13952: Per-file backend coverage tests (#14166)
* Fix part of #10798: Fixed end-to-end tests for workflow.js (#14124)
Typing
* Fix part of #10474: Cover translate-text.service.ts and music-phrase-player.service.ts with strict checks. (#14201)
* Fix part of #8015: pretest-question-backend-api.service returns domain object instead of dict (#14192)
* Fix part of #14033: Added type annotations to wipeout_domain (#14163)
* Fix part of #10474: Typescript Strict Check for skill-backend-api.service.ts (#14137)
* Fix part of #14033: Type annotate opportunity domain (#14123)
* Fix part of #10474: Cover Top-Navigation-Bar component with strict checks (#14106)
* Fix part of #14033: Add Mypy type annotations to domain files (#14058)
* Fix part of #13687: Convert dicts to domain objects as a part of normalization through schema validation. (#13678)
v3.2.1 (27 Nov 2021)
------------------------
Learner/Creator Pages
* Fix #14227: Disable "Add Thumbnail" button when user has not uploaded new thumbnail (#14297)
* Fix #14235: Enable to submit question suggestions with image region interations (#14289)
* Fix #14228 and #14253: Set classroom filter choices in skills tab and fix change detection/propagation issue in the supplemental card component (#14270)
* Fix #10315, #14200: Fixes white spacing issues in RTE (#14233)
* Fix submitting answers using 'enter key' in Interactions. (#14195)
* Add same padding on both top and bottom of drag and drop answer fields. (#14191)
* Fix #14009: adds animation to topic navbar and fixes background banner. (#14184)
* Fix part of #12858: Add Dutch, Slovak and Ukrainian to the list of site-supported languages. (#14183)
* Fix #14055: Disables making changes to topic if user has no topic rights. (#14139)
* Fix skill edit editor lag issue (#14129)
* Fix part of #13764: Add frontend validation checks for exploration tags (#14119)
* Learner dashboard fixes (#14105)
* Learner dashboard fixes (#14101)
* Fix part of #13764: Add validation checks for Outcome, Hint and Solution Explanation (#14035)
* Fix #14007: Removed extra dropdown icon from admin page navbar (#14008)
* Fix part of #13380: Fixed exploration player rtl formatting issues (#13980)
* Scale and center SVG in the editor (#14178)
* Fix #12452 and #13358: Guppy Configuration Service (#14138)
* Fix part of #13764: State content should be a valid HTML string with at most 10,000 characters (#13918)
* Fix part of #13603: Validation for Continue, Text Input, Multiple Choice Interaction (#13838)
Angular Migration
* Fix #14225: Move modal creation logic from service to component for remove from play later playlist modal (#14291)
* Fix part of #9749: Migrate few instances of angular-html-bind (#14263)
* Migrate confirm discard change modal template (#14167)
* Fix part of issue #9749: migrate exploration-publish-modal to angular component (#14152)
* Fix part of #8016: Make Http Calls of history-tab.component.ts through service component (#14111)
* Fix #14052: Introduce i18n service for encapsulating all translation logic (#14099)
* Fix part of #9749: Migrates editor reloading modal to angular (#14089)
* Fix part of issue #9749: migrate post-publish-modal to angular component (#14079)
* Fix part of #8472: Migrate question player state service (#14074)
* Fix part of #9749: Migrates welcome modal to angular (#13890)
* Fix part of #9749: Migrates Score-Ring, Concept-Card, Completion-Graph to Angular (#13837)
* Fix part of #9749: Migrate tutor card directive (#12892)
* Fix part of #9749: Migrate Progress nav directive (#12864)
Contributor Pages
* Fix #14234 Unable to accept/reject a suggestions during reviews. (#14283)
* Add Azerbaijani language to contributor dashboard. (#14273)
* Fix #14265: Make translation language selector to show selected language correctly (#14268)
* Fix translation stats job to work with sets (#14254)
* Fix #14189: Make translations editable for reviewers (#14194)
* Fix part of #14072, 14027: Surface submit translation suggestion errors and admin dashboard cleanup (#14151)
* Fix #13440: Make it clearer what language is being translated (#14104)
* Fix #14004 Handle frontend display of skill opportunities correctly (#14097)
* Fix part of #12013: Update exploration changed UI to make old content less ambiguous (#14047)
* Fix #13833: Disables 'Translate' button when all translations are in review (#13972)
* Fix #12181: [Contributor Dashboard] Allow filtering of translation opportunities by topic (#13539)
Bug fixes
* Fix lang param not working due to mulitple lang cookies. (#14266)
* Fix tasks on production (#14176)
* Fix multiple production issues (#14164)
* Address comments from PR 14101 (#14142)
Data handling
* Add voiceover admin role to admin user (#14252)
* Update note for pre-deletion page. (#14181)
* Fix part of #13162: Add argument schema for ReleaseCoordinatorPage, JobsHandler, JobOutputHandler, MemoryCacheHandler classes. (#14175)
* Fix part of #10474: Made typescript checks strict for display-solutio… (#14051)
* Fix part of #13162: Add schema for PretestHandler, StorePlaythroughHandler, and StatsEventsHandler. (#14046)
* Fix #12297: Use Firebase Session Cookie for PlatformFeatureService.sa… (#14002)
* Fix part of #13162: Add schema for handlers in story_editor and story_viewer (#13914)
* Fix part of #13162: Add argument schema for LearnerIncompleteActivityHandler, RatingHandler and FlagExplorationHandler classes (#14131)
* Add schema for subscribe, unsubscribe handlers. (#13995)
Python Migration
* Introduce Cloud Logging (#14185)
* Refactor future imports and MyPy typing (#14132)
* Update setup.py version on new release (#14062)
* Fix part of #13956 : Handle ExitStack without python_utils (#14037)
* Fix small Python 3 migration issues (#14005)
* Fix part of #13956: python_utils.with_metaclass (#13998)
* Fix #13956: Migrate python_utils.redirect_stdout to Python 3 function (#13997)
* Fix #13956: Remove the use of python_utils.OBJECT (#13996)
* Fix part of #13956: Remove python_utils.nullcontext (#13993)
* Fix part of #13956 and fix #11547: Remove python_utils.reraise_exception (#13992)
* Give jobs a standard module and naming convention (#13989)
* Fix part of #13956: Remove python_utils.url_split (#13987)
* Fix part of #13956: Remove python_utils.RANGE variable (#13983)
* Fix part of #13956: python utils.url_encode-->urllib.parse.urlencode (#13978)
* Fix part of #13956: Removed the ROUND variable and its references (#13976)
* Fix part of #13956: Replace python_utils.MAP, python_utils.NEXT with map, next (#13969)
* Fix part of #13956: python_utils.url_quote->urllib.parse.quote (#13964)
* Fix part of #13935: Handle input without python_utils (#13955)
* Remove enforcing python_utils function usage from pylint (#13954)
* Fix part of #13935: Handle str and bytes without python_utils (#13882)
Miscellaneous
* Fix #14116: Fix typo in core/controllers/admin.py (#14117)
* Fix part of #8668: Document suggestion-modal.service.ts file (#14125)
Typing
* Fix part of #14033: Type annotate value_generators_domain (#14180)
* Fix part of #10474: Cover profile-page-backend-api.service with strict checks (#14140)
* Fix part of #10474: Fixing typescript strict checks issues for StoryObjectFactory.ts (#14134)
* Fix part of #14033: Type annotate rights_domain (#14108)
* Fix part of #14033: Type annotate learner progress domain files (#14093)
* Fix part of #10474: Made typescript checks strict for exploration-foo… (#14045)
* Fix #10474: cover autogenerated audio player service (#14043)
* Fix part of #10474: Enable strict mode in subtopic.model.ts (#14039)
* Fix part of #14033: Type annotate activity_domain file (#14034)
* Fix part of #10616: Introduced typescript-eslint/method-signature-style rule (#13922)
* Fix part of #10474: Cover more files with strict checks (#13876)
* Fix part of #10474: Made typescript checks strict for filtered-choices-field.component.ts and spec (#13819)
* Fix part of #14033: Mypy type annotations added to takeout_domain and translation_domian (#14149)
* Introduce MyPy reviewers (#14135)
* Change codeowner for mypy script and add directories to mypy denylist (#14032)
Release team
* Fix issues in release (#14174)
Developer UX
* Fix #14094: Reinstate codeownership of learner analytics files. (#14160)
* Fix `--save_datastore` flag in start command (#14133)
* Fix #14080: Pip index global config bug (#14112)
* Add code to help with the Python 2 unavailable issue (#14076)
* Fix part of #10616: Introduce @typesctript-eslint rules that extend eslint rules (#14029)
* Make output from scripts/typescript_checks.py pretty (#14025)
* Fix part of #13956: python_utils.url_retrieve->urllib.request.urlretrieve (#13990)
* Adds quote before the message to fix no message issue (#13984)
* Fix part for #13956: Removes "python utils.url_unquote_plus" (#13981)
* Fix part of #10616: Introduced typescript-eslint/consistent-type-assertions rule in the codebase (#13942)
* Fix #13872: Brave browser support added for development server (#13873)
* Fix part of #10474: Oppia-Response-Code-Repl with strict checks (#13768)
* Add "pending review notification" workflow (#14100)
* Change pending review notification workflow config to run on workflow_dispatch event (#14177)
* Fix part of #13467: Coverage flake in edit-profile-picture-modal.component (#14088)
Automated QA Team
* Quote webhook url in action (#14145)
* Fix part of #10798: Fix end to end tests for SkillEditorPage.js (#14114)
* Fix #14090: Tighten rerun policies based on failure rates (#14092)
* Consolidate Backend Tests (2nd PR) (#14081)
* Fix #10798: End-to-End Tests with action.js and waitFor.js in TopicsAndSkillsDashboardPage.js (#14077)
* Fix #14057: Change List Service [Coverage-Flake] (#14068)
* Fix error message when user needs to set chromedriver version (#14053)
* Resolve `getValidationIssues` E2E flake (#14038)
* Fix part of #10798: Fixing End-to-End Tests with action.js and waitFor.js for forms.js (#13924)
Translations
* Routine update of translations (#14065)
* Routine update of translations (#14182)
v3.2.0 (28 Oct 2021)
------------------------
Learner/Creator Pages
* Add language parameter to URL (#14023)
* Fix #11932: Sort translation opportunities by topic (#13916)
* Link concept card when user is not signed in (#13898)
* Fix timeout issue in learner dashboard (#13857)
* Fix part of #13327: Improvements in the blog dashboard interface (#13817)
* Fix part of #13764: Skill misconceptions must have unique names (#13816)
* Fix part of #13764: Thumbnail filename validation check (#13807)
* Fix part of #13449: Image Caption and Skill Review Text Validation Checks (#13785)
* Fix part of #13764: Exploration title should have max length of 36 (#13777)
* Fix #13691: Added default init value for position of terms (#13706)
* Add event listener to avoid navigation when offline and disable tabs which are not workable offline (#13698)
* Move all the new components to the learner dashboard folder (#13690)
* Add pages to lighthouse and adds e2e tests for blog dashboard (#13683)
* Fix part of #13603: Interaction validation for EndExploration (#13604)
* Fix part of #13449: RTE validation for Image alt tag (#13593)
* Fix #13531 and #13586: Add translation keys for more user facing texts (#13591)
* Add a form to update blog author and publishing date (#13590)
* Allow marking translations as stale in the editor (#13584)
* Complete the blog dashboard frontend (#13575)
* Enable editor tab to work offline and save changes when there is reliable network source (#13544)
* Add blog post editor (#13522)
* Redesign and update the Learner Dashboard Page E2e tests (#13518)
* Redesign and update the Learner Dashboard Page (#13515, #13513)
* Add Customization_Arg to Numeric Input (#12992)
* Remove logicProof Interaction (#13336)
* Add SameSite=None and Secure to cookie options to support iframe (#13623)
Bug fixes
* Fix #14019: Save topic draft without commit message (#14096)
* Adds missing styles to story viewer page (#13904)
* Secure manual URL redirection in the frontend (#13892)
* Fix #13850: Lazy loaded pages are scrollable now on mobile device (#13851)
* Fix failing lint check introduced by #13681 (#13759)
* Fix RTL for bullet points in editor; Fix CD emails bug (#13727)
Contributor Pages
* Fix #12888: Improve status of translation progress bar (#13835)
* Fix #12013: Show latest exploration content in translation review modal (#13946)
* Use supported languages list when computing incomplete translation languages on opportunity update (#13902)
* Fix #13657: Fetch additional skill opportunities to fulfill page size as necessary (#13783)
* Fix #11735: Allow reviewers to edit question suggestions (#13742)
* Fix #12959: Enable translations of rules in the contributor dashboard (#13580)
* Fix part of #13475: Only create exploration opportunities for published stories (#13529)
* Send CD emails to admins based on suggestion type; Empty translations should show in CD (#13615)
Data handling
* Include deletion of TranslationContributionStatsModel in Wipeout (#14006)
* Fix part of #13162: Add argument schema for ProfilePictureHandler and ProfilePictureHandlerByUsernameHandler (#13772)
* Fix part of #13162: Adds schema for the DeleteAccountHandler (#13767)
* Add schema for platform_feature and practice_sessions modules (#13481)
* Add schema for improvements, features and review_tests modules (#13456)
* Add schema for email_dashboard and feedback modules (#13450)
* Add schema for editor and library modules (#13422)
* Fix android #3016: Create domain object, domain services, cron scrubber, and controller for receiving feedback reports (#12367)
Release team
* Fix build and release scripts (#14000)
* Change link to the release rota wiki (#13870)
* Fix #13717: Refactor site analytics service and introduce a mock gtag function when app can't send analytics. (#13718)
Python Migration
* Fix #11465: Migrates the codebase from Python 2 to Python 3 (#13395)
* Fix part of #13956: Remove is_string and get_args_of_function from python_utils.py (#13973)
* Fix part of #13956: Remove python_utils.url_join (#13971)
* Add opportunity summary job (#13948)
* Schedule Apache Beam jobs with CRON (#13947)
* Introduce pip package beam (#13938)
* Complete the API of Apache Beam jobs (#13913)
* Improve performance of Beam Jobs tab (#13874)
* Add refresh interval for beam jobs tab (#13855)
* Use Dataflow Library to query status of Dataflow Jobs (#13845)
* Add prod-behavior for running Apache Beam jobs (#13812)
* Implement job generating translation contribution stats (#13811)
* Fix organization of Beam Jobs (#13771)
* Implement job generating exploration recommendations (#13754)
* Implement job collecting weekly dashboard stats (#13749)
* Implement job indexing explorations in search (#13740)
* Fix part of #11475: Implement Apache Beam jobs tab for DEV mode (#13662)
* Implement Python 3 related changes release cut and hotfix (#13669)
Developer UX
* Only report frontend test status on failure (#13943)
* Remove terser from build (#13899)
* Upgrade libraries (#13867)
* Send notification to chat-room for frontend test failure on develop (#13866)
* Fix part of #11496: Introduce lint check for no use of forEach (#13844)
* Add .python-version dynamically created file to .gitignore (#13770)
* Add libbz2-dev to install_prerequisites.sh (#13750)
* Fix gunicorn workers not properly exiting (#13746)
* Update tsconfig-strict to cover more directories (#13707)
* Upgrade frontend and backend libs (#13682)
* Fix #13664: Remove sudo from pip install (#13661)
* Increase max-old-space-size for karma process to 4096 MB (#13616)
* Fix the lint issue: 'use {} instead of dict()' (#13720)
* Fix #13150: Upgraded guppy to the latest version (#13962)
* Replace SVG parsing library with a more robust one (#13791)
Automated QA Team
* Fix #13889: Gracefully handle missing backend library in pre-push (#13963)
* Fix flaky test checking window narrowness (#13951)
* Fix #10798: Fix e2e tests for ExplorationEditorPage.js (#13937)
* Fix #10798: Fix e2e tests for StoryEditorPage.js (#13931)
* Fix part of #10798: Use action.js and waitFor.js in TopicEditor.js (#13887)
* Fix part of #10798: Fix e2e tests for ExplorationEditorTranslationTab.js (#13856)
* Fix #13741: Do not merge from develop in backend CI workflow (#13854)
* Fix undefined message mismatch and failure to set URL (#13842)
* Output backend test and installation messages as unicode instead of bytes (#13836)
* Resolve "Expected False to equal to True" flake in topicAndStoryEditor.js (#13804)
* Decode result from run_cmd with UTF-8 (#13792)
* Check memory usage of e2e runs (#13781)
* Resolve "Expected 0 to equal 1" flake in creatorDashboard.js (#13780)
* Resolve "'Type a number' to equal 'Ingresa un n��mero'" flake in users suite (#13765)
* Fix site-analytics-service frontend flake (#13731)
* Add remaining tests to fix flake for top-navigation-bar.component.ts (#13685)
* Fix part of #13467: Fix the conversation-skin.directive frontend test flake (#13675)
* Explain why an e2e suite does not get rerun (#13665)
* Add e2e to check the feature that enable offline exploration editing (#13597)
* Add unit tests and converted AJS directives to AJS components (#13587)
* Fix part of #4057: Fully cover player-correctness-feedback-enabled.service.ts (#13519)
Miscellaneous
* Fix #13864: Remove empty cards from settings tab (#13945)
* Fix #13153: Use different color for CTA 'go' (#13941)
* Fix #13723: Do not redirect partially-logged-in users from /logout (#13729)
* Fix #13724: Hide username validation error once username is valid (#13728)
* Add about foundation page (#13643)
* Add volunteer page (#13488)
Angular Migration
* Fix part of #9749: Migrate rating display directive (#13907)
* Fix part of #9749: Migrate state-diff-modal.controller into angular component (#13805)
* Fix #13656: Make Topic Landing Pages accessible (#13671)
* Fix #13619: Remove Google Analytics require from mock-ajs.ts and introduce a common import file (#13640)
* Migrate signup page to angular router (#13582)
* Fix part of #9749: Migrate subtopic viewer page (#13538)
* Fix part of #9749: Migrate email dashboard pages to angular (#13537)
* Migrate more pages to angular router (#13533)
* Fix part of #9749: Migrate collection editor page (#13514)
* Fix part of #9749: Migrate supplemental card directive (#12918)
* Fix part of #9749: Migrate learner view info directive (#12863)
* Fix part of #9749: Migrate topics and skills dashboard page (#12563)
Typing
* Add type annotations for platform.auth and platform.search (#13629)
* Add type annotations (#13589, #13565, #13524)
* Introduce generics for ndb.Query (#13865)
* Remove casts to `Key` by modyfing stubs (#13756)
* Add proto generated TS to tsconfig strict (#13748)
* Fix mypy in platform folder (#13695)
* Fix part of #8423: Change Python 2 styled type annotations to Python 3 style (#13681)
* Fix part of #13637: Remove interstitial Skills, SkillRights and ConceptCard (#13638)
* Update set/getPageTitle to set/getDocumentTitle in PageTitleService (#13684)
* Fix part of #10474: Cover some files with TS strict checks (#13598, #13578, #13555, #13520)
* Fix part of #10474: Enable strict typescript checks for some files (#13585, #13532, #13459, #13633)
Translations
* Routine update of translations (#13692)
* Allow marking individual translations as stale (#13776)
* Fix #13568: Numeric captions in images are ignored for translation validation (#13577)
v3.1.4 (01 Sep 2021)
------------------------
Contributor Pages
* Fix #12276: Hide action button for submitted suggestions when their corresponding opportunities are deleted (#13738)
Translations
* Routine update of translations. (#13517)
Developer UX
* Fix part of #10474: Enables strict typescript checks for some files - (2.5) (#13532)
* Update PULL_REQUEST_TEMPLATE.md (#13530)
* Update oppiabot to v1.4.0 (#13512)
* Fix part of #10474: Enables strict typescript checks for some files - (2.3) (#13473)
* Fix part of #10474: Made strict typescript checks for image-upload-helper (#13466)
* Fix part of #10474: Cover ExplorationImprovementsModel with strict TypeScript checks (#13457)
* Fix part of #8423: Implement lint check for keeping element selectors at the tops of files. (#13441)
* Fix Part of #10474: Cover some files with TS strict checks - 11 (#13426)
* Migrate "disallow bypassSecurity" regex check to eslint (#13424)
* Fix part of #10474: Enables strict typescript checks for some files - (2.2) (#13394)
* Fixes part of #10474: add some files in ts-strict (#13369)
* Fix Part of #10474: Cover some files with TS strict checks - 10 (#13368)
* Fix part of #10474: Enables strict typescript checks for some files - (2.1) (#13354)
* Fix #13071: Removes logging unwanted errors in frontend test (#13253)
* Fix #13326: Removes the unwanted bypass import-only-modules flag (#13495)
* Updates codeowners for jobs/transforms and jobs/types folder (#13482)
* Adds schema in custom_landing_pages and pages modules. (#13478)
* Updating codeowner (#13464)
* Add frontend-test-reviewers team to codeowners file (#13458)
* M2.1: Add type annotations (#13413)
* Added unit tests for the following files (#13409)
* Allow users to have multiple roles and removes banned role (#12989)
Data handling
* fixes part of #12792 implement the _get_change_domain_class for topic, subtopic validation (#13384)
* Adds schema for handler classes creator_dashboard, learner_dashboard, learner_playlist modules (#13355)
* fixes part of #12792 implement the _get_change_domain_class for skill, story validation (#13307)
Miscellaneous
* Fix #13723: Do not redirect partially-logged-in users from /logout (#13729)
* Fix #13447: Removes roles related flags from the response (#13511)
* Revert "Fix part of #9749: Migrate library page." (#13497)
Bug fixes
* Fix interpolation of html tags on get started page. (#13433)
* Fix coverage flake introduced in #13219 (#13419)
Learner/Creator Pages
* Milestone 2.3: Adds Blog Card And Parts of Blog Dashboard Page (#13472)
* Consolidate Image RTE components (#13485)
* Initialise Carousel after library page data has loaded (#13751)
* Fix part of #13449: RTE validation for checking if the url for a link begins with https:// (#13536)
* Components and modals on the exploration editor page will be preloaded. [Milestone2.1] (#13407)
* Redesigning and Updating the Learner Dashboard Page Milestone-2.2 (#13402)
* Only include images from the current exp version for download (#13527)
* Fix refresh of page when hitting enter on a TextInput interaction (#13634)
* Send CD emails to admins based on suggestion type; Empty translations should show in CD (#13615)
* Update tsconfig-strict to cover directories (#13551)
* Fix #13509: Bug fixes related to item select (#13526)
* Fix #13655 and #13639 (#13715)
* Fix #13653, #13630, #13666, #13651 (#13713)
* Fix #13691: Added default init value for position of terms. (#13706)
* Fix #13545, #13546, #13547: Fixes editor facing bugs (#13583)
* Fix #13168: dnd rule editor issues (#13558)
* Fix #13220: Math interaction regex fix for Safari (#13553)
* Fixed failing skill-mastery test (#13510)
* Added subtopic mastery handler (#13468)
* Milestone 2.2: Adds Backend Api services for blog dashboard. (#13439)
* Add SameSite=None and Secure to cookie options to support iframe (#13623)
* Add Google Analytics require to mock-ajs (#13620)
* Logic proof job (#13618)
Angular Migration
* Fix #13656: Make Topic Landing Pages accessible. (#13671)
* Migrate Library page (#13498)
* Migrate 14 static pages to angular router. (#13483)
* Fix part of #9749: Migrate Stewards landing page (#13415)
* Fix part of #9749: Migrate Signup page (#13414)
* Fix part of #9749: Migrate library page. (#13412)
* Remove angularjs from 9 more pages (#13367)
* Introduce angular router (#13305)
Automated QA Team
* Fix #13757: Fix rubric alignment when submitting questions (#13758)
* Frontend Unit Tests(8): Add frontend tests for multiple files (#13535)
* Tighten rerun policies based on e2e metrics (#13505)
* Frontend Unit Tests(7): Add frontend tests for multiple files (#13503)
* Frontend tests for topic-editor-navbar.component (#13501)
* Fixing the Embedding flake (#13493)
* Resolving "Creating topic takes too long" in topicAndStoryEditor.js (#13492)
* Added units tests for outcome-destination-editor & state-hints-editor (#13479)
* Frontend Unit Tests(6): Cover multiple component files (#13476)
* Fix #13421: Run backend tests in core/tests (#13470)
* Resolving "https://pencilcode.net/lib/pencilcodeembed.js - Failed to load resource: net::ERR_CERT_DATE_INVALID" error (#13455)
* Fixing a Flake in Topic and Story Editor File Upload Features (#13446)
* Fixed the E2E flake introduced in #13325 (#13445)
* Added tests for question-editor & outcome-editor (#13442)
* Fix #12993: Restore @U8NWXD as codeowner (#13428)
* Frontend Unit Tests(5): Cover multiple component files (#13423)
* Added unit tests for version-diff-visualization & rule-editor (#13418)
* Add unit test for top-navigation-bar and fix flake (#13286)
* Fix part of #13467 Fixes frontend test flake in noninteractiveimage.component (#13525)
* Fix #13249: Fix mypy pre-push checks (#13490)
* Added unit tests for conversation skin directive (#13432)
v3.1.3 (07 Aug 2021)
------------------------
Contributor Pages
* Fix #13148: Handle unicode translation suggestions correctly (#13387)
* Fix language selection dropdown change detection issue (#13316)
* Fix #12184: Add domain layer and frontend changes for surfacing translation contribution stats (#13285)
* Fix #11881: Consolidate add/remove contribution rights controller handlers (#13279)
* Fix part of #12184: Create translation contribution stats storage model and corresponding population one off job (#13201)
* CP fixes for June release (#13198)
* Fix #13055: Don't make numeric content eligible for translation in contributor dashboard (#13056)
* Fix #12221: Only show skill/question opportunities for topics that are part of a classroom (#12982)
* Fix #12960: Add Spanish and Portuguese translation tips to contributor dashboard (#12975)
* Adds contributor dashboard admin roles and relevant page for the user with this new role (#12916)
Angular Migration
* Fix part of #9749: Migrates Subtopic Summary Tile to Angular (#13386)
* Fix part of #9749: Migrate Preferences page (#13219)
* Fix part of #9749: Migrate classroom page. (#13127)
* Fix part of #9749: Migrate Admin page. (#13125)
* Fix part of #9749 Migrated Services and Modals for Exploration Editor Page (#13107)
* Remove angularjs from 11 pages. (#13098)
* Fix #12855: Remove unused angularjs libraries: angularjs headroom, toastr and ngAudio (#13082)
* Remove angularjs from about page. (#13073)
* Fix part of #10700: Refactor Object Factories for StateCard (#13028)
* Fix part of #10700: Refactor Object Factories for Fraction (#13024)
* Fix part of #9749, #8473: Migrate part of topic editor page. (#12878)
* Migrate Interactions: Numeric Expressions Input (#12753)
* Fix Part of #9749: Migrates Thumbnail-Uploader to Angular (#12667)
Miscellaneous
* Fix #12736: Restore codeowners (#13283)
* Update CODEOWNERS for going away (#13121)
* Added Mailchimp API integration for mailing lists (#12373)
* Add back ngx-mat-select-scroll to package.json (#13364)
Data handling
* Fix wipeout on test and backup server (#13383)
* hide logic Proof in front end (#13372)
* Adds schema for collection_editor (#13343)
* Fix part of #12792 implement the _get_change_domain_class for config, question validation (#13273)
* Fix part of #12792 implement the _get_change_domain_class for collection validation (#13247)
* Adds schema for handlers concept_card_viewer & contributor_dashboard modules (#13225)
* Adds schema for handlers in moderator, collection_viewer & cron modules (#13224)
* Adds schema for handlers admin, classifier, & classroom modules (#13223)
* Schema-Validation-System(SVS) architecture (#13065)
* Fix part of #12568, #11475 implement the _get_change_domain_class for exploration validation (#12999)
* Allowing deprecated commands in validation (#12990)
* Normalizing with given default_value for arguments by SVS architecture. (#13370)
* Fixes Typescript issue in oppia-short-response-mulitple-choice-input.component and mypy issue in schema_utils.py (#13335)
* Update schema validation service architecture for handling cases of different args in same request method (#13277)
* FIx part of #12688 add relationshipsof for user model (#13063)
* Fix #13054: Adding support for running backend type checks (#13060)
* Fix failing stict_typescript_checks on develop (#13191)
* Adds logic to handle request method (#13274)
* Fix #13239 and #13171: Adding type annotations to root files and fix constants errors with mypy (#13269)
* Adds new handler class name in HANDLER_CLASS_NAMES_WHICH_STILL_NEED_SCHEMAS (#13264)
Developer UX
* Migrate "disallow HttpClient" regex check to eslint (#13405)
* Remove unused templateUrl lint check (#13404)
* Migrate "disallow relative import in require" regex check to eslint (#13375)