Skip to content

Releases: brnrdog/rescript-signals

rescript-signals-v3.1.1

21 Apr 21:07

Choose a tag to compare

rescript-signals-v3.1.1 (2026-04-21)

Bug Fixes

  • restore Signals entrypoint module (a5244ac)

Documentation

  • use neutral framework benchmark wording (ff70b91)

rescript-signals-v3.1.0

21 Apr 20:27

Choose a tag to compare

rescript-signals-v3.1.0 (2026-04-21)

Features

  • add optional equals for computeds (4f8c43c)

Performance Improvements

  • optimize scheduler fast paths (456f1c4)

rescript-signals-react-v2.0.0

21 Apr 16:58
20096ad

Choose a tag to compare

rescript-signals-react-v2.0.0 (2026-04-21)

⚠ BREAKING CHANGES

  • remove signals-react namespace (#27)

Before

open Signals
open SignalsReact

let count = Signal.make(0)

@react.component
let make = () => {
  let value = SignalsReact.useSignalValue(count)
  <span> {React.string(Int.toString(value))} </span>
}

Now

open Signals
open SignalsReact

let count = Signal.make(0)

@react.component
let make = () => {
  let value = useSignalValue(count)
  <span> {React.string(Int.toString(value))} </span>
}

rescript-signals v3.0.0

19 Apr 13:43

Choose a tag to compare

Breaking Changes

  • feat!: convert to npm workspaces monorepo (018bdbd)

BREAKING CHANGE

The package has been restructured into a monorepo using npm workspaces. The package name and API remain the same, but the repository layout has changed.

Other Changes

  • feat: add rescript-signals-react package (463bafc)
  • chore: update licenses (30a0f02)

rescript-signals-react v1.0.0

19 Apr 13:43

Choose a tag to compare

Initial Release

React adapter for rescript-signals using useSyncExternalStore.

Features

  • useSignalValue — subscribe a component to a signal's value
  • useSignal — create a component-local signal
  • useComputed — create a derived signal within a component
  • useComputedWithDeps — deps-aware derived signal that rebuilds when React deps change
  • useSignalEffect — run signal-tracking effects tied to component lifecycle

v2.1.0

07 Apr 20:52

Choose a tag to compare

2.1.0 (2026-04-07)

  • feat: use ReScript namespacing for Signals (3e8b8bd)

v2.0.0

04 Apr 06:07

Choose a tag to compare

2.0.0 (2026-04-04)

  • feat!: make Effect.run fire-and-forget (831f353)

BREAKING CHANGE

  • Effect.run now returns unit instead of
    disposer. If you need to manually dispose an effect, use
    Effect.runWithDisposer instead.

Migration guide:

Before:

let disposer = Effect.run(() => {
  Console.log(Signal.get(count))
  None
})
disposer.dispose()

After:

let disposer = Effect.runWithDisposer(() => {
  Console.log(Signal.get(count))
  None
})
disposer.dispose()

If you don't need the disposer, no changes are required:

Effect.run(() => {
  Console.log(Signal.get(count))
  None
})

v1.3.4

29 Mar 18:52

Choose a tag to compare

1.3.4 (2026-03-29)

  • fix: strip dev sources from rescript.json during npm pack (#20) (be26da0), closes #20
  • docs: add active page highlighting in sidebar (8240b6d)
  • docs: add breadcrumbs navigation (ef06eef)
  • docs: add copy-to-clipboard button to code blocks (ff33fc4)
  • docs: add docs-website for GitHub Pages (158a932)
  • docs: add Edit on GitHub links to all pages (cfa5933)
  • docs: add Previous/Next page navigation (62a0784)
  • docs: add scroll to top button (63e3ed5)
  • docs: add search functionality to docs website (20fa316)
  • docs: enable SSR prerendering for docs website (#15) (975185c), closes #15
  • docs: fix duplicate headers on docs pages (#19) (0d8b2d6), closes #19
  • docs: fix routing for GitHub Pages by setting router basePath (7b7f4ae)
  • docs: fix SSR and add GitHub Pages SPA routing support (#17) (e2f039c), closes #17
  • docs: fix SSR compatibility by guarding browser APIs (#16) (962c09f), closes #16
  • docs: fix vite config (bcd6b9a)
  • docs: footer adjustments (2b8a42f)
  • docs: improve docs-website with conditional sidebar and release notes (44fba46)
  • docs: redesign homepage and improve documentation styling (#13) (90161c3), closes #13 #0d1117
  • docs: redesign website with xote-style layout and purple theme (#14) (cb20cfc), closes #14
  • docs: switch from mountById to hydrateById for SSR (7712e01), closes #app
  • docs: update README.md (73063e7)
  • docs: update README.md (4356082)
  • docs: update xote and basefn (013caa0)
  • chore: add homepage link (b15fc5c)
  • chore: save benchmarks results in json files (88221c7)
  • chore: update zekr (e187e69)
  • ci: add GitHub Pages deployment workflow (6d5aec8)
  • test: replace TestFramework with Zekr (34d339c)

v1.3.3

21 Jan 21:47

Choose a tag to compare

1.3.3 (2026-01-21)

  • perf: unify computed observer and subs into single structure (f5d0ad1)

v1.3.2

21 Jan 21:30

Choose a tag to compare

1.3.2 (2026-01-21)

  • chore: add benchmark script (cfc2a7c)
  • perf: a few performance updates (41b2f27)
  • perf: eliminate Map lookups and level recompute (2bb0a5a)
  • perf: eliminate map lookups on signal read (b3ad10f)
  • perf: optimize computed creation path (3d84e36)
  • perf: replace observer tracking with linked lists (bc80675)
  • perf: skip sorting when observers at same level (1a406d3)
  • fix: remove @rescript/core as dep (008e5fe)