Releases: stackql/stackql-deploy-rs
v2.0.4
stackql-deploy v2.0.4
Identifier capture from exists queries
The exists query can now return a named field (e.g. vpc_id) instead of count. The returned value is automatically captured as a resource-scoped variable ({{ this.<field> }}) and made available to all subsequent queries (statecheck, exports, delete) for that resource. This enables a two-step workflow where exists discovers the resource identifier and statecheck verifies its properties.
- When
existsreturnsnullor empty for the captured field, the resource is treated as non-existent - Multiple rows from an
exists(identifier pattern) orexportsquery is now a fatal error - After a
create, theexistsquery is automatically re-run to capture the identifier for use in post-deploystatecheckandexportsqueries
RETURNING * identifier capture
When a create statement includes RETURNING * and the response contains an Identifier field, it is automatically injected as this.identifier — skipping the post-create exists re-run and saving an API call per resource.
return_vals manifest field
New optional return_vals field on resources to explicitly map fields from RETURNING * responses to resource-scoped variables:
return_vals:
create:
- Identifier: identifier # rename pattern
- ErrorCode # direct captureIf return_vals is specified but the field is missing from the response, the build fails.
to_aws_tag_filters template filter
New AWS-specific Tera filter that converts global_tags (list of Key/Value pairs) to the AWS Resource Groups Tagging API TagFilters format:
AND TagFilters = '{{ global_tags | to_aws_tag_filters }}'YAML type preservation fix
Fixed an issue where YAML string values that look like numbers (e.g. IpProtocol: "-1") were being coerced to integers during JSON serialization. String types declared in YAML are now preserved through to the rendered query.
Teardown improvements
- Teardown no longer retries exports queries that return empty results — missing exports are set to
<unknown>and teardown continues best-effort - Post-delete existence checks accept the first empty response instead of retrying, reducing teardown time significantly
AWS starter template updated
The stackql-deploy init --provider aws starter template now uses:
awscc(Cloud Control) provider instead ofaws- CTE + INNER JOIN exists pattern with
to_aws_tag_filters AWS_POLICY_EQUALfor statecheck tag comparisonthis.<field>identifier capture patternRETURNING *on create statementsstackql:stack-name/stackql:stack-env/stackql:resource-nametag taxonomy
AWS VPC Web Server example
Complete rewrite of the examples/aws/aws-vpc-webserver stack (renamed from aws-stack) using the awscc provider exclusively. Includes 10 resources demonstrating all query patterns: tag-based discovery, identifier capture, property-level statechecks, PatchDocument updates, and the to_aws_tag_filters filter.
Patch Document Test example
New examples/aws/patch-doc-test example demonstrating the Cloud Control API UPDATE workflow with PatchDocument — deploy an S3 bucket, modify its versioning config in the manifest, and re-deploy to apply the update.
Other changes
- Fixed
initcommand missing--envargument (defaulting todev) - Added
debuglog import to build command - Debug logging now shows full
RETURNING *payloads - Documentation updates:
resource-query-files.md,template-filters.md,manifest-file.md, and AWS template library
Download
| Platform | Architecture | Asset |
|---|---|---|
| Linux | x86_64 | stackql-deploy-linux-x86_64.tar.gz |
| Linux | arm64 | stackql-deploy-linux-arm64.tar.gz |
| macOS | Universal (Apple Silicon + Intel) | stackql-deploy-macos-universal.tar.gz |
| Windows | x86_64 | stackql-deploy-windows-x86_64.zip |
Each archive contains a single binary named stackql-deploy (or stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.
Install (quick)
Linux / macOS:
curl -L https://get-stackql-deploy.rs -o stackql-deploy.tar.gz && tar xz stackql-deploy.tar.gzWindows (PowerShell):
Invoke-WebRequest -Uri https://get-stackql-deploy.rs -OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath .cargo:
cargo install stackql-deployFull documentation: stackql-deploy.io - Source: github.com/stackql/stackql-deploy
v2.0.3
stackql-deploy v2.0.3
What's new
This release ships the Rust rewrite of stackql-deploy — a complete
ground-up reimplementation that replaces the original Python package.
Key improvements over the Python version:
- Single self-contained binary — no Python runtime, pip, or virtualenv required.
Drop the binary on any supported platform and run. - Faster startup and execution — Rust compile-time optimisations mean commands
that previously took seconds to initialise now start instantly. - Smaller install footprint — the stripped Linux x86_64 binary is under 10 MB;
no transitive Python dependencies to manage. - Statically linked on Linux — works on any glibc >= 2.17 distro without
installing extra system libraries. - Native Windows and macOS ARM64 support — pre-built for all five major targets
(see assets below).
Download
| Platform | Architecture | Asset |
|---|---|---|
| Linux | x86_64 | stackql-deploy-linux-x86_64.tar.gz |
| Linux | arm64 | stackql-deploy-linux-arm64.tar.gz |
| macOS | Apple Silicon (arm64) | stackql-deploy-macos-arm64.tar.gz |
| macOS | Intel (x86_64) | stackql-deploy-macos-x86_64.tar.gz |
| Windows | x86_64 | stackql-deploy-windows-x86_64.zip |
Each archive contains a single binary named stackql-deploy (or
stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.
Migrating from the Python package
If you are currently using the Python package on PyPI, please migrate to this
release. The Python package is now deprecated and will no longer receive updates:
https://pypi.org/project/stackql-deploy/
The CLI interface is fully compatible — existing stackql_manifest.yml files and
project layouts work without modification.
Install (quick)
Linux / macOS:
curl -sSL https://github.com/stackql/stackql-deploy/releases/download/v2.0.3/stackql-deploy-linux-x86_64.tar.gz \
| tar -xz -C /usr/local/binWindows (PowerShell):
Invoke-WebRequest -Uri https://github.com/stackql/stackql-deploy/releases/download/v2.0.3/stackql-deploy-windows-x86_64.zip `
-OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath $env:LOCALAPPDATA\stackql-deployOr install via cargo:
cargo install stackql-deployv2.0.2
stackql-deploy v2.0.2
What's new
This release ships the Rust rewrite of stackql-deploy — a complete
ground-up reimplementation that replaces the original Python package.
Key improvements over the Python version:
- Single self-contained binary — no Python runtime, pip, or virtualenv required.
Drop the binary on any supported platform and run. - Faster startup and execution — Rust compile-time optimisations mean commands
that previously took seconds to initialise now start instantly. - Smaller install footprint — the stripped Linux x86_64 binary is under 10 MB;
no transitive Python dependencies to manage. - Statically linked on Linux — works on any glibc >= 2.17 distro without
installing extra system libraries. - Native Windows and macOS ARM64 support — pre-built for all five major targets
(see assets below).
Download
| Platform | Architecture | Asset |
|---|---|---|
| Linux | x86_64 | stackql-deploy-linux-x86_64.tar.gz |
| Linux | arm64 | stackql-deploy-linux-arm64.tar.gz |
| macOS | Apple Silicon (arm64) | stackql-deploy-macos-arm64.tar.gz |
| macOS | Intel (x86_64) | stackql-deploy-macos-x86_64.tar.gz |
| Windows | x86_64 | stackql-deploy-windows-x86_64.zip |
Each archive contains a single binary named stackql-deploy (or
stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.
Migrating from the Python package
If you are currently using the Python package on PyPI, please migrate to this
release. The Python package is now deprecated and will no longer receive updates:
https://pypi.org/project/stackql-deploy/
The CLI interface is fully compatible — existing stackql_manifest.yml files and
project layouts work without modification.
Install (quick)
Linux / macOS:
curl -sSL https://github.com/stackql/stackql-deploy/releases/download/v2.0.2/stackql-deploy-linux-x86_64.tar.gz \
| tar -xz -C /usr/local/binWindows (PowerShell):
Invoke-WebRequest -Uri https://github.com/stackql/stackql-deploy/releases/download/v2.0.2/stackql-deploy-windows-x86_64.zip `
-OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath $env:LOCALAPPDATA\stackql-deployOr install via cargo:
cargo install stackql-deployv2.0.1
stackql-deploy v2.0.1
What's new
This release ships the Rust rewrite of stackql-deploy — a complete
ground-up reimplementation that replaces the original Python package.
Key improvements over the Python version:
- Single self-contained binary — no Python runtime, pip, or virtualenv required.
Drop the binary on any supported platform and run. - Faster startup and execution — Rust compile-time optimisations mean commands
that previously took seconds to initialise now start instantly. - Smaller install footprint — the stripped Linux x86_64 binary is under 10 MB;
no transitive Python dependencies to manage. - Statically linked on Linux — works on any glibc ≥ 2.17 distro without
installing extra system libraries. - Native Windows and macOS ARM64 support — pre-built for all five major targets
(see assets below).
Download
| Platform | Architecture | Asset |
|---|---|---|
| Linux | x86_64 | stackql-deploy-linux-x86_64.tar.gz |
| Linux | arm64 | stackql-deploy-linux-arm64.tar.gz |
| macOS | Apple Silicon (arm64) | stackql-deploy-macos-arm64.tar.gz |
| macOS | Intel (x86_64) | stackql-deploy-macos-x86_64.tar.gz |
| Windows | x86_64 | stackql-deploy-windows-x86_64.zip |
Each archive contains a single binary named stackql-deploy (or
stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.
Migrating from the Python package
If you are currently using the Python package on PyPI, please migrate to this
release. The Python package is now deprecated and will no longer receive updates:
https://pypi.org/project/stackql-deploy/
The CLI interface is fully compatible — existing stackql_manifest.yml files and
project layouts work without modification.
Install (quick)
Linux / macOS:
curl -sSL https://github.com/stackql/stackql-deploy/releases/download/v2.0.1/stackql-deploy-linux-x86_64.tar.gz \
| tar -xz -C /usr/local/binWindows (PowerShell):
Invoke-WebRequest -Uri https://github.com/stackql/stackql-deploy/releases/download/v2.0.1/stackql-deploy-windows-x86_64.zip `
-OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath $env:LOCALAPPDATA\stackql-deployOr install via cargo:
cargo install stackql-deployv2.0.0
stackql-deploy v2.0.0
What's new
This release ships the Rust rewrite of stackql-deploy — a complete
ground-up reimplementation that replaces the original Python package.
Key improvements over the Python version:
- Single self-contained binary — no Python runtime, pip, or virtualenv required.
Drop the binary on any supported platform and run. - Faster startup and execution — Rust compile-time optimisations mean commands
that previously took seconds to initialise now start instantly. - Smaller install footprint — the stripped Linux x86_64 binary is under 10 MB;
no transitive Python dependencies to manage. - Statically linked on Linux — works on any glibc ≥ 2.17 distro without
installing extra system libraries. - Native Windows and macOS ARM64 support — pre-built for all five major targets
(see assets below).
Download
| Platform | Architecture | Asset |
|---|---|---|
| Linux | x86_64 | stackql-deploy-linux-x86_64.tar.gz |
| Linux | arm64 | stackql-deploy-linux-arm64.tar.gz |
| macOS | Apple Silicon (arm64) | stackql-deploy-macos-arm64.tar.gz |
| macOS | Intel (x86_64) | stackql-deploy-macos-x86_64.tar.gz |
| Windows | x86_64 | stackql-deploy-windows-x86_64.zip |
Each archive contains a single binary named stackql-deploy (or
stackql-deploy.exe on Windows). Verify your download with SHA256SUMS.
Migrating from the Python package
If you are currently using the Python package on PyPI, please migrate to this
release. The Python package is now deprecated and will no longer receive updates:
https://pypi.org/project/stackql-deploy/
The CLI interface is fully compatible — existing stackql_manifest.yml files and
project layouts work without modification.
Install (quick)
Linux / macOS:
curl -sSL https://github.com/stackql/stackql-deploy/releases/download/v2.0.0/stackql-deploy-linux-x86_64.tar.gz \
| tar -xz -C /usr/local/binWindows (PowerShell):
Invoke-WebRequest -Uri https://github.com/stackql/stackql-deploy/releases/download/v2.0.0/stackql-deploy-windows-x86_64.zip `
-OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath $env:LOCALAPPDATA\stackql-deployOr install via cargo:
cargo install stackql-deploy