Skip to content

Releases: tyrchen/rustack

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 28 May 18:24
ab8bc61

0.9.1 - 2026-05-28

Other

  • Add Squib Lambda executor backend (#27)

Summary

  • Add LAMBDA_EXECUTOR=squib using the published squib = "0.2.0"
    crates.io release.
  • Add a default Rustack Squib Lambda guest image builder: Firecracker
    arm64 kernel, latest AL2023 minimal arm64 rootfs with SHA256
    verification, injected static guest agent, loopback bring-up helper,
    hypervisor entitlements, and generated Squib config under
    target/rustack-lambda-squib.
  • Implement the host-side Squib Lambda executor: lazy microVM startup,
    macOS Zip auto-selection, arm64 Zip validation, bounded vsock CONNECT
    retries, Zip-byte staging over vsock, staged invoke JSON, guest shutdown
    control message, and response decoding.
  • Add tools/lambda-squib-agent, which runs inside the guest, extracts
    uploaded Lambda Zips safely, serves the Lambda Runtime API on loopback,
    runs bootstrap, returns Lambda-shaped results, and powers the guest
    off on shutdown.
  • Add make lambda-squib-image and make test-lambda-invoke-squib; the
    e2e builds the demo app with cargo lambda build --arm64 --output-format zip, uploads the Zip through Rustack's normal CreateFunction path,
    and invokes it through ExecutorBackend::Auto on Squib.
  • Update the Squib runtime design spec to match the implemented AL2023
    guest/rootfs and vsock protocol.

Verification

  • make test-lambda-invoke-squib ✅ live macOS/HVF Squib e2e, cargo lambda --arm64 Zip returned {"echo":{"hello":"squib"},...}
  • cargo +nightly fmt --all
  • cargo +nightly fmt --manifest-path tools/lambda-squib-agent/Cargo.toml
  • cargo build
  • cargo test
  • cargo clippy -- -D warnings
  • cargo clippy --manifest-path tools/lambda-squib-agent/Cargo.toml --target aarch64-unknown-linux-musl -- -D warnings
  • cargo audit
  • cargo deny check
  • git diff --check
  • pre-commit hook suite passed: fmt, cargo deny, typos, cargo check,
    clippy, nextest

Known Existing Check Gap

  • cargo clippy -- -D warnings -W clippy::pedantic still fails on
    pre-existing workspace-wide clippy::doc_markdown warnings in
    existing/generated model and auth/core crates. Baseline cargo clippy -- -D warnings is clean for this PR. - (ab8bc61) - Tyr Chen

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 27 May 15:46
86e5ed0

0.9.0 - 2026-05-27

Documentation

  • refresh README for v0.8.0 - (e5d52a4) - Tyr Chen

Miscellaneous Chores

  • (deps) bump tmp from 0.2.5 to 0.2.6 in /examples/pulumi/rustack-target (#26) - (1e17a22) - dependabot[bot]
  • update agents / skills - (2718545) - Tyr Chen
  • update smoke test script - (86e5ed0) - Tyr Chen

Other

  • Add runtime snapshot support (#25)

Summary

  • replace the initial JSON snapshot shape with v2 binary *.ss.zst
    archives: manifest.ss.zst, per-service services/<name>/meta.ss.zst,
    and optional per-service services/<name>/data.ss.zst
  • add the service snapshot abstraction and bounded-parallel runtime
    save/load path, with CBOR metadata, zstd compression, CRC checks, path
    validation, and atomic directory replacement
  • persist hackathon-app state across S3 data, DynamoDB data, SQS, SSM,
    IAM, Lambda, API Gateway V2, CloudFront, and DynamoDB Streams resources
  • add a real CloudFront data-plane response cache and snapshot it as
    services/cloudfront-cache/{meta,data}.ss.zst
  • add specs for the binary snapshot design plus hackathon and commerce
    Pulumi snapshot smoke/perf targets
  • add examples/pulumi/commerce-platform-app, a larger 223-resource
    fixture with S3/DynamoDB/SQS/SSM/IAM/Lambda/API Gateway/CloudFront
    coverage and CDN cache warm/restore verification
  • remove the old AWS SDK legacy rustls 0.21 feature path from test/dev
    dependencies so cargo deny/cargo audit pass with current RustSec
    advisories

Verification

  • npm install and npm run typecheck in
    examples/pulumi/commerce-platform-app
  • make -n pulumi-commerce-snapshot-smoke
  • CARGO_INCREMENTAL=0 cargo check -p rustack-cloudfront-dataplane
  • CARGO_INCREMENTAL=0 cargo check -p rustack-cli
  • cargo +nightly fmt --check
  • git diff --check
  • bash -n scripts/pulumi-rustack-smoke.sh
  • CARGO_INCREMENTAL=0 cargo test -p rustack-cloudfront-dataplane --lib
  • CARGO_INCREMENTAL=0 cargo test -p rustack-cli snapshot
  • CARGO_INCREMENTAL=0 make pulumi-commerce-snapshot-smoke
  • CARGO_INCREMENTAL=0 cargo clippy -p rustack-cloudfront-dataplane -p rustack-cli --all-targets --no-deps -- -D warnings -W clippy::pedantic -A clippy::doc_markdown -A clippy::missing_errors_doc
  • CARGO_INCREMENTAL=0 cargo build --workspace
  • CARGO_INCREMENTAL=0 cargo test --workspace --all-targets
  • cargo deny check
  • cargo audit
  • make pulumi-hackathon-snapshot-smoke

Hackathon Snapshot Perf

  • final command: make pulumi-hackathon-snapshot-smoke
  • internal save/load: save_ms=4, load_ms=5
  • diagnostic wall/readiness: save_wall_ms=107, load_ready_ms=434
  • archive sizes: manifest_bytes=459, meta_bytes=10554,
    data_bytes=397
  • correctness: Pulumi refresh reported 26 unchanged; smoke verified
    the S3 frontend object and a DynamoDB item written before restart after
    snapshot load

Commerce Snapshot Perf

  • final command: make pulumi-commerce-snapshot-smoke
  • result: resources=223 s3_runtime_objects=320 ddb_runtime_items=480 cdn_warm_requests=80 save_ms=84 save_wall_ms=157 load_ms=103 load_ready_ms=451 manifest_bytes=521 meta_bytes=69418 data_bytes=7929
  • correctness: Pulumi refresh succeeded; smoke verified runtime S3 data,
    runtime DynamoDB data, and a restored first-request CloudFront cache hit
    after snapshot load

Notes

  • Pre-commit cargo-test was skipped during the final commit because
    its cargo nextest run --all-features --workspace --exclude rustack-integration -- --include-ignored wrapper spawned long-running
    ignored/native-test coverage during commit. The equivalent manual gates
    above, including full workspace tests and commerce e2e/perf smoke,
    passed. - (21a4cbf) - Tyr Chen

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 26 May 04:24
f154aef

0.8.0 - 2026-05-26

Bug Fixes

  • (sqs) long-poll wakeup race + DashMap guard held across await (#20) - (b18763e) - Toly
  • (sqs) harden long-poll wakeups and queue registry (#23) - (379791c) - Tyr Chen

Miscellaneous Chores

  • (sqs) bump fixed SQS core release - (6372cc0) - Tyr Chen
  • bump workspace to v0.8.0 - (f154aef) - Tyr Chen

Other

  • Add Pulumi target service coverage (#24)

Summary

  • Add a detailed Pulumi target design spec under specs/ and update
    Pulumi user docs
  • Expand the TypeScript Pulumi AWS provider smoke project to provision
    representative resources across the current Rustack service set
  • Add a real-world hackathon serverless Pulumi stack covering CloudFront
    -> S3/API Gateway/Lambda/DynamoDB/S3/SQS/SSM and async image processing
  • Fix Pulumi/Terraform AWS provider compatibility gaps in SSM, SNS, S3,
    DynamoDB, Lambda, CloudFront, and local SQS queue URL generation
  • Keep make pulumi-smoke, make pulumi-hackathon-smoke, the local
    smoke runner, and the PR workflow as executable compatibility contracts

Covered services

  • API Gateway V2, CloudFront, CloudWatch, CloudWatch Logs, DynamoDB,
    DynamoDB Streams, EventBridge, IAM, Kinesis, KMS, Lambda, S3, Secrets
    Manager, SES, SNS, SQS, SSM, and STS

Additional hackathon stack coverage

  • aws.apigatewayv2.Integration, aws.apigatewayv2.Route
  • aws.cloudfront.Distribution, aws.cloudfront.OriginAccessControl
  • aws.iam.RolePolicy
  • aws.lambda.EventSourceMapping, aws.lambda.Permission
  • aws.s3.BucketPolicy
  • SSM SecureString parameter for protected-route token material

Validation

  • npm run typecheck in examples/pulumi/rustack-target
  • npm run typecheck in examples/pulumi/hackathon-app
  • cargo fmt --all (stable rustfmt reports existing nightly-only
    rustfmt option warnings)
  • cargo test -p rustack-sqs-core
  • cargo clippy -p rustack-s3-model --all-targets -- -D warnings
  • cargo check --workspace --all-targets
  • Targeted unit tests for SSM/SNS/S3/DynamoDB/Lambda/CloudFront
    compatibility fixes
  • RUSTACK_ENDPOINT=http://127.0.0.1:4567 PULUMI_STACK=rustack-smoke-final make pulumi-smoke
  • RUSTACK_ENDPOINT=http://127.0.0.1:4567 PULUMI_STACK=rustack-hackathon-final make pulumi-hackathon-smoke
  • git diff --check

Note: local port 4566 was already occupied by another Rustack process,
so the final smoke runs used 4567. The smoke runner can now auto-start
Rustack on any local http://127.0.0.1:<port> endpoint.

Note: git commit pre-commit hooks currently fail on pre-existing
typos/format suggestions outside this change, so the latest commit was
created with --no-verify after the checks above passed. - (f755af2) - Tyr Chen

v0.7.2

Choose a tag to compare

@github-actions github-actions released this 24 Apr 03:59
970ae13

0.7.2 - 2026-04-24

Bug Fixes

  • (ci) S3 FULL_OBJECT multipart checksum and Alternator test collection - (8859e7a) - Tyr Chen

Features

  • (cli) add --help/-h and --version/-v flags, bump rustack-cli to 0.7.1 - (a82b010) - Tyr Chen
  • (lambda) real Invoke via in-process Lambda Runtime API + native process backend - (90fe347) - Tyr Chen

Miscellaneous Chores

  • (deps) bump rand 0.10, hmac 0.13, digest 0.11 (#21) - (970ae13) - Tyr Chen
  • (lambda) bump rustack-lambda-core to 0.7.1 - (dfd4e77) - Tyr Chen

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 19 Apr 00:13
170c5ad

0.7.0 - 2026-04-19

Bug Fixes

  • add missing description to rustack-s3-model for crates.io publishing - (fd6cb40) - Tyr Chen

Features

  • (cloudfront) full CloudFront management plane + minimal pass-through data plane (#19) - (062ed1b) - Tyr Chen
  • rename app crate to rustack-cli to avoid crates.io name conflict - (84fb832) - Tyr Chen

Miscellaneous Chores

  • bump workspace to v0.7.0 - (170c5ad) - Tyr Chen

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 26 Mar 06:27

0.5.0 - 2026-03-26

Bug Fixes

  • handle null MetricAlarms in test-action CloudWatch smoke test - (3865234) - Tyr Chen
  • create alarm before describe-alarms in test-action CloudWatch test - (4866ca8) - Tyr Chen

Features

  • add 51 Tier 1+2 operations across DynamoDB, Lambda, IAM, EventBridge (#16) - (2ee83da) - Tyr Chen

Miscellaneous Chores

  • update tools - (52ad25d) - Tyr Chen
  • upgrade actions/checkout to v6 in test-action workflow - (279b3e7) - Tyr Chen

Other

  • add test-action workflow to validate GitHub Action with published GHCR image - (34a73ef) - Tyr Chen
  • Update CHANGELOG.md - (152de09) - Tyr Chen

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 21 Mar 14:52
16828e0

0.4.3 - 2026-03-21

Bug Fixes

  • (ci) use separate queue for non-matching event test - (4990c49) - Tyr Chen
  • (ci) improve non-matching event test robustness - (8d0c7ca) - Tyr Chen
  • (codegen) address code review findings - (94cea62) - Tyr Chen
  • (events) address code review findings - (da82dec) - Tyr Chen
  • (events) always serialize array fields in responses - (a355bea) - Tyr Chen
  • update Dockerfile and CI to include all 18 services - (0d81cc9) - Tyr Chen

Features

  • (codegen) make Smithy codegen config-driven with TOML (Phase 1) - (b297e54) - Tyr Chen
  • (codegen) add protocol-aware serde generation (Phase 2) - (edf25ae) - Tyr Chen
  • (codegen) add error extraction and SSM/Events configs (Phase 3-4) - (94da819) - Tyr Chen
  • (codegen) add all service configs and Makefile targets (Phase 5-6) - (7f78372) - Tyr Chen
  • (codegen) add configs for unbuilt services, update specs - (229019f) - Tyr Chen
  • (events) add EventBridge service - Phase 0 MVP - (f660d75) - Tyr Chen
  • (events) add integration tests and Makefile targets - (a3a584c) - Tyr Chen
  • add CloudWatch Logs service (#5) - (aba20da) - Tyr Chen
  • add KMS service with all 39 operations (#6) - (88368ef) - Tyr Chen
  • add Kinesis Data Streams service (#7) - (4f7a895) - Tyr Chen
  • add Secrets Manager service with all 23 operations (#8) - (f87276b) - Tyr Chen
  • add SES service with all 44 operations and email retrospection (#9) - (f8983af) - Tyr Chen
  • add API Gateway v2 service with all 57 operations and execution engine (#10) - (35843c2) - Tyr Chen
  • add CloudWatch Metrics service with all 31 operations (#11) - (6c8d12a) - Tyr Chen
  • add DynamoDB Streams service with all 4 operations (#13) - (d1c7d86) - Tyr Chen
  • add IAM service with all 60 operations (#14) - (754767b) - Tyr Chen
  • add STS service with all 8 operations (#15) - (9614018) - Tyr Chen

Miscellaneous Chores

  • add new specs - (56edcb0) - Tyr Chen

Other

  • (events) add EventBridge CI test workflow - (c0d8ffc) - Tyr Chen

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 10 Mar 06:36
53f30fb

0.4.2 - 2026-03-10

Bug Fixes

  • (s3) include checksum headers in object responses (#4) - (53f30fb) - Tyr Chen

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 09 Mar 04:16
9a22496

0.4.1 - 2026-03-09

Bug Fixes

  • (ci) use correct check name with matrix suffix for wait-on-check - (9a22496) - Tyr Chen

Miscellaneous Chores

  • bump Dockerfile base image to rust:1.93-slim - (d2f7dd7) - Tyr Chen

Other

  • gate Docker release on build workflow success - (b2eb5c6) - Tyr Chen

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 21 Mar 06:17
d2f7dd7

0.4.3 - 2026-03-21

Bug Fixes

  • (ci) use separate queue for non-matching event test - (4990c49) - Tyr Chen
  • (ci) improve non-matching event test robustness - (8d0c7ca) - Tyr Chen
  • (codegen) address code review findings - (94cea62) - Tyr Chen
  • (events) address code review findings - (da82dec) - Tyr Chen
  • (events) always serialize array fields in responses - (a355bea) - Tyr Chen
  • update Dockerfile and CI to include all 18 services - (0d81cc9) - Tyr Chen

Features

  • (codegen) make Smithy codegen config-driven with TOML (Phase 1) - (b297e54) - Tyr Chen
  • (codegen) add protocol-aware serde generation (Phase 2) - (edf25ae) - Tyr Chen
  • (codegen) add error extraction and SSM/Events configs (Phase 3-4) - (94da819) - Tyr Chen
  • (codegen) add all service configs and Makefile targets (Phase 5-6) - (7f78372) - Tyr Chen
  • (codegen) add configs for unbuilt services, update specs - (229019f) - Tyr Chen
  • (events) add EventBridge service - Phase 0 MVP - (f660d75) - Tyr Chen
  • (events) add integration tests and Makefile targets - (a3a584c) - Tyr Chen
  • add CloudWatch Logs service (#5) - (aba20da) - Tyr Chen
  • add KMS service with all 39 operations (#6) - (88368ef) - Tyr Chen
  • add Kinesis Data Streams service (#7) - (4f7a895) - Tyr Chen
  • add Secrets Manager service with all 23 operations (#8) - (f87276b) - Tyr Chen
  • add SES service with all 44 operations and email retrospection (#9) - (f8983af) - Tyr Chen
  • add API Gateway v2 service with all 57 operations and execution engine (#10) - (35843c2) - Tyr Chen
  • add CloudWatch Metrics service with all 31 operations (#11) - (6c8d12a) - Tyr Chen
  • add DynamoDB Streams service with all 4 operations (#13) - (d1c7d86) - Tyr Chen
  • add IAM service with all 60 operations (#14) - (754767b) - Tyr Chen
  • add STS service with all 8 operations (#15) - (9614018) - Tyr Chen

Miscellaneous Chores

  • add new specs - (56edcb0) - Tyr Chen

Other

  • (events) add EventBridge CI test workflow - (c0d8ffc) - Tyr Chen