forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
6041 lines (5278 loc) · 324 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.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)
* Removed obsolete todo from PromoBar (#8457)
* Tidy up feedback services (#8282)
* Fix part of #7450: Make private global function public (#8255)
* Fix part of #8038: Creates a backend service for collection-creation.service.ts (#8407)
* Fix #7372: Added a cassifierTrainingJob.to_player_dict() function (#7931)
Release team
* Fix app.yaml generation (#8562)
* Updates for maintenance mode (#8516)
* Updates for renaming Changelog label (#8515)
* Fixes issue with the update_changelog release script (#8478)
* Modify release info generation for release summary to be generated independently (#8474)
* Fix instructions in changelog updation (#8473)
* Updates to automation scripts to resolve issues faced in previous releases (#8425)
Learner/Creator Pages
* Fix #8602: Fetch the messages after updating the suggestion (#8624)
* Fix part of #7643: Use webpack for more directives (#8540)
* Fix #8449: Learn again button was surfaced incorrectly (#8536)
* Fix delete card icon shown even when not editable (#8535)
* Fix #8398: Use webpack to load HTML in interactions (#8503)
* Fix #8403. Added shadow for nodes in collection view. (#8428)
* Fix #8400. Changed 'audio' text and added an icon. (#8420)
* Fix #8331: Add submit button for multiple choice interaction (mobile only) (#8374)
* Fix #6433: Refactor open playthrough modal (#8117)
* Fix #7336: add getLastUpdateTime() methods to Improvement Tasks (#8101)
* Fix #7661: Improvement icon notification in the navigation bar (#7865)
Speed improvement
* Fix #7605: Remove GLOBALS.TRANSLATOR_PROVIDER_FOR_TEST from karma-globals.ts (#8344)
Data handling
* Replace 'Admin' user_id with 'admin' (#8483)
* Fix #8202: Delete GeneralFeedbackThreadUserModel that have user_id equal to None (#8481)
* Wipeout 3.6: User ID migration changes (#8361)
* Wipeout 4.4: Add account to be deleted page and send email (#8341)
* Fix #8301: Implement delete_multi for exploration and collection right models (#8319)
QA Team
* Fix part of #6240: Admin one off jobs (#8455)
* Fix part of #4057: Increase frontend test services from Milestone 2.2 (2nd PR) (#8433)
* Fix part of #4057: Increase frontend test services from Milestone 2.2 (1st PR) (#8432)
* Milestone 2.1 (5th PR) - Increase coverage for three services (#8387)
* Milestone 2.1 (4th PR) - Increase coverage for three services (#8379)
* Milestone 2.1 (3rd PR) - Increase coverage for three services (#8373)
* Milestone 2.1 (2nd PR) - Increase coverage for three services (#8345)
* Milestone 2.1 (1st PR) - Increase coverage for collection-rights-backend-api.service.ts and validators.service.ts (#8281)
Angular Migration
* Adds interceptor for Angular (#8507)
* Fix #7403. Changed mathjs imports to partial imports. (#8467)
* Migrate StoryViewerBackendApiService to angular (#8438)
* Migrate ReviewTestBackendApiService to angular (#8302)
* Upgrades StateImprovement Service to Angular (#8116)
Developer experience
* Fix #7957: Convert e2e bash script to a Python script (#8543)
* Fix #8534: Revert commit related to failing test (#8537)
* Increase angular timeout (#8509)
* Increase the frontend tests timeout to 1 minute (#8502)
* Remove unused file from FE coverage (#8459)
* Fix frontend test timeout (#8453)
* Updates Angular version in package.json & yarn.lock (#8430)
* Fix pylint linter decoding error. (#8418)
* Fix #7601: Remove separate typescript compilation (#8412)
* Fix part of #7450: Tests private method through public interface (#8411)
* Fix #7830, Added a custom lint check to ensure that there is an empty line between imports and fileoverview. (#8409)
* Fix #8125. Changed setup.py to rename yarn folder (#8405)
* Revert commits from frontend test configuration changes. (#8388)
* Fix #7427: Added args in the docstring of core/jobs_registry.py (#8386)
* Fix #8380: Move non-file-upload tests back to Travis (#8381)
* Fix #7427: Adds args in docstring of core/domain/story_domain.py (#8377)
* Adds readme to various folders (#8329)
* Fix #8077: Upgrades Angular JS to version 1.7.9 (#8254)
* Add new CircleCI job in order to check if any fully covered frontend file has decreased after PR changes (#8130)
* Changes popper.js name to popper-core in manifest.json (#8442)
* Fixes part of #5939: Custom pylint extension to ensure that docstring follow correct format. (#8410)
v2.8.9 (01 Feb 2020)
------------------------
Speed improvements
* Moved no-script tag to be injected using webpack (#8325)
* Fix #6732: Remove files from tsconfig.json (#8148)
Lesson analytics
* Stop indexing the cached last_nonempty_message_text (#8367)
Translations
* Fixes: 8350 Translation tab button text overflow (#8364)
Release Team
* Minor automation changes for branch cut (#8222)
* Fix initial release prep script (#8204)
* Update release info script for new changelog labels (#8291)
QA Team
* Milestone 1 (3rd PR) - Increase coverage for learner-answer-details-data.service.ts (#8180)
* Add sourceMap on tsconfig in order to fix test coverage issues (#8213)
* Milestone 1 (2nd PR) - Increase coverage for easy tests (#8164)
* Add simple e2e test for community dashboard page. (#8162)
* Milestone 1 (1st PR) - Increase coverage for easy tests (#8136)
Miscellaneous
* Remove extra file pattern from karma conf (#8323)
* Fix part of #7427 Add args, raises in exp_domain.py (#8288)
* Fix part of #7450: Modify private method in collection_services_test (#8287)
* Report Topic names in addition to Entity id for the abbreviated_name audit job (#8253)
* Fix part of #7450: Modify test method in InteractionUnitTests (#8201)
* Fix #7429, #7659: Set model fields as required (#8185)
* Wipeout 4.2: Implement pre deletion on the backend (#8182)
* Fix part of #7427: Add args, raises in base.py (#8176)
* Make SkillEditorTest's private method to be public (#8163)
* Fix part of #7450: Changed ConfigPropertyRegistryTests from private to public interface (#8158)
* Fix part of #7450: modify private methods in html_validation_service files (#8156)
* Fix part of #7427: Adds args, returns and raises in docstrings of utils.py (#8134)
* Wipeout 3.5: User ID migration (#8097)
Learner/Creator experience
* Fix #8384: Adds frontend skill validation (#8436)
* Fix new structures issues (#8363)
* Removed QuestionRights and SkillRights models (#8337)
* Fix #8199: Adds 16:9 aspect ratio cropping for topic thumbnail (#8303)
* Fix #8192: Added search bar to classroom page (#8270)
* Fixes #6601 modified checks for enabling and disabling the submit button in the suggestion modal (#8251)
* Renames the 'concept' RTE element to 'skillreview' (#8227)
* Fix #8126: Removed the error message for intermediate fraction expressions (#8149)
* Fix #8127: Multiple response audio highlight issue fix (#8140)
* Added a 'link concept card' RTE button (#8122)
* Introduce message cache to threads (#8091)
* Fix #8019: Adds abbreviated topic name and thumbnail fields in… (#8067)
Angular Migration
* Migrate StorySummaryObjectFactory to angular (#8326)
* Migrate StateTopAnswersStatsBackendApiService to angular (#8280)
* Migrate ExplorationFeaturesBackendApiService to angular and add tests (#8246)
* Angular Migration ConceptCardObjectFactory (#8229)
* Migrate ReadOnlyStoryNodeObjectFactory and StoryPlaythroughObjectFact… (#8220)
* Angular Migrating PlayerPosition and TopicObjectFactory (#8200)
* Upgrades CodeReplRulesService to Angular (#8195)
* Angular Migration: SuggestionThreadObjectFactory and ExtractImageFilenamesFromStateService (#8188)
* Migrating AudioTranslationService, StateObject, Playertranscript (#8183)
* Upgrades ExplorationObjectFactory to Angular (#8177)
* Upgrade PythonProgramTokenizer and CodeReplPredictionService (#8137)
* Angular 8 Service Migration DebugInfo, TopicSummaryObjectFactory (#8135)
* Upgrades BrowserCheck and LanguageUtil Service to Angular (#8115)
Community contribution and dashboar
* Fix #8007: Add one off job to regenerate skill opportunity models (#8243)
* Fix part of #7471: Frontend changes for question suggestion integration (#8057)
Data handling
* Wipeout 4.3: Full deletion process (#8335)
* Store trained classifier data on file system (#8268)
Bug fixes
* Fix #7041: Fixes race condition issue on editor page relead (#8321)
* Adds correct path for the dir in skip_files of app_dev.yaml (#8309)
* Fixes #8184: Force refresh and prevent submitting new message while one message is being submitted (#8290)
* Fixes return type of Classroom backed api service to be TopicSummaryO… (#8147)
* Fix part of #8015: Return ReadOnlySubtopicPageData instead of ReadOnlySubtopicPageDict (#8121)
Developer experience
* Decrease parallelization (#8333)
* Remove code climate coverage (#8317)
* Update yarn lock file (#8316)
* Fix part of #7450 Added new function to avoid calling a private method from user_query_jobs_one_off_test.py (#8310)
* Introduce Github Action for lint checks (#8306)
* Update node packages (#8305)
* Revert "Halt a protractor suite once the first test fails." (#8304)
* Reconfigure circleci cache (#8299)
* Fix #7852: Update skulpt to v1.1.0 and get rid of the requirement to build it locally. (#8298)
* Update Codeowner file to reflect change in username (#8322)
* Move fileUploadFeatures and topicAndStoryEditor E2E tests to CircleCI (#8312)
* Fixes #8289: Adding profile features to travis and fixing the tests (#8294)
* Removes feconf.py.bak file after updating the feconf.py file while running e2e tests (#8292)
* Try switching back to ChromeHeadless. (#8286)
* Use a mock for speechSynthesis to prevent flakiness in Karma tests. (#8283)
* Halt a protractor suite once the first test fails. (#8279)
* Remove master branch from Travis. Update CONTRIBUTING.md to match wiki home page. (#8278)
* Fixes #8265: Resolve comments from 8233 (#8276)
* Increase browser timeout (#8275)
* Upgrade node from v10.15.3 to v10.18.0. (#8266)
* Increase concurrent runs for CircleCI (#8264)
* Fixes #8260: Adding adminPage e2e test to travis.yml (#8261)
* fixes #8258: fix .eslintrc file trailing commas and ordering. (#8259)
* Change chrome headless flags and modify voice test (#8233)
* Fix #8123 (#8198)
* Update yarn version (#8187)
* Lesson analytics temporary ownership handoff to seanlip (#8170)
* Fixes frontend text issues on develop (#8167)
* Fix #8118: Ensuring use of 'pip2' or 'pip2.7' during installati… (#8153)
* Update serialize-javascript and other js dependencies (#8151)
* Reinstate test whose removal caused backend coverage to drop. (#8186)
* Fix #8023: Introduce direct coverage integration (#8145)
* Optimize the backend test runner (#8141)
* Fix build.py is not working correctly on Windows (#8139)
v2.8.8 (30 Dec 2019)
------------------------
Bug fixes
* Adds correct path for the dir in skip_files of app_dev.yaml (#8309)
* Fixes #8184: Force refresh and prevent submitting new message while one message is being submitted (#8290)
* Fix ckeditor tableselection issue (#8256)
* Fix new structure editor issues (#8245)
* Fix #8178: Remove fit-content from codebase (#8240)
* Fix #8214: non-null exploration version is passed in the stats calls (#8235)
* Fix #8114: Fixing admin page navbar (#8224)
* Fix admin navbar icons (#8113)
* Fix date formatting (#8084)
* Adds log for #6921 to track sequence of steps (#8069)
* Fix ordering in UpgradedServices file (#8050)
* Fix #7973: Fixes tutorial, navbar for small screens (#8044)
* Fix #7975: 'this' was out of scope in SidebarStatusService (#8011)
* Fix #7124: add css to preferences-bio textarea (#8010)
* Fix #7967: ensure chapter editor validation failures are not cut off on right (#8001)
* Fix #7963: Adds margin for logic proof help lines (#7997)
* Fix #7960, #7995: Fix date, publish button (#7996)
* Fix #6158: Log for interpolate url issue (#7952)
* Fixes 7939: Admin navbar misplaced fix (#7940)
* Fix #7926: Add polyfill for navigator.mediaDevices.getUserMedia (#7933)
* Fix #7906: Adds a check for errorCallback (#7927)
* Resolves ckeditor.js 404 issue on the community dashboard page (#7924)
* Fix #7342: Replace ctrl.stateName with updated state name value (#7907)
* Fix #7691: Card Basic Setting Alignment Fixed (#7904)
* Fix #7784: Add type as a second parameter when contructing a blob (#7785)
* Fix #6546: Preserve GIF Animation on resize and crop (#7760)
Code health
* Fix continue button not working in presence of correctness feedback (#8293)
* Fixed a typo in fileoverview in unit tests of ClassroomBackendApiService (#8120)
* Fix #6847: Use absolute path to require html files (#8078)
* Change ALL_LANGUAGE_CODES to SUPPORTED_CONTENT_LANGUAGES (#8062)
* Fix part of #8016: Added a seperate backend api service for review-test-page directive (#8061)
* Fix UpgradedServices to use true dependency management (#8013)
* Fix #5145: unifies from_backend_dict and from_dict methods in Playthrough and ExplorationIssue domain models (#7992)
* Fixes part of #6240: e2e tests for chapter create, edit, and delete (#7922)
Development workflow
* Upgrade eslint (#8109)
* Fixes: start.py can not run on Windows system (#8106)
* Disable audit tests (#8104)
* Upgrade Text Input Prediction Service and Text Input Tokenizer (#8103)
* Introduce Github Actions actions frontend tests (#8102)
* Upgrades TextInputRules, TextInputValidation and PencilCodeEditorRule Service to Angular (#8095)
* Migrating Context, LocalStorage Service to Angular (#8094)
* Upgrades StateObjectFactory and StatesObjectFactory to Angular (#8093)
* Revert "Fixes (partially): oppia can not not run on Windows (#7971)" (#8087)
* Fix #8068: Fix no-message in lint error for bad patterns issue. (#8075)
* Fixes part of #5939: Custom pylint extension to ensure that comments follow correct format. (#8066)
* Fix small error in pre-commit hook to prevent .pyc file from being copied. (#8065)
* Upgrades UrlInterpolationService to Angular (#8064)
* Fix #8046: create command line flag for no automatic restart (#8058)
* Resolves audit issues (#8056)
* Fixes part of #5939: Custom pylint extension for checking division operator (#8034)
* Add more explanation to the top of the run_backend_tests script. (#8012)
* Upgrades Validator, ImprovementDisplay, ExplorationHTMLFormatter, SolutionObjectFactory and InteractionObjectFactory to Angular (#7989)
* Resolve comments from PR 7953 (#7979)
* Fix #6988: Remove fonts directory (#7978)
* Fixes (partially): oppia can not not run on Windows (#7971)
* Fix skulpt install (#7953)
* Resolve audit errors (#7949)
* Fix part of #7427: Addresses docstring issues in one of the files (prod_validation_jobs_one_off.py) (#7948)
* Fix #7918: Run install_third_party_libs.py script before running e2e tests (#7947)
* Migration angular services: changes in human readable (#7945)
* Upgrades NumberWithUnits related services to Angular (#7944)
* Update tests according to the changes in #7930 (#7941)
* Angular Services Migration combined (#7934)
* Fixes #7647: Subprocess check call conversion (#7930)
* Fix #7868: Added lint check for a newline above args in python doc string (#7929)
* Migrating CsrfTokenService (#7818)
Translations
* Fix #8179: The voiceover error message doesn't get displayed in every tab. (#8234)
* Adds Ga and Akan languages in supported audio langauge list (#8086)
Community contribution and dashboard
* Fix #7994: Add frontend SkillOpportunity and ExplorationOpportunity object class (#8063)
* Services required for voiceover application (#7857)
* Fix part of #7471: Backend changes for question suggestion integration (#7819)
* Fix part of #6776: Frontend changes for listing skill opportunities on the Community Dashboard page. (#7602)
New structures
* Allowed empty misconception notes in skill editor (#8131)
* Fixed question image upload and added visibility of private pages to admins and TMs (#8090)
* Allow question linkage to skills outside topic during creation (#8045)
* Empty rubric explanation allowed with placeholder (#8042)
* Add editable linked skills list to question editor (#8004)
* Fix part of #5914: Add testing for nonexistent users in export_data (#7942)
* Fix part of #5914: Takeout Service (#7644)
Updates to static pages
* Wipeout 4.1: Implement part of frontend wipeout (#8022)
* Fix #7867: do client-side redirect for app pages. (#7921)
* Fix part of #7643: Replace templateUrl with template in splash page (#7702)
Infrastructural changes
* Upgrades state editor properties services (#8110)
* Fix #7880: Fix node installation for 32 bit systems (#8108)
* Remove extra one-off jobs (#8107)
* Fix karma.conf.ts issues that is falsely increasing the frontend test coverage (#8085)
* Wipeout 2.9: Check snapshot content models when looking for user_id (#8036)
* Fix part of #6271: Update update_worked_examples to accept object as a parameter instead of dict (#8021)
* Wipeout 3.4: Start using GAE user ID (#8008)
* Release Automation [Milestone 7]: Automation for initial release preparation (#8005)
* Migrating filters (#7935)
Testing coverage
* Fixes part of #7450: removes all calls to user_services._save_user_settings from user_services_test.py (#7972)
* Fix Part of #6240: Subtopic Editor Drag and Drop Skills E2E Test (#7901)
* Fix part of #6240: Add e2e tests for testing navigation buttons in an exploration (#7888)
* Fix #6687: Write e2e tests for file upload process (#7839)
Improvements to editors and players
* Fixes #7430: Added a directive to prevent title overflow from the exploration info box (#7985)
* Fix part of #6482: button is disable until all requirements are fulfilled - fixed \o/ (#7908)
* Voiceover application storage model and domain class (#7843)
v2.8.7 (24 Nov 2019)
------------------------
Code health
* Remove DubeySandeep from codeowner for various miscellaneous projects. (#7914)
* Fix #6738: changed direct usage of window.location (#7879)
* Fix part of #7427: Add valid args docstring for story_domain_test.py (#7832)
* Migrating deviceinfo service (#7821)
* Fixes #6240: adding e2e test for assigning and viewing roles (#7767)
* Fix part of #6240 Add test for exploration stats on user profile (#7766)
* Fixes part of #6240: Mark correct answers after enabling correctness feedback (#7764)
Development workflow
* Resolves audit issues (#8056)
* Resolve yarn audit (#8006)
* Resolve audit errors (#7949)
* Switch download source for CKEditor libs to GitHub for better stability. (#7920)
* Fix part of #6975: Rename services directory files according to new naming conventions (#7896)
* Fix #7890: Add more explicit codeowners fix (#7895)
* Fix #7831: Added lint check for excessive new lines between function definitions (#7881)
* Fix part of #7450: Modify private methods calls in GenerateHashTests to public calls (#7860)
* Fix part of #6975 Apply the new naming convention to remaining directories (#7844)
* Migrated DocumentAttributeCustomization & MetatagCustomization (#7835)
* Migration url service (#7834)
* Migrating dateTimeFormatService and format-timer.pipe (#7827)
* Migration extension tag assembler serivce (#7805)
* Upgrades AlertsService and NormalizeWhiteSpaceFilter to Angular (#7777)
Translations
* Adds Ewe language for translation and voiceover. (#7871)
* Routine update of translations. (#7887)
Community contribution and dashboard
* Fix #7968: Adds missing language code in the exploration opportunity domain object (#7999)
Bug fixes
* Fix #8048: Fix refresher modal on small screens (#8054)
* Fix #8024: Decrease 'min-width' of feedback editor (#8051)
* Fix #7973: Fixes tutorial, navbar for small screens (#8044)
* Fix #7974: Fix Lateral Scroll Bug on Learner Dashboard Mobile (#8026)
* Fix #7976: Changes to display the avatar of a different user (#8017)
* Fix #7975: 'this' was out of scope in SidebarStatusService (#8011)
* Fix #8002: Unused skills table text overflow fix (#8003)
* Fix #7967: ensure chapter editor validation failures are not cut off on right (#8001)
* Fix #7963: Adds margin for logic proof help lines (#7997)
* Fix #7960, #7995: Fix date, publish button (#7996)
* Fix #7983: Minor CSS fixes (#7986)
* Revert "Wipeout 3.4: Start using GAE user ID" (#7954)
* Fixes 7939: Admin navbar misplaced fix (#7940)
* Fix #7849: Add background color when hovering over sign-button (#7917)
* Fix #7691: Card Basic Setting Alignment Fixed (#7904)
* Fix #6909: Add a polyfill for SVGElement.prototype.outerHTML (#7886)
* Fix #7381: Replace apply with applyAsync in top-navigation-bar.directive (#7885)
* Fixes #6062: aligns the share buttons of any exploration page (#7883)
* Fix #7869: Fixes collection page UI issues (#7878)
* Fix #7873: Removes arrow function with function to resolve undefined `this` issue. (#7877)
* Fix #7855: Change e.message() to e.message (#7866)
* Fix #7529: Adds a strict check for Outcome object before executing hasNonemptyFeedback (#7856)
* Fix #7794: Add warning when MIDI is unsupported in the browser (#7840)
Infrastructural changes
* Rename gae_user_id to gae_id (#7998)
* Release Automation [Milestone 6]: Automate backup restoration for migrations on backup server (#7916)
* Release Automation [Milestone 5]: Add checks to ensure that travis and circleci are run before prod deployment, changelog generation for hotfixes (#7912)
* Wipeout 2.8: Add has_reference_to_user_id to remainig models (#7893)
* Wipeout 2.7: Reindex all children of BaseSnapshotMetadataModel (#7874)
* Wipeout 3.4: Start using GAE user ID (#7823)
* Wipeout 2.5: Add has_reference_to_user_id to another models (#7813)
* Release Automation [Milestone 4]: Add pre commit tests in deploy, automate hotfix branch creation (#7790)
Testing coverage
* Covered missing lines in skill_editor.py (#7905)
New structures
* Fix #8032: Truncate skill name to 35 characters for display (#8033)
* Question editor fixes (#7910)
* Added fields to skill editor (#7909)
* Split flag for new structure viewers (#7898)
* Add more interaction types to the question editor and fix question mode detection in outcome editor (#7894)
* Removed the concept of "private skills" (#7891)
* Flipped the ENABLE_NEW_STRUCTURES_VIEWER flag (#7889)
* Changes to questions tab and rubrics editor (#7846)
v2.8.6 (28 Oct 2019)
------------------------
Bug fixes
* Fix #7802: Fix indexing of explorations after update (#7853)
* Fix #7663: Fixes collapsible block (#7850)
* Reverts tests for Improvement tab added in #7719 (#7758)
* Fix issues with capitalize filter (#7757)
* Fix #6158: Initialise $interval inside initSession method (#7738)
* Fix #7441: Replace 'one' with explicit key '=1' for certain languages (#7727)
* Fix #7689: fixes the author dropdown menu in the footer (#7726)
* Fix 7687: fixed library page tablet view (#7724)
* Fix #6921: Add logger for _submitAnswer issue (#7723)
* Fix #7681: HTML Select Option Styling (#7721)
* Update thread status when suggestion is resolved (#7719)
* Fix #7693: Navbar Menu highlight fix (#7717)
* Fix #7662: Cursor fix (#7713)
* Fix #7660: Set maximum width for link field and set ellipsis on it (#7701)
* Fix #7653: broadcast 'stateEditorInitialized' after state-editor has been initialized (#7697)
* Fix #7688: Uses font-awesome font instead of glyphicon for the… (#7692)
* Fix #7684: Replace single quotes with double quotes (#7685)
* Fix mailgun issue arising due to Python encoding error (#7652)
* Fix #7252: Add undefined check for NgAudio audio object (#7640)
* Fix error in creator dashboard due to duplicate prefixes. (#7636)
* Fix #7444: Make sessionStorage existence check more robust (#7628)
* Fix #5793: Suppress tpload errors that occur with -1 status code (#7611)
* Fix navigation e2e test suite breakage (#7603)
* Fix e2e tests and few small fixes (#7600)
* Fix part of #7589: Fix unicode errors on develop (#7596)
* Fix #7553: General classroom page fixes (#7580)
* Replace call of bash scripts with python (#7573)
* Fix #7253: Handle malformed language_code param gracefully (#7563)
* Fixed a bug that raises after submitting an answer in the question player (#7551)
* Fix #7460: Adds explicit annotation for $scope in copier.directive (#7547)