Skip to content
Documentation
1.0.0-beta.9 · exact release

Changelog

Source fda16de1b352 · Published v1.0.0-beta.9

Pulse follows semantic versioning for public releases. The repository begins its public history with the 1.0.0-beta.1 prerelease.

  • Expand Native reports with authored handlers, source-bound analytics, contextual helper and resource associations, and explicit identity coverage in comparisons. Retained evidence continues to distinguish proven facts from unavailable attribution and does not imply exclusive byte ownership.
  • Add the full-window Execution Explorer and binding views to offline HTML reports, compact relationship facts, and raise default report budgets for larger applications.
  • Reduce scalar and handle retention on eligible Native paths with bounded numeric regions and compiler-proven lifetime checks. Preserve loop budgets, effect boundaries, and conservative exclusions; measurements remain specific to their recorded workloads and providers.
  • Support bounded Fastly Native forwarding and retain paired Rust/Pulse forwarding and memory evidence without turning fixture results into general performance guarantees.
  • Resolve bounded npm source exports for Native and admit trusted external package lowering contracts, including declared Wasm runtime bindings on Node. Contracts and provider capabilities remain validated; package lowerers execute as trusted build dependencies, without a sandbox guarantee.
  • Increase bounded HMAC signing input support to 64 KiB.
  • Fix Fastly Native logging through stdout and preserve HTTP error boundaries in applications that also declare event entries.
  • Add checkout-bound development task recovery, balance Native CI shards, and reuse validated documentation builds. Harden release-worker cleanup, orphan recovery, process-instance locks, and environment-change diagnostics while retaining exact-input and complete-coverage requirements.

Conditional KV/CAS still requires dedicated evidence or an explicit disposition for the final beta.9 candidate. The known local Viceroy discrepancy retains its raw failure and existing non-blocking disposition; deployed Pulse cross-location acceptance remains separate. This preparation does not claim a release seal, publication, deployment, or validation of downstream applications.

  • Expand Native reports with entry and implementation identities, helper and middleware consumer links, scoped resource and schema inventory, static response payload observations, and containing-body views. Shared associations remain nonadditive; missing evidence remains unavailable.
  • Add an internal report comparison contract, canonical JSON and offline HTML renderer with compatible-evidence checks, explicit additions/removals, and artifact provenance. Public CLI/MCP comparison adapters remain separate work.
  • Improve report navigation and compact route views; retain build-stage timings, effective compiler settings, optimization flags and toolchain identities.
  • Add reproducible manual performance baselines and comparisons, including Pulse/Rust and shared-ABI memory investigations. Measurements remain scoped to their fixtures and environments; they are not universal performance claims.
  • Add the opt-in Native --elide-json-cache-arena build/compile flag. It omits the json-as arena when string caching is disabled, preserves enabled caches, and can increase peak memory for allocation-heavy workloads. Defaults are unchanged.
  • Correct absent versus empty Fastly request and fetched-response headers. Recover fetch transport failures through application error handling, and enforce bounded fetch header deadlines with explicit timeout/error responses and cleanup.
  • Preserve safe structured logging metadata during KV redaction while retaining known-secret and KV-value protection.
  • Qualify release PRs before merge into main and let npm/docs publication consume their verified package and documentation artifacts. Publication no longer repeats build, pack and seal after main; exact source/artifact binding remains required.
  • Front-load cheap release checks and Fastly prerequisites, correct compiler admission hints, and explain verified checkpoint reuse and rerun reasons. Required coverage, deadlines and same-candidate recovery safeguards remain intact.
  • Consolidate documentation procedures, preserve the exact-tag beta.7 documentation snapshot, and refresh measured Fastly example sizes after the correctness fixes.

Exact per-route ownership and complete reachability remain limited; containing bodies are not isolated handler sizes. Deeper attribution proofs and source-map integration are deferred. Scalar-retention optimization and additional provider capabilities remain follow-up work.

