LogoPear Docs

Release Overview

Curated overview of releases across Pear, Bare, and their modules—breaking changes, removals, and additions, with migration guidance for each.

A curated record of changes across Pear and its modules, newest first. Entries are grouped by module, and every Breaking item links to migration guidance. 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. To publish release notes for your own app instead, ship a CHANGELOG.md—see Publish a changelog for your app.

2026-07-30 — Pear 3.1.0 and module updates

Pear 3.1.0 is the first feature release on top of Pear v3 (below). Nothing in it is breaking: it adds core inspection, speeds up vanity key generation, and fills in reporting gaps left by the v3 restructure.

pear (CLI) — v3.1.0

  • Added: pear cores lists an application's cores—one pear:// link per core, suffixed (writable) when this device holds the key pair—followed by a totals summary.
  • Added: pear touch --vanity generates vanity keys across multiple threads instead of one.
  • Changed: pear info now reports productName, version, upgrade, and verlink.
  • Changed: pear multisig asks you to confirm the password before it is used.
  • Fixed: pear info and pear changelog output corrections, and password prompts no longer ignore backspace.
  • Sidecar errors are now persisted rather than lost with the process—see Sidecar logs.

pear (CLI) — v3.0.1

  • Fixed: pear build resolves package-relative paths correctly.
  • Fixed: Linux runs check for libatomic up front instead of failing later.
  • Fixed: pear install guards against an unset SHELL.

pear-runtime-updater — v3.3.0

  • Added: a network monitor, so the updater reacts to connectivity changes.
  • Fixed: errors raised when closing during an update, or immediately before one started.

pear-build — v1.1.1

  • Fixed: package.json is read and parsed directly instead of via require, which fixes package-relative resolution during pear build.
  • Added: test coverage for win32-arm64.

pear-install — v1.2.2, v1.2.1

  • Fixed (v1.2.2): pear install guards against an unset SHELL when detecting your shell config.
  • Added (v1.2.1): Node 20 and 21 support, and --timeout <seconds> now works as documented.

Hypercore — v11.34.0–v11.35.1

  • Changed (v11.34.0): the tree-node proof cache is enabled, cutting repeated proof work for peers that serve many connections.
  • Added (v11.35.0): a manifest can be supplied as a raw buffer.
  • Fixed (v11.35.1): the idle range-completion scan.
  • Fixed (v11.34.1): the latest batch is always selected.

Hyperdrive — v13.3.3

  • Fixed: drive.download() and drive.has() silently stalled or fetched the wrong data for entries written with dedup: true. Those entries store blobs as a non-contiguous block map rather than a contiguous range, and the contiguous form was being used for every entry. downloadDiff() had the same bug.

HyperDHT — v6.33.0

  • Fixed: relayed server connections now inherit connectionKeepAlive the way direct sockets already did, and a relay-to-direct upgrade sends an explicit handoff packet so the peer observes the direct path before the relay is torn down.
  • Fixed: a LAN shortcut no longer blocks hole-punch fallback, and relay sockets close once a direct connection is established.
  • Removed: the internal global.Pear reference, following the v3 removal of the ambient Pear API.

Corestore — v7.12.0, v7.11.1

  • Changed (v7.12.0): suspend() no longer performs an implicit flush. Write-ahead-log filtering makes reopening cheap, so the flush is no longer needed on every suspend.
  • Added (v7.11.1): a treeCache option for tuning Hypercore's tree-node cache—raise maxSize on peers that serve more connections than usual.

2026-07 — Pear v3

Pear v3 completes the split announced in Pear Evolution: the runtime moves out of the CLI and into the embeddable Pear OTA (pear-runtime) library, and the CLI focuses on deployment and installation.

pear (CLI) — v3

  • Breaking: pear run removed. Launch applications by embedding Pear OTA instead—see Migrate from pear run to Pear OTA. Running it now exits with pear run has been removed.
  • Breaking: pear release removed. The single-key release pointer is replaced by quorum cosigning—use pear provision + pear multisig.
  • Breaking: pear presets, pear shift, and pear drop removed. For resetting an app's storage, see Manage installed applications.
  • Breaking: the ambient global.Pear API is gone with pear run. The Pear API page is retained for reference only.
  • Breaking: --no-ask (all commands), pear stage --compact, and pear sidecar --mem/--key flags removed; pear data slims down to dht and multisig subcommands.
  • Breaking: pear://<alias> shorthand links removed. Refer to applications by their full pear://<key> link.
  • Added: pear install <link> installs applications from peers directly into the OS application folder (provided by pear-install).
  • Added: pear multisig keys paths, pear info --multisig, pear sidecar shutdown|inspect, and pear gc cores [link].
  • Changed: pear build is now provided by the standalone pear-build module.
  • Changed: pear seed reports whoami and drive length, encodes all keys as z32, and cleans up its colored output.
  • Fixed: pear stage --truncate, first-run pear dump failures, and several pear seed edge cases.

pear-runtime (Pear OTA) — v1.3.1

  • The embeddable OTA-update library is now branded Pear OTA in these docs; the package name stays pear-runtime.
  • Constructor accepts store + swarm (supply your own Corestore/Hyperswarm, together), storage, delay, and bundled options—see the Options reference.
  • PearRuntime.run() workers started from a Bare process run as Bare threads; thread workers do not expose IPC.stdin/stdout/stderr.

See also

On this page