Localize version 0.21.0
[0.21.0] — April 22nd, 2026
Bug Fixes
-
Fix normalizing CLDR locale names to our standard atom format in
Localize.validate_calendar/1. -
Localize.Calendar.iso_day_of_week/1no longer crashes withMatchErroron non-ISO calendars. The generic branch destructuredcalendar.day_of_week/4as a 2-tuple but theCalendarbehaviour returns{day, first, last}. -
Localize.Time.to_string/2with a partial time and a standard format atom (:short/:medium/:long/:full) now derives a CLDR skeleton from the fields actually present (:h,:hm,:ms) instead of returningDateTimeUnresolvedFormatError. -
Localize.DateTime.to_string/2no longer silently drops the hour when given a partial datetime such as%{year: _, month: _, day: _, hour: _}without:minute. Partial datetimes render via a split date + time path composed with the locale's datetime wrapper. -
Localize.DateTime.to_string/2with hour + minute (no second) under:mediumno longer emits a stray trailing:before the AM/PM marker — the partial path derives the:hmskeleton instead of using the fullh:mm:ss apattern with an empty seconds slot. -
The datetime formatter's AM/PM handler now accepts any map with
:hour, not just maps that also have:minute.