Bare Docs

Release Overview

Curated overview of releases across Bare's building-block and helper modules—breaking changes, removals, and additions.

A curated record of changes across Bare's runtime and ecosystem modules, newest first. For the raw upstream record, see each module's GitHub releases; this page is the docs-team view of what the changes mean for your application.

Looking for pear CLI or pear-* module releases instead? See Pear's release overview.

2026-09-30 — Bare v1.34.1

  • Breaking: the minimum macOS is now 13.0 (was 12.0) and the minimum iOS is now 15.0 (was 14.0), in a patch release. See Supported platforms.
  • Changed: bundles bare-module v7.2.0, which adds loader.patch() and loader.evict() for cache eviction and accepts an imports attribute in require.resolve() and import.meta.resolve().

2026-09-28 — Bare v1.34.0

  • Added: bare_poll(), which runs the event loop without blocking so a host loop that owns the thread, a UI run loop for example, can drive Bare. See Embedding.
  • Added: bare_attach() and bare_detach(), for calling into JavaScript from embedder code that Bare did not call. See bare_attach() and bare_detach().
  • Changed: bundles bare-module v7.1.0, which exposes the graph-wide resolutions map as module.resolutions, along with bare-subprocess v6.2.0, bare-structured-clone v2.0.1, and bare-type v1.4.0.

2026-09-14 — Bare v1.33.0

  • Added: an embedder context API, letting the embedder pass state to addons. Reaching it from a deferred new Addon() call needs v1.33.2.
  • Fixed (v1.33.1): a prefix with a trailing / is always treated as a directory.
  • Changed: bare-module is bumped to v7, so the module system no longer carries its own file system read capability—the embedder must pass one in. See the threat model for what this changes.
  • Changed: resolutions and imports are no longer read from module.

2026-09-07 — Bare v1.32.0

  • Added: Bare.Addon.seal(), letting an embedder permanently freeze dynamic addon loading in a process after loading a trusted set of addons—so any JavaScript that runs afterward can't bring in new native code. Statically linked addons are unaffected, and Bare.Addon.sealed reports whether the process is sealed.
  • Added: new Thread(callback) runs a function body on the new thread, and new Thread(filename, source[, options]) takes the source positionally. See Bare.Thread.
  • Deprecated: ThreadOptions.source, in favor of the positional form. Thread.create() stays deprecated, as it has been since v1.31.0—use new Thread().

2026-09-01 — Bare module updates

bare-type — v1.1.1

  • Breaking: type.createTag(), type.addTag() and type.checkTag() removed, with no replacement, in a patch release. See bare-type.

2026-08-04 — Bare v1.31.0

  • Deprecated: Addon.cache, Addon.resolve(specifier), and Addon.load(url), in favor of new Addon(url), and Thread.create(), in favor of new Thread(). bare-module v7 will use the new API to take over addon resolution, initialization, and caching.

2026-07-01 — Bare v1.30.0

  • Added: TypeScript module support.
  • Changed: module caches are isolated; addon resolution now relies only on bare-module's public API.

Patch releases in this window (dependency bumps, prebuild updates) and most of Bare's ecosystem modules (bare-buffer, bare-http1, bare-inspect, etc.) aren't covered yet—that backfill is in progress as a separate effort across Bare, P2P, and Pear. See each module's GitHub releases for the raw upstream record in the meantime.

See also

Last updated on

Was this helpful?

On this page