Skip to content

Latest commit

 

History

History
3401 lines (2195 loc) · 69.9 KB

File metadata and controls

3401 lines (2195 loc) · 69.9 KB

0.32.0 (2026-03-18)

Fix

  • propagate problems of interesting based on which problems passed building/validation before statement building
  • improve menu phrasing
  • fix several issues in limits_editor.py
  • remove group-specific scoring from run selection in ui
  • add score to entries in rbx ui
  • add styling to sxs solution selector
  • add headers to testcase entries in ui
  • improve highlighted colors of listviews and optionlists
  • migrate from ListView to OptionList in a few UI components
  • fix run_ui issue with solution markup
  • print scoring in detailed view
  • ci: remove .x suffix from python version matrix

0.32.0rc1 (2026-03-16)

Fix

  • improve console phrase
  • use console style markup instead of custom markup
  • improve score markups
  • add scoring to reporters
  • change outcome report signature
  • fix color of ANY solutions
  • add bits to force preset installation from resources
  • run generation before skeleton construction in irun
  • use generation metadata repr in rbx ui list views
  • use expand_markup in rbx ui
  • improve reprs of testcase entries
  • make reporters use entries instead of indices (at least in most places)
  • fix non determinism in validators.py
  • fix duplicate order determinism in generators.py
  • add python classifiers to toml
  • fix flag conflict in irun
  • support remote expressions inside finder expressions
  • ensure @ can be part of solution token in finder parser
  • print reference solution in stress
  • add option to set reference solution in stress tests
  • add locks around preprocessed paths
  • remove unnecessary updates
  • add signal hooks to AsyncStreamer
  • add AsyncStreamer to simplify executor code
  • bind type of LiveTask
  • fix spinner jittering
  • create scheduled future for AsyncGenerator
  • add slow spinner to LiveTasks
  • add ability to hide rendered tasks in LiveTasks
  • add status messages to LiveTasks
  • remove references to dumping in LiveTasks
  • put other Lives on hold on LiveTasks kicks in
  • show cropped version of the compilation error for solutions
  • improve compilation live view with panels
  • make live tasks vertical overflow visible
  • validate testcases in parallel
  • make testcase generation and output generation run in parallel

Refactor

  • refactor skeleton to include GenerationTestcaseEntries
  • move live_tasks to parallel folder

0.32.0rc0 (2026-03-13)

Feat

  • make generator and solution compilation run in parallel with threads

Fix

  • improve async executor to run done callback immediately
  • add live tasks
  • ensure run_communication yields in steps.py
  • add async executor
  • ensure compile_item is now async
  • ensure sandboxes are created when needed
  • add filelock to DependencyCache
  • add lock to FilesystemStorage
  • add filelock to FileCacher
  • add validation for "input" name in BOCA package
  • ensure pipes are only captured for samples and when -cp is specified
  • modify color of OLE in markup verdict
  • add pipesize param to programs
  • update upgrade command
  • use better EOF delimiters in boca bash scripts
  • stop copying solutions into boca package

0.31.10 (2026-03-07)

Fix

  • implement the judging time bit, but do not show it for now

0.31.9 (2026-03-06)

Fix

  • fix checker in stress tests
  • improve error handling in polygon upload
  • add \mbox as unwrap command in polygon

0.31.8 (2026-03-05)

Fix

  • add boca submitter
  • add serial to kotlin
  • add GC serial to java
  • remove binary limit for java
  • increase boca compilation binary limit for c
  • increase size of c++ compiled binaries

0.31.7 (2026-03-04)

Fix

  • capture pipes depending on flag on interactor codeitem
  • capture pipes selectively during output generation

0.31.6 (2026-03-04)

Fix

  • enclose problem full name during packaging around quotes
  • stop printing dir tree when building statement

0.31.5 (2026-03-03)

Fix

  • fix issue with rbx.h caching

0.31.4 (2026-03-03)

Fix

  • fix verbatim on interaction changes

0.31.3 (2026-03-03)

Fix

  • fix gcc math linkage in rbx

0.31.2 (2026-03-03)

Fix

  • fix relative paths on run

0.31.1 (2026-03-03)

Fix

  • fix issue stack

0.31.0 (2026-03-01)

Feat

  • contest: allow rbx each with no arguments

Fix

  • ui: consolidate shell input notifications into single toast

0.30.0 (2026-02-28)

Feat

  • ui: add limits profile editor screen
  • pass profiles to statements
  • ui: enable vertical scrollbar on command terminal pane
  • ui: add ctrl+y copy shortcut for terminal text selection
  • ui: add TaskQueue class for command scheduling
  • ui: improve command app keyboard navigation and focus management
  • ui: wire context menu into command input submission
  • ui: add TabSelectorModal screen for selecting tabs
  • ui: add Menu floating overlay widget

Fix

  • ensure boca profile is required in boca packager
  • ui: prevent terminal state corruption when command pane is hidden
  • ensure task queue in command app can handle different tasks with different exclusiveity modes efficiently
  • ui: use 'c' instead of enter for tab selector confirmation
  • ui: rename Menu.Selected to OptionSelected to avoid shadowing ListView.Selected
  • ui: add bounds/dismissed guards to menu and update test main
  • ensure terminal colors are nice

Refactor

  • summary: extract testable pure functions and fix bugs
  • ui: simplify command_app.py
  • ui: integrate TaskQueue into rbxCommandApp
  • ui: replace buttons with keyboard shortcuts in TabSelectorModal

0.29.2 (2026-02-25)

Fix

  • add a few fixes to rbx on

0.29.1 (2026-02-25)

Fix

  • add placeholder as prefix in input box

0.29.0 (2026-02-25)

Feat

  • ui: add tabbed command queuing and input box to command app
  • create command app

Fix

  • make rbx on run in non-ui mode when only a single problem of interest
  • ui: enforce sequential execution for user-initiated commands in command app
  • ui: add border to CommandPane in command app

Refactor

  • ui: replace LogDisplay with vendored Toad CommandPane

0.28.2 (2026-02-24)

Fix

  • ensure hash duplication warnings point to metadata
  • add flag to compile all assets
  • ensure warnings are parsed correctly after ansi code stripping

0.28.1 (2026-02-23)

Fix

  • handle BraceGroup and escaped dollar in polygon TeX validation

0.28.0 (2026-02-23)

Feat

  • ensure polygon blocks come directly from statement building and preprocess+validate them
  • add JSON serialization for MacroDefinitions
  • add expand_macros with iterative hybrid TexSoup + text replacement
  • add collect_macro_definitions with recursive file traversal
  • add extract_definitions for parsing macro definitions from TeX
  • add MacroDef and MacroDefinitions data model for demacro

