Add changelog for next release

This commit is contained in:
Unrud 2020-04-26 16:33:01 +02:00
parent d8450f666a
commit 2da55baa5a

76
NEWS.md
View File

@ -1,5 +1,81 @@
# News
## master
This release is incompatible with previous releases. See the upgrade checklist below.
* Common
* 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 with the format /path/to/config1:/path/to/config2
* Optional configuration files by prepending filepath 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 missin UIDs in items
* Check for child collections in address books and calendars
* Code cleanup:
* Split BaseCollection in BaseStorage and BaseCollection
## Upgrade checklist
* Configuration
* Some settings were removed
* The default of ``auth.htpasswd_encryption`` changed to ``md5``
* The settings ``server.realm`` moved to ``auth.realm``
* The settings ``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
* Filesystem storage
* The storage format is compatible with Radicale 2.x.x
* Run ``radiale --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 - Wild Radish
This release is compatible with version 2.0.0.