Releases: mostlymaxi/cargo-athena
Releases · mostlymaxi/cargo-athena
Release list
v0.7.1
Immutable
release. Only release title and notes can be modified.
Patch release.
Changes
- Hook arguments now ride the ghost type-check. A binding shared by a task and a hook is two consumers, so it needs
.clone(). (#93) - Admission checks run at compile time, with better error spans. Dead code is removed. (#94)
- The nix toolchain pins an exact rust version (1.97.1), so the manifest hash no longer drifts when a new stable ships. (#95)
- CI now tests against Argo v4.0.8 and v3.7.17. v3.6.19 stays as the minimum. (#96)
Full changelog: v0.7.0...v0.7.1
What's Changed
- Validation + cleanup batch: admission checks at compile time, error spans, dead code by @mostlymaxi in #94
- fix(macros): hook args ride the ghost type-check by @mostlymaxi in #93
- nix: pin exact rust version (1.97.1), not the moving stable channel by @mostlymaxi in #95
- ci: bump argo matrix to v4.0.8 / v3.7.17 by @mostlymaxi in #96
- release: v0.7.1 by @mostlymaxi in #97
Full Changelog: v0.7.0...v0.7.1
What's Changed
- Validation + cleanup batch: admission checks at compile time, error spans, dead code by @mostlymaxi in #94
- fix(macros): hook args ride the ghost type-check by @mostlymaxi in #93
- nix: pin exact rust version (1.97.1), not the moving stable channel by @mostlymaxi in #95
- ci: bump argo matrix to v4.0.8 / v3.7.17 by @mostlymaxi in #96
- release: v0.7.1 by @mostlymaxi in #97
Full Changelog: v0.7.0...v0.7.1
v0.7.0
Immutable
release. Only release title and notes can be modified.
Ships everything since v0.6.1 (v0.6.2 was bumped in-repo but never tagged or published).
Fixes
.fan_outaggregate re-normalization is kind-aware and applied per-scope, not just at top level. (#87)- An empty
.fan_outaggregate now lowers to[]instead of hard-erroring downstream; the aggregate lookup is nil-safe on Argo v3.6. (#85) - Fail loud on silent collision and misuse paths, plus assorted correctness fixes from a full codebase pass. (#86)
- CI: refreshed the nix toolchain pin; publish-action Zig v2. (#84)
Full changelog: v0.6.1...v0.7.0
What's Changed
- release: v0.6.2 (unbreak publish-action Zig + nix toolchain) by @mostlymaxi in #84
- fix: empty fan_out aggregates to [] not a hard error by @mostlymaxi in #85
- fix(macros): fan-out aggregate re-tagging is per-scope, not top-level-only by @mostlymaxi in #87
- Full codebase analysis: fail-loud pass + low-hanging correctness fixes by @mostlymaxi in #86
- release: v0.7.0 by @mostlymaxi in #92
Full Changelog: v0.6.1...v0.7.0
What's Changed
- release: v0.6.2 (unbreak publish-action Zig + nix toolchain) by @mostlymaxi in #84
- fix: empty fan_out aggregates to [] not a hard error by @mostlymaxi in #85
- fix(macros): fan-out aggregate re-tagging is per-scope, not top-level-only by @mostlymaxi in #87
- Full codebase analysis: fail-loud pass + low-hanging correctness fixes by @mostlymaxi in #86
- release: v0.7.0 by @mostlymaxi in #92
Full Changelog: v0.6.1...v0.7.0
v0.6.1
Immutable
release. Only release title and notes can be modified.
Patch release.
Fixes
- A
#[container]/#[fragment]calling a#[fragment]via a qualified path (foo::frag()) now correctly propagates the fragment'shost!/secret!/ artifact declarations onto the calling pod. Previously only single-segment calls (frag()) were recognized. (#81)
Full changelog: v0.6.0...v0.6.1
What's Changed
- ci: free runner disk before the nix build by @mostlymaxi in #80
- fix(macros): visit qualified fragment calls (foo::frag()) by @mostlymaxi in #81
- release: v0.6.1 by @mostlymaxi in #82
Full Changelog: v0.6.0...v0.6.1
v0.6.0
Immutable
release. Only release title and notes can be modified.
Compile regular Rust into Argo Workflow YAML.
Highlights
- Per-cluster template versioning: every WorkflowTemplate is
<base>-<tag>, build-time-sealed; release/dev channels with--dev-tag;cargo athena prune <tag>to clean up a version. - Daemon containers:
#[container(daemon)]. - Binary-first CLI: positional
[BINARY]/$PATHname,-w, flatls/describe/emulate; globalathena.tomlfallback; a probe handshake (source-free consumer commands). athena-publishGitHub Action: CI cross-compile + upload.- Workflow PVCs:
#[ephemeral_pvc]/#[external_pvc]+pvc!(Type). - Broader Argo coverage:
parallelism(_if_root),tolerations/affinity(+_if_root+ boundary),pod_spec_patch(_if_root),image_pull_secrets_if_root,#[inject("<argo expr>")]. cargo.athena/*provenance labels on every WorkflowTemplate (kubectl get wt -l).- Docs overhaul plus internal refactors (shared
mungehelpers, single-sourced version coordinate, CLI color/help polish).
Full changelog: v0.5.2...v0.6.0
What's Changed
- feat(macros): tolerations + affinity (container + _if_root) by @mostlymaxi in #47
- feat(macros): pod_spec_patch + pod_spec_patch_if_root by @mostlymaxi in #45
- feat(macros): image_pull_secrets_if_root by @mostlymaxi in #46
- feat(macros): #[inject("")] per-arg attribute by @mostlymaxi in #48
- feat(macros): boundary_tolerations + boundary_affinity by @mostlymaxi in #49
- chore(smoke): rely on cargo bin auto-discovery by @mostlymaxi in #50
- test(e2e): cover service_account + node_selector injection by @mostlymaxi in #51
- feat(macros): parallelism + parallelism_if_root on #[workflow] by @mostlymaxi in #52
- refactor(host!): bake mount path at expand time, return &'static Path by @mostlymaxi in #53
- refactor(macros): bake artifact paths + secret env names at expand time by @mostlymaxi in #54
- feat(macros): #[ephemeral_pvc] / #[external_pvc] + pvc!(Type) by @mostlymaxi in #55
- refactor: extract munge helpers to cargo-athena-api by @mostlymaxi in #56
- feat(emit): stamp cargo.athena/* provenance labels on every WT by @mostlymaxi in #57
- chore(flake): bump fenix to track stable 1.96.0 by @mostlymaxi in #58
- feat(cli+core): global athena.toml fallback + probe handshake by @mostlymaxi in #59
- feat(cli): binary-first commands (positional binary, -w, flat ls/describe/emulate) by @mostlymaxi in #60
- ci: athena-publish composite GitHub Action by @mostlymaxi in #61
- docs: tighten user-facing docs (impl-detail, accuracy, style) by @mostlymaxi in #62
- feat: per-cluster template versioning + daemon containers by @mostlymaxi in #63
- refactor(versioning): single-source the version coordinate by @mostlymaxi in #64
- feat(cli): readable --help + colored feedback by @mostlymaxi in #78
- release: v0.6.0 by @mostlymaxi in #79
Full Changelog: v0.5.2...v0.6.0
v0.5.2
Immutable
release. Only release title and notes can be modified.
What's Changed
- docs + cli: trim, restructure, add cargo-style feedback by @mostlymaxi in #34
- docs: cookbook reframe, troubleshooting, examples, README + concepts + testing polish by @mostlymaxi in #35
- feat(cli): init + doctor; cross-link reference to cookbook by @mostlymaxi in #36
- feat(cli+macros): --priority on submit; shape-specific #[workflow] body errors by @mostlymaxi in #37
- feat: container params via positional argv (env -> args) by @mostlymaxi in #38
- Friendly describe + ls UX: short names, fn signature, color by @mostlymaxi in #40
- feat: Artifact return type for DAG-wired S3 passthrough by @mostlymaxi in #41
- docs: Artifact user docs + workflow-level smoke fixture by @mostlymaxi in #42
- feat(runtime): support >128KB params via Argo args-offload by @mostlymaxi in #43
- feat: is_container_run() predicate for gating in-pod-only setup by @mostlymaxi in #44
Full Changelog: v0.5.1...v0.5.2
v0.5.1
Immutable
release. Only release title and notes can be modified.
What's Changed
- feat: async fn #[container] bodies by @mostlymaxi in #23
- chore: rename feature
async->tokioby @mostlymaxi in #24 - feat: secret! / secret_opt! macros by @mostlymaxi in #25
- feat: env/host_mount/annotations attrs + safe host! mounts by @mostlymaxi in #26
- feat(container): privileged = true by @mostlymaxi in #27
- test(e2e): live #[workflow(steps)] coverage by @mostlymaxi in #28
- feat(workflow): boundary vs _if_root nodeSelector; inject support on _if_root by @mostlymaxi in #29
- refactor: collector stamp_spec dedup + macros file split + node_tokens dedup by @mostlymaxi in #30
- feat: mutexes / mutexes_if_root on #[workflow] / #[container] by @mostlymaxi in #31
- feat(core): hash host! paths verbatim (FNV-1a, no canonicalization) by @mostlymaxi in #32
- refactor: drop [artifact] config; docs cleanup; bump to 0.5.1 by @mostlymaxi in #33
Full Changelog: v0.5.0...v0.5.1
v0.5.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- ci: rustfmt --check gate + rustfmt.toml by @mostlymaxi in #17
- feat: retry(...) + timeout attr args for #[workflow]/#[container] by @mostlymaxi in #18
- feat: ttl(...) + pod_gc(...) spec-level attr args by @mostlymaxi in #19
- feat: split timeout/pod_running_timeout/active_deadline_if_root + unified humantime by @mostlymaxi in #20
- feat: drop tar dep from image and CLI by @mostlymaxi in #21
- docs: clarity pass — trim attr tables, drop tar-needed mentions by @mostlymaxi in #22
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- feat(cli): workflow group — ls + describe by @mostlymaxi in #5
- ci(pages): publish docs site on v* tags by @mostlymaxi in #8
- feat(cli): cargo athena submit by @mostlymaxi in #6
- feat(nix): flake package + app for the CLI by @mostlymaxi in #9
- test(e2e): full feature matrix on real Argo + fix fan_out aggregate by @mostlymaxi in #10
- nix: fenix toolchain, substituted from nix-community cachix by @mostlymaxi in #11
- deps: examples consume cargo-athena lean (default-features=false) by @mostlymaxi in #13
- docs: drop a stale CLAUDE.md convention bullet by @mostlymaxi in #12
- feat(cli): implement
cargo athena publishby @mostlymaxi in #14 - docs: correctness sweep + new-user flow polish by @mostlymaxi in #15
- chore: bump to v0.4.0 by @mostlymaxi in #16
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- feat(workflow): node_selector attr (literals-only) + fix rustdoc fenc… by @mostlymaxi in #1
- chore: document the "protect main" ruleset as reproducible config by @mostlymaxi in #2
- feat(cli): cargo athena container emulate by @mostlymaxi in #3
- release: v0.3.0 by @mostlymaxi in #4
New Contributors
- @mostlymaxi made their first contribution in #1
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Immutable
release. Only release title and notes can be modified.
Full Changelog: v0.1.1...v0.2.0