unstale

pypi / python-dateutil

python-dateutil

What changed in python-dateutil 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-22.

6 breaking1 deprecations2 new APIs and options2 behavior and defaults5 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.2 on npm

python-dateutil 316 changes

Breaking changes 6

  • The mutable search-path list has been removed; use dateutil.tz.TZPATH and dateutil.tz.reset_tzpath instead.

    3.0.0release notes

  • The function no longer does anything and raises RebuildDeprecationWarning as an error by default.

    3.0.0release notes

  • Passing a relative key that refers to a file outside every directory on TZPATH is deprecated and raises DeprecatedTzKeyWarning as an error by default.

    3.0.0release notes

  • The minimum supported version is now 1.6, fixing No module named 'six.moves' errors with older versions.

    3.0.0release notes

  • The package no longer bundles the IANA database; data comes from the system or the installed tzdata package.

    3.0.0release notes

  • For times in a gap, fold=0 uses the pre-transition offset and fold=1 uses the post-transition offset, following PEP 495.

    3.0.0release notes

Deprecations 1

  • The module is deprecated and now wraps tzdata; users are encouraged to migrate to dateutil.tz.gettz or the standard library's zoneinfo.

    3.0.0release notes

New APIs and options 2

  • Allows runtime configuration of the IANA time zone data search path.

    3.0.0release notes

  • Provides the time zone data search path, which can be configured at runtime.

    3.0.0release notes

Behavior and default changes 2

  • Cached instances can now be pickled and deep-copied; cache settings are preserved and cached results regenerated on demand.

    3.0.0release notes

  • Cached instances can now be pickled and deep-copied; cache settings are preserved and cached results regenerated on demand.

    3.0.0release notes

Fixes and other changes 5

  • Comparing against an unsupported type such as None now returns True instead of raising TypeError.

    3.0.0release notes

  • Experimental X- parameters in an RRULE line are now ignored instead of raising ValueError, as RFC 5545 permits.

    3.0.0release notes

  • The rewrite supports Version 2 and Version 3 tzfile binaries, resolving issues with timestamps beyond 2038 and slim format binaries.

    3.0.0release notes

  • Fixed-offset zones now return their offset, DST offset, and abbreviation when utcoffset, dst, and tzname are called with None, making attached datetime.time objects aware.

    3.0.0release notes

  • dst() is inferred from standard time on both sides of each DST period and for each transition, fixing several double, half-hour, and changing-standard-offset cases.

    3.0.0release notes