Releases: experimaestro/experimaestro-python
Releases · experimaestro/experimaestro-python
v2.0.4
v2.0.3
Changelog
All notable changes to this project will be documented in this file.
[2.0.3] - 2026-02-28
Bug Fixes
v2.0.2
[2.0.2] - 2026-02-28
Bug Fixes
- tests: Use experiment.failed property instead of FailedExperiment exception (fdf8b6f)- Fix order of params for cli documentation (d109c46)
- Use addListener instead of non-existent add_token in launcher template (29ded3b)
- Rationalize field() default value semantics (#191) (e9c34ff)
- TUI jobs disappear after relaunching failed experiment (#190) (3f2aa97)
- Variable shadowing bug in documentation analyzer (9b533dc)
CI
- Removed uv.lock (0f630e9)
Documentation
v2.0.1
v2.0.0
Changelog
All notable changes to this project will be documented in this file.
[2.0.0] - 2026-02-20
Bug Fixes
- ConfigurationBase: Documentation and new fields to describe an experiment (df6e0a6)
- build: Auto-run npm build during pip install (fixes #157) (3ec6c6f)
- build: Skip frontend build on ReadTheDocs (ff61714)
- carbon: Handle Energy objects from newer codecarbon versions (64c09df)
- carbon: Store carbon settings in params.json for SLURM compatibility (aa6a2bd)
- ci: Add contents:write permission to update release notes (ca68c62)
- cli: Improve FailedExperiment error handling and exit codes (ead3003)
- cli.py: Python path should be modified including when running the experiments (c5487f8)
- configuration: Serialize the task to recompute exactly the identifier (f642607)
- configuration: Fixed bugs with identifiers (98608c3)
- configuration: Fixed more bugs with identifiers (fbea16e)
- core: Move register_task_output back to Config class (399f883)
- core: Add name() method to EnumType class (6e1e83e)
- deps: Update webpack-dev-server to 5.2.2 (2603abe)
- docs: Explicitly build MkDocs site to ReadTheDocs output directory (998efd0)
- docs: Use post_checkout instead of pre_build for RTD (cfdb081)
- docs: Mock mkdocs in Sphinx conf.py for RTD builds (0e7c4b2)
- docs: Fetch git tags for version detection on RTD (38ed73f)
- dynamic_outputs: Fix task output count management and add documentation (1da665f)
- events: Archive job events on successful completion (2bc1780)
- events: Prevent duplicate event processing due to race condition (2483a4f)
- kill: Show error reason when failing to kill job (d878874)
- mkdocs: Handle gracefully when mkdocs is not installed (886248b)
- monitor: Prevent orphaned event consolidation on running experiments (43134f7)
- polling: Optimize ResourcePoller to avoid tight loop (ae52085)
- scheduler: Add thread-safe listener management (83bb4d3)
- scheduler: Wait for notification queue before experiment exit (adf5a4d)
- scheduler: Improve job state management and disk loading (59e17bc)
- scheduler: Add thread safety to dynamic outputs and fix counting (0a3f43b)
- scheduler: Ensure experiment events written synchronously on job finish (63c1b98)
- scheduler: Allow killing scheduled jobs, not just running ones (a234dba)
- scheduler: Add setter to Job.progress property (73d6ecf)
- scheduler: Improve job restart logic and clear transient fields properly (ce51856)
- server: Fix some display bugs in the UI (642c48a)
- slurm: Better SLURM launcher finder (0992214)
- slurm: Check if slurm process is alive before returning it (d084d27)
- slurm: Resolve race conditions and blocking in async methods (ca2a89b)
- sphinx: Add compatibility with Sphinx 8.0 (e1bde2b)
- state: Cache jobs to receive progress events in TUI (f107fd7)
- test: Make test_token_timeout_zero more robust (82dc143)
- tests: Suppress logging errors during test timeout cleanup (33bc5dd)
- tests: Fix flaky SLURM tests (437d6cc)
- tests: Disable process detaching in test mode to prevent rogue processes (8e9ccb0)
- tests: Use experiment.failed property instead of FailedExperiment exception (fdf8b6f)
- tui: Use better status (b6b1f34)
- tui: Prevent UI freeze when closing log viewer during sync (becc1d3)
- tui: Use Process abstraction for process info instead of psutil (0cee4c2)
- tui: Convert progress dicts to LevelInformation objects (bcd283e)
- tui: Keep finished experiments in scheduler so jobs remain visible (62dd192)
- tui: Display and copy remote paths in ssh-monitor mode (304c7ce)
- tui: Fix services not appearing in TUI with live scheduler (671d5c6)
- types: Accept generics as Param (but no real validation) (6f639ce)
- types: Add generic type parameter compatibility check for overrides (f67fa74)
- typinutils: Test for optional (67164ec)- Fix (04705b3)
- Fix (223932a)
- Wrong indent ([d373348](https://github.com/experimaestro/experimae...
v2.0.0b32
fix: respect umask in setExecutable and handle flag parameter The setExecutable method was ignoring the flag parameter and always setting permissions to 0o744 regardless of umask. Now it: - Adds execute bits while respecting umask when flag=True - Removes execute bits when flag=False - Preserves existing file permissions (only modifies execute bits) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v2.0.0b31
fix: use lazy initialization for asyncio primitives Creating asyncio primitives eagerly in __init__ using run_coroutine could cause issues in CI environments where the EventLoopThread might not be fully responsive during subprocess initialization. Changed to lazy initialization with double-checked locking: - Primitives are created on first access within the EventLoopThread - A threading lock protects concurrent initialization - The dispatch logic in aio_acquire/aio_release ensures code runs in the correct event loop, so primitives are always created there Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v2.0.0b30
fix: respect umask when creating filelock lock files The filelock library uses os.chmod() which ignores umask, causing lock files to be created with 0o644 permissions regardless of umask settings. This prevented group-writable permissions when umask 002 was set. Added centralized wrapper functions (create_file_lock and create_async_file_lock) that calculate the effective mode by applying the current umask to a base mode of 0o666. This ensures lock files respect umask settings, allowing group write permissions when umask allows it (e.g., umask 002 results in 0o664). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>