Radicale

Latest version: v3.5.0

Safety actively analyzes 723200 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 11

3.0.3

* Fix internal server on OpenBSD

3.0.2

* Use 403 response for supported-report and valid-sync-token errors
* Internal server: Handle missing IPv6 support

3.0.1

* Fix XML error messages

3.0.0

This release is incompatible with previous releases.
See the upgrade checklist below.

* Parallel write requests
* Support PyPy
* Protect against XML denial-of-service attacks
* Check for duplicated UIDs in calendars/address books
* Only add missing UIDs for uploaded whole calendars/address books
* Switch from md5 to sha256 for UIDs and tokens
* Code cleanup:
* All plugin interfaces were simplified and are incompatible with
old plugins
* Major refactor
* Never sanitize paths multiple times (check if they are sanitized)
* Config
* Multiple configuration files separated by `:` (resp. `;`
on Windows)
* Optional configuration files by prepending file path with `?`
* Check validity of every configuration file and command line
arguments separately
* Report the source of invalid configuration parameters in
error messages
* Code cleanup:
* Store configuration as parsed values
* Use Schema that describes configuration and allow plugins to apply
their own schemas
* Mark internal settings with `_`
* Internal server
* Bind to IPv4 and IPv6 address, when both are available for hostname
* Set default address to `localhost:5232`
* Remove settings for SSL ciphers and protocol versions (enforce safe
defaults instead)
* Remove settings for file locking because they are of little use
* Remove daemonization (should be handled by service managers)
* Logging
* Replace complex Python logger configuration with simple
`logging.level` setting
* Write PID and `threadName` instead of cryptic id's in log messages
* Use `wsgi.errors` for logging (as required by the WSGI spec)
* Code cleanup:
* Don't pass logger object around (use `logging.getLogger()`
instead)
* Auth
* Use `md5` as default for `htpasswd_encryption` setting
* Move setting `realm` from section `server` to `auth`
* Rights
* Use permissions `RW` for non-leaf collections and `rw` for
address books/calendars
* New permission `i` that only allows access with HTTP method GET
(CalDAV/CardDAV is susceptible to expensive search requests)
* Web
* Add upload dialog for calendars/address books from file
* Show startup loading message
* Show warning if JavaScript is disabled
* Pass HTML Validator
* Storage
* Check for missing UIDs in items
* Check for child collections in address books and calendars
* Code cleanup:
* Split BaseCollection in BaseStorage and BaseCollection

Upgrade checklist

* Config
* Some settings were removed
* The default of `auth.htpasswd_encryption` changed to `md5`
* The setting `server.realm` moved to `auth.realm`
* The setting `logging.debug` was replaced by `logging.level`
* The format of the `rights.file` configuration file changed:
* Permission `r` replaced by `Rr`
* Permission `w` replaced by `Ww`
* New permission `i` added as subset of `r`
* Replaced variable `%(login)s` by `{user}`
* Removed variable `%(path)s`
* `{` must be escaped as `{{` and `}` as `}}` in regexes
* File system storage
* The storage format is compatible with Radicale 2.x.x
* Run `radicale --verify-storage` to check for errors
* Custom plugins:
* `auth` and `web` plugins require minor adjustments
* `rights` plugins must be adapted to the new permission model
* `storage` plugins require major changes

2.1.10

Not secure
This release is compatible with version 2.0.0.

* Update required versions for dependencies
* Get `RADICALE_CONFIG` from WSGI environ
* Improve HTTP status codes
* Fix race condition in storage lock creation
* Raise default limits for content length and timeout
* Log output from hook

2.1.9

Not secure
This release is compatible with version 2.0.0.

* Specify versions for dependencies
* Move WSGI initialization into module
* Check if `REPORT` method is actually supported
* Include `rights` file in source distribution
* Specify `md5` and `bcrypt` as extras
* Improve logging messages
* Windows: Fix crash when item path is a directory

Page 5 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.