- Internal - Added sidecar logs
- Performance - Added DHT persistent cache
- CLI -
pear dump --dry-run
flag
- Desktop - Forced teardown fix for Pear Desktop apps that take longer than 15 seconds to close
- Dependencies - udx-native updated to 1.13.3
- Internal - Block of spindown while platform is updating
- Desktop - Fix teardown of worker on app exit
- Desktop - Decal run from disk bug fix
- Desktop - Decal bar bug fix
- API - Removed deprecated preferences methods from Pear API
- Internal - Added RocksDB native support
- CLI - Support for Encrypted Applications in
pear run
,pear stage
,pear dump
,pear init
,pear seed
andpear info
- unlock via password input w/--no-ask
opt-out - Desktop - Password input dialog for Encrypted Applications
- CLI -
pear touch
- Create Pear Link. Advanced. Combine withpear stage <link>
andpear release <link>
. Useful for automation since no channel name is required
- CLI -
pear stage --name
andpear seed --name
flag fix - API - untrusted worker on first run fix
- Desktop -
ERR_HTTP_NOT_FOUND
404 response from the sidecar when a requested file is not found - Mac - traffic lights visibility fix
- Desktop - GUI configiguration can take numeric strings as values
- CLI -
pear dev
deprecated. Usepear run --dev
instead - Desktop - add support for
https://*
andhttp://*
in the package.json configpear.links
- Desktop - update Windows
pear-ctrl
icons - Desktop - added
--trusted
hidden flag torun
command - Desktop - Add
no-cache
to sidecar request headers - Desktop - zombie processes reduction measures: IPC lifecycle improvements + heartbeat
- Windows/Linux - Avoid OS/Electron issues by disabling the sandbox (already unused), the
--sandbox
flag can be used to re-enable - Performance - 3x speedup with concurrent Hyperbee gets in application loading flow
- Performance - application boot speed regression fix, package lookup for worker trusted links
- Performance -
pear info
concurrent Hyperbee gets
- API -
Pear.worker(link, args)
- pass app args to worker with secondargs
parameter, setsPear.config.args
- API -
Pear.wakeups()
includesfragment
ofpear://link#fragment
(location hash without the#
prefix) - API -
Pear.wakeups()
includesentrypoint
ofpear://link/some/entry/point
(URL pathname) - API -
Pear.reload()
soft-restart terminal apps (keeps I/O), refresh app in desktop apps - API -
Pear.versions() -> { platform, app, runtimes }
runtimes.bare
,runtimes.pear
andruntimes.electron
SemVers - CLI -
pear init [flags] <link|type=desktop> [dir]
initialize from templates at pear:// links - CLI -
pear dump
dump to stdout - CLI -
pear dump
dump from entrypoint - CLI -
pear run --links <kvs>
- key-value overrides ofpackage.json
pear.links
- IDE / Types -
pear-interface
dev-dep autosyncing to current platform Pear API for synchronized IDE autocomplete support - Diagnostics - pear://doctor alias
- CLI -
pear seed <link>
, reseeding fix - CLI -
pear run --unsafe-clear-app-storage
fix - CLI -
pear run --unsafe-clear-preferences
fix - CLI -
pear run
- only set NODE_ENV production when not dev mode - Desktop - setPosition edge-case guard
- Desktop - re-enable decal loader titlebar and window controls
- Reporting - client-side reporting-to-sidecar state-fix
- CLI -
pear run [flags] <link|dir> [...app-args]
- fix forlink [...app-args]
on Windows
- Electron - upgrade to 31.2.0
- Performance - memory usage optimization with global corestore cache
- API -
Pear.worker
- Worker now inherits flags passed topear
which creates equivalentPear.config
state in Worker - CLI -
pear -v
improved output - CLI - electron and pear SemVers added to
pear versions
- Desktop - Not Found default screen
- Desktop - teardown fix
- Wakeup & Config - linkData fix
- Restart - --storage flag in restart flow bug fix
- Trust - fix to pear:// links
- CLI - fix --storage flag
- CLI -
pear run
-d
alias for--dev
flag - CLI / Deep-Links - support for
pear run pear://<key>/entrypoint/subpath
,pear run file:///path/to/project/entrypoint/subpath
,pear run ./relative/path/to/entrypoint
. Allows for deep-link paths in Pear Applications, eg a user link click of pear:///some/entrypoint opens the application from that entrypoint. - CLI -
pear shift
- move application storage between apps - CLI -
pear gc releases
- clear inactive releases - CLI -
pear gc sidecars
- clear any inactive running sidecars - API -
Pear.worker.run(link)
- spawns a worker process from a pear link - API -
Pear.worker.pipe()
- opens a pipe when the process is a worker - CLI -
pear info <channel> [dir=cwd]
- if an app has been staged, its info can be retrieved by - Config -
pear.links
- pear:// & http(s):// links application allowlist - CLI -
pear info
--key
flag, display key only - CLI -
pear info
--full-changelog
show full changelog in info output - CLI -
pear info
--changelog
show changelog only - CLI -
pear info
--metadata
show metadata only - CLI -
pear info
--json
flag for info in JSON format - CLI / Config -
pear.previewFor
package.json
config field cannot be released withpear release
(staging only feature) - API -
Pear.key
&Pear.config.key
as buffers
- Desktop Apps - Consistent localstorage by binding to known port (9342)
- CLI - pear-cli bootstrap command (
npx pear
) moved out to own repo - Sidecar Refactor - into subsystem folder
- IPC Refactor - async generators handlers in sidecar to streamx streams
- CLI Refactor - onto
paparam
, simplified CLI output, flag and argument validation - Windows - Localdev (development on pear) - ps1/cmd pear files for pear.dev equivalents on Windows
- Linux - irrelevant log filtering
- Errors Refactor - move from hard coded error codes to Errors class
- Desktop Apps - right click support for copy/paste, right click Inspect Element when in dev mode
- Windows - pear://runtime link --detached fix
- Windows - cross-drive run/stage/dump fixes
- Terminal Apps - hanging close when no ipc-calls bug fix
- OS - link clicking when app is active, detached wake-up fix
- Sidecar & Run - update bails treated as trust bails fix
- Hypercore - bump for roundtrip request ids fix
- API - Pear.teardown and internal unloading IPC fix
- API -
Pear.media.access.screen()
fix
- API -
Pear.media.access
andPear.media.status
API fixes - Hypercore - race condition upon block cancellation during validation fix
- package.json config
pear.previewFor
support
- Windows - multiple platform instances fix, unique pipes
- Hypercore - dependency update for updater fixes
- libudx - app start-up hanging bug-fix
- CLI -
pear versions
hanging fix - teardown - sigterm exit code fix
- IPC Refactor from
jsonrpc-mux
topear-ipc
- deprecated dead-code removal (import 'pear' -> global.Pear)
- Windows & Linux - deep link click handling
- Windows - icon fix, shows appling icon
- Decal - constants in decal error fix
- Bare - always link vcruntime statically
- Bare - custom inspect
- Bare - fixes issues relating to early exiting
- Updates - phantom update fix
pear release
updates release watching pre-init fix to post-initpear info
changelog ordering- in-app link clicking of pear:// links
- wakeup fixes
pear init -t terminal --with node
to create a Node.js-like Pear Terminal Apppear run <key>
now only runs explicitly trusted keys, also--no-ask-trust
flag to auto-decline unknown keyspear run --detached
attempts to wake running app instance else runs app detached, prefers appling if availablepear info <key>
topear info [key]
. When no key is providedpear info
now outputs Pear infopear info [key]
now also outputs latest changelogPear.teardown
now supported in Pear Terminal Appspear run --devtools
- open devtools on start, defaults to enabled in with--dev
flag, otherwise disabledpear run --updates-diff
- include diff arrays in state passed toPear.updates
API, defaults to enabled in with--dev
flag, otherwise disabledpear run --no-updates
- do not trigger Pear.updates API. When running from a directory, filesystem updates will be ignored, when running from a key any stage/release updates will be ignored.
- Windows -
pear init
input validation fix - Windows - terminal output fixes
- Mac - deep link click handling when application instance is already opening
- Application
pear release
marking, running, watching fix - Decal Reporter fix
<pear-ctrl>
added to Desktop example<pear-ctrl>
added to pear init Desktop template- usage: pear run / pear dev clarifications
- more update flow tests
First public release 🍐