github Darknetzz/jotty-android v1.10.0

latest release: dev-latest
2 hours ago

Install

Download jotty-android-1.10.0.apk from this release.

Full changelog: https://github.com/Darknetzz/jotty-android/blob/v1.10.0/CHANGELOG.md


Added

  • Test connection — The add/edit instance form has a Test connection button that checks the server and API key without saving. Success shows a green check with the signed-in user, Jotty version and response time; failures explain what went wrong (server not found, refused, TLS/certificate, proxy login page, rejected key, too-old server, …) with a short list of things to check. Saving runs the same check and shows the same diagnostics.
  • Minimum Jotty version (1.25.0) — Adding or editing an instance checks the GET /api/health version and refuses servers older than 1.25.0 with “This app requires Jotty 1.25.0 or newer.” Servers that do not report a version can still connect.
  • Jotty 1.29 sharing — Share notes and checklists with users or a public link via GET/PUT/DELETE /api/shares (Jotty 1.29+). Older servers keep the text-export fallback.
  • Checklist item sort — Simple checklist detail ⋮ → Sort items (alphabetical, created, modified, or shuffle) via PUT /api/checklists/{id}/items/sort.
  • Notes from templates — Notes list overflow → New from template loads GET /api/templates and creates with templateId (online only; encrypted templates skipped).
  • In-note item links (Jotty 1.28+) — In note view mode, /note/{uuid}, /checklist/{uuid}, legacy /jotty/{uuid}, and resolved [[wikilinks]] open the linked note or checklist in the app. Unresolved titles stay plain text. Older servers without relations keep unique local-title fallback.
  • Server version compatibility warning — Settings → About warns (non-blocking) when the Jotty server’s major.minor is newer than 1.29.
  • Change category — Notes and checklists can change category from detail and list ⋮ menus (without renaming or entering full edit mode). Uses existing item update APIs.
  • Manage categories — Browse note and checklist categories (path and counts) from Settings or the notes/checklists list overflow. Folder create/rename/delete awaits a Jotty REST API.
  • Default checklist category — Settings → Behavior prefills the category when creating a checklist (parity with new notes).
  • Visual editor table editing — When the cursor is inside a table, add row/column and exit-table actions appear in the toolbar (quick buttons by default, full menu on the table button). Tab moves between cells; Enter or arrow down from the last row exits below the table. Settings → Behavior → Compact table toolbar hides the quick buttons.

Fixed

  • Jotty 1.29 attachment URLs — Note media paths /api/attachment/{noteUuid}/{name} are treated like other Jotty media (host rewrite + x-api-key), so images from migrated 1.29 notes load when the host differs from the configured instance URL.
  • Jotty 1.28 search — Unified search prefers each hit’s uuid (1.28 puts the filename slug in deprecated id), falls back to list/q while the search index is building or when ranked ids cannot hydrate, and keeps older-server behavior when uuid is absent.
  • Visual editor newlines — Pressing Enter after existing text no longer glues the next line onto the previous one when viewing or saving (WebView <div> line breaks are converted with a proper newline). Multiple blank lines (several Enters) are preserved in view mode instead of collapsing to a single gap.
  • Offline note duplicates on reconnect — Sync for a given instance is process-wide (UI + background worker share one lock). Local-only creates are re-checked in Room before POST /api/notes, so flaky reconnects no longer spawn multiple copies of the same offline note.
  • Visual editor table toolbar on Android — Table edit controls now appear for any note that contains a table (detected from note content, not only when the cursor is inside a cell). The table button opens the row/column/exit menu instead of “Insert table” on existing table notes. Delete row/column are enabled correctly for Jotty web tables (cells wrapped in <p> tags).
  • Compose lint (LocalContext resources) — Category-filter empty snackbars and the server share dialog use LocalResources instead of LocalContext.getString, satisfying the new Compose lint check from the BOM/AGP bump.

Changed

  • Checklist item rename — Renaming any checklist or Kanban item, including parent/project items and nested subtasks, now updates it in place via PATCH /api/checklists/{id}/items/{index}, keeping its position and checked state. Offline renames are queued and replayed as the same PATCH.
  • Online checklist category suggestions — The online checklists screen loads categories from GET /api/categories (same as notes), not only from currently loaded list items.
  • New notes open in the editor — Tapping + (or the home-screen widget / share-into-app) creates an Untitled note with your default category and opens it in edit mode immediately, instead of a title/category dialog.
  • Dependencies — AGP 9.4.1, KSP 2.3.12, Bouncy Castle 1.86, fragment-ktx 1.9.1, DataStore 1.3.0, WorkManager 2.12.0, OkHttp logging-interceptor 4.12.1 (certificate blocklist security fix), and Gradle 9.8.2 (#99, #100, #102, #108). Compose BOM stays on 2026.06.01 and navigation-compose on 2.9.8 until compileSdk 37; Kotlin stays on 2.3.21 until a coordinated 2.4 upgrade; Lifecycle stays on 2.10 (2.11 needs compileSdk 37); compose-markdown stays on 0.5.8 (0.6+ needs Coil 3).
  • Dependabot — Ignore rules now cover Kotlin Gradle plugin ids (not only org.jetbrains.kotlin:*), exclude Kotlin from grouped weekly/major PRs, and block Lifecycle 2.11+, Compose BOM 2026.08+, navigation-compose 2.10+, compose-markdown 0.6+, until their prerequisites land (see closed #85, #98).
  • GitHub Actions — actions/checkout v7, android-emulator-runner 2.38 (#79), and actions/setup-java 6.1.0 (#97, #107).

Removed

  • Old-server rename workaround — Dropped the add-and-delete rename fallback for servers without item PATCH (from v1.3.6, #33), the “leaf items only” rename hints, and the server PATCH compatibility banner.

Documentation

  • Jotty 1.25.0 minimum — JOTTY_SERVER_COMPATIBILITY.md now documents the minimum server version, PATCH-only checklist rename, and that rich Kanban item fields are available on every supported server.
  • Release scripts — release.ps1 and release.sh now share the same dry-run validation, changelog promotion, line-ending preservation, and version-link insertion behavior.
  • Jotty 1.29.2 compatibility — Documented /api/attachment/ media, /api/shares, checklist item sort, note templates, and raised the Settings version ceiling to 1.29 (docs/JOTTY_SERVER_COMPATIBILITY.md).
  • Jotty 1.28.0 compatibility — Documented search uuid preference, in-note links / relations, admin overview removal, and the Settings version ceiling warning (docs/JOTTY_SERVER_COMPATIBILITY.md).
  • Category folder CRUD — Noted that empty-folder create/rename/delete is web-only until Jotty exposes REST; Android assigns categories via item create/update and browse via Manage categories (docs/JOTTY_SERVER_COMPATIBILITY.md).
  • Jotty 1.27.0 compatibility — Documented that Kanban card comments (and TipTap description editing) are web/server-action only with no public REST yet; Android needs no client change for REST compatibility (docs/JOTTY_SERVER_COMPATIBILITY.md).

Don't miss a new jotty-android release

NewReleases is sending notifications on new releases.