Release 1.0.0 (#20)

First stable release. Merging this bumps versionName to 1.0.0 and triggers the release pipeline (F-Droid, Codeberg, Play).

**App**
- CalDAV sync built in, with Agendula's own task store; OpenTasks / tasks.org stay available and can be copied over in Settings → Storage
- repeating tasks, several reminders per task, lists managed in the app, iCalendar import/export, widget and Quick Settings tile
- a list can be kept out of the smart lists (#18) and gets its own notification channel (#17)
- duplicate a task with its subtasks (#16)
- HTML descriptions shown as plain text (#15)
- relative day words in reminder notifications (#14)
- asks for exact-alarm access instead of claiming USE_EXACT_ALARM, and re-arms reminders when that access changes

**Release plumbing**
- floret-kit bumped to v0.4.0; the old pin was never pushed, so a clean clone couldn't check out the submodule. 0.4.0 drops CrashConfig.issueTitle (crash issues are always filed in English)
- prebuilt .so files ship unstripped, so the build no longer depends on whether an NDK is installed; now checked by check_reproducible_release.sh
- official F-Droid recipe in docs/fdroid-official/, to submit to fdroiddata once v1.0.0 is tagged
- Google Play: fastlane uploads the AAB and every locale's What's New after the F-Droid release; a separate listing lane pushes text and graphics from the fastlane tree, which CI now checks against Play's limits
- store listing: title "Agendula: Tasks" in every locale, icon, feature graphic, screenshots and 1.0.0 changelogs in en-US, en-GB, de-DE and pt-BR

crash_report_issue_title is now unused but stays until Weblate removes the translated copies.

Closes #14, closes #15, closes #16, closes #17, closes #18

Co-authored-by: Jean-Luc Makiola <business@jeanlucmakiola.de>
Reviewed-on: https://codeberg.org/jlmakiola/agendula/pulls/20
This commit is contained in:
Jean-Luc Makiola
2026-09-24 16:36:49 +02:00
co-authored by makiolaj
parent 7bbdbe60e3
commit ac01993d41
476 changed files with 53728 additions and 2919 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

+17
View File
@@ -0,0 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
<!-- Agendula launcher icon, reconstructed 1:1 from the installed build's
adaptive icon (background solid + foreground vector). Card + checkmark
with a floret in the lower-right corner. -->
<rect width="512" height="512" rx="112" ry="112" fill="#7a5c6b"/>
<g transform="translate(0,13.24) translate(256,242.76) scale(0.66,0.66) translate(-256,-242.76)"
fill="none" stroke="#faf6f0" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="12">
<path stroke-width="20" d="M370.207 254.345V168.276C370.207 144.508 350.939 125.241 327.172 125.241H178.207C154.439 125.241 135.172 144.508 135.172 168.276V317.241C135.172 341.008 154.439 360.276 178.207 360.276H269.241"/>
<path stroke-width="20" d="M193 245.569L231.822 287L320 199"/>
<path stroke-width="16" d="M346.672 323.721C356.301 323.721 364.107 312.367 364.107 298.361C364.107 284.354 356.301 273 346.672 273C337.042 273 329.236 284.354 329.236 298.361C329.236 312.367 337.042 323.721 346.672 323.721Z"/>
<path stroke-width="16" d="M355.716 330.293C358.692 339.451 371.903 343.366 385.224 339.038C398.544 334.71 406.931 323.777 403.955 314.619C400.98 305.461 387.769 301.546 374.448 305.874C361.127 310.202 352.741 321.135 355.716 330.293Z"/>
<path stroke-width="16" d="M352.262 340.926C344.471 346.586 344.83 360.36 353.063 371.691C361.295 383.022 374.284 387.62 382.075 381.96C389.865 376.3 389.506 362.526 381.274 351.194C373.041 339.863 360.052 335.266 352.262 340.926Z"/>
<path stroke-width="16" d="M341.082 340.926C333.291 335.266 320.302 339.863 312.069 351.194C303.837 362.526 303.478 376.3 311.268 381.96C319.059 387.62 332.048 383.022 340.28 371.691C348.513 360.36 348.872 346.585 341.082 340.926Z"/>
<path stroke-width="16" d="M337.627 330.293C340.602 321.135 332.216 310.202 318.895 305.874C305.574 301.546 292.363 305.461 289.388 314.619C286.412 323.777 294.799 334.71 308.119 339.038C321.44 343.366 334.651 339.451 337.627 330.293Z"/>
<path stroke-width="16" d="M346.672 342.742C351.924 342.742 356.182 338.484 356.182 333.232C356.182 327.979 351.924 323.721 346.672 323.721C341.419 323.721 337.161 327.979 337.161 333.232C337.161 338.484 341.419 342.742 346.672 342.742Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

+52
View File
@@ -0,0 +1,52 @@
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Agendula//store sample//EN
X-WR-CALNAME:Groceries
BEGIN:VTODO
UID:sample-groceries-0
DTSTAMP:20260923T080000Z
SUMMARY:Oat milk
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-groceries-1
DTSTAMP:20260923T080000Z
SUMMARY:Eggs
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-groceries-2
DTSTAMP:20260923T080000Z
SUMMARY:Cherry tomatoes
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-groceries-3
DTSTAMP:20260923T080000Z
SUMMARY:Fresh basil
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-groceries-4
DTSTAMP:20260923T080000Z
SUMMARY:Coffee beans
PRIORITY:1
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-groceries-5
DTSTAMP:20260923T080000Z
SUMMARY:Sourdough bread
STATUS:COMPLETED
PERCENT-COMPLETE:100
COMPLETED:20260923T080000Z
END:VTODO
BEGIN:VTODO
UID:sample-groceries-6
DTSTAMP:20260923T080000Z
SUMMARY:Parmesan
STATUS:COMPLETED
PERCENT-COMPLETE:100
COMPLETED:20260923T080000Z
END:VTODO
END:VCALENDAR
+54
View File
@@ -0,0 +1,54 @@
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Agendula//store sample//EN
X-WR-CALNAME:Home
BEGIN:VTODO
UID:sample-home-0
DTSTAMP:20260923T080000Z
SUMMARY:Take out the recycling
DUE;VALUE=DATE:20260924
DTSTART;VALUE=DATE:20260924
RRULE:FREQ=WEEKLY;BYDAY=TH
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-home-1
DTSTAMP:20260923T080000Z
SUMMARY:Fix the leaky tap
DUE;VALUE=DATE:20260927
DESCRIPTION:Washer size is 1/2". Turn off the water under the sink first.
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-home-2
DTSTAMP:20260923T080000Z
SUMMARY:Pay the rent
DUE;VALUE=DATE:20261001
DTSTART;VALUE=DATE:20261001
PRIORITY:1
RRULE:FREQ=MONTHLY;BYMONTHDAY=1
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-home-3
DTSTAMP:20260923T080000Z
SUMMARY:Book the car service
DUE;VALUE=DATE:20261001
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-home-4
DTSTAMP:20260923T080000Z
SUMMARY:Clean the gutters
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-home-5
DTSTAMP:20260923T080000Z
SUMMARY:Change the bed sheets
DUE;VALUE=DATE:20260923
STATUS:COMPLETED
PERCENT-COMPLETE:100
COMPLETED:20260923T080000Z
END:VTODO
END:VCALENDAR
+108
View File
@@ -0,0 +1,108 @@
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Agendula//store sample//EN
X-WR-CALNAME:Personal
BEGIN:VTODO
UID:sample-personal-0
DTSTAMP:20260923T080000Z
SUMMARY:Renew passport
DUE;VALUE=DATE:20260923
PRIORITY:1
DESCRIPTION:Photos are in the desk drawer. Book a slot at the town hall first.
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-1
DTSTAMP:20260923T080000Z
SUMMARY:Call the dentist
DUE;VALUE=DATE:20260923
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-2
DTSTAMP:20260923T080000Z
SUMMARY:Water the plants
DUE;VALUE=DATE:20260923
DTSTART;VALUE=DATE:20260923
RRULE:FREQ=DAILY;INTERVAL=3
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-3
DTSTAMP:20260923T080000Z
SUMMARY:Go for a run
DUE;VALUE=DATE:20260923
DTSTART;VALUE=DATE:20260923
RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-4
DTSTAMP:20260923T080000Z
SUMMARY:Cancel the old gym membership
DUE;VALUE=DATE:20260921
PRIORITY:1
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-5
DTSTAMP:20260923T080000Z
SUMMARY:Birthday gift for Sam
DUE;VALUE=DATE:20260926
PERCENT-COMPLETE:33
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-5-0
DTSTAMP:20260923T080000Z
SUMMARY:Order the book
RELATED-TO:sample-personal-5
STATUS:COMPLETED
PERCENT-COMPLETE:100
COMPLETED:20260923T080000Z
END:VTODO
BEGIN:VTODO
UID:sample-personal-5-1
DTSTAMP:20260923T080000Z
SUMMARY:Wrap it
RELATED-TO:sample-personal-5
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-5-2
DTSTAMP:20260923T080000Z
SUMMARY:Write a card
RELATED-TO:sample-personal-5
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-6
DTSTAMP:20260923T080000Z
SUMMARY:Plan the weekend hike
DUE;VALUE=DATE:20260927
LOCATION:Saxon Switzerland
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-7
DTSTAMP:20260923T080000Z
SUMMARY:Read "The Midnight Library"
PERCENT-COMPLETE:40
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-8
DTSTAMP:20260923T080000Z
SUMMARY:Back up the photos
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-personal-9
DTSTAMP:20260923T080000Z
SUMMARY:Pick up dry cleaning
DUE;VALUE=DATE:20260922
STATUS:COMPLETED
PERCENT-COMPLETE:100
COMPLETED:20260923T080000Z
END:VTODO
END:VCALENDAR
+96
View File
@@ -0,0 +1,96 @@
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Agendula//store sample//EN
X-WR-CALNAME:Work
BEGIN:VTODO
UID:sample-work-0
DTSTAMP:20260923T080000Z
SUMMARY:Send the Q3 report to Lena
DUE;VALUE=DATE:20260922
PRIORITY:1
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-work-1
DTSTAMP:20260923T080000Z
SUMMARY:Review Alex's pull request
DUE;VALUE=DATE:20260923
PRIORITY:5
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-work-2
DTSTAMP:20260923T080000Z
SUMMARY:Weekly team sync notes
DUE;VALUE=DATE:20260924
DTSTART;VALUE=DATE:20260924
RRULE:FREQ=WEEKLY;BYDAY=TH
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-work-3
DTSTAMP:20260923T080000Z
SUMMARY:Prepare slides for the quarterly review
DUE;VALUE=DATE:20260925
PRIORITY:5
PERCENT-COMPLETE:50
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-work-3-0
DTSTAMP:20260923T080000Z
SUMMARY:Collect the numbers
RELATED-TO:sample-work-3
STATUS:COMPLETED
PERCENT-COMPLETE:100
COMPLETED:20260923T080000Z
END:VTODO
BEGIN:VTODO
UID:sample-work-3-1
DTSTAMP:20260923T080000Z
SUMMARY:Draft the outline
RELATED-TO:sample-work-3
STATUS:COMPLETED
PERCENT-COMPLETE:100
COMPLETED:20260923T080000Z
END:VTODO
BEGIN:VTODO
UID:sample-work-3-2
DTSTAMP:20260923T080000Z
SUMMARY:Design the charts
RELATED-TO:sample-work-3
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-work-3-3
DTSTAMP:20260923T080000Z
SUMMARY:Rehearse once
RELATED-TO:sample-work-3
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-work-4
DTSTAMP:20260923T080000Z
SUMMARY:Book flights to the Lisbon conference
DUE;VALUE=DATE:20260929
LOCATION:Lisbon
URL:https://example.org/conference
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-work-5
DTSTAMP:20260923T080000Z
SUMMARY:Update the onboarding docs
PRIORITY:9
STATUS:NEEDS-ACTION
END:VTODO
BEGIN:VTODO
UID:sample-work-6
DTSTAMP:20260923T080000Z
SUMMARY:Plan the team offsite
DUE;VALUE=DATE:20260922
STATUS:COMPLETED
PERCENT-COMPLETE:100
COMPLETED:20260923T080000Z
END:VTODO
END:VCALENDAR