forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
1731 lines (1442 loc) · 95.1 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. For a full changelog, please see
https://github.com/oppia/oppia/commits/master
v2.3.1 (3 Jul 2016)
-------------------
Creator dashboard and notifications:
* Fix #1366: redesign the creator dashboard to highlight stats and display card/list view.
* Fix #461: implement functionality for sending emails to creators when they receive feedback messages on their explorations.
* Remove the "neither, thanks" option from the activity creation modal.
* Implemented a version of stats_services.get_top_state_rule_answers to
fetch answers for multiple explorations simultaneously.
Library page:
* Read featured activities from a list, in order to reduce loading time in the library.
* Change "featured explorations" to "featured activities" in the library.
* Add scripts to randomize the library banner image.
* Fix #2013: correctly align the banner image.
* Fix #2164: expand the width of an exploration summary tile to match the width for the collection summary tile.
* Fix #1979: fix alignment of the carousel scroll buttons.
* Fix #2144: position the language dropdown selector correctly in the navbar for screen widths less than 1230px.
* Fully remove the 'contributors' field from the exploration summary data passed to the frontend.
Learner page:
* Fix #1795: add social sharing icons to the end of an exploration.
* Fix #2113: prevent recommended explorations from disappearing behind the tutor card on small screens.
* Fix missing text next to player feedback checkbox.
* Remove the standard navbar tabs from the collection player.
Editor page:
* Use the graph visualization in the history tab to display the changes when an exploration is saved, and remove the corresponding logic from the backend.
* Fix #1801: modify the “publish exploration” modal to be more visually appealing.
* Add a button to the exploration preview tab that allows the user to restart from the initial card.
* Show a list of all current parameter values in preview mode.
* Hide the exploration graph if there is only one card in the exploration.
* Fix #2078: prevent unsaved changes from being lost when editing a state name.
* Change the wording for the "featuring" functionality in the exploration settings tab to indicate that this no longer places the exploration in the “Featured Activities” group in the library.
Profile page:
* Fix #1867: prevent the tooltips on the summary tiles from flickering.
* Fix #2075: make the subject interests wrap properly.
Preferences page:
* Fix #2092: prevent the dropdown placeholders from showing i18n keys instead of the correct placeholders.
* Fix #2089: update the display of the text field for Preferred Languages on mobile phones.
I18n:
* Add Indonesian and Portuguese translations.
* Add a qqq.json file with explanations of translation keys.
* Add tests to verify keys in i18n json files.
* Fix #2117: add i18n for title of creator dashboard.
* Fix #2120: add i18n for the buttons on the Teach page.
* Fix #2121: remove unused keys from translation JSON files.
Other pages:
* Fix #2023: display the About page tabs correctly on small-width screens.
* Add a Donate page.
* Remove redundant /participate page, add redirect URLs, and add a new URL for the 'Contact us' page.
UI (general):
* Fix #2108: remove rounded corners from the select2 dropdown.
* Fix #2035: replace glyphicons with material icons.
* Fix #2091: adjust footer on smaller screens.
* Fix #1901: move terms/privacy links to the footer.
Rich-text components:
* Fix #1931: add caption functionality for images
Interactions:
* Fix #2074: for ItemSelectionInput, display the rule selections correctly.
* Fix #1740: for CodeRepl, start at the top of the code when initially displaying the Python coding window.
* InteractiveMap: fix width of map on narrow viewports.
Infrastructure and tests:
* Move the rules to a rules.json file that is accessible by both the frontend and backend.
* Fix #2047: add a performance testing framework.
* Remove obsolete configuration properties.
* Add a new task queue for backups.
* Fix #1857: add a flag allowing developers to enable minification on the dev server.
* Fix #1974: add pattern checks for ‘==’ and ‘!=’ in JavaScript files.
* Divide the editor e2e test suite into mainEditor and editorFeatures.
v2.3.0 (7 Jun 2016)
-------------------
Site-wide features:
* Add suppport for internationalization.
* Add title and meta descriptions.
* Fix #1845: add a warning if the user has disabled JavaScript.
* Fix #1900: correctly close the sidebar menu on mobile.
* Fix #1842: prevent the profile avatar dropping off the top of the page on small screens.
Splash/About pages:
* Add new About, Teach and Get Involved pages.
* Reverse the text and update the images in the lower half of the splash page.
* Redirect to the creator dashboard if the user logs in from the splash page.
* Use absolute paths for images on the splash page.
Library page:
* Add a recently-published group to the library index page.
* Add a top-rated group to the library index page.
* Add a banner and text to the top of the library index page.
* Add a footer to the library index page.
* Filter null explorations from showing up in the library index page.
* Fix #1456: create summary tiles for collections.
* Fix #1860: elongate exploration summary tiles to allow two lines of the exploration title to show.
* Fix #1840: fix the oval around the contributor icons in the exploration summary tiles.
* Remove avatars from the exploration summary tiles due to latency issues.
* Remove the on-hover indicator from the library carousel scroll button.
* Fix #1864: fix carousel behaviour when the user clicks on the scroll button multiple times in rapid succession.
* Fix #1911: fix incorrect carousel shadow height.
* Fix #1918: Prevent the site feedback button from being hidden in the library index page.
* Add new subject icons for Spanish and Gaulish.
Exploration editor:
* Add functionality for autosaving drafts.
* Allow jumping to a particular state in preview mode.
* Prompt for missing metadata fields just before publication.
* Streamline the saving flow for the various state properties.
* Refactor the parameter metadata computation into a separate service.
* Fix #1877: prevent the 'add new response' modal from exiting when a creator clicks outside it.
* Fix #1829: in the history tab, reduce the space between the committer's username and the exploration version.
* Fix #1894: prevent the category dropdown list from unnecessarily scrolling to the bottom.
* Remove the underline button from the rich-text editor toolbar.
* Remove the "nominate exploration" button from the editor settings page.
* Remove the 'missing objective' warning.
Collection editor:
* Introduce a new collection editor (currently in beta).
Creator dashboard:
* Rename 'My Explorations' to 'Creator Dashboard'.
* Fix #1954: add collection tiles to the creator dashboard.
* Fix #1696: introduce a modal for choosing which type of activity to create.
* Fix #1705: remove the old exploration creation modal.
Learner page:
* Fix #1489: make the learner view responsive.
* Fix #1881: remove unnecessary scroll bar.
* Fix #1814: remove unnecessary button styling and arrows in the tutor card.
* Fix #1815: place the tutor avatar above the supplemental card.
* Fix #1818: show the help card at the bottom of the viewport if the interaction is too tall.
* Fix jerky animation for showing previous answers.
* Fix #1816: fix single-card to double-card animation.
* Fix #1817: center the animation at the Oppia avatar position.
Interactions:
* ItemSelectionInput:
- Fix #1766: correctly initialize the notEnoughSelections flag.
Profile page:
* Fix #1793: allow the user to click on their profile image in order to edit it in their Preferences page.
* Fix #1826: show subject interests properly in Firefox.
Infrastructure and tests:
* Improve application performance by disabling debug data.
* Fix #1540: add tests for detecting bad patterns.
* Add a one-off test case to check the computation of exploration contributor summaries.
* Support setting CHROME_BIN to the Chromium browser path in Unix-based systems.
* Fix #1394: fix Python version check in setup.sh.
* Fix #1848: set the appropriate http_proxy environment variable if the user is on Vagrant.
* Increase the default memory in the Vagrantfile to 2048MB.
* Fix #1836: add a .gitattributes file to set proper EOL terminators.
* Tighten CSRF payload checks to correctly handle empty request data.
* Fix #1757: divide e2e tests into separate suites.
* Fix #1779: split e2e tests into separate suites on Travis-CI.
* Protractor bugfix: scroll to the top of the page before clicking on the state graph.
v2.2.0 (7 May 2016)
-------------------
Overall site design and navigation:
* Fix #1510: separate the library page from the splash page.
* Clicking on the logo at the top left redirects to the appropriate home page.
* Fix #1075: use material icons instead of glyphicons.
* Fix #1615: add a footer to all informational pages on the site
Splash page:
* Redesign the splash page.
Library page:
* Rename 'gallery' to 'library' throughout the codebase.
* Add an index page with explorations in different categories.
* Fix #1360: add a separate category for featured explorations.
* Fix #1681: redesign the number-of-contributors indicator on the exploration summary tiles.
* Create new category icons.
* Reduce the number of categories in the category dropdown menu.
* Add stable URLs for search result pages.
* Redesign the 'loading more results' indicator.
Editor page:
* Redesign the editor onboarding flow.
* Fix #1537: send an email when a user is granted new rights to an exploration.
* Fix (part of) #798: clarify the message shown when an interaction is missing.
* Fix #1679: in the editor view, prevent the feedback tab overlapping the sign-in menu.
* Reduce the widths of the editor tabs.
* Tidy up the save/publish button styling in the navbar.
* Fix #1676: remove the small gap between the "Save Draft" and "Discard Draft" buttons.
* Remove the visibility toggle for private explorations from the Settings tab.
* Fix a bug in getEditorTabContext() that resulted in incorrect detection of the editor preview mode.
* Fix #1788: correctly align parameter input fields in Firefox.
Learner page:
* Fix #1497: ensure that the inter-paragraph spacing behaves correctly.
* Fix #1678: prevent share links from being squashed in the information card.
Interactions:
* CodeRepl:
- Fix #1682: add an OutputContains rule.
- Fix #1671: make text highlighting visible.
- Fix #1767: add a 'test run' button.
- Fix a bug where the error message displayed in the user-facing console was not updated promptly.
Rich-text editor:
* Add indent/outdent functionality.
* Add block-style previews for some RTE components.
* Fix #914: remove the RTE icon resize handlebars in Firefox.
Profile page:
* Fix #1350: redesign the profile page to include a portfolio section and display responsively.
* Fix #1544: Fetch Gravatar images or identicons when a new user signs up.
Other pages:
* Fix #1703 (preferences page): fix the preferred languages dropdown width.
* Fix #1712 (admin page): add a navigation bar, and separate the page into different categories.
* "My explorations" page:
- Autofocus correctly when the 'create exploration' modal is opened.
- Redesign the page to be more useful to new creators.
- Show a more informative status ("Published" instead of "Good") for published explorations that have no unresolved feedback messages.
Developer workflow:
* Fix #995: add Protractor e2e tests to Travis-CI.
* Improve Travis-CI build times by caching specific directories.
* Fix #1717: enforce correct permissions on the node_modules/ dir in Vagrant.
Infrastructure and tests:
* Update protractor to 3.3.0.
* Fix #1434: replace deprecated $http.success & $http.error with $http.then.
* Fix #1369: add a domain layer for objects related to feedback threads.
* Fix #1729: add tests for summary_services.py.
* Add analytics events for buttons on the splash page, and for opening the 'publish exploration' modal.
v2.1.5 (3 Apr 2016)
-------------------
Overall site design and navigation:
* Fix #1347: redesign the navbar, and include a "create" button on more pages.
* Fix #1533: make "My Explorations" the homepage for logged-in users.
* Fix #1531: introduce an alertsService to display warnings and transitory info messages.
* Fix #1622: replace PNG images with icon fonts (where possible) to improve performance.
Gallery page:
* Fix #1617: add a "deselect all" option in the category and language selectors in the search bar.
* Fix #1550: return profile pictures together with the other data in the exploration summary tiles, in order to avoid multiple unnecessary fetches to the server.
* Fix #1543: for community-editable explorations, the first avatar in the exploration summary tile should be a globe.
* Fix #1668: reinstate the search loading indicator.
* Fix #1529: truncate long usernames in the gallery card tooltips so that they don't overflow.
* Create new directives for the search bar and the grid of exploration summary tiles.
Editor page:
* Fix #473: changing the rule type should preserve existing rule input fields, whenever possible.
* Fix #1613: after publishing, creators should be encouraged to share their explorations.
* Fix #1575: correctly restore the "Save Draft" button after the user tries to save changes that have no net effect.
* Fix #1656: fix alignment of status and state in feedback/suggestion threads.
* Fix #1370: show the number of open feedback/suggestion threads in the exploration editor navbar.
* Fix #1566: clicking the edit icons in the Oppia response editor should open up the response editor.
* Generate default rule input values in the backend and send these to the frontend, thus reducing the need for the core code to special-case on particular interaction ids.
* Fix #1536: within the multiple-choice option dropdown in the rule selector, images should not overlap.
* Partially address #1287: implement a storage layer to support auto-saving of drafts.
* Remove unnecessary two-way binding in the rule type dropdown selector.
Learner page:
* Fix #1637: prevent the feedback popup from overflowing off the screen.
* Increase the size of the first avatar on each exploration card.
* Adjust the progress-dot tooltips to point towards the left.
Interactions:
* CodeRepl: display underscores correctly in the code editor.
* ItemSelectionInput: make the UI more similar to that of MultipleChoiceInput.
* LogicProof: update the Angular reference in the JavaScript generating helper file.
* PencilCodeEditor: hide the Pencil Code error console.
* SetInput: remove the error that arises in the editor when trying to add an element to a rule input.
* SetInput: explicitly instruct the learner to add one item per line.
* TextInput: always show the "submit" button.
Rich-text editor:
* Fix #945: improve the rich-text editor performance by removing unnecessary internal $watch statements.
* Fix #448: redesign the icons for all the RTE components.
* Fix #1534: prevent long math LaTeX formulas from spilling out of the rule selector dropdown.
* Fix #1496: ensure that videos stay within their container when they are inserted into a Collapsible RTE component.
Collections:
* Fix #1564: make it possible to unpublish collections.
* Fix #1649: pass num_views to collection learner view
* Fix #1216: fix the display of the collection viewer tiles on small screens.
* Add collection editor frontend and backend controllers, so that the collection editor is fully functional.
Other pages:
* Fix #1288 (profile page): redesign the calculation of the impact score.
* Fix #1368 (notifications page): make the page display correctly on small screens.
* Fix #1628 ("my explorations" page): ensure that the "Unresolved Feedback" status message does not overflow the exploration card.
* Fix #1633 (about page): reinstate the missing "Oppia Foundation" anchor.
* Fix #1631 (privacy page): de-italicize the text in the sidebar.
Developer workflow:
* Install XVFB and adjust setup.sh to prepend xvfb-run to frontend test commands for developers who are using Vagrant.
* Fix #1568: add an error message if the GAE download via curl fails.
* Fix #1488: make the pre_push hook switch to the correct branch before linting.
* Update run_frontend_tests.sh to not run the minified tests by default, and add an optional flag to skip the installation process. These two flags together significantly speed up running the frontend tests.
* Fix #1643: report build status on gitter and IRC.
* Update the README to point to the new IRC channel.
Infrastructure and tests:
* Fix #1504: update textAngular to v1.4.5, and add Rangy (v1.3.0) as a third-party dependency.
* Fix #1416: guard against the backend sending duplicate emails.
* Fix #1579: introduce a standard naming scheme for example users in the Protractor tests.
* Add an analytics event for new signups.
* Remove all author tags from the codebase.
v2.1.4 (28 Feb 2016)
--------------------
Learner page:
* Fix #1471: show the exploration ID correctly in the embedding instructions.
Gallery page:
* Fix #1438: show contributors' icons on the gallery cards.
* Fix #1437: fix a race condition when searching in the gallery.
Rich-text components:
* Fix #1380: autoplay videos only if the learner is seeing them for the first time, and the video is in view.
* Fix #318: in the RTE, auto-prepend "https://" to links which don't specify a protocol.
* Fix #1466: prevent an error from occurring when spaces are typed into the link editor.
* Fix #1421: update MathJax to v2.6.0 to prevent the Math component from showing a black vertical bar on the right border.
* Fix #1432: MP4 video components used to load inconsistently; to avoid this, we now clear the 'src' tag after a video leaves the user's view to release memory and browser resources.
Editor page:
* Add an html-select-directive, so that LaTeX and images are displayed correctly in multiple choice options.
* Fix #1088: hide the feedback editor for the Continue Button interaction.
* Fix #1089: do not show a default warning for multiple-choice interactions if all choices have been catered for.
* Fix #1516: prevent a console error from arising when the first state's default answer group feedback is edited.
Infrastructure:
* Add full instructions for installing Oppia on Windows.
* Remove ComputedProperty construct in order to speed up requests.
* Add infrastructure for frontend event reporting.
* Replace the deprecated gulp-minify-css library with gulp-clean-css.
* Modify the pre-push hook to only trigger when a branch is pushed (and not when a tag is pushed or a branch is deleted).
* Add a max-line-length check to .pylintrc.
* Fix #1440: remove the activeInputData service from the frontend.
Demo explorations:
* Fix #1509: address warnings/errors in demo explorations.
Other:
* Add an ISSUE_TEMPLATE.md file to the root of the repository.
* Add a link to the Google Drive folder in CONTRIBUTING.md.
v2.1.3 (31 Jan 2016)
--------------------
Learner page:
* Allow learners to make suggestions for changes to exploration content.
* Fix #1279: Fix a bug where long usernames in the info card overflow the tooltip.
* Fix #1332: Show only 1 decimal place for ratings.
* Show 'Unrated' in the exploration information card when an exploration has no ratings.
Gallery page:
* Fix #918: Redesign the 'no search results found' message.
Interactions:
* ImageClickInput: fix misalignment of clickable regions.
* MusicNotesInput: move the logic from the controller to the link function.
* CodeRepl:
- Fix #1383: Allow imports in the learner’s code.
- Fix #1327: Show prepended and appended code.
- Gray out prepended and appended code sections.
* Add rules for the Graph interaction to check if a graph is regular, acyclic, strongly connected or weakly connected.
Editor page:
* Fix #1090: Change the rule feedback editor to only require either feedback or a new destination, and add a warning sign to the answer group if neither is specified.
* Fix #1255: Add a “Saving…” indicator after the 'Save Changes' button is clicked.
* Remove the need to specify icon data URLs manually for RTE components.
* Put a gray overlay over the state and interaction editors when they are hovered over.
* Change popover placement for the intro tutorial.
* Make history graph legend non-clickable.
* Fix overlapping buttons in exploration settings.
Infrastructure:
* Add a push hook that runs the linter and frontend tests.
* Add a script to simplify releases by summarizing authors, commit messages, and schema, setup script, and storage model changes.
* Add a job to compute the number of commits done by each contributor in each exploration.
* Skip the SDK update in the e2e tests script.
* Add parallelization to the linter.
* Split up the frontend player view into separate files.
* Add ‘OpenJDK’ (for Skulpt) and ‘unzip’ to the prerequisite-installation script.
* Remove frontend tests for displaying dates in users’ locales.
* Add a frontend service for computing expression output types.
Demo explorations:
* Add a new demo exploration which contains every interaction Oppia currently supports (for testing purposes).
* Remove the cities exploration.
* Update the demo explorations list to be explicitly mapped by id.
Other:
* Update contribution instructions in CONTRIBUTING.md.
v2.1.2 (6 Jan 2016)
-------------------
Gallery page:
* Reduce latency for fetching the data for the number of views of an exploration.
* Add a 'loading more...' message at the bottom of the gallery.
* Abbreviate the date shown in the gallery tiles.
* Reduce the size of the 'updated' tag on the gallery tiles.
Learner page:
* Move the help card lower so that it does not block the display of the interaction.
Interactions:
* MusicNotesInput:
- Fix #1168: make the music notes interaction work on mobile devices.
- Fix #1165: make the music notes interaction work in editor preview mode.
* CodeRepl:
- Show the output and error messages in the supplemental interaction panel.
- Fix a bug where the codemirror editor did not show correctly on small screens.
- If an error occurs, give information about whether it happens in the learner's code, or in the creator's prepended/postpended code.
- Change the indent unit to 4.
* GraphInput: Fix #1265: limit the number of vertices in the graph used for isomorphism checks.
Infrastructure:
* Fix #1209: add installation instructions (and supporting scripts) for Windows.
* Add functionality for linting python files.
* Add a lint check to Travis-CI.
* Fully lint all the files in the codebase.
* Split up the Karma tests for interactions.
v2.1.1 (29 Dec 2015)
--------------------
Learner page:
* Fix #1084: redo the display of recommendations at the end of an exploration.
* When the learner submits feedback, automatically append the current state name to the feedback.
* Fix #714: add an e2e test for exploration ratings.
* Move the help card to the bottom right of the supplemental interaction.
* Do not animate the initial display of an exploration, even if its first state includes a supplemental interaction.
Gallery page:
* In the gallery tiles, show the number of views an exploration has received.
* Unify the backend methods that compute data for the summary tiles.
* Show a badge that indicates if an exploration has recently been updated.
* Fix a bug that caused a backend error to be raised when new-style YAML versions of explorations are uploaded.
* Fix a bug that caused the exploration summary tile data in the gallery to not update correctly when the search query is changed.
* Update the icon used to denote the Mathematics category.
Profile page:
* Fix #1248: correctly display multi-paragraph bios in the Profile page.
* Change heading of statistics tab from 'Statistics' to 'Impact'.
Interactions:
* GraphInput: add a heuristic pre-check for graph isomorphism before performing the full calculation.
* LogicProof: add inline feedback, and improve the handling of tab characters and blank lines.
* For the following interactions, migrate the rule evaluation logic to the frontend: CodeRepl, GraphInput, InteractiveMap, MultipleChoiceInput, PencilCodeEditor and TextInput.
Rich-text components:
* VideoMp4: fix a Chrome bug that caused HTML5 video requests to sometimes forever remain in the 'pending' state.
Editor page:
* Fix #1259: autofocus on the commit message textarea when the Publish Exploration modal is opened.
Other pages:
* Remove the email feature from the moderator page.
Infrastructure:
* Incorporate the string classifier into the backend classification logic.
* Lint all the JavaScript files in the codebase.
* Refactor PlayerServices.js, breaking it down into separate services with distinct responsibilities.
* Create frontend domain objects for Explorations and States.
* Add tests for the third-party manifest file.
* Remove the backend test count.
* Fix #1272: generate minified files before launching the Protractor tests.
* When running the karma tests, do so for both minified and unminified JS files.
Other:
* Add gitter badge to README.md.
v2.1.0 (7 Dec 2015)
-------------------
Learner page:
* Fix #1164: on narrow viewports with supplemental interactions, add buttons to the bottom of both cards to make it easier to navigate to the card that isn't currently showing.
* Fix #1083: prevent the rating form from showing up before the learner has reached the final card of the exploration.
* Fix some errors in the display of the average rating, contributor list, and last-updated time in the exploration information card.
* Make the 'blackboard' background file size much smaller, in order to reduce loading times.
* Fix a bug that caused the window to judder when the feedback link in the navbar was hovered over.
Gallery page:
* Redesign the gallery using smaller tiles and new images. Increase the number of tiles loaded at a time from 10 to 24.
* Remove the video from the front page, and the "Dive into an exploration" heading. Replace both of these with a blurb directing users to the About page.
* Show rating information in the exploration summary tiles if at least one rating is received (rather than waiting for there to be at least three ratings).
Profile page:
* Fully redesign the profile page, adding a first-contributed date, a field for subject interests, an impact score, and a list of created/edited explorations.
* Add links to the profile page from both the Preferences page and the top-right menu.
* Add new backend jobs to compute a user impact score, the list of contributors to each exploration, the list of explorations created or edited by a user, the first contribution date of a user, and the first date on which an exploration was published.
Interactions:
* Create a new interaction for inputting and evaluating math expressions.
* Build a framework for evaluating learner answers in the frontend, and migrate the following interactions: ImageClickInput, ItemSelectionInput, LogicProof, MusicNotesInput, NumericInput and SetInput.
* EndExploration: Change the displayed name from 'End Conversation' to 'End Exploration'.
* EndExploration: Use the new summary tiles to display exploration recommendations.
* ItemSelectionInput: Fix a bug in the implementation of the "DoesNotContainAtLeastOneOf" rule.
* LogicProof: Extend the timeout for the frontend tests which checks the interaction's evaluation speed, since these tests occasionally fail on slow machines.
Editor page:
* Allow moderators to send emails when unpublishing or featuring explorations.
* Prevent an exploration from being saved if there are critical interaction validation errors.
* Restyle the history page to use checkboxes instead of radio buttons.
* Fix a bug that prevented the title of a state from showing up when the corresponding node in the exploration graph was hovered over.
Other pages:
* Remove some unnecessary warnings that were triggered when a user moved to another page while there was a pending HTTP request.
* Fix an issue where the site feedback link at the bottom left was blocking content on small screens.
* Update the text on the privacy page for clarity.
* Make the 'development mode' indicator a bit less obtrusive.
Infrastructure
* Rewrite the installation scripts using gulp and a manifest, and add tasks for bundling JS and CSS dependencies in order to reduce the number of backend requests on page load.
* Check that versions of installed node modules are correct when running the setup scripts; if not, download the correct version of the module.
* Fix #1170: Check if pip is present on the developer's machine, and output an error message if it isn't.
* Automatically install a local copy of the numpy dependency.
* Skip the App Engine SDK update check at startup.
* Speed up Travis-CI runs by making the coverage report for backend tests optional.
v2.0.3 (21 Nov 2015)
--------------------
Learner page:
* Add help cards for Oppia's responses for supplemental interactions.
* Increase width of cards without supplements.
* Animate changes in card widths.
* Change the 'Previous responses' heading to 'Previous answers'.
Interactions:
* Fix a bug where rule fields of type CodeString default to None instead of the empty string.
Editor page:
* Partially fix a bug where the save and publish buttons drop off the navbar on small screens.
Rich-text editor components:
* Fix a bug where images overspill their boundaries in Firefox.
* Fix a bug that caused images to display inline; they should display as centered block elements instead.
* Remove whitespace around links.
Other pages:
* Make the site feedback form more prominent.
* Add a frontend learner view for collections.
Infrastructure:
* Reduce the time taken for backend tests by splitting up the jobs files.
* Rename test scripts to run_backend_tests.sh, run_frontend_tests.sh and run_e2e_tests.sh.
* Create a run_tests.sh script to run all of the tests.
* Run all tests on deployment, instead of just the backend ones.
v2.0.2 (8 Nov 2015)
-------------------
Learner page:
* Add conversation bubbles to the conversation skin.
* Remove the card-level feedback icon.
* On mobile devices, do not autofocus form fields.
* Center the progress dot tooltips on the progress dots.
* Add a short delay to Oppia's response in order to better simulate a chat coversation.
Interactions:
* Add a new PencilCodeEditor interaction.
* MusicNotesInput: Fix #987: make the interaction wait for the page to load before displaying.
* InteractiveMap: Fix #966: make the interaction load correctly on small screens.
* InteractiveMap: Remove the SensorNotRequired warning.
* EndExploration: Remove the 'Return to Editor' button in editor preview mode.
* TextInput, MultipleChoiceInput, SetInput: Adjust margins and icons.
* MultipleChoiceInput: Fix an issue that was causing images to display incorrectly.
Editor page:
* Add functionality for gadgets.
* Add functionality for fallbacks.
* Add functionality for enabling advanced features (fallbacks, gadgets, parameters) from the Settings page.
* Move the parameter editor into the state editor.
* Use the avatars from the learner page in the editor page.
* Fix a bug where the exploration is sometimes initialized wrongly in the preview tab.
* Show state-specific warnings as tooltips in the exploration graph.
* Redirect to the 'My Explorations' page after an exploration is deleted.
* Improve the layout and wording of the buttons in the 'delete exploration' modal footer.
Other pages:
* Add links and avatars pointing to contributor profile pages.
* Redesign the profile page.
* Rephrase a point in the participation playbook for clarity.
* Set an explicit timeout for the creation modal autofocus.
* Remove the /editor_tutorial page, since it has already been moved to the Oppia GitHub page.
* Add touch events for tooltips.
* Use spaces instead of tabs in all codemirror form fields.
* Allow the use of 'pre' tags in HTML fields.
* Clarify the changelog for the terms page.
Infrastructure:
* Add a pre-commit script that lints JavaScript files.
* Be more flexible in determining which Python binary to use.
* Replace some frontend JS/CSS dependencies with their minified versions.
* Remove some unneeded properties in app.yaml.
* Update Angular to v1.4.7.
* Update node to v4.2.1.
* Update protractor to v2.5.0.
* Update ui-bootstrap to v0.13.4.
* Remove the material-design-icons and material-design-iconic-font dependencies, and replace them with the material-icons font import.
* Improve the error message when the backend tests fail.
* Split the Protractor tests into multiple files so that they parallelize better.
* Change the default number of sharding instances for Protractor tests to 3.
* When running Protractor tests, stop Selenium and Google App Engine from sending useless info logs to the terminal.
* Fix various errors and warnings in the Protractor tests.
v2.0.1 (13 Oct 2015)
--------------------
Sitewide changes:
* Update the terms of use and privacy pages.
Learner page:
* Make some aesthetic improvements to the learner view, including a new bakground and some styling changes.
* Implement #963: smoothly animate the expansion of previous answers a learner submitted to a card.
* Implement #962: animate the appearance of Oppia's response to a learner's answer.
* Fix a bug where elements at the bottom of the learner view sometimes overlap on mobile screens.
* Fix #967: animate the automatic scrolling to the top of the screen when the learner transitions to a new card.
* Introduce an information card which displays the metadata information about an exploration.
Editor page:
* Fix #950: disallow underscores in state names from causing the exploration editor from becoming broken and unusable.
Interactions:
* Fix #986: replace the JSRepl dependency with Skulpt for running Python code in the frontend.
Continuous Integration:
* Introduce continuous integration in the GitHub project using Travis CI. This automatically runs both the backend and frontend tests for all pull requests.
* Add code coverage and Travis CI badges to the README.
Frontend:
* Improve a frontend test for the truncation filter.
* Refactor up how the 'Continue' interaction is used in the frontend.
Backend:
* Introduce the backend infrastructure for collections.
* Introduce string classification services which will later be used to classify student answers for the TextInput interaction.
* Fix a bug which prevents the exploration migration job from resetting the last updated times of all explorations in the gallery.
v2.0.0 (26 Sep 2015)
--------------------
Learner page:
* Fully redesign the learner view in order to make only one state viewable at a time.
* Make the feedback popover keyboard-accessible.
* Add alt tags to the Oppia and user avatars.
Gallery page:
* Fix #716: allow ratings to have half-star granularity.
* Fix a bug where the tick marks in the gallery dropdown menus were not aligned with the corresponding rows.
Editor page:
* Upgrade the rule system to support fuzzy rules.
* Improve the wording of the tutorial and the default content card.
* Make the number next to the 'Save Draft' button less prominent.
* If a user does not have permissions to view an exploration, do not allow them to download it.
* Fix #865: remove the 'Change Interaction' button from the interaction modal if an interaction is already selected.
* Fix #762: prevent more than one modal from opening, even if the "Save Draft" button is clicked twice.
* Fix #937: in the feedback tab, allow a status change (with no accompanying message) to count as a valid update to a feedback thread.
* In the history tab, fix a display error for text in the 'revert version' modal.
Sitewide frontend changes:
* Fix links to point to github.com instead of code.google.com.
* Fix a bug in which the profile dropdown would sometimes not show up on the top right.
* Fix #917: make the error pages more friendly.
Interactions:
* Add a new ItemSelectionInput interaction.
* Redesign the multiple-choice, numeric, text and continue button interactions.
* Fix #788: in the ImageClickInput interaction, show a more descriptive representation of the learner's answer.
* Fix #882: in the ImageClickInput interaction, enable labels to be specified.
* Fix #919: make NumericInput interaction accept percentages.
* Fix #953: in the TextInput interaction, change 'Number of rows' to 'Height (in rows)'.
* Fix a typo in the editor warning message for multiple choice interactions with no default outcomes.
Rich-text editor components:
* Fix tooltips for RTE component insertion buttons.
* Add an optional MP4 video RTE component.
Security:
* Specify the filename explicitly in the Content-Disposition header for JSON responses.
Infrastructure:
* Adjust backend tests to not use datetime.datetime.now(), since it gives different results in different locales.
* Add a hook for inserting custom HTML before the end of the 'body' tag.
* Broadcast parameter values to the messengerService for explorationCompleted and stateTransition events.
* Speed up the recommendations job by making fewer calls to the datastore.
* Update FontAwesome to version 4.4.0.
* Add created_on and last_updated fields to reconstituted version snapshots.
* Use the date when analytics were migrated away from StateCounter as the signal for which state to consider as the initial state for an exploration.
v2.0.0.rc.4 (15 Jul 2015)
-------------------------
Editor walkthrough page:
* Add a new walkthrough tutorial which teaches the standard functionality of the editor.
Learner page:
* Show tiles of recommended explorations for the user to play after they have finished an exploration.
Editor page:
* Introduce answer groups (called responses) which replace the current rules in the editor.
* Change the process of creating a new state to use an in-line text field instead of a modal.
* Change many of the editor headers and button texts to be more conversational and friendly.
* Rename 'states' to 'cards'.
* Remove the ability to add varied feedback (only one piece of feedback may be set for a response).
* Automatically open the Add Response modal after selecting a new interaction type.
* Change the confirmation of deleting a state to use a modal instead of a browser confirmation dialog.
* Change the confirmation of deleting an answer group to use a modal instead of a browser confirmation dialog.
* Change the confirmation of deleting an interaction to use a modal instead of a browser confirmation dialog.
* Update the 'Add Response' (previously called 'Add Rule') modal to allow saving the rule and adding another without the user having to manually reopen the modal.
* Increase the width of the editor cards by 140px.
* Sanitize content in the Rich Text Editor whenever content changes, as long as the rich-text extension customization modal is not open.
Infrastructure:
* In the exploration backend, introduce an answer group structure which groups together multiple RuleSpecs with a single piece of feedback.
* In the exploration backend, introduce a 'default outcome' structure to replace the concept of a default rule.
* Introduce a recommendation system for recommending similar explorations to a user after they have completed an exploration.
* Fix issue 839: prevent notifications showing up due to automatic migrations.
* Update the gae-mapreduce library to use Cloud Storage instead of the Files API.
* Add backend support for fallbacks/triggers, which allow Oppia to react to learner actions that are not just answer submissions.
* Add an XBlock for embedding Oppia explorations in courses on the OpenEdX platform.
Administration:
* Add functionality to disable explorations.
Scripts:
* Update the run_integration_tests.sh script to have arguments for enabling/disabling sharding and setting the number of shards to run.
Emails:
* Make it possible to send emails to users when they sign up.
Frontend testing:
* Add frontend unit tests for interaction validators.
Sitewide frontend changes:
* Fix issue 855: display the correct profile pictures and usernames on profile pages.
* Add functionality allowing users to set email preferences.
v2.0.0.rc.3 (11 Jun 2015)
-------------------------
Sitewide frontend changes:
* Add a new rich-text editor based on textAngular. Deprecate the previous jWysiwyg rich-text editor.
* Update page titles to list the page name before the site name.
* Add a link to the home page in the left sidebar.
Splash/gallery page:
* Change the width of the category input field in the exploration creation modal to 100%.
* Fix a bug which caused recently-updated explorations to not show higher in the gallery.
* Ensure that gallery rankings are never negative.
Learner page:
* Make cards have a width of 95%, so that they show up properly on small screens.
Editor page:
* Use icons for save/publish buttons in the exploration editor if the window width is small.
* Rename the 'Add Interaction' button to 'Add Interaction / End Conversation'.
* Fix a grammatical error in some rule warning messages.
* Amend the "path to end state" error message to reflect the fact that there is no longer an explicit END state.
* Increase the line spacing in the customization dialogs for both interactions and RTE extensions.
* Arrange state names in the rule destination selector in the order that they appear in the state graph.
* Reset float input fields when the rule containing them is changed.
* Fix issue 764: do not show unhandled answers for the Continue interaction.
* Fix preformatting text having inconsistent wrapping in the popup dialog for long unhandled answers.
* In the editor settings tab, use a category dropdown similar to the modal in the gallery page.
* In the history tab, use grids to display the commit history, and display the commit time in localized format.
* Fix issue 789: in the feedback tab, clear the input field after a new message is submitted.
'My Explorations' page:
* Include published exploration that subsequently become community-owned.
* Fix issue 724: add a realtime model for feedback analytics.
Rich-text editor components:
* Prevent recursive nesting of the 'collapsible' and 'tabs' RTE extensions.
* Image: allow alt text to be specified.
Interactions:
* EndExploration: do not show a blank card in iframed mode (issue 804).
* ImageClickInput: center the image and make it look clickable.
* NumericInput: fix a bug where 0 was not accepted as an answer.
* InteractiveMap: use a map (instead of latitude/longitude fields) to specify rule location.
* SetInput: fix set input display not showing up in the rule editor, and add a warning for duplicates.
Infrastructure:
* Implement a generic exploration migration system.
* In the exploration backend, remove the pseudo END state and add a placeholder field for state triggers.
* Upgrade the version of the Google App Engine development SDK to v1.9.19.
* Upgrade the version of ui-bootstrap to v0.13.0.
* Amend the deployment script to support deployment to App Engine instances within a particular domain.
* Add a storage model for completion events, and record completion events in this model instead of the one for MaybeLeave events. Add a migration job to migrate existing completion events from MaybeLeave to the new model.
Analytics:
* Fix some errors in the StatisticsAggregator computation.
Integrations:
* Fix issue 167: Add instructions and an XML file to support embedding of explorations in Google Sites pages.
Demo explorations:
* Update the schema versions for the demo explorations.
Security:
* Add a layer of HTML cleansing before loading an exploration.
v2.0.0.rc.2 (24 Apr 2015)
-------------------------
Splash/gallery page:
* Add a video to the interstitial section.
* Fix reddish-looking placeholder text in the search input field.
* Fix an error in search which caused unnecessary errors to be logged.
* Fix an error where the search cursor was not being overwritten correctly after fetching results.
Learner page:
* Add the ability for logged-in users to submit ratings at the end of an exploration. The average rating will display in the gallery after at least 5 ratings have been submitted.
* Adjust the loading time for cards to take the server RPC call into account, in order to reduce the effect of network latency on the end user.
* Provide options for sharing explorations on Facebook and Twitter.
* Change the feedback submission modal into a more lightweight popover.
* Redesign the "embed exploration" modal to include instructions for iframing explorations in a container that does not support adding JavaScript or custom tags.
* Show the same congratulatory text when the learner completes an exploration via a state with a terminal interaction (as opposed to the END state).
Editor page:
* Simplify the content + interaction flow: remove unnecessary default content for the initial state and use a redesigned modal for interaction selection.
* Allow tags to be specified for an exploration.
* In the exploration graph visualization, add links from states with a terminal interaction to the END state, and change the layout algorithm, colors, text positioning, and node heights.
* Add checks for errors related to using parameters wrongly.
* Add CSS transitions to numerous elements.
* Prevent publishing an exploration to the gallery if it contains warnings or errors.
* Update the list of warnings when the exploration objective is changed.
* Fix a bug where the 'publish changes' button reverted to 'save draft' when an exploration was featured.
* Remove the duplicate user response in the rule preview, since it's already in the header.
* Show a string instead of a dropdown for rule parameter selectors with a single choice.
* Add some space between the various segments that make up the rule description.
* In non-edit mode, suppress the sort handles on the rules.
* Use a more appropriate rule description for the 'Continue Button' interaction.
* Make the currently-selected rule stand out more.
* Allow pressing the 'enter' key in the 'add new state' modal to submit the form.
Sitewide frontend changes:
* Change the body font size to 1.6em.
* Add social media chiclets to the sidebar.
Other pages:
* Updates page: rename this page to 'Notifications'.
* My Explorations page: show total and unresolved feedback thread counts (issue 632).
* Updates and Preferences pages: fix a bug where the header subtext was aligned too far too the left on narrow screens.
* Signup page: show the user's email, and remove the "sign in" navbar tab.
* About page: improve the text, move the 'contact' and 'license' sections upwards, and fix a missing link.
* Participation Playbook page: simplify the structure..
* Forum page: show the 'category' view instead, and make the forum taller and responsive to the page width.
* Admin page: add admin customization options for the embedded forum URL, the videos for the splash and About pages, the sidebar icons, and the different sharing options to be shown in the learner view.
Interactions
* Shorten the descriptions for many interaction customization options.
* EndConversation: add some space above the 'return to gallery' button.
Analytics
* Fix a bug in the logic for checking null versions in the stats aggregator MapReduce job.
* Ensure that a leave event is recorded when any terminal state is hit (issue 703).
Infrastructure and tests
* Simplify the Windows installation process: do not run chown or chmod.
* In development mode, show a 'Development Mode' indicator in the bottom right (issue 83).
* Add functionality for running deferred jobs with parameters.
* In the integration test script, clarify the messaging about screenshots.
* Create a GLOBALS file to be included before all Karma tests.
* Add an integration test for the tutorial in the exploration editor.
Demo explorations
* Add an image credit to the "Solar System" exploration.
v2.0.0.rc.1 (5 Mar 2015)
------------------------
Frontend (general):
* Add a sidebar to all pages as a primary navigation mechanism.
* Restyle top navbar as an area for breadcrumbs and secondary navigation, and to be more responsive.
* Revamp the general color scheme.
* Use Material Design elements, e.g. cards.
* Add avatars representing Oppia and the user.
* Remove the footer, and make the licensing text less obtrusive.
* Combine the Splash and Gallery pages into a single page.
* Make it explicit that users are signing into Oppia with G+.
* Use a user icon instead of username in the top-right corner.
* Split the Dashboard page into two different pages: My Explorations and Updates.
* Split the About page into two different pages: About and Participation Playbook.
* Remove the noscript tag so that the G+ crawler can generate the correct snippet.
* Allow clicking outside a modal to dismiss it.
Splash/gallery page:
* Add paged searching and infinite scrolling functionality.
* Add a carousel.
* Add thumbnail images to exploration cards in the gallery.
* Add basic ranking functionality.
Learner page:
* Add an introductory card with the thumbnail image.
* Show the 'edit' button in the navbar only for users who have exploration editing rights.
* Add a feedback menu to the top right of each card in the learner view.
* Add 'share on G+' functionality.
* Make the scrolling behavior more gentle.
* Set focus on the learner input field on its appearance, when appropriate.
* Show the learner's answer immediately after they submit it.
Editor page:
* Update the tutorial.
* Move the 'create new state' functionality into the rule destination dropdown.
* Move the 'unresolved answers' section to the bottom of the page, below the rules.
* Move state parameter changes to the right column.
* Require the user to explicitly select an interaction for each state.
* Hide the default rule if it has not yet been set.
* Make the interaction selection menu into a two-tier dropdown.
* Make the arrows in the state graph a bit thinner.
* Change the colors of the graph nodes.
* Add validation for rules and interaction customizations.
* When the user changes the currently-active state, apply fading-out/fading-in to the state cards to make the transition less abrupt.
About page:
* Update the text.
* Remove tabs, and add a menu on the right.
Profile page:
* Allow users to choose a preferred language for explorations shown in the gallery.
* Allow users to upload a profile picture and to add a bio.
Sign-in flow:
* Redirect to sign-in flow if the user is logged in but has not chosen a username.
* Allow users to leave the sign-in page midway through sign-in, logging them out if they do so.
* Fix issue 136: logging out of Oppia no longer logs you out of all Google accounts.
Admin page:
* Remove unneeded config properties.
* Add config properties for the splash page carousel and for additional links in the sidebar menu.
* Add functionality for clearing the search index.
Interactions:
* Deprecate the 'reuse this interaction' setting in the editor. This is now determined by the individual widget's display mode ('inline' or 'supplemental').
* Load interactions concurrently with the base page.
* Rename 'interactive widgets' to 'interactions'.
* Add new interactions: EndExploration, ImageClickInput.
* CodeRepl: fix a bug where the error message was being overwritten; update UI to use Material Design.
* Continue: update UI to use Material Design.
* GraphInput: restrict the drawable region, and remove the large left margin in the response area.
* InteractiveMap: use spherical distance formula for calculating map distances (issue 487).
* InteractiveMap: fix display of rule descriptions.
* LogicProof: add new excluded middle rule.
* MusicNotesInput: rearrange buttons to make the interaction more intuitive.
* NumericInput: update UI to use Material Design.
* TextInput: update UI to use Material Design.
RTE extensions:
* Rename 'noninteractive widgets' to 'RTE extensions'.
* Load RTE extensions concurrently with the base page.
* Image: add drag-and-drop upload functionality.
* Link: allow text to be specified that is different from the link URL.
* Video: do not show related videos at the end.
Forms:
* Make the list, int and nonnegative-int editors use schema-based forms.
* Restyle the 'list of strings editor', and hide the 'Add Element' button when the user is editing a field.
* Improve error messages for float input.
* Make the float editors display inline.
* Fix issue 488: do not show a warning for float input when the input field is still in focus.
Infrastructure:
* Deprecate intro.js dependency.
* Add new dependencies: material-design-icons, ngImgCrop, ng-joyride.
* Upgrade angular version to 1.3.13 to fix a bug in ngAnimate.
* Fix an error in the encoding of filenames when an exploration is downloaded as a zip file.
* Use curl instead of wget, to make the installation process easier for Mac users.
* Add a flag in the start.sh script to save existing contents of the datastore.
* Fix broken installation of webtest.
* Make paths to third-party python libraries work on Windows.
* Limit backend test parallelization to a maximum batch size of 24.
* Update the deployment script to include splash and sidebar folders.
* Add an experimental_deploy script that does not run tests and should only be used for experimental purposes.
Protractor tests:
* Add protractor tests for the history tab.
* Add a utility function for scrolling to elements on the page that are not currently in view.
* Switch protractor utilities to use classes prefixed by 'protractor-test-', where possible.
* Add functionality to display screenshots from failed tests.
Demo explorations:
* Add the following demo explorations: 'About Oppia', 'The Solar System' and 'Protractor Test'.