This release aims to mark a checkpoint in the current codebase, now considered stable. And from now on the idea is to keep track of breaking changes, and make new releases when needed.
What's Changed
- Require eTag values by @rfc2822 in #10
- Interpret Last-Modified GMT times as GMT and not as local timezone by @rfc2822 in #13
- Add instructions on how to work with files to README by @jacobras in #14
- Added forks by @ArnyminerZ in #21
- Added Gradle TOML file with dependencies declarations by @siarhei-luskanau in #17
- Use Java 8 Time API for dates and times by @rfc2822 in #23
- Document automatic trailing slash generation in Response.parse() by @rfc2822 in #27
- ResourceType: add CS:calendar-proxy-read/write by @rfc2822 in #29
- MKCOL: append trailing slash, allow other MKCOL HTTP methods by @rfc2822 in #31
- Use packages to group properties by namespace by @rfc2822 in #32
- Add DavResource.get() that returns okhttp Response by @rfc2822 in #38
- COPY, MOVE: correctly set Overwrite header by @rfc2822 in #40
- Add WebDAV-Push draft properties by @rfc2822 in #33
- Simplify UrlUtils.equals(), fix percent sign in tests by @rfc2822 in #43
- XmlUtils.newPullParser: enable FEATURE_RELAXED if available by @rfc2822 in #44
- Add optional headers to DavResource:mkCol() by @ZetaTom in #46
- Added post method to
DavResourceby @ArnyminerZ in #47 - Got rid of commons dependency by @ArnyminerZ in #49
- Update Logger usage by @rfc2822 in #50
- Improve null-safety in Factories and cleanup by @ArnyminerZ in #53
- Simplify UrlUtils.equals() by @rfc2822 in #54
- Added
CalendarTimezoneIdby @ArnyminerZ in #57 - Incorporate latest changes from WebDAV-Push by @ArnyminerZ in #60
- Make all properties data classes by @ArnyminerZ in #62
- Latest elements from WebDAV-Push by @ArnyminerZ in #64
- Update WebPushTest and SubscriptionPublicKey to use VAPID keys by @rfc2822 in #65
- Add support for sending additional headers with put requests by @sunkup in #66
ServiceUnavailableException: addgetDelayUntilby @rfc2822 in #67- Update copyright notice, add SPDX tags by @rfc2822 in #69
- Disable logging of digest password by @rfc2822 in #70
- Use HrefList only for multiple hrefs by @rfc2822 in #71
- Add possibility to follow redirects at options request by @sunkup in #76
- Improve tests / KDoc by @rfc2822 in #79
- Remove DavException usage for parser creation and add tests by @rfc2822 in #82
- Improve
DavExceptionconstruction by @rfc2822 in #83 - Add monthly Dependabot by @rfc2822 in #84
- Add groups to Dependabot configuration by @rfc2822 in #90
- Make DavException and HttpException immutable; provide status code for HttpException by @rfc2822 in #94
- Added ktor-version in dedicated package by @patrickunterwegs in #95
- Moved all okhttp code to dedicated okhttp package in order to prepare… by @patrickunterwegs in #92
- Create specific
HREFdefinition forHrefListPropertyby @ArnyminerZ in #105 - Fixed possible crash when url has no segments by @patrickunterwegs in #106
- Check if locationSegments has segments before omitting by @patrickunterwegs in #107
- Use ktor's
HttpHeaderseverywhere, and add warning about ktor-okhttp in README by @ArnyminerZ in #110 - Add mappers between HttpUrl and Ktor Url by @rfc2822 in #112
- Make callbacks that use
Responsesuspending by @rfc2822 in #114 - [Ktor] Support streaming PUT/POST by @rfc2822 in #116
- Refactor HEAD request in DavResource by @rfc2822 in #117
- Add extension methods for parsing ContentType and Url by @rfc2822 in #118
- Simplify Ktor und dav4jvm calls, use
runTestin tests by @rfc2822 in #119 - [Ktor] Correctly handle request and response bodies in exceptions by @rfc2822 in #124
- [Ktor] Use scoped
execute()for streaming responses by @rfc2822 in #122 - Use centralized classes for property names by @rfc2822 in #126
- Remove remaining redundant property names by @rfc2822 in #129
- Fix
Responsenot appending trailing slash to collections by @rfc2822 in #130 - Separate data classes and parser by @rfc2822 in #133
- [Response] extract href resolving logic by @rfc2822 in #134
SupportedReportSet: useProperty.Nameby @rfc2822 in #135- Refactor Ktor DavResourceTests by @rfc2822 in #137
- [Ktor] HttpException: fall back to default reason phrase by @rfc2822 in #141
- Fix repeated sending of POST/PUT requests by @rfc2822 in #157
- Rollback: Kotlin 2.3.0 update - CodeQL not ready by @ArnyminerZ in #145
ResponseParser: handle invalid URLs in response by @rfc2822 in #146- Fix URL parsing to handle URLDecodeException by @rfc2822 in #149
- [CI] jitpack: use Java 21 (required for latest Gradle version) by @rfc2822 in #153
- Allow calendar-query to fetch arbitrary WebDAV properties by @rfc2822 in #159
- Update Java version to 21 and remove
--no-daemonflag by @rfc2822 in #162 - Deprecate okhttp package by @rfc2822 in #170
- Refactor status check to uniformly handle Multi-Status responses by @rfc2822 in #171
- Fix date formatting/parsing for GMT timezone by @rfc2822 in #176
- Replace custom HTTP date parsing/formatting with Ktor functions by @rfc2822 in #177
- Fix MkCol to not send Content-Type when body is null by @rfc2822 in #178
- [Ktor] Disable compression for GET by default; update KDoc by @rfc2822 in #179
- Add tests for URL, error, property and response parsing by @rfc2822 in #180
- Add DavAddressBook tests and refactor DavResource tests by @rfc2822 in #181
- Replace SLF4J logging with JUL by @rfc2822 in #182
- [Ktor] Add Url.resolve extension by @rfc2822 in #186
- [Ktor] Refactor HTTP utilities to use top-level extensions by @rfc2822 in #187
- [Ktor] Handle null returns from Url.resolve and update tests by @rfc2822 in #188
- DavResource: Don't expose httpClient and logger by @rfc2822 in #189
- [ktor] Add
DomainAuthProviderby @cketti in #192 - Handle IP addresses in hostToDomain by @rfc2822 in #193
- Remove okhttp dependency by @sunkup in #191
- Adhere to best practices of library maintaince by @ArnyminerZ in #195
Dependency upgrades
- Upgrade dependencies by @ArnyminerZ in #35
- Upgrade Dokka to 2.0.0 by @ArnyminerZ in #77
- Upgrade okhttp to 5.1.0 by @ArnyminerZ in #74
- [CI] Bump actions/checkout from 4 to 5 by @dependabot[bot] in #89
- [CI] Bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #88
- [CI] Bump gradle/actions from 3 to 4 by @dependabot[bot] in #87
- Bump org.jetbrains.kotlin.jvm from 2.2.0 to 2.2.10 by @dependabot[bot] in #85
- [CI] Bump actions/setup-java from 4 to 5 by @dependabot[bot] in #86
- Bump the lib-dependencies group with 2 updates by @dependabot[bot] in #96
- Bump com.github.spotbugs:spotbugs-annotations from 4.9.5 to 4.9.6 in the lib-dependencies group by @dependabot[bot] in #97
- [CI] Bump gradle/actions from 4 to 5 in the ci-actions group by @dependabot[bot] in #98
- Bump the lib-dependencies group with 2 updates by @dependabot[bot] in #99
- Bump the lib-dependencies group with 4 updates by @dependabot[bot] in #100
- Bump the lib-dependencies group with 2 updates by @dependabot[bot] in #101
- Bump org.jetbrains.kotlin.jvm from 2.2.20 to 2.2.21 in the lib-dependencies group by @dependabot[bot] in #102
- Bump the lib-dependencies group with 4 updates by @dependabot[bot] in #108
- Bump the lib-dependencies group with 2 updates by @dependabot[bot] in #113
- Bump the lib-dependencies group with 2 updates by @dependabot[bot] in #127
- [CI] Bump actions/checkout from 5 to 6 in the ci-actions group by @dependabot[bot] in #128
- Bump the lib-dependencies group with 3 updates by @dependabot[bot] in #136
- Bump org.jetbrains.kotlin.jvm from 2.2.21 to 2.3.0 in the lib-dependencies group by @dependabot[bot] in #144
- Bump the lib-dependencies group with 4 updates by @dependabot[bot] in #150
- Bump gradle-wrapper from 9.3.0 to 9.3.1 in the lib-dependencies group by @dependabot[bot] in #151
- Bump org.jetbrains.kotlin.jvm from 2.2.21 to 2.3.10 in the lib-dependencies group by @dependabot[bot] in #152
- Bump the lib-dependencies group with 4 updates by @dependabot[bot] in #154
- Bump org.jetbrains.kotlin.jvm from 2.3.10 to 2.3.20 in the lib-dependencies group by @dependabot[bot] in #155
- Bump gradle-wrapper from 9.4.0 to 9.4.1 in the lib-dependencies group by @dependabot[bot] in #158
- [CI] Bump the ci-actions group with 2 updates by @dependabot[bot] in #160
- Bump the lib-dependencies group with 5 updates by @dependabot[bot] in #161
- [CI] Bump actions/upload-pages-artifact from 4 to 5 in the ci-actions group by @dependabot[bot] in #163
- Bump the lib-dependencies group with 5 updates by @dependabot[bot] in #164
- Bump gradle-wrapper from 9.4.1 to 9.5.0 in the lib-dependencies group by @dependabot[bot] in #165
- Bump org.jetbrains.kotlinx:kotlinx-coroutines-test from 1.10.2 to 1.11.0 in the lib-dependencies group by @dependabot[bot] in #166
- Bump the lib-dependencies group with 5 updates by @dependabot[bot] in #172
- Bump org.jetbrains.kotlin.jvm from 2.3.21 to 2.4.0 in the lib-dependencies group by @dependabot[bot] in #173
- Bump the lib-dependencies group with 3 updates by @dependabot[bot] in #174
- [CI] Bump actions/checkout from 6 to 7 in the ci-actions group by @dependabot[bot] in #183
- Bump gradle-wrapper from 9.5.1 to 9.6.0 in the lib-dependencies group across 1 directory by @dependabot[bot] in #185
- Bump the lib-dependencies group with 5 updates by @dependabot[bot] in #190
New Contributors
- @jacobras made their first contribution in #14
- @siarhei-luskanau made their first contribution in #17
- @ZetaTom made their first contribution in #46
- @sunkup made their first contribution in #66
- @dependabot[bot] made their first contribution in #89
- @patrickunterwegs made their first contribution in #92
- @cketti made their first contribution in #192
Full Changelog: 2.2.1...3.0.0