Format markdown

This commit is contained in:
Unrud 2020-04-26 16:31:52 +02:00
parent 7f2d5cea62
commit d8450f666a
2 changed files with 248 additions and 283 deletions

527
NEWS.md
View File

@ -1,218 +1,200 @@
News # News
====
2.1.10 - Wild Radish ## 2.1.10 - Wild Radish
--------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Update required versions for dependencies * Update required versions for dependencies
* Get ``RADICALE_CONFIG`` from WSGI environ * Get ``RADICALE_CONFIG`` from WSGI environ
* Improve HTTP status codes * Improve HTTP status codes
* Fix race condition in storage lock creation * Fix race condition in storage lock creation
* Raise default limits for content length and timeout * Raise default limits for content length and timeout
* Log output from hook * Log output from hook
2.1.9 - Wild Radish ## 2.1.9 - Wild Radish
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Specify versions for dependencies * Specify versions for dependencies
* Move WSGI initialization into module * Move WSGI initialization into module
* Check if ``REPORT`` method is actually supported * Check if ``REPORT`` method is actually supported
* Include ``rights`` file in source distribution * Include ``rights`` file in source distribution
* Specify ``md5`` and ``bcrypt`` as extras * Specify ``md5`` and ``bcrypt`` as extras
* Improve logging messages * Improve logging messages
* Windows: Fix crash when item path is a directory * Windows: Fix crash when item path is a directory
2.1.8 - Wild Radish ## 2.1.8 - Wild Radish
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Flush files before fsync'ing * Flush files before fsync'ing
2.1.7 - Wild Radish ## 2.1.7 - Wild Radish
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Don't print warning when cache format changes * Don't print warning when cache format changes
* Add documentation for ``BaseAuth`` * Add documentation for ``BaseAuth``
* Add ``is_authenticated2(login, user, password)`` to ``BaseAuth`` * Add ``is_authenticated2(login, user, password)`` to ``BaseAuth``
* Fix names of custom properties in PROPFIND requests with * Fix names of custom properties in PROPFIND requests with
``D:propname`` or ``D:allprop`` ``D:propname`` or ``D:allprop``
* Return all properties in PROPFIND requests with ``D:propname`` or * Return all properties in PROPFIND requests with ``D:propname`` or
``D:allprop`` ``D:allprop``
* Allow ``D:displayname`` property on all collections * Allow ``D:displayname`` property on all collections
* Answer with ``D:unauthenticated`` for ``D:current-user-principal`` property * Answer with ``D:unauthenticated`` for ``D:current-user-principal`` property
when not logged in when not logged in
* Remove non-existing ``ICAL:calendar-color`` and ``C:calendar-timezone`` * Remove non-existing ``ICAL:calendar-color`` and ``C:calendar-timezone``
properties from PROPFIND requests with ``D:propname`` or ``D:allprop`` properties from PROPFIND requests with ``D:propname`` or ``D:allprop``
* Add ``D:owner`` property to calendar and address book objects * Add ``D:owner`` property to calendar and address book objects
* Remove ``D:getetag`` and ``D:getlastmodified`` properties from regular * Remove ``D:getetag`` and ``D:getlastmodified`` properties from regular
collections collections
2.1.6 - Wild Radish ## 2.1.6 - Wild Radish
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Fix content-type of VLIST * Fix content-type of VLIST
* Specify correct COMPONENT in content-type of VCALENDAR * Specify correct COMPONENT in content-type of VCALENDAR
* Cache COMPONENT of calendar objects (improves speed with some clients) * Cache COMPONENT of calendar objects (improves speed with some clients)
* Stricter parsing of filters * Stricter parsing of filters
* Improve support for CardDAV filter * Improve support for CardDAV filter
* Fix some smaller bugs in CalDAV filter * Fix some smaller bugs in CalDAV filter
* Add X-WR-CALNAME and X-WR-CALDESC to calendars downloaded via HTTP/WebDAV * Add X-WR-CALNAME and X-WR-CALDESC to calendars downloaded via HTTP/WebDAV
* Use X-WR-CALNAME and X-WR-CALDESC from calendars published via WebDAV * Use X-WR-CALNAME and X-WR-CALDESC from calendars published via WebDAV
2.1.5 - Wild Radish ## 2.1.5 - Wild Radish
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Add ``--verify-storage`` command-line argument * Add ``--verify-storage`` command-line argument
* Allow comments in the htpasswd file * Allow comments in the htpasswd file
* Don't strip whitespaces from user names and passwords in the htpasswd file * Don't strip whitespaces from user names and passwords in the htpasswd file
* Remove cookies from logging output * Remove cookies from logging output
* Allow uploads of whole collections with many components * Allow uploads of whole collections with many components
* Show warning message if server.timeout is used with Python < 3.5.2 * Show warning message if server.timeout is used with Python < 3.5.2
2.1.4 - Wild Radish ## 2.1.4 - Wild Radish
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Fix incorrect time range matching and calculation for some edge-cases with * Fix incorrect time range matching and calculation for some edge-cases with
rescheduled recurrences rescheduled recurrences
* Fix owner property * Fix owner property
2.1.3 - Wild Radish ## 2.1.3 - Wild Radish
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Enable timeout for SSL handshakes and move them out of the main thread * Enable timeout for SSL handshakes and move them out of the main thread
* Create cache entries during upload of items * Create cache entries during upload of items
* Stop built-in server on Windows when Ctrl+C is pressed * Stop built-in server on Windows when Ctrl+C is pressed
* Prevent slow down when multiple requests hit a collection during cache warm-up * Prevent slow down when multiple requests hit a collection during cache warm-up
2.1.2 - Wild Radish ## 2.1.2 - Wild Radish
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Remove workarounds for bugs in VObject < 0.9.5 * Remove workarounds for bugs in VObject < 0.9.5
* Error checking of collection tags and associated components * Error checking of collection tags and associated components
* Improve error checking of uploaded collections and components * Improve error checking of uploaded collections and components
* Don't delete empty collection properties implicitly * Don't delete empty collection properties implicitly
* Improve logging of VObject serialization * Improve logging of VObject serialization
2.1.1 - Wild Radish Again ## 2.1.1 - Wild Radish Again
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Add missing UIDs instead of failing * Add missing UIDs instead of failing
* Improve error checking of calendar and address book objects * Improve error checking of calendar and address book objects
* Fix upload of whole address books * Fix upload of whole address books
2.1.0 - Wild Radish ## 2.1.0 - Wild Radish
-------------------
This release is compatible with version 2.0.0. This release is compatible with version 2.0.0.
* Built-in web interface for creating and managing address books and calendars * Built-in web interface for creating and managing address books and calendars
* can be extended with web plugins * can be extended with web plugins
* Much faster storage backend * Much faster storage backend
* Significant reduction in memory usage * Significant reduction in memory usage
* Improved logging * Improved logging
* Include paths (of invalid items / requests) in log messages * Include paths (of invalid items / requests) in log messages
* Include configuration values causing problems in log messages * Include configuration values causing problems in log messages
* Log warning message for invalid requests by clients * Log warning message for invalid requests by clients
* Log error message for invalid files in the storage backend * Log error message for invalid files in the storage backend
* No stack traces unless debugging is enabled * No stack traces unless debugging is enabled
* Time range filter also regards overwritten recurrences * Time range filter also regards overwritten recurrences
* Items that couldn't be filtered because of bugs in VObject are always * Items that couldn't be filtered because of bugs in VObject are always
returned (and a warning message is logged) returned (and a warning message is logged)
* Basic error checking of configuration files * Basic error checking of configuration files
* File system locking isn't disabled implicitly anymore, instead a new * File system locking isn't disabled implicitly anymore, instead a new
configuration option gets introduced configuration option gets introduced
* The permissions of the lock file are not changed anymore * The permissions of the lock file are not changed anymore
* Support for sync-token * Support for sync-token
* Support for client-side SSL certificates * Support for client-side SSL certificates
* Rights plugins can decide if access to an item is granted explicitly * Rights plugins can decide if access to an item is granted explicitly
* Respond with 403 instead of 404 for principal collections of non-existing * Respond with 403 instead of 404 for principal collections of non-existing
users when ``owner_only`` plugin is used (information leakage) users when ``owner_only`` plugin is used (information leakage)
* Authentication plugins can provide the login and password from the * Authentication plugins can provide the login and password from the
environment environment
* new ``remote_user`` plugin, that gets the login from the ``REMOTE_USER`` * new ``remote_user`` plugin, that gets the login from the ``REMOTE_USER``
environment variable (for WSGI server) environment variable (for WSGI server)
* new ``http_x_remote_user`` plugin, that gets the login from the * new ``http_x_remote_user`` plugin, that gets the login from the
``X-Remote-User`` HTTP header (for reverse proxies) ``X-Remote-User`` HTTP header (for reverse proxies)
2.0.0 - Little Big Radish ## 2.0.0 - Little Big Radish
-------------------------
This feature is not compatible with the 1.x.x versions. Follow our This feature is not compatible with the 1.x.x versions. Follow our
[migration guide](https://radicale.org/2.1.html#documentation/migration-from-1xx-to-2xx) if you want to switch from 1.x.x to [migration guide](https://radicale.org/2.1.html#documentation/migration-from-1xx-to-2xx) if you want to switch from 1.x.x to
2.0.0. 2.0.0.
* Support Python 3.3+ only, Python 2 is not supported anymore * Support Python 3.3+ only, Python 2 is not supported anymore
* Keep only one simple filesystem-based storage system * Keep only one simple filesystem-based storage system
* Remove built-in Git support * Remove built-in Git support
* Remove built-in authentication modules * Remove built-in authentication modules
* Keep the WSGI interface, use Python HTTP server by default * Keep the WSGI interface, use Python HTTP server by default
* Use a real iCal parser, rely on the "vobject" external module * Use a real iCal parser, rely on the "vobject" external module
* Add a solid calendar discovery * Add a solid calendar discovery
* Respect the difference between "files" and "folders", don't rely on slashes * Respect the difference between "files" and "folders", don't rely on slashes
* Remove the calendar creation with GET requests * Remove the calendar creation with GET requests
* Be stateless * Be stateless
* Use a file locker * Use a file locker
* Add threading * Add threading
* Get atomic writes * Get atomic writes
* Support new filters * Support new filters
* Support read-only permissions * Support read-only permissions
* Allow External plugins for authentication, rights management, storage and * Allow External plugins for authentication, rights management, storage and
version control version control
1.1.4 - Fifth Law of Nature ## 1.1.4 - Fifth Law of Nature
---------------------------
* Use ``shutil.move`` for ``--export-storage`` * Use ``shutil.move`` for ``--export-storage``
1.1.3 - Fourth Law of Nature ## 1.1.3 - Fourth Law of Nature
----------------------------
* Add a ``--export-storage=FOLDER`` command-line argument (by Unrud, see #606) * Add a ``--export-storage=FOLDER`` command-line argument (by Unrud, see #606)
1.1.2 - Third Law of Nature ## 1.1.2 - Third Law of Nature
---------------------------
* **Security fix**: Add a random timer to avoid timing oracles and simple * **Security fix**: Add a random timer to avoid timing oracles and simple
bruteforce attacks when using the htpasswd authentication method. bruteforce attacks when using the htpasswd authentication method.
* Various minor fixes. * Various minor fixes.
1.1.1 - Second Law of Nature ## 1.1.1 - Second Law of Nature
----------------------------
* Fix the owner_write rights rule * Fix the owner_write rights rule
1.1 - Law of Nature ## 1.1 - Law of Nature
-------------------
One feature in this release is **not backward compatible**: One feature in this release is **not backward compatible**:
* Use the first matching section for rights (inspired from daald) * Use the first matching section for rights (inspired from daald)
Now, the first section matching the path and current user in your custom rights Now, the first section matching the path and current user in your custom rights
file is used. In the previous versions, the most permissive rights of all the file is used. In the previous versions, the most permissive rights of all the
@ -222,192 +204,175 @@ specific rules at the top of the file independant from the generic ones.
Many **improvements in this release are related to security**, you should Many **improvements in this release are related to security**, you should
upgrade Radicale as soon as possible: upgrade Radicale as soon as possible:
* Improve the regex used for well-known URIs (by Unrud) * Improve the regex used for well-known URIs (by Unrud)
* Prevent regex injection in rights management (by Unrud) * Prevent regex injection in rights management (by Unrud)
* Prevent crafted HTTP request from calling arbitrary functions (by Unrud) * Prevent crafted HTTP request from calling arbitrary functions (by Unrud)
* Improve URI sanitation and conversion to filesystem path (by Unrud) * Improve URI sanitation and conversion to filesystem path (by Unrud)
* Decouple the daemon from its parent environment (by Unrud) * Decouple the daemon from its parent environment (by Unrud)
Some bugs have been fixed and little enhancements have been added: Some bugs have been fixed and little enhancements have been added:
* Assign new items to corret key (by Unrud) * Assign new items to corret key (by Unrud)
* Avoid race condition in PID file creation (by Unrud) * Avoid race condition in PID file creation (by Unrud)
* Improve the docker version (by cdpb) * Improve the docker version (by cdpb)
* Encode message and commiter for git commits * Encode message and commiter for git commits
* Test with Python 3.5 * Test with Python 3.5
1.0.1 - Sunflower Again ## 1.0.1 - Sunflower Again
-----------------------
* Update the version because of a **stupid** "feature"™ of PyPI * Update the version because of a **stupid** "feature"™ of PyPI
1.0 - Sunflower ## 1.0 - Sunflower
---------------
* Enhanced performances (by Mathieu Dupuy) * Enhanced performances (by Mathieu Dupuy)
* Add MD5-APR1 and BCRYPT for htpasswd-based authentication (by Jan-Philip Gehrcke) * Add MD5-APR1 and BCRYPT for htpasswd-based authentication (by Jan-Philip Gehrcke)
* Use PAM service (by Stephen Paul Weber) * Use PAM service (by Stephen Paul Weber)
* Don't discard PROPPATCH on empty collections (by Markus Unterwaditzer) * Don't discard PROPPATCH on empty collections (by Markus Unterwaditzer)
* Write the path of the collection in the git message (by Matthew Monaco) * Write the path of the collection in the git message (by Matthew Monaco)
* Tests launched on Travis * Tests launched on Travis
0.10 - Lovely Endless Grass ## 0.10 - Lovely Endless Grass
---------------------------
* Support well-known URLs (by Mathieu Dupuy) * Support well-known URLs (by Mathieu Dupuy)
* Fix collection discovery (by Markus Unterwaditzer) * Fix collection discovery (by Markus Unterwaditzer)
* Reload logger config on SIGHUP (by Élie Bouttier) * Reload logger config on SIGHUP (by Élie Bouttier)
* Remove props files when deleting a collection (by Vincent Untz) * Remove props files when deleting a collection (by Vincent Untz)
* Support salted SHA1 passwords (by Marc Kleine-Budde) * Support salted SHA1 passwords (by Marc Kleine-Budde)
* Don't spam the logs about non-SSL IMAP connections to localhost (by Giel van Schijndel) * Don't spam the logs about non-SSL IMAP connections to localhost (by Giel van Schijndel)
0.9 - Rivers ## 0.9 - Rivers
------------
* Custom handlers for auth, storage and rights (by Sergey Fursov) * Custom handlers for auth, storage and rights (by Sergey Fursov)
* 1-file-per-event storage (by Jean-Marc Martins) * 1-file-per-event storage (by Jean-Marc Martins)
* Git support for filesystem storages (by Jean-Marc Martins) * Git support for filesystem storages (by Jean-Marc Martins)
* DB storage working with PostgreSQL, MariaDB and SQLite (by Jean-Marc Martins) * DB storage working with PostgreSQL, MariaDB and SQLite (by Jean-Marc Martins)
* Clean rights manager based on regular expressions (by Sweil) * Clean rights manager based on regular expressions (by Sweil)
* Support of contacts for Apple's clients * Support of contacts for Apple's clients
* Support colors (by Jochen Sprickerhof) * Support colors (by Jochen Sprickerhof)
* Decode URLs in XML (by Jean-Marc Martins) * Decode URLs in XML (by Jean-Marc Martins)
* Fix PAM authentication (by Stepan Henek) * Fix PAM authentication (by Stepan Henek)
* Use consistent etags (by 9m66p93w) * Use consistent etags (by 9m66p93w)
* Use consistent sorting order (by Daniel Danner) * Use consistent sorting order (by Daniel Danner)
* Return 401 on unauthorized DELETE requests (by Eduard Braun) * Return 401 on unauthorized DELETE requests (by Eduard Braun)
* Move pid file creation in child process (by Mathieu Dupuy) * Move pid file creation in child process (by Mathieu Dupuy)
* Allow requests without base_prefix (by jheidemann) * Allow requests without base_prefix (by jheidemann)
0.8 - Rainbow ## 0.8 - Rainbow
-------------
* New authentication and rights management modules (by Matthias Jordan) * New authentication and rights management modules (by Matthias Jordan)
* Experimental database storage * Experimental database storage
* Command-line option for custom configuration file (by Mark Adams) * Command-line option for custom configuration file (by Mark Adams)
* Root URL not at the root of a domain (by Clint Adams, Fabrice Bellet, Vincent Untz) * Root URL not at the root of a domain (by Clint Adams, Fabrice Bellet, Vincent Untz)
* Improved support for iCal, CalDAVSync, CardDAVSync, CalDavZAP and CardDavMATE * Improved support for iCal, CalDAVSync, CardDAVSync, CalDavZAP and CardDavMATE
* Empty PROPFIND requests handled (by Christoph Polcin) * Empty PROPFIND requests handled (by Christoph Polcin)
* Colon allowed in passwords * Colon allowed in passwords
* Configurable realm message * Configurable realm message
0.7.1 - Waterfalls ## 0.7.1 - Waterfalls
------------------
* Many address books fixes * Many address books fixes
* New IMAP ACL (by Daniel Aleksandersen) * New IMAP ACL (by Daniel Aleksandersen)
* PAM ACL fixed (by Daniel Aleksandersen) * PAM ACL fixed (by Daniel Aleksandersen)
* Courier ACL fixed (by Benjamin Frank) * Courier ACL fixed (by Benjamin Frank)
* Always set display name to collections (by Oskari Timperi) * Always set display name to collections (by Oskari Timperi)
* Various DELETE responses fixed * Various DELETE responses fixed
0.7 - Eternal Sunshine ## 0.7 - Eternal Sunshine
----------------------
* Repeating events * Repeating events
* Collection deletion * Collection deletion
* Courier and PAM authentication methods * Courier and PAM authentication methods
* CardDAV support * CardDAV support
* Custom LDAP filters supported * Custom LDAP filters supported
0.6.4 - Tulips ## 0.6.4 - Tulips
--------------
* Fix the installation with Python 3.1 * Fix the installation with Python 3.1
0.6.3 - Red Roses ## 0.6.3 - Red Roses
-----------------
* MOVE requests fixed * MOVE requests fixed
* Faster REPORT answers * Faster REPORT answers
* Executable script moved into the package * Executable script moved into the package
0.6.2 - Seeds ## 0.6.2 - Seeds
-------------
* iPhone and iPad support fixed * iPhone and iPad support fixed
* Backslashes replaced by slashes in PROPFIND answers on Windows * Backslashes replaced by slashes in PROPFIND answers on Windows
* PyPI archive set as default download URL * PyPI archive set as default download URL
0.6.1 - Growing Up ## 0.6.1 - Growing Up
------------------
* Example files included in the tarball * Example files included in the tarball
* htpasswd support fixed * htpasswd support fixed
* Redirection loop bug fixed * Redirection loop bug fixed
* Testing message on GET requests * Testing message on GET requests
0.6 - Sapling ## 0.6 - Sapling
-------------
* WSGI support * WSGI support
* IPv6 support * IPv6 support
* Smart, verbose and configurable logs * Smart, verbose and configurable logs
* Apple iCal 4 and iPhone support (by Łukasz Langa) * Apple iCal 4 and iPhone support (by Łukasz Langa)
* KDE KOrganizer support * KDE KOrganizer support
* LDAP auth backend (by Corentin Le Bail) * LDAP auth backend (by Corentin Le Bail)
* Public and private calendars (by René Neumann) * Public and private calendars (by René Neumann)
* PID file * PID file
* MOVE requests management * MOVE requests management
* Journal entries support * Journal entries support
* Drop Python 2.5 support * Drop Python 2.5 support
0.5 - Historical Artifacts ## 0.5 - Historical Artifacts
--------------------------
* Calendar depth * Calendar depth
* MacOS and Windows support * MacOS and Windows support
* HEAD requests management * HEAD requests management
* htpasswd user from calendar path * htpasswd user from calendar path
0.4 - Hot Days Back ## 0.4 - Hot Days Back
-------------------
* Personal calendars * Personal calendars
* Last-Modified HTTP header * Last-Modified HTTP header
* ``no-ssl`` and ``foreground`` options * ``no-ssl`` and ``foreground`` options
* Default configuration file * Default configuration file
0.3 - Dancing Flowers ## 0.3 - Dancing Flowers
---------------------
* Evolution support * Evolution support
* Version management * Version management
0.2 - Snowflakes ## 0.2 - Snowflakes
----------------
* Sunbird pre-1.0 support * Sunbird pre-1.0 support
* SSL connection * SSL connection
* Htpasswd authentication * Htpasswd authentication
* Daemon mode * Daemon mode
* User configuration * User configuration
* Twisted dependency removed * Twisted dependency removed
* Python 3 support * Python 3 support
* Real URLs for PUT and DELETE * Real URLs for PUT and DELETE
* Concurrent modification reported to users * Concurrent modification reported to users
* Many bugs fixed (by Roger Wenham) * Many bugs fixed (by Roger Wenham)
0.1 - Crazy Vegetables ## 0.1 - Crazy Vegetables
----------------------
* First release * First release
* Lightning/Sunbird 0.9 compatibility * Lightning/Sunbird 0.9 compatibility
* Easy installer * Easy installer

View File

@ -1,5 +1,5 @@
Read Me # Read Me
=======
![Test](https://github.com/Kozea/Radicale/workflows/Test/badge.svg) ![Test](https://github.com/Kozea/Radicale/workflows/Test/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/Kozea/Radicale/badge.svg?branch=master)](https://coveralls.io/github/Kozea/Radicale?branch=master) [![Coverage Status](https://coveralls.io/repos/github/Kozea/Radicale/badge.svg?branch=master)](https://coveralls.io/github/Kozea/Radicale?branch=master)