Releases: DMOJ/online-judge
Releases · DMOJ/online-judge
DMOJ Site v4.0.0
This release is meant to be used with the DMOJ Judge v4.0.0 release or newer.
Thanks to @Ninjaclasher, @int-y1, @WallE256, @kiritofeng, @Carson-Tang, and @Riolku for contributing major changes in this release.
Features
- Added support for contest curator and tester roles.
- Added support for safe Markdown rendering. By default, problems, blogs, etc. will now disallow unsafe HTML tags.
- Added an option for users to download their data.
- Added support for locking submissions from being rejudged.
- Added support for voting on problem point values.
- Added scratch code support for 2-factor authentication.
- Added language and judge endpoints to API v2.
- Added support for classes within organizations.
- Added the ability to disable a judge without terminating its connection.
- ...more.
UI changes
- The logo is now symmetrical. 🎉
- Many CSS fixups as we work towards supporting dark mode in a future release.
- Numerous improvements to site internationalization.
- Use a different color for the first letter of target-rated users.
- Added a submission activity graph to user pages.
- Added a column on the problems list showing whether an editorial is available.
- Highlighted partial AC testcases differently.
- Added participation start time tooltip to contest rankings.
- Made the submissions list more mobile-friendly.
- Made the contest list page sortable.
- Submissions list now uses infinite pagination.
- Surface maximum runtime on a single test case for AC submissions.
- Removed "share to Google+" buttons on content.
- Limit height of ongoing contest display on the home page.
- Added a confirmation dialog when rejudging submissions.
- Improved formatting of the password reset and account activation emails.
- ...more.
Miscellaneous
- Judge scheduling improvements for submission prioritization: in-contest > regular > rejudge > batch rejudge.
- Various site performance improvements.
- Contest ranking sorting now uses decimal precision.
- Disallow rating contests which haven't finished yet.
- Deleted orphaned editorials, and prevented them from being generated in the future
- ...more.
Security
- Patched XSS vulnerabilities around select2 (#1398).
- Prevent users from voting on hidden comments.
- Prevent muted users from voting on comments.
- ...more.
Full changelog
The full changelog is available here as well as below.
Changelog
- Make code lint correctly with new flake8 by @quantum5 in #1388
- Fix 500 error on unathenticated user in ticket ajax views by @fluix-dev in #1387
- Move login requirement check out of TicketMixin by @fluix-dev in #1389
- Correctly reject invalid IDs in ajax ticket views by @quantum5 in #1390
- Add option for user to download their data; #40 by @Ninjaclasher in #1351
- Implement submission locks by @WallE256 in #1391
- Make TOTP login the default form action by @quantum5 in #1395
- Add admin action to set problem publish date to now by @Ninjaclasher in #1392
- Organization improvements by @Carson-Tang in #1393
- Do not write empty
init.yml
by @kiritofeng in #1397 - Remove XSS vulnerabilities through poor select2 usage by @quantum5 in #1398
- Remove widget if no open organizations available by @kevinjycui in #1399
- Run unit tests on GitHub actions by @quantum5 in #1404
- Unset
Contest.is_locked
when cloning a contest by @Ninjaclasher in #1405 - Add IOI format with new rules from 2016 by @adambenali in #1401
- Remove contest editorial column if empty by @kevinjycui in #1406
- Defer Problem.summary on ProblemList by @quantum5 in #1407
- Coalesce i18n_name in python by @quantum5 in #1408
- Mark all strings in models as translation strings by @Ninjaclasher in #1409
- Correctly cache comment titles on home page by @quantum5 in #1412
- Compute judge runtime versions in a single query by @quantum5 in #1413
- Switch CI test database to MySQL by @quantum5 in #1417
- Remove secondary ID sort on user list by @quantum5 in #1414
- Generate test coverage and upload to codecov by @quantum5 in #1418
- Add caching to pip install when running tests by @quantum5 in #1419
- Improve submission lock UI by @WallE256 in #1402
- Fix
Submission.can_see_detail
erroring when user is not authenticated by @Ninjaclasher in #1423 - Remove superuser optimizations for most recent comments by @quantum5 in #1421
- Make
Problem.is_accessible_by
consistent withProblem.get_visible_problems
by @Ninjaclasher in #1420 - Fix contest ranking scroll on medium width screens for some browsers by @Ninjaclasher in #1396
- Unconditionally deny access when a comment's related object doesn't exist by @Ninjaclasher in #1426
- Add controls for full HTML markup access in problems by @quantum5 in #1424
- Fix lxml adding extra tags by @quantum5 in #1428
- Remove random 'k' in contest template by @fluix-dev in #1429
- Exclude locked submissions from celery task filter by @Ninjaclasher in #1432
- Hide
locked
word on submissions list for small-width screens by @Ninjaclasher in #1430 - Fix problem solution access check; fixes #1371 by @Ninjaclasher in #1425
- Update robots.txt with new URL endpoints; #504 by @Ninjaclasher in #1427
- Exempt flatpages from the HTML restrictions by @Ninjaclasher in #1431
- Allow most sane HTML tags and attributes by @quantum5 in #1434
- Properly redirect when the organization slug is wrong by @Ninjaclasher in #1436
- Fix org kick by @Carson-Tang in #1437
- Add keyboard shortcut for triggering abort action; #1191 by @Ninjaclasher in #1435
- Update problem stats on submission delete by @Ninjaclasher in #1438
- Don't show rejudge link on submission source view when locked by @Ninjaclasher in #1441
- Fix comment body not breaking text on some browsers; #1443 by @Ninjaclasher in #1444
- Use
has_other_pages()
to check if the pagination bar should be shown by @Ninjaclasher in #1446 - Add unittests for models by @Ninjaclasher in #1416
- Hide vertical scrollbar for
wmd-button-row
; #1447 by @Ninjaclasher in #1449 - Break usernames and problem names in submission row instead of overflow by @Ninjaclasher in #1450
- Show comment post time as a readonly field on admin page by @Ninjaclasher in #1451
- Fix broken HTML tags by @Ninjaclasher in #1454
- Use Python for getting the contest problem label in contest formats by @Ninjaclasher in #1453
- Add scratch code support for 2FA; fixes #784 by @Carson-Tang in #1334
- Remove hidden word for non generated scratch codes by @Carson-Tang in #1458
- Check none type scratch codes by @Carson-Tang in #1459
- Correctly handle string prefix in lxml tree creation by @quantum5 in #1463
- Add (slightly better) mobile support for comments by @Ninjaclasher in #1455
- Make problems list ordering consistent by @kevinjycui in #1452
- Mark submissions with wrong acknowledgements as IE by @quantum5 in #1467
- Fix race condition between freeing judge and judge selection by @quantum5 in #1468
- Add Language and Judge endpoints to API v2 by @Ninjaclasher in #1471
- Vertically align checkbox input type by @fluix-dev in #1465
- Clear MiscConfig cache properly when saving/deleting the object; #1339 by @Ninjaclasher in https://githu...
DMOJ Site v2.1.1
This bugfix release is meant to be used with the DMOJ Judge v2.1.0 release or newer.
DMOJ Site v2.1.0
This release is meant to be used with the DMOJ Judge v2.1.0 release.
The full changelog is available here.
DMOJ Site v2.0.0
This release is meant to be used with the DMOJ Judge v2.0.0 release.
The full changelog is available here.
Features
- Switch rating circles to be SVG-based, rendering much more smoothly on current browsers; #1081
- Added contest cloning functionality; #805
- Updated translations from translate.dmoj.ca
- Allow filtering submission list by abbreviated status / language codes; #1085
- Add support for running Stanford MOSS from within the contest interface; #1091
- Markdown tables are now properly styled; #1136
- Make "Login" and "Register" links more prominent; #639
- Add organization site logo overrides; #803
Fixes
- Fix submission table incorrectly resizing itself on Chrome
- Hide comments to inaccessible blog posts/problem solutions; fixes #1108
- Stop rejudged submissions from showing up in live update; #1140
- Stop caching failed PDF rendering logs; #1119
- Fix broken installs due to
django-pagedown
updates; #1080 - Fix bad default for Ace Javascript source path
- Fix broken Gravatars in ticket submission views
- Make manage submissions rejudging idempotent; fixes #1009
- Fix organization request log tabs showing blank pages
Miscellaneous
- ANSI HTML-ifying has been moved to the site in order to prevent judges from potentially executing HTML injection attacks; DMOJ/judge-server#478
- Unconditionally cause editorials to 404 in contest; #1035
- Remove Dropbox OAuth login support as it is deprecated
- Move a lot of constants into
settings.py
for easier searching; #993, #1036
DMOJ Site v1.4.0
This release is meant to be used with the DMOJ Judge v1.4.0 release.