Skip to content

ZenNotes for Android 1.1.45: new notes at once in large folders

Choose a tag to compare

@adibhanna adibhanna released this 23 Oct 17:08
· 9 commits to main since this release
65fda06

Version 1.1.45, versionCode 48, October 23, 2026, following 1.1.44 (47). PR #131 carries 0f26de6; the signed bundle zennotes-1.1.45-vc48.aab (37,985,719 bytes, SHA-256 e4840b02d95e0c4d66fa2824711bfea0c781807f8738f8eb0a6527871f1f48b4) was built from that commit, whose tree ce3bba5 equals that of tag v1.1.45 (65fda06, the merge of #131).

What changes on the phone

  • A new note, quick note or task opens as soon as you tap (#128). On a large vault in a folder you picked (one kept in sync by Syncthing, say), New note and Quick took 12 to 15 seconds and a new task longer, because each one listed the whole folder tree several times over and the task scan read every note. Overlapping listings are now shared (#129), a note is read for its tasks only when it changed, and core 2.75.0 opens the note before the list catches up. On an emulator with a 1,700-note picked folder: New note 5.1 s to about 0.3 s, Task added 13.4 s to about 0.3 s, and a return to the app does a quarter of the folder reading it did.
  • A note named with "..." no longer breaks a picked folder (#130). A desktop quick note whose first line ended "...comes up... a brain dump." became a file the phone refused as "escaping the vault": Cloud sync stopped, and the whole folder showed as empty. Only a real ../ path is refused now. Reported on Discord by Dave.
  • Note search shows each note's folder (ZenNotes/zennotes#982), [[ in a table cell suggests your notes (ZenNotes/zennotes#977), and a deep note keeps its title readable in the header (#126), with a rename field as wide as the name.

Under the hood

Core core-2.75.0-core.h4b1bd3ddd69c2aab was built by CI from ZenNotes/zennotes 7e6506db (the v2.75.0 release commit, run 39985956672); core:adopt checked SHA-256, SHA-512, packed versions and clean-source provenance. No new bridge method, palette command or long-press entry; the bridge contract changed only its version.

Source: branch release/1.1.45 from main 3156f16 (the merges of #129 and #130), two commits: 68a856d (core 2.75.0) and 0f26de6 (1.1.45, versionCode 48).

Validation

  • npm run upstream (boundaries and typecheck), 306 JavaScript tests, npm run build and npx cap sync android passed; bundleRelease was signed with the upload key on JDK 21, and the bundle reads md.zennotes 48 / 1.1.45, min 24, target 36, with the same three permissions as 1.1.44.
  • CI on #131: the build job and the emulator launch job passed on the first run.
  • The #128 and #130 fixes were each reproduced and verified on an API 36 emulator over WebView CDP before they merged (see #129 and #130).

Play Console submission

1.1.44 (47) was live. Production, Create new release: the AAB was dropped in by Adib and processed as 48 (1.1.45): API 24+, target SDK 36; no devices lost or added (12,413 phones, 6,816 tablets); 3.68 MB update; only the usual "no deobfuscation file" warning. Release notes inside <en-US> tags, rollout 100%, saved, and sent for review on October 23 (CDT). Managed publishing is off, so Google publishes it on approval.

PR #131 merged as 65fda06 (merge tree equals ce3bba5, the tree of 0f26de6); lightweight tag v1.1.45. This release carries Play's signed universal APK from App bundle explorer as zennotes-1.1.45-universal.apk: 38,229,235 bytes, SHA-256 d465c9afbed429b15519973cf01ce17bd19c561197e9cc0e535797b3f44b4ae7, md.zennotes 48 / 1.1.45, min 24 / target 36, signer 9f1af3a4… as since 1.1.22, the same three permissions as 1.1.44, no CHECK_LICENSE or pairip.

How to test locally

  1. npm ci && npm run build && npx cap sync android, then open android/ in Android Studio and run on a device or emulator.
  2. Pick a large folder as a vault (New Vault…, Choose Folder…), then tap the circle and Note: the note opens at once. Before: several seconds on a large folder.
  3. Put a note named Ends with... a dump..md in that folder: it is listed, opens and saves. Before: the folder showed as empty.
  4. Tap the circle, Search, and type part of a note name that two folders share: each row shows its folder.