Skip to content

Releases: TIOJ-INFOR-Online-Judge/tioj

TIOJ 3.2.2

06 Jun 03:23
c315e56

Choose a tag to compare

This is a bug-fix release. For a direct installation setup, migrating the database is needed.

  • Fix overflow on programs using >=2TiB of VSS

TIOJ 3.2.1

14 Mar 07:45
2bba2e0

Choose a tag to compare

This is a bug-fix release.

Important Upgrade Note

Because of a bug in the migration script in v3.2.0, if you have previously upgraded to v3.2.0, the display type in some sample testdata might be wrong. You can fix them by either:

  • Run RAILS_ENV=production rails db:rollback && RAILS_ENV=production rails db:migrate to automatically fix it.
    NOTE: If you have manually set the display type of some of the sample testdata after migrating to v3.2.0, running this will reset all the changes!
  • Run rails sample:identify_non_plaintext [detail=1] to list all sample testdata that is either non-plaintext or previously marked as non-plaintext, and manually check them.
    Note that there may be some plaintext testdata marked as non-plaintext (those containing parentheses), and also some non-plaintext testdata not marked as non-plaintext (those containing HTML escape sequences).

The bug won't occur if you didn't upgrade to v3.2.0. Just directly upgrade to v3.2.1 if that's the case.

Changes & Bug Fixes

  • Add plain markdown format for sample testdata, and rename the pre-v3.2.0 display behavior from "markdown" to "Raw HTML"
  • Fix incorrect plaintext sample testdata detection in migration (#44)

TIOJ 3.2.0

02 Mar 21:40
763bc29

Choose a tag to compare

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.sh to run periodically (daily is recommended) to avoid database getting too large
    • Example crontab settings: 30 3 * * * [path-to-tioj]/scripts/trim_sessions.sh to 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.

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.
  • 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

TIOJ 3.1.1

12 Nov 05:39
1afea45

Choose a tag to compare

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

28 Mar 03:39
e00f4d9

Choose a tag to compare

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

TIOJ 3.0.4

01 Nov 17:13
797b8f5

Choose a tag to compare

This is a bug-fix release.

  • Fix submission code viewing without permission

TIOJ 3.0.3

29 Oct 05:27
a9ed4e0

Choose a tag to compare

This is a bug-fix release.

  • Fix 404 on /contests/new

TIOJ 3.0.2

06 Oct 06:12
09dc1e5

Choose a tag to compare

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

14 Sep 02:39
fbeb41a

Choose a tag to compare

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

01 Sep 05:10
e75cb47

Choose a tag to compare

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
  • 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
  • Fix code line numbers slightly off-aligned
  • Fix checkbox UI
  • Fix problem numbering in contests with more than 26 problems