Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: Kotlin/kotlinx-datetime

v0.8.0

07 May 14:34

Choose a tag to compare

Breaking changes:

  • Deprecate TimeZone serialization (#576).

Additions:

  • Add orNull functions for non-throwing construction of datetime entities (#68).
  • Add parseOrNull extension functions for non-throwing attempts at parsing (#508).
  • Introduce LocalIsoWeekDate for representing ISO week dates (#603).
  • Introduce functions for finding the next or previous date with the given day-of-week (#129).

Tweaks and fixes:

  • Fix bugs in Instant.until and Instant.periodUntil (#534).
  • Always output seconds in the DateTimeComponents.Formats.RFC_1123 format (#608).
  • On Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (#575).

Changelog relative to version 0.8.0-rc02

No changes, only the version is increased.

v0.8.0-rc02

28 Apr 08:16

Choose a tag to compare

v0.8.0-rc02 Pre-release
Pre-release

Equivalent to rc01, but published without Instant and Clock.
A separate compatibility artifact contains them for binary compatibility.
Please see https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant for details.

v0.8.0-rc01

23 Apr 14:33

Choose a tag to compare

v0.8.0-rc01 Pre-release
Pre-release

Breaking changes:

  • Deprecate TimeZone serialization (#576).

Additions:

  • Add orNull functions for non-throwing construction of datetime entities (#68).
  • Add parseOrNull extension functions for non-throwing attempts at parsing (#508).
  • Introduce LocalIsoWeekDate for representing ISO week dates (#603).
  • Introduce functions for finding the next or previous date with the given day-of-week (#129).

Tweaks and fixes:

  • Fix bugs in Instant.until and Instant.periodUntil (#534).
  • Always output seconds in the DateTimeComponents.Formats.RFC_1123 format (#608).
  • On Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (#575).

v0.7.1

07 Jul 18:03

Choose a tag to compare

  • Add kotlinx.datetime.Instant and kotlinx.datetime.Clock type aliases to, respectively, kotlin.time.Instant and kotlin.time.Clock to make migration more convenient.
  • Add a fallback timezone database implementation for Darwin that uses the Foundation framework if the timezone database is unavailable on the filesystem (#485).
  • Restore binary compatibility in string format definitions utilizing dates on the JVM (#545).

v0.7.0

24 Jun 14:52

Choose a tag to compare

Breaking changes:

  • Remove kotlinx.datetime.Instant and kotlinx.datetime.Clock in favor of kotlin.time.Instant (#506). See https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant for a description of what to do if this causes problems.
  • Unify the range of admissible LocalDate and LocalDateTime values on all platforms (#432).
  • Rename dayOfMonth to day, monthNumber to month (#84).
  • Make DayOfWeek and Month no longer type aliases to java.time.DayOfWeek and java.time.Month (#96).
  • Make "UTC" and not "Z" be the timezone identifier for TimeZone.UTC (#474).
  • Accept "z" in TimeZone.of, with the same meaning as "Z" (#529).
  • Add DateTimeFormat-based KSerializer implementations for datetime entities, and change the default serializers to be based on toString/parse pairs (#415).

Additions:

  • Add java.io.Serializable implementations for most of the entities in the library (#143). Thanks for spotting and fixing a potential vulnerability, @lukellmann!
  • Add LocalDateRange, a range of LocalDate values (#190). Thanks, @PeterAttardo!
  • Add YearMonth and YearMonthRange (#457).

Tweaks and fixes:

  • Support obtaining the system timezone on old Debian-based distributions (#430).
  • Fix not being able to parse some valid timezone identifiers using the timeZoneId() directive (#444).
  • Use the grammar defined in RFC 9557 for parsing timezone identifiers in the timeZoneId() directive, allowing parsing values not present in the timezone database (#531).
  • Improved error messages when formatting an invalid DateTimeComponents value (#471).
  • Set the JPMS dependency on kotlinx.serialization.core to be optional (#496).

v0.6.2

10 Feb 15:39
e69f92f

Choose a tag to compare

  • Add the Wasm/WASI target support (#366). Thanks, @igoriakovlev!
  • Add TimeSource.asClock (#164). Thanks, @hfhbd!
  • Implement parsing and formatting day-of-year (#414)
  • Improve the precision of NSDate to Instant conversions (#427)
  • Deprecate DatePeriod.plus and DateTimePeriod.plus with a warning (#381)
  • Deprecate Clock.asTimeSource with a warning (#372)
  • Fix a bug in module-info preventing using kotlinx.datetime.format together with JPMS (#438). Thanks, @cdelabou!
  • Small tweaks and fixes.

v0.6.1

20 Aug 13:59
805cfe8

Choose a tag to compare

  • Prohibit parsing non-ASCII digits as numbers in DateTimeFormat (#405)
  • More accurately determine which files represent time zones and which don't on Linux and Darwin (#395)
  • Fix a regression that occasionally considered the right boundary of a time overlap to be a part of it on Native (#399)
  • Introduce various small improvements to the timezone handling on Windows (#390)
  • On Linux, allow not having any /etc/localtime set, defaulting to TimeZone.UTC as the system time zone (#426)

v0.6.0

14 May 16:07
bc8adee

Choose a tag to compare

  • Introduce the widely requested API for locale-invariant parsing and formatting (#343)
  • Completely overhaul the KDoc-based documentation (#347)
  • Breaking change: forbid parsing Instant values without the second-of-minute component on the JVM and JS, fixing inconsistency with Native (#369)
  • Breaking change: use the fully qualified name of classes in the JSON serializers (#308)
  • Fix Proguard emitting warning about missing kotlinx-serialization classes when serialization is not used (#336)
  • Reimplement the timezone database handling for Native targets from scratch (#286, #327)
  • Support Android NDK targets (#344)
  • Small tweaks and fixes.

Changelog relative to version 0.6.0-RC.2

  • Completely overhaul the KDoc-based documentation (#347)
  • Breaking change: forbid parsing Instant values without the second-of-minute component on the JVM and JS, fixing inconsistency with Native (#369)
  • Improve error descriptiveness in some cases (#360, #371)
  • Remove stat usages to comply with Apple's new publishing requirements (#385)
  • Fix parsing of formats where optional is directly between numbers (#362)
  • Forbid empty and duplicate month, day-of-week, and AM/PM marker names in datetime formats (#362)

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.6.0-RC.2

01 Mar 15:08

Choose a tag to compare

v0.6.0-RC.2 Pre-release
Pre-release
  • Support Android NDK targets (#344)
  • Ensure ABI compatibility with v0.5.0 (#357)

v0.6.0-RC

29 Feb 12:45

Choose a tag to compare

v0.6.0-RC Pre-release
Pre-release
  • Introduce the widely requested API for locale-invariant parsing and formatting (#343)
  • Breaking change: use the fully qualified name of classes in the JSON serializers (#308)
  • Fix Proguard emitting warning about missing kotlinx-serialization classes when serialization is not used (#336)
  • Reimplement the timezone database handling for Native targets from scratch (#286, #327)