Releases: Kattis/problemtools
Releases · Kattis/problemtools
v1.20250606
A quick bugfix release. In the release yesterday, problem2{html,pdf}
had a bug where sample data was not included.
What's Changed
Full Changelog: v1.20250605...v1.20250606
v1.20250605
Release summary
It's been almost two years since the last release, so this is a large one. A few highlights:
- Work has begun to support the 2023-07-draft version of the problem package format. This is far from complete, but we can now:
- Parse and check
problem.yaml
- Deal with moved directories (e.g.,
problem_statement
moving tostatement
) - Render markdown statements
- Parse and check
- There's now a
-j
flag for multi-threaded validation - Warnings and errors from
verifyproblem
now have color - Releases are now uploaded to PyPi
If someone (outside of Kattis) is using problemtools
as a python library, note that this release contains several breaking changes. The most important is that verifyproblem.Problem.config.get()
is now replaced by verifyproblem.Problem.metadata
. If there are users, please let us know. We're currently working on the assumption that this is mostly used as a command line tool outside of Kattis.
What's Changed
- Add python type annotations to
problem2{html,pdf}
andverifyproblem
by @JoelNiemela in #240 - Arch installation instructions by @SvartaHjarta in #243
- Support overwriting directories within submissions with included directories by @Tagl in #241
- Set working directory for submission by @Tagl in #238
- Update README.md by @JoelNiemela in #245
- Update kotlin to version 1.8.10 by @JoelNiemela in #246
- Fix not showing WA test case verifyproblem.py by @hairez in #248
- Fix crash in verifyproblem when in or ans files are not utf-8 by @gkreitz in #251
- Restructure problem2html and problem2pdf by @pehrsoderman in #252
- Improved logging, fix unicode error, include_dir buildrun by @incaseoftrouble in #253
- Fix missed init, add test case by @incaseoftrouble in #256
- Restore command line logging behaviour by @incaseoftrouble in #259
- Replace Travis CI with Github actions by @gkreitz in #262
- Check that all symlinks point to something existing within the problem package by @gkreitz in #261
- Add -j flag for multi-threaded validation by @simonlindholm in #263
- Adding sanity checks for file sizes. by @pehrsoderman in #264
- Add UUID as an optional field in problem.yaml by @pehrsoderman in #265
- Fix running of tests using pybuild by @pehrsoderman in #266
- Warn if sample is empty by @pehrsoderman in #267
- Change team to user for default validator by @niemela in #268
- Add a dependency on dvisvgm, which was missing by @pehrsoderman in #269
- Remove non-standard
judgeerror.txt
from example problems by @gkreitz in #270 - Bump the language versions for c and c++ by @pehrsoderman in #271
- Explicitly set language versions for Java and Kotlin in languages.yaml by @mpsijm in #257
- Bump the language versions for Java by @pehrsoderman in #272
- GCC should use gnu17 by @pehrsoderman in #273
- Update languages.yaml by @pehrsoderman in #275
- Run interactive validation with submission's working directory by @Tagl in #278
- Change Rust compilation flags by @Matistjati in #281
- Update default_validator; add custom error when user output is empty by @JoelNiemela in #283
- Remove deprecated functionality of legacy format by @square-cylinder in #284
- Fix CI tests by @gkreitz in #288
- Implement new system for defining problem-formats by @square-cylinder in #286
- Add back warning/error logging by @Matistjati in #290
- Add type checking in our CI tests using
mypy
by @gkreitz in #292 - Allow verifying statements according to the new problem format by @ElliotRipa in #289
- Fix mypy errors by @gkreitz in #293
- Update problemtools packaging by @gkreitz in #298
- Support 2023-07 config by @gkreitz in #300
- Move tests to root of repository by @gkreitz in #301
- Clean-up: Fix everything flagged by
ruff check
, and a few other small fixes by @gkreitz in #303 - Apply ruff formatting by @gkreitz in #304
- Add ruff in CI and pre-commit by @gkreitz in #305
- Run all of verifyproblem for 2023-07 problems (even if we do not support many 2023-07 features) by @gkreitz in #306
- Suggest a new UUID when missing from config by @gkreitz in #307
- Markdown support by @Matistjati in #274
- Refactor metadata loading by @gkreitz in #308
- Add missing build requirements to debian build by @pehrsoderman in #313
- Convert some example problems to 2023-07-draft by @Matistjati in #309
- Refactor statement handling by @gkreitz in #311
- Update pyproject by @pehrsoderman in #314
- Add some documentation in the readme regarding current state of format versions by @gkreitz in #316
- Replace formatversion.FormatData with a StrEnum by @gkreitz in #315
- Colorlog and small fixes by @gkreitz in #317
- Improve image handling in markdown statements by @gkreitz in #318
- Restructure setup error handling by @gkreitz in #319
- Restore most of the old API offered by
problemtools.verifyproblem.Problem
by @gkreitz in #320 - Fix how we check for incorrect statement/output validator directory by @gkreitz in #324
- Pypi preparation by @gkreitz in #323
- Restructure docker build by @gkreitz in #321
- Run verifyproblem on all examples in CI by @gkreitz in #326
- Improved checks for types, interaction samples, and output validator language by @gkreitz in #327
- Remove generatedata by @gkreitz in #328
- Fix docker build by @gkreitz in #329
- Workflow that builds and pushes a package to testpypi by @gkreitz in #332
- Fix version computation when we build pypi packages by @gkreitz in #333
- Fix syntax error in github workflow file by @gkreitz in #334
- A few small fixes / extra checks by @gkreitz in #330
- Prepare for release 1.20250605 and for moving development from
devel
tomaster
by @gkreitz in #337 - Merge
develop
intomaster
by @gkreitz in #338
New Contributors
- @SvartaHjarta made their first contribution in #243
- @hairez made their first contribution in #248
- @gkreitz made their first contribution in #251
- @incaseoftrouble made their first contribution in #253
- @Matistjati made their first contribution in #281
- @square-cylinder made their first contribution in #284
- @ElliotRipa made their first contribution in #289
Full Changelog: v1.20231016...v1.20250605