All Versions
39
Latest Version
Avg Release Cycle
55 days
Latest Release
-
Changelog History
Page 1
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 andWDmon
andWDsun
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)
- 📚 The documentation on weekday formatting via
-
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
- ➕ Added
-
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
vsGMT
timezones. The former must be POSIX compatible, which inverts the meaning of the sign, whereas the latter have no such restriction and are equivalent toUTC(+/-)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
- 🛠 Fixed handling of
-
v3.7.1 Changes
🛠 Fixed
local/0
andlocal/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 thanis_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 returnsPT0S
instead ofP
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 allow1.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