Hi forum,
Locus 2.0.0, a MaxMind DB reader, was released tonight.
It’s the first breaking release and I used this opportunity to drop most deprecated code as well as polish the existing API.
Added
- support for retrieving databases using consumer-defined
locus_custom_fetchers - support for decoding IEEE-754 infinities in MMDB data
-
locus:check/1to API (which replaceslocus:analyze/1and can be up to 3200% faster
) - details to MMDB unpacking errors
- linting checks with
rebar3_lint - dead code checks with
rebar3_hank
Changed
-
return type of locus:lookup/2(see MIGRATION.md) - database loader to use
persistent_terminstead of ETS - MMDB decoder to perform stricter metadata validations
- MMDB decoder to not crash upon maps containing duplicate keys
- databases downloaded through HTTP(S) without a
last-modifiedresponse header to no longer be cached - imported version of
tls_certificate_checkto ‘~> 1.7’ - single CT suite covering both filesystem and HTTP sources into one for each
- test coverage for the better
Removed
-
locus:wait_for_loader/1from API (deprecated in 1.10.0 - see MIGRATION.md) -
locus:wait_for_loader/2from API (deprecated in 1.10.0 - see …) -
locus:wait_for_loaders/2from API (deprecated in 1.10.0 - see …) -
locus:get_version/1from API (deprecated in 1.4.0 - see …) -
locus:analyze/1from API (locus:check/1now fullfils this role - see …) -
deprecated loader options
pre_readiness_update_periodandpost_readiness_update_period(see …) - warnings on the use of discontinued GeoLite2 HTTP URLs






















