Skip to content

v1.2.0: Version 1.2.0

Compare
Choose a tag to compare
@stefano-maggiolo stefano-maggiolo released this 01 Feb 12:08
· 1 commit to v1.2 since this release

CMS 1.2 starts a new process of smaller, bi-annual releases that we hope to continue in the future. For news on the project, make sure to follow @contestms at https://twitter.com/contestms.

Since the previous release in July, CMS has been used by the IOI 2014, and confirmed by IOI 2015. We continue to have many users all around the world, and to ask you to send us feedback and testimonials, especially through the online forms at http://cms-dev.github.io/index.html#help-us-help-you .

Even more important, we would love to see more developers interested in improving CMS. There are several starter projects listed at http://cms-dev.github.io/contribute.html for you to get accustomed with the project. Many thanks to the people that already are contributing!

What's new

New features.

  • Workers can evaluate testcases for the same submission in parallel: this means that evaluations are much faster if you have many workers.
  • Printing service, that allow contestants to print PDF and text files (with quotas) without the need to configure a print server.
  • Admins can import task in the Polygon format.
  • Admins can attach comments to the contestants' solutions (useful in a training setting).
  • The new IOI score modality (full feedback without tokens) is now implemented, and admins can choose between the previous and the current.
  • C++11 is used by default.

Behind the scenes.

  • Several security bugs around an unsafe use of isolate (our sandbox) were fixed. These won't be backported to 1.1, so make sure you update.
  • Isolate lives in a git submodule - make sure you update both CMS and isolate.
  • New base library for many of our core services.

Incompatible updates.

  • Both the database schema and the format of ContestExporter have changed. To update a dump, use cmscontrib/DumpUpdater.py \<name of dump\>. To update the schema, first dump the content with cmscontrib/ContestExporter.py and then drop and reinit the database with cmsDropDB and cmsInitDB.