Skip to content

Releases: Arishawke/asala-calendar

Asala Calendar v0.22.0

19 Jun 21:47
v0.22.0
f28aa51

Choose a tag to compare

Changed

  • The color picker now works with TalkBack: each color swatch announces its hex
    value and whether it is the selected one, instead of reading as an unlabeled
    button.
  • TalkBack now reads the search field, the Settings switches (dim past dates,
    working hours, working days, week numbers, and the translucent-widget toggle),
    and the event editor's "All day" toggle with their proper name and on/off
    state, and the whole row is tappable rather than just the switch.
  • The app launcher icon was refreshed to a darker, earthier teal-and-rust
    design that matches the rest of the app's palette.
  • The "+N more" overflow lists now show each event's start time, matching the
    schedule and search views.

Fixed

  • A custom reminder reads the same everywhere. A reminder such as "3 hours
    before" showed as "180 min before" on the event details while reading "3 hours
    before" in the editor; both now use the same wording.
  • Editing an event no longer drops its other reminders. An event with more than
    one reminder (for example one synced from another calendar app) kept only one
    after you edited any of its details. Your reminders are now preserved when you
    save an unrelated change.
  • A reminder you snoozed no longer rings again after you reschedule or delete
    that event. The pending snooze is now cancelled when the event leaves the
    schedule.
  • All-day reminders for the current day now fire reliably. A reminder for an
    all-day event happening today could be skipped and silently never fire,
    depending on the time of day the app last refreshed its reminders.
  • Weeks crowded with overlapping all-day events no longer hide some of them
    without a trace. When more all-day events overlap than the row can show, a
    "+N more" chip now appears and opens a list of the hidden ones.
  • Reminders re-arm after you set the device clock by hand. Previously only a
    time-zone change re-armed them, so a manual clock change could leave a
    reminder anchored to the old time.
  • All-day events with no stored time zone now read their dates in UTC, matching
    how all-day dates are stored. Reading them in the device zone could shift the
    dates if you opened such an event and turned the all-day toggle off.
  • Recurring events keep their exact length down to the second. The repeating-
    event duration was rounded down to the whole minute when saved, so a length
    carrying extra seconds (for example from an imported calendar) lost them.
  • Drag-to-reschedule now works in the Week, Day, and 3-Day timelines. Holding a
    timed event lifted it but it would not move, because a competing tap gesture
    swallowed the drag movement. You can now pick up a timed event and drop it at a
    new time.
  • Drag-to-reschedule on a timed event that crosses midnight is steadier. The
    continuation piece shown on the next day shared the event's real start, so
    dragging it could miscompute the day shift and push the event outside the
    visible week. Reschedule now works from the event's first piece, on the day it
    starts.
  • Reminders set far in the future now fire reliably. The app kept reminders armed
    only for the next 30 days and slid that window forward only when you opened it
    or your calendar changed, so a reminder for an event more than a month out could
    be missed if the app stayed closed. A daily background tick now keeps the window
    moving forward on its own.
  • Snoozing a reminder no longer occasionally loses the snooze. The snoozed alarm
    shared a scheduling slot with the original reminder, so reopening the app (or a
    calendar change) could cancel the pending snooze before it fired. Snoozes now
    keep their own slot.
  • A reminder you delete or reschedule while the app is closed no longer fires at
    its old time. The app now remembers which reminders it has scheduled across
    restarts, so a stale one is cancelled instead of surviving in the background.
  • Natural-language quick add no longer crashes if you type an out-of-range
    relative date such as "in 99999999999 weeks". The unrecognized amount is left
    in the title instead.

Asala Calendar v0.21.0

11 Jun 20:34
v0.21.0
bbc061f

Choose a tag to compare

Removed

  • The experimental Tasks toggle and its "coming soon" placeholder view. Asala is
    focusing on being a clean calendar; task management is no longer planned. A
    saved "Tasks" default-view preference falls back to Month.

Added

  • Natural-language quick add in the new-event editor. Type a phrase like "lunch
    at Cafe Rio tomorrow at noon" and the title, location, date, and time fill in
    for you to review before saving. It recognizes relative dates (today, tomorrow,
    weekdays, "next Friday", "the 15th"), times and ranges, durations, and
    "at " locations; a date with no time becomes an all-day event. Anything
    it does not recognize is left for you to fill in by hand.
  • Saving a new or edited event now points you to it when it lands off-screen. In
    the day, week, and 3-day views, a tappable indicator appears at the top or
    bottom edge ("New event at 9:00 PM") without moving your place; tapping it
    glides to the event, which briefly glows. An event saved onto a different day
    opens that day parked on it. Events already in view just glow, and all-day
    events show no indicator. The schedule, month, and year views continue to
    jump straight to the date.

