Repository navigation
Version 1.1.42, versionCode 45, October 19, 2026, following 1.1.41 (44). PR #122 carries 0c5ea6f; the signed bundle zennotes-1.1.42-vc45.aab (37,976,713 bytes, SHA-256 6a46444baae01578e84c0f16034e9d20074da0aa98f237e8462d060f4e8edf76) was built from tag v1.1.42 (d0259b7), whose tree 358db24 equals that of 0c5ea6f.
What changes on the phone
- Task folders. Under Settings, Tasks, name the folders your tasks live in, and only checkboxes in notes inside them feed Tasks, the boards and the calendars; every other checkbox stays a plain checkbox. The phone now honors the excluded folders too, inside the Task folders as well, and both lists follow a renamed folder (ZenNotes/zennotes#962).
- Cloud messages you can act on. Every ZenNotes Cloud problem now says what happened, whose side it was on and what to do, with the technical line under Details.
- A device away for months catches up by itself. A phone that has not synced with Cloud for more than 90 days rebuilds its file list and keeps the edits it made while away.
- Blocks opened in a quote or callout stay in it (ZenNotes/zennotes#961), and a pasted screenshot is named for when you pasted it,
Pasted Image <date> <time>.png, instead ofimage.png(ZenNotes/zennotes#775).
Under the hood
Core core-2.72.0-core.h2a3462a340c755ce was built by CI from ZenNotes/zennotes 3792c985 (the v2.72.0 release commit, run 39314706788); core:adopt checked SHA-256, SHA-512, packed versions and clean-source provenance. The phone's own vault code mirrors the desktop for Task folders (tasks.includedFolders beside excludedFolders, one rule for both, rewritten on a folder rename), and its pasted-image naming now calls the shared pastedImageFilename instead of a local copy. The rest of ZenNotes 2.72.0 is desktop-only (the bundled zn 0.9.0, the input-method guard in the desktop's extra windows); no new bridge method, palette command or long-press entry.
Source: branch release/1.1.42 from main 59406a0 (Dependabot's production group from #121: @capacitor/filesystem 8.1.5, dompurify 3.4.17, function-plot 1.26.0), two commits: 3e5f9ef (core 2.72.0, Task folders in the phone's vault, the shared pasted-image name; the encryption test now asserts the wrong-key code, since the core reworded that message) and 0c5ea6f (1.1.42, versionCode 45).
Validation
- Typecheck and 294 JavaScript tests passed;
npm run upstream(boundaries and typecheck),npm run buildandnpm run syncpassed;bundleReleasewas signed with the upload key on JDK 21, and the bundle readsmd.zennotes45 / 1.1.42, min 24, target 36, with the same three permissions as 1.1.41. CI on #122 passed, including the emulator launch job.
Play Console submission
1.1.41 (44) was live. Production, Create new release: the AAB was dropped in by Adib and processed as 45 (1.1.42): API 24+, target SDK 36; no devices lost or added (12,379 phones, 6,803 tablets); 3.52 MB update; only the usual "no deobfuscation file" warning. Release notes inside <en-US> tags, rollout 100%, saved, and sent for review on the afternoon of October 19 (CDT). Managed publishing is off, so Google publishes it on approval.
PR #122 merged as d0259b7 (merge tree equals 358db24, the tree of 0c5ea6f); lightweight tag v1.1.42. This release carries Play's signed universal APK from App bundle explorer as zennotes-1.1.42-universal.apk: 38,220,842 bytes, SHA-256 2461077143338d536ad12e48f7e432143836c81a5af73bbe9d09f1dfbc159e48, md.zennotes 45 / 1.1.42, min 24 / target 36, signer 9f1af3a4… as since 1.1.22, the same three permissions as 1.1.41, no CHECK_LICENSE or pairip.
How to test locally
npm ci && npm run build && npx cap sync android, then openandroid/in Android Studio and run on a device or emulator.- In a note, add
- [ ] insideto a note ininbox/Tasksand- [ ] outsideto a note elsewhere. Settings, Tasks, Task folders: addinbox/Tasks. Before: Tasks listed both. After: onlyinside; remove the folder andoutsidecomes back. - Rename
inbox/Tasksfrom the drawer: the Task folder in Settings follows the new name. - Paste a screenshot into a note. Before:
assets/image.png, thenimage 2.png. After:assets/Pasted Image <date> <time>.png.