All Versions
39
Latest Version
Avg Release Cycle
55 days
Latest Release
-

Changelog History
Page 1

  • v3.7.8 Changes

    โž• Added/Changed

    • โž• Add Thai translations
    • โž• Add Estonian translation
    • โž• Added TimezoneInfo.format_offset/1

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix incorrect Timex.weekday/2 typespecs
    • โž• Added timezone field to set_options type
    • Corrected type definition for Types.week_of_month to include possiblity of 6th week (see #703)
    • โž• Added specs to parse function to account for AmbiguousDateTime return type

  • v3.7.6 Changes

    ๐Ÿ”„ Changed

    • ๐Ÿ“š The documentation on weekday formatting via %w and %u strftime directives and WDmon and WDsun 0๏ธโƒฃ default directives did not match, and worse, the behaviour had regressed as well and did not match the ๐Ÿ“„ docs for either. The behaviour now matches between the two formatters, as does the documentation, and aligns with the C strftime specification (i.e. Monday is 1..7, Sunday is 0..6)

    ๐Ÿ›  Fixed

    • ๐Ÿ“„ Clarify docs on comparison granularity for days/weeks
    • ๐Ÿ›  Fix incorrect weekday formatting (see #668)
    • ๐Ÿ‘€ Handled edge case where no locally-defined timezone is present (see #670)
    • ๐Ÿ‘€ Invalid validation of ambiguous date/times during parsing (see #674)

  • v3.7.5 Changes

    โž• Added/Changed

    • โž• Added Timex.Timezone.get/3 to allow requesting timezones using utc or wall clock as desired

    ๐Ÿ›  Fixed

    • โž• Addressed issues #652, #658, #659, #656, #654, #653
  • v3.7.4 Changes

    ๐Ÿ›  Fixed

    • โž• Addressed issues #647, #648, #649, #650
  • v3.7.3 Changes

    NOTE: The config of the Timex default locale is changed to:

    config :your_app, Timex.Gettext, default_locale: "en"
    

    ๐Ÿ‘€ This follows the standard set by Gettext, see: the Gettext docs

    Now when the Gettext locale is being changed on runtime with:

    Gettext.put_locale("nl")
    

    The Gettext backend for Timex will follow suit. If for some reason you want Timex, and just Timex, to change its locale to something else you should target the Timex.Gettext backend with:

    Timex.Gettext.put_locale("de")
    

    Potentially Breaking

    • ๐Ÿ›  Fixed handling of Etc/GMT vs GMT timezones. The former must be POSIX compatible, which inverts the meaning of the sign, whereas the latter have no such restriction and are equivalent to UTC(+/-)HH:MM, while this is fixing incorrect behavior, it could potentially break users relying on the incorrect behavior.

    ๐Ÿ›  Fixed

    • ๐Ÿ“œ #494, incorrect handling of parsing week numbers
    • ๐Ÿ‘Œ Improve parsing of timezones
    • Incorrect stringification of error values returned in some circumstances
    • ๐Ÿ‘€ Let Timex follow the locale set by the global Gettext. See #501

    โž• Added/Changed

    • โœ‚ Removed Timex.Timezone.diff, as it is no longer used in Timex
    • Added support for obtaining the Julian day of year via Calendar.Julian.date_for_day_of_year/3

    ๐Ÿ›  Fixed

  • v3.7.1 Changes

    ๐Ÿ›  Fixed

    • local/0 and local/1 were incorrectly returning TimezoneInfo structs due to a bad match
  • v3.7.0 Changes

    Potentially Breaking

    • Elixir 1.8+ is now required
    • Tzdata 1.0+ is now required
    • ๐Ÿ›  If you were previously relying on ? suffixed functions to return {:error, reason} if given invalid date/time inputs (other than is_valid?), these functions now always return booleans and raise if an error with the input is encountered

    โž• Added/Changed

    • ๐Ÿ”จ Refactored much of the library to delegate to the Calendar API where appropriate, we now make more of an effort to avoid duplication of the standard library functionality
    • Functions with the ? suffix now correctly raise on invalid inputs, and always return booleans. This was implicitly broken before, we need to follow convention here.
    • ๐Ÿ“œ Local timezone handling no longer requires parsing the zoneinfo files, instead we attempt to observe the timezone name that is active and feed that into the timezone database directly. We were just using the abbreviations before, but that wasn't correct behavior at all. In the ๐Ÿ‘ future we may want to support the system timezone database as a proper implementation of Calendar.TimeZoneDatabase, but for now we've just โœ‚ removed the unnecessary parsing work that was going on here.
    • Timex.today/1 which returns today's date in the provided timezone

    ๐Ÿ›  Fixed

    • Handling of timezones across DST. More generally we now handle gaps/ambiguity much more consistently
    • ๐Ÿ”จ ZoneInfo parser was refactored, now properly supports version 2/3 files, addresses some small bugs in previous code
    • ๐Ÿšš Some incorrect/redundant typespecs were removed/fixed
    • ๐Ÿ‘ We now support alternative timezone databases for API operations that do not need to interact with the Timex.Timezone module directly. That module is still tied to tzdata for now, but in the future may be ๐Ÿšš modified to remove the direct dependency.
  • v3.6.4 Changes

    Potentially Breaking

    • Timex.set/2 now sets microseconds when setting :time from a %Time{} struct
    • 0๏ธโƒฃ Timex.Duration.to_string/1 now returns PT0S instead of P for zero-length durations with the default formatter

    โž• Added

    • Timex.set/2 now also accepts setting the :date from a %Date{} and :time from a %Time{} struct for NaiveDateTime

    ๐Ÿ›  Fixes

    • ๐Ÿš€ Loosen tzdata dependency to allow 1.x releases
  • v3.6.3 Changes

    โž• Added

    • Switched to GitHub Actions for CI
    • ๐ŸŒ Finnish translations
    • Enumerable implementation for Timex.Interval

    ๐Ÿ›  Fixed

    • ๐ŸŒ Czech translation fixes
    • #616
    • #615
  • v3.6.2 Changes

    โž• Added

    • โšก๏ธ Updated tzdata to 1.0.1
    • ๐ŸŒ Vietnamese/Czech/Hebrew/Bosnian translations
    • Formatter settings, and ran the formatter on the codebase

    ๐Ÿ›  Fixed

    • ๐ŸŒ Romanian translation fixes
    • ๐Ÿ“š Various documentation/typespec fixes
    • ๐Ÿ“œ Parser for ISOweek
    • #559
    • #577