Skip to content

Releases: stackql/stackql-deploy-rs

v2.0.6

28 Mar 05:52

Choose a tag to compare

stackql-deploy v2.0.6

Fixes

  • Fixed eager rendering of statecheck queries that caused hard failures when this.* variables were not yet available (e.g. post-create exists re-run fails due to eventual consistency). statecheck now uses JIT rendering like exports, deferring gracefully when template variables are unresolved.
  • When a deferred statecheck cannot be rendered post-deploy, the build falls through to exports-as-proxy validation or accepts the create/update based on successful execution.
  • Applied the same fix to teardown, where statecheck used as an exists fallback would crash on unresolved variables instead of skipping the resource.
  • Fixed --dry-run failures for resources that depend on exports from upstream resources. create and update query rendering now defers gracefully in dry-run mode when upstream exports are unavailable, and placeholder (<evaluated>) values are injected for unresolved exports so downstream resources can still render.
  • When a post-create exists re-run fails to find a newly created resource (eventual consistency), the exists query is automatically retried using the statecheck retry settings if available, giving async providers time to make the resource discoverable.

Features

  • New optional troubleshoot IQL anchor for post-failure diagnostics. When a build post-deploy check fails or a teardown delete cannot be confirmed, a user-defined diagnostic query is automatically rendered and executed, with results logged as pretty-printed JSON. Supports operation-specific variants (troubleshoot:create, troubleshoot:update, troubleshoot:delete) with fallback to a generic troubleshoot anchor. Typically used with return_vals to capture an async operation handle (e.g. RequestToken) from RETURNING * and query its status via {{ this.<field> }}. See resource query files documentation for details.
  • The RETURNING * log message (storing RETURNING * result...) is now logged at debug level instead of info.

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.gz

Windows (PowerShell):

Invoke-WebRequest -Uri https://get-stackql-deploy.rs -OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath .

cargo:

cargo install stackql-deploy

Full documentation: stackql-deploy.io - Source: github.com/stackql/stackql-deploy

v2.0.5

24 Mar 03:42

Choose a tag to compare

stackql-deploy v2.0.5

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.gz

Windows (PowerShell):

Invoke-WebRequest -Uri https://get-stackql-deploy.rs -OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath .

cargo:

cargo install stackql-deploy

Full documentation: stackql-deploy.io - Source: github.com/stackql/stackql-deploy

v2.0.4

19 Mar 11:10

Choose a tag to compare

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 exists returns null or empty for the captured field, the resource is treated as non-existent
  • Multiple rows from an exists (identifier pattern) or exports query is now a fatal error
  • After a create, the exists query is automatically re-run to capture the identifier for use in post-deploy statecheck and exports queries

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 capture

If 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 of aws
  • CTE + INNER JOIN exists pattern with to_aws_tag_filters
  • AWS_POLICY_EQUAL for statecheck tag comparison
  • this.<field> identifier capture pattern
  • RETURNING * on create statements
  • stackql:stack-name / stackql:stack-env / stackql:resource-name tag 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 init command missing --env argument (defaulting to dev)
  • Added debug log 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.gz

Windows (PowerShell):

Invoke-WebRequest -Uri https://get-stackql-deploy.rs -OutFile stackql-deploy.zip
Expand-Archive stackql-deploy.zip -DestinationPath .

cargo:

cargo install stackql-deploy

Full documentation: stackql-deploy.io - Source: github.com/stackql/stackql-deploy

v2.0.3

16 Mar 09:10

Choose a tag to compare

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/bin

Windows (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-deploy

Or install via cargo:

cargo install stackql-deploy

v2.0.2

16 Mar 07:18

Choose a tag to compare

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/bin

Windows (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-deploy

Or install via cargo:

cargo install stackql-deploy

v2.0.1

16 Mar 00:55

Choose a tag to compare

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/bin

Windows (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-deploy

Or install via cargo:

cargo install stackql-deploy

v2.0.0

16 Mar 00:36
7b5d5b2

Choose a tag to compare

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/bin

Windows (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-deploy

Or install via cargo:

cargo install stackql-deploy