dateutil

Форк
0
/
NEWS 
989 строк · 42.8 Кб
1
Version 2.9.0.post0 (2024-03-01)
2
================================
3

4
Bugfixes
5
--------
6

7
- Pinned ``setuptools_scm`` to ``<8``, which should make the generated ``_version.py`` file compatible with all supported versions of Python.
8

9

10
Version 2.9.0 (2024-02-29)
11
==========================
12

13
Data updates
14
------------
15

16
- Updated tzdata version to 2024a. (gh pr #1342)
17

18

19
Features
20
--------
21

22
- Made all ``dateutil`` submodules lazily imported using `PEP 562
23
  <https://www.python.org/dev/peps/pep-0562/>`_. On Python 3.7+, things like
24
  ``import dateutil; dateutil.tz.gettz("America/New_York")`` will now work
25
  without explicitly importing ``dateutil.tz``, with the import occurring behind
26
  the scenes on first use. The old behavior remains on Python 3.6 and earlier.
27
  Fixed by Orson Adams. (gh issue #771, gh pr #1007)
28

29

30
Bugfixes
31
--------
32

33
- Removed a call to ``datetime.utcfromtimestamp``, which is deprecated as of Python 3.12. Reported by Hugo van Kemenade (gh pr #1284), fixed by Thomas Grainger (gh pr #1285).
34

35

36
Documentation changes
37
---------------------
38

39
- Added note into docs and tests where relativedelta would return last day of the month
40
  only if the same day on a different month resolves to a date that doesn't exist.
41
  Reported by @hawkEye-01 (gh issue #1167). Fixed by @Mifrill (gh pr #1168)
42

43

44
Version 2.8.2 (2021-07-08)
45
==========================
46

47
Data updates
48
------------
49

50
- Updated tzdata version to 2021a. (gh pr #1128)
51

52

53
Bugfixes
54
--------
55

56
- Fixed a bug in the parser where non-``ValueError`` exceptions would be raised
57
  during exception handling; this would happen, for example, if an
58
  ``IllegalMonthError`` was raised in ``dateutil`` code. Fixed by Mark Bailey.
59
  (gh issue #981, pr #987).
60
- Fixed the custom ``repr`` for ``dateutil.parser.ParserError``, which was not
61
  defined due to an indentation error. (gh issue #991, gh pr #993)
62
- Fixed a bug that caused ``b'`` prefixes to appear in parse_isodate exception
63
  messages. Reported and fixed by Paul Brown (@pawl) (gh pr #1122)
64
- Make ``isoparse`` raise when trying to parse times with inconsistent use of
65
  `:` separator. Reported and fixed by @mariocj89 (gh pr #1125).
66
- Fixed ``tz.gettz()`` not returning local time when passed an empty string.
67
  Reported by @labrys (gh issues #925, #926). Fixed by @ffe4 (gh pr #1024)
68

69

70
Documentation changes
71
---------------------
72

73
- Rearranged parser documentation into "Functions", "Classes" and "Warnings and
74
  Exceptions" categories. (gh issue #992, pr #994).
75
- Updated ``parser.parse`` documentation to reflect the switch from
76
  ``ValueError`` to ``ParserError``. (gh issue #992, pr #994).
77
- Fixed methods in the ``rrule`` module not being displayed in the docs. (gh pr
78
  #1025)
79
- Changed some relative links in the exercise documentation to refer to the
80
  document locations in the input tree, rather than the generated HTML files in
81
  the HTML output tree (which presumably will not exist in non-HTML output
82
  formats). (gh pr #1078).
83

84

85
Misc
86
----
87

88
- Moved ``test_imports.py``, ``test_internals.py`` and ``test_utils.py`` to
89
  pytest.  Reported and fixed by @jpurviance (gh pr #978)
90
- Added project_urls for documentation and source. Patch by @andriyor (gh pr
91
  #975).
92
- Simplified handling of bytes and bytearray in ``_parser._timelex``. Reported
93
  and fixed by @frenzymadness (gh issue #1060).
94
- Changed the tests against the upstream tz database to always generate fat
95
  binaries, since until GH-590 and GH-1059 are resolved, "slim" zic binaries
96
  will cause problems in many zones, causing the tests to fail. This also
97
  updates ``zoneinfo.rebuild`` to always generate fat binaries. (gh pr #1076).
98
- Moved sdist and wheel generation to use `python-build`. Reported and fixed by
99
  @mariocj89 (gh pr #1133).
100

101

102
Version 2.8.1 (2019-11-03)
103
==========================
104

105
Data updates
106
------------
107

108
- Updated tzdata version to 2019c.
109

110

111
Bugfixes
112
--------
113

114
- Fixed a race condition in the ``tzoffset`` and ``tzstr`` "strong" caches on
115
  Python 2.7. Reported by @kainjow (gh issue #901).
116
- Parsing errors will now raise ``ParserError``, a subclass of ``ValueError``,
117
  which has a nicer string representation. Patch by @gfyoung (gh pr #881).
118
- ``parser.parse`` will now raise ``TypeError`` when ``tzinfos`` is passed a
119
  type that cannot be interpreted as a time zone. Prior to this change, it
120
  would raise an ``UnboundLocalError`` instead.  Patch by @jbrockmendel (gh pr
121
  #891).
122
- Changed error message raised when when passing a ``bytes`` object as the time
123
  zone name to gettz in Python 3.  Reported and fixed by @labrys () (gh issue
124
  #927, gh pr #935).
125
- Changed compatibility logic to support a potential Python 4.0 release. Patch
126
  by Hugo van Kemenade (gh pr #950).
127
- Updated many modules to use ``tz.UTC`` in favor of ``tz.tzutc()`` internally,
128
  to avoid an unnecessary function call. (gh pr #910).
129
- Fixed issue where ``dateutil.tz`` was using a backported version of
130
  ``contextlib.nullcontext`` even in Python 3.7 due to a malformed import
131
  statement. (gh pr #963).
132

133

134
Tests
135
-----
136

137
- Switched from using assertWarns to using pytest.warns in the test suite. (gh
138
  pr #969).
139
- Fix typo in setup.cfg causing PendingDeprecationWarning to not be explicitly
140
  specified as an error in the warnings filter. (gh pr #966)
141
- Fixed issue where ``test_tzlocal_offset_equal`` would fail in certain
142
  environments (such as FreeBSD) due to an invalid assumption about what time
143
  zone names are provided. Reported and fixed by Kubilay Kocak (gh issue #918,
144
  pr #928).
145
- Fixed a minor bug in ``test_isoparser`` related to ``bytes``/``str``
146
  handling. Fixed by @fhuang5 (gh issue #776, gh pr #879).
147
- Explicitly listed all markers used in the pytest configuration. (gh pr #915)
148
- Extensive improvements to the parser test suite, including the adoption of
149
  ``pytest``-style tests and the addition of parametrization of several test
150
  cases. Patches by @jbrockmendel (gh prs #735, #890, #892, #894).
151
- Added tests for tzinfos input types. Patch by @jbrockmendel (gh pr #891).
152
- Fixed failure of test suite when changing the TZ variable is forbidden.
153
  Patch by @shadchin (gh pr #893).
154
- Pinned all test dependencies on Python 3.3. (gh prs #934, #962)
155

156

157
Documentation changes
158
---------------------
159

160
- Fixed many misspellings, typos and styling errors in the comments and
161
  documentation. Patch by Hugo van Kemenade (gh pr #952).
162

163

164
Misc
165
----
166

167
- Added Python 3.8 to the trove classifiers. (gh pr #970)
168
- Moved as many keys from ``setup.py`` to ``setup.cfg`` as possible.  Fixed by
169
  @FakeNameSE, @aquinlan82, @jachen20, and @gurgenz221 (gh issue #871, gh pr
170
  #880).
171
- Reorganized ``parser`` methods by functionality. Patch by @jbrockmendel (gh
172
  pr #882).
173
- Switched ``release.py`` over to using ``pep517.build`` for creating releases,
174
  rather than direct invocations of ``setup.py``. Fixed by @smeng10 (gh issue
175
  #869, gh pr #875).
176
- Added a "build" environment into the tox configuration, to handle dependency
177
  management when making releases. Fixed by @smeng10 (gh issue #870,r
178
  gh pr #876).
179
- GH #916, GH #971
180

181

182
Version 2.8.0 (2019-02-04)
183
==========================
184

185
Data updates
186
------------
187

188
- Updated tzdata version to to 2018i.
189

190

191
Features
192
--------
193

194
- Added support for ``EXDATE`` parameters when parsing ``rrule`` strings.
195
  Reported by @mlorant (gh issue #410), fixed by @nicoe (gh pr #859).
196
- Added support for sub-minute time zone offsets in Python 3.6+.
197
  Fixed by @cssherry (gh issue #582, pr #763)
198
- Switched the ``tzoffset``, ``tzstr`` and ``gettz`` caches over to using weak
199
  references, so that the cache expires when no other references to the
200
  original ``tzinfo`` objects exist. This cache-expiry behavior is not
201
  guaranteed in the public interface and may change in the future. To improve
202
  performance in the case where transient references to the same time zones
203
  are repeatedly created but no strong reference is continuously held, a
204
  smaller "strong value" cache was also added. Weak value cache implemented by
205
  @cs-cordero (gh pr #672, #801), strong cache added by
206
  Gökçen Nurlu (gh issue #691, gh pr #761)
207

208

209
Bugfixes
210
--------
211

212
- Add support for ISO 8601 times with comma as the decimal separator in the
213
  ``dateutil.parser.isoparse`` function. (gh pr #721)
214
- Changed handling of ``T24:00`` to be compliant with the standard. ``T24:00``
215
  now represents midnight on the *following* day.
216
  Fixed by @cheukting (gh issue #658, gh pr #751)
217
- Fixed an issue where ``isoparser.parse_isotime`` was unable to handle the
218
  ``24:00`` variant representation of midnight. (gh pr #773)
219
- Added support for more than 6 fractional digits in `isoparse`.
220
  Reported and fixed by @jayschwa (gh issue #786, gh pr #787).
221
- Added 'z' (lower case Z) as valid UTC time zone in isoparser.
222
  Reported by @cjgibson (gh issue #820). Fixed by @Cheukting (gh pr #822)
223
- Fixed a bug with base offset changes during DST in ``tzfile``, and refactored
224
  the way base offset changes are detected. Originally reported on
225
  Stack Overflow by @MartinThoma. (gh issue #812, gh pr #810)
226
- Fixed error condition in ``tz.gettz`` when a non-ASCII timezone is passed on
227
  Windows in Python 2.7. (gh issue #802, pr #861)
228
- Improved performance and inspection properties of ``tzname`` methods.
229
  (gh pr #811)
230
- Removed unnecessary binary_type compatibility shims.
231
  Added by @jdufresne (gh pr #817)
232
- Changed ``python setup.py test`` to print an error to ``stderr`` and exit
233
  with 1 instead of 0. Reported and fixed by @hroncok (gh pr #814)
234
- Added a ``pyproject.toml`` file with build requirements and an explicitly
235
  specified build backend. (gh issue #736, gh prs #746, #863)
236

237

238
Documentation changes
239
---------------------
240

241
- Added documentation for the ``rrule.rrulestr`` function.
242
  Fixed by @prdickson (gh issue #623, gh pr #762)
243
- Add documentation for the ``dateutil.tz.win`` module and mocked out certain
244
  Windows-specific modules so that autodoc can still be run on non-Windows
245
  systems. (gh issue #442, pr #715)
246
- Added changelog to documentation. (gh issue #692, gh pr #707)
247
- Improved documentation on the use of ``until`` and ``count`` parameters in
248
  ``rrule``. Fixed by @lucaferocino (gh pr #755).
249
- Added an example of how to use a custom ``parserinfo`` subclass to parse
250
  non-standard datetime formats in the examples documentation for ``parser``.
251
  Added by @prdickson (gh #753)
252
- Expanded the description and examples in the ``relativedelta`` class.
253
  Contributed by @andrewcbennett (gh pr #759)
254
- Improved the contributing documentation to clarify where to put new changelog
255
  files. Contributed by @andrewcbennett (gh pr #757)
256
- Fixed a broken doctest in the ``relativedelta`` module.
257
  Fixed by @nherriot (gh pr #758).
258
- Reorganized ``dateutil.tz`` documentation and fixed issue with the
259
  ``dateutil.tz`` docstring. (gh pr #714)
260

261

262
Misc
263
----
264

265
- GH #720, GH #723, GH #726, GH #727, GH #740, GH #750, GH #760, GH #767,
266
  GH #772, GH #773, GH #780, GH #784, GH #785, GH #791, GH #799, GH #813,
267
  GH #836, GH #839, GH #857
268

269

270
Version 2.7.5 (2018-10-27)
271
==========================
272

273
Data updates
274
------------
275

276
- Update tzdata to 2018g
277

278

279
Version 2.7.4 (2018-10-24)
280
==========================
281

282
Data updates
283
------------
284

285
- Updated tzdata version to 2018f.
286

287

288
Version 2.7.3 (2018-05-09)
289
==========================
290

291
Data updates
292
------------
293

294
- Update tzdata to 2018e. (gh pr #710)
295

296

297
Bugfixes
298
--------
299

300
- Fixed an issue where ``parser.parse`` would raise ``Decimal``-specific errors
301
  instead of a standard ``ValueError`` if certain malformed values were parsed
302
  (e.g. ``NaN`` or infinite values). Reported and fixed by
303
  @amureki (gh issue #662, gh pr #679).
304
- Fixed issue in ``parser`` where a ``tzinfos`` call explicitly returning
305
  ``None`` would throw a ``ValueError``.
306
  Fixed by @parsethis (gh issue #661, gh pr #681)
307
- Fixed incorrect parsing of certain dates earlier than 100 AD when represented
308
  in the form "%B.%Y.%d", e.g. "December.0031.30". (gh issue #687, pr #700)
309
- Added time zone inference when initializing an ``rrule`` with a specified
310
  ``UNTIL`` but without an explicitly specified ``DTSTART``; the time zone
311
  of the generated ``DTSTART`` will now be taken from the ``UNTIL`` rule.
312
  Reported by @href (gh issue #652). Fixed by @absreim (gh pr #693).
313

314
Documentation changes
315
---------------------
316

317
- Corrected link syntax and updated URL to https for ISO year week number
318
  notation in relativedelta examples. (gh issue #670, pr #711)
319
- Add doctest examples to tzfile documentation. Done by @weatherpattern and
320
  @pganssle (gh pr #671)
321
- Updated the documentation for relativedelta. Removed references to tuple
322
  arguments for weekday, explained effect of weekday(_, 1) and better explained
323
  the order of operations that relativedelta applies. Fixed by @kvn219
324
  @huangy22 and @ElliotJH (gh pr #673)
325
- Added changelog to documentation. (gh issue #692, gh pr #707)
326
- Changed order of keywords in rrule docstring. Reported and fixed by
327
  @rmahajan14 (gh issue #686, gh pr #695).
328
- Added documentation for ``dateutil.tz.gettz``. Reported by @pganssle (gh
329
  issue #647). Fixed by @weatherpattern (gh pr #704)
330
- Cleaned up malformed RST in the ``tz`` documentation. (gh issue #702, gh pr
331
  #706)
332
- Changed the default theme to ``sphinx_rtd_theme``, and changed the sphinx
333
  configuration accordingly. (gh pr #707)
334
- Reorganized ``dateutil.tz`` documentation and fixed issue with the
335
  ``dateutil.tz`` docstring. (gh pr #714)
336

337

338
Misc
339
----
340

341
- GH #674, GH #688, GH #699
342

343

344
Version 2.7.2 (2018-03-26)
345
==========================
346

347
Bugfixes
348
--------
349

350
- Fixed an issue with the setup script running in non-UTF-8 environment.
351
  Reported and fixed by @gergondet (gh pr #651)
352

353

354
Misc
355
----
356

357
- GH #655
358

359

360
Version 2.7.1 (2018-03-24)
361
===========================
362

363
Data updates
364
------------
365

366
- Updated tzdata version to 2018d.
367

368

369
Bugfixes
370
--------
371

372
- Fixed issue where parser.parse would occasionally raise
373
  decimal.Decimal-specific error types rather than ValueError. Reported by
374
  @amureki (gh issue #632). Fixed by @pganssle (gh pr #636).
375
- Improve error message when rrule's dtstart and until are not both naive or
376
  both aware. Reported and fixed by @ryanpetrello (gh issue #633, gh pr #634)
377

378

379
Misc
380
----
381

382
- GH #644, GH #648
383

384

385
Version 2.7.0
386
=============
387
- Dropped support for Python 2.6 (gh pr #362 by @jdufresne)
388
- Dropped support for Python 3.2 (gh pr #626)
389
- Updated zoneinfo file to 2018c (gh pr #616)
390
- Changed licensing scheme so all new contributions are dual licensed under
391
  Apache 2.0 and BSD. (gh pr #542, issue #496)
392
- Added __all__ variable to the root package. Reported by @tebriel
393
  (gh issue #406), fixed by @mariocj89 (gh pr #494)
394
- Added python_requires to setup.py so that pip will distribute the right
395
  version of dateutil. Fixed by @jakec-github (gh issue #537, pr #552)
396
- Added the utils submodule, for miscellaneous utilities.
397
- Added within_delta function to utils - added by @justanr (gh issue #432,
398
  gh pr #437)
399
- Added today function to utils (gh pr #474)
400
- Added default_tzinfo function to utils (gh pr #475), solving an issue
401
  reported by @nealmcb (gh issue #94)
402
- Added dedicated ISO 8601 parsing function isoparse (gh issue #424).
403
  Initial implementation by @pganssle in gh pr #489 and #622, with a
404
  pre-release fix by @kirit93 (gh issue #546, gh pr #573).
405
- Moved parser module into parser/_parser.py and officially deprecated the use
406
  of several private functions and classes from that module. (gh pr #501, #515)
407
- Tweaked parser error message to include rejected string format, added by
408
  @pbiering (gh pr #300)
409
- Add support for parsing bytesarray, reported by @uckelman (gh issue #417) and
410
  fixed by @uckelman and @pganssle (gh pr #514)
411
- Started raising a warning when the parser finds a timezone string that it
412
  cannot construct a tzinfo instance for (rather than succeeding with no
413
  indication of an error). Reported and fixed by @jbrockmendel (gh pr #540)
414
- Dropped the use of assert in the parser. Fixed by @jbrockmendel (gh pr #502)
415
- Fixed to assertion logic in parser to support dates like '2015-15-May',
416
  reported and fixed by @jbrockmendel (gh pr #409)
417
- Fixed IndexError in parser on dates with trailing colons, reported and fixed
418
  by @jbrockmendel (gh pr #420)
419
- Fixed bug where hours were not validated, leading to improper parse. Reported
420
  by @heappro (gh pr #353), fixed by @jbrockmendel (gh pr #482)
421
- Fixed problem parsing strings in %b-%Y-%d format. Reported and fixed by
422
  @jbrockmendel (gh pr #481)
423
- Fixed problem parsing strings in the %d%B%y format. Reported by @asishm
424
  (gh issue #360), fixed by @jbrockmendel (gh pr #483)
425
- Fixed problem parsing certain unambiguous strings when year <99 (gh pr #510).
426
  Reported by @alexwlchan (gh issue #293).
427
- Fixed issue with parsing an unambiguous string representation of an ambiguous
428
  datetime such that if possible the correct value for fold is set. Fixes
429
  issue reported by @JordonPhillips and @pganssle (gh issue #318, #320,
430
  gh pr #517)
431
- Fixed issue with improper rounding of fractional components. Reported by
432
  @dddmello (gh issue #427), fixed by @m-dz (gh pr #570)
433
- Performance improvement to parser from removing certain min() calls. Reported
434
  and fixed by @jbrockmendel (gh pr #589)
435
- Significantly refactored parser code by @jbrockmendel (gh prs #419, #436,
436
  #490, #498, #539) and @pganssle (gh prs #435, #468)
437
- Implemented of __hash__ for relativedelta and weekday, reported and fixed
438
  by @mrigor (gh pr #389)
439
- Implemented __abs__ for relativedelta. Reported by @binnisb and @pferreir
440
  (gh issue #350, pr #472)
441
- Fixed relativedelta.weeks property getter and setter to work for both
442
  negative and positive values. Reported and fixed by @souliane (gh issue #459,
443
  pr #460)
444
- Fixed issue where passing whole number floats to the months or years
445
  arguments of the relativedelta constructor would lead to errors during
446
  addition. Reported by @arouanet (gh pr #411), fixed by @lkollar (gh pr #553)
447
- Added a pre-built tz.UTC object representing UTC (gh pr #497)
448
- Added a cache to tz.gettz so that by default it will return the same object
449
  for identical inputs. This will change the semantics of certain operations
450
  between datetimes constructed with tzinfo=tz.gettz(...). (gh pr #628)
451
- Changed the behavior of tz.tzutc to return a singleton (gh pr #497, #504)
452
- Changed the behavior of tz.tzoffset to return the same object when passed the
453
  same inputs, with a corresponding performance improvement (gh pr #504)
454
- Changed the behavior of tz.tzstr to return the same object when passed the
455
  same inputs. (gh pr #628)
456
- Added .instance alternate constructors for tz.tzoffset and tz.tzstr, to
457
  allow the construction of a new instance if desired. (gh pr #628)
458
- Added the tz.gettz.nocache function to allow explicit retrieval of a new
459
  instance of the relevant tzinfo. (gh pr #628)
460
- Expand definition of tz.tzlocal equality so that the local zone is allow
461
  equality with tzoffset and tzutc. (gh pr #598)
462
- Deprecated the idiosyncratic tzstr format mentioned in several examples but
463
  evidently designed exclusively for dateutil, and very likely not used by
464
  any current users. (gh issue #595, gh pr #606)
465
- Added the tz.resolve_imaginary function, which generates a real date from
466
  an imaginary one, if necessary. Implemented by @Cheukting (gh issue #339,
467
  gh pr #607)
468
- Fixed issue where the tz.tzstr constructor would erroneously succeed if
469
  passed an invalid value for tzstr. Fixed by @pablogsal (gh issue #259,
470
  gh pr #581)
471
- Fixed issue with tz.gettz for TZ variables that start with a colon. Reported
472
  and fixed by @lapointexavier (gh pr #601)
473
- Added a lock to tz.tzical's cache. Reported and fixed by @Unrud (gh pr #430)
474
- Fixed an issue with fold support on certain Python 3 implementations that
475
  used the pre-3.6 pure Python implementation of datetime.replace, most
476
  notably pypy3 (gh pr #446).
477
- Added support for VALUE=DATE-TIME for DTSTART in rrulestr. Reported by @potuz
478
  (gh issue #401) and fixed by @Unrud (gh pr #429)
479
- Started enforcing that within VTIMEZONE, the VALUE parameter can only be
480
  omitted or DATE-TIME, per RFC 5545. Reported by @Unrud (gh pr #439)
481
- Added support for TZID parameter for DTSTART in rrulestr. Reported and
482
  fixed by @ryanpetrello (gh issue #614, gh pr #624)
483
- Added 'RRULE:' prefix to rrule strings generated by rrule.__str__, in
484
  compliance with the RFC. Reported by @AndrewPashkin (gh issue #86), fixed by
485
  @jarondl and @mlorant (gh pr #450)
486
- Switched to setuptools_scm for version management, automatically calculating
487
  a version number from the git metadata. Reported by @jreback (gh issue #511),
488
  implemented by @Sulley38 (gh pr #564)
489
- Switched setup.py to use find_packages, and started testing against pip
490
  installed versions of dateutil in CI. Fixed issue with parser import
491
  discovered by @jreback in pandas-dev/pandas#18141. (gh issue #507, pr #509)
492
- Switched test suite to using pytest (gh pr #495)
493
- Switched CI over to use tox. Fixed by @gaborbernat (gh pr #549)
494
- Added a test-only dependency on freezegun. (gh pr #474)
495
- Reduced number of CI builds on Appveyor. Fixed by @kirit93 (gh issue #529,
496
  gh pr #579)
497
- Made xfails strict by default, so that an xpass is a failure. (gh pr #567)
498
- Added a documentation generation stage to tox and CI. (gh pr #568)
499
- Added an explicit warning when running python setup.py explaining how to run
500
  the test suites with pytest. Fixed by @lkollar. (gh issue #544, gh pr #548)
501
- Added requirements-dev.txt for test dependency management (gh pr #499, #516)
502
- Fixed code coverage metrics to account for Windows builds (gh pr #526)
503
- Fixed code coverage metrics to NOT count xfails. Fixed by @gaborbernat
504
  (gh issue #519, gh pr #563)
505
- Style improvement to zoneinfo.tzfile that was confusing to static type
506
  checkers. Reported and fixed by @quodlibetor (gh pr #485)
507
- Several unused imports were removed by @jdufresne. (gh pr #486)
508
- Switched ``isinstance(*, collections.Callable)`` to callable, which is available
509
  on all supported Python versions. Implemented by @jdufresne (gh pr #612)
510
- Added CONTRIBUTING.md (gh pr #533)
511
- Added AUTHORS.md (gh pr #542)
512
- Corrected setup.py metadata to reflect author vs. maintainer, (gh issue #477,
513
  gh pr #538)
514
- Corrected README to reflect that tests are now run in pytest. Reported and
515
  fixed by @m-dz (gh issue #556, gh pr #557)
516
- Updated all references to RFC 2445 (iCalendar) to point to RFC 5545. Fixed
517
  by @mariocj89 (gh issue #543, gh pr #555)
518
- Corrected parse documentation to reflect proper integer offset units,
519
  reported and fixed by @abrugh (gh pr #458)
520
- Fixed dangling parenthesis in tzoffset documentation (gh pr #461)
521
- Started including the license file in wheels. Reported and fixed by
522
  @jdufresne (gh pr #476)
523
- Indentation fixes to parser docstring by @jbrockmendel (gh pr #492)
524
- Moved many examples from the "examples" documentation into their appropriate
525
  module documentation pages. Fixed by @Tomasz-Kluczkowski and @jakec-github
526
  (gh pr #558, #561)
527
- Fixed documentation so that the parser.isoparse documentation displays.
528
  Fixed by @alexchamberlain (gh issue #545, gh pr #560)
529
- Refactored build and release sections and added setup instructions to
530
  CONTRIBUTING. Reported and fixed by @kynan (gh pr #562)
531
- Cleaned up various dead links in the documentation. (gh pr #602, #608, #618)
532

533
Version 2.6.1
534
=============
535
- Updated zoneinfo file to 2017b. (gh pr #395)
536
- Added Python 3.6 to CI testing (gh pr #365)
537
- Removed duplicate test name that was preventing a test from being run.
538
  Reported and fixed by @jdufresne (gh pr #371)
539
- Fixed testing of folds and gaps, particularly on Windows (gh pr #392)
540
- Fixed deprecated escape characters in regular expressions. Reported by
541
  @nascheme and @thierryba (gh issue #361), fixed by @thierryba (gh pr #358)
542
- Many PEP8 style violations and other code smells were fixed by @jdufresne
543
  (gh prs #358, #363, #364, #366, #367, #368, #372, #374, #379, #380, #398)
544
- Improved performance of tzutc and tzoffset objects. (gh pr #391)
545
- Fixed issue with several time zone classes around DST transitions in any
546
  zones with +0 standard offset (e.g. Europe/London) (gh issue #321, pr #390)
547
- Fixed issue with fuzzy parsing where tokens similar to AM/PM that are in the
548
  end skipped were dropped in the fuzzy_with_tokens list. Reported and fixed
549
  by @jbrockmendel (gh pr #332).
550
- Fixed issue with parsing dates of the form X m YY. Reported by @jbrockmendel.
551
  (gh issue #333, pr #393)
552
- Added support for parser weekdays with less than 3 characters. Reported by
553
  @arcadefoam (gh issue #343), fixed by @jonemo (gh pr #382)
554
- Fixed issue with the addition and subtraction of certain relativedeltas.
555
  Reported and fixed by @kootenpv (gh issue #346, pr #347)
556
- Fixed issue where the COUNT parameter of rrules was ignored if 0. Fixed by
557
  @mshenfield (gh pr #330), reported by @vaultah (gh issue #329).
558
- Updated documentation to include the new tz methods. (gh pr #324)
559
- Update documentation to reflect that the parser can raise TypeError, reported
560
  and fixed by @tomchuk (gh issue #336, pr #337)
561
- Fixed an incorrect year in a parser doctest. Fixed by @xlotlu (gh pr #357)
562
- Moved version information into _version.py and set up the versions more
563
  granularly.
564

565
Version 2.6.0
566
=============
567
- Added PEP-495-compatible methods to address ambiguous and imaginary dates in
568
  time zones in a backwards-compatible way. Ambiguous dates and times can now
569
  be safely represented by all dateutil time zones. Many thanks to Alexander
570
  Belopolski (@abalkin) and Tim Peters @tim-one for their inputs on how to
571
  address this. Original issues reported by Yupeng and @zed (lP: 1390262,
572
  gh issues #57, #112, #249, #284, #286, prs #127, #225, #248, #264, #302).
573
- Added new methods for working with ambiguous and imaginary dates to the tz
574
  module. datetime_ambiguous() determines if a datetime is ambiguous for a given
575
  zone and datetime_exists() determines if a datetime exists in a given zone.
576
  This works for all fold-aware datetimes, not just those provided by dateutil.
577
  (gh issue #253, gh pr #302)
578
- Fixed an issue where dst() in Portugal in 1996 was returning the wrong value
579
  in tz.tzfile objects. Reported by @abalkin (gh issue #128, pr #225)
580
- Fixed an issue where zoneinfo.ZoneInfoFile errors were not being properly
581
  deep-copied. (gh issue #226, pr #225)
582
- Refactored tzwin and tzrange as a subclass of a common class, tzrangebase, as
583
  there was substantial overlapping functionality. As part of this change,
584
  tzrange and tzstr now expose a transitions() function, which returns the
585
  DST on and off transitions for a given year. (gh issue #260, pr #302)
586
- Deprecated zoneinfo.gettz() due to confusion with tz.gettz(), in favor of
587
  get() method of zoneinfo.ZoneInfoFile objects. (gh issue #11, pr #310)
588
- For non-character, non-stream arguments, parser.parse now raises TypeError
589
  instead of AttributeError. (gh issues #171, #269, pr #247)
590
- Fixed an issue where tzfile objects were not properly handling dst() and
591
  tzname() when attached to datetime.time objects. Reported by @ovacephaloid.
592
  (gh issue #292, pr #309)
593
- /usr/share/lib/zoneinfo was added to TZPATHS for compatibility with Solaris
594
  systems. Reported by @dhduvall (gh issue #276, pr #307)
595
- tzoffset and tzrange objects now accept either a number of seconds or a
596
  datetime.timedelta() object wherever previously only a number of seconds was
597
  allowed. (gh pr #264, #277)
598
- datetime.timedelta objects can now be added to relativedelta objects. Reported
599
  and added by Alec Nikolas Reiter (@justanr) (gh issue #282, pr #283
600
- Refactored relativedelta.weekday and rrule.weekday into a common base class
601
  to reduce code duplication. (gh issue #140, pr #311)
602
- An issue where the WKST parameter was improperly rendering in str(rrule) was
603
  reported and fixed by Daniel LePage (@dplepage). (gh issue #262, pr #263)
604
- A replace() method has been added to rrule objects by @jendas1, which creates
605
  new rrule with modified attributes, analogous to datetime.replace (gh pr #167)
606
- Made some significant performance improvements to rrule objects in Python 2.x
607
  (gh pr #245)
608
- All classes defining equality functions now return NotImplemented when
609
  compared to unsupported classes, rather than raising TypeError, to allow other
610
  classes to provide fallback support. (gh pr #236)
611
- Several classes have been marked as explicitly unhashable to maintain
612
  identical behavior between Python 2 and 3. Submitted by Roy Williams
613
  (@rowillia) (gh pr #296)
614
- Trailing whitespace in easter.py has been removed. Submitted by @OmgImAlexis
615
  (gh pr #299)
616
- Windows-only batch files in build scripts had line endings switched to CRLF.
617
  (gh pr #237)
618
- @adamchainz updated the documentation links to reflect that the canonical
619
  location for readthedocs links is now at .io, not .org. (gh pr #272)
620
- Made some changes to the CI and codecov to test against newer versions of
621
  Python and pypy, and to adjust the code coverage requirements. For the moment,
622
  full pypy3 compatibility is not supported until a new release is available,
623
  due to upstream bugs in the old version affecting PEP-495 support.
624
  (gh prs #265, #266, #304, #308)
625
- The full PGP signing key fingerprint was added to the README.md in favor of
626
  the previously used long-id. Reported by @valholl (gh issue #287, pr #304)
627
- Updated zoneinfo to 2016i. (gh issue #298, gh pr #306)
628

629

630
Version 2.5.3
631
=============
632
- Updated zoneinfo to 2016d
633
- Fixed parser bug where unambiguous datetimes fail to parse when dayfirst is
634
  set to true. (gh issue #233, pr #234)
635
- Bug in zoneinfo file on platforms such as Google App Engine which do not
636
  do not allow importing of subprocess.check_call was reported and fixed by
637
  @savraj (gh issue #239, gh pr #240)
638
- Fixed incorrect version in documentation (gh issue #235, pr #243)
639

640
Version 2.5.2
641
=============
642
- Updated zoneinfo to 2016c
643
- Fixed parser bug where yearfirst and dayfirst parameters were not being
644
  respected when no separator was present. (gh issue #81 and #217, pr #229)
645

646
Version 2.5.1
647
=============
648
- Updated zoneinfo to 2016b
649
- Changed MANIFEST.in to explicitly include test suite in source distributions,
650
  with help from @koobs (gh issue #193, pr #194, #201, #221)
651
- Explicitly set all line-endings to LF, except for the NEWS file, on a
652
  per-repository basis (gh pr #218)
653
- Fixed an issue with improper caching behavior in rruleset objects (gh issue
654
  #104, pr #207)
655
- Changed to an explicit error when rrulestr strings contain a missing BYDAY
656
  (gh issue #162, pr #211)
657
- tzfile now correctly handles files containing leapcnt (although the leapcnt
658
  information is not actually used). Contributed by @hjoukl (gh issue #146, pr
659
  #147)
660
- Fixed recursive import issue with tz module (gh pr #204)
661
- Added compatibility between tzwin objects and datetime.time objects (gh issue
662
  #216, gh pr #219)
663
- Refactored monolithic test suite by module (gh issue #61, pr #200 and #206)
664
- Improved test coverage in the relativedelta module (gh pr #215)
665
- Adjusted documentation to reflect possibly counter-intuitive properties of
666
  RFC-5545-compliant rrules, and other documentation improvements in the rrule
667
  module (gh issue #105, gh issue #149 - pointer to the solution by @phep,
668
  pr #213).
669

670

671
Version 2.5.0
672
=============
673
- Updated zoneinfo to 2016a
674
- zoneinfo_metadata file version increased to 2.0 - the updated updatezinfo.py
675
  script will work with older zoneinfo_metadata.json files, but new metadata
676
  files will not work with older updatezinfo.py versions. Additionally, we have
677
  started hosting our own mirror of the Olson databases on a GitHub pages
678
  site (https://dateutil.github.io/tzdata/) (gh pr #183)
679
- dateutil zoneinfo tarballs now contain the full zoneinfo_metadata file used
680
  to generate them. (gh issue #27, gh pr #85)
681
- relativedelta can now be safely subclassed without derived objects reverting
682
  to base relativedelta objects as a result of arithmetic operations.
683
  (lp:1010199, gh issue #44, pr #49)
684
- relativedelta 'weeks' parameter can now be set and retrieved as a property of
685
  relativedelta instances. (lp: 727525, gh issue #45, pr #49)
686
- relativedelta now explicitly supports fractional relative weeks, days, hours,
687
  minutes and seconds. Fractional values in absolute parameters (year, day, etc)
688
  are now deprecated. (gh issue #40, pr #190)
689
- relativedelta objects previously did not use microseconds to determine of two
690
  relativedelta objects were equal. This oversight has been corrected.
691
  Contributed by @elprans (gh pr #113)
692
- rrule now has an xafter() method for retrieving multiple recurrences after a
693
  specified date. (gh pr #38)
694
- str(rrule) now returns an RFC2445-compliant rrule string, contributed by
695
  @schinckel and @armicron (lp:1406305, gh issue #47, prs #50, #62 and #160)
696
- rrule performance under certain conditions has been significantly improved
697
  thanks to a patch contributed by @dekoza, based on an article by Brian Beck
698
  (@exogen) (gh pr #136)
699
- The use of both the 'until' and 'count' parameters is now deprecated as
700
  inconsistent with RFC2445 (gh pr #62, #185)
701
- Parsing an empty string will now raise a ValueError, rather than returning the
702
  datetime passed to the 'default' parameter. (gh issue #78, pr #187)
703
- tzwinlocal objects now have a meaningful repr() and str() implementation
704
  (gh issue #148, prs #184 and #186)
705
- Added equality logic for tzwin and tzwinlocal objects. (gh issue #151,
706
  pr #180, #184)
707
- Added some flexibility in subclassing timelex, and switched the default
708
  behavior over to using string methods rather than comparing against a fixed
709
  list. (gh pr #122, #139)
710
- An issue causing tzstr() to crash on Python 2.x was fixed. (lp: 1331576,
711
  gh issue #51, pr #55)
712
- An issue with string encoding causing exceptions under certain circumstances
713
  when tzname() is called was fixed. (gh issue #60, #74, pr #75)
714
- Parser issue where calling parse() on dates with no day specified when the
715
  day of the month in the default datetime (which is "today" if unspecified) is
716
  greater than the number of days in the parsed month was fixed (this issue
717
  tended to crop up between the 29th and 31st of the month, for obvious reasons)
718
  (canonical gh issue #25, pr #30, #191)
719
- Fixed parser issue causing fuzzy_with_tokens to raise an unexpected exception
720
  in certain circumstances. Contributed by @MichaelAquilina (gh pr #91)
721
- Fixed parser issue where years > 100 AD were incorrectly parsed. Contributed
722
  by @Bachmann1234 (gh pr #130)
723
- Fixed parser issue where commas were not a valid separator between seconds
724
  and microseconds, preventing parsing of ISO 8601 dates. Contributed by
725
  @ryanss (gh issue #28, pr #106)
726
- Fixed issue with tzwin encoding in locales with non-Latin alphabets
727
  (gh issue #92, pr #98)
728
- Fixed an issue where tzwin was not being properly imported on Windows.
729
  Contributed by @labrys. (gh pr #134)
730
- Fixed a problem causing issues importing zoneinfo in certain circumstances.
731
  Issue and solution contributed by @alexxv (gh issue #97, pr #99)
732
- Fixed an issue where dateutil timezones were not compatible with basic time
733
  objects. One of many, many timezone related issues contributed and tested by
734
  @labrys. (gh issue #132, pr #181)
735
- Fixed issue where tzwinlocal had an invalid utcoffset. (gh issue #135,
736
  pr #141, #142)
737
- Fixed issue with tzwin and tzwinlocal where DST transitions were incorrectly
738
  parsed from the registry. (gh issue #143, pr #178)
739
- updatezinfo.py no longer suppresses certain OSErrors. Contributed by @bjamesv
740
  (gh pr #164)
741
- An issue that arose when timezone locale changes during runtime has been
742
  fixed by @carlosxl and @mjschultz (gh issue #100, prs #107, #109)
743
- Python 3.5 was added to the supported platforms in the metadata (@tacaswell
744
  gh pr #159) and the test suites (@moreati gh pr #117).
745
- An issue with tox failing without unittest2 installed in Python 2.6 was fixed
746
  by @moreati (gh pr #115)
747
- Several deprecated functions were replaced in the tests by @moreati
748
  (gh pr #116)
749
- Improved the logic in Travis and Appveyor to alleviate issues where builds
750
  were failing due to connection issues when downloading the IANA timezone
751
  files. In addition to adding our own mirror for the files (gh pr #183), the
752
  download is now retried a number of times (with a delay) (gh pr #177)
753
- Many failing doctests were fixed by @moreati. (gh pr #120)
754
- Many fixes to the documentation (gh pr #103, gh pr #87 from @radarhere,
755
  gh pr #154 from @gpoesia, gh pr #156 from @awsum, gh pr #168 from @ja8zyjits)
756
- Added a code coverage tool to the CI to help improve the library. (gh pr #182)
757
- We now have a mailing list - dateutil@python.org, graciously hosted by
758
  Python.org.
759

760

761
Version 2.4.2
762
=============
763
- Updated zoneinfo to 2015b.
764
- Fixed issue with parsing of tzstr on Python 2.7.x; tzstr will now be decoded
765
  if not a unicode type. gh #51 (lp:1331576), gh pr #55.
766
- Fix a parser issue where AM and PM tokens were showing up in fuzzy date
767
  stamps, triggering inappropriate errors. gh #56 (lp: 1428895), gh pr #63.
768
- Missing function "setcachesize" removed from zoneinfo __all__ list by @ryanss,
769
  fixing an issue with wildcard imports of dateutil.zoneinfo. (gh pr #66).
770
- (PyPI only) Fix an issue with source distributions not including the test
771
  suite.
772

773

774
Version 2.4.1
775
=============
776

777
- Added explicit check for valid hours if AM/PM is specified in parser.
778
  (gh pr #22, issue #21)
779
- Fix bug in rrule introduced in 2.4.0 where byweekday parameter was not
780
  handled properly. (gh pr #35, issue #34)
781
- Fix error where parser allowed some invalid dates, overwriting existing hours
782
  with the last 2-digit number in the string. (gh pr #32, issue #31)
783
- Fix and add test for Python 2.x compatibility with boolean checking of
784
  relativedelta objects. Implemented by @nimasmi (gh pr #43) and Cédric Krier
785
  (lp: 1035038)
786
- Replaced parse() calls with explicit datetime objects in unit tests unrelated
787
  to parser. (gh pr #36)
788
- Changed private _byxxx from sets to sorted tuples and fixed one currently
789
  unreachable bug in _construct_byset. (gh pr #54)
790
- Additional documentation for parser (gh pr #29, #33, #41) and rrule.
791
- Formatting fixes to documentation of rrule and README.rst.
792
- Updated zoneinfo to 2015a.
793

794
Version 2.4.0
795
=============
796

797
- Fix an issue with relativedelta and freezegun (lp:1374022)
798
- Fix tzinfo in windows for timezones without dst (lp:1010050, gh #2)
799
- Ignore missing timezones in windows like in POSIX
800
- Fix minimal version requirement for six (gh #6)
801
- Many rrule changes and fixes by @pganssle (gh pull requests #13 #14 #17),
802
    including defusing some infinite loops (gh #4)
803

804
Version 2.3
805
===========
806

807
- Cleanup directory structure, moved test.py to dateutil/tests/test.py
808

809
- Changed many aspects of dealing with the zone info file. Instead of a cache,
810
  all the zones are loaded to memory, but symbolic links are loaded only once,
811
  so not much memory is used.
812

813
- The package is now zip-safe, and universal-wheelable, thanks to changes in
814
  the handling of the zoneinfo file.
815

816
- Fixed tzwin silently not imported on windows python2
817

818
- New maintainer, together with new hosting: GitHub, Travis, Read-The-Docs
819

820
Version 2.2
821
===========
822

823
- Updated zoneinfo to 2013h
824

825
- fuzzy_with_tokens parse addon from Christopher Corley
826

827
- Bug with LANG=C fixed by Mike Gilbert
828

829
Version 2.1
830
===========
831

832
- New maintainer
833

834
- Dateutil now works on Python 2.6, 2.7 and 3.2 from same codebase (with six)
835

836
- #704047: Ismael Carnales' patch for a new time format
837

838
- Small bug fixes, thanks for reporters!
839

840

841
Version 2.0
842
===========
843

844
- Ported to Python 3, by Brian Jones.  If you need dateutil for Python 2.X,
845
  please continue using the 1.X series.
846

847
- There's no such thing as a "PSF License".  This source code is now
848
  made available under the Simplified BSD license.  See LICENSE for
849
  details.
850

851
Version 1.5
852
===========
853

854
- As reported by Mathieu Bridon, rrules were matching the bysecond rules
855
  incorrectly against byminute in some circumstances when the SECONDLY
856
  frequency was in use, due to a copy & paste bug.  The problem has been
857
  unittested and corrected.
858

859
- Adam Ryan reported a problem in the relativedelta implementation which
860
  affected the yearday parameter in the month of January specifically.
861
  This has been unittested and fixed.
862

863
- Updated timezone information.
864

865

866
Version 1.4.1
867
=============
868

869
- Updated timezone information.
870

871

872
Version 1.4
873
===========
874

875
- Fixed another parser precision problem on conversion of decimal seconds
876
  to microseconds, as reported by Erik Brown.  Now these issues are gone
877
  for real since it's not using floating point arithmetic anymore.
878

879
- Fixed case where tzrange.utcoffset and tzrange.dst() might fail due
880
  to a date being used where a datetime was expected (reported and fixed
881
  by Lennart Regebro).
882

883
- Prevent tzstr from introducing daylight timings in strings that didn't
884
  specify them (reported by Lennart Regebro).
885

886
- Calls like gettz("GMT+3") and gettz("UTC-2") will now return the
887
  expected values, instead of the TZ variable behavior.
888

889
- Fixed DST signal handling in zoneinfo files.  Reported by
890
  Nicholas F. Fabry and John-Mark Gurney.
891

892

893
Version 1.3
894
===========
895

896
- Fixed precision problem on conversion of decimal seconds to
897
  microseconds, as reported by Skip Montanaro.
898

899
- Fixed bug in constructor of parser, and converted parser classes to
900
  new-style classes.  Original report and patch by Michael Elsdörfer.
901

902
- Initialize tzid and comps in tz.py, to prevent the code from ever
903
  raising a NameError (even with broken files).  Johan Dahlin suggested
904
  the fix after a pyflakes run.
905

906
- Version is now published in dateutil.__version__, as requested
907
  by Darren Dale.
908

909
- All code is compatible with new-style division.
910

911

912
Version 1.2
913
===========
914

915
- Now tzfile will round timezones to full-minutes if necessary,
916
  since Python's datetime doesn't support sub-minute offsets.
917
  Thanks to Ilpo Nyyssönen for reporting the issue.
918

919
- Removed bare string exceptions, as reported and fixed by
920
  Wilfredo Sánchez Vega.
921

922
- Fix bug in leap count parsing (reported and fixed by Eugene Oden).
923

924

925
Version 1.1
926
===========
927

928
- Fixed rrule byyearday handling. Abramo Bagnara pointed out that
929
  RFC2445 allows negative numbers.
930

931
- Fixed --prefix handling in setup.py (by Sidnei da Silva).
932

933
- Now tz.gettz() returns a tzlocal instance when not given any
934
  arguments and no other timezone information is found.
935

936
- Updating timezone information to version 2005q.
937

938

939
Version 1.0
940
===========
941

942
- Fixed parsing of XXhXXm formatted time after day/month/year
943
  has been parsed.
944

945
- Added patch by Jeffrey Harris optimizing rrule.__contains__.
946

947

948
Version 0.9
949
===========
950

951
- Fixed pickling of timezone types, as reported by
952
  Andreas Köhler.
953

954
- Implemented internal timezone information with binary
955
  timezone files. datautil.tz.gettz() function will now
956
  try to use the system timezone files, and fallback to
957
  the internal versions. It's also possible to ask for
958
  the internal versions directly by using
959
  dateutil.zoneinfo.gettz().
960

961
- New tzwin timezone type, allowing access to Windows
962
  internal timezones (contributed by Jeffrey Harris).
963

964
- Fixed parsing of unicode date strings.
965

966
- Accept parserinfo instances as the parser constructor
967
  parameter, besides parserinfo (sub)classes.
968

969
- Changed weekday to spell the not-set n value as None
970
  instead of 0.
971

972
- Fixed other reported bugs.
973

974

975
Version 0.5
976
===========
977

978
- Removed ``FREQ_`` prefix from rrule frequency constants
979
  WARNING: this breaks compatibility with previous versions.
980

981
- Fixed rrule.between() for cases where "after" is achieved
982
  before even starting, as reported by Andreas Köhler.
983

984
- Fixed two digit zero-year parsing (such as 31-Dec-00), as
985
  reported by Jim Abramson, and included test case for this.
986

987
- Sort exdate and rdate before iterating over them, so that
988
  it's not necessary to sort them before adding to the rruleset,
989
  as reported by Nicholas Piper.
990

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.