feat: full event read (v0.6.0) + onboarding redesign, cut v1.0.0 #2
@@ -10,7 +10,7 @@
|
||||
| v0.4 | Event Detail (S4) + humanized recurrence | complete |
|
||||
| v0.5 | Calendar filter (M3) + Settings (M4) | complete |
|
||||
| v0.6 | Full event read — surface every readable field | complete |
|
||||
| v1.0 | Polish pass, F-Droid release | pending |
|
||||
| v1.0 | First public release — polish pass, F-Droid | complete |
|
||||
|
||||
Delivery ran ahead of the original table: Day view (S3) shipped in v0.3 and
|
||||
Event Detail (S4) in v0.4, so the Filter/Settings milestone became v0.5.
|
||||
@@ -44,14 +44,14 @@ Deliberately out of v0.6:
|
||||
- `CATEGORIES`, `ATTACH` — not reliably exposed by `CalendarContract`
|
||||
(provider limitation, not our choice)
|
||||
|
||||
## v1.0 — First Public Release
|
||||
## v1.0 — First Public Release — shipped 2026-06-11
|
||||
|
||||
All V1 features shipped, polished, on F-Droid. Read-only calendar.
|
||||
Remaining before v1.0: a UI polish/QA pass.
|
||||
All V1 features shipped, polished, on F-Droid. Read-only calendar. Cut directly
|
||||
after v0.6 (full event read) plus the onboarding-screen polish pass.
|
||||
|
||||
### Polish backlog (pre-1.0)
|
||||
- ~~Redesign the initial grant-access (permission) screen~~ — **done**
|
||||
(Material 3 Expressive onboarding, shipped on the v0.6.0 branch)
|
||||
(Material 3 Expressive onboarding, shipped in v0.6.0 / v1.0.0)
|
||||
|
||||
## v2.0 — Write Support
|
||||
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
|
||||
## Status
|
||||
|
||||
**Milestone:** v0.6 — Full event read (complete)
|
||||
**Phase:** All V1 screens done and the read model is now complete — the detail
|
||||
view surfaces every readable `CalendarContract` field. Next up is a UI
|
||||
polish/QA pass before v1.0
|
||||
**Milestone:** v1.0.0 — First public release (shipped 2026-06-11)
|
||||
**Phase:** V1 is complete and released. All screens done, the read model
|
||||
surfaces every readable `CalendarContract` field, and the onboarding screen
|
||||
got its Material 3 Expressive polish pass. Next horizon is v2.0 (write support)
|
||||
|
||||
## Progress
|
||||
|
||||
@@ -30,5 +30,5 @@ polish/QA pass before v1.0
|
||||
|
||||
## Next
|
||||
|
||||
1. UI polish / QA pass across all views before v1.0
|
||||
2. F-Droid release of v1.0
|
||||
1. v1.0.0 released — monitor the F-Droid build/publish
|
||||
2. Plan v2.0 (write support: create / edit / delete, quick-add, conflict UX)
|
||||
|
||||
22
CHANGELOG.md
22
CHANGELOG.md
@@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.0.0] — 2026-06-11
|
||||
|
||||
First public release. Calendula is a read-only, Material 3 Expressive calendar
|
||||
that lives entirely on top of Android's `CalendarContract` — every calendar
|
||||
synced to the device (CalDAV via DAVx5, Google, local, WebCal, …) shows up
|
||||
automatically, with zero telemetry and no internet permission.
|
||||
|
||||
### Highlights (accumulated across v0.1 → v0.6)
|
||||
- Month, week, and day views with a view switcher, swipe navigation, and
|
||||
Loading / Failure / Success states on every screen
|
||||
- Full-screen event detail surfacing every readable `CalendarContract` field —
|
||||
times, recurrence (humanised), location, description (with tappable links),
|
||||
attendees + roles + your own response, reminders, status, availability,
|
||||
access level, and foreign time zones
|
||||
- Per-calendar visibility filter (grouped by account, persisted) and a Settings
|
||||
screen (theme, Material You dynamic colour, week start, app language)
|
||||
- Material 3 Expressive first-run onboarding for calendar access
|
||||
- German + English localization throughout
|
||||
|
||||
### Changed
|
||||
- `versionName`/`versionCode` bumped to 1.0.0 / 7
|
||||
|
||||
## [0.6.0] — 2026-06-11
|
||||
|
||||
### Added
|
||||
|
||||
@@ -23,8 +23,8 @@ android {
|
||||
applicationId = "de.jeanlucmakiola.calendula"
|
||||
minSdk = 29
|
||||
targetSdk = 36
|
||||
versionCode = 6
|
||||
versionName = "0.6.0"
|
||||
versionCode = 7
|
||||
versionName = "1.0.0"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user