Skip to content

Commit 0bea0fa

Browse files
tobixenclaude
andcommitted
chore: remove dead old_flags entries and superseded incompatibility_description keys
- Remove no_supported_components_support from robur/purelymail (superseded by get-supported-components: unsupported new-style feature) - Remove no_delete_event from zimbra (event_by_url was fixed; flag unused in tests) - Remove empty old_flags: [] from cyrus and posteo - Remove from incompatibility_description: - no_default_calendar, no_freebusy_rfc6638 (superseded/dead) - text_search_is_case_insensitive (superseded by search.text.case-sensitive) - date_search_ignores_duration, vtodo_no_dtstart_infinite_duration (dead, uncovered) - vtodo_no_dtstart_search_weirdness, vtodo_no_duration_search_weirdness, vtodo_with_due_weirdness (dead "Zimbra is weird" entries) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent c31db96 commit 0bea0fa

File tree

3 files changed

+4
-47
lines changed

3 files changed

+4
-47
lines changed

AI-POLICY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ rewritten.
7979

8080
The maintainer started playing with Claude Code in the end of 2025 - and [blogged about it](https://www.redpill-linpro.com/techblog/2026/03/20/from-luddite-to-vibe-coder.html)
8181

82-
Releases 2.2.6 - 3.2.0 has been heavily assisted by Claude - which is pretty obvious when looking into the commit messages. My experiences has been mixed - sometimes it seems to be doing a better and faster job than me, other times it seems to be making a mess a lot faster than what I can do it. Despite (or because of?) using Claude extensively, I spent much more time on it than estimated.
82+
Releases 2.2.6 - 3.2.0 has been heavily assisted by Claude - which is pretty obvious when looking into the commit messages. My experiences has been mixed - sometimes it seems to be doing a better and faster job than me, other times it seems to be making a mess a lot faster than what I can do it. Despite (or because of?) using Claude extensively, I spent much more time on the 3.0.0-release than estimated.
8383

8484
Lots of time and efforts have been spent on doing QA on the changes, fixing up things and/or asking Claude to do a better job. The surge of issues reported after the 3.0-release is probably unrelated to the AI usage - it's a result of trying to shoehorn both async and API changes into it without breaking backward compatbility and without duplicating too much code. The CHANGELOG.md entry for 3.0 explicitly declared a caveat: "there are massive code changes in version 3.0, so if you're using the Python CalDAV client library in some sharp production environment, I would recommend to wait for two months before upgrading".
8585

@@ -104,4 +104,4 @@ I still intend to use GenAI heavily for certain tasks, like:
104104
* Investigations of different architectural choices - like with the async work I had claude develop different design approaches and chose the one that I felt most comfortable with (though I'm still not sure that I did the right choice).
105105
* Reading RFCs and quickly give a pointer to the relevant sections, or verifying that the code is according to the standards or not.
106106

107-
I will do some research on how to log prompts and chat.
107+
I will do some research on how to log prompts and chat - but it's difficult, my feedback to Claude is maningless without the context - Claude may deliver tons of text and rejected code for every commit.

caldav/compatibility_hints.py

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -725,13 +725,6 @@ def dotted_feature_set_list(self, compact=False):
725725
## * Perhaps some more readable format should be considered (yaml?).
726726
## * Consider how to get this into the documentation
727727
incompatibility_description = {
728-
'no_default_calendar':
729-
"""The given user starts without an assigned default calendar """
730-
"""(or without pre-defined calendars at all)""",
731-
732-
'no_freebusy_rfc6638':
733-
"""Server does not support a freebusy-request as per RFC6638""",
734-
735728
'calendar_order':
736729
"""Server supports (nonstandard) calendar ordering property""",
737730

@@ -746,10 +739,6 @@ def dotted_feature_set_list(self, compact=False):
746739
'event_by_url_is_broken':
747740
"""A GET towards a valid calendar object resource URL will yield 404 (wtf?)""",
748741

749-
'no_delete_event':
750-
"""Zimbra does not support deleting an event, probably because event_by_url is broken""",
751-
752-
753742
'propfind_allprop_failure':
754743
"""The propfind test fails ... """
755744
"""it asserts DAV:allprop response contains the text 'resourcetype', """
@@ -773,20 +762,6 @@ def dotted_feature_set_list(self, compact=False):
773762
"""before the date search interval. This is in breach of rfc4791"""
774763
"""section 9.9""",
775764

776-
'vtodo_no_dtstart_infinite_duration':
777-
"""date search will find todo-items without dtstart if due is """
778-
"""after the date search interval. This is in breach of rfc4791"""
779-
"""section 9.9""",
780-
781-
'vtodo_no_dtstart_search_weirdness':
782-
"""Zimbra is weird""",
783-
784-
'vtodo_no_duration_search_weirdness':
785-
"""Zimbra is weird""",
786-
787-
'vtodo_with_due_weirdness':
788-
"""Zimbra is weird""",
789-
790765
'vtodo-cannot-be-uncompleted':
791766
"""If a VTODO object has been set with STATUS:COMPLETE, it's not possible to delete the COMPLTEDED attribute and change back to STATUS:IN-ACTION""",
792767

@@ -803,12 +778,6 @@ def dotted_feature_set_list(self, compact=False):
803778
'dav_not_supported':
804779
"""when asked, the server may claim it doesn't support the DAV protocol. Observed by one baikal server, should be investigated more (TODO) and robur""",
805780

806-
'text_search_is_case_insensitive':
807-
"""Probably not supporting the collation used by the caldav library""",
808-
809-
'date_search_ignores_duration':
810-
"""Date search with search interval overlapping event interval works on events with dtstart and dtend, but not on events with dtstart and due""",
811-
812781
'date_todo_search_ignores_duration':
813782
"""Same as above, but specifically for tasks""",
814783

@@ -933,7 +902,7 @@ def dotted_feature_set_list(self, compact=False):
933902
#'save-load.todo.mixed-calendar': {'support': 'unsupported'}, ## Why? It started complaining about this just recently.
934903
'principal-search.by-name.self': {'support': 'unsupported'},
935904
'principal-search': {'support': 'ungraceful'},
936-
'old_flags': ['unique_calendar_ids'],
905+
#'old_flags': ['unique_calendar_ids'],
937906
## I'm surprised, I'm quite sure this was passing earlier. Caldav commit a98d50490b872e9b9d8e93e2e401c936ad193003, caldav server checker commit 3cae24cf99da1702b851b5a74a9b88c8e5317dad
938907
'search.combined-is-logical-and': False
939908
}
@@ -986,16 +955,13 @@ def dotted_feature_set_list(self, compact=False):
986955
"scheduling.mailbox.inbox-delivery": {"support": "unsupported"},
987956

988957
"old_flags": [
989-
## apparently, zimbra has no journal support
990-
991958
## setting display name in zimbra does not work (display name,
992959
## calendar-ID and URL is the same, the display name cannot be
993960
## changed, it can only be given if no calendar-ID is given. In
994961
## earlier versions of Zimbra display-name could be changed, but
995962
## then the calendar would not be available on the old URL
996963
## anymore)
997964
## 'event_by_url_is_broken' removed - works in zimbra/zcs-foss:latest
998-
'no_delete_event',
999965
'vtodo_datesearch_notime_task_is_skipped',
1000966
'no_relships',
1001967

@@ -1118,7 +1084,6 @@ def dotted_feature_set_list(self, compact=False):
11181084
"support": "quirk",
11191085
"behaviour": "server delivers iTIP notification to inbox AND auto-schedules into calendar",
11201086
},
1121-
'old_flags': []
11221087
}
11231088

11241089
## See comments on https://github.com/python-caldav/caldav/issues/3
@@ -1261,7 +1226,6 @@ def dotted_feature_set_list(self, compact=False):
12611226
"scheduling": {"support": "unsupported"},
12621227
'old_flags': [
12631228
'non_existing_raises_other', ## AuthorizationError instead of NotFoundError
1264-
'no_supported_components_support',
12651229
'no_relships',
12661230
],
12671231
'test-calendar': {'cleanup-regime': 'wipe-calendar'},
@@ -1302,9 +1266,6 @@ def dotted_feature_set_list(self, compact=False):
13021266
'sync-token': {'support': 'ungraceful'},
13031267
'principal-search': {'support': 'unsupported'},
13041268
"scheduling": {"support": "unsupported"},
1305-
'old_flags': [
1306-
#'no_recurring_todo', ## todo
1307-
]
13081269
}
13091270

13101271
#calendar_mail_ru = [
@@ -1446,9 +1407,6 @@ def dotted_feature_set_list(self, compact=False):
14461407
},
14471408
## Known, work in progress
14481409
"scheduling": {"support": "unsupported"},
1449-
'old_flags': [
1450-
'no_supported_components_support',
1451-
],
14521410
## Known, not a breach of standard
14531411
"get-supported-components": {"support": "unsupported"},
14541412
}

docs/source/http-libraries.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ decisions, it may have been due to personal conflicts - or, perhaps
2525
the quality of the code was found not to be good enough. It works for
2626
me. I've had Claude to do a code review of niquests and urllib3 - it
2727
gave a thumbs-up for Niquests, while urllib3.future could benefit from
28-
some refactoring (claude also recommends shedding backward
29-
compatibility).
28+
some refactoring.
3029

3130
I see some possible reasons why one would like to avoid niquests:
3231
* Many projects are already dependent on requests and/or httpx, and one

0 commit comments

Comments
 (0)