Changelog
View Source3.1.0
Breaking Changes
- Unicode Support: Unicode TLDs are now supported natively. The parser no longer requires or performs implicit Punycode conversion, which may affect consumers relying on the old behavior.
Improvements
- Performance: Replaced macro-based compilation with a Trie-based lookup system. This significantly reduces compilation time and binary size.
- Cleanliness: Eliminated compiler warnings about unreachable clauses caused by the previous generated code.
Fixes
- Rule Precedence: The longest matching suffix is now guaranteed to be
selected (e.g., correctly distinguishing
s3.amazonaws.comfromcom). - Exception Rules: Fixed handling of exception rules (like
!city.kawasaki.jp) and wildcard precedence, ensuring strict adherence to the Public Suffix List specification.
3.0.5
- FIX: when download fails use local fallback @Sgiath
- FEAT: add update script @Sgiath
- Update dependencies @Sgiath
- Add Nix flake setup @Sgiath
- Add LICENSE file @Sgiath
3.0.4
- Fix issue with new, even longer domains from public_suffix_list.dat @Sgiath
3.0.3
- Fix issue with new, longer domains from public_suffix_list.dat @fabiokr
3.0.1
- Resolve warnings about SSL and
Mix.Configbeing deprecated.
3.0.0
- Breaking change: default to including private domains.
:include_private == falseis still respected (but defaults to false), and a new env var:icann_onlyis added and defaults to false.
2.4.0
- Support disabling compile time http request with
:fetch_latestconfig (thanks @s3cur3 for the PR!)
2.3.0
- Bump deps
2.2.0
- Use
Loggerfor logging
2.1.4
- Pin a version of
nimble_parsecto fix a compilation error onmakeup(makeuphas fixed this downstream, so whenex_docupdatesmakeup, this will no longer be required)
2.1.3
- Merge a couple of minor PRs
2.1.2
- Improve tests and docs slightly
2.1.1
- Privatize
Domainatrex.match/nandDomainatrex.format_response/2as they are only ever intended for internal use
2.1.0
- Better handle private domains. Private domains like
*.s3.amazonaws.comare technically classed as TLDs (to my understanding?), it doesn't make a lot of sense to parse them this way. - Fetch a new copy of the public suffix list from The Internet on compile, falling back to a (now updated!) local copy.
2.0.0
- Change the API from returning explicit results to {:ok, result} or {:error, result}. This is to
be more uniform with other libraries I use and for better
withusage. Sorry if this fucks up your day.
1.0.1
- Fully update the tests to reflect changes in
2.0.0(thanks for the PR @pbonney!)