|
|
|
@@ -1,3 +1,106 @@
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Mon Nov 25 12:54:36 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
|
|
|
|
|
|
|
|
|
- Update to 1.4.0
|
|
|
|
|
* Lots of work lifting the project up to more modern standards and improving code,
|
|
|
|
|
thanks to Georges Toth (github @sim0nx), Matthias Urlichs (github @smurfix) and
|
|
|
|
|
@ArtemIsmagilov. While this shouldn't matter for existing users, it will make
|
|
|
|
|
the library more future-proof.
|
|
|
|
|
* Quite long lists of fixes, improvements and some few changes, nothing big, main
|
|
|
|
|
focus is on ensuring compatibility with as many server implementations as possible.
|
|
|
|
|
See below.
|
|
|
|
|
* Partial workaround for https://github.com/python-caldav/caldav/issues/401 - some
|
|
|
|
|
servers require comptype in the search query -
|
|
|
|
|
* At least one bugfix, possibly fixing #399 - the `accept_invite`-method not working
|
|
|
|
|
- https://github.com/python-caldav/caldav/pull/403
|
|
|
|
|
* Fix/workaround for servers sending MAILTO in uppercase
|
|
|
|
|
- https://github.com/python-caldav/caldav/issues/388,
|
|
|
|
|
https://github.com/python-caldav/caldav/issues/399
|
|
|
|
|
and https://github.com/python-caldav/caldav/pull/403
|
|
|
|
|
* `get_duration`: make sure the algorithm doesn't raise an exception comparing dates
|
|
|
|
|
with timestamps - https://github.com/python-caldav/caldav/pull/381
|
|
|
|
|
* `set_due`: make sure the algorithm doesn't raise an exception comparing naive timestamps
|
|
|
|
|
with timezone timestamps - https://github.com/python-caldav/caldav/pull/381
|
|
|
|
|
* Code formatting / style fixes.
|
|
|
|
|
* Jason Yau introduced the possibility to add arbitrary headers - but things like User-Agent
|
|
|
|
|
would anyway always be overwritten. Now the custom logic takes precedence. Pull request
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/386, issue https://github.com/python-caldav/caldav/issues/385
|
|
|
|
|
* Search method has some logic handling non-conformant servers (loading data from the server
|
|
|
|
|
if the search response didn't include the icalendar data, ignoring trash from the Google
|
|
|
|
|
server when it returns data without a VTODO/VEVENT/VJOURNAL component), but it was inside
|
|
|
|
|
an if-statement and applied only if Expanded-flag was set to True. Moved the logic out
|
|
|
|
|
of the if, so it always applies.
|
|
|
|
|
* Revisited a problem that Google sometimes delivers junk when doing searches - credits to
|
|
|
|
|
github user @zhwei in https://github.com/python-caldav/caldav/pull/366
|
|
|
|
|
* There were some compatibility-logic loading objects if the server does not deliver icalendar
|
|
|
|
|
data (as it's suppsoed to do according to the RFC), but only if passing the `expand`-flag to
|
|
|
|
|
the `search`-method. Fixed that it loads regardless of weather `expand` is set or not.
|
|
|
|
|
Also in https://github.com/python-caldav/caldav/pull/366
|
|
|
|
|
* Tests - lots of work getting as much test code as possible to pass on different servers, and
|
|
|
|
|
now testing also for Python 3.12 - ref https://github.com/python-caldav/caldav/pull/368
|
|
|
|
|
https://github.com/python-caldav/caldav/issues/360 https://github.com/python-caldav/caldav/pull/447
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/369 https://github.com/python-caldav/caldav/pull/370
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/441 https://github.com/python-caldav/caldav/pull/443a
|
|
|
|
|
* The vcal fixup method was converting implicit dates into timestamps in the COMPLETED property, as
|
|
|
|
|
it should be a timestamp according to the RFC - however, the regexp failed on explicit dates.
|
|
|
|
|
Now it will take explicit dates too. https://github.com/python-caldav/caldav/pull/387
|
|
|
|
|
* Code cleanups and modernizing the code - https://github.com/python-caldav/caldav/pull/404
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/405 https://github.com/python-caldav/caldav/pull/406
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/407 https://github.com/python-caldav/caldav/pull/408
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/409 https://github.com/python-caldav/caldav/pull/412
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/414 https://github.com/python-caldav/caldav/pull/415
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/418 https://github.com/python-caldav/caldav/pull/419
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/417 https://github.com/python-caldav/caldav/pull/421
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/423 https://github.com/python-caldav/caldav/pull/430
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/431 https://github.com/python-caldav/caldav/pull/440
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/365
|
|
|
|
|
* Doc - improved examples, https://github.com/python-caldav/caldav/pull/427
|
|
|
|
|
* Purelymail sends absolute URLs, which is allowed by the RFC but was not supported by the library.
|
|
|
|
|
Fixed in https://github.com/python-caldav/caldav/pull/442
|
|
|
|
|
* In https://github.com/python-caldav/caldav/pull/366, I optimized the logic in `search` a bit, now
|
|
|
|
|
all data from the server not containing a VEVENT, VTODO or VJOURNAL will be thrown away. I believe
|
|
|
|
|
this won't cause any problems for anyone, as the server should only deliver such components, but
|
|
|
|
|
I may be wrong.
|
|
|
|
|
* Default User-Agent changed from `Mozilla/5` to `python-caldav/{__version__}`
|
|
|
|
|
- https://github.com/python-caldav/caldav/pull/392
|
|
|
|
|
* Change fixup log lvl to warning and merge diff log messages into related parent log by @MrEbbinghaus
|
|
|
|
|
in https://github.com/python-caldav/caldav/pull/438
|
|
|
|
|
* Mandatory fields are now added if trying to save incomplete icalendar data,
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/447
|
|
|
|
|
* Allow to reverse the sorting order on search function by @twissell
|
|
|
|
|
- in https://github.com/python-caldav/caldav/pull/433
|
|
|
|
|
* Work on integrating typing information. Details in
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/358
|
|
|
|
|
* Remove dependency on pytz. Details in https://github.com/python-caldav/caldav/issues/231
|
|
|
|
|
and https://github.com/python-caldav/caldav/pull/363
|
|
|
|
|
* Use setuptools-scm / pyproject.toml (modern packaging). Details in
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/364 and https://github.com/python-caldav/caldav/pull/367
|
|
|
|
|
* Debugging tool - an environment variable can be set, causing the library to spew out server
|
|
|
|
|
communications into files under /tmp. Details in https://github.com/python-caldav/caldav/pull/249
|
|
|
|
|
and https://github.com/python-caldav/caldav/issues/248
|
|
|
|
|
* Comaptibility matrix for posteo.de servers in `tests/compatibility_issues.py`
|
|
|
|
|
* Added sort_reverse option to the search function to reverse the sorting order of the found objects.
|
|
|
|
|
* It's now possible to specify if `expand` should be done on the server side or client side. Default
|
|
|
|
|
is as before, expanding on server side, then on the client side if unexpanded data is returned.
|
|
|
|
|
It was found that some servers does expanding, but does not add `RECURRENCE-ID`.
|
|
|
|
|
https://github.com/python-caldav/caldav/pull/447
|
|
|
|
|
* The debug information gathering hook has been in the limbo for a long time, due to security concerns:
|
|
|
|
|
- An attacker that has access to alter the environment the application is running under may cause a
|
|
|
|
|
DoS-attack, filling up available disk space with debug logging.
|
|
|
|
|
- An attacker that has access to alter the environment the application is running under, and access
|
|
|
|
|
to read files under /tmp (files being 0600 and owned by the uid the application is running under),
|
|
|
|
|
will be able to read the communication between the server and the client, communication that may
|
|
|
|
|
be private and confidential.
|
|
|
|
|
* Thinking it through three times, I'm not too concerned - if someone has access to alter the environment
|
|
|
|
|
the process is running under and access to read files run by the uid of the application, then this
|
|
|
|
|
someone should already be trusted and will probably have the possibility to DoS the system or gather
|
|
|
|
|
this communication through other means.
|
|
|
|
|
- Switch build system from setuptools to pyproject.toml
|
|
|
|
|
* Add python-pip and python-wheel to BuildRequires
|
|
|
|
|
* Replace %python_build with %pyproject_wheel
|
|
|
|
|
* Replace %python_install with %pyproject_install
|
|
|
|
|
* Update name for dist directory in %files section
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Jan 14 17:12:14 UTC 2024 - Axel Braun <axel.braun@gmx.de>
|
|
|
|
|
|
|
|
|
|