Repository navigation
Releases
Releases · Elitsuv/aestra
v1.1.1
v1.1.0
What's Changed
New Features
- feat(checker): pluggable custom checker framework and DoS safeguards (#39) by @Elitsuv in #40
- feat(security): process isolation, environment sanitization, and compiler hardening (v1.1.0) by @Elitsuv in #42
Refactor & Maintenance
Documentation
- docs: add competitive programming user guide, test case setup, and quickstart examples by @Elitsuv in #38
Full Changelog: v1.0.1...v1.1.0
v1.0.1
v1.0.0
What's Changed
New Features
- feat(compiler): add auto-compilation and build caching for C++, Rust, and Go by @Elitsuv in #35
- release: v1.0.0 by @Elitsuv in #36
Bug Fixes
- fix(sdk): harden output limiting, oracle error isolation, and hierarchical delta debugging by @Elitsuv in #33
Refactor & Maintenance
Documentation
New Contributors
Full Changelog: v0.1.2...v1.0.0
v0.1.2
What's Changed
Bug Fixes
- fix(sandbox): multiplex pipe I/O via libc::poll and add wall-clock watchdog by @Elitsuv in #24
- fix(engine): implement cross-platform peak memory measurement (closes #25) by @Elitsuv in #26
Refactor & Maintenance
- refactor(engine): standardize command argument handling and typing by @Elitsuv in #22
- test: add strict type annotations to test suite by @Elitsuv in #23
Full Changelog: v0.1.1...v0.1.2
Aestra v0.1.1 — Global CLI & CP Engine
Aestra v0.1.1
Official patch release resolving installer edge cases, adding native Python solution execution, and introducing the full Competitive Programming User Guide.
What's Changed & What Was Fixed
1. Installer & Global PATH Fixes
- Fix
.\aestra.batPath Issue (9841c7f): Windowsinstall.ps1placesaestra.batdirectly into Python'sScripts/folder and~/.aestra/bin, adding it to Windows User PATH soaestrais callable from any directory. - Installer Directory Self-Healing (
42055e4): Fixed destination conflict where pre-existing directories causedgit cloneto abort. The installer now clears incomplete directories before cloning. - Pipeline Execution Fix: Standardized Windows remote invocation to
iex (irm ...)to eliminate PowerShell pipeline splitting errors. - POSIX Global Launcher (
9841c7f): Linux and macOSinstall.shautomatically exposesaestrain~/.local/bin/aestra.
2. Engine & CP Solution Support
- Direct Python Solution Execution (
7078887):SubprocessEngineautomatically detects and executes.pyfiles usingsys.executable, enabling native testing without shell wrappers. - ICPC / Codeforces Verification: Verified tokenized output comparison on real competitive programming testcase directories.
3. CLI & Telemetry Polish
- Terminal UI Overhaul (
9841c7f): Upgraded CLI with clean boxed headers, command groupings, and formatted telemetry tables. - ASCII Code Page Compatibility (
9841c7f): Standardized on pure ASCII box characters to prevent rendering crashes across Windows CP1252 and UTF-8 terminals.
4. Documentation & Code Quality
- Competitive Programming User Guide (
eed9eef): Added a complete step-by-step CP workflow inREADME.mdand documentation website. - Removed Pre-Release Alerts (
eed9eef): Removed all pre-release warnings fromREADME.mdand docs portal. - GitHub Pages CDN Asset Fix (
5ab4218): Relocated logo intodocs/assets/for reliable hosting. - Ruff Format Compliance (
0427f48): Formatted embedded Python code blocks in markdown to satisfy CI lint rules. - Version Bump (
eed9eef): Bumped version to0.1.1inpyproject.tomlandCargo.toml.
Commit Audit Trail
| Commit | Scope | Description |
|---|---|---|
0427f48 |
style |
Format markdown Python code blocks to satisfy Ruff formatting |
eed9eef |
release |
Bump version to 0.1.1, remake README with CP guide, and update docs website |
7078887 |
feat(engine) |
Support executing .py solution files natively in SubprocessEngine |
42055e4 |
fix(install) |
Purge incomplete install directory before cloning to ensure src/ is downloaded |
9841c7f |
fix(installer) |
Make install.ps1/install.sh globally accessible via PATH and polish CLI telemetry |
f0c258e |
docs |
Expand changelog highlights in documentation website |
5ab4218 |
fix(docs) |
Relocate logo into docs/assets/ for GitHub Pages CDN hosting |
c0ddffc |
docs |
Add launch documentation website, install scripts, and quickstart |
Full Changelog: v0.1.0-beta...v0.1.1
Aestra 0.1.0-beta
Aestra v0.1.0-beta
Initial public beta release of Aestra: a deterministic execution sandbox and testing engine for competitive programming and automated grading.
Highlights
- Hardware-Level Sandboxing: Kernel-level CPU and RAM limits using POSIX
setrlimit(RLIMIT_CPU,RLIMIT_AS) with microsecondwait4telemetry. - PyO3 FFI Core: Rust CPython module (
aestra_core) exposing zero-overhead native execution. - Adaptive Fallback Engine: Automatic runtime selection—uses
NativeEngineon Linux/POSIX, falls back toSubprocessEngineon Windows and non-Rust environments. - ICPC-Grade Differential Checker: Support for
TOKEN,EXACT, andIGNORE_WHITESPACEcomparison modes. - Batch Test Runner & CLI: Automated
.in/.outtest discovery, verdict evaluation (OK,WA,TLE,MLE,RE), and terminal command interface with ANSI telemetry badges.
Features & Enhancements
Core Engine & Sandboxing
- Implement POSIX kernel sandbox using
fork,execve, andsetrlimit(#13, #14) - Expose native execution to Python via PyO3 C-bindings (#12, #13)
- Implement
NativeEnginewrapper interfacing withaestra_core(#15) - Implement
SubprocessEnginecross-platform fallback for non-Rust environments (#16) - Define frozen
ExecutionLimitsand typedExecutionResultdomain models (#6)
Testing & CLI
- Add batch test runner engine with recursive case discovery and verdict aggregation (#17, #19)
- Add multi-mode output checker with whitespace-delimited token comparisons (#14)
- Add production terminal CLI supporting
runandtestsubcommands (#18, #19) - Consolidate unified test suite in
tests/test.py(13/13 passing)
Infrastructure & Documentation
- Multi-OS GitHub Actions CI matrix with Ruff lint/format, Mypy typing, and Rust test targets (#12)
- Add zero-dependency installation scripts for POSIX Bash and Windows PowerShell (#16)
- Launch complete technical documentation portal at https://elitsuv.github.io/aestra/
Bug Fixes & Polish
- Ensure explicit string casting in
ExecutionStatus.__str__(#11) - Remove shebang in label script to satisfy Ruff
EXE001rule - Remove redundant title fields in GitHub issue templates
- Relocate static logo assets to
docs/assets/for GitHub Pages hosting
Breaking Changes
- None (initial public beta release).
Full Changelog: https://github.com/Elitsuv/aestra/commits/0.1.0-beta