Changed

  • Calendar day cells in the month grid, mini-month, and year views now announce
    their full date (for example "Wednesday, June 10, 2026") and a button role to
    TalkBack, instead of reading just the bare day number.
  • The mini-month date-picker cells are now at least 48dp tall, meeting the
    recommended minimum touch-target size.
  • Text on colored fills (multi-day bars, the account avatar, and day-view all-day
    rows) now picks black or white by actual WCAG contrast rather than a rough
    brightness midpoint, so labels stay legible across more colors. The custom
    calendar-color picker now previews sample text on the chosen color and warns
    when a color is too close to the background to tell apart.
  • TalkBack support improvements: the screen title now announces view and date
    changes, Schedule day headers are exposed as headings for quick navigation, and
    timeline events offer "Move 15 minutes earlier/later" actions so the drag-to-
    reschedule gesture is reachable without dragging.

Fixed

  • Applying a change to "All events" of a repeating event from a later occurrence
    no longer drops the earlier ones. Dragging an occurrence to a new time (or
    editing one) and then choosing "All events" now shifts the whole series by the
    amount you moved it, keeping every occurrence, instead of moving the series
    start onto the occurrence you touched and silently removing the ones before it.
    Choosing "This event" or "This and following" was unaffected.
  • The Schedule view's event window now follows the date. Previously it was fixed
    at app start, so leaving the app open across one or more midnights slowly
    shrank how far ahead the agenda showed events. It now re-anchors as the day
    changes.
  • Natural-language quick add no longer misreads the everyday words "sun", "sat",
    and "wed" as weekdays, so a phrase like "enjoy the sun" stays a plain title.
    Spelled-out names ("sunday") and qualified forms ("next sun") still set the
    date. A parsed zero-length time ("for 0 minutes") now falls back to the
    default event length instead of creating a 24-hour event.
  • Opening an existing event to edit (or duplicating one) now shows a brief
    loading spinner until its details finish loading, instead of a blank form.
    This prevents an edit made in that first moment, such as changing the time,
    from being silently discarded when the event's data lands a moment later.
    This was only reachable when the load was slow (large or syncing calendars,
    slower devices). Creating a new event is unaffected.
  • Events on read-only calendars (such as holidays, birthdays, and subscribed
    calendars) no longer show Edit and Delete buttons that could never work. When
    a delete is rejected for any reason, for example a read-only calendar or
    calendar permission revoked while the app is open, the app now shows a brief
    message instead of failing silently.
  • A repeating event whose "ends on" date was set earlier than its start date no
    longer saves as an event with no occurrences that silently disappears. The
    date picker now blocks those dates, and the save is rejected if one slips
    through.
  • Deleting "this and following events" from the first occurrence of a repeating
    event now removes the whole series cleanly, instead of leaving an invisible
    leftover event behind that could resurface when syncing.
  • The highlighted "today" now updates after a device time-zone change, for
    example when travelling across the date line, instead of staying on the
    previous day until the app is restarted.

v0.20.0

06 Jun 23:14
35bc64d

Choose a tag to compare

Added

  • Widget appearance settings (Settings > Widgets): the home-screen agenda and
    month widgets can now use their own theme (Follow app, System, Light, Dark, or
    AMOLED) independent of the app theme, and an optional translucent background
    that lets the wallpaper show through. Existing widgets keep following the app
    theme until changed.

Changed

  • The Settings screen is now organized into collapsible sections. It opens with
    General expanded and the rest collapsed, so it is shorter and easier to scan;
    tap a section header to expand or collapse it.
  • Settings sections reordered: Widgets now sits below Notifications.
  • Month scroll style moved into the General section, just below Default view.
  • The month view now defaults to continuous (endless vertical scroll) instead of
    paged. Switch back any time in Settings > General > Month scroll style.
  • Week can now start on any day, not just Sunday, Monday, or Saturday.
  • The mini-month panel (the split view in Week, 3-Day, Day, and Schedule) now
    changes months by swiping left or right instead of arrow buttons, and
    switching months moves the view to the first of that month.

Fixed

  • Deleting a single occurrence of a repeating event ("this event only") no
    longer removes the whole series. The other occurrences now stay.
  • Editing a single occurrence of a repeating event ("this event only") no
    longer removes the whole series. Only that occurrence changes; the rest
    stay. The edited occurrence becomes its own one-off event.
  • A repeating event with an end date now stops on the correct day in time zones
    other than UTC. The final occurrence on the end date is no longer dropped.
  • Editing a repeating event no longer changes its stored time zone to the
    device's. An event created in (or imported from) another time zone keeps its
    original zone, so its later occurrences stay put instead of shifting.
  • Saving an event whose end is before its start is now rejected instead of
    silently storing an inverted or zero-length time range.
  • Editing "this and all following" on a repeating event that recurs on specific
    weekdays (for example an imported every-Monday-and-Wednesday series) now keeps
    those weekdays on the later occurrences instead of repeating every day.
  • A delete or drag-to-reschedule that the calendar storage rejects no longer
    looks like it worked: the event stays visible (delete) or snaps back to its
    original time (drag) instead of silently appearing to change.
  • A cancelled occurrence synced from another calendar (for example an event
    cancelled in Google Calendar) is now hidden from the calendar views, search,
    and widgets instead of lingering struck-through.
  • Opening a malformed timed event whose stored end equals its start (for
    example a zero-length row from an import) no longer leaves the editor stuck.
    Its end is shown as the default event duration so it can be edited and saved.

