Repository navigation
Breaking Change
-
Requires Elixir 1.17 or later; that is the oldest version exercised in CI.
-
The optional
ex_cldrdependency is replaced by localize. The territory fortelnumbers without a country code now comes fromLocalize.get_locale/0;ex_cldris no longer consulted. On OTP 26,localizealso needsjson_polyfillin the consumer's dependencies.
Enhancements
- Function and module documentation follows the standard template, with arguments, returns and examples for every public function, and the scheme modules grouped in the generated docs.
Bug Fixes
-
URL.new/1no longer raises on a scheme with an empty path (mailto:,geo:,tel:,uuid:,urn:,urn:uuid:) or on non-binary input.mailto:with no address parses to an emptytolist; the others return{:error, {URL.Parser.ParseError, _}}. -
URL.parse_query_string/1returns%{}for anilquery (and any URL without one) instead of raising, and anArgumentErrortuple for non-binary input. -
URL.Telkeeps the unformatted number whenex_phone_numbercannot parse it, instead of storing an error tuple in thetelfield, and no longer raises when the locale library has no default locale configured. -
Fix
URL.to_string/1so it builds at:URI.t/0before delegating toURI.to_string/1, resolving the type warning emitted by Elixir 1.20. -
Remove the unused optional
jasondependency; nothing in the library referenced it. -
Correct the
URL.UUIDmoduledoc and theURL.Mailto.parse/1doc, which named the wrong scheme.