-
v2.7.0
StableAll checks were successfulCI / ci (push) Successful in 5m48sRelease — F-Droid repo + Gitea release / ci (push) Successful in 7m40sRelease — F-Droid repo + Gitea release / gitea-release (push) Successful in 5sRelease — F-Droid repo + Gitea release / build-and-deploy (push) Successful in 5m44sreleased this
2026-06-18 14:24:35 +00:00 | 7 commits to main since this releaseAdded
- Share a single event as an
.icsfile from the event detail screen — hands a
standard calendar file to any app via the system share sheet. - Back up your local (device-only) calendars: Settings → Calendars → Export as
.icsfile writes every event of your on-device calendars to a file you
choose. Local calendars aren't synced anywhere, so this is their only backup. - Open or share an
.icsfile into Calendula: a single event opens the create
form prefilled for review, while a file with many events (e.g. a backup) opens
a bulk import — pick a calendar and import them all. Re-importing a backup
won't create duplicates (events are matched by their unique identifier), and
anything Calendula can't represent (changed recurring occurrences, guest
lists) is reported rather than silently dropped.
Fixed
- All-day events that cover a single day (e.g. a birthday) no longer show up on
the following day as well — in the day, week and month views or on the event
detail screen. The extra day came from interpreting the all-day date range in
the device's time zone instead of UTC. - Fixed the app crashing immediately on every launch in the optimized release
build: release code-shrinking (R8) was stripping a database class the
home-screen widget framework needs, so the app died at startup before showing
anything. Added the missing keep rule.
Downloads
- Share a single event as an
-
v2.6.0
StableAll checks were successfulRelease — F-Droid repo + Gitea release / gitea-release (push) Successful in 5sCI / ci (push) Successful in 9m33sRelease — F-Droid repo + Gitea release / build-and-deploy (push) Successful in 7m2sRelease — F-Droid repo + Gitea release / ci (push) Successful in 7m43sreleased this
2026-06-18 10:38:58 +00:00 | 14 commits to main since this releaseAdded
- App language can now be set from Android's system per-app language settings
(Android 13+), in addition to the in-app picker in Settings — and the app is
set up so further languages can be added by community translators
Fixed
- Changing the app language in Settings now takes effect immediately; the
picker previously had no effect
Downloads
- App language can now be set from Android's system per-app language settings
-
v2.5.0
StableAll checks were successfulCI / ci (push) Successful in 12m38sRelease — F-Droid repo + Gitea release / ci (push) Successful in 2m19sRelease — F-Droid repo + Gitea release / build-and-deploy (push) Successful in 10m1sRelease — F-Droid repo + Gitea release / gitea-release (push) Successful in 8sreleased this
2026-06-17 13:33:58 +00:00 | 22 commits to main since this releaseAdded
- Home-screen widgets (two of them): an "Upcoming" agenda widget — a scrolling
list of the next month of events grouped under day headers, with refresh and
"New event" buttons — and a month-grid widget showing the full month with
today highlighted, connected multi-day event bars, and prev/next/today
navigation. Both reuse the in-app grouping and layout so they match the app
exactly, respect your hidden-calendar choices, and refresh automatically when
the calendar changes or the day rolls over. Tapping a day opens that day;
tapping an event opens its details - App shortcut: long-press the Calendula icon for a "New event" action that
jumps straight into the create-event form - Agenda view — a fourth top-level view alongside Month/Week/Day: a
forward-looking list of upcoming events grouped under "Today"/"Tomorrow"/date
headers, reachable from the view switcher - Jump to date — a "Jump to date" row in the navigation drawer opens a date
picker and moves the active view (Month/Week/Day/Agenda) to the chosen day
Downloads
- Home-screen widgets (two of them): an "Upcoming" agenda widget — a scrolling
-
v2.4.0
StableAll checks were successfulCI / ci (push) Successful in 9m20sRelease — F-Droid repo + Gitea release / build-and-deploy (push) Successful in 9m22sRelease — F-Droid repo + Gitea release / ci (push) Successful in 2m3sRelease — F-Droid repo + Gitea release / gitea-release (push) Successful in 7sreleased this
2026-06-17 06:55:16 +00:00 | 27 commits to main since this releaseAdded
- Per-event colors: give a single event its own color, instead of always
inheriting its calendar's. Add the new "Color" field from "More fields" in
the event form. On calendars that publish their own color set — such as
Google — you pick from that calendar's palette, so the color is stored
with the event and shows correctly on every synced device. On local
calendars you pick from Calendula's palette. "Reset" returns an event to
its calendar's color - A new "Allow colors on unsupported calendars" setting (New event form,
off by default) extends per-event colors to calendars that publish no
color set of their own (some CalDAV). Such a color is kept on the device
and may be dropped or overwritten on that calendar's next sync — a
limitation of those calendars, called out plainly in the setting and on
the color picker
Downloads
- Per-event colors: give a single event its own color, instead of always
-
v2.3.0
StableAll checks were successfulreleased this
2026-06-16 09:44:10 +00:00 | 28 commits to main since this releaseChanged
- Redesigned Settings around the Material 3 grouped-list pattern: a large
title that collapses into the toolbar as you scroll, category cards on the
main screen, and dedicated sub-pages for Appearance, the new-event form, and
Notifications. The theme, week-start and language pickers now use the app's
standard option-card dialogs instead of dropdown menus - About moved to the top of Settings as a card — app icon, author, and quick
links to the source code and licence — with the version shown plainly at the
foot of the list - The Calendars screen now uses the same grouped-card layout and collapsing
title, and each calendar shows a soft pastel-tinted calendar glyph rather
than a plain colour swatch - Redesigned the navigation drawer to match: a branded header, the
Month / Week / Day switch and your calendars as grouped cards (with the
active view highlighted), and the whole drawer now scrolls as one
Downloads
- Redesigned Settings around the Material 3 grouped-list pattern: a large
-
v2.2.0
StableAll checks were successfulCI / ci (push) Successful in 8m53sRelease — F-Droid repo + Gitea release / ci (push) Successful in 1m59sRelease — F-Droid repo + Gitea release / build-and-deploy (push) Successful in 8m57sRelease — F-Droid repo + Gitea release / gitea-release (push) Successful in 8sreleased this
2026-06-16 07:49:14 +00:00 | 29 commits to main since this releaseAdded
- Tap an empty slot in the day or week view to create an event there: the
create form opens prefilled with that day and the tapped hour (snapped to
the hour, one hour long). Tapping an existing event still opens it - Local calendars: create and manage device-only calendars that live
entirely on this phone — no account, no sync — from a new "Calendars"
screen in Settings. Give each a name, a colour, and an optional
description; rename, recolour, or delete them later. Useful when you want
a calendar without setting up an account - The Calendars screen also lists your synced calendars (DAVx5, ICSx5, …)
grouped by account, each with a "Manage" button that opens the app the
calendar actually comes from, plus an "Add account" shortcut to the
system account settings. Calendula never touches a synced calendar's
server itself — that stays with its own app
Changed
- Colour swatches in the calendar editor now preview the soft, pastel tone
a calendar is actually drawn with, instead of a bright raw colour - The calendar editor reuses the event form's field and button styling for
a consistent look
Downloads
- Tap an empty slot in the day or week view to create an event there: the
-
v2.1.0
StableAll checks were successfulCI / ci (push) Successful in 8m30sRelease — F-Droid repo + Gitea release / ci (push) Successful in 2m3sRelease — F-Droid repo + Gitea release / build-and-deploy (push) Successful in 8m57sRelease — F-Droid repo + Gitea release / gitea-release (push) Successful in 8sreleased this
2026-06-15 20:30:20 +00:00 | 30 commits to main since this releaseAdded
- The month view now shows real events in each day instead of coloured
dots: all-day and multi-day events render as continuous bars at the top
(a multi-day event is one connected bar across the days it spans, not a
chip per day), with single-day timed events as filled pills beneath.
Up to three rows show per day, then a "+N" dot indicator for the rest.
Each day keeps a rounded surface background, matching the week and day
views; today is marked with a filled circle on its number - The slide-out panel now has a "View" section to switch between Month,
Week, and Day, mirroring the top-bar switcher pill — tapping a view
selects it and closes the drawer. The current view is highlighted
Fixed
- Typing in the event title, location, and description fields no longer
makes the cursor jump around: the form state's round-trip to the UI was
hopping to a background dispatcher, so the text field saw a lagging value
while typing. Only the calendar/preferences reads stay off the main
thread now; the keystroke path is synchronous again
Downloads
- The month view now shows real events in each day instead of coloured