24.2.29
What's Changed
- [FIX] Fix the
filtered_programs_for_user
call by @rix0rrr in #4724 - [FIX] Email validation by @Felienne in #4730
- [LANGUAGE] add exception for is and = by @Felienne in #4728
- [FIX] Elif explained differently by @MarleenGilsing in #4731
- [CONTENT] Java magazine by @SabinaChita in #4740
- Bump werkzeug from 2.3.7 to 3.0.1 by @dependabot in #4668
- [CHORE] Protect against misquery in DynamoDB layer by @rix0rrr in #4736
- [FIX] Use library to validate emails by @jpelay in #4738
- [UI] Dropdown arrows by @Annelein in #4745
- [UI] Creating Tags by @hasan-sh in #4688
- [UI] Adds CodeMirror as editor by @jpelay in #4479
- Reverts CodeMirror by @jpelay in #4753
- Revert "[LANGUAGE, FIX] Fix non-en colors in lists and ask" by @Felienne in #4754
- [UI, Language] Adds CodeMirror by @jpelay in #4755
- Translations update from Hosted Weblate by @weblate in #4722
- [LANGUAGE, FIX] Fix non-en colors in lists and ask by @Felienne in #4756
- [CHORE] Use Skulpt version from our fork by @jpelay in #4760
- [LANGUAGE] Convert calc to int in sleep level 12 by @Felienne in #4677
- [LANGUAGE] improved error productions for at by @akseron in #4663
- Translations update from Hosted Weblate by @weblate in #4764
- Exercises for level 15 and up by @MarleenGilsing in #4735
- [CONTENT] Replacing the old teacher statistics section from all languages by @Felienne in #4763
- [LANGUAGE, FIX] Translates runtime exceptions by @jpelay in #4768
- [UI] Dynamic Survey View - Ask teacher for class info #4612 by @Annelein in #4711
- [FIX] hide survey modal whenever navigating to a class by @hasan-sh in #4790
- Translations update from Hosted Weblate by @weblate in #4781
- [CONTENT] Mistakes in NL quizzes by @MarleenGilsing in #4789
- [CONTENT] Level 6 problem in debugging and calculator adventures by @MarleenGilsing in #4788
- [FIX, TESTING] Fixes failing teacher test by @jpelay in #4797
- [FIX] Remove indexes from surveys table by @jpelay in #4787
- [CHORE] Unwrap Babel translations files by @jpelay in #4767
- [UI idea] Tags dropdown by @hasan-sh in #4759
- [TESTING] Survey view testing by @Annelein in #4802
- [BUG] Hidden dropdown by @Annelein in #4813
- [BUG] Allow users to navigate between exercises using header by @hasan-sh in #4819
- [FIX] Setting up view program page editor by @jpelay in #4801
- [FIX] eliminate hash collisions in test caching by @jtwaleson in #4808
- [TESTING] Adds tests for unquoted strings in loop body by @Felienne in #4825
- [BUG] tags dropdown items get their content width only by @hasan-sh in #4818
- [BUG FIX] Fix embedded editor with CodeMirror by @TiBiBa in #4821
- [UI] Make keyword toggle also switcher language of the editor by @Felienne in #4828
- Translations update from Hosted Weblate by @weblate in #4809
- [UI, FIX] Fixes placing of checkbox and eye icon on grid by @jpelay in #4834
- [CONTENT] New turtle content for level 1-15 by @MarleenGilsing in #4791
- [UI] Locked levels with tooltip by @Annelein in #4814
- [FIX] Proper marking of flat compound statements while debugging by @jpelay in #4766
- [FIX, CHORE] Updates @codemirror/view by @jpelay in #4803
- [LANGUAGE] improve clear errors by @Felienne in #4826
- [BUG] enable inviting second teachers to multiple classes at the same time by @hasan-sh in #4812
- [LANGUAGE] improved error productions for non decimals by @akseron in #4817
- [BUG] Add missing level18 in level dropdown by @Annelein in #4861
- [UI] Localizing level keywords by @Annelein in #4846
- Translations update from Hosted Weblate by @weblate in #4842
- [CHORE] move exceptions into isvalid by @Felienne in #4838
- [FIX] Use string index in surveys by @jpelay in #4868
- [UI] Fix highlighting of return command and list accesses by @jpelay in #4859
- [CONTENT] duplicate class explained by @MarleenGilsing in #4865
- [FIX] Stop trimming code on change in embedded editor by @jpelay in #4872
- Translations update from Hosted Weblate by @weblate in #4873
- [FIX, UI] Editor size depending on parent by @jpelay in #4871
- [UI] Add information tooltip for slides by @jpelay in #4870
- [BUG] Fix broken tests by @ToniSkulj in #4882
- [UI] Developer mode toggle by @Annelein in #4824
- [LANGUAGE] Repairs undefined var exception by @Felienne in #4887
- [LANGUAGE] Allow for translations of erroneous programs by @Felienne in #4875
- [TESTS] Upgrade and enhance Cypress tests by @hasan-sh in #4894
- [FIX] Add warning back in by @Felienne in #4880
- [UI] Public adventures view by @hasan-sh in #4757
- [LANGUAGE] Warning unused var by @Felienne in #4881
- [BUG] fix (tab) indentation within CodeMirror by @hasan-sh in #4832
- Translations update from Hosted Weblate by @weblate in #4878
- [BUG] fix public adventure page by @hasan-sh in #4900
- [BUG] fix adventure public index by @hasan-sh in #4905
- [UI] no pop up for adventure name by @Annelein in #4892
- [CONTENT/CHORE] Update babel to 2.14 by @Felienne in #4904
- Translations update from Hosted Weblate by @weblate in #4902
- [CONTENT] Load slides from yaml by @Felienne in #4908
- [FIX] Return token in Lezer parser only when it applies by @jpelay in #4898
- Translations update from Hosted Weblate by @weblate in #4912
- [CONTENT] Remove start codes by @Felienne in #4913
- [UI] add teacher preview mode by @jtwaleson in #4822
- [LANG] No warning for unused function by @Felienne in #4917
- [CONTENT] Remove all start codes by @Felienne in #4920
- [UI] allow adventures to be added to multiple levels by @hasan-sh in #4793
- [CONTENT] Restores deleted content by @Felienne in #4926
- [BUG] fix cypress memory overusage by @hasan-sh in #4928
- [FIX] Disable autoload and autosave of programs for slides by @rix0rrr in #4914
- [CONTENT] unwrap po files by @Felienne in #4929
- [BUG] prevent students being in multiple classes by @hasan-sh in #4901
- [CHORE] Check .po files for accidental wrapping by @rix0rrr in #4930
- [UI] Survey button instead of pop up by @Annelein in #4897
- [UI] Duplicate second teachers in class by @Annelein in #4840
- [FIX] Remove fixed height for editor by @rix0rrr in #4915
- Translations update from Hosted Weblate by @weblate in #4931
- Embedded editor improvements by @TiBiBa in #4936
- [CONTENT] translate Draw it! exercises to Dutch (#4939) by @mdenburger in #4940
- [UI] Switch read only editors to code mirror by @jpelay in #4924
- 🐞 correctly translate empty string by @Felienne in #4949
- [LANGUAGE] Undefined function warning by @Felienne in #4945
- [LANGUAGE] Adds music to the language by @Felienne in #4903
- 🚚 Update PULL_REQUEST_TEMPLATE.md by @Felienne in #4948
- 🖊️ Check number parameters and throw nice error by @Felienne in #4950
- 🧹 Rename
start_code
toeditor_contents
by @rix0rrr in #4942 - 🧹 update emojis by @hasan-sh in #4953
- Translations update from Hosted Weblate by @weblate in #4951
- [BUG FIX] Fix embedded editor when in read only mode by @TiBiBa in #4952
- 🧹 Add a build tool by @rix0rrr in #4799
- 🖊️ Fix non-english leading space by @Felienne in #4947
- 🧹 Keep NPM dependencies updated using doit by @rix0rrr in #4958
- 🖊️ Add meta in a few more existing places by @Felienne in #4946
- 🪲 only check threshold if quiz is enabled by @hasan-sh in #4970
- Add support for full width embedded editor by @TiBiBa in #4959
- 🖊️ Add support for Bulgarian quotes by @quinnah in #4972
- [LANGUAGE] multiple improved error productions by @akseron in #4944
- [UI] Improve public adventures by @hasan-sh in #4938
- 🚚 add
doit run devserver
command by @rix0rrr in #4973 - 🚚 upgrade Heroku Python to 3.9.18 by @rix0rrr in #4976
- 🚚 update GitHub Actions versions by @rix0rrr in #4977
- 🪲 Don't execute npm task on Heroku by @jpelay in #4978
- Translations update from Hosted Weblate by @weblate in #4969
- 📜 Update wrong level number in slides by @Felienne in #4975
- 🚚 Detect Heroku without setting additional environment variables by @rix0rrr in #4980
- Translations update from Hosted Weblate by @weblate in #4979
- 🧪 update programs and add parser filer by @Felienne in #4891
- 🖊️ Improved error productions for 'is ask' by @akseron in #4974
- Translations update from Hosted Weblate by @weblate in #4985
- 📜 Removes an old header by @MarleenGilsing in #4983
- 🚚 add missing Tailwind dependency in
doit
script by @rix0rrr in #4995 - 🖊️ Improved existing error messages by highlighting keywords in error messages by @akseron in #4992
- 🧹 Add script to inventorize templates by @rix0rrr in #4999
- Translations update from Hosted Weblate by @weblate in #4998
- 📜 Removes extra line by @MarleenGilsing in #5001
- 📜 Explain new clear command by @MarleenGilsing in #5004
- 💻 If no classes or adventures, show info by @Annelein in #5006
- 📜 Fixes debugging level 5 by @MarleenGilsing in #5007
- 🎶 throw error for unsupported notes and allow for lowercase notes by @Felienne in #5002
- 💻 use the newly created cards in explore page by @hasan-sh in #4982
- Translations update from Hosted Weblate by @weblate in #5008
- 📜 rename the teacher manual section in the yaml files #4701 by @rmagedon97 in #5014
- 📜 Update public adventures string by @Felienne in #5019
- 🪲🎶 escape play in if by @Felienne in #5016
- 🖊️💻 Syntax highlighting for variables by @jpelay in #4957
- 🚚 Add
doit
wrapper scripts to run from the IDE by @rix0rrr in #4996 - 💻 Click through answered quiz questions by @Annelein in #5023
- 🪲 Render command in quiz title by @Annelein in #5025
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #4971
- 📜 quiz for level17 by @SabinaChita in #4839
- 💻 adventure tabs and editor in public adventures page by @hasan-sh in #4990
- Translations update from Hosted Weblate by @weblate in #5018
- 📜 adds start page info for teachers by @SabinaChita in #4833
- 🪲 Adds input field for filtering programs by @jpelay in #5030
- 📜 More debugging on the slides level 8 to 13 by @MarleenGilsing in #5032
- 🪲 Fix slides by @Felienne in #5057
- Translations update from Hosted Weblate by @weblate in #5035
- 📜 Adds music adventure level 1 to 14 in English by @MarleenGilsing in #4991
- 🪲 fix keywords not changing to en by @hasan-sh in #5064
- 🪲 Fix type error when concatinating ask input and a literal string by @boryanagoncharenko in #5066
- 🖊️ Add support for floats in lists in level 16 and up by @boryanagoncharenko in #5065
- Translations update from Hosted Weblate by @weblate in #5062
- 🧪 Test code in slides by @Felienne in #5058
- 🪲 Fix highlighting of function calls inside expressions by @jpelay in #5050
- 📜 Slides debugging level 14 by @MarleenGilsing in #5059
- 📜 Remove exclamation mark in question in quiz level 2 by @juliabolt in #5082
- Translations update from Hosted Weblate by @weblate in #5070
- 📜 Re-add introduction example code by @MarleenGilsing in #5053
- Translations update from Hosted Weblate by @weblate in #5101
- 🪲 allow closing levels before a quiz threshold by @hasan-sh in #5061
- 🪲 FIx not-in command missing from level 8 and up by @boryanagoncharenko in #5071
- 💻 Sorting my program adventures per level and alphabetically by @Annelein in #5043
- 💻 Public Programs Filter by @Annelein in #5107
- 💻 Copying my program code by @Annelein in #5045
- 🚚 doit: switch to using a JSON database by @rix0rrr in #5114
- Skip empty users when creating multiple accounts by @TiBiBa in #5104
- 📜 Add Hedy research papers by @Felienne in #5120
- 🧪 Improve tests by @Felienne in #5125
- Translations update from Hosted Weblate by @weblate in #5106
- 🧪 warn if fixer is on by @Felienne in #5126
- 🧪 Test for empty strings in English po file by @Felienne in #5022
- 💻 Add customize class button to teacher page by @juliabolt in #5122
- 🧹 Make search filter more generic by @Annelein in #5110
- Translations update from Hosted Weblate by @weblate in #5128
- 🪲 When editing code while ask prompt is open, editor now stays focused by @Annelein in #5136
- 🚚 redirect to hedy.org by @rix0rrr in #5142
- 🪲 Favourite misspelling by @Annelein in #5133
- 🧹 Update python to 3.12 by @Felienne in #5134
- 🪲 Update Gunicorn to latest version by @jpelay in #5150
- 🪲 Fix incorrect transpiling with in/not-in checks for lists with numbers by @boryanagoncharenko in #5135
- 💻 Offline Hedy for Windows by @rix0rrr in #5116
- 🪲 Prevent failure page after logout by @rix0rrr in #5143
- 📜 update translation link by @Felienne in #5153
- 🚚 advertise Offline Hedy in frontpage README by @rix0rrr in #5159
- 🖊️ Show translated error when text input is passed to repeat command by @boryanagoncharenko in #5157
- 🪲 Fix highlight for the
add
andremove
commands by @jpelay in #5164 - 🧪 Remove Ace highlight by @jpelay in #5163
- Translations update from Hosted Weblate by @weblate in #5139
- 💻 Enhance customize-adventure page by @hasan-sh in #5026
- 💻 customize class page enhancement by @hasan-sh in #5060
- 💻 Allow teacher adventures to use 2 columns by @Annelein in #5179
- Translations update from Hosted Weblate by @weblate in #5174
- 📜 Curlies for english by @SabinaChita in #5171
- 🖊️ 💻 Display error message when brackets are forgotten around lists by @akseron in #5177
- 🪲 🖊️ repeat body error in level 9 and over by @akseron in #5115
- 🪲 Allow equal sign in equality checks in Lezer parsers by @jpelay in #5175
- 🖊️ Add support for calculations with play command from level 6 #5044 by @boryanagoncharenko in #5178
- 🪲 Insert cheatsheet code at the end by @jpelay in #5166
- 🚚 register users' actions by @hasan-sh in #5146
- 🪲 remove env variable passed through doit by @hasan-sh in #5191
- 🪲 Correctly filter teacher adventures in programs page by @jpelay in #5188
- 💻 My programs redesign by @Annelein in #5160
- 🖊️ Allow -= and > operators to be used independently when merging grammars by @boryanagoncharenko in #5186
New Contributors
- @Annelein made their first contribution in #4745
- @akseron made their first contribution in #4663
- @mdenburger made their first contribution in #4940
- @quinnah made their first contribution in #4972
- @rmagedon97 made their first contribution in #5014
Full Changelog: 1.0...24.2.29