Skip to content

Boundra v0.2.2

Choose a tag to compare

@github-actions github-actions released this 20 Aug 06:31
· 26 commits to main since this release
fb61eed

Boundra v0.2.2

Release Summary

Boundra v0.2.2 is a patch release that fixes integration issues in boundary checks, code generation, and HTTP error handling discovered while dogfooding a real single-app repository. Generated contracts no longer conflict with the default boundary rules, and applications can handle scan coverage and transport failures more safely and structurally.

Highlights

  • Prevents generated shared-contract imports of boundra and the schema provider from being incorrectly reported as BR-003 when paths.apps is ..
  • Adds scanned_file_count and analyzed_domain_count to check-boundaries --format json.
  • Adds text-output warnings when zero source files or zero domains are analyzed.
  • Makes query, mutation, and resource generators export client adapters into client/public.ts idempotently.
  • Rolls back generated files, manifest changes, and barrel updates if public API updates fail.
  • Preserves non-2xx responses as BoundraHttpError with status, a safe header allowlist, and a bounded response body.

Installation

Install or update on Node.js 20 or later:

pnpm add boundra@0.2.2 zod
pnpm exec boundra check-boundaries

Native archives and Rust source installation are also supported:

cargo install --git https://github.com/qtaghdi/boundra --tag v0.2.2 boundra-cli

Breaking Changes

None. Existing contract, transport, generator command, and boundary JSON fields remain compatible; this release only adds coverage metadata and structured HTTP error information.

Known Limitations

  • analyzed_domain_count counts domains that contain source files included in the configured scan; it does not represent runtime usage or graph connectivity.
  • HTTP error bodies are preserved up to 64 KiB by default and truncated beyond that limit.
  • BoundraHttpError.headers exposes only content-type, retry-after, etag, x-request-id, and x-correlation-id.
  • On first npm CLI execution without a cache, GitHub Release access and Unix tar or Windows PowerShell are required.

Verification

  • full Rust workspace tests and Clippy with -D warnings
  • BR-003 root-app regression and real domain-scan coverage tests
  • generator client-barrel idempotency, rollback, and retry tests
  • TypeScript type checking and structured HTTP error runtime tests
  • Vite integration and example boundary checks
  • packed npm runtime and native CLI clean-room verification
  • Linux x64, macOS x64/arm64, and Windows x64 release workflow