OverviewFilesCommitsIssuesDocsReleasesPeers

pearbrowser-desktop commits / 67135f7

docs: define PearBrowser v3 migration boundary
67135f73c70bdf9614a06759225cf3f15ecf7d65
by bigdestiny2 <33146784+bigdestiny2@users.noreply.github.com> · 2026-07-22T19:47:12.000Z

Changed files (2) +42 -11

README.md +5 -11
……@@ -27,17 +27,11 @@ The current package targets match the `cmake-pear` appling toolchain:
2727- Windows: `PearBrowser-<version>-windows-x64.msix` now
2828- Linux: `PearBrowser-<version>-linux-x64.AppImage` now, distro packages such as `.deb` later if demand warrants them
2929
30The stable Pear key remains available as the temporary legacy fallback for testers and recovery:
31
32```sh
33npm i -g pear
34pear
35pear run pear://tco5k7h38uoxatedp1wongdbhjxow1x7jiwm3t1i9cujbebhsbty
36```
37
38The key above is **content-addressed and stable**: when we ship a new release, the same key starts serving the new version. Existing installs hot-sync on next launch.
39
40> **Heads up:** `pear run` is officially deprecated in Pear runtime `v2.4.0` ("use `pear-runtime` module instead for embeddable runtime with P2P OTA updates"). It still works today, but it is no longer the recommended install path.
30The previous stable `pear://` key is a **legacy migration record**, not an
31install or launch instruction. PearBrowser never passes a remote link to
32`PearRuntime.run()`. Keep legacy data intact, install the native package for
33your platform, and use the migration guidance in
34[docs/PEAR_V3_MIGRATION.md](./docs/PEAR_V3_MIGRATION.md).
4135
4236## What's inside
4337
docs/PEAR_V3_MIGRATION.md +37 -0
……@@ -0,0 +1,37 @@
1# PearBrowser v3 migration boundary
2
3PearBrowser is moving from a v2 project launcher to a native desktop browser
4that presents verified applications and installs as distinct user actions.
5
6## What users do
7
8- Install PearBrowser from a native package and verify the published checksum.
9- Use `hyper://` drives as browsable content or sites.
10- Treat old `pear://` app links as legacy migration identifiers. They do not
11 execute in PearBrowser v3 and they are never supplied to `PearRuntime.run()`.
12- Install a compatible app only when its signed AppRelease v2 package and
13 platform target have been verified. A legacy-only app displays **Legacy app —
14 migration required**.
15
16## Runtime boundary
17
18The browser’s embedded runtime starts only a bundled local worker using the
19equivalent of `PearRuntime.run(require.resolve('./worker.js'))`. A remote
20catalogue link is discovery metadata, not executable worker input. The
21renderer cannot invoke an installer or runtime directly; those operations stay
22in the privileged local backend and require explicit user confirmation.
23
24## Data continuity
25
26Do not delete an old installation as part of migration. Preserve its user data
27until an app-specific migration adapter has completed discover, preserve,
28migrate, validate, and rollback evidence. HiveRelay durability is availability
29evidence, not a substitute for package signature or local data validation.
30
31## Release gate
32
33This source branch has removed remote legacy execution. Before it can be
34promoted as a v3 native runtime build, the pinned `pear-runtime@1.3.1` host,
35local worker boot/shutdown test, supported native package targets, and an
36approved v3 package installer flow must all be present and independently
37verified.