Skip to content

Conversation

@bxparks
Copy link
Owner

@bxparks bxparks commented Oct 21, 2025

  • 4.0.0 (2025-10-21, TZDB version 2025b)
    • See MIGRATING.md on breaking API changes, and how to
      migrate.
    • Breaking Rename LocalXxx to PlainXxx, following the conventions
      used by more modern timezone libraries (JavaScript Temporal, Python
      whenever).
      • LocalDate -> PlainDate
      • LocalDateTime -> PlainDateTime
      • LocalTime -> PlainTime
      • Backwards compatibility macros and methods have been added:
        • #define LocalDate PlainDate
        • #define LocalDateTime PlainDateTime
        • #define LocalTime PlainTime
    • Breaking Rename various methods with 'Local' to 'Plain':
      • ZonedDateTime::localDateTime() -> plainDateTime()
      • ZonedDateTime::forLocalDateTime() -> forPlainDateTime()
      • ZonedExtra::forLocalDateTime() -> forPlainDateTime()
      • OffsetDateTime::localDateTime() -> plainDateTime()
      • OffsetDateTime::localDate() -> plainDate()
      • OffsetDateTime::localTime() -> plainTime()
      • PlainDateTime::localDate() -> plainDate()
      • PlainDateTime::localTime() -> plainTime()
      • The old methods are retained for backwards compatibility, but are
        marked as deprecated.
    • Breaking Replace output parameter fold with resolved:
      • ZonedDateTime::fold becomes ZonedDateTime::resolved
      • OffsetDateTime::fold becomes OffsetDateTime::resolved
      • PlainDateTime::fold becomes PlainDateTime::resolved
      • PlainTime::fold becomes PlainTime::resolved
    • Breaking Replace input parameter fold with disambiguate in the
      following methods:
      • ZonedDateTime::forComponents()
      • ZonedDateTime::forPlainDateTime()
      • ZonedDateTime::normalize()
      • ZonedExtra::forComponents()
      • ZonedExtra::forPlainDateTime()
    • Add 2 more zonedb databases
      • zonedb2025
        • same as zonedb, but using transition rules for 2025 and onwards
        • used with BasicZoneManager and `BasicZoneProcessor
        • larger than zonedb because it supports more zones than
          zonedb (almost all zones in the TZDB, except maybe 7 zones)
      • zonedbx2025
        • same as zonedbx, but using transition rules for 2025 and onwards
        • used with ExtendedZoneManager and `ExtendedZoneProcessor
        • smaller than zonedbx (by around 10 kB) because it only
          includes transitions after 2025

@bxparks bxparks merged commit 9599d04 into master Oct 21, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants