Changelog#
Pulse follows semantic versioning for public releases. The repository begins its public history with the 1.0.0-beta.1 prerelease.
Unreleased#
1.0.0-beta.6 — Beta (2026-10-04)#
- 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
getBodyresponses 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
/serverexport 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.
1.0.0-beta.5 — Beta (2026-09-16)#
- 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.
1.0.0-beta.4 — Beta (2026-09-14)#
- 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.
1.0.0-beta.3 — Beta (2026-09-14)#
- 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
latestnpm tag while retaining the Beta release label.
1.0.0-beta.2 — Beta (2026-09-13)#
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.
1.0.0-beta.1 — Beta (2026-08-01)#
The first public Beta establishes a native-first Pulse application contract and completes the synchronized release candidate:
- promotes
@pulse-compute/pulseinto 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-sizeto 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/runtimeas 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.