Localize version 0.18.0
[0.18.0] — April 18th, 2026
Breaking Change
-
MF2 highlighter token class atoms renamed to match the tree-sitter capture taxonomy used by
mf2_wasm_editor, so one stylesheet now styles both server-rendered HTML and the browser editor. -
Localize.Message.to_html/2now emits the new canonical class names with_converted to-on output (.mf2-variable,.mf2-punctuation-bracket,.mf2-string-escape,.mf2-constant-builtin, etc.). -
Localize.Message.to_ansi/2default palette keys renamed to the new atoms.
Removed
- The
mf2_theme_css/directory andscripts/generate_mf2_themes.exsgenerator. Themes now live canonically inmf2_wasm_editor.
Bug Fixes
Localize.Gettext.Interpolation.runtime_interpolate/2no longer raisesLocalize.ParseErrorwhen a translated string is not valid MF2. It now returns the message unchanged and logs a warning, matching gettext's own "fall back to the msgid" behaviour for missing translations. Dev-facing UI copy that happens to contain MF2-like syntax (e.g.{{…}}or.match) no longer crashes callers.
[0.17.0] — April 17th, 2026
Added
mix formatpluginLocalize.Message.Formatter.Plugin. Canonicalises MF2 messages in~Msigils and standalone.mf2files. Enable by adding the plugin to.formatter.exs. See the "mix formatplugin" section in the MessageFormat 2 guide.
[0.16.0] — April 17th, 2026
Bug Fixes
[0.15.0] — April 17th, 2026
Added
- MF2 syntax highlighter. See
Localize.Message.to_tokens/2,Localize.Message.to_html/2andLocalize.Message.to_ansi/2.
Bug Fixes
- Fix the exception and message when formatting a number and specifying a number system that is not valid for the given locale.