Skip to content

Releases: stefvw93/weft

v0.31.1

Choose a tag to compare

@github-actions github-actions released this 07 Sep 06:41
5f955df

0.31.1 (2026-09-07)

Bug Fixes

v0.31.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 14:42
cfad421

0.31.0 (2026-07-24)

BREAKING CHANGES

  • reactive updates commit asynchronously and conflate
    to the newest value per region. Code that must observe every
    intermediate value should consume the stream directly, not the DOM.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

  • docs: trim scheduler internals from rendering-model; add internals policy to docs agent

The Loom section now states only what users can act on: one scheduler
per app, latest-value-wins, async commits, awaitCommit as the ack.
Drain order and cell bookkeeping stay in loom.specs.md.

weft-docs-author gains a "when NOT to document internals" policy: the
does-it-change-what-a-user-predicts-or-does test, with boundary rules
(correcting false claims is mandatory, adding machinery detail is not).

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

v0.30.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 19:13
0224e0d

0.30.0 (2026-07-22)

  • feat(core)!: make Subscribable data-first (brand-only interface) (#164) (0224e0d)

BREAKING CHANGES

  • Subscribable no longer exposes .get/.changes members.
    Read values with Subscribable.get(x) and observe changes with
    Subscribable.changes(x).

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

  • chore: dont mandate pr

v0.29.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:41
49c6825

0.29.0 (2026-07-20)

Features

  • dom: add Props.merge and Props.cx for prop-bag composition (#157) (49c6825)

v0.28.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 12:27
915eb9e

0.28.0 (2026-07-19)

  • feat(dom)!: replace mount/hydrate with the WeftApp app runtime (#155) (915eb9e), closes #123

BREAKING CHANGES

  • mount, hydrate, mountScoped, hydrateScoped, and
    MountHandle are removed from @weftui/dom/client. Create an app with
    WeftApp.make(layer?) and use WeftApp.mount(app, node, root) /
    WeftApp.hydrate(app, node, root); Effect.provide around mount calls
    no longer supplies services to components.

Co-authored-by: Claude Fable 5 noreply@anthropic.com

v0.27.1

Choose a tag to compare

@github-actions github-actions released this 17 Jul 11:59
3c7ed03

0.27.1 (2026-07-17)

Bug Fixes

  • deps: bump effect to 4.0.0-beta.98 (26f565a)

v0.27.0

Choose a tag to compare

@github-actions github-actions released this 17 Jul 10:05
a24d1b0

0.27.0 (2026-07-17)

  • refactor(core)!: redesign Boundary.catchSome as catchFilter (Filter-based) (24b1244)
  • refactor(core)!: rename Boundary.catchAll/catchAllCause to catch/catchCause (5c8d4d8)

Bug Fixes

  • effect4: Age schema uses Schema.NumberFromString (was Schema.transform) (93e30f0)
  • effect4: compile.test reads httpApiStatus annotation directly (8d32a5c)
  • effect4: compile.test schemas typed as Codec for decode calls (1a3bc28)
  • effect4: const type param on h children preserves tuple E/R inference (1431d78), closes effect-smol#2163
  • effect4: Context.Service shape accessor Tag["Type"] -> Tag["Service"] (eb4b2e1)
  • effect4: drop router-server route-layer annotations (ac6a956)
  • effect4: drop unused Option imports after catchFilter migration (8c36645)
  • effect4: effect-atom test Fiber.RuntimeFiber -> Fiber.Fiber (34de4a7)
  • effect4: Effect.fork -> Effect.forkChild (c3e9ea6)
  • effect4: element refs are SubscriptionRef (v4 dropped Ref-subtyping) (22b1ec1)
  • effect4: HttpApiEndpoint builder to v4 options form (6ecdb73)
  • effect4: link.ts runtime APIs (context/runForkWith) (d03c339)
  • effect4: log-capture test helper to v4 Logger API (09de1c6)
  • effect4: loosen router-server route-layer annotations (0608e32)
  • effect4: matcher reads v4 HttpApiEndpoint params/query slots (60b5eb5)
  • effect4: outlet.ts Router["Type"] -> Router["Service"] (6f493f1)
  • effect4: pass static-markup children through suspense boundary (9da3d53)
  • effect4: render static-markup element children synchronously (93153e7)
  • effect4: render-to-stream.test arrays + Fiber.pollUnsafe (27c4ce0)
  • effect4: render.ts Ref/Fiber renames + wrap SubscriptionRef as Subscribable (7bc2c32)
  • effect4: renderChildren renders static-markup children synchronously (327ed9a)
  • effect4: revert over-eager SubscriptionRef.changes on Subscribable reads (23beb71)
  • effect4: router-live runtime APIs (context/runForkWith/pollUnsafe) (635a67d)
  • effect4: router-server catchAll endpoint .addSuccess -> options (a7e52a7)
  • effect4: router-server web-handler pipeline to v4 HttpRouter (47cc838)
  • effect4: RouterParamsError source uses Schema.Literals (02e0a7a)
  • effect4: RPC over HTTP uses protocol:http + ndjson serialization (22d8f9c)
  • effect4: satisfy no-base-to-string on style value stringify (67efa7b)
  • effect4: Schema.filter -> Schema.check(Schema.makeFilter(...)) (8b19f30)
  • effect4: Schema.Literal(...) -> Schema.Literals([...]) (675da7a)
  • effect4: Schema.Schema.Any -> Schema.Top, HttpApi.HttpApi.Any -> HttpApi.Any (66c098d)
  • effect4: source.test drop Chunk.toReadonlyArray (runCollect yields array) (130e279)
  • effect4: SSR match reads v4 handler request.params/query (2fb2b12)
  • effect4: Stream.async(emit) -> Stream.callback(queue) (a64cf63)
  • effect4: Stream.filterMap takes a Filter (source.ts) (467e2a9)
  • effect4: Stream.provideLayer -> Stream.provide (3fbf53d)
  • effect4: Stream.TypeId + SubscriptionRef.changes/Chunk stragglers (1d11983)
  • effect4: streaming-shell.test arrays + Cause.reasons (d565a75)
  • effect4: SubscriptionRef.changes is a function in v4 (3f8066a)
  • effect4: SubscriptionRef.changes(ref) across remaining Subscribable-free files (edcbf1c)
  • effect4: SubscriptionRef.changes(ref) in dom.test.ts (5511c9e)
  • effect4: SubscriptionRef.changes(ref) in source + list/mount tests (18c7f3a)
  • effect4: SubscriptionRef.changes(urlRef) in router-live (2ca2620)
  • effect4: sync-resolution probe runs under the ambient context (e455587)
  • effect4: terminate SSR patch stream when scope closes with pending fibers (59a7b9d)
  • release: keep breaking changes as minor bumps while pre-1.0 (a0e0445)

Features

  • core: add local Subscribable module (Effect 4 removed it) (2e7ec00)
  • effect4: migrate effect-atom example to effect/unstable/reactivity (caf81a8)

BREAKING CHANGES

  • Boundary.catchSome is removed; use Boundary.catchFilter with
    a Filter.Filter instead of an Option-returning fallback. Call sites (examples,
    tests, docs) update in follow-up commits.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

  • Boundary.catchAll/catchAllCause are renamed to
    Boundary.catch/catchCause. Call sites (examples, tests, docs) update in
    follow-up commits. catchSome -> catchFilter is a semantics change (Option ->
    Filter) handled separately.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

v0.26.3

Choose a tag to compare

@github-actions github-actions released this 04 Jul 20:31
699e15b

0.26.3 (2026-07-04)

Bug Fixes

  • router: reset scroll to top on path-changing client navigation (f08ab83)

v0.26.2

Choose a tag to compare

@github-actions github-actions released this 04 Jul 19:54
9935084

0.26.2 (2026-07-04)

Bug Fixes

  • packages: add READMEs and bundle docs into published packages (6d89c2a)

v0.26.1

Choose a tag to compare

@github-actions github-actions released this 04 Jul 18:22
788b6dd

0.26.1 (2026-07-04)

Bug Fixes

  • dom: report unhandled subscription failures without a Boundary (847f3a2)