* Ignore `Not a directory` error for optional config paths * Fix upload of whole address book/calendar with UIDs that collide on case-insensitive filesystem * Remove runtime dependency on setuptools for Python>=3.9 * Windows: Block ADS paths
3.1.5
* Ignore configuration file if access is denied * Use F_FULLFSYNC with PyPy on MacOS * Fallback if F_FULLFSYNC is not supported by the filesystem
3.1.4
* Fallback if RENAME_EXCHANGE is not supported by the filesystem * Assume POSIX compatibility if `sys.platform` is not `win32`
3.1.3
* Redirect '…/.well-known/caldav' and '…/.well-known/carddav' to base prefix * Warning instead of error when base prefix ends with '/'
3.1.2
* Verify that base prefix starts with '/' but doesn't end with '/' * Improve base prefix log message * Never send body for HEAD requests (again)