Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,13 @@ In version 2.0, the requests library will be replaced with niquests or httpx. S

In version 2.0, support for python 3.7 and python 3.8 will be officially dropped. Master branch *should* support both as for now, but Python 3.7 is no longer tested.

## [1.5.0] - [Unreleased]
## [1.6.0] - [Unreleased]

### Fixed

* Scheduling support. It was work in progress many years ago, but uncompleted work was eventually committed to the project. I managed to get a DAViCal test server up and running with three test accounts, ran through the tests, found quite some breakages, but managed to fix up. https://github.com/python-caldav/caldav/pull/497

## [1.5.0] - 2025-05-24

Version 1.5 comes with support for alarms (searching for alarms if the server permits and easy interface for adding alamrs when creating events), lots of workarounds and fixes ensuring compatibility with various servers, refactored some code, and done some preparations for the upcoming server compatibility hints project.

Expand Down
6 changes: 5 additions & 1 deletion caldav/calendarobjectresource.py
Original file line number Diff line number Diff line change
Expand Up @@ -543,6 +543,10 @@ def is_invite_request(self) -> bool:
self.load(only_if_unloaded=True)
return self.icalendar_instance.get("method", None) == "REQUEST"

def is_invite_reply(self) -> bool:
self.load(only_if_unloaded=True)
return self.icalendar_instance.get("method", None) == "REPLY"

def accept_invite(self, calendar: Optional["Calendar"] = None) -> None:
self._reply_to_invite_request("ACCEPTED", calendar)

Expand Down Expand Up @@ -729,7 +733,7 @@ def change_attendee_status(self, attendee: Optional[Any] = None, **kwargs) -> No
if self.client is None:
raise ValueError("Unexpected value None for self.client")

attendee = self.client.principal_address or self.client.principal()
attendee = self.client.principal()

cnt = 0

Expand Down
2 changes: 1 addition & 1 deletion tests/test_caldav.py
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ def teardown_method(self):
except error.NotFoundError:
pass
for c in self.clients:
c.teardown()
c.teardown(c)

## TODO
# def testFreeBusy(self):
Expand Down