DAVx⁵ Updates & Release Notes
21 updates curated from 1 source by the Releasebot Team. Last updated: Jul 19, 2026
- Jul 18, 2026
- Date parsed from source:Jul 18, 2026
- First seen by Releasebot:Jul 19, 2026
v4.5.18-ose
DAVx⁵ ships bug fixes and internal improvements, including better group handling, read-only collection syncing, HTTP proxy threading, and I/O task handling. It also refactors sync logic, updates build tooling, and adds a “tested with” link on login screens.
What's Changed
🪲 Bug fixes
- Propagate GroupMethod to AndroidAddressBook by @rfc2822 in #2651
- Read-only collections: reset instead of upload local changes by @rfc2822 in #2643
- Fix threading for building HTTP proxies by @ArnyminerZ in #2647
- Use IO dispatcher instead of default dispatcher by @cketti in #2653
- Introduce IoCoroutineWorker for I/O-bound tasks by @rfc2822 in #2665
🛠️ Refactoring
- [SyncManager] Replace SyncDispatcher by explicit concurrency control; make batch-downloading testable by @rfc2822 in #2616
✏️ Other changes
- Convert AccountSettingsActivity to use AccountId by @cketti in #2629
- Update AGP to 9.3.0 and enable parallel tooling by @rfc2822 in #2648
- Document F-Droid version parsing in AppVersion.kt by @rfc2822 in #2649
- Add link to "tested with" page on login screens by @rfc2822 in #2652
- Replace @MainDispatcher by Dispatchers.Main and add @RealMainDispatcher for tests by @rfc2822 in #2650
Full Changelog: v4.5.17.1-ose...v4.5.18-ose
Original source - Jul 17, 2026
- Date parsed from source:Jul 17, 2026
- First seen by Releasebot:Jul 19, 2026
v4.5.18-rc.1-ose
DAVx⁵ ships bug fixes and refactoring, including better Ktor authentication handling, improved group sync behavior, read-only collection handling, and threading fixes for HTTP proxies, plus Android build and login screen updates.
What's Changed
🪲 Bug fixes
- [Ktor] Update dav4jvm to fix preemptive Basic/Digest problem by @rfc2822 in #2633
- Propagate GroupMethod to AndroidAddressBook by @rfc2822 in #2651
- Read-only collections: reset instead of upload local changes by @rfc2822 in #2643
- Fix threading for building HTTP proxies by @ArnyminerZ in #2647
🛠️ Refactoring
- [SyncManager] Replace SyncDispatcher by explicit concurrency control; make batch-downloading testable by @rfc2822 in #2616
✏️ Other changes
- [Ktor] Use OkHttp logging format by @rfc2822 in #2631
- Convert AccountSettingsActivity to use AccountId by @cketti in #2629
- Update AGP to 9.3.0 and enable parallel tooling by @rfc2822 in #2648
- Document F-Droid version parsing in AppVersion.kt by @rfc2822 in #2649
- Add link to "tested with" page on login screens by @rfc2822 in #2652
- Replace @MainDispatcher by Dispatchers.Main and add @RealMainDispatcher for tests by @rfc2822 in #2650
- Use IO dispatcher instead of default dispatcher by @cketti in #2653
Full Changelog: v4.5.17.1-ose...v4.5.18-rc.1-ose
Original source All of your release notes in one feed
Join Releasebot and get updates from bitfire and hundreds of other software products.
- Jul 9, 2026
- Date parsed from source:Jul 9, 2026
- First seen by Releasebot:Jul 10, 2026
- Jul 9, 2026
- Date parsed from source:Jul 9, 2026
- First seen by Releasebot:Jul 10, 2026
- Modified by Releasebot:Jul 19, 2026
v4.5.17-ose
DAVx⁵ releases bug fixes and internal improvements, including better Ktor and OAuth handling, improved XML and JSON content negotiation, cleaner logging, stronger vCard phone mapping, and database schema updates. It also updates translations and testing support.
What's Changed
🪲 Bug fixes
[Ktor] Handle explicit Content-Encoding: identity by @rfc2822 in #2618
Add validation and tests for jtx objects by @rfc2822 in #2620
Send proper Accept headers for XML, make JSON content negotiation optional by @rfc2822 in #2624
🛠️ Refactoring
[ktor] Use ktor-client-auth by @cketti in #2599
[Ktor] Migrate OAuth to ktor-client-auth by @rfc2822 in #2601
Make HttpClientBuilder immutable by @rfc2822 in #2610
[ktor] Replace okhttp mock server in testing with ktor-client-mock MockEngine by @ArnyminerZ in #2596
✏️ Other changes
Fix java.util.Logger parameter formatting in synctools by @rfc2822 in #2604
Finish MessageFormat logging cleanup by @rfc2822 in #2607
Preserve TEL ext= URI parameter when mapping vCard phone numbers to Android by @mvanhorn in #2558
Add HttpUrl.toKtorUrl() helper for tests by @cketti in #2602
Hide activity intent details by @cketti in #2612
Add account and account_setting tables to DB schema by @rfc2822 in #2613
Introduce AccountId type by @cketti in #2615
Translations update from Hosted Weblate by @weblate in #2628
New Contributors
@mvanhorn made their first contribution in #2558
Full Changelog: v4.5.16-ose...v4.5.17-ose
Original source - Jul 6, 2026
- Date parsed from source:Jul 6, 2026
- First seen by Releasebot:Jul 7, 2026
v4.5.16-ose
DAVx⁵ adds RAM info to debug output, fixes several sync and parsing bugs, and continues a major Ktor migration across WebDAV, HTTP, and synchronization. It also updates ical4j, improves memory handling, and includes broad refactoring and translation updates.
What's Changed
✨ New features
Add RAM info to debug info by @sunkup in #2527
🪲 Bug fixes
Run garbage collection when ical4j's ZoneIdPool runs empty by @cketti in #2526
Remove duplicate ez-vcard version from product ID by @rfc2822 in #2534
HTTP-date parsing error: add regression test, fix by updating dav4jvm by @rfc2822 in #2541
Ignore unsupported recurring task exceptions by @rfc2822 in #2554
🛠️ Refactoring
[jtx rewrite] Add AttachmentsBuilder by @cketti in #2506
[jtx rewrite] Implement unknown properties handler by @sunkup in #2500
Reduce storage layer API surface: use iterate pattern instead of returning lists by @rfc2822 in #2509
[Contacts rewrite] Move photo access to AndroidAddressBook by @rfc2822 in #2512
[jtx rewrite] Implement date handlers by @ArnyminerZ in #2476
[Contacts rewrite] Create CRUD for raw contacts and groups by @rfc2822 in #2515
Add RecurrenceFieldsHandler with tests by @sunkup in #2502
[jtx rewrite] Deduplicate in the handlers by @sunkup in #2522
[jtx rewrite] Add remaining builders to JtxObjectBuilder by @sunkup in #2521
[jtx rewrite] Add AttachmentsHandler by @cketti in #2516
[jtx rewrite] Implement Completed PercentComplete and Priority handlers by @ArnyminerZ in #2514
[jtx rewrite] Add all handlers into JtxObjectHandler.entityHandlers by @ArnyminerZ in #2528
[jtx rewrite] Update JtxSyncManager to use new jtx board API by @cketti in #2529
Migrate WebDAV file access to Ktor by @rfc2822 in #2540
[Service detection] Add LogCapture for bounded log capture by @rfc2822 in #2543
Use FileLoggerFactory for service detection logging by @rfc2822 in #2546
[jtx rewrite] Remove old jtx code by @cketti in #2536
[ical4j] Use system ZoneIds for system-known TZIDs by @rfc2822 in #2539
[jtx rewrite] Implement reminders handler by @ArnyminerZ in #2538
Migrate service detection to Ktor by @rfc2822 in #2544
[Ktor] Use Ktor for WebDAV mount creation by @cketti in #2565
[Ktor] Use Ktor for synchronization by @ArnyminerZ in #2561
Replace OkHttp cookie handling with Ktor's HttpCookies plugin by @sunkup in #2570
Update DavException and HttpException imports from okhttp to ktor by @sunkup in #2574
Migrate HTTP client config from OkHttp to Ktor by @sunkup in #2577
[ktor] Clean up okhttp in DB, helpers etc by @cketti in #2575
SyncManager: Don't load all changed objects into memory at once by @cketti in #2581
Make LoginValidator and SyncValidator use suspending functions by @cketti in #2578
Update ical4j to 4.3.0 by @ArnyminerZ in #2583
Remove OkHttp client builder by @sunkup in #2584
Migrate many iterate callbacks to Flow by @rfc2822 in #2588
[.sync] Replace runBlocking with suspend functions by @rfc2822 in #2590
[Ktor] Remove duplicate OkHttp logging and compression interceptors by @rfc2822 in #2593
[Ktor] Add User-Agent header via Ktor plugin by @rfc2822 in #2592
[Ktor] Migrate socket timeout and proxy configuration by @rfc2822 in #2594
✏️ Other changes
Add Claude Code GitHub Workflow by @rfc2822 in #2530
[DmfsTask] Fix UID generation by @cketti in #2532
Update dependencies & bump version to 4.5.16-rc.1 by @rfc2822 in #2597
Translations update from Hosted Weblate by @weblate in #2598
Full Changelog: v4.5.15-ose...v4.5.16-ose
Original source Similar to DAVx⁵ with recent updates:
- Gemini updates358 release notes · Latest Jul 22, 2026
- Claude updates116 release notes · Latest Jul 14, 2026
- Proton updates24 release notes · Latest Jun 9, 2026
- Proton VPN Windows updates39 release notes · Latest Jul 3, 2026
- Proton Pass updates35 release notes · Latest Jul 11, 2026
- Mistral updates71 release notes · Latest Jul 9, 2026
- Jun 23, 2026
- Date parsed from source:Jun 23, 2026
- First seen by Releasebot:Jun 23, 2026
v4.5.16-beta.1-ose
DAVx⁵ ships a beta release with new debug RAM info, bug fixes for garbage collection, HTTP date parsing, recurring tasks and product ID handling, plus major rewrite work across jtx, Contacts and WebDAV file access.
What's Changed
✨ New features
- Add RAM info to debug info by @sunkup in #2527
🪲 Bug fixes
- Run garbage collection when ical4j's ZoneIdPool runs empty by @cketti in #2526
- Remove duplicate ez-vcard version from product ID by @rfc2822 in #2534
- HTTP-date parsing error: add regression test, fix by updating dav4jvm by @rfc2822 in #2541
- Ignore unsupported recurring task exceptions by @rfc2822 in #2554
🛠️ Refactoring
- [jtx rewrite] Add AttachmentsBuilder by @cketti in #2506
- [jtx rewrite] Implement unknown properties handler by @sunkup in #2500
- Reduce storage layer API surface: use iterate pattern instead of returning lists by @rfc2822 in #2509
- [Contacts rewrite] Move photo access to AndroidAddressBook by @rfc2822 in #2512
- [jtx rewrite] Implement date handlers by @ArnyminerZ in #2476
- [Contacts rewrite] Create CRUD for raw contacts and groups by @rfc2822 in #2515
- Add RecurrenceFieldsHandler with tests by @sunkup in #2502
- [jtx rewrite] Deduplicate in the handlers by @sunkup in #2522
- [jtx rewrite] Add remaining builders to JtxObjectBuilder by @sunkup in #2521
- [jtx rewrite] Add AttachmentsHandler by @cketti in #2516
- [jtx rewrite] Implement Completed PercentComplete and Priority handlers by @ArnyminerZ in #2514
- [jtx rewrite] Add all handlers into JtxObjectHandler.entityHandlers by @ArnyminerZ in #2528
- [jtx rewrite] Update JtxSyncManager to use new jtx board API by @cketti in #2529
- Migrate WebDAV file access to Ktor by @rfc2822 in #2540
- [Service detection] Add LogCapture for bounded log capture by @rfc2822 in #2543
- Use FileLoggerFactory for service detection logging by @rfc2822 in #2546
- [jtx rewrite] Remove old jtx code by @cketti in #2536
- [ical4j] Use system ZoneIds for system-known TZIDs by @rfc2822 in #2539
- [jtx rewrite] Implement reminders handler by @ArnyminerZ in #2538
✏️ Other changes
- Add Claude Code GitHub Workflow by @rfc2822 in #2530
- [DmfsTask] Fix UID generation by @cketti in #2532
Full Changelog: v4.5.15-ose...v4.5.16-beta.1-ose
Original source - Jun 20, 2026
- Date parsed from source:Jun 20, 2026
- First seen by Releasebot:Jun 21, 2026
v4.5.15-ose
DAVx⁵ ships bug fixes and major internal refactoring, including all-day event timezone handling, query exception handling, and broad task, calendar, contact, and jtx rewrite work that modernizes storage, builders, and handlers.
What's Changed
🪲 Bug fixes
Fix formatting in gplv3.html by @rfc2822 in #2349
Fix DateTimeException in DatePropertyTzMapper.normalizedDates() by @cketti in #2352
Excluding exceptions in queries of ...Recurring... classes by @rfc2822 in #2371
Fix all-day event timezone handling (always treat as UTC) by @rfc2822 in #2484
🛠️ Refactoring
DmfsTask: Migrate unknown properties and URL handlers to VToDo by @sunkup in #2346
DmfsTask: extract SequenceUpdater and move it out of storage access layer by @rfc2822 in #2354
Create DmfsTaskContract similar to EventsContract by @rfc2822 in #2362
[Dmfstask] Fix AlarmsHandler, CategoriesHandler, CommentsHandler, UnknownPropertiesHandler not using sub-values by @sunkup in #2358
[DmfsTask] Implement DmfsTaskHandler functionality by @cketti in #2367
Implement DmfsTaskBuilder.build and DmfsTaskBuilder.buildTask. by @ArnyminerZ in #2351
DmfsTask: update sync to use new storage/mapping API by @rfc2822 in #2366
DmfsTasks: Remove deprecated Task... classes (old API) by @rfc2822 in #2372
Re-organize legacy ical4android code and tests by @rfc2822 in #2373
[jtx rewrite] Add UidBuilder by @cketti in #2424
[jtx rewrite] Add SummaryBuilder by @cketti in #2430
[jtx rewrite] Add ComponentBuilder by @sunkup in #2431
[jtx rewrite] Add ExtendedStatusBuilder by @sunkup in #2432
[jtx rewrite] Add PriorityBuilder by @sunkup in #2434
[jtx rewrite] Add ClassificationBuilder by @sunkup in #2433
[jtx rewrite] Add PercentCompleteBuilder by @sunkup in #2435
[jtx rewrite] Add builder ContactBuilder -> CONTACT by @ArnyminerZ in #2441
[jtx rewrite] Add builder UrlBuilder -> URL by @ArnyminerZ in #2442
[jtx rewrite] Add builder LocationBuilder -> LOCATION+LOCATION_ALTREP by @ArnyminerZ in #2443
[jtx rewrite] Add builder GeoBuilder -> GEO_LAT+GEO_LONG by @ArnyminerZ in #2444
[jtx rewrite] Add RelatedToBuilder by @cketti in #2440
[jtx rewrite] Add UnknownPropertiesBuilder by @cketti in #2439
[jtx rewrite] Add CompletedBuilder by @sunkup in #2438
Don't inherit LocalJtxICalObject and LocalJtxCollection from synctools jtx Board API by @rfc2822 in #2447
[jtx rewrite] Add ColorBuilder by @sunkup in #2448
[jtx rewrite] Add CreatedBuilder by @sunkup in #2464
[jtx rewrite] Add LastModifiedBuilder by @sunkup in #2465
[jtx rewrite] Add handlers for Sequence and UID by @ArnyminerZ in #2466
[jtx rewrite] Add builder GeofenceRadiusBuilder -> GEOFENCE_RADIUS by @ArnyminerZ in #2446
[jtx rewrite] Add test for DirtyAndDeletedBuilder by @sunkup in #2468
Migrate to new JtxCollection storage backend class by @rfc2822 in #2471
[jtx rewrite] Add DtStampBuilder by @sunkup in #2467
[jtx rewrite] Add SequenceBuilder by @sunkup in #2463
[jtx rewrite] Add AttendeesBuilder by @cketti in #2472
Add LocationHandler and GeoHandler with tests by @sunkup in #2479
Add AttendeesHandler by @sunkup in #2481
[jtx rewrite] Add OrganizerHandler with tests by @sunkup in #2482
[jtx rewrite] Add OrganizerBuilder by @sunkup in #2469
Add ResourcesHandler by @sunkup in #2480
[jtx rewrite] Implement basic info handlers by @ArnyminerZ in #2474
(Re)move legacy ical4android code and tests by @rfc2822 in #2485
Move UnknownProperty to mapping package by @rfc2822 in #2487
Use test fixtures for shared test helpers by @rfc2822 in #2494
[Contacts rewrite] Merge existing contact/group contracts into AddressContract by @rfc2822 in #2489
[Contacts rewrite] Move extra column definitions and companion object from Local... to synctools by @rfc2822 in #2492
[Contacts rewrite] Decouple LocalAddressBook from AndroidAddressBook by @rfc2822 in #2493
[Contacts rewrite] Decouple LocalContact and LocalGroup from base classes by @rfc2822 in #2503
Close and deprecate AndroidContact and AndroidGroup by @rfc2822 in #2507
Add RelatedToHandler with tests by @sunkup in #2501
✏️ Other changes
Extract common Gradle configuration into build-logic module by @rfc2822 in #2276
Fix DmfsTasksContract imports by @rfc2822 in #2364
[jtx rewrite] Fix main/from confusion in builders by @cketti in #2437
Simplify TaskProvider by @rfc2822 in #2477
Add code style into repo; plus some reformatted sample files by @rfc2822 in #2478
Move app version info to centralized AppVersion object by @rfc2822 in #2495
Translations update from Hosted Weblate by @weblate in #2511
Full Changelog: v4.5.14-ose...v4.5.15-ose
Original source - Jun 5, 2026
- Date parsed from source:Jun 5, 2026
- First seen by Releasebot:Jun 4, 2026
- Modified by Releasebot:Jul 19, 2026
v4.5.14-ose
DAVx⁵ ships bug fixes for jtx Board all-day dates and alarm triggers, while refactoring synctools and DmfsTask handling, including recurring tasks and field builders. It also updates translations and uses a forked ical4j snapshot.
What's Changed
🪲 Bug fixes
Add VALUE=DATE for RECURRENCE-ID in all-day jtx Board items by @rfc2822 in #2297
Fix alarm trigger logic and simplify code by @rfc2822 in #2341
[jtxBoard] Add VALUE=DATE param to all-day ExDate tasks by @sunkup in #2347
Fix DateTimeException in DatePropertyTzMapper.normalizedDate by @ArnyminerZ in #2342
🛠️ Refactoring
[synctools] DmfsTask: Remove legacy ical4android.DmfsTask by @sunkup in #2288
Unify String.trimToNull in core/synctools by @rfc2822 in #2286
[DmfsTasks rewrite] implement property row handlers by @ArnyminerZ in #2273
DmfsTask: Migrate descriptive field builders to VToDo by @ArnyminerZ in #2294
Implement DmfsTaskList CRUD operations by @rfc2822 in #2300
[DmfsTask] Create DmfsTaskFieldHandler2 interface by @cketti in #2306
Add support for recurring tasks with DmfsRecurringTaskList by @rfc2822 in #2312
Replace DmfsTaskPropertyHandler with DmfsTaskFieldHandler by @ArnyminerZ in #2289
DmfsTask: Migrate sub field builders to VToDo by @sunkup in #2309
Migrate recurrence field builders to VToDo by @sunkup in #2308
DmfsTask: Migrate status field builders to VToDo by @sunkup in #2307
[DmfsTask] Update ClassificationHandler, ColorHandler, CompletedHandler by @cketti in #2311
Unify DmfsTaskListProvider API with calendar API by @rfc2822 in #2322
DmfsTask: Migrate main field builders to VToDo by @ArnyminerZ in #2321
Create draft for new API in DmfsTaskBuilder by @rfc2822 in #2330
DmfsTasks: draft DmfsTaskHandler with deprecation of DmfsTaskProcessor by @rfc2822 in #2333
[DmfsTask] Update GeoHandler, LocationHandler, OrganizerHandler by @cketti in #2319
[DmfsTask] Update PercentCompleteHandler, PriorityHandler, RecurrenceFieldsHandler by @cketti in #2336
DmfsTask: Update AlarmsHandler, CategoriesHandler and CommentsHandler by @sunkup in #2343
[DmfsTask] Update RelationsHandler, SequenceHandler, StartTimeHandler by @cketti in #2337
DmfsTask: Update RecurrenceFieldsBuilder to allow main task by @ArnyminerZ in #2335
DmfsTask: Migrate title, UID, and status handlers to VToDo by @sunkup in #2345
✏️ Other changes
Use (forked) snapshot version of ical4j by @cketti in #2344
Translations update from Hosted Weblate by @weblate in #2348
Full Changelog: v4.5.13-ose...v4.5.14-ose
Original source - May 29, 2026
- Date parsed from source:May 29, 2026
- First seen by Releasebot:May 29, 2026
- Modified by Releasebot:Jul 11, 2026
v4.5.13-rc.1-ose
DAVx⁵ fixes sync and calendar issues, improves contact and vCard handling, and refactors core data processing with synctools while updating CI and translations.
What's Changed
🪲 Bug fixes
Move AccountSettings access in CollectionScreenViewModel off main thread by @rfc2822 in #2217
PushDistributorManagerTest: fix mockking by @rfc2822 in #2215
Update calendar color generation to use RGB format by @rfc2822 in #2221
Create collection: treat 207 Multi-Status as error by @rfc2822 in #2223
Fix UnsupportedOperationException when parsing inline attachment in JtxICalObject by @rfc2822 in #2275
Work around ical4j/ical4j#880 with TemporalAdapterCompat by @rfc2822 in #2280
Gracefully handle ical4j property and Task toString() exceptions by @rfc2822 in #2279
Avoid NullPointerException when VTIMEZONE is missing STANDARD/DAYLIGHT by @cketti in #2285
🛠️ Refactoring
Move account/user data handling into synctools by @rfc2822 in #2218
Migrate DavCollectionRepository to Ktor by @rfc2822 in #2224
Update imports to use synctools instead of vcard4android by @rfc2822 in #2228
Update bitfire-synctools and refactor vCard generation to use StringWriter by @rfc2822 in #2241
Update bitfire-synctools and replace direct Contact vCard parsing/generating by refactored methods by @rfc2822 in #2242
Update bitfire-synctools and use new RawContactHandler/Builder by @rfc2822 in #2243
Move contact group membership and unknown property support to synctools by @rfc2822 in #2244
Integrate synctools as gradle submodule by @rfc2822 in #2250
[synctools tasks rewrite] Add RecurrenceFieldsHandler by @sunkup in #2274
⚙️ CI/CD
Remove AVD caching and add release branch to test workflow by @rfc2822 in #2225
✏️ Other changes
Unify copyright notice in synctools by @rfc2822 in #2251
Translations update from Hosted Weblate by @weblate in #2287
Full Changelog: v4.5.12-ose...v4.5.13-rc.1-ose
Original source - May 19, 2026
- Date parsed from source:May 19, 2026
- First seen by Releasebot:May 17, 2026
- Modified by Releasebot:May 19, 2026
v4.5.12-ose
DAVx⁵ ships a maintenance release with a Google Play workaround for WebDAV provider authority names, plus refreshed push settings, better sync and contact handling, improved compatibility, and broad dependency and build updates.
See also the announcement on Mastodon!
Note
We unfortunately had to change the content provider name for the DAVx⁵ WebDAV provider because Google Play didn't allow us to upload updates with the old name anymore (probably because of a Google Play bug, they say they'll fix it at some time). As a consequence:
If you use a DAVx⁵ WebDAV mount in another app (like Total Commander), the old mount in the other app will stop working and you'll have to add the mount again. No changes in DAVx⁵ needed.
It seems that there are unexpected problems with Seedvault because it contains the hardcoded old authority name in an allow list. Please see the discussion thread and seedvault-app/seedvault#1014 for more information.
What's Changed
Refactoring
- Rename NOTIFY_LICENSE to more generic NOTIFY_VALIDATION by @sunkup in #2115
- Split SyncValidator by @sunkup in #2138
- Separate Push distributor management and Push subscription management by @rfc2822 in #2157
- Update DmfsTask import path in task-related classes by @sunkup in #2192
- Run ShortcutManager.setDynamicShortcuts on IO dispatcher by @ArnyminerZ in #2197
- Fix various compile warnings by @rfc2822 in #2204
- LocalAddressBook: take groupMethod as argument by @rfc2822 in #2213
Dependencies
- Bump the app-dependencies group with 8 updates by @dependabot[bot] in #2064
- Bump the app-dependencies group with 8 updates by @dependabot[bot] in #2080
- PushRegistrationManager: fix repeated sending of requests by @rfc2822 in #2082
- Bump gradle-wrapper from 9.4.0 to 9.4.1 in the app-dependencies group by @dependabot[bot] in #2093
- [CI] Bump gradle/actions from 5 to 6 in the ci-actions group by @dependabot[bot] in #2109
- Bump the app-dependencies group with 8 updates by @dependabot[bot] in #2110
- Bump the app-dependencies group with 2 updates by @dependabot[bot] in #2129
- Bump the app-dependencies group with 4 updates by @dependabot[bot] in #2136
- [CI] Bump softprops/action-gh-release from 2 to 3 in the ci-actions group by @dependabot[bot] in #2135
- Bump com.google.guava:guava from 33.5.0-android to 33.6.0-android in the app-dependencies group by @dependabot[bot] in #2147
- Bump the app-dependencies group with 11 updates by @dependabot[bot] in #2163
- Bump the app-dependencies group with 3 updates by @dependabot[bot] in #2182
- Bump the app-dependencies group with 7 updates by @dependabot[bot] in #2208
Other changes
- Update ContactSyncManager to use IoDispatcher for I/O operations by @rfc2822 in #2066
- Add SUPPORT.md file by @rfc2822 in #2078
- Update README with improved content and formatting by @rfc2822 in #2081
- Fix PushRegistrationManager VAPID key check by @rfc2822 in #2088
- Add commented includeBuild configurations for debugging by @rfc2822 in #2096
- Remove dead code for jCard contact processing by @rfc2822 in #2079
- Enable lenient JSON parsing for improved compatibility by @rfc2822 in #2098
- Make lenientJson parser/serializer gc-able by @rfc2822 in #2101
- Fix pager state recreation on page count change by @rfc2822 in #2103
- AppTheme: fallback to OSE theme when Hilt Application is unavailable by @rfc2822 in #2102
- Derive debug info and WebDAV provider component names from package name by @rfc2822 in #2111
- Add gradle-daemon-jvm.properties and sync Java version by @rfc2822 in #2119
- Translations update from Hosted Weblate by @weblate in #2121
- Show number of (un)synced items in collection properties by @ArnyminerZ in #2114
- Add support for preconfigurationUrl by @ArnyminerZ in #2122
- Update CI label from "github_actions" to "ci-cd"; use build cache for prereleases by @rfc2822 in #2128
- AccountSettingsScreen: use dividers like in app settings by @rfc2822 in #2131
- CollectionScreen: improve local item counting by @rfc2822 in #2124
- Provide login validation for app variants by @sunkup in #2125
- ExternalUris: add DAVx5 Select info page path constant by @rfc2822 in #2139
- Translations update from Hosted Weblate by @weblate in #2140
- Add "Keep Android Open" dismissible action card by @sunkup in #2132
- Use auto-sizing text for intro slogan by @sunkup in #2146
- Bind push distributor expiration to endpoint by @rfc2822 in #2154
- Mention issue-before-PR in CONTRIBUTING.md and PR template by @rfc2822 in #2158
- Add initial AGENTS.md for code reviews by @rfc2822 in #2160
- Bump version to 4.5.12-beta.1 and update Copilot instructions by @rfc2822 in #2162
- Push settings screen: Minimum functionality by @sunkup in #2167
- Update compile SDK to 37 and AGP 9.x compatibility by @rfc2822 in #2177
- Push Settings: Add action card to set default UnifiedPush distributor by @sunkup in #2175
- Push Settings: Add push capability info card by @sunkup in #2178
- Update synctools to a version that uses ical4j 4.x by @rfc2822 in #2087
- Push settings screen: Reload on package changes by @sunkup in #2181
- Update synctools to fix R8 rules for release builds by @rfc2822 in #2191
- Rename ViewModels to ...ViewModel suffix by @rfc2822 in #2187
- [Push] Integrate new Push settings screen by @cketti in #2186
- Change debug info/WebDAV authority names to work around Google Play bug by @rfc2822 in #2201
- Translations update from Hosted Weblate by @weblate in #2202
- [Push] Update registration worker to actively select distributor by @ArnyminerZ in #2166
- Enable Kotlin annotation default target and clean up DI annotations by @rfc2822 in #2203
- Switch Kotlin annotation default target to param-property for core, too by @rfc2822 in #2212
Full Changelog: v4.5.10-ose...v4.5.12-ose
Original source - May 13, 2026
- Date parsed from source:May 13, 2026
- First seen by Releasebot:May 14, 2026
v4.5.12-rc.2-ose
DAVx⁵ ships a refreshed beta release with a new Push settings screen, UnifiedPush distributor selection, improved package-change reloading, compile and build compatibility updates, and various refactorings, dependency bumps, translation updates, and bug fixes.
What's Changed
Refactoring
- Update DmfsTask import path in task-related classes by @sunkup in #2192
- Run ShortcutManager.setDynamicShortcuts on IO dispatcher by @ArnyminerZ in #2197
- Fix various compile warnings by @rfc2822 in #2204
- LocalAddressBook: take groupMethod as argument by @rfc2822 in #2213
Dependencies
- Bump the app-dependencies group with 11 updates by @dependabot[bot] in #2163
- Bump the app-dependencies group with 3 updates by @dependabot[bot] in #2182
- Bump the app-dependencies group with 7 updates by @dependabot[bot] in #2208
Other changes
- Push settings screen: Minimum functionality by @sunkup in #2167
- Update compile SDK to 37 and AGP 9.x compatibility by @rfc2822 in #2177
- Push Settings: Add action card to set default UnifiedPush distributor by @sunkup in #2175
- Push Settings: Add push capability info card by @sunkup in #2178
- Update synctools to a version that uses ical4j 4.x by @rfc2822 in #2087
- Push settings screen: Reload on package changes by @sunkup in #2181
- Update synctools to fix R8 rules for release builds by @rfc2822 in #2191
- Rename ViewModels to ...ViewModel suffix by @rfc2822 in #2187
- [Push] Integrate new Push settings screen by @cketti in #2186
- Change debug info/WebDAV authority names to work around Google Play bug by @rfc2822 in #2201
- Translations update from Hosted Weblate by @weblate in #2202
- [Push] Update registration worker to actively select distributor by @ArnyminerZ in #2166
- Enable Kotlin annotation default target and clean up DI annotations by @rfc2822 in #2203
- Switch Kotlin annotation default target to param-property for core, too by @rfc2822 in #2212
Full Changelog: v4.5.12-beta.1-ose...v4.5.12-rc.2-ose
Original source - Apr 27, 2026
- Date parsed from source:Apr 27, 2026
- First seen by Releasebot:May 10, 2026
v4.5.12-beta.1-ose
DAVx⁵ ships a broad beta update with UI refactoring, cleaner dependency injection, and a split into core and OSE subprojects. It adds sync validation, push and account management improvements, better collection counting, and fixes for validation, parsing, and CI.
What's Changed
Refactoring
- [UI] Properly provide color schemes over DI by @rfc2822 in #1966
- Reduce BuildConfig dependencies by @rfc2822 in #1969
- Replace BuildConfig.allowCustomCerts by DI by @rfc2822 in #1971
- Move OSE code to separate package by @rfc2822 in #1974
- Split app into core and app-ose subprojects by @rfc2822 in #1975
- Better DI modules by @rfc2822 in #1982
- Add SyncValidator by @ArnyminerZ in #1987
- Remove unused launcher colors by @sunkup in #2000
- Replace Weblate engage WebView with a button by @ArnyminerZ in #2016
- Revert "[DAVx⁵ Select] Allow customization of account UI" by @ArnyminerZ in #2043
- Rename NOTIFY_LICENSE to more generic NOTIFY_VALIDATION by @sunkup in #2115
- Split SyncValidator by @sunkup in #2138
- Separate Push distributor management and Push subscription management by @rfc2822 in #2157
Dependencies
- Bump the app-dependencies group with 7 updates by @dependabot[bot] in #1985
- Bump the app-dependencies group with 6 updates by @dependabot[bot] in #2007
- Bump the app-dependencies group with 6 updates by @dependabot[bot] in #2028
- Bump androidx.compose:compose-bom from 2026.02.00 to 2026.02.01 in the app-dependencies group by @dependabot[bot] in #2046
- Update own lib dependencies by @rfc2822 in #2059
- Bump the app-dependencies group with 8 updates by @dependabot[bot] in #2064
- Bump the app-dependencies group with 8 updates by @dependabot[bot] in #2080
- PushRegistrationManager: fix repeated sending of requests by @rfc2822 in #2082
- Bump gradle-wrapper from 9.4.0 to 9.4.1 in the app-dependencies group by @dependabot[bot] in #2093
- [CI] Bump gradle/actions from 5 to 6 in the ci-actions group by @dependabot[bot] in #2109
- Bump the app-dependencies group with 8 updates by @dependabot[bot] in #2110
- Bump the app-dependencies group with 2 updates by @dependabot[bot] in #2129
- Bump the app-dependencies group with 4 updates by @dependabot[bot] in #2136
- [CI] Bump softprops/action-gh-release from 2 to 3 in the ci-actions group by @dependabot[bot] in #2135
- Bump com.google.guava:guava from 33.5.0-android to 33.6.0-android in the app-dependencies group by @dependabot[bot] in #2147
Other changes
- [CI] Fix tests after splitting into subprojects by @rfc2822 in #1991
- [CI] Rename main branch references by @rfc2822 in #1993
- Translations update from Hosted Weblate by @weblate in #1986
- Split subprojects: fix ProGuard configuration by @rfc2822 in #1995
- [CI] Fix paths and configuration after subproject split by @rfc2822 in #1997
- Reduce HTTP User-Agent string by @rfc2822 in #1998
- Remove @rfc2822 as code owner by @rfc2822 in #2002
- Issue templates: add needs triage by @rfc2822 in #2008
- Add account to beforeSync validation by @sunkup in #2011
- Update label format in qualified bug report template by @rfc2822 in #2021
- [ExternalUris] Add link to DAVx⁵ Select section on davx5.com homage in by @sunkup in #2030
- [DAVx⁵ Select] Allow customization of account UI by @ArnyminerZ in #2035
- Fix AppLicenseInfoProvider binding by @cketti in #2045
- Translations update from Hosted Weblate by @weblate in #2050
- Update ContactSyncManager to use IoDispatcher for I/O operations by @rfc2822 in #2066
- Add SUPPORT.md file by @rfc2822 in #2078
- Update README with improved content and formatting by @rfc2822 in #2081
- Fix PushRegistrationManager VAPID key check by @rfc2822 in #2088
- Add commented includeBuild configurations for debugging by @rfc2822 in #2096
- Remove dead code for jCard contact processing by @rfc2822 in #2079
- Enable lenient JSON parsing for improved compatibility by @rfc2822 in #2098
- Make lenientJson parser/serializer gc-able by @rfc2822 in #2101
- Fix pager state recreation on page count change by @rfc2822 in #2103
- AppTheme: fallback to OSE theme when Hilt Application is unavailable by @rfc2822 in #2102
- Derive debug info and WebDAV provider component names from package name by @rfc2822 in #2111
- Add gradle-daemon-jvm.properties and sync Java version by @rfc2822 in #2119
- Translations update from Hosted Weblate by @weblate in #2121
- Show number of (un)synced items in collection properties by @ArnyminerZ in #2114
- Add support for preconfigurationUrl by @ArnyminerZ in #2122
- Update CI label from "github_actions" to "ci-cd"; use build cache for prereleases by @rfc2822 in #2128
- AccountSettingsScreen: use dividers like in app settings by @rfc2822 in #2131
- CollectionScreen: improve local item counting by @rfc2822 in #2124
- Provide login validation for app variants by @sunkup in #2125
- ExternalUris: add DAVx5 Select info page path constant by @rfc2822 in #2139
- Translations update from Hosted Weblate by @weblate in #2140
- Add "Keep Android Open" dismissible action card by @sunkup in #2132
- Use auto-sizing text for intro slogan by @sunkup in #2146
- Bind push distributor expiration to endpoint by @rfc2822 in #2154
- Mention issue-before-PR in CONTRIBUTING.md and PR template by @rfc2822 in #2158
- Add initial AGENTS.md for code reviews by @rfc2822 in #2160
- Bump version to 4.5.12-beta.1 and update Copilot instructions by @rfc2822 in #2162
New Contributors
- @cketti made their first contribution in #2045
Full Changelog: v4.5.9-ose...v4.5.12-beta.1-ose
Original source - Mar 12, 2026
- Date parsed from source:Mar 12, 2026
- First seen by Releasebot:May 10, 2026
v4.5.10-ose
DAVx⁵ ships a refactored update with cleaner UI color handling, stronger dependency injection, and a split into core and app-ose subprojects. It also adds SyncValidator, trims unused launcher colors, and adjusts DAVx⁵ Select account UI customization.
What's Changed
Refactoring
[UI] Properly provide color schemes over DI by @rfc2822 in #1966
Reduce BuildConfig dependencies by @rfc2822 in #1969
Replace BuildConfig.allowCustomCerts by DI by @rfc2822 in #1971
Move OSE code to separate package by @rfc2822 in #1974
Split app into core and app-ose subprojects by @rfc2822 in #1975
Better DI modules by @rfc2822 in #1982
Add SyncValidator by @ArnyminerZ in #1987
Remove unused launcher colors by @sunkup in #2000
Replace Weblate engage WebView with a button by @ArnyminerZ in #2016
Revert "[DAVx⁵ Select] Allow customization of account UI" by @ArnyminerZ in #2043Dependencies
Bump the app-dependencies group with 7 updates by @dependabot[bot] in #1985
Bump the app-dependencies group with 6 updates by @dependabot[bot] in #2007
Bump the app-dependencies group with 6 updates by @dependabot[bot] in #2028
Bump androidx.compose:compose-bom from 2026.02.00 to 2026.02.01 in the app-dependencies group by @dependabot[bot] in #2046
Update own lib dependencies by @rfc2822 in #2059Other changes
[CI] Fix tests after splitting into subprojects by @rfc2822 in #1991
[CI] Rename main branch references by @rfc2822 in #1993
Translations update from Hosted Weblate by @weblate in #1986
Split subprojects: fix ProGuard configuration by @rfc2822 in #1995
[CI] Fix paths and configuration after subproject split by @rfc2822 in #1997
Reduce HTTP User-Agent string by @rfc2822 in #1998
Remove @rfc2822 as code owner by @rfc2822 in #2002
Issue templates: add needs triage by @rfc2822 in #2008
Add account to beforeSync validation by @sunkup in #2011
Update label format in qualified bug report template by @rfc2822 in #2021
[ExternalUris] Add link to DAVx⁵ Select section on davx5.com homage in by @sunkup in #2030
[DAVx⁵ Select] Allow customization of account UI by @ArnyminerZ in #2035
Fix AppLicenseInfoProvider binding by @cketti in #2045
Translations update from Hosted Weblate by @weblate in #2050New Contributors
@cketti made their first contribution in #2045
Full Changelog: v4.5.9-ose...v4.5.10-ose
Original source - Feb 4, 2026
- Date parsed from source:Feb 4, 2026
- First seen by Releasebot:May 10, 2026
v4.5.9-ose
DAVx⁵ releases improved backups reminders, calendar and vCard handling, and faster WebDAV and push registration updates, alongside CI fixes, dependency bumps, and translation and refactoring work for a smoother sync experience.
What's Changed
New features
- Add "Backups reminder" intro screen by @rfc2822 in #1937
- Migrate translation contributors credits to Weblate by @ArnyminerZ in #1918
- Set Calendars.IS_PRIMARY to 0 by default by @ArnyminerZ in #1945
Bug fixes
- Ignore test with flaky behaviour in CI by @sunkup in #1936
- Ignore AccountSettingsMigration21Test.testCancelsSyncAndClearsPendingState with flaky behaviour in CI by @sunkup in #1948
- Cache SSLSocketFactories to allow okhttp HTTPS connection reuse by @rfc2822 in #1942
- Update synctools to process phone numbers with VALUE=URI by @rfc2822 in #1956
- Update synctools to correctly process tel: URIs in vCards by @rfc2822 in #1963
Refactoring
- DmfsTaskList refactoring by @sunkup in #1934
- [WebDAV] Rewrite OpenDocumentThumbnailOperation to Ktor by @rfc2822 in #1931
- [WebDAV] Rewrite COPY/MOVE (including rename) to Ktor by @rfc2822 in #1940
- Update synctools by @sunkup in #1952
- [synctools] Tasks rewrite: Use reader/writer by @sunkup in #1959
Dependencies
- Bump the app-dependencies group across 1 directory with 2 updates by @dependabot[bot] in #1933
- Bump the app-dependencies group with 7 updates by @dependabot[bot] in #1944
- Bump the app-dependencies group with 8 updates by @dependabot[bot] in #1961
Other changes
- Remove Transifex config/scripts by @rfc2822 in #1924
- Update AGP to 9.0.0 by @rfc2822 in #1929
- AGP 9.0: update Hilt, remove Kotlin Android plugin by @rfc2822 in #1935
- Use Ktor for Push registration by @rfc2822 in #1930
- Translations update from Hosted Weblate by @weblate in #1943
- Update CODEOWNERS by @rfc2822 in #1949
- Translations update from Hosted Weblate by @weblate in #1955
- Sync files with davx5 repo by @rfc2822 in #1958
Full Changelog: v4.5.8-ose...v4.5.9-ose
Original source - Jan 19, 2026
- Date parsed from source:Jan 19, 2026
- First seen by Releasebot:May 10, 2026
v4.5.8-ose
DAVx⁵ ships bug fixes and polish, including better Nextcloud login handling, improved pagination, vCard photo decoding, and several refactorings. This release also updates dependencies, translations, and CI tooling for a smoother overall experience.
What's Changed
Bug fixes
- Skip flaky test when not moving into anticipated forever pending sync state by @sunkup in #1872
- Assume initial state for test updatesOwnerAccount by @sunkup in #1874
- Nextcloud Login Flow: handle non-success status codes by @rfc2822 in #1878
- [CI] Don't require build cache secrets by @rfc2822 in #1900
- Return null when owner account does not exist to skip flaky test by @sunkup in #1908
- Decode data URIs of vCard 3 PHOTOs by @rfc2822 in #1921
- Update dav4jvm to catch URLDecodeException when converting String to Ktor Url by @rfc2822 in #1923
Refactoring
- LocalTask: Don't subclass DmfsTask by @sunkup in #1862
- LocalTaskList: Stop subclassing DmfsTaskList by @sunkup in #1882
- Rename dismissInvalidResource to dismissCollectionError by @sunkup in #1887
- Improve pagination by @sunkup in #1911
- Remove r from lang names as per Fastlane requirement by @ArnyminerZ in #1897
Dependencies
- Bump the app-dependencies group with 4 updates by @dependabot[bot] in #1867
- [CI] Bump actions/cache from 4 to 5 in the ci-actions group by @dependabot[bot] in #1886
- Bump the app-dependencies group across 1 directory with 5 updates by @dependabot[bot] in #1902
- Bump org.unifiedpush.android:connector from 3.1.2 to 3.2.0 in the app-dependencies group by @dependabot[bot] in #1906
Other changes
- [CI] Actually use configuration cache by @rfc2822 in #1891
- CodeQL: run for main branch PRs by @rfc2822 in #1904
- Update README and CONTRIBUTING by @rfc2822 in #1905
- Enable HTTP connection reuse for okhttp by @rfc2822 in #1907
- Fastlane app descriptions: use fr-FR translation for French by @rfc2822 in #1912
- Translations update from Hosted Weblate by @weblate in #1913
- Translations update from Hosted Weblate by @weblate in #1915
- Translations update from Hosted Weblate by @weblate in #1917
- Translations update from Hosted Weblate by @weblate in #1928
New Contributors
- @weblate made their first contribution in #1913
Full Changelog: v4.5.7.1-ose...v4.5.8-ose
Original source
Curated by the Releasebot team
Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.