Skip to content

Releases: stacktape/stacktape

3.2.7

22 Jan 23:24

Choose a tag to compare

Version: 3.2.7

3.2.6

22 Jan 12:08

Choose a tag to compare

🚀 Major improvements

Automatic Optional Field Detection

Config validation now automatically treats properties with @default values as optional:

  • Pre-processing JSON schema - Before dereferencing, marks properties not in the required array with a special marker
  • Post-processing Zod schema - Converts marked properties to .optional() in the generated Zod schema
  • No more manual maintenance - Previously, optional fields were hardcoded in a list; now they're automatically detected from the schema

Improved TypeScript Type Generation

Completely rewrote the npm export type generation for better correctness:

  • Props type aliases - Added proper type aliases for discriminated union properties (e.g., HttpApiIntegrationPropsHttpApiIntegration['properties'])
  • Direct type mappings - Added aliases for types without type/properties structure (e.g., ContainerEfsMountPropsContainerEfsMount)
  • Missing type placeholders - Added placeholder definitions for types not reachable from schema root
  • Inline essential declarations - Generate essential class/type declarations inline instead of extracting from compiled TS (avoids duplication issues)

⚡ Improvements
Removed legacy AJV validation code (~560 lines) - now fully using Zod validator

DocsSlackX • ```

3.2.5

22 Jan 10:12

Choose a tag to compare

🐛 Bug Fixes

Edge Lambda Function Runtime Fix

Fixed Node.js runtime compatibility issues with edge Lambda functions (Lambda@Edge):

  • Force CJS output - Edge functions are now packaged with CommonJS instead of ESM, as Lambda@Edge doesn't support ESM with top-level await

⚡ Improvements

Better Zod Validation Error Messages

Significantly improved error messages for union type validation errors:

  • Smart union member matching - When a config has a type field, the validator now finds the matching union member and shows its specific errors instead of generic "doesn't match any shape"
  • Nested union errors - Properly handles nested discriminated unions (e.g., WAF rules with invalid types)
  • Contextual hints - Shows "Did you mean?" suggestions for invalid types at any nesting level
  • Property-level errors - Extracts and displays specific missing/invalid property errors from the correct union branch

Removed Strict Discriminated Union Conversion

Reverted the automatic conversion of unions to discriminated unions in Zod schema generation:

  • Backwards compatibility - Regular z.union is more lenient than z.discriminatedUnion, matching the previous AJV validator behavior
  • Custom types support - Configs with custom/extended types (e.g., WAF custom rules) no longer fail validation

🧪 Testing

  • Added edge-function-cdn test stack demonstrating edge function with hosting bucket

DocsSlackX

3.2.4

21 Jan 23:38

Choose a tag to compare

Bugfixes

  • Significantly improve Zod config validator UI messages for union types.

DocsSlackX

3.2.3

21 Jan 22:50

Choose a tag to compare

Bugfixes

  • Make structural config validation of union-types less strict to better match the old validation which used AJV.

DocsSlackX

3.2.2

21 Jan 18:29

Choose a tag to compare

Bugfixes

  • Make some previously unresolved *Props interface available in the stacktape package.

DocsSlackX

3.2.1

21 Jan 17:33

Choose a tag to compare

🚀 Major improvements

New Zod-Based Config Validation

Completely rewrote the configuration validation system using Zod schemas:

  • Better error messages - Validation errors now show exact line numbers, code snippets, and "did you mean?" suggestions using Levenshtein distance
  • Discriminated union support - Proper error messages for typed resources (no more confusing "does not match any of the allowed shapes")
  • Auto-generated Zod schemas - JSON Schema is now automatically converted to Zod with intelligent post-processing for discriminated unions, record syntax fixes, and default value corrections

Documentation Overhaul

Complete restructure of the Getting Started documentation:

  • New Quick Start guide - Get from zero to deployed in 5 minutes
  • Consolidated Configuration guide - TypeScript and YAML configuration in one place with better examples
  • New Development Mode guide - Comprehensive docs for local development with stacktape dev
  • Simplified Deployment guide - All deployment methods (CLI, Console, GitOps, CI/CD) in one page
  • Removed 8 fragmented pages, replaced with 4 focused guides

Docs Code Block Improvements

Enhanced code examples in documentation:

  • YAML to TypeScript converter - Code blocks can now show both YAML and TypeScript equivalents side-by-side
  • Improved tab switcher - Animated sliding indicator for code block tabs
  • Better syntax highlighting - Resource types, directives, and packaging types properly highlighted

⚡ Improvements

  • Improve ES bundler with better split bundler support
  • Rename SDK types to Plain types for clarity (sdk.d.tsplain.d.ts)

DocsSlackX

3.2.0

20 Jan 22:55

Choose a tag to compare

🚀 Major improvements

Complete Dev Mode Overhaul

Drastically improved local development experience with the dev command:

  • Run everything locally - Containers, Lambda functions, hosting buckets (SPAs), and Next.js apps all run in parallel with hot-reload
  • Local database emulation - Postgres, MySQL, Redis, DynamoDB, and OpenSearch run locally via Docker with persistent data
  • Hybrid local/remote - Choose which resources run locally and which use deployed AWS infrastructure
  • Lambda tunneling - Connect deployed Lambda functions to your local databases during development
  • Interactive resource picker - Select exactly which workloads and databases to include in your dev session
  • New Dev TUI - Real-time terminal UI showing status of all resources, rebuild progress, and logs

Split Bundler with Lambda Layers

New intelligent bundler for Lambda functions:

  • Bundles multiple Lambda entrypoints together using Bun's code splitting
  • Automatically generates shared Lambda Layers for common code/dependencies
  • Significantly reduces deployment package sizes for stacks with multiple functions

New Configuration Options

  • hosting-buckets: Add build and dev properties for frontend build configuration
  • nextjs-web: Add dev.command property for custom dev server commands
  • relational-databases, redis-clusters, dynamo-db-tables: Add dev.remote property to use deployed resources instead of local emulation

⚡ Improvements

  • Add Lambda provisioned concurrency failure monitoring with log fetching
  • Improve non-TTY (CI) output rendering
  • Update install scripts for all platforms
  • Refactor CLI configuration for better maintainability

🔧 Breaking changes

  • SDK removed: The programmatic SDK export has been removed. Use the CLI directly or via npx stacktape

DocsSlackX

3.1.2

06 Jan 23:33

Choose a tag to compare

🔨 Bugfixes

  • Set maximum concurrency to amount of physical cores
  • Improve UI responsiveness during CPU-intensive packaging

DocsSlackX

Version: 3.1.1

3.1.1

06 Jan 23:21

Choose a tag to compare

🔨 Bugfixes

  • Fix hotswap status flicker and phase ordering with script output
  • Simplify deployment UI labels and prevent line wrapping

DocsSlackX