- Fixed a crash in desugared code on Android when trying to construct time zones with some specific identifiers (149)
- Added
iosSimulatorArm64
,watchosSimulatorArm64
,tvosSimulatorArm64
,macosArm64
target support (141, 144).
ZoneOffset
was replaced by two other classes:FixedOffsetTimeZone
, which represents a time zone with a fixed offset, andUtcOffset
, which represents just the UTC offset (PR#125).- The
DayBased
andMonthBased
subclasses ofDateTimeUnit.DateBased
are now accessed asDateTimeUnit.DayBased
andDateTimeUnit.MonthBased
as opposed toDateTimeUnit.DateBased.DayBased
andDateTimeUnit.DateBased.MonthBased
respectively (PR#131).
- Fixed the library being incompatible with kotlinx.serialization 1.2.0 and above (#118).
watchosX64
target support. In practice, this means the ability to run projects that depend on this library in the iOS Simulator for Apple Watch.
- Fixed
TimeZone.currentSystemDefault()
crashing on Darwin if the resulting time zone is not listed amongTimeZone.knownTimeZoneIdentifiers
(#94)
kotlinx-serialization
support (#37)- Normalization of
DateTimePeriod
components, meaning that periods that are semantically equivalent are considered equal (#81) Instant
can now be parsed from an ISO-8601 string with an offset other thanZ
(#56)
- Fix a crash when getting the current time on iOS 9 (#52)
- Wrong answers in some cases when adding date-based units to instants on Darwin and Windows (#51)
- Zone-agnostic time-based arithmetic on Instants, e.g.
Instant.plus(value, DateTimeUnit.TimeBased)
- Add
Instant.fromEpochSeconds(epochSeconds: Long, nanosecondAdjustment: Int)
construction function - Introduce
minus
operations complementary to existingplus
arithmetic operations (#42)
A minimal, but still valuable multiplatform implementation of date and time types.