Release v0.4.12
What's Changed
- bump version to 0.4.12 in Cargo.toml and pyproject.toml
- gflowd: pass CLI verbosity through to daemon startup
- feat: add shared GPU scheduling with per-GPU VRAM limits
- feat: add GPU allocation strategy switch
- feat(dev): make gflow wrappers auto-use local source in repo
- docs: Remove Sniapaste.png asset
- docs: update project tracking docs for gbatch/gqueue/config
- feat: add project code tracking for multi-team resource allocation
- chore(deps): Update actions/upload-artifact action to v7
- feat: add gstats command for usage statistics
- chore(deps): Update actions/download-artifact action to v8
- chore(deps): Update actions/attest-build-provenance action to v4
- chore(deps): Update Rust crate tempfile to v3.26.0
- chore(deps): Update Rust crate strum to 0.28.0
- docs: update gqueue reference with --watch and --interval options
- feat: add built-in watch mode to gqueue
- feat: improve gjob show timing display with inline context
- feat: add comprehensive time tracking with wait_time and runtime methods
- fix: prevent log archiving side effect when querying job log path
- docs: update gqueue reference to reflect active-jobs default
- feat: default gqueue to show only active jobs instead of last 10
- fix: define __ARM_ARCH=8 for aarch64 cross-compilation of ring crate
- feat: add daily log rotation via tracing-appender
- refactor: replace manual OutputFormat::from_str with strum EnumString derive
- fix: add CFLAGS to nightly build for aarch64 cross-compilation
- feat: add JobUpdated event to trigger re-scheduling after job update
- fix: reject redo for jobs that haven't finished yet
- feat: send scheduler_online webhook on daemon startup/reload
- chore(deps): Update Rust crate toml to v1
- chore(deps): Update Rust crate nvml-wrapper to 0.12.0
- chore(deps): Update compatible (dev) (#98)
- chore(deps): Update Rust crate toml to 0.9
- chore(deps): Update Rust crate dialoguer to 0.12
- docs: mention gflowd init
- feat: add gflowd init configuration wizard
- fix: archive old job logs when job IDs are reused
- fix: gflowd reload broken after multicall refactor
- fix: gflowd reload broken after multicall refactor
- gflowd reload: robust new daemon PID detection
- refactor: flatten multicall bin layout
- refactor: unify CLIs into multicall gflow
- chore(deps): Update Rust crate proptest to v1.10.0
- chore(deps): Update Rust crate criterion to v0.8.2 (#96)
- fix: install rustls ring provider for reqwest
- fix: make clippy -D warnings pass
- feat: add webhook notifications
- feat(gqueue): add multiple output formats (JSON, CSV, YAML)
- feat(cli): add Slurm-compatible flag aliases
- fix: Simplify assertions in scheduler tests
- perf: add state index and optimize jobs listing
- fix: Remove #[inline] and use contains_key in test
- scheduler: unify state transitions and keep group index consistent
- Add debug logging for state loading and migration
- Support legacy msgpack tuple scheduler state
- Fix msgpack state load for legacy jobs maps
- chore: fix clippy warnings
- perf: split job storage and speed up job listing
- perf: shrink Job by boxing rarely-set fields
- docs: Remove trailing blank lines in reference pages
- clippy: fix Parameters insert comparison
- perf: reduce Job parameter overhead
- perf: reduce Job memory footprint with SmallVec optimizations
- test: add comprehensive benchmarks for scheduler operations
- perf: optimize group concurrency checks with O(1) index
- fix: resolve CI failures after CompactString migration
- perf: optimize string allocation with CompactString and UUID
- refactor: clean up benchmark tests
- chore: remove musllinux build from nightly workflow
- docs: add demo scripts for showcasing gflow functionality
- docs: update installation verification steps to check command availability
- docs: update installation instructions to remove ARMv7 and libc support details
- refactor: remove musllinux job and update README to reflect supported architectures
Full Changelog: v0.4.11...v0.4.12