Skip to content

v1.9.5

Choose a tag to compare

@juicycleff juicycleff released this 09 Aug 21:17
· 265 commits to main since this release

Forge Framework v1.9.5 (2026-08-09T21:12:39Z)

Welcome to this new release of Forge Framework!

Changelog

New Features

Bug Fixes

  • 7dd06e5: fix(cli): refresh every source's tracker after a watch regeneration (@juicycleff)
  • 67a9e07: fix(cli): restore loud config-source validation and cover the merge path (@juicycleff)
  • eb8ba84: fix(cli): say which source client list used when given several (@juicycleff)
  • 54fe56c: fix(cli): stop the shared watch debouncer from dropping a source's change (@juicycleff)
  • 4d1e71f: fix(client): carry spec warnings through the Go generator (@juicycleff)
  • b80d2ff: fix(client): close the optimistic-overlay leak into base, and two related hazards (@juicycleff)
  • 8fb4818: fix(client): correct ParseFileUnresolved rationale and test after review (@juicycleff)
  • 57f9493: fix(client): do not import a mutation type that types.ts never exports (@juicycleff)
  • 3099eda: fix(client): drop the duplicate declarations the merge only warned about (@juicycleff)
  • 794ba2e: fix(client): keep a frame's value when an optimistic overlay is promoted (@juicycleff)
  • 2f4be70: fix(client): keep a schema named Capability from breaking the package (@juicycleff)
  • 6cc3fe8: fix(client): keep client-react buildable and close the size gate (@juicycleff)
  • acf431e: fix(client): keep placement's shape check and entry.value entity-plane only (@juicycleff)
  • a281f91: fix(client): make touch bump version only on real invalidation (@juicycleff)
  • f93b98b: fix(client): stop canonicalising mutation binding type names (@juicycleff)
  • c19688c: fix(client): thread the entity type through all three adapters (@juicycleff)
  • 9108b64: fix(client): widen sameSchemaShape to catch enum, ref, and polymorphism drift (@juicycleff)
  • 954ed4b: fix(client-core): decode the streaming extension's envelope (@juicycleff)
  • 56feb1b: fix(client-core): key deferred gap recovery by endpoint, validate resumed payload (@juicycleff)
  • 4d7e91e: fix(client-core): read event before type in the default frame decoder (@juicycleff)
  • 095a388: fix(router): binary frames, write deadlines, and SSE event IDs (@juicycleff)
  • 4255314: fix(router): make event log sequence numbers global to the log (@juicycleff)
  • 42dc940: fix(router): reject caller IDs and serialize append-send on resumable streams (@juicycleff)
  • f4baf78: fix(router): warn once when another layer's event IDs are refused (@juicycleff)
  • 5df0814: fix(sse-replay): close the seams between log, replay wiring, and client (@juicycleff)
  • 737348d: fix(streaming): close authorization gaps, enforce inert config, add replay (@juicycleff)
  • d6a75d0: fix(streaming): count dropped delivery hooks and copy snapshots on Save (@juicycleff)
  • cb773c3: fix(streaming): decode the extension's envelope on the client (@juicycleff)
  • 74353ab: fix(streaming): stop leaked goroutines, sharing resumes, and per-message goroutines (@juicycleff)
  • a1d8889: fix(streaming): survive an SSE route that owns its own event IDs (@juicycleff)
  • 2d4f7ad: fix(webrtc): drop the now-redundant streaming.Extension assertions (@juicycleff)

Refactoring

  • 72dc7be: refactor(client): drop the Forge prefix from the adapter APIs (@juicycleff)
  • 6501d7c: refactor(react): name the boundary HydrationBoundary, not ForgeHydrationBoundary (@juicycleff)

Documentation Updates

Build System

  • d1a389e: build(client): raise the stream-binding budget past the overlay stack (@juicycleff)

Other Changes

  • aca683f: chore(deps): bring the three drifted submodules up to current versions (@juicycleff)
  • f1a8801: test(client): assert the SSR round trip, with reference-shaped keys generated (@juicycleff)
  • ecc888c: test(client): cover promote's raw-base evaluation of computed sources (@juicycleff)
  • eb8f713: test(client): make the un-decoded parse guard fixture-independent (@juicycleff)
  • efab606: test(client): name the merge-resolve test after what it asserts (@juicycleff)

Installation

Using Go Install

go install github.com/xraph/forge/cmd/forge@v1.9.5

Download Binary

Download the appropriate binary for your platform from the assets below.

Using Package Managers

# Homebrew (macOS/Linux)
brew install xraph/tap/forge

# Scoop (Windows)
scoop bucket add xraph https://github.com/xraph/scoop-bucket
scoop install forge

What's Changed

Full changelog: v1.9.4...v1.9.5