Skip to content

Boundra v0.3.0

Choose a tag to compare

@github-actions github-actions released this 25 Aug 06:07
· 21 commits to main since this release
0e18e95

Boundra v0.3.0

Release Summary

Boundra v0.3.0 expands the Vite development error view so contract validation failures and domain boundary violations can be investigated from a single interface. The previous first-error-only limitation is removed, and normalized safe diagnostics can now be explored and copied for application debugging and issue reporting.

Highlights

  • Displays all runtime validation issues and boundary violations as navigable lists.
  • Adds separate Runtime and Boundaries tabs while keeping the state of each diagnostic source independent.
  • Shows contract, validation phase, issue code, field path, file, line, and import details.
  • Copies a text report containing only normalized safe diagnostic fields to the clipboard.
  • Opens files referenced by boundary diagnostics in the editor through the Vite development server.
  • Supports Escape dismissal, keyboard focus, mobile layouts, and reduced-motion preferences.

Installation

Install or update on Node.js 20 or later:

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

Enable the development error view in a Vite application:

import { boundra } from "boundra/vite";

export default {
  plugins: [boundra()],
};

Native archives and Rust source installation are also supported:

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

Breaking Changes

None. Existing runtime error JSON, Vite plugin configuration, boundary JSON output, and CLI interfaces remain compatible.

Known Limitations

  • The development error view is currently limited to the Vite development server; a Next.js adapter is not provided in this release.
  • Runtime errors whose lifecycle cannot be determined automatically must be dismissed manually with the close button or Escape. Boundary diagnostics are removed automatically after a clean re-check.
  • The error view captures unhandled BoundraRuntimeError values. Errors handled by the application must be surfaced by the application itself.
  • Editor navigation requires the Vite development server and a local editor integration.
  • Original contract inputs and results, schema-provider error objects, and causes are never displayed or copied in order to protect private or secret data.

Verification

  • Node.js 20, 22, and 24 runtime builds and runtime tests
  • Vite plugin injection and full issue/violation safe-summary tests
  • TypeScript workspace type checking and runtime package build
  • full Rust workspace tests and Clippy with -D warnings
  • packed npm runtime and native CLI clean-room verification
  • Linux x64, macOS x64/arm64, and Windows x64 release workflow