Skip to content

v1.10.0 - add 'fold' to control DST gaps and overlaps; add more docs and examples for ESP8266 and ESP32

Compare
Choose a tag to compare
@bxparks bxparks released this 18 Jan 21:07
· 477 commits to master since this release
1a98be0
  • 1.10.0 (2022-01-18, TZDB 2021e)
    • MemoryBenchmark: Add memory consumption for ZoneSorterByName and
      ZoneSorterByOffsetAndName.
      • AVR: 180-530 bytes of flash
      • 32-bit: 120-600 bytes of flash
    • Rename internal TransitionStorage::findTransition() to
      findTransitionForSeconds() for better self-documentation.
    • Move third party SAMD21 boards to new Tier 3 (May work, but not supported)
      level.
      • I can no longer upload binaries to these boards using Arduino IDE
        1.8.19 and SparkFun SAMD Core 1.8.6.
    • Add support for fold parameter to control behavior around DST gaps
      and overlaps.
      • The semantics of the fold parameter is intended to be identical to
        Python PEP 495.
      • Add LocalTime::fold(), LocalDateTime::fold(),
        OffsetDateTime::fold(), ZonedDateTime::fold().
      • Update ExtendedZoneProcessor::getOffsetDateTime(acetime_t) to
        calculate the OffsetDateTime::fold() as an output parameter.
      • Update ExtendedZoneProcessor::getOffsetDateTime(const LocalDateTime&) to handle LocalDateTime::fold() as an input
        parameter.
      • Increases flash usage of ExtendedZoneProcessor by around 600 bytes
        on AVR, and 400-600 bytes on 32-bit processors.
    • Add toUnixSeconds64() and forUnixSeconds64() methods to
      LocalDate, LocalDateTime, OffsetDateTime, ZonedDateTime.
      • These use 64-bit int64_t integers, which allows Unix seconds to be
        used up to 2068-01-19T03:14:07Z (which is the limit of these
        various classes due to the internal use of 32-bit acetime_t).
      • These methods make it easier to interoperate with the time_t typedef
        for int64_t on the ESP8266 and ESP32 platforms.
    • Add EspTime app that shows how to integrate
      the SNTP client on the ESP8266 and ESP32 platforms with AceTime.