diff --git a/caldav-1.3.9.tar.gz b/caldav-1.3.9.tar.gz deleted file mode 100644 index b6bd1c5..0000000 --- a/caldav-1.3.9.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0eaf7537145383d89cf5b5802dea7d5669570741148fc572c53b70f286f1094a -size 106392 diff --git a/caldav-1.4.0.tar.gz b/caldav-1.4.0.tar.gz new file mode 100644 index 0000000..9328b41 --- /dev/null +++ b/caldav-1.4.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4317131127d8793f740cff2fd256f369321fa49ad750f83d6f31780f7c16c67b +size 141012 diff --git a/python-caldav.changes b/python-caldav.changes index 1dcaf42..348625f 100644 --- a/python-caldav.changes +++ b/python-caldav.changes @@ -1,3 +1,106 @@ +------------------------------------------------------------------- +Mon Nov 25 12:54:36 UTC 2024 - John Paul Adrian Glaubitz + +- 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 diff --git a/python-caldav.spec b/python-caldav.spec index 9f513b7..ea30357 100644 --- a/python-caldav.spec +++ b/python-caldav.spec @@ -1,5 +1,5 @@ # -# spec file +# spec file for package python-caldav # # Copyright (c) 2024 SUSE LLC # @@ -20,7 +20,7 @@ %global modname caldav Name: python-%{modname} -Version: 1.3.9 +Version: 1.4.0 Release: 0 Summary: CalDAV (RFC4791) client library for Python License: Apache-2.0 AND GPL-3.0-or-later @@ -28,9 +28,11 @@ Group: Development/Languages/Python URL: https://pypi.python.org/pypi/%{modname} Source: https://files.pythonhosted.org/packages/source/c/caldav/%{modname}-%{version}.tar.gz BuildRequires: %{python_module lxml} +BuildRequires: %{python_module pip} BuildRequires: %{python_module requests} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module vobject} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-icalendar @@ -56,19 +58,19 @@ events, modify events and properties). find caldav -name "*.py" | xargs sed -i '1 {/^#!/d}' %build -%python_build +%pyproject_wheel %check # almost all tests are online, would require # caldav server to run %install -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %files %{python_files} %license COPYING.APACHE COPYING.GPL -%{python_sitelib}/%{modname}-%{version}-py*.egg-info +%{python_sitelib}/%{modname}-*.dist-info %{python_sitelib}/%{modname}/ %changelog