blob: a3ba850384f4ab0ffda3b5a2e4107dd676cbf730 [file] [log] [blame]
Paul Ganssle66f29ba2016-03-17 12:49:09 -04001Version 2.5.1
2-------------
3- Updated zoneinfo to 2016b
4- Changed MANIFEST.in to explicitly include test suite in source distributions,
5 with help from @koobs (gh issue #193, pr #194, #201, #221)
6- Explicitly set all line-endings to LF, except for the NEWS file, on a
7 per-repository basis (gh pr #218)
8- Fixed an issue with improper caching behavior in rruleset objects (gh issue
9 #104, pr #207)
10- Changed to an explicit error when rrulestr strings contain a missing BYDAY
11 (gh issue #162, pr #211)
12- tzfile now correctly handles files containing leapcnt (although the leapcnt
13 information is not actually used). Contributed by @hjoukl (gh issue #146, pr
14 #147)
15- Fixed recursive import issue with tz module (gh pr #204)
16- Added compatibility between tzwin objects and datetime.time objects (gh issue
17 #216, gh pr #219)
18- Refactored monolithic test suite by module (gh issue #61, pr #200 and #206)
19- Improved test coverage in the relativedelta module (gh pr #215)
20- Adjusted documentation to reflect possibly counter-intuitive properties of
21 RFC-5545-compliant rrules, and other documentation improvements in the rrule
22 module (gh issue #105, gh issue #149 - pointer to the solution by @phep,
23 pr #213).
24
25
Zbigniew Jędrzejewski-Szmek8ef32342016-02-28 20:05:09 -050026Version 2.5.0
27-------------
28- Updated zoneinfo to 2016a
29- zoneinfo_metadata file version increased to 2.0 - the updated updatezinfo.py
30 script will work with older zoneinfo_metadata.json files, but new metadata
31 files will not work with older updatezinfo.py versions. Additionally, we have
32 started hosting our own mirror of the Olson databases on a github pages
33 site (https://dateutil.github.io/tzdata/) (gh pr #183)
34- dateutil zoneinfo tarballs now contain the full zoneinfo_metadata file used
35 to generate them. (gh issue #27, gh pr #85)
36- relativedelta can now be safely subclassed without derived objects reverting
37 to base relativedelta objects as a result of arithmetic operations.
38 (lp:1010199, gh issue #44, pr #49)
39- relativedelta 'weeks' parameter can now be set and retrieved as a property of
40 relativedelta instances. (lp: 727525, gh issue #45, pr #49)
41- relativedelta now explicitly supports fractional relative weeks, days, hours,
42 minutes and seconds. Fractional values in absolute parameters (year, day, etc)
43 are now deprecated. (gh issue #40, pr #190)
44- relativedelta objects previously did not use microseconds to determine of two
45 relativedelta objects were equal. This oversight has been corrected.
46 Contributed by @elprans (gh pr #113)
47- rrule now has an xafter() method for retrieving multiple recurrences after a
48 specified date. (gh pr #38)
49- str(rrule) now returns an RFC2445-compliant rrule string, contributed by
50 @schinckel and @armicron (lp:1406305, gh issue #47, prs #50, #62 and #160)
51- rrule performance under certain conditions has been significantly improved
52 thanks to a patch contributed by @dekoza, based on an article by Brian Beck
53 (@exogen) (gh pr #136)
54- The use of both the 'until' and 'count' parameters is now deprecated as
55 inconsistent with RFC2445 (gh pr #62, #185)
56- Parsing an empty string will now raise a ValueError, rather than returning the
57 datetime passed to the 'default' parameter. (gh issue #78, pr #187)
58- tzwinlocal objects now have a meaningful repr() and str() implementation
59 (gh issue #148, prs #184 and #186)
60- Added equality logic for tzwin and tzwinlocal objects. (gh issue #151,
61 pr #180, #184)
62- Added some flexibility in subclassing timelex, and switched the default
63 behavior over to using string methods rather than comparing against a fixed
64 list. (gh pr #122, #139)
65- An issue causing tzstr() to crash on Python 2.x was fixed. (lp: 1331576,
66 gh issue #51, pr #55)
67- An issue with string encoding causing exceptions under certain circumstances
68 when tzname() is called was fixed. (gh issue #60, #74, pr #75)
69- Parser issue where calling parse() on dates with no day specified when the
70 day of the month in the default datetime (which is "today" if unspecified) is
71 greater than the number of days in the parsed month was fixed (this issue
72 tended to crop up between the 29th and 31st of the month, for obvious reasons)
73 (canonical gh issue #25, pr #30, #191)
74- Fixed parser issue causing fuzzy_with_tokens to raise an unexpected exception
75 in certain circumstances. Contributed by @MichaelAquilina (gh pr #91)
76- Fixed parser issue where years > 100 AD were incorrectly parsed. Contributed
77 by @Bachmann1234 (gh pr #130)
78- Fixed parser issue where commas were not a valid separator between seconds
79 and microseconds, preventing parsing of ISO 8601 dates. Contributed by
80 @ryanss (gh issue #28, pr #106)
81- Fixed issue with tzwin encoding in locales with non-Latin alphabets
82 (gh issue #92, pr #98)
83- Fixed an issue where tzwin was not being properly imported on Windows.
84 Contributed by @labrys. (gh pr #134)
85- Fixed a problem causing issues importing zoneinfo in certain circumstances.
86 Issue and solution contributed by @alexxv (gh issue #97, pr #99)
87- Fixed an issue where dateutil timezones were not compatible with basic time
88 objects. One of many, many timezone related issues contributed and tested by
89 @labrys. (gh issue #132, pr #181)
90- Fixed issue where tzwinlocal had an invalid utcoffset. (gh issue #135,
91 pr #141, #142)
92- Fixed issue with tzwin and tzwinlocal where DST transitions were incorrectly
93 parsed from the registry. (gh issue #143, pr #178)
94- updatezinfo.py no longer suppresses certain OSErrors. Contributed by @bjamesv
95 (gh pr #164)
96- An issue that arose when timezone locale changes during runtime has been
97 fixed by @carlosxl and @mjschultz (gh issue #100, prs #107, #109)
98- Python 3.5 was added to the supported platforms in the metadata (@tacaswell
99 gh pr #159) and the test suites (@moreati gh pr #117).
100- An issue with tox failing without unittest2 installed in Python 2.6 was fixed
101 by @moreati (gh pr #115)
102- Several deprecated functions were replaced in the tests by @moreati
103 (gh pr #116)
104- Improved the logic in Travis and Appveyor to alleviate issues where builds
105 were failing due to connection issues when downloading the IANA timezone
106 files. In addition to adding our own mirror for the files (gh pr #183), the
107 download is now retried a number of times (with a delay) (gh pr #177)
108- Many failing doctests were fixed by @moreati. (gh pr #120)
109- Many fixes to the documentation (gh pr #103, gh pr #87 from @radarhere,
110 gh pr #154 from @gpoesia, gh pr #156 from @awsum, gh pr #168 from @ja8zyjits)
111- Added a code coverage tool to the CI to help improve the library. (gh pr #182)
112- We now have a mailing list - dateutil@python.org, graciously hosted by
113 Python.org.
114
115
116Version 2.4.2
117-------------
118- Updated zoneinfo to 2015b.
119- Fixed issue with parsing of tzstr on Python 2.7.x; tzstr will now be decoded
120 if not a unicode type. gh #51 (lp:1331576), gh pr #55.
121- Fix a parser issue where AM and PM tokens were showing up in fuzzy date
122 stamps, triggering inappropriate errors. gh #56 (lp: 1428895), gh pr #63.
123- Missing function "setcachesize" removed from zoneinfo __all__ list by @ryanss,
124 fixing an issue with wildcard imports of dateutil.zoneinfo. (gh pr #66).
125- (PyPi only) Fix an issue with source distributions not including the test
126 suite.
127
128
129Version 2.4.1
130-------------
131
132- Added explicit check for valid hours if AM/PM is specified in parser.
133 (gh pr #22, issue #21)
134- Fix bug in rrule introduced in 2.4.0 where byweekday parameter was not
135 handled properly. (gh pr #35, issue #34)
136- Fix error where parser allowed some invalid dates, overwriting existing hours
137 with the last 2-digit number in the string. (gh pr #32, issue #31)
138- Fix and add test for Python 2.x compatibility with boolean checking of
139 relativedelta objects. Implemented by @nimasmi (gh pr #43) and Cédric Krier
140 (lp: 1035038)
141- Replaced parse() calls with explicit datetime objects in unit tests unrelated
142 to parser. (gh pr #36)
143- Changed private _byxxx from sets to sorted tuples and fixed one currently
144 unreachable bug in _construct_byset. (gh pr #54)
145- Additional documentation for parser (gh pr #29, #33, #41) and rrule.
146- Formatting fixes to documentation of rrule and README.rst.
147- Updated zoneinfo to 2015a.
148
149Version 2.4.0
150-------------
151
152- Fix an issue with relativedelta and freezegun (lp:1374022)
153- Fix tzinfo in windows for timezones without dst (lp:1010050, gh #2)
154- Ignore missing timezones in windows like in POSIX
155- Fix minimal version requirement for six (gh #6)
156- Many rrule changes and fixes by @pganssle (gh pull requests #13 #14 #17),
157 including defusing some infinite loops (gh #4)
158
159Version 2.3
160-----------
161
162- Cleanup directory structure, moved test.py to dateutil/tests/test.py
163
164- Changed many aspects of dealing with the zone info file. Instead of a cache,
165 all the zones are loaded to memory, but symbolic links are loaded only once,
166 so not much memory is used.
167
168- The package is now zip-safe, and universal-wheelable, thanks to changes in
169 the handling of the zoneinfo file.
170
171- Fixed tzwin silently not imported on windows python2
172
173- New maintainer, together with new hosting: GitHub, Travis, Read-The-Docs
174
175Version 2.2
176-----------
177
178- Updated zoneinfo to 2013h
179
180- fuzzy_with_tokens parse addon from Christopher Corley
181
182- Bug with LANG=C fixed by Mike Gilbert
183
184Version 2.1
185-----------
186
187- New maintainer
188
189- Dateutil now works on Python 2.6, 2.7 and 3.2 from same codebase (with six)
190
191- #704047: Ismael Carnales' patch for a new time format
192
193- Small bug fixes, thanks for reporters!
194
195
196Version 2.0
197-----------
198
199- Ported to Python 3, by Brian Jones. If you need dateutil for Python 2.X,
200 please continue using the 1.X series.
201
202- There's no such thing as a "PSF License". This source code is now
203 made available under the Simplified BSD license. See LICENSE for
204 details.
205
206Version 1.5
207-----------
208
209- As reported by Mathieu Bridon, rrules were matching the bysecond rules
210 incorrectly against byminute in some circumstances when the SECONDLY
211 frequency was in use, due to a copy & paste bug. The problem has been
212 unittested and corrected.
213
214- Adam Ryan reported a problem in the relativedelta implementation which
215 affected the yearday parameter in the month of January specifically.
216 This has been unittested and fixed.
217
218- Updated timezone information.
219
220
221Version 1.4.1
222-------------
223
224- Updated timezone information.
225
226
227Version 1.4
228-----------
229
230- Fixed another parser precision problem on conversion of decimal seconds
231 to microseconds, as reported by Erik Brown. Now these issues are gone
232 for real since it's not using floating point arithmetic anymore.
233
234- Fixed case where tzrange.utcoffset and tzrange.dst() might fail due
235 to a date being used where a datetime was expected (reported and fixed
236 by Lennart Regebro).
237
238- Prevent tzstr from introducing daylight timings in strings that didn't
239 specify them (reported by Lennart Regebro).
240
241- Calls like gettz("GMT+3") and gettz("UTC-2") will now return the
242 expected values, instead of the TZ variable behavior.
243
244- Fixed DST signal handling in zoneinfo files. Reported by
245 Nicholas F. Fabry and John-Mark Gurney.
246
247
248Version 1.3
249-----------
250
251- Fixed precision problem on conversion of decimal seconds to
252 microseconds, as reported by Skip Montanaro.
253
254- Fixed bug in constructor of parser, and converted parser classes to
255 new-style classes. Original report and patch by Michael Elsdörfer.
256
257- Initialize tzid and comps in tz.py, to prevent the code from ever
258 raising a NameError (even with broken files). Johan Dahlin suggested
259 the fix after a pyflakes run.
260
261- Version is now published in dateutil.__version__, as requested
262 by Darren Dale.
263
264- All code is compatible with new-style division.
265
266
267Version 1.2
268-----------
269
270- Now tzfile will round timezones to full-minutes if necessary,
271 since Python's datetime doesn't support sub-minute offsets.
272 Thanks to Ilpo Nyyssönen for reporting the issue.
273
274- Removed bare string exceptions, as reported and fixed by
275 Wilfredo Sánchez Vega.
276
277- Fix bug in leap count parsing (reported and fixed by Eugene Oden).
278
279
280Version 1.1
281-----------
282
283- Fixed rrule byyearday handling. Abramo Bagnara pointed out that
284 RFC2445 allows negative numbers.
285
286- Fixed --prefix handling in setup.py (by Sidnei da Silva).
287
288- Now tz.gettz() returns a tzlocal instance when not given any
289 arguments and no other timezone information is found.
290
291- Updating timezone information to version 2005q.
292
293
294Version 1.0
295-----------
296
297- Fixed parsing of XXhXXm formatted time after day/month/year
298 has been parsed.
299
300- Added patch by Jeffrey Harris optimizing rrule.__contains__.
301
302
303Version 0.9
304-----------
305
306- Fixed pickling of timezone types, as reported by
307 Andreas Köhler.
308
309- Implemented internal timezone information with binary
310 timezone files [1]. datautil.tz.gettz() function will now
311 try to use the system timezone files, and fallback to
312 the internal versions. It's also possible to ask for
313 the internal versions directly by using
314 dateutil.zoneinfo.gettz().
315
316- New tzwin timezone type, allowing access to Windows
317 internal timezones (contributed by Jeffrey Harris).
318
319- Fixed parsing of unicode date strings.
320
321- Accept parserinfo instances as the parser constructor
322 parameter, besides parserinfo (sub)classes.
323
324- Changed weekday to spell the not-set n value as None
325 instead of 0.
326
327- Fixed other reported bugs.
328
329[1] http://www.twinsun.com/tz/tz-link.htm
330
331
332Version 0.5
333-----------
334
335- Removed FREQ_ prefix from rrule frequency constants
336 WARNING: this breaks compatibility with previous versions.
337
338- Fixed rrule.between() for cases where "after" is achieved
339 before even starting, as reported by Andreas Köhler.
340
341- Fixed two digit zero-year parsing (such as 31-Dec-00), as
342 reported by Jim Abramson, and included test case for this.
343
344- Sort exdate and rdate before iterating over them, so that
345 it's not necessary to sort them before adding to the rruleset,
346 as reported by Nicholas Piper.