All Versions
18
Latest Version
Avg Release Cycle
121 days
Latest Release
1107 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v2.0.0 Changes
September 20, 2020✨ Enhancements
- Adapters can now utilize a
:delayed
response from theGeolix.Adapter.load_database/1
callback combined withGeolix.Database.Loader.set_loaded/1
for a lazy initialization. The database will not be used for lookups until set to the:loaded
state - Database worker supervision is now done using a
DynamicSupervisor
- Unloading a database can now be done by passing the complete database configuration instead of only the
:id
- Adapters can now utilize a
🐛 Bug fixes
- Databases loaded without an adapter configuration can now be properly unloaded to prevent repeated error messages from
Geolix.reload_databases/0
- The optional
metadata/1
callback for adapters is now properly treated as optional
- Databases loaded without an adapter configuration can now be properly unloaded to prevent repeated error messages from
Backwards incompatible changes
- Internal adapter process pooling has been removed
- Minimum required Elixir version is now
~> 1.7
-
v1.1.0 Changes
May 04, 2020- ✨ Enhancements
- Configuring
startup_sync: true
allows you to ensure a synchronous database load is done during startup. This may have unwanted consequences when your loading process takes longer than around 5 seconds (default startup timeout), e.g. when loading a database from a remote location - Usage of deprecated
Supervisor
functions has been removed (#30)
- Configuring
- ✨ Enhancements
-
v1.0.0 Changes
September 08, 2019⬆️ The adapter
Geolix.Adapter.MMDB2
has been extracted a separate repository. You should be able to upgrade to the external adapter by changing your project's dependencies from:geolix
to:geolix_adapter_mmdb2
with an appropriate version requirement.✨ Enhancements
- Database metadata is now available via
Geolix.metadata/0,1
(#26)
- Database metadata is now available via
Backwards incompatible changes
- The database workers function of an adapter will now receive the full database configuration to be configured as the sole parameter
- The lookup function of an adapter will now receive the full database configuration to be used for the lookup as a third parameter
-
v0.18.0 Changes
March 17, 2019✨ Enhancements
- Initializer modules can be defined with additional arguments by using
{mod, fun, args}
Backwards incompatible changes
- Minimum required elixir version is now
~> 1.5
- Minimum required elixir version is now
-
v0.17.0 Changes
September 02, 2018✨ Enhancements
- Storage of the internal database loader state has been migrated to a named ets table in order to allow reading from databases while the loading cycle has not yet been completed (#20).
- The
:is_in_european_union
information has been added to theCountry
andRepresentedCountry
result structs
Backwards incompatible changes
- Adapters are now responsible to return the complete (and final) result of the lookup. No additional modifications will be made. Several module namespaces have been renamed for this:
Geolix.Model -> Geolix.Adapter.MMDB2.Model
Geolix.Record -> Geolix.Adapter.MMDB2.Record
Geolix.Result -> Geolix.Adapter.MMDB2.Result
- Adapters are now responsible to return the complete (and final) result of the lookup. No additional modifications will be made. Several module namespaces have been renamed for this:
-
v0.16.0 Changes
February 21, 2018- ✨ Enhancements
- Configuration can be done on supervisor (re-) start by setting a
{ mod, fun }
tuple for the config key:init
. This method will be
called without arguments - Every configured database can define a
{ mod, fun }
tuple for the config
key:init
. This method, called upon database supervisor (re-) start,
🔧 receives the current database configuration and is expected to return the
🔧 full configuration used for starting the individual database - Unloading a database now calls
unload_database/1
of the unloaded
🔧 database adapter passing the current configuration and expecting:ok
as
a result
- Configuration can be done on supervisor (re-) start by setting a
- ✨ Enhancements
-
v0.15.1 Changes
December 04, 2017- 🐛 Bug fixes
- The MMDB2 decoding library is now properly included in releases
- 🐛 Bug fixes
-
v0.15.0 Changes
November 25, 2017✨ Enhancements
- The MMDB2 file format decoding logic has been extracted to the new
:mmdb2_decoder
libraryBackwards incompatible changes
- Minimum required elixir version is now "~> 1.3"
-
v0.14.0 Changes
June 20, 2017✨ Enhancements
- Configuration errors are logged and/or returned
- Databases can be unloaded. This is done lazy so while still being
in memory it won't be reloaded or used for lookups - Databases in tarball format (
.tar
or.tar.gz
) are now supported
(#16) - Errors are now always returned in a tuple format (
{ :error, type }
) - Errors occurring while initially loading databases
(or when callingGeolix.reload_databases/0
) are now sent to
Logger.error
(#16) - "GeoLite2-ASN" databases return structs instead of plain maps
- System environment configuration can set an optional default value
to be used if the environment variable is unset - When an error occurs during database load the database will be
excluded from the lookup process
Backwards incompatible changes
- Previous
{ :error, String.t }
return values have been removed in favor
of tuples andLogger.error/1
-
v0.13.0 Changes
April 12, 2017- Backwards incompatible changes
- Minimum required elixir version is now
~> 1.2
- Minimum required erlang version is now
~> 18.0
- Minimum required elixir version is now
- Backwards incompatible changes