forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
6477 lines (5687 loc) · 352 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This file contains a summary of changes to the Oppia code base.
v3.0.2 (01 Sep 2020)
------------------------
Learner/Creator Pages
* The topic description breaks word randomly, fixing word break css. (#9789)
* Revert "Milestone 1.2 and 1.3: SVG generation for new entities." (#9795)
* Adds bezier curve tool to svg editor (#9927)
* Revert #9744: Fixes #7690, #9632: When updating an exploration, commit all new models transactionally (#9948)
* Added functions for generating math SVGs in exploration (#9985)
* Milestone 2.3: Adds an on-screen keyboard for math interactions. (#9978)
* Seperating the main story editor and the chapters list into different cards in the story editor. (#9965)
* Adding reorder/drag-drop feature for subtopics in the topic editor. (#9955)
* Making UI improvements to the topic and subtopic editor. (#9954)
* Fix #9904: Add check and validation to fix concept card issues. (#9910)
* Fix #9838, #9877, #9801 and #9819: Topic, subtopic and story viewer changes, trailing whitespace in RTE content and skill editor changes (#9907)
* Improving the subtopic editor UI, preview tab and adding mobile view for subtopic editor and preview tab of subtopic editor. (#9901)
* Fix #9837, #9834, #9833 Fixing merged skills persist, topic warning is cut-off, topic description typo. (#9896)
* Adding reassign modal to add skills to subtopics globally, and made UI upgrades to topic editor. (#9895)
* Added one-off job and temporary model for helping in image generation of Math explorations (#9889)
* Milestone 2.2: Upgrade explorations that use the old math interaction. (#9863)
* Adding the functionality to reorder skills in the subtopic editor, by dragging and dropping. (#9852)
* Upgrading the preview tab UI for subtopic editor (#9829)
* Milestone 2.1: Added Numeric Expression Input Interaction. (#9822)
* Adding Functionality to get number of question assigned to skill with given ids. (#9816)
* Increase ExplorationMigrationJobManager sharding to 64 and adds check to prevent processing of private explorations for DragAndDropSortInputInteractionOneOffJob (#9815)
* Generate SVGs for math-expressions created for all the new entities (#9805)
* Complete the classroom page and add a topic summary regeneration job (#9778)
* Fix 9756, 9755 Fixing error in deleting skill (#9769)
* Svg diagram editor rte bug fixes (#9763)
* Add e2e tests to svg editor rte (#9745)
* Fix part of #8015: skill-mastery-backend-api (#9430)
* Fix #10264 and Adding support for adding prerequistie skills for chapter editor. (#10413)
* Adding destination ids to story nodes (#10412)
* Fix #10266, #10259 Fixing overflow bug and thumbnail preview improvements. (#10371)
* Fix #10324: Fixing exploration breaks on new card when name gets too big. (#10346)
* Add redirection with lowercase url_fragment (#10304)
* Fix the failing of SuggestionSvgFilenameValidationOneOffJob job on the test-server (#10302)
* Fix #10229: Fixes bugs related to the new math interactions. (#10269)
* Add math RTE to VALID_RTE_COMPONENTS whitelist (#10226)
* Added generation functions for math latex svgs suggestions (#10203)
* Add link to Oppia avatar images (#10179)
* Fix #10128 and Automate generation of SVGs in explorations (#10158)
* Fix #10126: Making UI improvements to the editor pages. (#10137)
* Fix #10037: Adds a customization arg for math interactions. (#10136)
* Added audit jobs to find math latex strings without svgs in topics, skills, questions and stories (#10135)
* Introduce url_fragment for stories and subtopics (#10134)
* Add pie chart tool to svg editor (#10099)
* Adding the mobile view for story editor and the chapter editor. (#10046)
* New URL changes (#10041)
* Upgrading the create chapter modal UI to include explorationID and thumbnail image. (#10040)
* Changing the Create story modal to include description and thumbnail. (#10034)
* Fix #10020: Making UI fixes for the topic editor page, skill editor page, subtopic editor page. (#10027)
* Creating a seperate chapter editor, and adding the top blue navigation bar. (#10026)
* Adding functionality to reorder chapters inside a story. (#10010)
* Fixes #9970 - Implement new role "Learner" for profiles (#10007)
* Improving the UI of the subtopic page, reassign modal, and the top blue navbar. (#10006)
* Fix feedback reply issues on editor page (#10130)
Contributor Pages
* Fix #9638: Update "community dashboard" usages to "contributor dashboard" (#9983)
* Fix #9637: Do not display empty translation texts for translation opportunities (#9981)
* Fix #9640: Fixed the language dropdown not disappearing for the 'View Community Reviewers' section of admin page (#9949)
* Fix #9902: Fixed the viewing community reviewers by role dropdown not populating, e2e tests added (#9941)
* Fix #9639: prevents trying to access fields of a null pointer when rendering exploration opportunities (#9849)
* Fix #9500: Load dummy new structures data from admin page now populates translation opportunities. (#9848)
* Fix #9634: Reject question suggestions upon corresponding skill deletion. (#9839)
* Fix #9676: update exception output to print useful stack traces in suggestion.py (#9750)
* Fix #9509: Set empty user IDs for question suggestions to None instead of empty strings (#9511)
* Fix #9635: Marks translation suggestions as rejected when an exploration is removed from a story. (#10024)
* Fix #9636: Marks translation suggestions corresponding to a topic rejected whenever the topic is deleted. (#10022)
Lesson analytics
* Fix part of #7100: updated audit job for PlaythroughModel (#9546)
* Gather improvements-related config into a controller/service API (#9998)
* Introduce ExplorationImprovementsTaskRegistryService (#9881)
* Add stronger typings to Exploration tasks (#9800)
* Delete deprecated improvements tab logic (#9787)
* Deprecate BarChart visualization (#10095)
QA Team
* Fix #9052: Disable E2E Test Sharding by Default (#9793)
* Fix e2e test issue for preference suite (#9897)
* Revert "Milestone 2 - Fully cover 10 controllers (Part 2) FIX (#9873)" (#9931)
* Changing directives to components and test all to get 100% coverage (Part 3) (#9979)
* Milestone 2 - Changing medium directives to components and test all to get 100% coverage (Part 2) (#9961)
* Milestone 2 - Fully cover 10 controllers and fix timezone problem in unit tests (#9935)
* Milestone 2 - Changing medium directives to components and test all to get 100% coverage (Part 1) (#9934)
* FIx #9052: Add Portserver to E2E Tests (#9921)
* Milestone 2 - Changing directives to components and test all to get 100% coverage (Part 3) (#9913)
* Milestone 2 - Changing directives to components and test all to get 100% coverage (Part 4) (#9909)
* Move Flaky CircleCI E2E Tests to TravisCI (#9892)
* Milestone 2 - Fully cover 10 controllers (Part 2) FIX (#9873)
* Revert "Milestone 2 - Fully cover 10 controllers (Part 2)" (#9866)
* Milestone 2 - Changing directives to components and test all to get 100% coverage (Part 2) (#9861)
* Milestone 2 - Changing directives to components and test all to get 100% coverage (Part 1) (#9850)
* Milestone 2 - Fully cover 1 controller (Part 4) (#9832)
* Fix #9686: Fixing coverage of question creation service. (#9788)
* Milestone 2 - Fully cover 5 controllers (Part 3) (#9783)
* Milestone 2 - Fully cover 10 controllers (Part 2) (#9752)
* Milestone 2 - Fully cover 8 controllers (Part 1) (#9741)
* Fix #10106: Fully cover editor-navigation component (#10169)
* Change $scope for ctrl in test-interaction-panel (#10117)
* Milestone 2 - Test hard directives to get 100% coverage (Part 4) (#10103)
* Milestone 2 - Changing hard directives to components and test it to get 100% coverage (Part 3) (#10080)
* Fixing general e2e flakes for topics and skills dashboard. (#10075)
* Milestone 2 - Changing medium directives to components and test all to get 100% coverage (Part 2) - FIX (#10073)
* Milestone 2 - Changing hard directive to component and test it to get 100% coverage (Part 2) (#10057)
* Fix assign skill e2e flake (#10029)
* Milestone 2 - Changing hard directive to component and test it to get 100% coverage (Part 1) (#10023)
* Revert "Removes caching from Circle CI config" (#10198)
* Revert "Milestone 2 - Changing medium directives to components and test all to get 100% coverage (Part 2)" (#10058)
Server Errors
* Adds empty callback to prevent 'unhandled rejection' errors for canceled audio file requests (#10336)
Translations
* Localisation updates from https://translatewiki.net. (#9976)
* Migrates exploration state to enable i18n translations of interactions (#9919)
* Localisation updates from https://translatewiki.net. (#9869)
* Disallow bundling of audio assets when downloading an exploration (#9814)
* Localisation updates from https://translatewiki.net. (#9721)
* Implement translation editor copy feature (#9582)
* Fix #10309: Adds audio-needs-update modal template (#10425)
* Migrates CaseSensitiveEquals RuleSpecs to Equals (#10189)
* Fixes Issue 10170: Follow-up PR on standing review comments for PR9919 (#10183)
* Localisation updates from https://translatewiki.net. (#10199)
Miscellaneous
* Temporary transfer of CODEOWNER files from brianrodri@ to seanlip@ until 2020-07-27 (#9885)
* Revert "Temporary transfer of CODEOWNER files from brianrodri@ to seanlip@ until 2020-07-27" (#9886)
* Milestone 2.2: Achieve scores of 100% in lighthouse audits on the Learner_Dashboard, Library, Maintenance, Moderator pages. (#9899)
* Milestone 2.1: Achieve scores of 100% in lighthouse audits on the Error, Exploration_Editor, Exploration_Player, Get_Started, Landing pages (#9898)
* Milestone 2.3: Achieve scores of 100% in lighthouse audits on the Notification_dashboard, Privacy-policy, and Practice_session pages (#9950)
* Added blanket codeowners for broad directories (#9977)
* Fix part of #8015: Return a domain object in backend api services (#9883)
* Fix Lighthouse best practices (#9858)
* Implement part of #9827: Migrate Google App Engine Images Functionality to use Python Pillow (#9828)
* Fix part of #8015: Refactor backend api services to return domain objects (#9798)
* Create Login Puppeteer Script and connect to lighthouserc.json (#9692)
* Fix #9596: Thanks Page Overlap (#9599)
* Make the svg-filename consistent with the frontend (#10404)
* Generalizes exploration migration audit jobs for testing exploration/state migrations (#10186)
* Rename all .scripts.ts files to .import.ts (#10132)
* Fix 9996 and Fix part of #9982: Refactor backend api services and remove remaining any types (#10054)
* Milestone 2.5: All navigation keyboard shortcuts and their e2e test are added. (#10036)
* Fix part of #9827: Migrate third party installation out of appengine_config into main.py (#10035)
* Fix #9348: Remove I from interfaces and types (#10017)
* Revert part of #10035: fix third party migration bug on production server (#10146)
* Add @kevintab95 as e2e codeowner (#10096)
* Reclaim brianrodri@'s CODEOWNERS (#10078)
* Adding Showtim3 to codeowners for some of the editor pages. (#10077)
* Fix Part of #8668: Documenting Three Files with JsDocs (#10009)
* Milestone 2.4: All action keyboard shortcuts for the Library Page and Exploration Player and their e2e test are added. (#10002)
Data handling
* Implement storage model for dynamic feature gating (#9876)
* Implement part of #9827: Migrate Google App Engine Mail Functionality to use Mailgun (#9867)
* Implement domain objects for dynamic feature gating (#9946)
* Fix last_updated for commit log models (#9811)
* Remove user ID migration code (#9810)
* Wipeout 8.1: Implement wipeout for the story models (#9760)
* Fix part of #5914: Takeout Render Zip File (#9714)
* Fixes issues in prod validation jobs (#9495)
* Fix commit log models on test server (#10291)
* Fix #9974 and part of #10069: Migration jobs and domain methods to populate UserAuthModel. (#10123)
* Fix #9973: Change user settings model to support profiles (#10105)
* Fix #10051: Rename domain functions for full user (#10059)
* Fix #9972 by implementing the UserAuthModel (#10004)
Developer UX
* Fix part of #8668: Document the service file autoplayed-videos.service.ts using jsdoc (#9888)
* Used IAstroidChecker for DivisionOperatorChecker and SingleSpaceAfterYieldChecker (#9991)
* Fix #7165: Remove remaining any types and move any check to eslint (#9990)
* Fix part of #9766: Inherited from a new class named LinterTestBase (#9959)
* Change action name for ACTION_MANAGE_PROFILE (#9958)
* Upgrade libs (#9953)
* Fix #9945: Fixed automatic chrome driver version retrieval for Mac OS. (#9947)
* Fix part of #8423: Added check to ensure that pylint pragmas are used to disable any rule for a single line (#9922)
* Fix part of #8423: Added lint check for args-name for a non-keyword argument (#9915)
* Setup Lighthouse CI (#9906)
* Temporary transfer of CODEOWNERS files from brianrodri@ to seanlip@ (#9893)
* Revert "Fix #9052: Disable E2E Test Sharding by Default" (#9891)
* Added '--disable_host_checking' flag to startup script (#9884)
* Fix #9874: Fixed pycodestyle error (#9882)
* Fixes issues with e2e script (#9880)
* Fix part of #8423: Added lint check to forbid usage of assertRaises and to use assertRaisesRegexp instead (#9860)
* Upgrade version of wavesurfer and use type defs from DefinitelyTyped (#9831)
* Fix part of #8423: Add lint check for unused imports (#9826)
* Routine upgrade of libs (#9823)
* Adds server_log_level arg for run_e2e_tests script (#9817)
* Fix #9688: Set constants to default values at exit (#9761)
* Fix part of #8423: New linter check to enforce snake_case (#9659)
* Transfer more code owner files (#9656)
* Removes caching from Circle CI config (#10181)
* Perform routine upgrades (#10160)
* Fix part of #8423: Added lint check to check for correctly formated typeinfo. (#10107)
* Revert "Temporary codeowner replacement" (#10091)
* Add a lint check for ts-ignore (#10088)
* Fix embedding flake (#10086)
* Converted docstring checks to IAstroidChecker and merged all docstring checks. (#10084)
* Fix part of #10064: Revert import github changes (#10074)
* Fixed pylint pragma check (#10050)
* Fix part of #8423: Added a lint check to ensure a newline after bracket (#10048)
* Fix lint errors on develop (#10043)
* Temporary codeowner replacement (#10032)
* Fix undefined time issue in run_e2e_tests script (#10011)
* Adds a lint check to restrict the usage of bypassing angular's security mechanism, decode the URI encoded profile pictures and remove safe-pipe.ts (#10484)
Speed improvement
* Lighthouse: Removing tests requiring admin authentication (#10164)
* Use cache-loader in webpack (#10155)
* Move scripts imports in header to webpack (#10141)
Release team
* Make release process more efficient (#9703)
* Remove release mail message template (#10101)
* Fix pygithub version in release scripts (#10079)
Bug fixes
* Fixes profile page rendering issue (#9916)
* Fix backend tests (#9843)
* Fix #4662: Use SortedTiles visualization for MultipleChoiceInput (#9780)
* Fixes #7690, #9632: When updating an exploration, commit all new models transactionally (#9744)
* Fix #9586: commit dates are now displayed in the exploration history tab. (#9665)
* Simplify topic viewer controller to fix failure with 42 skills in prod (#10239)
* Adds separate route entries for story, revision, practice (#10220)
* Fix #8124: Broken symlink OS errors in `pre_commit_hook` and `pre_push_hook` (#10025)
Angular Migration
* Revert "Fix part of #9749: Migrates some Topic Viewer Page Directives (PracticeTab, TopicViewerNavbarBreadcrumb, StoriesList, SubtopicsList) to Angular" (#9890)
* Revert #9841: Migrates Topic Summary Tile to Angular (#9956)
* Fix part of #8472: Upgrade StateTopAnswersStatsService to Angular 8 (#9984)
* Fix part of #9749: Migrates Maintenance Page and Topic Landing Page to Angular (#9980)
* Migrates topic-viewer-navbar-breadcrumb, subtopics-list, topic-viewer-page, practice-tab, topic-viewer-stories-list to angular components and introduces angular2+ material css. (#9957)
* Fix part of #9749: Migrates Error Page to Angular (#9933)
* Fix part of #8015 and Fix #9914: Refactor backend-api services to return domain objects. (#9917)
* Fix part of #9749: Migrates Teach Page to Angular (#9908)
* Fix part of #9749: Upgrades thank-page component to Angular component (#9905)
* Adds the i18n language service code to notify angular for translation language code change wherever $translate.use is used (#9870)
* Fix part of #7165: Remove some more any types (#9854)
* Move translate service "initialization" to oppia root so that it is a done once globally instead of doing it in all modules. (#9842)
* Fix part of #9749: Migrates Topic Summary Tile to Angular (#9841)
* Fix part of #9749: Migrates some directives in collection-player-page to Angular components (collection-node-list, collection-footer) (#9804)
* Fix part of #9749: Migrates some Topic Viewer Page Directives (PracticeTab, TopicViewerNavbarBreadcrumb, StoriesList, SubtopicsList) to Angular (#9790)
* Introduces UIB modal migration, Flex Layout Classes, and migrates sharing links directive - attempt 2 (#9784)
* Fix part of #9749: Migrates LazyLoading, LoadingDots, AttributionGuide directives to Angular (#9773)
* Fix part of #9749: Migrates Skill Mastery Viewer Directive to Angular (#9759)
* Fix part of #9749: Migrates Social Buttons Directive to Angular (#9757)
* Add angular material (2+) (#9730)
* Fix part of #10083: Removes events 'initializeTranslation' and 'onInteractionIdChanged' (#10165)
* Fix part of #10083: Removes events 'EVENT_AUTOPLAY_AUDIO' and 'EVENT_ACTIVE_CARD_CHANGED' (#10163)
* Fix part of #10083: Removes events 'EVENTS_COLLECTION_INITIALIZED' and 'EVENTS_COLLECTION_REINITIALIZED' (#10127)
* Fix part of #10083: Removes events 'answerGroupsChanged' and 'initializeAnswerGroups' (#10100)
* Fix part of #10083 - Remove unmigratable broadcast events EVENT_STORY_INITIALIZED & EVENT_STORY_REINITIALIZED (#10070)
* Fix part of #9749: Migrates profile-page-navbar-breadcrumb and subtopic-viewer-navbar-breadcrumb (With Testing Videos) (#10019)
* Fix part of #9749: Migrates Collection History, Statistics, Settings Tab to Angular (#10003)
* Revert "Fix part of #10083: Removes events 'EVENT_AUTOPLAY_AUDIO' and 'EVENT_ACTIVE_CARD_CHANGED'" (#10215)
* Revert "Fix part of #10083: Eliminates events refreshGraph, refreshStatisticsTab, refreshSettingsTab, refreshTranslationTab" (#10148)
* Fix part of #10083: Removes events 'searchBarLoaded', 'totalQuestionsReceived', 'stateEditorInitialized' & 'stateEditorDirectiveInitialized' (#10116)
* Fix part of #10083: Eliminates events refreshGraph, refreshStatisticsTab, refreshSettingsTab, refreshTranslationTab (#10112)
* Fix part of #9749: Migrates profile-link-image, profile-link-text directives to Angular and implements Safe Pipe (#10030)
v3.0.1 (21 Jul 2020)
------------------------
Contributor Pages
* Fix #6672: Translation prioritization (#9443)
QA Team
* Fix part of #9740: Remove "any" from spec files and replace it by @ts-ignore (#9748)
* Remove flaky test block from voicever player suite (#9739)
* Fix frontend errors related to spying window inner width (#9701)
* Revert flaky frontend test (#9700)
* Fix the frontend flake (#9693)
* Milestone 1 - Change maintenance-page controller to component (#9662)
* Milestone 1 - Separate remaining inline AngularJS modal controllers into new files and fully covered them (#9651)
* Changing topic-and-skills-dashboard-page controller to component and test it until 100% coverage (#9650)
* Milestone 1 - Testing exploration-editor-page to get 100% coverage (part 6) (#9646)
* Milestone 1 - Testing components to get 100% coverage (part 5) (#9623)
* Milestone 1 - Testing components to get 100% coverage (part 4) (#9620)
* Milestone 1 - Fully cover 10 inline controllers (part 4) (#9601)
* Milestone 1 - Fully cover 10 inline controllers (part 3) (#9583)
* Milestone 1 - Fully cover 10 inline controllers (part 2) (#9563)
* Milestone 1 - Fully cover 10 inline controllers (#9554)
* Milestone 1 - Testing components/controllers to get 100% coverage (part 3) (#9529)
* Fix part of #6240: Adding e2e tests for playing audio translations (2nd PR) (#9518)
* Milestone 1 - Testing components to get 100% coverage (part 2) (#9508)
* Fix #9409: Fix e2e flakes (#9437)
* Milestone 1 - Testing components to get 100% coverage (#9422)
* Fix part of #4057: Test Coverage for StatesObjectFactory.ts (#9655)
* Fix #9492 Flaky frontend test (#9506)
Lesson analytics
* Introduce controller layer for improvements tasks (#9645)
* Introduce ExplorationTask, IneffectiveFeedbackLoopTask, SuccessiveIncorrectAnswersTask domain objects (#9618)
* Standardize structure of visualization directives (#9605)
* Introduce NeedsGuidingResponsesTask domain object (#9595)
* Introduce services layer for exploration improvement tasks (#9575)
* Introduce HighBounceRateTask domain object (#9515)
* Refactor PlaythroughService and increase coverage to 100% (#9497)
* Fix #3947: Clean-up Statistics tab with ClickHexbin visualization as sample introduction (#9622)
Translations
* Add french as supported site language (#9484)
Miscellaneous
* Milestone 1.5: Score 100% in Chrome audits on Donate, Email Dashboard, And Email Dashboard results Webpages (#9705)
* Milestone 1.3 and Milestone 1.4: Score 100% in Chrome audits on Collection-Player, Contact, Community-Dashboard, Creator-Dashboard, and Delete-Account Pages (#9613)
* Fix part of #7450: private access in jobs test file (#9543)
* Fix #6271: update_interaction_solution is accepting object instead of dict (#9503)
* Fix #7450: fixed private method calls for the tests in draft_upgrade_services_test.py (#9491)
* Milestone 1.2: Score 100% in Chrome audits Admin, Classroom, About, Collection_Editor pages (#9490)
* URL Changes for SEO (Static URL changes) (#9460)
* Fix part of #8038: Remove http requests from the files that are not backend api services (#9433)
* Fix #9711: Fixed the admin page job buttons issue (#9712)
* Localisation updates from https://translatewiki.net. (#9615)
Release team
* Remove extra spaces in changelog (#9724)
* Update authors and changelog for v3.0.0 (#9723)
Angular Migration
* Fix part of #7165: Remove some more any types (#9754)
* Fix part of #7165: Refactor interaction type defs and some more remove any types (#9742)
* Fix part of #7165: Remove some more any types (#9677)
* Intoduce UIB modal migration, Flex Layout Classes, and migrates sharing links directive (#9673)
* Fix part of #7165: Remove some more any types (#9663)
* Fix #7176: Remove rest of any types under the issue 7176 (#9596)
* Add oppia-root and oppia-angular-root to all modules (#9576)
* Fix part of #7176: Remove some more any types (#9544)
* Fix part of #8472: Migrate concept-card-backend-api-service to Angular 8 (#9505)
* Hybrid config (#9479)
* Fix part of #7176: Add types for Customization Args (#9463)
* Change subjects to event emitters (#9423)
* Change controllers to components (Part 2) (#9335)
Speed improvement
* Fix part of #8016: Added a separate backend api service for profile-page.controller.ts (#9387)
* Fix #8499: Serve Images in WebP (#9206)
Data handling
* Remove username from commit log models (#9329)
Bug fixes
* Fix #9808: Add component.html to build to fix topic editor in prod_env (#9857)
* Fix #9791: Fixed math editor preview in old math interaction. (#9806)
* Fix undefined values in topic manager dropdown (#9792)
* Fix #6893: Make the suggestion validation less stringent to match validation of exploration categories and modify the suggestion migration job. (#9732)
* Fix images not showing in subtopic viewer in prod and local storage handling in thumbnail editor (#9690)
* Fix #9557, #9559, #9540, #9558, #9567 - Fixed on window resize function, added migration to get_multi_skills and other UI changes (#9591)
* Fix #9565: Pass .timetuple() to time.mktime() in utils.get_time_in_millisecs (#9560)
Learner/Creator Pages
* Fix bugs in the create new subtopic modal of missing validations. (#9943)
* Fix #9904: Add check and validation to fix concept card issues. (#9910)
* Fix #9838, #9877, #9801 and #9819: Topic, subtopic and story viewer changes, trailing whitespace in RTE content and skill editor changes (#9907)
* Fix #9864: Convert schema-based-float-editor input from string to number type (#9903)
* Fix #9837, #9834, #9833 Fixing merged skills persist, topic warning is cut-off, topic description typo. (#9896)
* Fix #9818, #9772, #9786 (#9830)
* Fix #9777: Overriding guppy osk styles to fix tooltip position. (#9785)
* Fix no skills text bug (#9776)
* Minor improvements to topics and skills dashboard. (#9774)
* Fix 9756, 9755 Fixing error in deleting skill (#9769)
* Fix #9709: Show question images in question player (#9768)
* Improve pagination and making right box scrollable (#9758)
* Remove commas from input for NumericInput interactions (#9747)
* Improving the Skills dashboard UI and improving the topic preview button in topic editor. (#9743)
* Fix #9722: Fix skill modal opening twice bug, Adding reordering functionality and Unassigned topic filter (#9733)
* Add mobile view for Skill editor. (#9719)
* Fix #9587, Added mobile view for topics dashboard, skills dashboard and topic editor. (#9706)
* Milestone 1.2 and 1.3: SVG generation for new entities. (#9678)
* Upgrade the Skill Editor UI (#9672)
* Extend math expression parser. (#9658)
* Fix #9602 Add touch support to fabric js editor (#9657)
* Milestone 1.6 and 1.7: Add Math Equation Input Interaction. (#9649)
* Fix drag drop interaction bug (#9644)
* Allow images while creating questions. (#9617)
* New UI for the topic editor. (#9603)
* Add svg editor using fabric js and replace literallyCanvas (#9598)
* Add a one-off job for math expression input validation. (#9597)
* Milestone 1.3 and 1.4: Add Algebraic Expression Input Interaction (#9553)
* Upgrading the Skills dashboard UI (#9525)
* Fix #9354 and other critical bugs (#9520)
* Add validation jobs for math expressions in Explorations and draft change lists. (#9517)
* Show rubrics info in the question editor and bug fixes (#9510)
* Fix #9466: Adding thumbnail and fixing bugs (#9474)
* Redesign story viewer followup (#9473)
* Milestone 1.2.2: Add position-of-terms and math editor directives. (#9400)
* Milestone 1.1: Add the new Math schema and migrations. (#9390)
* Fix #9322: Redesign landing page (#9366)
* Milestone 1.2.1: Add math objects with validators. (#9336)
* Add functionality to filter skills in the skill selector, based on subtopics and topics. (#9280)
* Fix part of #3446: add SetInput validations (#9439)
Developer experience
* Revert "Intoduces UIB modal migration, Flex Layout Classes, and migrates sharing links directive" (#9779)
* Chromedriver Upgrade (#9775)
* Update github actions python and checkout library (#9767)
* Fix Action tasks stdout encoding (#9737)
* Update audio project codeowners (#9735)
* Remove issue assigned check from github actions (#9734)
* Fix #9697: Separate frontend and backend tests (#9699)
* Revert "Add live output for frontend tests" (#9698)
* Fix #9691: Increase build time for nav-and-misc e2e test (#9696)
* Fix Travis email notifications to always notify on failures. (#9694)
* Suppress 40k lines of ENOSPC output in frontend tests. Build GitHub Actions only on pushes/PRs to develop or release branches. (#9689)
* Fix part of #8423: Added lint check to ensure that there is one blank newline below each class docstring. (#9687)
* Container reorganization (#9684)
* Remove lint checks and backend tests from circle CI (#9671)
* Setup oppiabot workflow (#9669)
* Introduce GitHub actions to backend and linter (#9668)
* Fix #8165: implement 4 space indentation and 8 space indentation for docstrings (#9654)
* Add 'merge to target' step for all circle ci tests (#9614)
* Fix part of #8423: Added check to ensure if the instances of HtmlWebpackPlugin in webpack.common.config.ts contains all needed keys (#9590)
* Fix for #9458: Typescript linter fails on relative import (#9580)
* Assign @srijanreddy98 ownership of angular-migration files to co-own those files with @basnalnitish (#9577)
* Fix part of #8423: Added check for proper comment style for JS files (#9574)
* Fix part of #8423: Added check to ensure that all TODO messages start with a capital letter (#9573)
* Skip setup in frontend tests and e2e tests (#9572)
* Fix CircleCI setup git config (#9535)
* CI Test Organization (#9523)
* Fix part of #8423: Add lint check for alphabetized list in CSS (#9522)
* Update travis and circleci to disable tests for release changelog PRs (#9516)
* Fix part of #8423: Added lint check to ensure that there are valid spaces and newlines (#9507)
* Fix #8423: Check that functions with test_only in their names are only used in _test.py files. (#9504)
* Transfer codeowners (#9501)
* Disallow using eslint disable statement for camelcase (#9482)
* Added newline check at end of file (#9459)
* Fix part of #8423: Added check to ensure that all lines in skip_files in app.yaml reference valid files in the repository (#9451)
* Lint output is cleaner and less verbose. (#9438)
* Fix #8668: added jsdoc to improve documentation and Fix #7165: adds type clarity (#9421)
* Fix #7590: Python, HTML, CSS, Js/Ts lint tests (#8947)
* Improve run frontend tests (fixed encoding issue) (#9725)
* Fix #9683: Add Constants File for Protractor (#9720)
* Add live output for frontend tests (#9621)
v3.0.0 (29 Jun 2020)
------------------------
Contributor Pages
* Fix #9417: No difficulty level to select for questions while creating question suggestion (#9436)
* Fix #9375: Adds custom entity context for the translations in community dashboard (#9386)
Lesson analytics
* Introduce SortedTiles visualization for statistics (#9481)
* Introduce core.storage.improvements models (#9475)
* Cache the results from StateInteractionStatsService.computeStats (#9414)
* Update ExplorationMissingStatsAudit to read directly from raw models (#9384)
* Remove playthroughs from the statistics tab (#9383)
* Empty-out and simplify logic of the improvements tab (#9215)
Learner/Creator Pages
* Fix drag drop interaction bug (#9644)
* Fix #9526 and #9527: Add protip about using dedicated mic for best results and fixes timer issue (#9604)
* Fix #9354 and other critical bugs (#9520)
* Added validation jobs for math expressions in Explorations and draft change lists. (#9517)
* Show rubrics info in the question editor and bug fixes (#9510)
* Fix #9466: Adding thumbnail and fixing bugs (#9474)
* Hide practice tab when questions are fewer than 5 (#9470)
* Fix issues in the story viewer and chapter player (#9469)
* Milestone-1.3 and 1.4 add saving and editing functionality to svg editor (#9445)
* Redesign subtopic viewer (#9397)
* Redesign story viewer (#9392)
* Redesign topic viewer (#9362)
* Allow saving of stories with explorations containing skillreview RTE and DragAndDropSortInput interaction (#9360)
* Milestone 1 part 1 Initializing literallyCanvas and adding the required backend changes (#9352)
* Fix #9340: Issue while linking another skill to a question (#9341)
* Fixes some question editor bugs (#9337)
* Topic dashboard ui (#9333)
* Fix #9309: Added conditional while rendering the classroom page. (#9312)
* Allow adding images in the create skill modal (#9262)
* Fix # 9235 : Moves the "Prerequisite Skills" section to above Review Material (#9241)
* Fix #9212 and #9227: Replaces HtmlParams with FormData API; Adds check for prepublish validate to enable/disable the story publish button; Explicitly sets the mimetype while committing files to GCS (#9233)
* Fix #9209: Add css to fix overflow issues and adds logic to duplicate SVG instead of compressing it (#9216)
* Add an icon for merge skill (#9213)
* Topic Summary description migration (#9192)
* Fixes #5436 Randomize pretest questions (#9061)
Speed improvement
* Milestone 1.1: Creation of .lighthouserc.js file and scripts/lighthouse_checks.py file (#9295)
* Fix #7493: Remove jinja from base.py (#9294)
* Milestone 1.3.2: Import WaveSurfer using yarn and add typedefs for it (#9279)
* Fix part of #8833: Makes all event listeners passive by default (#9178)
Data handling
* Fix part of #5914: Complete Takeout Frontend (#9424)
* Fix part of #5914: Add JSON rendering testing to Takeout (#9301)
* Fixed user updates. (#9252)
* Added update username functionality in the admin tab. (#9191)
* Wipeout 3.10: Add new field to rights models (#8505)
QA Team
* Fix #9442: Delete Un-Migrated E2E Test Code (#9444)
* Fix #9372: Mocked datetime to fix admin test flakyness. (#9394)
* Fix part of #4057: Tests for editable-exploration-backend-api.service.ts, RecordedVoiceoversObjectFactory.ts, and topic-update.service.ts (#9380)
* Fix #8924: Separate inline AngularJS modal controllers into new files (2nd) (#9376)
* Extend ExplorationMissingStatsAudit to check for state stats (#9361)
* Fix #8924 Separate inline AngularJS modal controllers into new files (1st) (#9344)
* Introduce ExplorationMissingStatsAudit One Off Job (#9306)
* Fix #9132: Transition E2E Tests to Async-Await (#9267)
* Fix #8758: add waitFor statement in getResponseEditor method (#9229)
* Increase coverage for autosave-info-modals.service.ts (#9174)
* Fix part of #8924: Create a generic modal and replace it and inherit it in common and similar inline modals from $uibModal.open controller property (#9167)
* Fix part of #4057: Added a test file for exploration-param-specs.service.ts (#9115)
Angular Migration
* Adds all Angular services to UpgradedServices (#9416)
* Add i18n translation service for angular code! (#9398)
* Fix part of #8015: return CollectionRights rather than dict (#9389)
* Fix part of #7165: Add WARNING_TYPE to interaction validation spec files (#9371)
* Fix part of #7176: Remove any from some object factories - III (#9370)
* Fix part of #7176: Remove any from RuleObjectFactory and introduce TypeChangeService (#9365)
* Fix part of #7176: Remove any types from some object factories - II (#9349)
* Fix part of #8472: Upgrades CurrentInteractionService to Angular (#9347)
* Fix part of #7176: Add type definitions in some object factories (#9345)
* Fix part of #8472: Upgrades ExplorationRecommendationsService to Angular (#9339)
* Fix part of #8472: Upgrades UserExplorationPermissionsService to Angular (#9338)
* Migrates Background Banner directive to Angular Component (#9330)
* Fix part of #8472: Upgrade StateInteractionStatsService to Angular 8 (#9321)
* Change controllers to components (Part 1) (#9317)
* Fix part of #8742: Upgrade AnswerClassificationService to Angular 8 (#9313)
* Milestone 1.4.3: Add type definitions for __fixtures__ (#9307)
* Fix #8472: Collection creation service upgrade (#9303)
* Fix part of #8472: Upgrades StatsReportingService and MessengerService to Angular (#9299)
* Milestone 1.4.2: Split ICustomScope to respective directives (#9298)
* Fix part of #8472: Upgrades PlaythroughService to Angular (#9290)
* Fix part of #8472: Upgrades PredictionAlgorithmRegistryService to Angular 8 (#9289)
* Migrates donate-page directive to angular component (#9202)
* Refactor warning-loader in two files and create a loader service (#9156)
* Removing all nonmigratable instances of $scope and $rootScope from skill-editor module (#9136)
* Fix part of #8472: Migration (topics-and-skills-dashboard-backend-api.service.ts) AngularJs to Angular 8 (#8856)
Developer experience
* Routine upgrade of libs (#9489)
* Change codeownership from Mariana to Nithesh (#9477)
* Fix voicever upload e2e flake errors (#9403)
* Update to LaCE CODEOWNERS (#9399)
* Add QA Team Codeowner for all E2E Files (#9396)
* Fix #9325: Broaden the types of classes run by scripts.run_backend_tests and addition of tests for pylint_extensions (#9393)
* Removes codeowner for community dashboard project (#9369)
* Routine upgrade of libs (#9359)
* Transfer codeowners (#9355)
* Fix #9331: Added typescript checks to pre push hook (#9334)
* Adding @marianazangrossi as codeowner from all frontend spec files. (#9323)
* Group library and collection e2e suites on circleCI (#9315)
* Milestone 1.5: Add a check for checking the version of third party type defs (#9310)
* Refactoring whitelist to blacklist in frontend coverage script (#9304)
* Install third-party libs before running backend tests. (#9296)
* Milestone 1.4.1: Remove some any types from typings directory (#9293)
* Users suites circleci migration (#9284)
* Remove tests from Github Actions (#9283)
* Milestone 1.3.1: Type definitions for guppy, removed blobbuilder (#9278)
* Minor changes to "throw" regex so it doesn't show false positives when a throw is used inside a string (#9277)
* Exception handling is used to handle unexpected errors (#9273)
* Fix #9264: Fix node reference in typescript checks (#9270)
* Milestone 1.2: Type definitions for midi, skulpt, math expressions (#9266)
* Milestone 1.1: Add a check restricting defining type as any (#9257)
* Fixes part of #8668: All the Frontend services should be documented with jsdoc (#9250)
* Upgrade frontend and backend libraries (#9242)
* Use unminified version of angular in devMode (#9207)
* Replace {{ }} with <[ ]> (#9201)
* Fix part of #8668: Add documentation to utils.service.ts (#9197)
* Implemented locking mechanism for summary_messages (#9195)
* Fix part of #4057: Added a test file for exploration-init-state-name.service.spec.ts, exploration-language-code.service.spec.ts, exploration-objective.service.spec.ts, exploration-title.service.spec.ts (#9185)
* Fix part of #7427: Added missing docstring to core/domain/story_domai… (#9184)
* Moved codeowners for scripts and linter files. (#9182)
* Upgrade third party libraries (#9175)
Bug fixes
* Fix images not showing in subtopic viewer in prod and local storage handling in thumbnail editor (#9690)
* Fix #9557, #9559, #9540, #9558, #9567 - Fixed on window resize function, added migration to get_multi_skills and other UI changes (#9591)
* Mock the `modify_constants` in build tests (#9488)
* Fix incorrect escaping in backend. (#9467)
* Fix #9372: Fix flaky backend test in admin_test.py (#9441)
* Fix #9382: fix for bug default language on Oppia is not accurate on reload (#9420)
* Fix #9228 : Fixing subtopic card overflow (#9232)
* Fix #9208, #9211, #9217, #9234 and #9236: Open new tab in firefox without errors, restrict misconception name to 100 chars and disable solicit answer details in question editor (#9218)
* Fix #8545: Adding realtime errors for NumericInput (#9152)
* Fix #9492 Flaky frontend test (#9506)
* Revert "Increase coverage for autosave-info-modals.service.ts" (#9274)
Server Errors
* Fix #8464: Wraps exceptions as an Error object if it does not have a message property (#9343)
Release team
* Fix issues in release scripts (#9472)
* Fix maintenance mode (#9462)
* Update release credits structure and changelog PR creation (#9219)
Translations
* Fix issue of showing new tips section and allowing audio recording to the guest users in translation tab (#9626)
* Routine update of translations. (#9269)
* Fix #9138: Adds Albanian language in the site content and audio language list (#9260)
Miscellaneous
* Migrate to mailchimp (#9412)
* Fix part of #6271: Modify add_misconception to accept object instead of dict (#9351)
* Milestone 1.1: Added nerdamer library with typedefs. (#9305)
* Disable community dashboard (#9534)
* Bump react-dom from 16.1.1 to 16.1.2 (#9406)
v2.9.3 (20 May 2020)
------------------------
Contributor Pages
* Fix #9018: Capitalizes the tab name in community dashboard page (#9089)
Bug fixes
* Fix question versioning (#9318)
* Fix #9249: Add error message instead of warning modal in skill editor (#9259)
* Fix #9224: fix overflow of RTE in question editor (#9243)
* Fix #9221: Fixed the position of pencil-icon used to open review-material editor. (#9240)
* Fix #9208, #9211, #9217, #9234 and #9236: Open new tab in firefox without errors, restrict misconception name to 100 chars and disable solicit answer details in question editor (#9218)
* Fix #9040: Preferences page width in mobile devices (#9055)
Server Errors
* Fix #8456: Fix throwing of errors (#9193)
Miscellaneous
* Update meta-tags to align with better SEO standards (#9187)
* Introduce ProdValidationAuditOneOffJobMetaClass (#9183)
* Fix #9007: Add a second function argument to avoid the warning message (#9160)
* Fix part of #9146: Combine methods in LearnerAnswerDetailsBackendApiService (#9151)
* URL changes for SEO (#9109)
* Remove JQuery css manipulation from controller and use ng-class in template instead (#9104)
* Fix part of #8015: search-explorations-backend-api now returns an ExplorationMetadata object instead of a dictionary (#9090)
* Fix part of #7450 use update exploration instead of save_exploration (#9030)
* Fix part of #8015: editable.question.backend.api.service.ts now returns a domain object … (#8986)
Release team
* Update release scripts to address concerns around clarity of instructions (#9177)
* Add check for version length (#9147)
* Add check for invalid emails (#9130)
* Fix memcache url (#9080)
* Fix memcache flush issue (#9039)
* Move all wrap up steps to script (#8974)
Learner/Creator Pages
* Fix #9309: Added conditional while rendering the classroom page. (#9312)
* Fix #9288: Prevent deletion of skills assigned to topics; Add a job to clean-up deleted skills that are attached to topics; (#9291)
* Fixes bugs in the topic editor (#9265)
* Fix #9212 and #9227: Replaces HtmlParams with FormData API; Adds check for prepublish validate to enable/disable the story publish button; Explicitly sets the mimetype while committing files to GCS (#9233)
* Fix #9209: Add css to fix overflow issues and adds logic to duplicate SVG instead of compressing it (#9216)
* Fix # 7809 : Swapped buttons to ensure uniformity (#9196)
* Fix whitespace in the rte in chapter outline (#9190)
* Add chapter description (#9157)
* Add multiple explanations for each difficulty in a skill rubric (#9148)
* Fix #9134: Fixed bugs with the Drag-and-drop interaction (#9141)
* Fix #9121: Address review comments in #9087 (#9126)
* Fix #3369: Resize editor to avoid overflowing when creator uses longer responses (#9122)
* Fix UI and UX issues in new structures editors and dashboard (#9110)
* Thumbnail functionality for topic, subtopic, story and chapter (#9095)
* Username length audit job (#9093)
* Changed character limits for the new editors and allowed saving of invalid exps in draft stories (#9087)
* Fixes #7448: Adds a filter option to filter skills. (#9082)
* Replace ChangesInHumanReadableForm service to directive. (#9078)
* Fix #8951: Fixed solution preview uniqueness indicator. (#9067)
* Add an audit job to find all explorations using multichoice input interaction having invalid rules. (#9062)
* Fix #9005: Cursor changes to a pointer for the delete icon (#9054)
* The EndExploration card should not have any IDs added. (#9032)
* Fix part of #8015 : Domain object for topic-viewer-backend-api.service.ts (#8975)
* Split worked example into questions and answers in skill editor (#8946)
* Fixes #5254 Shuffle multiple choice (#8738)
* Fix #8339: Improving end exploration UI (#8725)
* Fix #8730: Throw PageNotFoundException instead when trying to access an invalid topic (#8722)
* Fix #8402: Adding replay button for lesson #8402 (#8519)
Speed improvement
* Remove ngResource from manifest as it is not used anywhere (#9072)
* Fix part of #7004: Use webpack to import ckeditor instead of script imports (#8866)
Data handling
* Fix part of #5914: Complete Controller Layer of Takeout (#9133)
* Fix part of #5914: Complete Full Takeout on Backend (#8976)
* Rework the contributors audit job to fix the models (#8961)
QA Team
* Fix #9086 and #9100: Fix classroom e2e flakes (#9118)
* Fix part of #4057: Added a test file for exploration-tags-service.ts (#9117)
* Fix part of #4057: Added a test file for exploration-param-changes.service.ts (#9114)
* Fix part of #4057: Added a test file for exploration-category-service.ts (#9108)
* Increase 100% coverage files that were fakely fully covered. (#9096)
* Fix #8758: add waitFor statement before accessing response tab element (#9081)
* Fix part of #4057. Unit test for exploration-feature-service.ts (#9076)
* Fix #8884: Select Admin Page Status Message by HTML Class (#9068)
* Fix issue #4057: Increase frontend test coverage for RatingComputationService (#8991)
* Fix part of #6240: add e2e test for item selection interaction (#8985)
* Fix Router Service unit test issues (#8919)
* Fix part of #4057: Added a test file for StateHintsService.ts . (#8811)
* Fix part of #4057: Added a test file for StateNameService.ts . (#8793)
Angular Migration
* Fix part of #8472: Upgrades CollectionCreationBackendApiService to Angular (#9125)
* Fix part of #8472: Migrate learner answer details (#9046)
* Fix part of 8472: Upgrades QuestionCreation and QuestionBackendApi service to Angular (#9029)
* Improve typing of playthrough-issues-backend-api-service (#8997)
* Fix #8966: Update expression-syntax-tree.service to use more typescript features (#8978)
* Removes unnecessary services from App.ts (#8940)
* Fix part of #8472: migrated playthrough-issues-backend-service files from angularjs to angular 8 (#8907)
Developer experience
* Fix lint issue related to bad throw pattern (#9205)
* Fix part of #7450: JobManagerUnitTests no longer abuse private methods. (#9189)
* Remove performance tests (#9188)
* Fix issues with merging of target branch on circleci (#9181)
* Fix part of #4057: increasing line-by-line coverage for classroom-backend-api.service.ts (#9168)
* Fix #9137: Changed google app engine path to be absolute path (#9161)
* Introduce contextmanager for creating temporary directories (#9142)
* Add a lint check for all jobs register in jobs_registry.py file (#9129)
* Fix #9106: Upgrade batch of libraries, fix frontend tests, and other small changes (#9107)
* Add instructions for N/A (#9105)
* Fix #8993: Linter now catchs custom js/ts lint errors (#9101)
* Fix #9079: Merge the target branch before running the tests on CircleCI (#9084)
* Remove mathjs from manifest.json (#9083)
* Fix #8954: Add separate compilation config for circleci e2e tests (#9060)
* Fix part of issue #7450: Changed email_manager_test.EmailRightsTest to use public method (#9059)
* Fix setup on Arch (#9031)
* Fix part of #7427: Added missing docstrings to core/domain/state_domain.py (#9028)
* Remove fork-ts-checker-webpack-plugin (#9019)
* Replace ui-utils with ui-validate since only this part of utils is used (#9002)
* Fix part of #7450: modified email_manager.BulkEmailsTests to use public methods instead of private methods (#8996)
* Perform yarn routine upgrade (#8984)
v2.9.2 (21 Apr 2020)
------------------------
Learner/Creator Pages
* Change character limits for the new editors and allowed saving of invalid exps in draft stories (#9087)
* Fix #9045: Add customization arg warnings (#9073)
* Fix #8951: Fix solution preview uniqueness indicator (#9067)
* Add a pre-publish validation for topics (#9056)
* Fix #9005: Cursor changes to a pointer for the delete icon (#9054)
* Fix #8926: Drag and drop response order (#8960)
* Add frontend validation for explorations in the story editor (#8899)
* Fix #8743: Add Classroom option to top navbar and hide it under SHOW_CLASSROOM_CALLOUT flag (#8832)
* Fix #8808: Disable collapsible block and tabs RTEs for questions (#8810)
* Fix part of #8746: Centralize the story view icons (#8795)
* Fix part of #6351: Add custom typing for PencilCodeEmbed (#8712)
* Fix part of #6271: Improvise update_explanation method (#8699)
* Fix part of #8038: HTTPS calls in frontend should only happen through topic-creation-backend-api.services (#8685)
* Fix part of #5296: Add an audit job to find explorations with MathExpressionInput (#8669)
* Add backend validation checks for explorations in a story (#8651)
* Add the skillreview RTE element to explorations in stories (#8617)
Contributor Pages
* Fix #9018: Capitalize the tab name in community dashboard page (#9089)
* Fix #9003, #9013: Display fully un-truncated text for skill description in Submit Question tab and show placeholder for empty rubric explanation (#9058)
* Fix #7402, #8166: Enable community dashboard page (#8957)
* Reviewer assignment functionality for community contribution (#8862)
* Fix #8249: Surface skill difficulty/rubrics in question suggestion flow (#8353)
* Fix not loading opportunities in the community dashboard. (#8948)
Lesson analytics
* Fix #7335: Use cached thread message summary to render improvement tasks (#8658)
Speed improvement
* Remove angular-drag-and-drop-lists.min.js from header js imports (#8929)
* Import wave-surfer using webpack instead of including it in third_party.js file (#8922)
* Fix #7643: Replace templateUrl with template in /extensions (#8860)
Bug fixes
* Fix #9006 and #9009: Disallow same chapter titles in stories and fixed empty names for downloaded yaml files (#9077)
* Fix #9040: Preferences page width in mobile devices (#9055)
* Fix InteractionAnswerSummariesMRJobManager handling of UTF-8 strings (#8963)
* Fix #8955: Only fetch the summaries of threads referring to explorations (#8956)
* Fix #8802: Google Chrome on Chromebook not displaying the Speech Synthesised Voiceover (#8892)
* Fix #8817: Fix progress bar issue in Firefox (#8881)
* Fix #8826: Correct Continue Button Display Style to Fix Highlight Outline (#8878)
* Fix #8815: Initialise Guppy symbols during exploration init (#8850)
* Fix #8789: Inconsistent Capitalization in Preferred Languages Dropdown (#8796)
* Fix #8132: Fix the category and language bar selection divs (#8723)
* Fix #8385: Add a error message if the exploration id entered is invalid (#8431)
Server Errors
* Fix #6757: Reload page when login_url is None (#8834)
Miscellaneous
* Fix #8877: Remove DebugInfoTrackerService from the codebase (#8879)
* Fix #8709: Load dummy skill with questions (#8724)
* Fix part of #8038: HTTPS calls in frontend should only happen through skill-creation-backend-api.services (#8674)
* Fix #8614: Move the site-feedback icon to the footer (#8640)
Release team
* Fix issues with release wrap up (#8952)
* Fix path in restore backup script (#8913)
* Updates for sending reminder to submit jobs (#8809)
Angular Migration
* Add HTTP interceptor in all the modules (#8965)
* Migration of ExpressionSyntaxTreeService to Angular 8 (#8886)
* Remove any from url-interpolation.service.ts, url.service.ts and some other files (#8823)
* Update to provide only required services in App.ts (#8807)
* Remove any from angular in all modules (#8785)
* Remove any from numeric-input-validation.service.spec.ts (#8770)
* Migrate CollectionRightsBackendApiService to Angular 8 (#8748)
* Fix part of #8472: Migrate AngularJS files to Angular 8 for SkillRightBackendApiService file (#8721)
* Fix part of #8472: Migrate EditableCollectionBackendApiService and ReadOnlyCollectionBackendApiService to Angular (#8657)
* Fix part of #8472: Migrate AngularJS files to Angular 8 for SkillObjectFactory file (#8587)
Data handling
* Add contributors audit job (#8925)
* Fix part of #5914: Export data for BaseSnapshotMetadataModel (#8749)
QA Team
* Fix part of #4057: Add frontend test cases to QuestionObjectFactory (#8934)
* Fix part of #4057: Add test cases for question-backend-api.service.ts (#8916)
* Fix #4057: Add front-end tests for UnitsObjectFactory.ts (#8915)
* Topic viewer backend api (#8905)
* Fix #8888: Await Visible Confirmation Message on Role Update (#8889)
* Fix part of #4057: Add a test file for StateParamChangesService.ts (#8825)
* Fix test file for debouncer.service.ts (#8806)
* Increase coverage for training-data-editor-panel.service.ts (#8805)
* Increase coverage for improvement-modal.service.ts (#8799)
* Increase coverage for suggestion-modal-for-creator-view.service.ts (#8791)
* Increase coverage for autosave-info-modals.service.ts (#8776)
* Increase coverage for rte-helper.service.ts (#8775)
* Increase coverage for training-modal.service.ts (#8771)
* Fix part of #4057, #8472: Migrate contribution opportunities backend api to Angular 8 and creates a spec file for it (#8763)
* Increase frontend test controllers from Milestone 4 (2nd PR) (#8736)
* Fix part of #4057: Increase frontend test services from Milestone 3.3 (3st PR) (#8696)
* Fix part of #4057: Increase frontend test services from Milestone 3.3 (4th PR) (#8729)
* Fix #6240: E2e Tests for Code Editor Interaction (#8639)
* Milestone 3.3 (1st PR) - Increase coverage for speech-synthesis-chunker.service.ts (#8636)
* Fix part of #4057: Frontend test for ExplorationFeatureService (#8588)
* Fix part of #4057: RuleObjectFactory test (#8558)
Developer experience
* Upgrade major versions of libraries (#8953)
* Fix #8920: Add check frontend coverage feature on pre push hook (#8923)
* Fix #8882: Fix collections suite flakiness (#8900)
* Fix #8869: Add innerHTML lint check (#8870)
* Speed up frontend tests (#8864)
* Reorganize CircleCI tests run order (#8851)
* Add wording to not trigger issue closure (#8837)
* Fix #8668: Document the service file with jsdoc and fix the unused-import bug (#8773)
* Fix #8625: Split linters to run for a specific file extension (#8656)
v2.9.1 (29 Mar 2020)
------------------------
QA Team
* Increase coverage for rte-helper.service.ts (#8775)
* Fix topic_id null in e2e test issue (#8756)
* Increase coverage for learner-playlist.service.ts (#8753)
* Increase frontend test controllers from Milestone 4 (1st PR) (#8732)
* Fix part of #4057: Increase frontend test services from Milestone 3.3 (2nd PR) (#8675)
* Fix part of #6240: Fix Flaky Exploration Card Finding (#8659)
* Fix part of #4057: Increase frontend test services from Milestone 3.2 (5th PR) (#8616)
* Fix part of #4057: Increase frontend test services from Milestone 3.2 (4th PR) (#8615)
* Get id-generation.service.ts up to 100% coverage in order to fix CircleCI frontend job fails (#8605)
* Fix part of #4057: Increase frontend test services from Milestone 2.2 (5th PR) - fix (#8575)
* Milestone 3.2 (3th PR) - Increase coverage for three services (#8569)
* Fix part of #4057: Increase frontend test services from Milestone 3.2 (2nd PR) (#8560)
* Fix part of #4057: Increase frontend test services from Milestone 3.2 (1st PR) (#8530)
* Increase coverage for notifications-dashboard-page.component.ts and mark-all-audio-and-translations-as-needing-update.controller.ts (#8528)
* Milestone 3.1 (3rd PR) - Increase coverage for hints-and-solution-manager.service.ts (#8525)
* Milestone 3.1 (2nd PR) - Increase coverage for three services (#8524)
* Fix part of #4057: Adds test for UserEmailPreferencesService (#8513)
* Milestone 3.1 (1st PR) - Increase coverage for three services (#8477)
* Fix part of #4057: Increase frontend test services from Milestone 2.2 (6th PR) (#8469)
* Fix part of #4057: Increase frontend test services from Milestone 2.2 (4th PR) (#8443)
* Fix part of #4057: Increase frontend test services from Milestone 2.2 (3rd PR) (#8440)
* Fix part of #6240: Add audio translations for the state content (#8571)
Lesson analytics
* Turn improvements tab off by default (#8797)
* Fix #8660: Add tests for task count notif icon (#8737)
* Only expose thread data through fetchThreads (#8496)
* Fix #6242, #7334: Change style of Playthrough buttons and made clickable area intuitive (#8480)
Server Errors
* Fix #7637: Set hoveredRegion inside onMouseMoveRegion if null (#8733)
* Fix #8702: Adds a cancel callback that removes the cancelled RTE element (#8703)
Translations
* Milestone 1 (1st PR) - Adding Audio Duration (#8203)
Miscellaneous
* Fix #8761: Prevents logging of unhandled rejection errors with status code -1 (#8762)
* Fix part of #8296: fixed rtl text on splash and about pages (#8726)
* Fix #7847: Send dummy mail button in the admin page. (#8686)
* Fix #8368: Migrate to ndb.TextProperty (#8664)
* Routine update of translations. (#8655)
* Fix #8645: Fixes reloading issue with roles tab (#8647)
* Fix #8550: Contact link added (#8551)
* Fix part of #8016: add backend service for http requests in admin-config-tab directive (#8447)
* Fix part of #7176: Refactor dicts in frontend to have only camelCase keys for AutogeneratedAudioLanguageObjectFactory (#8441)
Release team
* Fix typo in app_dev.yaml. (#8735)
* Fix issues in release automation (#8690)
* Fix issues with release automation (#8577)
* Fix comment in build script (#8568)
Learner/Creator Pages
* Fix part of #8746: Story editor, viewer, practice session bug fixes (#8774)
* Fix part of #8746: Move done/success buttons to the right (#8747)
* Fix part of #1189 Added validation for numeric-input rule type IsInclusivelyBetween. (#8742)
* Fix #8601: Added label to the topbox. (#8708)
* Fix #8157: Added a validator for long fractions. (#8671)
* Fix #8578: Story chapters don't play without prerequisite skills (#8654)
* Fix part of #5296: Changed the default math input exploration. (#8648)
* Fix #8450: Customizing "Add Item" button text. (#8638)
* Fix #8604: Topic Name Outlined in Red Until Abbreviated Name Entered (#8621)
* Add the skillreview RTE element to explorations in stories (#8617)
* Fix #2967: Allow pasting of the complete Youtube video URL in RTE components (#8611)
* Fix part of #6271: Refactor update_interaction_hints method to accept a list of Hint objects, instead of a list of dictionaries. (#8591)
* Fix part of #6271: Refactor Outcome update method to accept domain object instead of dict. (#8582)
* Modify the story viewer UI (#8581)
* Fix #7870: Corrrected the margin cutoff in translated content. (#8572)
* Fix #8450: Customizing "Add Item" button text. (#8556)
* Fix #8541: Fixing shape of footer elements (#8542)
* Fix #5690. Added modal to allow user to add commit message when saving an edit to a question. (#8538)
* Fix #8193: Added callout to classroom page. (#8511)
* Fix part of #4057: Add tests for ParamChangesObjectFactory.ts (#8495)
* Fix #8487: Fixing wrong placement of checkbox (#8491)
* Revert "Fix #8450: Customizing "Add Item" button text." (#8583)
Speed improvement
* Reduce bundle size and tidy up manifest (#8663)
* Fix part of #7643: Replace templateUrl with template (#8632)
* Fix #7643: Replace Template url to template in the objects directory (#8590)
Data handling
* Fix part of #5914: Export data for GeneralVoiceoverApplicationModel and UserContributionsScoringModel (#8626)
* Fix part of #5914: Takeout Enforcement (#8210)
Bug fixes
* Fix #8911: Fix issues with exploration state graph (#8936)
* Fix #8827, #8904 and #8903: Fixed highlight reset of feedback icon, visibility of dest state name in outcome editor and behavior of dropdown in 'Add Answer Group' modal (#8918)
* Fix #8820: Fix margin for the exploration feedback so that it can be reached. (#8898)
* Fix #8819: Remove highlight on hovering on disabled button (#8894)
* Fix #8817: Fixes progress bar issue in firefox (#8881)
* Fix #8694: Places CSS for the loading message in the correct place. (#8695)
* Add try/catch for debugging production job (#8661)
* Fix #8600: Adds new placeholder message for feedback. (#8634)
* Fix #8610: Makes backdrop static for profile image upload/edit modal. (#8620)
* Fix #8534: wrong date string format from date-time-format.service.ts (#8576)
* Fix stats regeneration job (#8490)
Angular Migration
* Fix part of #8472: Migrate SubtopicBackendService to Angular (#8643)
* Upgrade SearchExplorationBackendApiService to Angular (#8563)
* Upgrade ExpressionParserService to Angular (#8557)
* Angular8 Migration: Migrating SkillMasteryApiService (#8501)
* Migrate ClassroomBackendApiService to angular (#8462)
* Migrate PretestQuestionBackendApiService to angular (#8452)
* Migrate TopicViewerBackendApiService to Angular (#8427)
* Migrate email-dashboard-data-service to Angular (#8426)
* Migrate AdminDataService to angular (#8295)
Developer experience
* Fixes #8754: Yarn execution changes (#8757)
* Fix signup issues in e2e tests (#8727)
* Update yarn lock file (#8716)
* Fix #8714: fixing stylelint (#8715)
* Fix #6369: Simplify directory structure (#8693)
* Fix #5676: Remove gulp from project (#8691)
* Remove frontend tests for debouncer service (#8649)
* Update actions/checkout version in Actions workflows (#8629)
* Upgrade test script from bash to python (#8613)
* Attempt to fix flaky e2e tests (#8607)
* Increase efficiency of SingleLineCommentChecker (#8378)
* Fix #8269: adding check for travis.yml and protractor.conf.js (#8334)
v2.9.0 (22 Feb 2020)
------------------------
Bug fixes
* Fix #8694: Places CSS for the loading message in the correct place. (#8695)
* Fix #8603: fixing the invalid date in suggestion thread (#8673)
* Fix #8600: Adds new placeholder message for feedback. (#8634)
* Fix #8596: Removes unexpected div focus from interaction preview bar. (#8633)
* Fix #8610: Makes backdrop static for profile image upload/edit modal. (#8620)
* Fix #8608: Adds controllerAs for the map interaction (#8619)
* Fix #8439. Buggy interaction with the author profiles element (#8460)
* Fix #8209. Fixed fraction input errors. (#8454)
* Fixes #8434: fixing one off jobs in prod_env (#8435)
* Fix #8375: Add check for _submitAnswerFn (#8413)
* Fixes #8371 Removing End interaction text. (#8376)
* Fix #8330: Add min selection message for interactions with radio buttons (#8365)
* Learner Dahsboard fix UI detail (#8358)
* Fix #8049 Changed display of oppia-icon-accessibility-label (#8328)
* Fix #8215: Grammatical correctness while displaying date & time (#8357)
Server Errors
* Fix #6757: Add response headers to prevent caching of /userinfohandler (#8526)
* Fix #8181: Change $apply to $applyAsync in Base.ts and library-page.directive.ts (#8466)
* Fix #8464: Add a check for Error object in $exceptionHandler (#8465)
Translations
* Fix #8598: Console Error when Recording Voiceover (#8641)
* Adds Malay language to the supported audio languages (#8585)
Miscellaneous
* Add swap to Google Fonts link (#8554)
* Fix #8518: Add Security.txt (#8533)
* Adds codeowner for community dashboard and translation project (#8494)
* Update installation section of README (#8486)