Skip to content

ZenNotes for Android 1.1.28: lists, tasks and callouts fold, and the Cloud settings question fits the screen

Choose a tag to compare

@adibhanna adibhanna released this 29 Sep 20:41
· 48 commits to main since this release
b23cf86

ZenNotes for Android 1.1.28 (versionCode 31): the shared ZenNotes core moves from 2.56.1 to 2.58.1. List items, tasks and callouts fold, and the Cloud settings question fits the phone screen.

What changes on the phone

  • Fold list items and tasks (ZenNotes/zennotes#848). Bullets, numbered items and tasks with indented details collapse to their first line. Edit and Read have disclosure arrows, and folded items keep theirs visible. Folding leaves the Markdown and the task status alone.
  • Foldable callouts (ZenNotes/zennotes#853). > [!note]- Details starts closed and > [!tip]+ Details starts open. Tap the title in Read or its chevron in Edit. A callout without either marker stays expanded.
  • The Cloud settings question fits the screen (#88). When Cloud finds vault settings that differ between devices, the dialog put its buttons below the bottom of the screen, so the question could not be answered. It is now capped to the visible screen: only its list scrolls and its footer wraps, at any text size.
  • More room in Atlas (ZenNotes/zennotes#861). Notes added after the first visit get space beside the notes they link to, and reopening a saved map separates linked notes that the old placement piled together.
  • More reliable note opening and refreshes (ZenNotes/zennotes#863). Shared note-open actions hand focus to the editor, and refreshes keep open notes that have unsaved text.

Under the hood

Core packages: @zennotes/app-core 2.58.1-core.h87d94b8810f1f1d1, @zennotes/bridge-contract and @zennotes/shared-domain 2.58.1-boundaries.heab3fee5cb1fe45a, built with a clean tree from ZenNotes/zennotes 178fab2b (the desktop's 2.58.0 release plus the #88 dialog fix; core release core-2.58.1-core.h87d94b8810f1f1d1). Adopted with npm run core:adopt, which checks every archive's SHA-256 and SHA-512 against its provenance and that all three record that source commit; the boundary check passed without an override. The iPhone app 1.15.0 ships the identical archives. Outside the core pins, only version numbers changed (android/app/build.gradle, the bridge's version fallback, package.json): no shell code, dependency, permission or native changes.

Installing the APK

zennotes-1.1.28-universal.apk is the Google Play-signed universal APK for 1.1.28 (31), Android 7.0 and later, downloaded from Play Console's App bundle explorer and attached exactly as downloaded: 31,793,617 bytes, SHA-256 b18b1a7962662fbb342a75d5219432605b2613e8ef73486d65e335b9f0a55ed0. aapt2 dump badging reads md.zennotes versionCode 31, versionName 1.1.28, minSdkVersion 24, targetSdkVersion 36; apksigner verify --print-certs signer SHA-256 9f1af3a4b6b11156a6b1f49e1a54bcaecef480f18eab1692a3bd8f416af6ae50, the same certificate as every release since 1.1.22; no CHECK_LICENSE or pairip entries. Sideloaded installs do not self-update; use Obtainium. The same version is live on Google Play.

Validation

Release branch release/1.1.28 (0d5e877 adopt core 2.57.0, d1af62c bump, cf6a30f adopt core 2.58.1), merged as PR #87 (b23cf864, the same tree as cf6a30f). On the release tree: package boundary check without an override, typecheck, 162 unit tests, production audit, production build, Capacitor sync, JDK 21 unit tests, lint and a debug APK, then the signed release bundle (zennotes-1.1.28-vc31.aab, 31,540,393 bytes, SHA-256 2c501ef119c83f697e180c2bff25d75c0d42cc8fcd35dd08bc2fae0468f87e9c, upload key unchanged). CI run 36609487995 passed: the build and boundary job, and the emulator job's instrumentation tests on an API 35 emulator after one re-run (the first attempt's unaccelerated emulator took 509 seconds to boot and failed before the app was installed). #88 was reproduced first in the shared web client at 393 × 851 and 360 × 640 with text at 100%, 115% and 130%, then verified fixed at each size. Submitted to Google Play production on September 29, 2026 at 19:10 UTC, 100% rollout, all targeted countries; approved and live the same day. No local Android emulator pass this cycle; coverage is not physical-device certification.