Repository navigation
Releases
Localize Person Names version 1.1.0
[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.
Localize Person Names version 1.0.0
[1.0.0] — 2026-07-31
The first stable release, built on Localize 1.0.
Changes
- Requires
localize ~> 1.0.
Fixed
-
Localize.HTML.Unit.select/3is specified as returning{:error, Exception.t()}. Localize 1.0 reports an invalid unit or locale as an exception struct rather than a{module, message}tuple, so the previous specification did not describe what the function returns. -
currency_options/1,locale_options/1,territory_options/1andunit_options/1no longer claim to return an error tuple. They validate by raising, so the documented error return could not occur.