TIOJ 3.2.0
This version includes some enhancements and bug fixes. See Wiki for upgrade instructions. For a direct installation setup, the following steps are needed:
- (Strongly recommended) Upgrade tioj-judge to v2.1.2 for bug fixes
- Upgrade Ruby to v3.3.7
- Upgrade JavaScript packages
- Migrate database
- Configure
[path-to-tioj]/scripts/trim_sessions.shto run periodically (daily is recommended) to avoid database getting too large- Example crontab settings:
30 3 * * * [path-to-tioj]/scripts/trim_sessions.shto run it at 3:30 AM every day - Note that running this script for the first time will take a long time if the sessions table is big.
- Example crontab settings:
The deprecated rails credentials:edit configuration method is removed. Migrate to settings.yml if you are still using it.
Enhancements
- Change sample input/output to be displayed in plaintext by default (#40, #43 by @OmeletWithoutEgg)
- A new option Sample Display Type can be configured to "markdown". Old samples containing non-plaintext will be preserved using this option. Run
rails sample:identify_non_plaintext [detail=1]to list all sample testdata that includes non-plaintext.
- A new option Sample Display Type can be configured to "markdown". Old samples containing non-plaintext will be preserved using this option. Run
- Allow resetting user password from admin panel
- Improve admin panel pages
- Upgrade to Ruby 3.3, Rails 7.2 and ActiveAdmin 3
Bug Fixes & Other Changes
- Hide judge result messages from public (#41, #42 by @oToToT)
- Fix 500 error when requesting assets (#37)
- Fix sessions table not trimmed
- Fix a race condition causing occasional deadlock and incorrect score calculation
- Fix article list & submission list UI
- Remove configuration from
rails credentials:edit