Releases: Garden-AI/rootstock
Releases · Garden-AI/rootstock
Release list
v1.3.0
What's Changed
- Publish downloaded interpreters via staged copy + atomic rename by @OwenPriceSkelly in #186
- Split add_checkpoint into fetch/verify phase operations by @OwenPriceSkelly in #187
- Add 'rootstock sync': converge an install to its declared state by @OwenPriceSkelly in #188
- Add CI: ruff lint/format, ty typecheck, pytest matrix with coverage by @OwenPriceSkelly in #189
Full Changelog: v1.2.0...v1.3.0
v1.2.0
What's Changed
- setup-perms --apply: skip ACL commands when setfacl is missing instead of crashing by @OwenPriceSkelly in #165
- Bound worker-connect wait by the calculator timeout by @OwenPriceSkelly in #166
- Prewarm the page cache at worker spawn by @OwenPriceSkelly in #168
- Prewarm the whole env tree with parallel readers by @OwenPriceSkelly in #171
- Add ':custom' CHECKPOINTS entries and weights= for user fine-tunes by @OwenPriceSkelly in #173
- Remove the local-checkpoint registry; :custom weights replace it by @OwenPriceSkelly in #176
- Advertise :custom entries in listings; retire add-local framing in docs by @OwenPriceSkelly in #175
- Add 'rootstock usage push': send aggregated rollups to the dashboard by @OwenPriceSkelly in #169
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
- Docs tweaks and additions by @WillEngler in #150
- Resolve benchmark cache_root through layout.json like every other entry point by @OwenPriceSkelly in #152
- Add placeholder citation by @WillEngler in #154
- Local checkpoints: bring your own weights via rootstock add-local by @OwenPriceSkelly in #151
- Add setup_from_path hooks to the dual-vendor sample configs by @OwenPriceSkelly in #158
- Spool one anonymous usage record per worker session by @OwenPriceSkelly in #156
- setup-perms: provision the usage-record spool; check-perms validates it by @OwenPriceSkelly in #157
- Add 'rootstock usage report/compact': aggregate and roll up the spool by @OwenPriceSkelly in #159
- Fix teardown hang on workers stuck in uninterruptible sleep by @OwenPriceSkelly in #161
Full Changelog: v1.0.3...v1.1.0
v1.0.3
What's Changed
- Add --cache-root to init, and prompt for it by @OwenPriceSkelly in #149
Full Changelog: v1.0.2...v1.0.3
v1.0.2
What's Changed
- Fix two AMD config regressions: torchvision routing and requires-python by @OwenPriceSkelly in #146
- setup-perms: assert mode bits after ACLs so setgid survives by @OwenPriceSkelly in #147
- Point perlmutter registry at m5268 root and oprice cache by @OwenPriceSkelly in #148
Full Changelog: v1.0.1...v1.0.2
v1.0.1
What's Changed
- Fix fairchem-1.x and sevennet envs against dependency drift by @OwenPriceSkelly in #144
- Add AMD/ROCm configs and workshop for ORNL Frontier by @PranavViswanath in #91
- Add frontier to the cluster registry by @OwenPriceSkelly in #145
New Contributors
- @PranavViswanath made their first contribution in #91
Full Changelog: v1.0.0...v1.0.1
v1.0.0
What's Changed
- Build envs in {root}/.build and swap atomically; --force never breaks the live env by @OwenPriceSkelly in #98
- Vendor the rootstock wheel into {root}/wheels/ at install time by @OwenPriceSkelly in #101
- One source of truth for install state: the InstallState reader by @OwenPriceSkelly in #114
- Create sockets in private 0700 directories instead of /tmp/ipi_ by @OwenPriceSkelly in #116
- Read worker output on any worker failure, not only pre-connect death by @OwenPriceSkelly in #117
- Make installs self-describing: cache_root declared in layout.json by @OwenPriceSkelly in #118
- Prune the public API to the blessed surface by @OwenPriceSkelly in #119
- Replace hand-rolled log= threading with stdlib logging on the client side by @OwenPriceSkelly in #120
- Extract an operations layer from rootstock/commands/ by @OwenPriceSkelly in #121
- Settle calculator defaults and lifecycle behavior by @OwenPriceSkelly in #122
- Corrupted manifests fail loudly instead of reading as missing by @OwenPriceSkelly in #133
- Write config.toml with a real TOML writer by @OwenPriceSkelly in #134
- Make status cache sizes opt-in via --sizes by @OwenPriceSkelly in #135
- Exception taxonomy: RootstockError base class by @OwenPriceSkelly in #136
- Clean up client.py and quiet the non-maintainer push path by @OwenPriceSkelly in #137
- Docs: stale version strings, trust model, LAMMPS as frozen protocol peer by @OwenPriceSkelly in #138
- ManifestError joins the RootstockError taxonomy by @OwenPriceSkelly in #139
- Serialize manifest with dataclasses.asdict by @OwenPriceSkelly in #140
- One context-managed spawn helper for running code inside envs by @OwenPriceSkelly in #141
- CLI tidies: benchmark forwarding via parse_known_args, direct manifest dispatch by @OwenPriceSkelly in #142
- Lock manifest read-modify-write cycles by @OwenPriceSkelly in #143
Full Changelog: v0.9.8...v1.0.0
v0.9.8
What's Changed
- Fix HuggingFace token handling in rootstock add by @OwenPriceSkelly in #76
- Add MLIPx integration: RootstockModel node + docs by @aryanch09 in #73
- Rebuild worker Atoms cache on species or PBC change by @OwenPriceSkelly in #82
- Make run_worker tolerate unknown keyword arguments by @OwenPriceSkelly in #83
- Abort the worker on unknown protocol messages by @OwenPriceSkelly in #84
- Report worker calculation failures in-band via FORCEREADY extras by @OwenPriceSkelly in #86
- Document the private i-PI dialect as a frozen contract by @OwenPriceSkelly in #87
- Declare the worker-side compatibility policy and pin the wire bytes by @OwenPriceSkelly in #89
- Read worker config knobs from ROOTSTOCK_* env vars at startup by @OwenPriceSkelly in #85
- Remove the dead MLIPWorker.socket_name parameter by @OwenPriceSkelly in #88
- LAMMPS: migrate fix to canonical checkpoint id, fix broken serve invocation by @aryanch09 in #93
- Fix env-var-knobs test broken by socket_name removal by @OwenPriceSkelly in #94
- Add atomate2 integration. Bump min Python to 3.11 by @WillEngler in #102
- Bump env-file Python floors to 3.11 to match rootstock's new minimum by @OwenPriceSkelly in #104
- Migrate old manifest schemas in place instead of demanding a reinstall by @OwenPriceSkelly in #96
- Re-land #97: manifest state semantics never reached main by @OwenPriceSkelly in #105
- Emit per-env lockfiles at build time; rebuilds honor them (--upgrade to opt out) by @OwenPriceSkelly in #95
- Version the on-disk layout with {root}/layout.json by @OwenPriceSkelly in #99
- Document the in-place env_source.py hotfix as a supported procedure by @OwenPriceSkelly in #100
- Add new LAMMPS integration style by @WillEngler in #103
New Contributors
- @aryanch09 made their first contribution in #73
Full Changelog: v0.9.7...v0.9.8
v0.9.7
What's Changed
- tweak existing permission scripts and runbooks by @WillEngler in #71
- fix benchmark script for Perlmutter by @WillEngler in #72
Full Changelog: v0.9.6...v0.9.7
v0.9.6
What's Changed
- Clean up some bad assumptions on permissions in outsider script by @WillEngler in #69
- Add a new permissions checking command by @WillEngler in #70
Full Changelog: v0.9.5...v0.9.6