Releases: dodona-edu/dodona
2024.01
As we wrap up the year, December at Dodona was a period of fine-tuning and subtle enhancements. Here's a quick overview of the updates we made.
What's Changed
β¨ Changes
- Always print judge output when encountering a ResultConstructorError by @chvp in #5206
- Add extra draft filter for activities by @jorg-vr in #5209
- Apply dodona theme to papyros by @jorg-vr in #5221
- Reduce the number of days santa claus takes over dodona by @jorg-vr in #5223
- Add edit submission link when evaluating a submission by @jorg-vr in #5190
- Extend allowed attributes (svg) by @tibvdm in #5250
π Bug Fixes
- Fix editing of annotations for students by @jorg-vr in #5211
- Unregister old serviceworkers manualy by @jorg-vr in #5222
- Fix broken pythia submission if data is not present in group by @jorg-vr in #5235
- Require valid token to view series activities by @jorg-vr in #5249
π§° Maintenance
Full Changelog: 2023.12...2024.01
2023.12
November was a busy month at Dodona. Here's a peek at what's new!
Feedback Table Makeover
We've revamped the feedback table layout for a clearer, more user-friendly experience. Tests are now neatly grouped, and the debug button for Python exercises stands out, ensuring a smoother debugging process.
Streamlined Exercise Management
In our quest to declutter, we've refined how Dodona handles deleted exercises. Previously, removed exercises lingered in the database, marked as "removed." Now, if an exercise is marked as deleted for 30 days and isn't part of a course, it's automatically cleared from Dodona, keeping things tidy.
Dodona in Academia
We're happy to announce the publication of a scientific manuscript about Dodona in SoftwareX. To celebrate this milestone, we've added a new publications page to highlight our academic contributions. Read the article here.
What's Changed
π New Features
- Rework the feedback table by @bmesuere in #5102
- Make team explicit and add publications page by @chvp in #5162
β¨ Changes
- Create task that destroys removed activities by @jorg-vr in #5095
- Blur class progress in anonymous mode by @bmesuere in #5151
- Allow submitting the annotation form using Ctrl-Enter as well by @chvp in #5159
π Bug Fixes
- Fix repo processing crash when labels contained an integer by @bmesuere in #5098
- Enable indents with tab in codemirror by @bmesuere in #5100
- Fix ufora integration by @jorg-vr in #5122
- Only return administrating courses in LTI picker by @jorg-vr in #5124
- Never remove exercises that are part of an evaluation by @jorg-vr in #5127
- Fix feedback table crash when there are no groups by @bmesuere in #5131
- Rephrase evaluation finished toast by @bmesuere in #5129
- Do not send emails to github noreply by @jorg-vr in #5126
- Add uniqueness validation to repository remote url by @jorg-vr in #5128
- Add safety net for unresponsive docker containers by @jorg-vr in #5120
- Make ctrl-f more usable on submissions by @jorg-vr in #5158
- Recalculate selected code upon copy in submission by @jorg-vr in #5157
- Fix input field layout for annotation form by @jorg-vr in #5164
- Submit saved annotation form on enter by @jorg-vr in #5163
- Don't show saved annotations from other users to zeus by @jorg-vr in #5167
- Remove css variables from email css by @jorg-vr in #5170
- Add year to course name in saved annotations filter by @jorg-vr in #5189
- Increase disc write rate limit by @jorg-vr in #5191
- Fix line of code not shown on invalid judge output by @jorg-vr in #5205
π§° Maintenance
- Only build js once during rails test by @jorg-vr in #5119
- Improve webpack build time by @bmesuere in #5132
- Stop Sprockets from compressing JS by @bmesuere in #5136
- Don't send emails for slow requests and internal errors by @jorg-vr in #5152
- Update CITATION.cff file to mention the recently published Dodona article by @chvp in #5161
- Update rails cache version by @jorg-vr in #5186
Full Changelog: 2023.11...2023.12
2023.11
October has been a busy month at Dodona, with two major changes aimed at refining your experience.
Draft Exercises
Introducing "Draft Exercises"! Now, whenever you create a new exercise, it will be tagged as a "draft" by default. The benefit? These draft exercises are only visible to you, allowing you to work on them without cluttering everyone's exercise listing. Plus, for easy access, we've added a dedicated "Draft Exercises" section on the homepage.
Python Tutor Revamp
Our Python Tutor has undergone a significant transformation. Not only is it now compatible with Python exercises created through our new TESTed judge, but it also runs faster than ever before. Thanks to Papyros technology, we've shifted Python Tutor's backend code to run locally in your browser, ensuring smooth performance during high-traffic times like exams. And guess what? This is just Phase One. Stay tuned for more updates!
With the new Python Tutor in place, we strongly recommend transitioning to TESTed for any new Python exercises. While the old Python judge will continue to be supported, our focus will be on the more robust and versatile TESTed platform.
Smaller changes
We've taken "Anonymous Mode" up a notch. Apart from anonymizing student names, it now also blurs out certain exercise names to prevent unintentional leakage during live demos. Hover over the blurred names to reveal them.
We've swapped the Ace Editor for CodeMirror on the exercise page, all while retaining the same user-friendly editing experience you know and love.
What's Changed
π New Features
- Allow python tutor for every judge by @jorg-vr in #5050
- Run python tutor backend in browser by @jorg-vr in #5052
- Add draft flag to activities by @jorg-vr in #4998
β¨ Changes
- Refactor right request index from table to card list view by @bmesuere in #5061
- Blur potentially sensitive info while in anonymous mode by @bmesuere in #5083
- Replace Ace Editor with CodeMirror 6 by @niknetniko in #4970
- Add link to exercise docs in teacher mail by @niknetniko in #5096
π Bug Fixes
- Fix sorting for most recent submission per user by @jorg-vr in #5022
- Avoid git race conditions by allowing only one worker by @jorg-vr in #5024
- Fix dead news link in side nav bar by @MrBananaPants in #5048
- Set the color for active FABs by @bmesuere in #5054
- Harmonize comment menu wording by @bmesuere in #5057
- Tweak the wording of the "select submission" during evaluations by @bmesuere in #5056
- Use correct language for exercise names in exports by @bmesuere in #5058
- Fix submission table overflow by @bmesuere in #5059
- Fix score table overflow by @bmesuere in #5060
- Remove extra closing div on feedback show page by @jorg-vr in #5078
- Fix assets not available in production by @jorg-vr in #5082
π§° Maintenance
- Add slack invite link to readme by @bmesuere in #5032
- Mock fetch in js tests by @jorg-vr in #5049
- Fix js tests by @jorg-vr in #5051
- Return valid json in mock method by @jorg-vr in #5076
- Upgrade to lit 3.0 by @jorg-vr in #5080
New Contributors
- @MrBananaPants made their first contribution in #5048
Full Changelog: 2023.10...2023.11
2023.10
In September, we've been polishing our manual code review and annotation tools and are excited to share the advances with you.
The headline news: The "annotations reuse" feature has now been expanded to all our users. That's right - it's out of beta and available for everyone! We're currently crafting a detailed guide to ensure you get the most out of this feature. So, stay tuned for comprehensive documentation, coming your way soon.
What's Changed
π New Features
β¨ Changes
- Allow creating a saved annotations with the same title by @jorg-vr in #4884
- Show submission numbers in evalution submission selection by @jorg-vr in #4988
- Make wavy underline markings smaller by @jorg-vr in #4989
- Allow creating saved annotations by searching annotations by @jorg-vr in #4965
- Remove browser outline styling for focus-within on nav-tabs by @jorg-vr in #4997
π Bug Fixes
- Fix dragging create annotation button for padding pixels by @jorg-vr in #4959
- Fix breaking of spaces at the end of a code line by @jorg-vr in #4963
- Only close annotation form on focus loss when empty by @jorg-vr in #4958
- Do not redirect to repository media after login by @jorg-vr in #4964
- Fix search by username in account linking flow by @jorg-vr in #4967
- Fix notification title styling by @jorg-vr in #4985
- Fix docker images not being shut down by @jorg-vr in #4987
- Fix annotating part of a line by @jorg-vr in #4990
- Fix refreshing of course members page after actions by @jorg-vr in #4995
- Fix infinite progress bar when filtering students in an evaluation by @jorg-vr in #4996
- Show machine annotations on the last line if index out of range by @jorg-vr in #5012
- Fix copying selected code without extra newlines by @jorg-vr in #5013
π§° Maintenance
- Add a few RuboCop extensions by @niknetniko in #4936
- Update browserlist by @jorg-vr in #4906
- Group testing library updates by @bmesuere in #4982
- Fix system test chromedriver version by @jorg-vr in #4991
- Fix occassional failure of javascript tests by @jorg-vr in #5011
Full Changelog: 2023.09...2023.10
2023.09
August was bustling with activity! We honed in on enhancing the user experience for saved annotations. While it's currently in beta for a few selected courses, we're optimistic about rolling it out to everyone in the coming month.
A massive shoutout to @freyavs for making it possible to ditch jquery as a Dodona dependency. We've successfully transitioned all our JavaScript code to TypeScript, ensuring our codebase remains top-notch!
What's Changed
β¨ Changes
- Reintroduce highlighting annotations on hover by @jorg-vr in #4862
- Auto expand annotation button when a selection is active by @jorg-vr in #4865
- Remove saved annotations sidecard by @jorg-vr in #4886
- Update annotation form by @jorg-vr in #4701
- Create separate show and edit page for saved-annotations by @jorg-vr in #4885
- Make saved annotations filterable and sortable by @jorg-vr in #4887
- Extend allowed tags and attributes (svg) by @tibvdm in #4919
π Bug Fixes
- Prevent crash on series creation without course by @bmesuere in #4848
- Fix wavy underline in safari by @jorg-vr in #4859
- Fix selections growing to include annotations after selection end by @jorg-vr in #4864
- Fix title of create annotation button by @jorg-vr in #4867
- Fix new HOGent SAML sign in method by @jorg-vr in #4876
- Reintroduce blockqoute styling by @jorg-vr in #4881
- Fix saving an annotation after editing it by @jorg-vr in #4880
- Avoid 403 errors when a user cannot access linked saved annotations by @jorg-vr in #4902
- Allow more retries on activity_status deadlock errors by @jorg-vr in #4903
- Constrain annotations to start within the length of the line when rendering by @chvp in #4921
π§° Maintenance
- question_table.ts: remove jquery by @freyavs in #4850
- modal.js: remove jquery and convert to typescript by @freyavs in #4618
- score_item.ts: remove unused functions by @freyavs in #4860
- Get rid of html encode method by @jorg-vr in #4861
- util.js: remove jquery and convert to typescript by @freyavs in #4849
- rails views: start removing jQuery by @freyavs in #4851
- Replace jquery html calls by setHTMLExecuteScripts by @jorg-vr in #4877
- Replace all mentions of dodona.ugent.be by @jorg-vr in #4883
- Remove JQuery by @jorg-vr in #4879
- Group dependabot PRs by @bmesuere in #4915
- Rotate office365 OAuth client secret for 2023-2024 by @rien in #4917
Full Changelog: 2023.08...2023.09
2023.08
In July, we worked on further fine tuning the new annotations. Performance was improved (#4846) and multi-line annotations can now be added more easily by dragging the annotation button (#4643). Along with the usual dependency updates, we also upgraded from Bootstrap 5.2 to 5.3 (#4745). We now (almost) entirely rely on css variables instead of sass for styling the website. This means that the light/dark mode theme switcher now works differently under the hood, almost halving the size of the CSS.
Finally, we made the switch from our trusty old dodona.ugent.be hostname to dodona.be. We did our best to set up redirects, so all should keep working. All traffic to Dodona is now proxied by Cloudflare.
What's Changed
β¨ Changes
- Allow creating multiline annotations by dragging the create button by @jorg-vr in #4643
- Unify css with bootstrap themes by @jorg-vr in #4745
- Split code rendering into different functional layers by @jorg-vr in #4846
π Bug Fixes
- Fix memory stats collection during submission running by @chvp in #4807
- Fix Ufora LTI integration by @jorg-vr in #4823
- Check if course id is provided for series create by @freyavs in #4617
- Avoid crash when calling a delayed job on a deleted question by @jorg-vr in #4847
- Fix typo in monospace font variable by @jorg-vr in #4852
π§° Maintenance
- Create monthly release workflow by @jorg-vr in #4808
- Make dodona.be the main host in all configs by @jorg-vr in #4843
Full Changelog: 2023.07...2023.08
2023.07
We are happy to announce Dodona 2023.07! We are now deploying changes to dodona.ugent.be as soon as they are merged in the main branch. To provide an overview of the changes, we'll keep you updated with monthly GitHub releases.
This release has no big user-facing changes. The biggest change is that dropdown menus can now be navigated by using the arrow keys. In addition, a few bug related to the new annotation features in Dodona 6.8 were fixed.
What's Changed
β¨ Changes
- Select datalist dropdown options using arrow keys by @jorg-vr in #4699
- Reduce sleep time between stats collections to 200ms by @chvp in #4802
π Bug Fixes
- Fix combination of line highlight and annotation color by @jorg-vr in #4675
- Fix user nil error for saved annotations by @jorg-vr in #4697
- Greatly reduce lag caused by annotation hover by @jorg-vr in #4747
- Remove on hover highlight for annotations by @jorg-vr in #4771
π§° Maintenance
- Replace mentions of 'master' and 'develop' by 'main' by @jorg-vr in #4686
- Add github action to deploy to production by @jorg-vr in #4687
- Automatically trigger github action to deploy on pull request merge by @jorg-vr in #4702
- Set version as timestamp during rails initialization by @jorg-vr in #4705
Full Changelog: 6.8.6...2023.07