Fix

  • ensure only samples and statements are built when uploading
  • make sure vars can be used in .tex for tests
  • bump version and push
  • ignore macros in tex->polygon transformation
  • add support for macros block in default preset
  • sync pre-commit ruff version with project and fix lint errors
  • remove xdg-open command from wsl system (#385)

0.25.4 (2026-02-18)

Fix

  • update uv lock

0.25.3 (2026-02-18)

Fix

  • fix issue with ui visualizers

0.25.2 (2026-02-18)

Fix

  • limit to Python3.13 fort now
  • fix event loop issue on Python3.14

0.25.1 (2026-02-18)

Fix

  • fix issue with visualizers and rbx ui
  • prime template before rendering blocks
  • use version range instead of exact major pin in upgrade command
  • add dotenv loading
  • fix a few extra tests and code
  • migrate commitizen config

0.25.0 (2026-02-07)

Feat

  • migrate from poetry to uv

Fix

  • fix version provider for commitizen
  • delete dangling svg
  • Rename CLAUDE.md -> AGENTS.md
  • remove poetry badge
  • disable FMA on ARM
  • show warning when not using rbx time
  • dedup issue stack messages
  • add issue severity markers
  • handle typer.Exit() in rbx ui apps
  • make rbx ui visible

0.24.0 (2026-02-01)

Feat

  • add visualizers

Fix

  • interactive mode docs
  • add special code to visualizers
  • add interactive to visualizers
  • fall back to visualizer hwen no solution visualizer
  • fully refactor visualizers
  • add output_from to visualizers
  • add ui visualizers
  • fix novalidate typo
  • add package size to packager

0.23.8 (2026-01-27)

Fix

  • fix packager statemment building
  • improve build samples with sense of progress
  • fixed output validation
  • fix missing async

0.23.7 (2026-01-26)

Fix

  • fix inheritance bug
  • fix stress test command
  • show generator call along error
  • add validate flags
  • add --no-validate to irun

0.23.6 (2026-01-23)

Fix

  • fix fuzz tests
  • small fix in error msg
  • ensure output validators are also run for .out files

0.23.5 (2026-01-22)

Fix

  • warn about symlink issue with git-on-windows
  • add bit to avoid building samples in statements
  • show nice error messages about rbx version when parsing fails
  • fix stats
  • ensure clean can clean contests
  • print better errors

0.23.4 (2026-01-19)

Fix

  • add check for .out output files
  • build statement samples from generation entries, and handle .out and .ans separately
  • add manual ans verification
  • modify original sci function

0.23.3 (2026-01-17)

Fix

  • fix relative assets during contest statement building

0.23.2 (2026-01-17)

Fix

  • add --novalidate flag to commands
  • add note that users can skip validation when building
  • show error when summarization fails for problem within a contest

0.23.1 (2026-01-16)

Fix

  • improve rbx sum and add a detailed mode
  • add rbx summary

0.23.0 (2026-01-10)

Feat

  • add fuzz tests to stresses

Fix

  • add group name to validator calls
  • fix expected score validation
  • add group deps to points problems
  • add basic scoring implementation with a few todos
  • slight refactor to accomodate for new scoring features
  • skip invalid test cases in fuzz tests
  • add .interaction file to docs
  • add --slowest flag to stress tests
  • add duplicate test check
  • add polygon validation utils but dont use just yet
  • fix contest statement expansion during inheritance
  • add tikzpictures that are expanded into pdfs
  • add externalization params when building statements for polygon
  • add tikz externalization to build process
  • add a bunch of texsoup utils
  • fix a few issues

0.22.2 (2025-12-27)

Fix

  • add -p variant for --profile
  • have a global profile flag to control which profile is used
  • add custom time controls for stress tests
  • consolidate limits profile function
  • fix a few type findings
  • check preset version first thing in rbx
  • add a few predownloaded assets to rbx to improve usability in a no-connection scenario
  • add solution tags
  • tell current profile TL in rbx time
  • show a issue when solution is producing too much stderr
  • fix method import
  • teach user how to bypass version constraint in preset error
  • warn on duplicate generator calls in testplan
  • add duplicate call error to stress tests
  • show errors when certain commands do not exist
  • add vars to high-level problem context

Refactor

  • fix casing of variables

0.22.1 (2025-12-21)

Fix

  • fix remaining tests
  • fix a couple weird tests
  • fix a failing test in generator scripts
  • fix a few generator script tests

0.22.0 (2025-12-21)

Feat

  • add inheritance to problem statements

Fix

  • add titles to contests
  • inheriting contest vars when using inheritFromContest
  • fix expander tests
  • fix rbxtex statements
  • reorder polygon upload docs

0.21.4 (2025-12-19)

Fix

  • add validator to polygon upload

0.21.3 (2025-12-19)

Fix

  • ensure other manual tests are uploaded to polygon

0.21.2 (2025-12-17)

Fix

  • correctly upload polygon statement assets
  • handle exceptions properly in thread pools during polygon upload
  • always kill processes in pipe.c

0.21.1 (2025-12-01)

Fix

  • ensure interactive process are ordered and we track order of visit

0.21.0 (2025-11-27)

Feat

  • add output validators when building and validating
  • ****: create unit test parser
  • add parser for testplan and testgroups

Fix

  • fix BOCA interactive run when code is not chrooted
  • read explanation files from tex accompanying samples
  • add parsing for testplan:line tests
  • print what solution is being used to generate outputs
  • add unit tests new parsing
  • fix parsing issues with input blocks
  • be more lenient with whitespaces in unit parser
  • fix whitespace normalization within input blocks in parsers
  • add expectation support in unit test parser
  • add support for bracket delimited input/output
  • support @input in statement
  • structure generation input coming from testplans
  • smart delete solution in polygon
  • save generator scripts in polygon uplaod
  • use correct language in validator
  • upload polygon solutions with correct lang
  • upload statement resources in parallel
  • parallelize solution uplaod to polygon
  • fix image names in statement resources when uploading to polygon

0.20.1rc6 (2025-11-08)

Fix

  • add upload filtering for polygon

0.20.1rc5 (2025-11-08)

Fix

  • fix polygon schema
  • add keybind based filters
  • add small fetch optimization
  • add sentinel for failures
  • show loading box while loading code
  • add fixes to boca view

0.20.1rc4 (2025-11-07)

Fix

  • ensure view refreshes do not deselected things
  • pause refresh with zero
  • ui friendly magenta

Refactor

  • \remove unused code

0.20.1rc3 (2025-11-07)

Fix

  • fix compilation error in scraping

0.20.1rc2 (2025-11-07)

Fix

  • improve width size

0.20.1rc1 (2025-11-07)

Fix

  • add substring team filter
  • select code and show on row highligh

0.20.1rc0 (2025-11-07)

Fix

  • deal with small diffs
  • add two types of diffs
  • prefetch solutions in boca scraper view
  • vibe code a boca view
  • add code review for remote boca run

0.20.0 (2025-11-07)

Fix

  • fix boca scraper for remote download runs
  • fix no caching of remote solutions
  • add empty statement in BOCA when one is not present
  • ensure builtin checker is read when path does not exist
  • change > to >= when checking for TL when printing operator along with the time
  • ensure AC testcases with warnings are render by live run reporter
  • make compiled file relative to package

0.20.0rc11 (2025-11-06)

Fix

  • fix relpath walk up

0.20.0rc10 (2025-11-04)

Fix

  • fix a few typing errors
  • fix function in rbx_ui
  • schedule hard kill if program does not finish fast enough after interrupt
  • fix hanging 0 testcase

0.20.0rc9 (2025-11-04)

Fix

  • handle ctrl+C in stress tests
  • handle ctrl+C through a try-catch block
  • make paths relative in irun
  • ensure ctrl+C does not show stacktrace

0.20.0rc8 (2025-11-04)

Fix

  • optimize detailed table

0.20.0rc7 (2025-11-04)

Fix

  • fix issues with typing
  • fix timing per language
  • fix solution href in compilation error

0.20.0rc6 (2025-11-03)

Fix

  • reintroduce OK to rbx run
  • add TL in timing summary and color appropriately things that should be info

0.20.0rc5 (2025-11-03)

Fix

  • add hilite
  • split good and pass in timing summary

0.20.0rc4 (2025-11-03)

Fix

  • put rbx irun back in a state similar to rbx run
  • ensure issues stack rule is printed as red
  • ensure "slow" is printed as a TLE verdict
  • print number of testcases in each group

0.20.0rc3 (2025-11-03)

Fix

  • use red background for failed
  • use relative runs folder in solution header
  • fix prerelease script

0.20.0rc2 (2025-11-03)

Fix

  • update packaging module

0.20.0rc1 (2025-11-03)

Fix

  • fix semver

0.20.0rc0 (2025-11-03)

Feat

  • colorize solutions with href
  • add live run reporter

Fix

  • disable typer autocompletion
  • show test metadata when testcase fails the validation
  • fix checker compilation error
  • fix duplicate parameter -o in irun
  • handle kbi in ask commands in rbx time

0.19.11 (2025-10-21)

Fix

  • fix compilation issue with stress tests

0.19.10 (2025-10-17)

Fix

  • passes through all validators in one off commands

0.19.9 (2025-10-17)

Fix

  • run all validators

0.19.8 (2025-10-14)

Fix

  • fix GenerationMetadata for @copy entries

0.19.7 (2025-10-14)

Fix

  • add overrides for pypy compilation

0.19.6 (2025-10-14)

Fix

  • few cosmetic fixes

0.19.5 (2025-10-14)

Fix

  • show a nice error when editor is not found

0.19.4 (2025-10-11)

Fix

  • add mode to checker to support custom BOCA checkers

0.19.3 (2025-10-09)

Fix

  • ensure boca language utils honor env language finding per extension
  • add support for additional extensions in languages
  • ensure .limits folder is not created when reading limits file

0.19.2 (2025-10-09)

Fix

  • add configuration for fallback checker to match box behavior

Refactor

  • use get_checker_or_nil functions to check for main checker

0.19.1 (2025-10-08)

Fix

  • add extraValidators globally
  • add glob support for extraValidators
  • refactor get_globbed_code_items
  • fix f-string quoting
  • support adding stress findings to box testplans
  • make sure stress tests add generatorScript.path to the yml
  • only use generators with a matching extension/language
  • add custom build dirs to presets

0.19.0 (2025-10-08)

Feat

  • add box testplan format
  • add @copy to generator scripts
  • add beta wizard backkend

Fix

  • use builtin checkers automagically
  • use generator script root only for generators
  • fix lookup by extension
  • fix sanitization in irun
  • cache transiently when sanitization is enabled
  • use line flush when building samples
  • add warning that wizard was vibe coded
  • fix model routing
  • fix default value for strategy

0.18.12 (2025-09-12)

Fix

  • support round in safeeval

0.18.11 (2025-09-12)

Fix

  • add --auto flag for rbx time

0.18.10 (2025-09-12)

Fix

  • show tls for BOCA packaging

0.18.9 (2025-09-12)

Fix

  • fix issue with limit modifiers
  • use safeeval for timing formulae
  • use safeeval for commands
  • add safeeval for file mapping

0.18.8 (2025-09-12)

Fix

  • rollback Java class detection logic in BOCA
  • add ability to specify language when building boca package

0.18.7 (2025-09-11)

Fix

  • add pypy3 support to boca

0.18.6 (2025-09-09)

Fix

  • skip invalid tests when generation fails in stress

0.18.5 (2025-09-09)

Fix

  • small fix on print error header

0.18.4 (2025-09-08)

Fix

  • dump statement build artifacts of contest into a dir
  • ensure compilation errors are skipped in rbx run
  • add option to skip invalid tests in stress
  • invert order of teeing to make interactive merged output less flaky
  • fix more tests

Refactor

  • small cosmetics changes

0.18.3 (2025-09-04)

Fix

  • fix several rbx/boca language integration issues

0.18.2 (2025-09-03)

Fix

  • fix default BOCA flags in env
  • update preset to match all files

0.18.1 (2025-09-02)

Fix

  • fix statement matching

0.18.0 (2025-09-02)

Feat

  • support kotlin in boca
  • add support for kotlin
  • add support for envrc

0.17.9 (2025-09-01)

Fix

  • add colors for c++ compilation
  • add href to a few missing places

0.17.8 (2025-09-01)

Fix

  • fix manual scraper
  • fix downlaod of remote solution

0.17.7 (2025-09-01)

Fix

  • update docs with pointers to uv
  • add judge failed expected outcome for checker tests
  • fix tee unbound variables

0.17.6 (2025-08-24)

Fix

  • fix leaked fds in Program

0.17.5 (2025-08-22)

Fix

  • ensure autojudge_new_sel is only checked for in newer versions of BOCA

0.17.4 (2025-08-22)

Fix

  • add option to print number of fds in tests to debug
  • sort in a few globs to ensure deterministic ordering
  • fix generator parser RECNAME expression

0.17.3 (2025-08-19)

Fix

  • make XML parser less strict with polygon packages

0.17.2 (2025-08-19)

Fix

  • add optional description to the stress test

0.17.1 (2025-08-18)

Fix

  • fix issue stack

0.17.0 (2025-08-16)

Feat

  • add names section in package

Fix

  • ensure title is not tied to statement in Polygon packager
  • ensure title is not tied to statement in boca packager

0.16.4 (2025-08-15)

Fix

  • fix tests to unblock CI

0.16.3 (2025-08-15)

Fix

  • fix tool fetch
  • get current version from __version__py

0.16.2 (2025-08-14)

Fix

  • add a few sensible defaults for Polygon xml
  • ensure built-in presets are fetch from remote from a specific tag

0.16.1 (2025-08-12)

Fix

  • manually bump default preset version
  • fix version files signature and update preset min version accordingly

0.16.0 (2025-08-12)

Feat

  • add min version field to presets

Fix

  • check for preset compatibility when installing/updating a preset
  • fetch built-in presets from resources and check their version
  • honor min_version checks when using a preset

0.15.0 (2025-08-11)

Feat

  • add commitizen version files
  • presets/info: fix spacing in table
  • presets/icpc: fix spacing in markright
  • presets/info: fix eol
  • presets/info: remove packages imported by icpc
  • presets/info: declare \lang before importing icpc
  • presets/info: declare geometry on documentclass

0.14.0 (2025-08-10)

Feat

  • add sol failures to issue stack
  • add issue stack with contest-level error aggregation
  • add model solution field to testsets
  • build statements partially when one breaks
  • add nested variables
  • add option to integrate limits profile into package
  • add limits to statements
  • add new timing feature

Fix

  • add typing_extensions for compatibility with python<3.12 and TypeAliasType
  • unqoute paths in sandbox glob
  • add testlib to default preset
  • improve solutions structure on preset
  • fix a few tests
  • use packager-specific limits profile when packaging
  • fix caching issue with precompilation
  • check for stack limit only on darwin
  • use time profiles everywhere
  • fix boca expander after refactor
  • add problems to contest in lex order
  • cache: symlink to cacher when copying compressed executable to sandbox
  • fix a few unit tests
  • fix time reporting on program.py
  • add ridiculously buggy version flag
  • ensure preset MIN_N variables is used in validator
  • several improvements to preset statements

Refactor

  • delete other rbc stuff

0.13.8 (2025-07-19)

Fix

  • fix interactive sample line breaks
  • fix Polygon statement build with vars

0.13.7 (2025-07-18)

Fix

  • fix scientific notation in statements
  • optionally call killpg in sandbox

Refactor

  • remove two weird limit tests

0.13.6 (2025-07-14)

Fix

  • fix header.h serialization issues and write tests
  • add tests for steps.run and fix memory usage
  • kill solution when interactor finishes first with wa

Refactor

  • remove a few debugging assets
  • delete processing_context.py (unused)
  • delete old test.py stupidsandbox tester
  • erase timeit

0.13.5 (2025-07-13)

Fix

  • fix copytree gitignore
  • capture interaction in new sandbox
  • allow for 64-bit rbx.h vars
  • fix digest integrity checks
  • rewrite to use a new stupid sandbox
  • ensure checker messages are properly truncated everywhere
  • ensure we don't check caching integrity on write
  • ensure pipes are not captured when specified manually in generators
  • add proper escaping in rbx ui
  • add tests for default preset
  • remove console log for nocheck

Refactor

  • delete unused fifo code
  • remove deprecated isolate code
  • move problem testdata
  • clean up check functions in steps.py

0.13.4 (2025-07-10)

Fix

  • use relpath compatible with python < 3.12
  • use sqlitedict instead of shelve
  • add new tests for checker communication
  • fix vars formatting for rbx.h
  • statement: ensure flags are propagated to statements correctly

Refactor

  • delete old rbc assets

0.13.3 (2025-07-04)

Fix

  • ensure certain deps are not imported

0.13.2 (2025-07-04)

Fix

  • regenerate lock

0.13.1 (2025-07-04)

Fix

  • stress: fix stress name
  • add contest-level packager for boca
  • preset: remove generation section in default preset yaml
  • ensure interactor and main are only compiled when output generation is necessary

0.13.0 (2025-07-04)

Feat

  • packaging: add language parameter to polygon packagers
  • tool: add importer and converter from polygon to boca (problem)
  • contest: makes rbx each available as an alias to rbx contest each

0.12.0 (2025-07-03)

Feat

  • package: add suppot for specifying generators by path
  • package: support globs on solutions

Fix

  • preset: update default preset to use getVar() instead of opt()
  • cache: ensure dir of symlinks are created before the symlink itself
  • make sure --vars does not override -v in statement commands
  • ensure CRLF are automatically fixed
  • add check for crlf when building tests
  • show proper error when invalid generator is referenced by script
  • use enum in preset instead of alias
  • improve texliveonfly call
  • fix preset interactive example spacing
  • improve default preset .gitignore

0.11.2 (2025-07-02)

Fix

  • install tex in builder

0.11.1 (2025-07-02)

Fix

  • ensure joined type does not superseed install-tex

0.11.0 (2025-07-02)

Feat

  • add option to install tex missing packages automatically with tinytex

Fix

  • preset: uncomment modern font in default preset
  • fix editorial in presets

0.10.3 (2025-07-01)

Fix

  • make sure copytree respects symlnks in presets
  • add editorial block to template

0.10.2 (2025-07-01)

Fix

  • temporarily disable rbx fix on pkg creation
  • fix order
  • fix problem_template.rbx.tex

0.10.1 (2025-07-01)

Fix

  • do not get presets from resources

0.10.0 (2025-07-01)

Fix

  • fix version

0.10.0rc0 (2025-07-01)

Feat

  • statement: add support for pandoc markdown wirh rbxmd

0.9.2 (2025-07-01)

Fix

  • fix cache level on pydantic

0.9.1 (2025-06-30)

Fix

  • add caching to default config templates
  • fix shelve open call type
  • check integrity of symlinks

0.9.0 (2025-06-30)

Feat

  • preset: add support for symlinks in presets
  • presets: add rbx presets create

Fix

  • preset: ensure symlinks are always copied
  • replace .resolve() calls with utils.abspath()
  • update preset tracking
  • add prompts to all package creation commands
  • cache: do not cache in irun, except for when passing -t/-tc
  • fix none issue with run.log.time

0.8.0 (2025-06-28)

Feat

  • remote: add @main shortcut to refer to main solution
  • stress: make stress support simple finder expression with just the solution name
  • stress: support remote solutions in stress
  • cache: use global cache for precompilation
  • debug: add debug context
  • cache: refactor metadata and introduce executable compression
  • cache: add grading context for controlling cache behavior

Fix

  • cache: ensure compilation is not cached for remote solutions too
  • cache: disable caching for remote solutions
  • stress: cache only compilation in stress tests
  • add progress notices to stress tests
  • stress: support interactive problems
  • stress: migrate stress tests to use run_solution_on_testcase
  • migrate a few occurrences of @functoos.lru_cache
  • fix bug when teeing interactive problem communication
  • use orderedset to store tracked solutions to guarantee run order
  • cache: add global cache to stats
  • cache: convert src inputs to digests when file symlinks to digest
  • add profiling utilities
  • ignore property error
  • cache: symlink to storage where possible
  • cache: add symlink to backend when available from get_file
  • use description to signal sanitization
  • cache: add Filecacher in a few more places
  • run: show error when running with non-existing solutions
  • preset: fix default preset
  • fix default preset olymp.sty

0.27.0 (2026-02-22)

Feat

  • ensure polygon blocks come directly from statement building and preprocess+validate them
  • add JSON serialization for MacroDefinitions
  • add expand_macros with iterative hybrid TexSoup + text replacement
  • add collect_macro_definitions with recursive file traversal
  • add extract_definitions for parsing macro definitions from TeX
  • add MacroDef and MacroDefinitions data model for demacro

Fix

  • make sure vars can be used in .tex for tests
  • bump version and push
  • ignore macros in tex->polygon transformation
  • add support for macros block in default preset
  • sync pre-commit ruff version with project and fix lint errors
  • remove xdg-open command from wsl system (#385)

0.25.4 (2026-02-18)

Fix

  • update uv lock

0.25.3 (2026-02-18)

Fix

  • fix issue with ui visualizers

0.25.2 (2026-02-18)

Fix

  • limit to Python3.13 fort now
  • fix event loop issue on Python3.14

0.25.1 (2026-02-18)

Fix

  • fix issue with visualizers and rbx ui
  • prime template before rendering blocks
  • use version range instead of exact major pin in upgrade command
  • add dotenv loading
  • fix a few extra tests and code
  • migrate commitizen config

0.25.0 (2026-02-07)

Feat

  • migrate from poetry to uv

Fix

  • fix version provider for commitizen
  • delete dangling svg
  • Rename CLAUDE.md -> AGENTS.md
  • remove poetry badge
  • disable FMA on ARM
  • show warning when not using rbx time
  • dedup issue stack messages
  • add issue severity markers
  • handle typer.Exit() in rbx ui apps
  • make rbx ui visible

0.24.0 (2026-02-01)

Feat

  • add visualizers

Fix

  • interactive mode docs
  • add special code to visualizers
  • add interactive to visualizers
  • fall back to visualizer hwen no solution visualizer
  • fully refactor visualizers
  • add output_from to visualizers
  • add ui visualizers
  • fix novalidate typo
  • add package size to packager

0.23.8 (2026-01-27)

Fix

  • fix packager statemment building
  • improve build samples with sense of progress
  • fixed output validation
  • fix missing async

0.23.7 (2026-01-26)

Fix

  • fix inheritance bug
  • fix stress test command
  • show generator call along error
  • add validate flags
  • add --no-validate to irun

0.23.6 (2026-01-23)

Fix

  • fix fuzz tests
  • small fix in error msg
  • ensure output validators are also run for .out files

0.23.5 (2026-01-22)

Fix

  • warn about symlink issue with git-on-windows
  • add bit to avoid building samples in statements
  • show nice error messages about rbx version when parsing fails
  • fix stats
  • ensure clean can clean contests
  • print better errors

0.23.4 (2026-01-19)

Fix

  • add check for .out output files
  • build statement samples from generation entries, and handle .out and .ans separately
  • add manual ans verification
  • modify original sci function

0.23.3 (2026-01-17)

Fix

  • fix relative assets during contest statement building

0.23.2 (2026-01-17)

Fix

  • add --novalidate flag to commands
  • add note that users can skip validation when building
  • show error when summarization fails for problem within a contest

0.23.1 (2026-01-16)

Fix

  • improve rbx sum and add a detailed mode
  • add rbx summary

0.23.0 (2026-01-10)

Feat

  • add fuzz tests to stresses

Fix

  • add group name to validator calls
  • fix expected score validation
  • add group deps to points problems
  • add basic scoring implementation with a few todos
  • slight refactor to accomodate for new scoring features
  • skip invalid test cases in fuzz tests
  • add .interaction file to docs
  • add --slowest flag to stress tests
  • add duplicate test check
  • add polygon validation utils but dont use just yet
  • fix contest statement expansion during inheritance
  • add tikzpictures that are expanded into pdfs
  • add externalization params when building statements for polygon
  • add tikz externalization to build process
  • add a bunch of texsoup utils
  • fix a few issues

0.22.2 (2025-12-27)

Fix

  • add -p variant for --profile
  • have a global profile flag to control which profile is used
  • add custom time controls for stress tests
  • consolidate limits profile function
  • fix a few type findings
  • check preset version first thing in rbx
  • add a few predownloaded assets to rbx to improve usability in a no-connection scenario
  • add solution tags
  • tell current profile TL in rbx time
  • show a issue when solution is producing too much stderr
  • fix method import
  • teach user how to bypass version constraint in preset error
  • warn on duplicate generator calls in testplan
  • add duplicate call error to stress tests
  • show errors when certain commands do not exist
  • add vars to high-level problem context

Refactor

  • fix casing of variables

0.22.1 (2025-12-21)

Fix

  • fix remaining tests
  • fix a couple weird tests
  • fix a failing test in generator scripts
  • fix a few generator script tests

0.22.0 (2025-12-21)

Feat

  • add inheritance to problem statements

Fix

  • add titles to contests
  • inheriting contest vars when using inheritFromContest
  • fix expander tests
  • fix rbxtex statements
  • reorder polygon upload docs

0.21.4 (2025-12-19)

Fix

  • add validator to polygon upload

0.21.3 (2025-12-19)

Fix

  • ensure other manual tests are uploaded to polygon

0.21.2 (2025-12-17)

Fix

  • correctly upload polygon statement assets
  • handle exceptions properly in thread pools during polygon upload
  • always kill processes in pipe.c

0.21.1 (2025-12-01)

Fix

  • ensure interactive process are ordered and we track order of visit

0.21.0 (2025-11-27)

Feat

  • add output validators when building and validating
  • ****: create unit test parser
  • add parser for testplan and testgroups

Fix

  • fix BOCA interactive run when code is not chrooted
  • read explanation files from tex accompanying samples
  • add parsing for testplan:line tests
  • print what solution is being used to generate outputs
  • add unit tests new parsing
  • fix parsing issues with input blocks
  • be more lenient with whitespaces in unit parser
  • fix whitespace normalization within input blocks in parsers
  • add expectation support in unit test parser
  • add support for bracket delimited input/output
  • support @input in statement
  • structure generation input coming from testplans
  • smart delete solution in polygon
  • save generator scripts in polygon uplaod
  • use correct language in validator
  • upload polygon solutions with correct lang
  • upload statement resources in parallel
  • parallelize solution uplaod to polygon
  • fix image names in statement resources when uploading to polygon

0.20.1rc6 (2025-11-08)

Fix

  • add upload filtering for polygon

0.20.1rc5 (2025-11-08)

Fix

  • fix polygon schema
  • add keybind based filters
  • add small fetch optimization
  • add sentinel for failures
  • show loading box while loading code
  • add fixes to boca view

0.20.1rc4 (2025-11-07)

Fix

  • ensure view refreshes do not deselected things
  • pause refresh with zero
  • ui friendly magenta

Refactor

  • \remove unused code

0.20.1rc3 (2025-11-07)

Fix

  • fix compilation error in scraping

0.20.1rc2 (2025-11-07)

Fix

  • improve width size

0.20.1rc1 (2025-11-07)

Fix

  • add substring team filter
  • select code and show on row highligh

0.20.1rc0 (2025-11-07)

Fix

  • deal with small diffs
  • add two types of diffs
  • prefetch solutions in boca scraper view
  • vibe code a boca view
  • add code review for remote boca run

0.20.0 (2025-11-07)

Fix

  • fix boca scraper for remote download runs
  • fix no caching of remote solutions
  • add empty statement in BOCA when one is not present
  • ensure builtin checker is read when path does not exist
  • change > to >= when checking for TL when printing operator along with the time
  • ensure AC testcases with warnings are render by live run reporter
  • make compiled file relative to package

0.20.0rc11 (2025-11-06)

Fix

  • fix relpath walk up

0.20.0rc10 (2025-11-04)

Fix

  • fix a few typing errors
  • fix function in rbx_ui
  • schedule hard kill if program does not finish fast enough after interrupt
  • fix hanging 0 testcase

0.20.0rc9 (2025-11-04)

Fix

  • handle ctrl+C in stress tests
  • handle ctrl+C through a try-catch block
  • make paths relative in irun
  • ensure ctrl+C does not show stacktrace

0.20.0rc8 (2025-11-04)

Fix

  • optimize detailed table

0.20.0rc7 (2025-11-04)

Fix

  • fix issues with typing
  • fix timing per language
  • fix solution href in compilation error

0.20.0rc6 (2025-11-03)

Fix

  • reintroduce OK to rbx run
  • add TL in timing summary and color appropriately things that should be info

0.20.0rc5 (2025-11-03)

Fix

  • add hilite
  • split good and pass in timing summary

0.20.0rc4 (2025-11-03)

Fix

  • put rbx irun back in a state similar to rbx run
  • ensure issues stack rule is printed as red
  • ensure "slow" is printed as a TLE verdict
  • print number of testcases in each group

0.20.0rc3 (2025-11-03)

Fix

  • use red background for failed
  • use relative runs folder in solution header
  • fix prerelease script

0.20.0rc2 (2025-11-03)

Fix

  • update packaging module

0.20.0rc1 (2025-11-03)

Fix

  • fix semver

0.20.0rc0 (2025-11-03)

Feat

  • colorize solutions with href
  • add live run reporter

Fix

  • disable typer autocompletion
  • show test metadata when testcase fails the validation
  • fix checker compilation error
  • fix duplicate parameter -o in irun
  • handle kbi in ask commands in rbx time

0.19.11 (2025-10-21)

Fix

  • fix compilation issue with stress tests

0.19.10 (2025-10-17)

Fix

  • passes through all validators in one off commands

0.19.9 (2025-10-17)

Fix

  • run all validators

0.19.8 (2025-10-14)

Fix

  • fix GenerationMetadata for @copy entries

0.19.7 (2025-10-14)

Fix

  • add overrides for pypy compilation

0.19.6 (2025-10-14)

Fix

  • few cosmetic fixes

0.19.5 (2025-10-14)

Fix

  • show a nice error when editor is not found

0.19.4 (2025-10-11)

Fix

  • add mode to checker to support custom BOCA checkers

0.19.3 (2025-10-09)

Fix

  • ensure boca language utils honor env language finding per extension
  • add support for additional extensions in languages
  • ensure .limits folder is not created when reading limits file

0.19.2 (2025-10-09)

Fix

  • add configuration for fallback checker to match box behavior

Refactor

  • use get_checker_or_nil functions to check for main checker

0.19.1 (2025-10-08)

Fix

  • add extraValidators globally
  • add glob support for extraValidators
  • refactor get_globbed_code_items
  • fix f-string quoting
  • support adding stress findings to box testplans
  • make sure stress tests add generatorScript.path to the yml
  • only use generators with a matching extension/language
  • add custom build dirs to presets

0.19.0 (2025-10-08)

Feat

  • add box testplan format
  • add @copy to generator scripts
  • add beta wizard backkend

Fix

  • use builtin checkers automagically
  • use generator script root only for generators
  • fix lookup by extension
  • fix sanitization in irun
  • cache transiently when sanitization is enabled
  • use line flush when building samples
  • add warning that wizard was vibe coded
  • fix model routing
  • fix default value for strategy

0.18.12 (2025-09-12)

Fix

  • support round in safeeval

0.18.11 (2025-09-12)

Fix

  • add --auto flag for rbx time

0.18.10 (2025-09-12)

Fix

  • show tls for BOCA packaging

0.18.9 (2025-09-12)

Fix

  • fix issue with limit modifiers
  • use safeeval for timing formulae
  • use safeeval for commands
  • add safeeval for file mapping

0.18.8 (2025-09-12)

Fix

  • rollback Java class detection logic in BOCA
  • add ability to specify language when building boca package

0.18.7 (2025-09-11)

Fix

  • add pypy3 support to boca

0.18.6 (2025-09-09)

Fix

  • skip invalid tests when generation fails in stress

0.18.5 (2025-09-09)

Fix

  • small fix on print error header

0.18.4 (2025-09-08)

Fix

  • dump statement build artifacts of contest into a dir
  • ensure compilation errors are skipped in rbx run
  • add option to skip invalid tests in stress
  • invert order of teeing to make interactive merged output less flaky
  • fix more tests

Refactor

  • small cosmetics changes

0.18.3 (2025-09-04)

Fix

  • fix several rbx/boca language integration issues

0.18.2 (2025-09-03)

Fix

  • fix default BOCA flags in env
  • update preset to match all files

0.18.1 (2025-09-02)

Fix

  • fix statement matching

0.18.0 (2025-09-02)

Feat

  • support kotlin in boca
  • add support for kotlin
  • add support for envrc

0.17.9 (2025-09-01)

Fix

  • add colors for c++ compilation
  • add href to a few missing places

0.17.8 (2025-09-01)

Fix

  • fix manual scraper
  • fix downlaod of remote solution

0.17.7 (2025-09-01)

Fix

  • update docs with pointers to uv
  • add judge failed expected outcome for checker tests
  • fix tee unbound variables

0.17.6 (2025-08-24)

Fix

  • fix leaked fds in Program

0.17.5 (2025-08-22)

Fix

  • ensure autojudge_new_sel is only checked for in newer versions of BOCA

0.17.4 (2025-08-22)

Fix

  • add option to print number of fds in tests to debug
  • sort in a few globs to ensure deterministic ordering
  • fix generator parser RECNAME expression

0.17.3 (2025-08-19)

Fix

  • make XML parser less strict with polygon packages

0.17.2 (2025-08-19)

Fix

  • add optional description to the stress test

0.17.1 (2025-08-18)

Fix

  • fix issue stack

0.17.0 (2025-08-16)

Feat

  • add names section in package

Fix

  • ensure title is not tied to statement in Polygon packager
  • ensure title is not tied to statement in boca packager

0.16.4 (2025-08-15)

Fix

  • fix tests to unblock CI

0.16.3 (2025-08-15)

Fix

  • fix tool fetch
  • get current version from __version__py

0.16.2 (2025-08-14)

Fix

  • add a few sensible defaults for Polygon xml
  • ensure built-in presets are fetch from remote from a specific tag

0.16.1 (2025-08-12)

Fix

  • manually bump default preset version
  • fix version files signature and update preset min version accordingly

0.16.0 (2025-08-12)

Feat

  • add min version field to presets

Fix

  • check for preset compatibility when installing/updating a preset
  • fetch built-in presets from resources and check their version
  • honor min_version checks when using a preset

0.15.0 (2025-08-11)

Feat

  • add commitizen version files
  • presets/info: fix spacing in table
  • presets/icpc: fix spacing in markright
  • presets/info: fix eol
  • presets/info: remove packages imported by icpc
  • presets/info: declare \lang before importing icpc
  • presets/info: declare geometry on documentclass

0.14.0 (2025-08-10)

Feat

  • add sol failures to issue stack
  • add issue stack with contest-level error aggregation
  • add model solution field to testsets
  • build statements partially when one breaks
  • add nested variables
  • add option to integrate limits profile into package
  • add limits to statements
  • add new timing feature

Fix

  • add typing_extensions for compatibility with python<3.12 and TypeAliasType
  • unqoute paths in sandbox glob
  • add testlib to default preset
  • improve solutions structure on preset
  • fix a few tests
  • use packager-specific limits profile when packaging
  • fix caching issue with precompilation
  • check for stack limit only on darwin
  • use time profiles everywhere
  • fix boca expander after refactor
  • add problems to contest in lex order
  • cache: symlink to cacher when copying compressed executable to sandbox
  • fix a few unit tests
  • fix time reporting on program.py
  • add ridiculously buggy version flag
  • ensure preset MIN_N variables is used in validator
  • several improvements to preset statements

Refactor

  • delete other rbc stuff

0.13.8 (2025-07-19)

Fix

  • fix interactive sample line breaks
  • fix Polygon statement build with vars

0.13.7 (2025-07-18)

Fix

  • fix scientific notation in statements
  • optionally call killpg in sandbox

Refactor

  • remove two weird limit tests

0.13.6 (2025-07-14)

Fix

  • fix header.h serialization issues and write tests
  • add tests for steps.run and fix memory usage
  • kill solution when interactor finishes first with wa

Refactor

  • remove a few debugging assets
  • delete processing_context.py (unused)
  • delete old test.py stupidsandbox tester
  • erase timeit

0.13.5 (2025-07-13)

Fix

  • fix copytree gitignore
  • capture interaction in new sandbox
  • allow for 64-bit rbx.h vars
  • fix digest integrity checks
  • rewrite to use a new stupid sandbox
  • ensure checker messages are properly truncated everywhere
  • ensure we don't check caching integrity on write
  • ensure pipes are not captured when specified manually in generators
  • add proper escaping in rbx ui
  • add tests for default preset
  • remove console log for nocheck

Refactor

  • delete unused fifo code
  • remove deprecated isolate code
  • move problem testdata
  • clean up check functions in steps.py

0.13.4 (2025-07-10)

Fix

  • use relpath compatible with python < 3.12
  • use sqlitedict instead of shelve
  • add new tests for checker communication
  • fix vars formatting for rbx.h
  • statement: ensure flags are propagated to statements correctly

Refactor

  • delete old rbc assets

0.13.3 (2025-07-04)

Fix

  • ensure certain deps are not imported

0.13.2 (2025-07-04)

Fix

  • regenerate lock

0.13.1 (2025-07-04)

Fix

  • stress: fix stress name
  • add contest-level packager for boca
  • preset: remove generation section in default preset yaml
  • ensure interactor and main are only compiled when output generation is necessary

0.13.0 (2025-07-04)

Feat

  • packaging: add language parameter to polygon packagers
  • tool: add importer and converter from polygon to boca (problem)
  • contest: makes rbx each available as an alias to rbx contest each

0.12.0 (2025-07-03)

Feat

  • package: add suppot for specifying generators by path
  • package: support globs on solutions

Fix

  • preset: update default preset to use getVar() instead of opt()
  • cache: ensure dir of symlinks are created before the symlink itself
  • make sure --vars does not override -v in statement commands
  • ensure CRLF are automatically fixed
  • add check for crlf when building tests
  • show proper error when invalid generator is referenced by script
  • use enum in preset instead of alias
  • improve texliveonfly call
  • fix preset interactive example spacing
  • improve default preset .gitignore

0.11.2 (2025-07-02)

Fix

  • install tex in builder

0.11.1 (2025-07-02)

Fix

  • ensure joined type does not superseed install-tex

0.11.0 (2025-07-02)

Feat

  • add option to install tex missing packages automatically with tinytex

Fix

  • preset: uncomment modern font in default preset
  • fix editorial in presets

0.10.3 (2025-07-01)

Fix

  • make sure copytree respects symlnks in presets
  • add editorial block to template

0.10.2 (2025-07-01)

Fix

  • temporarily disable rbx fix on pkg creation
  • fix order
  • fix problem_template.rbx.tex

0.10.1 (2025-07-01)

Fix

  • do not get presets from resources

0.10.0 (2025-07-01)

Fix

  • fix version

0.10.0rc0 (2025-07-01)

Feat

  • statement: add support for pandoc markdown wirh rbxmd

0.9.2 (2025-07-01)

Fix

  • fix cache level on pydantic

0.9.1 (2025-06-30)

Fix

  • add caching to default config templates
  • fix shelve open call type
  • check integrity of symlinks

0.9.0 (2025-06-30)

Feat

  • preset: add support for symlinks in presets
  • presets: add rbx presets create

Fix

  • preset: ensure symlinks are always copied
  • replace .resolve() calls with utils.abspath()
  • update preset tracking
  • add prompts to all package creation commands
  • cache: do not cache in irun, except for when passing -t/-tc
  • fix none issue with run.log.time

0.8.0 (2025-06-28)

Feat

  • remote: add @main shortcut to refer to main solution
  • stress: make stress support simple finder expression with just the solution name
  • stress: support remote solutions in stress
  • cache: use global cache for precompilation
  • debug: add debug context
  • cache: refactor metadata and introduce executable compression
  • cache: add grading context for controlling cache behavior

Fix

  • cache: ensure compilation is not cached for remote solutions too
  • cache: disable caching for remote solutions
  • stress: cache only compilation in stress tests
  • add progress notices to stress tests
  • stress: support interactive problems
  • stress: migrate stress tests to use run_solution_on_testcase
  • migrate a few occurrences of @functoos.lru_cache
  • fix bug when teeing interactive problem communication
  • use orderedset to store tracked solutions to guarantee run order
  • cache: add global cache to stats
  • cache: convert src inputs to digests when file symlinks to digest
  • add profiling utilities
  • ignore property error
  • cache: symlink to storage where possible
  • cache: add symlink to backend when available from get_file
  • use description to signal sanitization
  • cache: add Filecacher in a few more places
  • run: show error when running with non-existing solutions
  • preset: fix default preset
  • fix default preset olymp.sty

0.7.0 (2025-06-23)

Feat

  • preset: add rbx contest init command
  • lint: add YAML linting config to go hand-to-hand with VSCode
  • lint: add linting for presets

Fix

  • lint: fix Problem -> Package schema name

0.6.1 (2025-06-23)

Fix

  • fix publishing

0.26.0 (2026-02-22)

Feat

  • ensure polygon blocks come directly from statement building and preprocess+validate them
  • add JSON serialization for MacroDefinitions
  • add expand_macros with iterative hybrid TexSoup + text replacement
  • add collect_macro_definitions with recursive file traversal
  • add extract_definitions for parsing macro definitions from TeX
  • add MacroDef and MacroDefinitions data model for demacro

Fix

  • ignore macros in tex->polygon transformation
  • add support for macros block in default preset
  • sync pre-commit ruff version with project and fix lint errors
  • remove xdg-open command from wsl system (#385)

0.25.4 (2026-02-18)

Fix

  • update uv lock

0.25.3 (2026-02-18)

Fix

  • fix issue with ui visualizers

0.25.2 (2026-02-18)

Fix

  • limit to Python3.13 fort now
  • fix event loop issue on Python3.14

0.25.1 (2026-02-18)

Fix

  • fix issue with visualizers and rbx ui
  • prime template before rendering blocks
  • use version range instead of exact major pin in upgrade command
  • add dotenv loading
  • fix a few extra tests and code
  • migrate commitizen config

0.25.0 (2026-02-07)

Feat

  • migrate from poetry to uv

Fix

  • fix version provider for commitizen
  • delete dangling svg
  • Rename CLAUDE.md -> AGENTS.md
  • remove poetry badge
  • disable FMA on ARM
  • show warning when not using rbx time
  • dedup issue stack messages
  • add issue severity markers
  • handle typer.Exit() in rbx ui apps
  • make rbx ui visible

0.24.0 (2026-02-01)

Feat

  • add visualizers

Fix

  • interactive mode docs
  • add special code to visualizers
  • add interactive to visualizers
  • fall back to visualizer hwen no solution visualizer
  • fully refactor visualizers
  • add output_from to visualizers
  • add ui visualizers
  • fix novalidate typo
  • add package size to packager

0.23.8 (2026-01-27)

Fix

  • fix packager statemment building
  • improve build samples with sense of progress
  • fixed output validation
  • fix missing async

0.23.7 (2026-01-26)

Fix

  • fix inheritance bug
  • fix stress test command
  • show generator call along error
  • add validate flags
  • add --no-validate to irun

0.23.6 (2026-01-23)

Fix

  • fix fuzz tests
  • small fix in error msg
  • ensure output validators are also run for .out files

0.23.5 (2026-01-22)

Fix

  • warn about symlink issue with git-on-windows
  • add bit to avoid building samples in statements
  • show nice error messages about rbx version when parsing fails
  • fix stats
  • ensure clean can clean contests
  • print better errors

0.23.4 (2026-01-19)

Fix

  • add check for .out output files
  • build statement samples from generation entries, and handle .out and .ans separately
  • add manual ans verification
  • modify original sci function

0.23.3 (2026-01-17)

Fix

  • fix relative assets during contest statement building

0.23.2 (2026-01-17)

Fix

  • add --novalidate flag to commands
  • add note that users can skip validation when building
  • show error when summarization fails for problem within a contest

0.23.1 (2026-01-16)

Fix

  • improve rbx sum and add a detailed mode
  • add rbx summary

0.23.0 (2026-01-10)

Feat

  • add fuzz tests to stresses

Fix

  • add group name to validator calls
  • fix expected score validation
  • add group deps to points problems
  • add basic scoring implementation with a few todos
  • slight refactor to accomodate for new scoring features
  • skip invalid test cases in fuzz tests
  • add .interaction file to docs
  • add --slowest flag to stress tests
  • add duplicate test check
  • add polygon validation utils but dont use just yet
  • fix contest statement expansion during inheritance
  • add tikzpictures that are expanded into pdfs
  • add externalization params when building statements for polygon
  • add tikz externalization to build process
  • add a bunch of texsoup utils
  • fix a few issues

0.22.2 (2025-12-27)

Fix

  • add -p variant for --profile
  • have a global profile flag to control which profile is used
  • add custom time controls for stress tests
  • consolidate limits profile function
  • fix a few type findings
  • check preset version first thing in rbx
  • add a few predownloaded assets to rbx to improve usability in a no-connection scenario
  • add solution tags
  • tell current profile TL in rbx time
  • show a issue when solution is producing too much stderr
  • fix method import
  • teach user how to bypass version constraint in preset error
  • warn on duplicate generator calls in testplan
  • add duplicate call error to stress tests
  • show errors when certain commands do not exist
  • add vars to high-level problem context

Refactor

  • fix casing of variables

0.22.1 (2025-12-21)

Fix

  • fix remaining tests
  • fix a couple weird tests
  • fix a failing test in generator scripts
  • fix a few generator script tests

0.22.0 (2025-12-21)

Feat

  • add inheritance to problem statements

Fix

  • add titles to contests
  • inheriting contest vars when using inheritFromContest
  • fix expander tests
  • fix rbxtex statements
  • reorder polygon upload docs

0.21.4 (2025-12-19)

Fix

  • add validator to polygon upload

0.21.3 (2025-12-19)

Fix

  • ensure other manual tests are uploaded to polygon

0.21.2 (2025-12-17)

Fix

  • correctly upload polygon statement assets
  • handle exceptions properly in thread pools during polygon upload
  • always kill processes in pipe.c

0.21.1 (2025-12-01)

Fix

  • ensure interactive process are ordered and we track order of visit

0.21.0 (2025-11-27)

Feat

  • add output validators when building and validating
  • ****: create unit test parser
  • add parser for testplan and testgroups

Fix

  • fix BOCA interactive run when code is not chrooted
  • read explanation files from tex accompanying samples
  • add parsing for testplan:line tests
  • print what solution is being used to generate outputs
  • add unit tests new parsing
  • fix parsing issues with input blocks
  • be more lenient with whitespaces in unit parser
  • fix whitespace normalization within input blocks in parsers
  • add expectation support in unit test parser
  • add support for bracket delimited input/output
  • support @input in statement
  • structure generation input coming from testplans
  • smart delete solution in polygon
  • save generator scripts in polygon uplaod
  • use correct language in validator
  • upload polygon solutions with correct lang
  • upload statement resources in parallel
  • parallelize solution uplaod to polygon
  • fix image names in statement resources when uploading to polygon

0.20.1rc6 (2025-11-08)

Fix

  • add upload filtering for polygon

0.20.1rc5 (2025-11-08)

Fix

  • fix polygon schema
  • add keybind based filters
  • add small fetch optimization
  • add sentinel for failures
  • show loading box while loading code
  • add fixes to boca view

0.20.1rc4 (2025-11-07)

Fix

  • ensure view refreshes do not deselected things
  • pause refresh with zero
  • ui friendly magenta

Refactor

  • \remove unused code

0.20.1rc3 (2025-11-07)

Fix

  • fix compilation error in scraping

0.20.1rc2 (2025-11-07)

Fix

  • improve width size

0.20.1rc1 (2025-11-07)

Fix

  • add substring team filter
  • select code and show on row highligh

0.20.1rc0 (2025-11-07)

Fix

  • deal with small diffs
  • add two types of diffs
  • prefetch solutions in boca scraper view
  • vibe code a boca view
  • add code review for remote boca run

0.20.0 (2025-11-07)

Fix

  • fix boca scraper for remote download runs
  • fix no caching of remote solutions
  • add empty statement in BOCA when one is not present
  • ensure builtin checker is read when path does not exist
  • change > to >= when checking for TL when printing operator along with the time
  • ensure AC testcases with warnings are render by live run reporter
  • make compiled file relative to package

0.20.0rc11 (2025-11-06)

Fix

  • fix relpath walk up

0.20.0rc10 (2025-11-04)

Fix

  • fix a few typing errors
  • fix function in rbx_ui
  • schedule hard kill if program does not finish fast enough after interrupt
  • fix hanging 0 testcase

0.20.0rc9 (2025-11-04)

Fix

  • handle ctrl+C in stress tests
  • handle ctrl+C through a try-catch block
  • make paths relative in irun
  • ensure ctrl+C does not show stacktrace

0.20.0rc8 (2025-11-04)

Fix

  • optimize detailed table

0.20.0rc7 (2025-11-04)

Fix

  • fix issues with typing
  • fix timing per language
  • fix solution href in compilation error

0.20.0rc6 (2025-11-03)

Fix

  • reintroduce OK to rbx run
  • add TL in timing summary and color appropriately things that should be info

0.20.0rc5 (2025-11-03)

Fix

  • add hilite
  • split good and pass in timing summary

0.20.0rc4 (2025-11-03)

Fix

  • put rbx irun back in a state similar to rbx run
  • ensure issues stack rule is printed as red
  • ensure "slow" is printed as a TLE verdict
  • print number of testcases in each group

0.20.0rc3 (2025-11-03)

Fix

  • use red background for failed
  • use relative runs folder in solution header
  • fix prerelease script

0.20.0rc2 (2025-11-03)

Fix

  • update packaging module

0.20.0rc1 (2025-11-03)

Fix

  • fix semver

0.20.0rc0 (2025-11-03)

Feat

  • colorize solutions with href
  • add live run reporter

Fix

  • disable typer autocompletion
  • show test metadata when testcase fails the validation
  • fix checker compilation error
  • fix duplicate parameter -o in irun
  • handle kbi in ask commands in rbx time

0.19.11 (2025-10-21)

Fix

  • fix compilation issue with stress tests

0.19.10 (2025-10-17)

Fix

  • passes through all validators in one off commands

0.19.9 (2025-10-17)

Fix

  • run all validators

0.19.8 (2025-10-14)

Fix

  • fix GenerationMetadata for @copy entries

0.19.7 (2025-10-14)

Fix

  • add overrides for pypy compilation

0.19.6 (2025-10-14)

Fix

  • few cosmetic fixes

0.19.5 (2025-10-14)

Fix

  • show a nice error when editor is not found

0.19.4 (2025-10-11)

Fix

  • add mode to checker to support custom BOCA checkers

0.19.3 (2025-10-09)

Fix

  • ensure boca language utils honor env language finding per extension
  • add support for additional extensions in languages
  • ensure .limits folder is not created when reading limits file

0.19.2 (2025-10-09)

Fix

  • add configuration for fallback checker to match box behavior

Refactor

  • use get_checker_or_nil functions to check for main checker

0.19.1 (2025-10-08)

Fix

  • add extraValidators globally
  • add glob support for extraValidators
  • refactor get_globbed_code_items
  • fix f-string quoting
  • support adding stress findings to box testplans
  • make sure stress tests add generatorScript.path to the yml
  • only use generators with a matching extension/language
  • add custom build dirs to presets

0.19.0 (2025-10-08)

Feat

  • add box testplan format
  • add @copy to generator scripts
  • add beta wizard backkend

Fix

  • use builtin checkers automagically
  • use generator script root only for generators
  • fix lookup by extension
  • fix sanitization in irun
  • cache transiently when sanitization is enabled
  • use line flush when building samples
  • add warning that wizard was vibe coded
  • fix model routing
  • fix default value for strategy

0.18.12 (2025-09-12)

Fix

  • support round in safeeval

0.18.11 (2025-09-12)

Fix

  • add --auto flag for rbx time

0.18.10 (2025-09-12)

Fix

  • show tls for BOCA packaging

0.18.9 (2025-09-12)

Fix

  • fix issue with limit modifiers
  • use safeeval for timing formulae
  • use safeeval for commands
  • add safeeval for file mapping

0.18.8 (2025-09-12)

Fix

  • rollback Java class detection logic in BOCA
  • add ability to specify language when building boca package

0.18.7 (2025-09-11)

Fix

  • add pypy3 support to boca

0.18.6 (2025-09-09)

Fix

  • skip invalid tests when generation fails in stress

0.18.5 (2025-09-09)

Fix

  • small fix on print error header

0.18.4 (2025-09-08)

Fix

  • dump statement build artifacts of contest into a dir
  • ensure compilation errors are skipped in rbx run
  • add option to skip invalid tests in stress
  • invert order of teeing to make interactive merged output less flaky
  • fix more tests

Refactor

  • small cosmetics changes

0.18.3 (2025-09-04)

Fix

  • fix several rbx/boca language integration issues

0.18.2 (2025-09-03)

Fix

  • fix default BOCA flags in env
  • update preset to match all files

0.18.1 (2025-09-02)

Fix

  • fix statement matching

0.18.0 (2025-09-02)

Feat

  • support kotlin in boca
  • add support for kotlin
  • add support for envrc

0.17.9 (2025-09-01)

Fix

  • add colors for c++ compilation
  • add href to a few missing places

0.17.8 (2025-09-01)

Fix

  • fix manual scraper
  • fix downlaod of remote solution

0.17.7 (2025-09-01)

Fix

  • update docs with pointers to uv
  • add judge failed expected outcome for checker tests
  • fix tee unbound variables

0.17.6 (2025-08-24)

Fix

  • fix leaked fds in Program

0.17.5 (2025-08-22)

Fix

  • ensure autojudge_new_sel is only checked for in newer versions of BOCA

0.17.4 (2025-08-22)

Fix

  • add option to print number of fds in tests to debug
  • sort in a few globs to ensure deterministic ordering
  • fix generator parser RECNAME expression

0.17.3 (2025-08-19)

Fix

  • make XML parser less strict with polygon packages

0.17.2 (2025-08-19)

Fix

  • add optional description to the stress test

0.17.1 (2025-08-18)

Fix

  • fix issue stack

0.17.0 (2025-08-16)

Feat

  • add names section in package

Fix

  • ensure title is not tied to statement in Polygon packager
  • ensure title is not tied to statement in boca packager

0.16.4 (2025-08-15)

Fix

  • fix tests to unblock CI

0.16.3 (2025-08-15)

Fix

  • fix tool fetch
  • get current version from __version__py

0.16.2 (2025-08-14)

Fix

  • add a few sensible defaults for Polygon xml
  • ensure built-in presets are fetch from remote from a specific tag

0.16.1 (2025-08-12)

Fix

  • manually bump default preset version
  • fix version files signature and update preset min version accordingly

0.16.0 (2025-08-12)

Feat

  • add min version field to presets

Fix

  • check for preset compatibility when installing/updating a preset
  • fetch built-in presets from resources and check their version
  • honor min_version checks when using a preset

0.15.0 (2025-08-11)

Feat

  • add commitizen version files
  • presets/info: fix spacing in table
  • presets/icpc: fix spacing in markright
  • presets/info: fix eol
  • presets/info: remove packages imported by icpc
  • presets/info: declare \lang before importing icpc
  • presets/info: declare geometry on documentclass

0.14.0 (2025-08-10)

Feat

  • add sol failures to issue stack
  • add issue stack with contest-level error aggregation
  • add model solution field to testsets
  • build statements partially when one breaks
  • add nested variables
  • add option to integrate limits profile into package
  • add limits to statements
  • add new timing feature

Fix

  • add typing_extensions for compatibility with python<3.12 and TypeAliasType
  • unqoute paths in sandbox glob
  • add testlib to default preset
  • improve solutions structure on preset
  • fix a few tests
  • use packager-specific limits profile when packaging
  • fix caching issue with precompilation
  • check for stack limit only on darwin
  • use time profiles everywhere
  • fix boca expander after refactor
  • add problems to contest in lex order
  • cache: symlink to cacher when copying compressed executable to sandbox
  • fix a few unit tests
  • fix time reporting on program.py
  • add ridiculously buggy version flag
  • ensure preset MIN_N variables is used in validator
  • several improvements to preset statements

Refactor

  • delete other rbc stuff

0.13.8 (2025-07-19)

Fix

  • fix interactive sample line breaks
  • fix Polygon statement build with vars

0.13.7 (2025-07-18)

Fix

  • fix scientific notation in statements
  • optionally call killpg in sandbox

Refactor

  • remove two weird limit tests

0.13.6 (2025-07-14)

Fix

  • fix header.h serialization issues and write tests
  • add tests for steps.run and fix memory usage
  • kill solution when interactor finishes first with wa

Refactor

  • remove a few debugging assets
  • delete processing_context.py (unused)
  • delete old test.py stupidsandbox tester
  • erase timeit

0.13.5 (2025-07-13)

Fix

  • fix copytree gitignore
  • capture interaction in new sandbox
  • allow for 64-bit rbx.h vars
  • fix digest integrity checks
  • rewrite to use a new stupid sandbox
  • ensure checker messages are properly truncated everywhere
  • ensure we don't check caching integrity on write
  • ensure pipes are not captured when specified manually in generators
  • add proper escaping in rbx ui
  • add tests for default preset
  • remove console log for nocheck

Refactor

  • delete unused fifo code
  • remove deprecated isolate code
  • move problem testdata
  • clean up check functions in steps.py

0.13.4 (2025-07-10)

Fix

  • use relpath compatible with python < 3.12
  • use sqlitedict instead of shelve
  • add new tests for checker communication
  • fix vars formatting for rbx.h
  • statement: ensure flags are propagated to statements correctly

Refactor

  • delete old rbc assets

0.13.3 (2025-07-04)

Fix

  • ensure certain deps are not imported

0.13.2 (2025-07-04)

Fix

  • regenerate lock

0.13.1 (2025-07-04)

Fix

  • stress: fix stress name
  • add contest-level packager for boca
  • preset: remove generation section in default preset yaml
  • ensure interactor and main are only compiled when output generation is necessary

0.13.0 (2025-07-04)

Feat

  • packaging: add language parameter to polygon packagers
  • tool: add importer and converter from polygon to boca (problem)
  • contest: makes rbx each available as an alias to rbx contest each

0.12.0 (2025-07-03)

Feat

  • package: add suppot for specifying generators by path
  • package: support globs on solutions

Fix

  • preset: update default preset to use getVar() instead of opt()
  • cache: ensure dir of symlinks are created before the symlink itself
  • make sure --vars does not override -v in statement commands
  • ensure CRLF are automatically fixed
  • add check for crlf when building tests
  • show proper error when invalid generator is referenced by script
  • use enum in preset instead of alias
  • improve texliveonfly call
  • fix preset interactive example spacing
  • improve default preset .gitignore

0.11.2 (2025-07-02)

Fix

  • install tex in builder

0.11.1 (2025-07-02)

Fix

  • ensure joined type does not superseed install-tex

0.11.0 (2025-07-02)

Feat

  • add option to install tex missing packages automatically with tinytex

Fix

  • preset: uncomment modern font in default preset
  • fix editorial in presets

0.10.3 (2025-07-01)

Fix

  • make sure copytree respects symlnks in presets
  • add editorial block to template

0.10.2 (2025-07-01)

Fix

  • temporarily disable rbx fix on pkg creation
  • fix order
  • fix problem_template.rbx.tex

0.10.1 (2025-07-01)

Fix

  • do not get presets from resources

0.10.0 (2025-07-01)

Fix

  • fix version

0.10.0rc0 (2025-07-01)

Feat

  • statement: add support for pandoc markdown wirh rbxmd

0.9.2 (2025-07-01)

Fix

  • fix cache level on pydantic

0.9.1 (2025-06-30)

Fix

  • add caching to default config templates
  • fix shelve open call type
  • check integrity of symlinks

0.9.0 (2025-06-30)

Feat

  • preset: add support for symlinks in presets
  • presets: add rbx presets create

Fix

  • preset: ensure symlinks are always copied
  • replace .resolve() calls with utils.abspath()
  • update preset tracking
  • add prompts to all package creation commands
  • cache: do not cache in irun, except for when passing -t/-tc
  • fix none issue with run.log.time

0.8.0 (2025-06-28)

Feat

  • remote: add @main shortcut to refer to main solution
  • stress: make stress support simple finder expression with just the solution name
  • stress: support remote solutions in stress
  • cache: use global cache for precompilation
  • debug: add debug context
  • cache: refactor metadata and introduce executable compression
  • cache: add grading context for controlling cache behavior

Fix

  • cache: ensure compilation is not cached for remote solutions too
  • cache: disable caching for remote solutions
  • stress: cache only compilation in stress tests
  • add progress notices to stress tests
  • stress: support interactive problems
  • stress: migrate stress tests to use run_solution_on_testcase
  • migrate a few occurrences of @functoos.lru_cache
  • fix bug when teeing interactive problem communication
  • use orderedset to store tracked solutions to guarantee run order
  • cache: add global cache to stats
  • cache: convert src inputs to digests when file symlinks to digest
  • add profiling utilities
  • ignore property error
  • cache: symlink to storage where possible
  • cache: add symlink to backend when available from get_file
  • use description to signal sanitization
  • cache: add Filecacher in a few more places
  • run: show error when running with non-existing solutions
  • preset: fix default preset
  • fix default preset olymp.sty

0.7.0 (2025-06-23)

Feat

  • preset: add rbx contest init command
  • lint: add YAML linting config to go hand-to-hand with VSCode
  • lint: add linting for presets

Fix

  • lint: fix Problem -> Package schema name

0.6.1 (2025-06-23)

Fix

  • fix publishing

0.6.0 (2025-06-23)