Release 1.16.0 (build 31): adopt core 2.60.0 - #37
Merged
Merged
Conversation
Align the iPhone shell with the shared packages from desktop release commit e59e141b. Verify all three archives against SHA-256, SHA-512, packed versions, and clean-source provenance before updating the vendor files, dependency pins, lockfile, and README. TypeScript, 125 tests, native compilation, and the three deep-link and favorite simulator tests passed.
Align the iPhone shell with the shared packages from desktop release commit 15829394 (ZenNotes 2.60.0, core-2.60.0-core.hb0d0b54f320a8e3f), replacing the 2.59.0 set this branch adopted. tooling/adopt-core.mjs verified all three archives against SHA-256, SHA-512, packed versions and clean-source provenance before updating the vendor files, dependency pins, lockfile and README, and the core boundary check passed. TypeScript, 125 tests, the production web build and Capacitor iOS sync passed; Xcode built the app and test targets for an iPhone 17 Pro Max simulator on iOS 27, and DeepLinkUITests and FavoriteUITests passed (3 tests).
adibhanna
force-pushed
the
chore/core-2.59.0
branch
from
October 1, 2026 19:21
5b8efe2 to
460e826
Compare
renovate Bot
added a commit
to scottames/copr
that referenced
this pull request
Oct 1, 2026
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ZenNotes/zennotes](https://redirect.github.com/ZenNotes/zennotes) | minor | `2.58.0` → `2.60.0` | --- ### Release Notes <details> <summary>ZenNotes/zennotes (ZenNotes/zennotes)</summary> ### [`v2.60.0`](https://redirect.github.com/ZenNotes/zennotes/releases/tag/v2.60.0): ZenNotes v2.60.0 [Compare Source](https://redirect.github.com/ZenNotes/zennotes/compare/v2.59.0...v2.60.0) ZenNotes 2.60.0 keeps its command-line tool up to date on its own, makes switching notes fast again in large vaults with lots of links, and bundles CLI 0.6.2 on macOS and Linux. Released from [`15829394`](https://redirect.github.com/ZenNotes/zennotes/commit/158293947e451f2a88011ddf647517c847cc0a76) through [PR #​882](https://redirect.github.com/ZenNotes/zennotes/pull/882) on October 1, 2026. All installers are verified. #### Features - **zn updates itself.** For a `zn` installed from Settings → CLI, ZenNotes checks the latest CLI release once a day and installs it when it is newer, so CLI fixes no longer wait for a ZenNotes release. Every release carries a manifest signed with the ZenNotes release key; ZenNotes checks the signature and the download's checksum and runs the new `zn` once before switching to it, so a failed or tampered download never replaces a working CLI, and the previous version stays on disk. The `zn` a ZenNotes build ships is its floor. Settings → CLI → Updates shows the installed and bundled versions, has **Check for updates**, and a switch to be told instead of updating automatically; **Check for zn Updates…** is in the command palette. Homebrew, Go and manual installs keep their own installer. - **Open CLI Settings** in the command palette now opens the CLI page instead of whichever Settings page was open last. #### Fixes - **Switching notes no longer freezes in large vaults.** The status bar's backlink count used to check every link in the vault against every note each time you opened a note, which took about five seconds in a 6,577-note vault with 13,672 links. ZenNotes now builds its link index once and looks the count up, so opening a note, or going back to one already in a tab, is immediate. Backlink counts and which note a link opens are exactly as before. Thanks to [@​yfernandes](https://redirect.github.com/yfernandes) for the profile and diagnosis ([#​880](https://redirect.github.com/ZenNotes/zennotes/issues/880)). - **CLI 0.6.2 is bundled with the desktop app.** It includes 0.6.1's fixes: `zn vault list` marks each entry `app` (saved by the desktop app) or `terminal` (saved by zn), so `zn vault remove`, `zn disconnect` and `zn use` stop being trial and error. Every command starts without waiting five seconds on terminals that never answer a background-color query, help output lines up, and a config file zn cannot read is no longer overwritten with an empty list. 0.6.2 is the first CLI release signed by its own release workflow, the manifest this app updates its managed `zn` from. [CLI 0.6.1 notes](https://redirect.github.com/ZenNotes/tui/releases/tag/v0.6.1), [CLI 0.6.2 notes](https://redirect.github.com/ZenNotes/tui/releases/tag/v0.6.2). #### Performance Click to paint on a vault shaped like the [#​880](https://redirect.github.com/ZenNotes/zennotes/issues/880) report (6,542 notes, 12,973 links), M-series Mac: | | 2.59.0 | 2.60.0 | | ------------------------------- | -------: | -----: | | Switch to another note (median) | 1,077 ms | 77 ms | | Reopen a note already opened | 1,077 ms | 61 ms | Wikilink rendering, link clicks, Atlas and the Connections panel's wikilink matching use the same index, so they stop scanning the vault for each link too. #### For contributors - `npm run perf:desktop-runtime` can seed wikilinks (`ZEN_PERF_WIKILINKS_PER_NOTE`, default 0, so default runs seed the same vault as before) and now times note switches from click until the note is on screen, with a `note switch wall p50` budget of 150 ms. The old `note.open.*` sample finishes before React renders the note, which is how [#​880](https://redirect.github.com/ZenNotes/zennotes/issues/880) passed the benchmark. On the 2.59.0 code the new metric reads 1,513.6 ms; on 2.60.0, 33.7 ms. The search step sends Ctrl+P instead of Meta+P on Linux and Windows. - CLI integration stays at protocol 1; the 0.6.2 pin is that release's signed `terminal-release.json`, copied byte for byte after verifying. - Every ZenNotes/tui release now publishes `terminal-release.json` and an [`Ed25519`](https://redirect.github.com/ZenNotes/zennotes/commit/Ed25519) signature (key `zn-release-1`, public key in that repo's `packaging/release-signing/`), built and verified by `scripts/releasemanifest` in its release workflow. The manifest uses the same schema as `apps/desktop/terminal-release.json`, so a desktop release raises its bundled CLI by copying the verified asset. A change to the CLI's integration protocol still needs a desktop release. #### Verification How to test locally: 1. Build and launch: `npm run build --workspace @zennotes/desktop`, then `npx electron apps/desktop/out/main/index.js`. 2. Open a large vault with many wikilinks (thousands of notes; links to missing notes and `folder/Note` links made the old cost worst) and click between notes in the sidebar, then click one already open in a tab. Before: a pause of about a second on an M-series Mac, several seconds on slower machines. After: the note appears at once with the same "N backlinks" in the status bar. 3. Benchmark: `ZEN_PERF_DESKTOP_NOTES=6577 ZEN_PERF_WIKILINKS_PER_NOTE=2 npm run perf:desktop-runtime`, then read `note switch wall p50`. 4. CLI: update and open ZenNotes once, check Settings → CLI for 0.6.2, then run `zn --version` and `zn vault list`. 5. CLI updates: with `zn` installed from Settings → CLI, open Settings → CLI → Updates and press **Check for updates**; it reports `zn 0.6.2 is the latest release.` The full install path (a build that ships 0.6.0 meeting the signed 0.6.1 release) is scripted in `docs/releases/v2.60.0/cli-updates/e2e.mjs`. #### Distribution channels - AUR 2.60.0-1: `93bddbf`, mirrored in `bac448ab`; tarball SHA-256 `bd0896eb...e910cc` matches GitHub's digest, the bundled CLI folder check passed, and the package checks passed on `main` and the release branch. - Homebrew: tap `0a64194`, mirrored in `2250b001`; both DMG digests match GitHub's, `brew style` clean. - Nix: `77ce3667`; hash-generation run [36896053113](https://redirect.github.com/ZenNotes/zennotes/actions/runs/36896053113) and the main rebuild [36896433936](https://redirect.github.com/ZenNotes/zennotes/actions/runs/36896433936) passed. `desktopHash` is the same tarball digest the AUR pins. [nixpkgs PR #​568334](https://redirect.github.com/NixOS/nixpkgs/pull/568334) now carries 2.57.0 -> 2.60.0 as one commit on current master and awaits upstream review. - `verify:channels -- 2.60.0` passed for Homebrew, AUR, Nix, and all seven website download routes. GitHub latest is v2.60.0. [Website PR #​53](https://redirect.github.com/ZenNotes/website/pull/53) merged at `7fda07b4`; its main tests and deploy passed, and zennotes.org/releases, /docs, /tui and /tui/docs serve the 2.60.0 content. - Self-hosted server: [znserver 2.60.0](https://redirect.github.com/ZenNotes/znserver/releases/tag/v2.60.0) embeds the 2.60.0 web client (`web-2.60.0-web.h5a4dd1242cf8c2c0`); Docker `adibhanna/zennotes:2.60.0`, `2.60` and `latest` (amd64 and arm64). - CLI: [ZenNotes CLI 0.6.2](https://redirect.github.com/ZenNotes/tui/releases/tag/v0.6.2), the bundled version, is the first CLI release signed by its own workflow; Homebrew's `zn` formula points at it. #### Release validation - Fresh typechecks passed (7 tasks, no cache); 5,553 unit tests passed, 5 skipped (shared-domain 1,700, app-core 2,859, desktop 994). - The signed local package (`npm run pack`) launched isolated with a CDP page in 1.4 seconds, reporting 2.60.0 and bundling CLI 0.6.2. Vim editor (12 checks), sidebar navigation (12) and editor improvements smoke suites passed. - PR CI: the first Windows build failed three new CLI manifest parse tests, which built their manifest for the runner's own platform and so hit "ZenNotes does not manage a CLI on this platform" on Windows. A test-only fix (`15829394`) made them name a managed platform; all 9 checks then passed on the release commit. - Release run [36888637663](https://redirect.github.com/ZenNotes/zennotes/actions/runs/36888637663): the first Linux x64 job hung for 47 minutes in "Install Linux packaging tools" before building anything, so no Linux x64 file had been uploaded. After macOS, Windows and Linux arm64 finished green, the run was cancelled and only that job re-run; attempt 2 passed in about 10 minutes. No asset was replaced. - All four update manifests and their 13 referenced files passed size and downloaded SHA-512 verification. The app in the arm64 DMG passed notarization (`Notarized Developer ID`), staple and strict deep signature checks, and its bundled `zn` reports v0.6.2. - CLI self-update: a build shipping CLI 0.6.0 updated itself from the live v0.6.1 and v0.6.2 releases with the production key, plus scripted relaunch, automatic-off, tampered-manifest and no-managed-zn scenarios on the dev and packaged builds. - Mobile core: boundary artifact [core-2.60.0-core.hb0d0b54f320a8e3f](https://redirect.github.com/ZenNotes/zennotes/actions/runs/36887215873) is adopted in [ZenNotes/zennotesios#37](https://redirect.github.com/ZenNotes/zennotesios/pull/37) and [ZenNotes/zennotesandroid#91](https://redirect.github.com/ZenNotes/zennotesandroid/pull/91). ### [`v2.59.0`](https://redirect.github.com/ZenNotes/zennotes/releases/tag/v2.59.0): ZenNotes v2.59.0 [Compare Source](https://redirect.github.com/ZenNotes/zennotes/compare/v2.58.0...v2.59.0) ZenNotes 2.59.0 bundles CLI 0.6.0 on macOS and Linux. Update and open ZenNotes once to upgrade an existing desktop-managed `zn`; Settings → CLI shows its version and offers Repair if needed. Released from [`e59e141b`](https://redirect.github.com/ZenNotes/zennotes/commit/e59e141b0b9536a514ea67694b1fbff1f3f09c8e) through [PR #​877](https://redirect.github.com/ZenNotes/zennotes/pull/877) on September 30, 2026. All installers are verified. #### Features - **CLI 0.6.0 is bundled with the desktop app.** Editable settings, restored splits and sessions, comments, attachments, templates, bulk actions, and richer task controls. Run `zn` interactively or `zn tui` to open the editor. `zn server` and `:servers` manage native local servers; `zn status`, `zn doctor`, `zn config`, and shell completion help with setup. [Full CLI manual](https://zennotes.org/tui/docs). #### Fixes - **Yank in one terminal note and paste in another.** Registers survive switching notes, opening a target, and closing the source within the same TUI session ([CLI #​4](https://redirect.github.com/ZenNotes/tui/issues/4)). - **Copy terminal diagnostics.** `:version` opens a persistent, scrollable report with CLI, OS, architecture, and optional server details. Press `c` or `y` to copy it ([CLI #​5](https://redirect.github.com/ZenNotes/tui/issues/5)). - **Cloud conflict actions stay visible.** The settings list scrolls while the title and actions stay on screen. This shared fix shipped to phones in core 2.58.1. #### For contributors - Two Windows CI flakes are addressed: delayed asset refreshes cannot outlive the test's store, and undo-history pruning is tested with a small cap instead of hundreds of atomic writes. The production history cap is unchanged. - CLI integration stays at protocol 1; all four release archives are pinned and checksummed. #### Verification How to test locally: 1. Update and open ZenNotes, then check Settings → CLI for version 0.6.0. An existing desktop-managed shortcut upgrades automatically. 2. Run `zn --version`, `zn status`, and `zn doctor`. Run `zn tui --workspace-source app` to explicitly open the desktop workspace. 3. Yank text in one note, switch to another, and paste. Run `:version`, then `c` to copy the report. #### Distribution channels - AUR 2.59.0-1: `5e4ae99`, mirrored in `d6a740df`; package checks passed. - Homebrew: tap `cf7869a`, mirrored in `fcf5fb41`; both DMG digests verified. - Nix: `bf667f3c`; hash-generation build [`3675114`](https://redirect.github.com/ZenNotes/zennotes/commit/36751141963) and main rebuild [`3675174`](https://redirect.github.com/ZenNotes/zennotes/commit/36751746123) passed. [nixpkgs PR #​568334](https://redirect.github.com/NixOS/nixpkgs/pull/568334) targets 2.59.0 and awaits upstream review; the exact nixpkgs source derivation was not built locally. - `verify:channels -- 2.59.0` passed for AUR, Homebrew, Nix, and all seven website download routes. GitHub latest is v2.59.0. [Website PR #​49](https://redirect.github.com/ZenNotes/website/pull/49) merged at `acde3b0`; the release page and CLI guide are live. #### Release validation - All four CLI archives passed checksum and architecture checks; the native probe returned 0.6.0/protocol 1. - Terminal artifact/launcher tests: 13 passed. Desktop CLI installer/runtime tests: 26 passed, 1 skipped. - Fresh typechecks passed (7 tasks, no cache); 5,534 unit tests passed, 5 skipped. The desktop production build and signed local package passed. - All four update manifests and their 13 referenced files passed size and downloaded SHA-512 verification. The downloaded arm64 Mac app passed notarization, staple, strict signature, and isolated CDP launch checks (4.9 seconds), reporting desktop 2.59.0 and CLI 0.6.0. - All 43 built-app smoke checks passed: Vim editor 12, sidebar navigation 12, editor improvements 19. - All PR checks passed. [Installer build 36749192092](https://redirect.github.com/ZenNotes/zennotes/actions/runs/36749192092) passed on every platform without retries or asset replacements. - Website: 941 local tests passed. PR CI needed one retry for a Chrome startup timeout; the retry passed without code changes. </details> --- ### Configuration 📅 **Schedule**: (in timezone America/Los_Angeles) - Branch creation - Every minute (`* * * * *`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/scottames/copr). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMjUuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjEyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
npm run core:adopt).Verification
tooling/adopt-core.mjs.npm run upstream) and all 125 tests passed.Review notes
The core release is a draft pending maintainer publication after consumer validation. Archives are vendored, so clean installs and CI work without draft-release access. The branch keeps its 2.59.0 name.