Conditional KV/CAS requires dedicated beta.8 evidence or an explicit disposition for the final candidate. The beta.6 exception does not carry forward; raw failed or not-run results remain visible. This preparation does not claim a release seal, registry publication, hosted deployment, or final-candidate tick acceptance.

  • Add pulse report for completed Native build evidence: terminal summaries, deterministic JSON capsules and offline HTML views of routes, schemas and physical Wasm sizes. Historical replay uses retained evidence without running project handlers, rebuilding or contacting providers.
  • Keep Report's attribution gaps explicit: incomplete reachability/resource provenance is labeled, Own/Shared ownership remains unavailable, and byte totals do not imply exclusive ownership or removal savings. Richer compiler telemetry is deferred to beta.8; full browser qualification remains partial.
  • Retain literal Native error-boundary bindings through private wrappers while preserving dynamic shared-stage/helper boundaries and error transfer behavior. This improvement applies without an experimental size flag.
  • Share exact package construction across release consumers, consolidate repeated JWT and installed-corpus checks, and bound candidate work with terminal evidence and supervised cleanup.
  • Recover verified same-candidate work and add bounded isolated seal workers with separate compiler admission and memory budgets. Keep checkpoint qualification manual and preserve failed attempts and exact source/artifact identities.
  • Retire frozen O-10/O-11 optimization qualification replays while retaining their current regression owners and recoverable historical observations.
  • Add a small manual Node performance baseline and guarded comparisons. Split final Native emission into private owners without changing measured artifact bytes; the cleanup establishes no compiler speed or Wasm-size improvement.
  • Add @pulse-compute/mcp to the synchronized release package set as a supported host extension with root and /node imports and no runtime dependencies.
  • Qualify modern MCP HTTP with the official client and Claude Code, and provide explicit stateless compatibility for the measured Codex client.
  • Replace the proxy example with a bundled, read-only Pulse context application: starter plans, search, cited contracts, maintained examples and diagnostic help. Its standalone Node host runs the built app without workspace execution access.
  • Give the installed context journey one mandatory release owner, retain the bounded authorization checks, and complete the inert MCP name bootstrap and owner-confirmed publisher setup. Final tagged qualification and actual OIDC publication remain separate release steps.
  • Qualify and audit one publication candidate before protected approval, reuse its accepted package bytes, require the Fastly lifecycle and bound isolated worker/compiler admission. Verify the published context app after registry checks and retain its terminal report, including failures.
  • Purge the documentation CDN after promotion and before public verification; preserve the beta.6 documentation snapshot from its exact release tag.

Conditional KV remains a separate release qualification. Beta.6's accepted local Viceroy CAS failures and deployed cross-location deferral apply only to that candidate. Beta.7 requires its own qualification or explicit owner disposition; raw failed/not-run results remain unresolved, and public CAS semantics are unchanged.

  • Combine bounded Node request forwarding, experimental finite generated output and UTF-8 transforms with the current helper/shared-stage Native compiler work. Size modes remain opt-in; no default optimization or target fallback changes.
  • Add bounded opaque S3 getBody responses on Node Native/JavaScript and Fastly Native, and embedded Assets bytes through the existing qualified interfaces. Fastly JavaScript S3 remains ineligible; arbitrary binary inspection is excluded.
  • Qualify the explicit Node /server export for finite production HTTP, including build identity, overload, readiness and graceful draining. Streaming/output/ transform/S3-body/blob-specific launcher qualification remains separate.
  • Tighten Entities integration, JWT signing/verification and cleanup, and the private MCP adapter. MCP remains unpublished and outside the 19-package set; Native signature-guest composition restrictions remain enforced.
  • Require the separately selected installed-feature proofs and preserve exact package/artifact identity. Fix guest JSON roundtrips while retaining ordered arrays and exact trust values; beta.5 historical guest-cache evidence remains distinct from current candidate cache reuse.
  • Refresh example Wasm sizes from rebuilt default and experimental-size artifacts, clarify bounded support limits, and preserve the reviewed npm latest tag.
  • Retain the documented Viceroy missing-key CAS discrepancy as non-blocking by release-owner direction. Raw failures remain recorded, CAS semantics are unchanged, and deployed Pulse cross-location acceptance remains separate.
  • Add bounded application-owned JSON decoding, pure application loops and string trimming, execution-owned wall time, and exact-text SHA-256 digests.
  • Preserve schema/KV parity, optional-property absence, JWT JavaScript support, application error handling, bounded UTF-8 input and HTTP outcomes across the selected targets.
  • Add provider-owned HTTP request deadlines and verify their exact packed consumer closure, including cumulative effects and uncertain write outcomes.
  • Preserve source-qualified effect identity and multifile composition through exact installed packages.
  • Bound Fastly Native string concatenation and avoid eager collection allocation for scalar values, resolving large schema-encoding memory traps.
  • Preserve bounded Fastly Native request headers and raise selected digest/S3 text capacity to 2 MiB.
  • Share npm registry visibility polling across all release packages.
  • Add a release-owner tagging helper with a dry-run default, clean-source and remote-main checks, and immutable existing-tag handling.
  • Add ctx.encodeJson(value, 'schema.id') for schema-validated, bounded JSON text before storage or other effects, across JavaScript and Native execution.
  • Add manual release preparation that opens a draft PR, validates version readiness before main, and leaves final tagged-source sealing to publication.
  • Preserve published documentation and changelog history while advancing current references during release preparation.
  • Fix CLI storage execution on Node Native, Node JavaScript and the Fastly Native local fixture host, including S3 response streams, bindings and conditional KV.
  • Keep the last working Native application available when a development reload fails.
  • Allow bounded npm registry propagation time and publish future releases directly under the latest npm tag while retaining the Beta release label.

