Files
agendula/CHANGELOG.md
T
makiolaj af9b2cb5c8 release: cut 1.0.0 — Agendula keeps your tasks itself
versionName 1.0.0, versionCode 10000. Merging this to main triggers
.gitea/workflows/release.yaml, which builds it, publishes to the F-Droid repo,
and mints the v1.0.0 tag — and this is the release where `prerelease` flips to
false on its own, since the pipeline derives it from MAJOR.

CHANGELOG's 1.0.0 section covers the own store, list management, recurrence,
iCalendar export, the storage picker and the copy path, then the fixes to the
external-provider mode that 0.4.0 and earlier used for everything — the
reverting due times, the all-day drift, the silent save failure on tasks with a
duration, recurrence detection on tasks.org, the inert reminder field, and the
provider-failure recovery.

Nothing about the dropped authority or the custom permissions: they never
reached a release, so there is nothing for a user to have lost.

`changelogs/10000.txt` is `scripts/sync_changelog_to_fastlane.sh` output, for
the official F-Droid listing, at 471 of the 500 characters F-Droid will show —
the section is written to that budget rather than trimmed to fit it, since the
same text is the Gitea release notes. The detail behind each line is in the
commit messages, CHANGELOG's older entries stay as they were.

Still open before this merges, per docs/RELEASING.md step 4 and ROADMAP:
`./gradlew :app:connectedDebugAndroidTest` against the tip, and
`scripts/verify-release.sh` on a real device.
2026-09-21 13:43:24 +02:00

6.5 KiB

Changelog

All notable changes to this project are documented here. The format follows Keep a Changelog; the versionName committed in app/build.gradle.kts is the source of truth for a release (see docs/RELEASING.md), and the vX.Y.Z tag is minted by the pipeline.

[Unreleased]

[1.0.0] - 2026-09-21

Added

  • Agendula keeps your tasks itself now — nothing else to install. Manage lists in the app, repeat tasks, and export any list as iCalendar.
  • Settings → Storage picks where tasks live, and offers to copy them over from OpenTasks or tasks.org.

Changed

  • Another task app is now optional. Already use one? Nothing changes on update.

Fixed

  • Edited due times no longer revert, all-day tasks no longer drift a day, and per-task reminders are saved.

[0.4.0] - 2026-08-31

Added

  • Agendula now speaks German and Brazilian Portuguese, the first community translations. Pick one under Settings → App language, or in Android's own per-app language settings; leave it on System default and Agendula follows your phone. Anything not yet translated falls back to English.
  • Agendula can now be translated. Pick or request a language on Weblate and translate in the browser — the link sits at the top of the language picker in Settings → App language. Partial translations are fine; anything untranslated falls back to English.

Changed

  • Agendula's home is now Codeberg (jlmakiola/agendula) — that's where the source, issues, pull requests and releases live. The Source and License links in Settings, the issue-reporting link and the F-Droid metadata all point there now. The self-hosted Gitea instance stays as build infrastructure.

[0.3.2] - 2026-07-20

Fixed

  • Releases reach the Codeberg download channel again. 0.3.1 published to F-Droid but never appeared on Codeberg, so if you install from there — or through Obtainium — this is the release that finally carries 0.3.0's launch-crash fix. The app itself is unchanged from 0.3.1.

[0.3.1] - 2026-07-20

Fixed

  • Agendula no longer crashes on launch. Every 0.3.0 install was affected: the release build stripped a constructor that the background-work scheduler needs to open its database, and that happens before the app draws anything.

[0.3.0] - 2026-07-19

Added

  • Reminders: Agendula now delivers your due reminders itself. A one-time setup step explains this and asks for notification access, and a master switch in Settings turns the whole thing off again.
  • A Settings screen, from the gear on the overview: appearance and theme, which fields the task form shows, your default list, and reminder defaults.
  • The overview leads with Today — a progress ring showing how much of today you've finished — followed by a live preview of what's coming up next.
  • Search across every task, open or completed, from the top bar.
  • A proper app icon.

Changed

  • A tidier top bar: no app title, with search and settings pinned to the right.

[0.2.2] - 2026-07-19

Fixed

  • Release automation now reliably mirrors each release to the Codeberg mirror (signed APK + SHA-256 checksum). The 0.2.1 attempt failed when the release tag had already been synced to Codeberg.

[0.2.1] - 2026-07-19

Added

  • Releases are now also published to the Codeberg mirror as a direct download: each release carries the signed APK plus a SHA-256 checksum, for users who don't use F-Droid.

[0.2.0] - 2026-06-27

Added

  • M2 Material 3 Expressive UI — the app is fully navigable now: the provider/permission onboarding gate, the lists overview (smart lists + user lists grouped by account), and the task list (swipe-to-complete / -delete, inline add, smart-list section headers), detail, and create/edit screens, all wired to the M1 ViewModels.
  • M3 detail/edit polish: a "Progress" slider (percent-complete, 5% detents, written to Tasks.PERCENT_COMPLETE) and conflict-safe saves — updateTask re-checks the provider's last_modified against the value captured when the form loaded and surfaces an overwrite-or-cancel prompt instead of clobbering an external change (e.g. a DAVx5 sync).
  • M4 subtasks (UI): reparent — a full-width, searchable "Parent task" sheet on the edit form, with candidates grouped by due-date section, files a task under any active top-level task in its list (or "None" to promote it); switching list clears the now-invalid parent. Tapping a subtask in the detail screen opens its own detail, which shows a "Part of …" parent card. On the task list a parent has a dedicated expand button that reveals its children as a nested grouped run, ending with an inline "add a subtask" row (an opt-out toggle is planned for the M6 settings screen).
  • Priority is coloured by level (green / amber / red pastels) on the list, detail, and edit screens.

Fixed

  • Overview open-counts now count top-level tasks only, so subtasks — and especially open subtasks under a completed parent — no longer inflate a list's "N open" or the smart-list counts.
  • Swipe-to-delete now reveals its red background + icon as you drag (tracking the live direction, not just the settled target), and a floating "Deleted · Undo" chip defers the actual delete so it can be restored.

[0.1.0] - 2026-06-18

Added

  • M1 data layer + logic ("backoffice"): the full non-visual stack over the OpenTasks TaskContract provider (authority resolved at runtime — org.tasks.opentasks for tasks.org, org.dmfs.tasks for OpenTasks).
    • Vendored TaskContract subset, ProviderResolver, ColumnReader, mappers, AndroidTasksDataSource (Instances query + ContentObserver), and TasksRepository exposing live Flows of lists/tasks/detail.
    • Domain models, smart-list filtering (Today/Upcoming/Overdue/No-date/All/ Completed), sorting, form validation, sub-tasks via parent_id.
    • Self-scheduled due-reminder engine (AlarmManager + boot/provider-change re-sync), notifications, DataStore prefs.
    • Render-only ViewModels + UiState for every screen (lists, task list, detail, edit, settings, permission) so the UI is build-only.
    • 24 JVM unit tests (mappers, filtering, sorting, form, value mapping, day windows). RootScreen is a functional scaffold over the real data, to be replaced screen-by-screen with the Material 3 Expressive design.
  • M0 skeleton: project scaffolding copied from Calendula (Gradle, version catalog, Hilt, Material 3 Expressive theme, Gitea CI/release workflows), reseeded to a warm-mauve palette. Builds and shows a themed placeholder.