Skip to content

Releases: bitwalker/timex

Version 0.19.2

13 Aug 19:51
Compare
Choose a tag to compare
  • Fixed bugs in Date.from_iso_triplet, Date.iso_triplet, and Date.from_iso_day that was producing incorrect results.

Version 0.19.1

13 Aug 18:20
Compare
Choose a tag to compare

Changes

  • BREAKING - Refactor of Time formatting. TimeFormat now delegates to a Formatter module much like DateFormat does, and there are now two implementations, ISO-8601 duration formatting via the Default formatter, and humanized formatting via the Humanized formatter. The Time formatter is a behaviour just like the DateTime formatter, so it can be extended the same way.

Version 0.17.0

05 Aug 22:06
Compare
Choose a tag to compare
  • Rewrote parsers/formatters from the ground up. Improvements here include numerous parser/formatting bugs being discovered and fixed, a much simpler API for implementing custom parsers/formatters, and improved testing.
  • Improved documentation, added many more tests
  • Performance fixes where possible

Version 0.16.0

01 Jul 20:51
Compare
Choose a tag to compare
  • A few small fixes for bugs reported on the tracker
  • Internal refactoring to organize related modules more intuitively. NOTE: This affects you if you have custom formatters/tokenizers/parsers, or do not use use Timex.
  • Change the behaviour of {ISO} to handle all valid ISO-8601 combined date/time string formats
  • Change the behaviour of {ISOz} to handle all valid ISO-8601 combined date/time strings which contain no offset (are suffixed with 'Z').

Version 0.14.0

19 Jun 18:01
Compare
Choose a tag to compare

Changes

  • Add lau/tzdata package as dependency for loading Olson timezone information
  • Refactor Timezone module to use Tzdata for loading the tz database
  • Refactor TimezoneInfo struct to reflect that the information is for a single period, rather than all periods
  • Remove Timezone.Dst module, as it is no longer needed
  • Refactor timezone related APIs to take a DateTime or Erlang datetime tuple in most places where a timezone is being loaded, as it is necessary to know which point in time to fetch zone info for.
  • Update tests.

This is a significant update! Please post issues as you encounter them and I will address ASAP. This release will likely be the last prior to a 1.0-RC.

Version 0.13.0

20 Oct 21:10
Compare
Choose a tag to compare

Changes

PLEASE READ

I've made some changes around timezone conversion to make the API more explicit, and open up some options previously unavailable for working with DateTime objects. Make note of the changes below and how they may affect you, if at all.

  • Timezone.convert now does the time shift AND sets the timezone. Previously it only shifted the time.
  • Date.set(date, timezone: tz) no longer does implicit timezone conversion. You must use Timezone.convert if you want to shift a date to another timezone.
  • Added Date.compare/3, which takes a granularity option for determining equality during a comparison. The options available are :years, :months, :weeks, :days, :hours, :mins, :secs, and :timestamp - in other words, the same options that Date.diff takes. This means that if you have two dates only off by a few hours, Date.compare(a, b, :days) will return 0, or equal.

Please let me know if you run into any issues with this release. Thanks!

Version 0.12.8

22 Sep 09:22
Compare
Choose a tag to compare

Changes

  • Fix for Date.local. Updated timezone but not the date, even though Timezone.convert was returning the shifted date, it was not being used. Thanks to @atabary for the fix!

Version 0.12.0

12 Aug 15:56
Compare
Choose a tag to compare

Changes

  • Date parsing and formatting has been completely rewritten from the ground up. It now offers a pluggable architecture for both parsing and formatting, exposed via the Timex.Parsers.DateFormat.Parser behaviour, and Timex.DateFormat.Formatters.Formatter behaviour. Potentially Breaking Change: I've kept the same DateFormat.* API, but because the parsers/formatters were rewritten, there may be bugs. The current test suite is passing, so if you encounter bugs, please document the exact parameters so I can fix it and make sure we have test coverage.
  • Timezone.get(0) now returns UTC not GMT.
  • Support for Elixir 0.15.1

Version 0.10.2

28 Jul 06:54
Compare
Choose a tag to compare

Changes

  • Major refactor of the local timezone lookup component
  • Fixed a number of bugs, old and new, which were cleaned up.
  • Local timezone lookups should now be much faster.