v0.19.0

05 Jun 16:54
v0.19.0
46bb43e

Choose a tag to compare

Added

  • Home-screen agenda widget. A resizable, scrollable list of your upcoming events grouped by day (Today, Tomorrow, then by weekday), in your chosen light or dark theme, showing only the calendars you have visible. Tap an event to open it, or the header to open the app. It refreshes when your calendar changes and rolls over at midnight.
  • Home-screen month widget. The current month as a grid, with each day's events as calendar-colored chips, multi-day events spanning every day they cover as a continuous band (and a +N count when a day has more), and today circled. Tap a day to open it in Schedule view, or the month header to open Month view. It follows your theme, week-start, and visible calendars.

Fixed

  • Creating or saving a repeating all-day event no longer crashes.
  • The app no longer crashes when the calendar storage rejects a change or access is revoked mid-session.
  • Editing a repeating event without changing its repeat settings no longer shifts when the series ends or drops repeat details the editor does not show.
  • The agenda widget now caps how many events it lists and adds a "+N more" row, so a very busy two weeks can no longer make it fail to load.
  • Screen readers can now open events, and hear status (tentative or cancelled) and full dates, across the Week, Day, 3-Day, Month, Schedule, Search, and Year views.
  • Several more all-day, recurrence, and reminder fixes. See the full list in CHANGELOG.md.

Known issues

  • Deleting only this occurrence of a repeating event currently removes the whole series instead. A fix is coming soon. Until then, avoid the single-occurrence delete on repeating events.

Install the attached asala-calendar-v0.19.0.apk (signed). Obtainium is the recommended path for auto-updates. See CHANGELOG.md for full history.

v0.18.0

31 May 06:44
v0.18.0
b0d359c

Choose a tag to compare

First full (non-pre-release) build.

Added

  • Year view — a scrollable overview of the whole year as a 3-column grid of mini-months, with today highlighted and dots on days that have events. Tap a day to open it in Day view, or a month name to open Month view. Pick it from the view switcher or set it as your default view.

Changed

  • The continuous (scrolling) Month view now shows only each month's own days. Where a month does not start or end on a week boundary the surrounding cells are left blank instead of filled with the previous and next month's dates, so consecutive months no longer run together. The paged Month view is unchanged and still shows the adjacent days.
  • Views now switch from a button in the top bar — a dropdown of all views with the current one checked — instead of from the navigation drawer. The drawer now holds only your calendars and Settings.

Install the attached asala-calendar-v0.18.0.apk (signed). See CHANGELOG.md for full history.

v0.17.0

31 May 02:35
v0.17.0
53325ed

Choose a tag to compare

v0.17.0 Pre-release
Pre-release

Added

  • Custom event and calendar colors: tap "+" in any color picker to choose a free color with an HSV wheel or a hex code. Custom colors are stored on this device only and are not synced to other apps or devices.
  • Duplicate an event: the event detail sheet now has a Duplicate action that opens the editor prefilled with a copy to tweak and save separately. Duplicating a repeating event creates a single one-off.
  • A "Support Asala" link in Settings, under About, that opens the project's Ko-fi page.

Changed

  • The Settings "About" section is now a single compact block: app name, version, and license on two small lines, with a Source / Licenses / Support action row.
  • In "Local only" and "Sync only" modes the excluded accounts are fully hidden: gone from the drawer and from the Settings hidden-accounts list.

Fixed

  • "Sync only" calendar source now also hides on-device (local) calendar events from the timeline, not just from the drawer and event editor.

Install the signed app-release.apk below. Pre-release software; use at your own discretion.

v0.16.0

30 May 23:57
becde49

Choose a tag to compare

v0.16.0 Pre-release
Pre-release

Changed

  • Events that cross midnight now read as one event in two parts, each with a "1/2" / "2/2" continuation badge and one meaningful time, instead of the next-day slice looking like a separate event at midnight. Applies to Week, Day, 3-Day, and Schedule views.
  • The event-editor calendar picker now shows each calendar as a color-dotted chip in a side-scrolling row, with an account selector above it when more than one account has calendars.

Pre-release. Signed APK (app-release.apk) attached.