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 coreslists an application's cores—onepear://link per core, suffixed(writable)when this device holds the key pair—followed by a totals summary. - Added:
pear touch --vanitygenerates vanity keys across multiple threads instead of one. - Changed:
pear infonow reportsproductName,version,upgrade, andverlink. - Changed:
pear multisigasks you to confirm the password before it is used. - Fixed:
pear infoandpear changelogoutput 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 buildresolves package-relative paths correctly. - Fixed: Linux runs check for
libatomicup front instead of failing later. - Fixed:
pear installguards against an unsetSHELL.
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.jsonis read and parsed directly instead of viarequire, which fixes package-relative resolution duringpear build. - Added: test coverage for
win32-arm64.
pear-install — v1.2.2, v1.2.1
- Fixed (v1.2.2):
pear installguards against an unsetSHELLwhen 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()anddrive.has()silently stalled or fetched the wrong data for entries written withdedup: 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
connectionKeepAlivethe 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.Pearreference, 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
treeCacheoption for tuning Hypercore's tree-node cache—raisemaxSizeon 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 runremoved. Launch applications by embedding Pear OTA instead—see Migrate from pear run to Pear OTA. Running it now exits withpear run has been removed. - Breaking:
pear releaseremoved. The single-key release pointer is replaced by quorum cosigning—usepear provision+pear multisig. - Breaking:
pear presets,pear shift, andpear dropremoved. For resetting an app's storage, see Manage installed applications. - Breaking: the ambient
global.PearAPI is gone withpear run. The Pear API page is retained for reference only. - Breaking:
--no-ask(all commands),pear stage --compact, andpear sidecar --mem/--keyflags removed;pear dataslims down todhtandmultisigsubcommands. - Breaking:
pear://<alias>shorthand links removed. Refer to applications by their fullpear://<key>link. - Added:
pear install <link>installs applications from peers directly into the OS application folder (provided bypear-install). - Added:
pear multisig keys paths,pear info --multisig,pear sidecar shutdown|inspect, andpear gc cores [link]. - Changed:
pear buildis now provided by the standalonepear-buildmodule. - Changed:
pear seedreportswhoamiand drive length, encodes all keys as z32, and cleans up its colored output. - Fixed:
pear stage --truncate, first-runpear dumpfailures, and severalpear seededge 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, andbundledoptions—see the Options reference. PearRuntime.run()workers started from a Bare process run as Bare threads; thread workers do not exposeIPC.stdin/stdout/stderr.
See also
- Pear CLI reference—current command set with removed commands badged.
- Migrate from pear run to Pear OTA—the v3 migration path.