This candidate synchronizes the 19-package release catalog and prepares the next npm beta release:

  • adds bounded S3-compatible object storage in @pulse-compute/s3, backed by the Crypto hashing and signing primitives; the Assets contract stays intact;
  • adds conditional KV operations and opaque generation tokens, with explicit conflict handling and no non-atomic emulation;
  • propagates explicit JavaScript targets through project analysis, retaining resolved static third-party imports and ordinary awaited calls while checking Native eligibility independently;
  • clarifies maintainer ownership, target boundaries, evidence requirements, and human release authority;
  • links public and internal package listings to npm and preserves the exact published beta.1 documentation snapshot alongside the beta.2 documentation.

Conditional KV acceptance remains gated separately from the aggregate seal: Viceroy 0.21.0 creates a missing key for an existing-generation CAS, contrary to the required conflict behavior, and deployed Pulse cross-location acceptance is still pending. The standalone live Fastly probe confirms missing-key rejection but does not satisfy those Pulse acceptance gates. See wasm/test/kv/K4.md for the evidence and release boundary.

The first public Beta establishes a native-first Pulse application contract and completes the synchronized release candidate:

  • promotes @pulse-compute/pulse into the synchronized public package set and removes its duplicate Fastly-conditioned bootstrap so provider-specific startup remains owned by @pulse-compute/provider-fastly.

  • adds --experimental-native-size to provider-neutral compile and Native provider builds. The Native compiler owns the experimental size profile and the default remains unchanged.

  • moves the fixed provider composition behind a neutral CLI facade. Concrete host operations and target policy are now composed from provider-owned modules, while Node remains the reference/smoke substrate.

  • adds synchronous string logging through ctx.log.error, warn, info, and debug, including profile thresholds, Native pruning, a compact host ABI, provider-owned output, redaction, and four-mode conformance.

  • completes direct Fastly JavaScript execution, provider capabilities, package effects, local tooling, deterministic source/deployment packaging, and downstream runtime compilation.

  • seals full-target-support availability for Node and Fastly JavaScript without automatic fallback.

  • adds revision-bound release reports, sixteen-shard evidence aggregation, offline Fastly Native/JavaScript candidates, and exact binary-patch replay.

  • adds the bounded Crypto, JWT, and Entities packages to the synchronized 18-package release catalog;

  • synchronizes the Apache-2.0 package metadata, Beta documentation, exact v1.0.0-beta.1 routes, and npm beta policy without assigning latest;

  • performs no deployment or publication; those operations remain separately authorized release actions.

  • @pulse-compute/runtime as the canonical application surface;

  • static Router authoring with parameters, mounts, terminal middleware, fallthrough, and error lanes;

  • whole-project analysis with explicit effects and continuations;

  • schema-backed request, fetch, and response handling;

  • provider-neutral portable Wasm and direct native Fastly realization;

  • Node development, inspection, testing, and provider conformance;

  • package-owned GRIP and asset lowering;

  • generated, versioned documentation and guarded release candidates;

  • explicit runtime-target support gates with no automatic fallback.

The Beta deliberately rejects unsupported Native source instead of silently changing execution targets.