Releases: TIOJ-INFOR-Online-Judge/tioj
TIOJ 3.1.1
This is a bug-fix release.
- Remove the ability to embed JavaScript into post hyperlink
- Fix incorrect default summary compiler (#36 by @OmeletWithoutEgg)
- Fix article list UI
TIOJ 3.1.0
This version includes some new features and bug fixes.
The judge client should be updated to v2.1.0 before using this version. Also, remember to recompile static files by RAILS_ENV=production rails assets:precompile
.
New Features
- Batch upload testdata (#32 by @william1010121)
- Customizable summary (total score / time / memory calculation)
Other Changes
- "Rejudge" button no longer rejudges the whole problem
- If invoked in a contest, only the submissions in that particular contest are rejudged; otherwise, only non-contest submissions are rejudged.
- Lower judge priority for whole-problem rejudge
- Use tabs in problem settings page
Bug Fixes
- Fix broken Arch Linux installation script (#33 by @giver139, @william1010121)
- Fix submission list results occasionally not updated
TIOJ 3.0.4
This is a bug-fix release.
- Fix submission code viewing without permission
TIOJ 3.0.3
This is a bug-fix release.
- Fix 404 on /contests/new
TIOJ 3.0.2
This is a bug-fix release.
- Fix crash when creating contest users with identical usernames or nicknames
- Fix links pointing to nonexistent user pages for contest users
- Fix broken Arch Linux install script
- Fix crash when trying to add an existing tag with different letter cases
- Tag search is now case-insensitive
- Fix submission testdata result occasionally not shown
- Display error message on 404 & 500 errors
- Generate error when there are pending migrations
TIOJ 3.0.1
This is a bug-fix release with some minor changes.
Changes
- Change default problem visibility to private to avoid inadvertent problem leak
- Add register button to the contest list page and homepage (to allow users to register when "Always go to Single Contest page by default" is enabled)
- UI also adjusted to fit the relevant information
- Show contest registration mode in the contest page
Bug Fixes
- Fix incorrect redirect behavior and crashes in Single Contest pages
- Fix missing CSV example in the contest user generation page
TIOJ 3.0.0: The Contest Update
This version introduces relatively major features and improvements, mostly focused on contest-related features.
The judge client should be updated to v2.0.0 before using this version.
New Features
- Single Contest website: setup a standalone website for any given contest by simply reverse-proxying a URL
- See Wiki for more details
- Add contest registration & simple contest user generation
- The old user whitelist feature is removed and automatically migrated by making the contest registration-required and adding matched users to registered users
- Support new IOI-style scoring (union by subtasks)
- Brand new contest dashboard
- Dashboard history: view past rankings at any time during the contest
- Independent dashboard visibility settings
- Automatic dashboard refresh using ActionCable
- Allow submitting code by uploading a file
- Allow raw code download in the submission page
- Allow specifying additional arguments for special judge compilation (#25)
Enhancements
- Upgrade outdated JavaScripts & cleanup unused assets
- If using Git, untracked files under
public/
can be removed after pulling this version
- If using Git, untracked files under
- Migrate to esbuild for better JavaScript version management
- Limit motto display size to prevent clobbered TopCoder or Ranklist
- Store subtask results in database for better performance
Bug Fixes
- Fix broken avatar generation
- Some users might not have an avatar because of this bug; run
rails avatar:generate_missing
to fix it
- Some users might not have an avatar because of this bug; run
- Fix code line numbers slightly off-aligned
- Fix checkbox UI
- Fix problem numbering in contests with more than 26 problems
TIOJ 2.3.1
This is a bug-fix release.
- Fix crash when reordering contest tasks (#28)
- Fix contest announcement redirection error
TIOJ 2.3.0
This version includes some new features and bug fixes.
Upgrade Notes
- Username validation is broken in previous versions, which allowed users to create accounts with Unicode usernames or usernames that can cause issues or even crashes. It is thus strongly recommended to run the command
rails user:check_invalid_username
to identify any accounts with issue-causing usernames. The validation is fixed in this version. As a result, the system will now only allow alphanumeric usernames by default. Unicode usernames can still be enabled as an optional feature. This policy change only applies to new users; previously registered users are not affected. - If there are old submissions from pre-2.0.0 version, add
old_submission_view: true
inconfig/settings.yml
to enable viewing old submission results. - If upgrade directly from pre-2.0.0 versions to this version, old submissions won't be rejudged. To rejudge old submissions, upgrade to 2.2.1 first and then upgrade to 2.3.0 after the rejudge is finished.
New Features
- Set different contest description before the start of the contest
- Add per-contest announcements (viewable only in contest pages)
- Configurable per-problem code length limit
- Optionally disable registration & enable Unicode username in
config/settings.yml
- Add pages for viewing pre-2.0.0 submission results and ranklists
- Disabled by default, can be enabled in
config/settings.yml
- Disabled by default, can be enabled in
Enhancements & Other Changes
- Pin & highlight upcoming and currently-running contests on homepage
- Remove old submission rejudging
Bug Fixes
- Fix crash when
config/settings.yml
is empty - Fix broken username validation
- Always use username in URL
TIOJ 2.2.1
This version includes some new features and changes. The judge client should be updated to v1.2.0 before using this version.
For existing Nginx + Passenger setups (the one used by the install script), it is strongly recommended to add the following block to nginx.conf
to mitigate a previous bug where the server might freeze when too many ActionCable connections (judge clients & submission page requests) exist:
location /cable {
passenger_app_group_name cable;
passenger_force_max_concurrent_requests_per_process 0;
passenger_env_var PASSENGER_CABLE 1;
}
New Features
- Support testdata compression (#19, #27)
- Run
rails td:compress_all
to compress existing testdata files
- Run
- Allow old-style special judge to override score & verdict
- Add an option in problems / contests to skip testdata once any of the testdata in the group got non-AC (#26)
Enhancements
- Add a progress bar when uploading testdata
- Add an option to decide whether to display score in ranklist
- Add version verification to avoid using incompatible judge clients
Bug Fixes
- Fix occasional freeze & incorrect judge online status when restarting web server
- Fix web server freeze when too many ActionCable connections exist