-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
345 lines (251 loc) · 13.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
2015-04-21 Tobias Brox <[email protected]>
* caldav/elements/cdav.py - now support for the free-busy-query element.
* caldav/objects.py - added FreeBusy and Journal objects, plus calendar methods to retrieve them, and for adding journal entries.
* caldav/tests/test_caldav.py - added tests to add and fetch journal entries, and to request freebusy information.
2015-04-16 Tobias Brox <[email protected]>
* caldav/lib/error.py - added error class for the propfind method.
Made a dict index for method name -> exception class.
* caldav/elements/cdav.py - bugfix - "negate-condition", not
"negate" in the TextMatch class. Added
SupportedCalendarComponentSet class.
* caldav/elements/davclient.py - obscured the API a bit by
allowing a dummy parameter to be passed to various methods. Not
very nice, but needed for the refactoring work in objects.py.
* caldav/objects.py - VTODO support, new class for Todo-items with
method for completing the task. Calendar creation methods takes a
list of supported element types as optional parameter. Quite some
refactoring, consolidating similar-looking code. Minor bugfix
with the event date search - asking for an expanded event list
with an open end date is not supported by all server
implementations, for obvious reasons. Brushed up some docstrings
and prefixed some internal methods with underscore.
* caldav/tests/test_caldav.py - VTODO support, test code that
creates a task list, adds todo-items to it, completes todo-items,
list them out and deletes todo-items.
2015-04-01 Tobias Brox <[email protected]>
* caldav/objects.py - started working on VTODO support
* caldav/tests/test_caldav.py - started working on VTODO support
2015-04-01 Tobias Brox <[email protected]>
* caldav/lib/url.py - work on python3-support
* tests/conf.py - work on python3-support
2015-03-29 Tobias Brox <[email protected]>
* caldav/objects.py - work on iCloud support. Solves issue #38,
read-only access to iCloud seems to work. Writing still fails,
ref issue #40.
2015-03-19 Tobias Brox <[email protected]>
* tests/conf.py - ignore ImportError when importing conf_private,
but not other exceptions. This way conf_private will be ignored
if it doesn't exist, but if there are syntax error, nosetest should
bark.
2015-03-15 Tobias Brox <[email protected]>
* caldav/lib/python_utilities.py - fixing broken charset
2015-02-26 Jack Laxson <[email protected]>
* setup.py - remove sphinx from install_requires as it is huge and only used
for generating the documentation.
2015-02-23 Luke <[email protected]>
* Interceptable logging
2015-02-16 Luke <[email protected]>
* python3 support
2015-02-14 Tobias Brox <[email protected]>
* tests/test_caldav.py - new test that deletes events
2015-01-24 Tobias Brox <[email protected]>
* caldav/davclient.py - support for digest auth and self-signed
SSL certs, re issue #26 and #34.
* tests/test_caldav.py - more generic URL checks to discover
owncloud and baikal servers.
2015-01-21 Tobias Brox <[email protected]>
* caldav/lib/url.py - workaround: "unauth"-method added port
":None" if no port were given.
2015-01-19 Tobias Brox <[email protected]>
* caldav/lib/url.py - added method strip_trailing_slash
* caldav/objects.py - test breakages on several server
implementations after the trailing slashes were removed. Made a
workaround, though this issue should be investigated better.
2014-05-27 Christian Roeder <[email protected]>
* caldav/davclient.py - RFC compliance fix; Use capitalised Depth:
Header
2014-05-27 Tobias Brox <[email protected]>
* caldav/lib/url.py - Workaround for Zimbra; Zimbra generates
non-ascii URLs when using non-ascii characters in the calendar
name, hence the URL library must accept non-ascii characters.
2014-05-27 Tobias Brox <[email protected]>
* setup.py - include the requests library dependency
2014-05-20 Christian Roeder <[email protected]>
* caldav/lib/url.py - Do not remove trailing slashes of all URLs.
According to the RFC, all collection URLs should end with a
trailing slash, though most caldav server implementations will
handle URLs with and without trailing slashes the same.
2014-05-11 Abdul Rehman Gani <[email protected]>
* caldav/davclient.py - Change to use the requests library. Fixes
several compatibility-issues, i.e. with iCloud a get_properties
call would fail with a Path Handling exception. Happens when
httplib specifies the netloc in the HTTP request, and the returned
xml has the base path equal to that netloc instead of the path.
2014-04-13 Abdul Rehman Gani <[email protected]>
* caldav/davclient.py - Removed extraneous parameter passed to
getresponse(); bugfix in a section not covered by test code
2014-03-14 Tobias Brox <[email protected]>
* General - more verbose documentation
* caldav/test_caldav.py - added an exception for OwnCloud, it does
not support open-ended date searches
2014-03-12 Tobias Brox <[email protected]>
* setup.py - version bump (0.2.2)
* caldav/lib/url.py - battle hardening
* caldav/objects.py - allowing for relative URLs to be used
* caldav/test_caldav.py - test that relative URLs works as expected
* caldav/test_caldav.py - test that the URL library is robust
2014-03-07 Tobias Brox <[email protected]>
* caldav/davclient.py - minor api difference; it feels more
object-oriented to write principal = client.principal() than
principal = Principal(client)
* caldav/tests/test_caldav.py - work to reflect the above
* docs/source/index.rst - work to reflect the above
* docs/source/index.rst - added documentation that the tests may
fail if several test runs are performed simultaneously
* caldav/davclient.py - support for unicode and utf8
* caldav/lib/url.py - support for unicode and utf8
* caldav/objects.py - minor doc enhancement
* tests/test_caldav.py - load an event or a calendar by the URL
* tests/test_caldav.py - test calendar.events()
* tests/test_caldav.py - test utf8 and unicode
* docs/source/index.rst - documentation on how to run the test
suite towards private calendar servers
* setup.py - version bump (0.2.1)
2014-03-01 Tobias Brox <[email protected]>
* caldav/lib/url.py (make): function for backward compatibility
* tests/: more test code, including backward compatibility test
2014-02-16 Tobias Brox <[email protected]>
* caldav/lib/namespace.py: fixing issue
https://bitbucket.org/cyrilrbt/caldav/issue/29/centos59-minifix
2013-12-12 Tobias Brox <[email protected]>
* caldav/objects.py (Calendar): compatibility hack for zimbra -
gotcha! Use Calendar display name in the Calendar URL instead of
Calendar ID.
* caldav/objects.py: internal change - _create method now returns
nothing, but sets self.url and self.id instead.
2013-12-11 Tobias Brox <[email protected]>
* caldav/objects.py (DAVObject): convenience fix - made client a
conditional parameter to __init__. Defaults to parent.client if
parent is given.
* caldav/objects.py (Calendar): convenience fix - made methods
Calendar.event_by_uid and Calendar.event_by_url. Calendar.event
is an alias to Calendar.event_by_uid for backwards compatibility.
Those methods also loads the object from the remote server (hmmm
... does that make sense, it's inconsistent with the
CalendarSet.calendar method)
* caldav/objects.py (Event): a potential compatibility fix - when
creating an event, some servers seems to want the uid to match the
URL (zimbra will yield 302 on the PUT request). However, I wasn't
able to GET the event from zimbra, neither before nor after this
fix :-(
* caldav/elements/cdav.py: compatibility fix - collation
"i; octet" (with whitespace) not recognized by baikal. "i;octet"
(without whitespace) is OK.
2013-12-08 Tobias Brox <[email protected]>
* caldav/objects.py (Calendar): Convenience fix: method add_event
for making it easier to add events. Better error handling; if
calendar creation succeeds but setting calendar name fails, delete
the calendar before raising the exception.
* caldav/objects.py (Event): Bugfix for zimbra - 302 is now an
acceptable return code when creating a new event.
2013-12-07 Tobias Brox <[email protected]>
* caldav/davclient.py (DAVClient.request, DAVResponse): Full HTTP
communication is now available in debug logs
* caldav/davclient.py (DAVClient.__init__): Username and password
can now (optionally) be given as separate parameters instead of as
a part of the configuration URL
* caldav/objects.py: By now it's sufficient to pass the base URL
while initializing the DAVClient object. The library will find
the principal URL and home calendar set URL through GETPROP
* caldav/objects.py (Calendar): workaround for problem that
calendar name didn't get set on some (all?) caldav servers.
* caldav/objects.py (Principal, CalendarSet): created a method
calendar() to make it easier to generate a calendar object
(without server-side communication), and make_calendar for
creating a new calendar at the server side.
* tests/test_caldav.py: all broken tests have been disabled.
Temporary made smaller tests to demonstrate what is actually
working on all caldav servers I've tested against (Zimbra,
DAViCal, Baikal and SoGo).
* caldav/objects.py (DAVObject): (internal change) set __str__ and
__repr__ to make debugging easier
* caldav/objects.py: (internal change) Since the principal path and the calendar
home set path are different on most CALDav server implementations,
a new class CalendarSet has been made.
* caldav/lib/url.py: (internal change) Complete rewrite and
API-change. internally all URLs are now handled as objects
* caldav/objects.py (Principal): (internal change) made it
possible to set principal.calendar_home_set (hardly useful except
for from the unit testing code).
* All files: misc minor changes to reflect all the changes above.
2011-01-22 Cyril Robert <[email protected]>
* caldav/elements/cdav.py (Expand.__init__,
TimeRange.__init__) : Fixed strftime fmt.
2010-10-09 Cyril Robert <[email protected]>
* All files: Made PEP8 compliant
2010-10-04 Olivier Larchevêque <[email protected]>
* caldav/davclient.py (DAVClient.request): fix headers merge before sending request
* caldav/objects.py (Event.__init__): fix for respecting davobject signature
2010-07-15 Cyril Robert <[email protected]>
* caldav/davclient.py (DAVClient.__init__): Fixed an issue with usernames
that contain a '@'.
Thanks to the reporter of issue #2
2010-07-07 Mark Meyer <[email protected]>
* caldav/elements/cdav.py: Add Calendar, representing the calendar
resource type.
* caldav/objects.py (DAVObject.children): Pull in code from
_get_properties to enable PROPFINDs for properties with complex
values.
* caldav/objects.py (DAVObject.properties): Add a warning message.
* caldav/objects.py (Principal.calendars): retrieve only child
collections that have a cdav.Calendar property.
2010-07-06 Mark Meyer <[email protected]>
* caldav/objects.py (DAVObject.save): Use idiomatic
NotImplementedError and add a docstring
* caldav/davclient.py (DAVObject.request): raise error on a http
unauthorized (400) condition.
2010-07-06 Cyril Robert <[email protected]>
* caldav/elements/base.py (BaseElement.__add__): Removed unnecessary
verification.
* caldav/objects.py: Merged all methods from caldav.lib.commands.
* caldav/commands.py: Removed, no longer needed.
2010-07-05 Cyril Robert <[email protected]>
* caldav/lib/commands.py (date_search): Fixed a typo.
* caldav/lib/error.py (AuthorizationError): Added AuthorizationError.
* caldav/davclient.py (DAVClient.request): Added 403 error handling.
* caldav/davclient.py (DAVClient.__init__): Always pass proper Content-Type
and Accept headers to the server. This is required by at least davical.
Thanks to http://bitbucket.org/ofosos (all of the above)
2010-07-02 Cyril Robert <[email protected]>
* caldav/lib/commands.py (get_properties): Merged patch from issue #1.
Thanks to http://bitbucket.org/ofosos
2010-06-29 Cyril Robert <[email protected]>
* caldav/elements/*.py: New files, definition for many dav and caldav
elements to introduce a somewhat major refactoring.
* caldav/davclient.py (DAVClient.propfind): Fixed documentation.
* caldav/lib/commands.py: Major changes throughout the file to make use of
the newly defined classes.
* caldav/objects.py: Many small changes to the documentation an the usage
of the ns method.
2010-06-14 Cyril Robert <[email protected]>
* caldav/davclient.py (DAVClient.put): Added a new "headers" parameter.
* caldav/lib/commands.py (create_event): Added headers for content-type.
* caldav/lib/commands.py: Added basic error management throughout the file.
* caldav/objects.py: Minor improvements.
* caldav/lib/error.py: New file, contains error definitions.
2010-06-09 Cyril Robert <[email protected]>
* caldav/davclient.py (DAVClient.__init__, DAVClient.request): Added
support for an optional http proxy.
* tests/test_caldav.py (TestCalDAV.testProxy): Added a new test for the
new proxy option.
* tests/test_caldav.py (TestCalDAV.testSSL): Added one more test.
* caldav/lib/commands.py (uid_search): Added new method.
* caldav/objects.py (Calendar.event): Added new method to find an event by
its UID.
* tests/test_caldav.py: Added a quick test for the new methods
2010-06-07 Cyril Robert <[email protected]>
* caldav/lib/commands.py (children, date_search): Removed instanciation of
children / events, it should be done in objects.
* caldav/objects.py (Calendar.events, Principal.calendars,
Calendar.date_search): Made changes according to the new commands.children
method. Moved ugly import.