Repository navigation
[1.1.0] - 2026-10-28
Added
usage-rules.mdships in the package with the rules an LLM coding agent needs to use the library correctly.
Changed
-
Formats with CLDR 49 locale data, so it requires Localize 1.4 or later.
-
Conformance test data is CLDR 49 and mirrors
common/testData/personNameTestexactly: sixteen regional files CLDR retired in CLDR 45 are removed andbris added. Onlymyis excluded now, for one word-break failure. -
Localize.PersonName.new/1accepts a map of attributes as well as a keyword list.
Fixed
-
to_string/2,to_iodata/2andnew/1return{:error, reason}for values, options and hand-built structs they cannot format, where they raised. A struct with neither aLocalize.PersonName.Convertibleimplementation nor the behaviour is an error, not aProtocol.UndefinedError. -
Structs resolve through the
Localize.PersonName.Convertibleprotocol before the behaviour, as the docs describe.String.Charsrenders an unformattable name as"", andLocalize.Charsreturns an exception struct as its error. -
to_string!/2andto_iodata!/2raise the exception when the reason is one, such asLocalize.InvalidLocaleError, where they raised aFunctionClauseError. -
Locale switching no longer treats a locale with no person-name data as having its own name order, which sent switching down the wrong branch for unknown locales.
-
Initial generation takes a word's initial whenever its first code point is a letter, as CLDR's reference formatter does. Sinhala words with a zero-width joiner and Malayalam words containing a digit were dropped, which is why
si,kmandmlwere excluded. -
Dead documentation links: the README and the cultural naming conventions guide pointed at a
v0.1.0tag that was never published and atspecification_deviances.md, which becameguides/conformance.md. Closes #1.