This website requires JavaScript.
e283a7a0f3
fix(deps): update composebom to v2026.06.00
renovate/composebom
Renovate Bot
2026-06-19 09:17:56 +00:00
54739a5348
chore(deps): update kotlin to v2.4.0
renovate/kotlin
Renovate Bot
2026-06-19 09:17:54 +00:00
1a8902bc6d
chore(deps): update gradle to v9.6.0
renovate/gradle-9.x
Renovate Bot
2026-06-19 09:17:52 +00:00
0ebefaa8e2
fix(deps): update test dependencies to v1.2.1
renovate/test-dependencies
Renovate Bot
2026-06-19 09:17:50 +00:00
b5043a5d6e
fix(deps): update material3 (alpha) to v1.5.0-alpha22
renovate/material3-(alpha)
Renovate Bot
2026-06-19 09:17:48 +00:00
81baadfaf3
Merge pull request 'fix(renovate): run renovate image directly instead of docker-wrapping action' (#11 ) from fix/renovate-action-pin into main
main
Jean-Luc Makiola
2026-06-19 09:16:23 +00:00
35022267dc
fix(renovate): run renovate image directly instead of docker-wrapping action
fix/renovate-action-pin
Jean-Luc Makiola
2026-06-19 10:08:08 +02:00
588e024036
Merge pull request 'fix(renovate): pin action to v46.1.15' (#10 ) from fix/renovate-action-pin into main
Jean-Luc Makiola
2026-06-18 20:34:59 +00:00
eeef089e4a
fix(renovate): pin action to a real tag (v46.1.15)
Jean-Luc Makiola
2026-06-18 22:33:15 +02:00
9023899ddb
Merge pull request 'ci(renovate): self-hosted Renovate config + weekly workflow' (#8 ) from feat/renovate into main
Jean-Luc Makiola
2026-06-18 15:17:47 +00:00
5ab3344f8c
release: prepare v2.7.1 — privacy-respecting crash reporting
feat/crash-report
Jean-Luc Makiola
2026-06-18 17:14:10 +02:00
2431abe912
fix(crash): keep event/calendar content out of exception messages
Jean-Luc Makiola
2026-06-18 17:13:26 +02:00
2f153fef56
ci(renovate): self-hosted Renovate config + weekly workflow
feat/renovate
Jean-Luc Makiola
2026-06-18 17:07:46 +02:00
701077f25b
feat(crash): privacy-respecting crash reporting via Gitea issue
Jean-Luc Makiola
2026-06-18 16:54:35 +02:00
290a905f8b
Merge pull request 'release: v2.7.0 — ICS export & import' (#7 ) from release/v2.7.0 into main
Jean-Luc Makiola
2026-06-18 14:26:53 +00:00
d20d446cbe
release: cut v2.7.0 — ICS export & import (.ics share, backup, open/receive)
v2.7.0
release/v2.7.0
Jean-Luc Makiola
2026-06-18 16:24:35 +02:00
6e14d5964b
fix(release): keep Room DB impls so R8 doesn't crash startup
Jean-Luc Makiola
2026-06-18 16:15:08 +02:00
3dfc96718c
feat(ics): import UI — open/receive .ics, 1-vs-many routing
Jean-Luc Makiola
2026-06-18 15:20:29 +02:00
e1c2e9f2e5
feat(ics): import core — parser, dedup-aware bulk import, form prefill
Jean-Luc Makiola
2026-06-18 14:59:32 +02:00
90b219bdad
fix(views): stop single-day all-day events leaking into the next day
Jean-Luc Makiola
2026-06-18 14:48:34 +02:00
233a9b03a3
Merge feat/ics-export into release/v2.7.0
Jean-Luc Makiola
2026-06-18 14:45:59 +02:00
0b683d374f
feat(ics): export — share single event + back up local calendars as .ics
Jean-Luc Makiola
2026-06-18 14:27:53 +02:00
64d0a89b28
release: cut v2.6.0 — working in-app language picker + system per-app language
v2.6.0
Jean-Luc Makiola
2026-06-18 12:38:58 +02:00
7285e274df
Merge pull request 'feat(i18n): data-driven language picker + Weblate translation guard' (#5 ) from feat/translations into main
Jean-Luc Makiola
2026-06-18 08:41:46 +00:00
788ca3906e
Merge remote-tracking branch 'origin/main' into worktree-feat+translations
Jean-Luc Makiola
2026-06-18 10:29:00 +02:00
bab6fd175a
fix(i18n): make the language picker actually apply on device
Jean-Luc Makiola
2026-06-18 10:28:13 +02:00
3d5cc55ef1
Merge pull request 'feat(reminders): configurable all-day reminder fire time' (#6 ) from feat/default-reminders into main
Jean-Luc Makiola
2026-06-18 07:58:47 +00:00
111b3782b0
feat(reminders): configurable all-day reminder fire time
Jean-Luc Makiola
2026-06-18 09:54:41 +02:00
cf380b6eab
ci(i18n): translation parity guard + allow partial translations
Jean-Luc Makiola
2026-06-18 08:43:06 +02:00
9177a926df
feat(i18n): data-driven language picker + locale config
Jean-Luc Makiola
2026-06-17 23:31:54 +02:00
5e6defd4c7
release: cut v2.5.0 — home-screen widgets, agenda, jump-to-date, quick actions
v2.5.0
Jean-Luc Makiola
2026-06-17 15:33:58 +02:00
6e7ae3e60d
Merge pull request 'feat(agenda): Agenda view — upcoming events grouped by day' (#4 ) from feat/agenda-view into main
Jean-Luc Makiola
2026-06-17 07:45:04 +00:00
b0b30eef91
feat(agenda): add Agenda view — upcoming events grouped by day
Jean-Luc Makiola
2026-06-17 09:41:36 +02:00
8b25c9be39
Merge pull request 'feat(nav): jump-to-date action in the navigation drawer' (#3 ) from feat/jump-to-date into main
Jean-Luc Makiola
2026-06-17 07:25:46 +00:00
2943f3945d
feat(nav): jump-to-date action in the navigation drawer
Jean-Luc Makiola
2026-06-17 09:24:49 +02:00
b62f097392
release: cut v2.4.0 — per-event colors
v2.4.0
Jean-Luc Makiola
2026-06-17 08:55:16 +02:00
210ddff8d8
release: cut v2.3.0 — Material 3 grouped-list redesign of Settings, calendars & drawer
v2.3.0
Jean-Luc Makiola
2026-06-16 11:44:10 +02:00
e194da3766
release: cut v2.2.0 — tap-to-create + local calendar management
v2.2.0
Jean-Luc Makiola
2026-06-16 09:49:14 +02:00
15fb76005c
release: cut v2.1.0 — month event grid, drawer view tabs, text-cursor fix
v2.1.0
Jean-Luc Makiola
2026-06-15 22:30:20 +02:00
c27a645c19
feat(month): show real events with continuous multi-day bars
Jean-Luc Makiola
2026-06-15 22:29:38 +02:00
21e7b1ff91
feat(drawer): add View section to switch Month/Week/Day
Jean-Luc Makiola
2026-06-15 21:48:49 +02:00
31163da868
ci(release): P1 hardening — versioning, F-Droid changelogs, R8 mapping, docs
Jean-Luc Makiola
2026-06-15 21:47:50 +02:00
9a1903e6ed
fix(edit): stop cursor jumping in event text fields
Jean-Luc Makiola
2026-06-15 21:16:32 +02:00
f990af1cb0
ci(release): make workflow_dispatch a key-rotation / re-sign path
Jean-Luc Makiola
2026-06-15 21:13:43 +02:00
e5be5f1ae5
security(release): rotate compromised F-Droid repo key; keep key out of served tree
Jean-Luc Makiola
2026-06-14 12:01:00 +02:00
54aed73726
docs: F-Droid install guide with repo URL + fingerprint; backlog daily-driver ideas
Jean-Luc Makiola
2026-06-11 22:48:30 +02:00
82c3e1d605
docs: architecture tour, docs index, showcase README; ci: Gitea release per tag
Jean-Luc Makiola
2026-06-11 22:35:03 +02:00
e5b523e907
docs: backlog the Locations & People ideas (contact picker, OSM autocomplete)
Jean-Luc Makiola
2026-06-11 22:24:43 +02:00
d028b70e6e
release: cut v2.0.0 — write support complete
v2.0.0
Jean-Luc Makiola
2026-06-11 22:15:50 +02:00
626623bb6e
feat(edit): conflict dialog on save + store metadata refresh (v2.0)
Jean-Luc Makiola
2026-06-11 22:14:27 +02:00
264b2a86c1
release: cut v1.4.0 — reminder notifications
v1.4.0
Jean-Luc Makiola
2026-06-11 21:24:10 +02:00
b03bd67678
feat(reminders): reminder notifications — EVENT_REMINDER receiver, onboarding step, settings toggle (v1.4)
Jean-Luc Makiola
2026-06-11 21:23:34 +02:00
301f105fbc
release: cut v1.3.0 — event edit
v1.3.0
Jean-Luc Makiola
2026-06-11 20:57:44 +02:00
f0e2e12939
feat(edit): event editing — shared form, scoped recurring writes, recurrence picker (v1.3)
Jean-Luc Makiola
2026-06-11 20:57:32 +02:00
bdedf47972
release: cut v1.2.1 — event-form polish
v1.2.1
Jean-Luc Makiola
2026-06-11 15:41:11 +02:00
a69be3da43
feat(edit): form redesign, optional fields, OptionCard dialogs, expressive motion
Jean-Luc Makiola
2026-06-11 15:14:30 +02:00
779fa1d480
release: cut v1.2.0 — event creation
v1.2.0
Jean-Luc Makiola
2026-06-11 13:27:17 +02:00
c59a071b82
feat(write): event creation — form screen, FAB, last-used calendar (v1.2)
Jean-Luc Makiola
2026-06-11 13:27:08 +02:00
285bfd90a7
release: cut v1.1.0 — event delete (write foundation)
v1.1.0
Jean-Luc Makiola
2026-06-11 12:55:56 +02:00
9529f19c60
feat(write): event delete + WRITE_CALENDAR foundation (v1.1)
Jean-Luc Makiola
2026-06-11 12:55:15 +02:00
0013c9f3b1
ci: cut redundant per-run work (cache fix companion, emulator skip, daemon reuse)
Jean-Luc Makiola
2026-06-11 09:50:01 +02:00
bd6ad4ae5f
Merge pull request 'feat: full event read (v0.6.0) + onboarding redesign, cut v1.0.0' (#2 ) from feat/full-event-read-v0.6.0 into main
makiolaj
2026-06-11 07:28:16 +00:00
3697a58e5b
release: cut v1.0.0 — first public release
v1.0.0
Jean-Luc Makiola
2026-06-11 09:24:47 +02:00
e290c92d78
docs: fold onboarding redesign into 0.6.0 changelog
v0.6.0
Jean-Luc Makiola
2026-06-11 09:23:42 +02:00
9c4ebbc65a
feat(permission): redesign first-run grant-access screen (M3 Expressive)
Jean-Luc Makiola
2026-06-11 09:17:54 +02:00
c0d413ba11
docs: backlog the initial grant-access screen redesign (pre-1.0 polish)
Jean-Luc Makiola
2026-06-11 09:08:21 +02:00
dca0245a42
refactor(detail): show availability only when Free, pin it by the title
Jean-Luc Makiola
2026-06-11 09:08:21 +02:00
024512959f
feat(detail): full event read — surface every readable field (v0.6.0)
Jean-Luc Makiola
2026-06-11 08:56:40 +02:00
e78da3d7c1
docs: add v0.6 "full event read" milestone before v1.0
Jean-Luc Makiola
2026-06-10 23:35:02 +02:00
2cb8b59fb7
docs: cut jump-to-date (M2) from V1 scope
Jean-Luc Makiola
2026-06-10 23:27:21 +02:00
7d36d22fd5
Merge pull request 'feat: calendar filter in drawer + settings (v0.5.0)' (#1 ) from feat/filter-settings-v0.5.0 into main
v0.5.0
makiolaj
2026-06-10 20:57:57 +00:00
adcbed6e02
feat(filter,settings): calendar filter in drawer + settings (v0.5.0)
Jean-Luc Makiola
2026-06-10 22:55:33 +02:00
efa0abbaed
feat(detail): full-screen event detail (S4) with humanized recurrence
v0.4.0
Jean-Luc Makiola
2026-06-10 21:52:35 +02:00
d3fbe28843
docs: record v0.3.0 (month/week/day views, view switcher) in CHANGELOG
v0.3.0
Jean-Luc Makiola
2026-06-10 20:44:22 +02:00
951fb640a6
feat(day): single-column day view, wire into view switcher
Jean-Luc Makiola
2026-06-10 20:40:02 +02:00
94fa206e2e
refactor(week): polish timeline — rounded viewport, scroll persistence, week badge
Jean-Luc Makiola
2026-06-10 20:04:08 +02:00
6a90bade8a
feat(ui): month card grid + week timeline, wire view switcher
Jean-Luc Makiola
2026-06-10 19:07:24 +02:00
0132201cf9
style(icon): regenerate F-Droid icon.png to match launcher exactly
v0.2.1
Jean-Luc Makiola
2026-06-09 10:38:08 +02:00
b792ddc2f0
style: fix launcher icon scaling and centering, update AGP
Jean-Luc Makiola
2026-06-08 20:30:40 +02:00
440fa57161
fix(debug): use prefixed composite keys in LazyColumn
Jean-Luc Makiola
2026-06-08 20:19:58 +02:00
00b5aeaac7
feat(icon): line-art cal + calendula bloom + numeral "1"
Jean-Luc Makiola
2026-06-08 18:24:04 +02:00
2a2b919041
docs: record v0.2.0 data-layer + permission flow in CHANGELOG, planning
v0.2.0
Jean-Luc Makiola
2026-06-08 17:58:02 +02:00
3ced240e23
test: instrumented repository smoke against real CalendarContract
Jean-Luc Makiola
2026-06-08 17:57:12 +02:00
035ac9b003
test: replace placeholder smoke with permission-rationale assert
Jean-Luc Makiola
2026-06-08 17:56:03 +02:00
c03389abe0
ui: replace placeholder with RootScreen routing permission ↔ debug
Jean-Luc Makiola
2026-06-08 17:55:34 +02:00
98f8433156
ui: add DebugScreen showing calendars + next 50 instances
Jean-Luc Makiola
2026-06-08 17:54:23 +02:00
8fbbab30e2
ui: add DebugViewModel combining calendars + next 30d instances
Jean-Luc Makiola
2026-06-08 17:52:50 +02:00
ef0a4b0568
ui: add PermissionScreen with rationale and denied recovery
Jean-Luc Makiola
2026-06-08 17:50:33 +02:00
43f12812b6
ui: add PermissionViewModel with three-state machine
Jean-Luc Makiola
2026-06-08 17:49:39 +02:00
2400d5482c
i18n: add permission + debug screen strings (en, de)
Jean-Luc Makiola
2026-06-08 17:49:06 +02:00
4d54501ed4
di: wire CalendarRepository, DataSource, DataStore, IoDispatcher
Jean-Luc Makiola
2026-06-08 17:48:34 +02:00
748df761bf
data: add CalendarPrefs (hidden calendar ids in DataStore)
Jean-Luc Makiola
2026-06-08 17:47:55 +02:00
d13f2f07a5
data: add CalendarRepository + Impl with SharedFlow re-emit on data-source ticks
Jean-Luc Makiola
2026-06-08 17:47:13 +02:00
7abb2e6ab4
data: add CalendarDataSource seam returning domain lists (not Cursors)
Jean-Luc Makiola
2026-06-08 17:44:19 +02:00
fb003d8806
data: add ColumnReader.toEventDetailCore() and toAttendee() mappers
Jean-Luc Makiola
2026-06-08 17:42:42 +02:00
40b531fa52
data: add ColumnReader.toEventInstance() with defensive validation (§8)
Jean-Luc Makiola
2026-06-08 17:41:29 +02:00
0e4c47febe
data: add ColumnReader abstraction + Cursor.toCalendarSource mapper
Jean-Luc Makiola
2026-06-08 17:40:37 +02:00
fb723fba68
data: add CalendarContract column projections + indices
v0.1.1
Jean-Luc Makiola
2026-06-08 17:37:23 +02:00
ffc7ed414f
fix(fdroid): correct metadata format to fastlane convention + add icon.png
Jean-Luc Makiola
2026-06-08 17:37:05 +02:00
af75965a31
domain: add pure-Kotlin models (CalendarSource, EventInstance, EventDetail, …)
Jean-Luc Makiola
2026-06-08 17:36:39 +02:00