Skip to content

Boundra v0.2.1

Choose a tag to compare

@github-actions github-actions released this 21 Jul 12:08
· 32 commits to main since this release

Boundra v0.2.1

Release Summary

Boundra v0.2.1 is a patch release driven by dogfooding in a real Presence application, improving request cancellation and reducing structural friction for small domains. Per-call cancellation signals now reach user-defined transports, while domains with only one public API layer can use a more compact root layout without giving up boundary protection.

Highlights

  • Adds optional BoundraCallOptions to query and mutation calls.
  • Propagates AbortSignal through custom transports and the HTTP transport's fetch call.
  • Preserves explicitly cancelled requests instead of converting them into RUNTIME-003.
  • Allows domains with exactly one public API layer to place public.ts and implementation files directly at the domain root.
  • Applies the same client/server/shared boundary rules to root files in the compact layout.
  • Generated query, mutation, and resource client adapters now forward per-call options.

Installation

Install or update on Node.js 20 or later:

pnpm add boundra@0.2.1 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.1 boundra-cli

Breaking Changes

None. Existing two-argument query/mutation calls and the standard client, server, and shared directory layout remain supported.

Known Limitations

  • The compact layout is available only when exactly one of the manifest's client, server, or shared public APIs is non-empty.
  • Compact-layer inference applies only to files directly under the domain root. Tests should remain under tests/, and adding a second runtime layer requires migration to explicit layer directories.
  • Code generation continues to produce the standard shared/contracts and layer-specific public API layout.
  • 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 compact-layout boundary regression tests
  • TypeScript type checking and runtime contract tests
  • custom and HTTP transport cancellation propagation tests
  • generated query, mutation, and resource adapter tests
  • Svelte Vite integration and example boundary checks
  • packed npm runtime and native CLI clean-room verification
  • Linux x64, macOS x64/arm64, and Windows x64 release build workflow