Releases: elixir-inspector/ref_inspector
Releases · elixir-inspector/ref_inspector
v2.0.0
-
Enhancements
- Calling
RefInspector.parse/1
with an empty referer (""
ornil
) will now return the input as is in the result struct instead of previously returningnil
for both inputs
- Calling
-
Bug fixes
- The mix download task should no longer start unnecessary applications
-
Backwards incompatible changes
- Minimum required Elixir version is now
~> 1.9
- Several deprecated functions have been removed completely:
RefInspector.Downloader.path_local/1
RefInspector.Downloader.path_remote/1
RefInspector.Downloader.read_remote/1
RefInspector.Downloader.README.path_local/0
RefInspector.Downloader.README.path_priv/0
- Startup is now done with a blocking database load by default
- Minimum required Elixir version is now
v1.3.1
v1.3.0
- Bug fixes
v1.2.0
v1.1.0
-
Enhancements
- Configuring
startup_sync: true
allows you to ensure a synchronous database load is attempted before allowing to parse referers - Database entries are now stored in a single named table instead of using an intermediate reference table
- Default configuration entries for files and urls are available through
RefInspector.Config.default_files/0
andRefInspector.Config.default_urls/0
- Output of mix task
ref_inspector.download
can be prevented by passing--quiet
upon invocation. This does NOT imply--force
and will still ask for confirmation - Passing
async: false
toRefInspector.reload/1
allows you to block your calling process until the reload has finished - The library used to download the database files can be changed by configuring a module implementing the
RefInspector.Downloader.Adapter
behaviour - The library used to read YAML files can be changed by using the
:yaml_file_reader
configuration
- Configuring
-
Deprecations
- Several functions are now declared internal and will result in a
Logger.info/1
message when called until they will be eventually removed:RefInspector.Downloader.path_local/1
RefInspector.Downloader.path_remote/1
RefInspector.Downloader.read_remote/1
RefInspector.Downloader.README.path_local/0
RefInspector.Downloader.README.path_priv/0
- Several functions are now declared internal and will result in a
v1.0.0
-
Ownership has been transferred to the
elixir-inspector
organisation -
Enhancements
- Documentation is now available inline (
@moduledoc
, ...) with theREADME.md
file targeting the repository (development) instead of releases - Downloading the databases ensures hackney is started to allow calling
mix run --no-start -e "RefInspector.Downloader.download()"
- Initializer modules can be defined with additional arguments by using
{mod, fun, args}
- Parsing can now be performed on
URI.t()
referers - The default database path has been set to
Application.app_dir(:ref_inspector, "priv")
- The download mix task will now exit with code
1
if it aborts due to missing configuration
- Documentation is now available inline (
-
Backwards incompatible changes
- Internal parser process pooling has been removed. If you require pooling you need to manually wrap
RefInspector.parse/1
- Medium information in the result struct is now returned as a
String.t()
instead of anatom
. The only exceptions are:unknown
and:internal
referers - Minimum required elixir version is now
~> 1.5
- Support for
{:system, var}
configuration has been removed
- Internal parser process pooling has been removed. If you require pooling you need to manually wrap
v0.20.0
-
Enhancements
- Parsing speed has been improved and made more independent of database size
- The configurable
:init
method will now be automatically executed when running the mix download task without manually ensuring the application is started
-
Deprecations
- Accessing the system environment by configuring
{:system, var}
or{:system, var, default}
will now result in aLogger.info/1
message and will stop working in a future release
- Accessing the system environment by configuring
-
Backwards incompatible changes
- The mix task alias
ref_inspector.yaml.download
has been removed - The reload alias
RefInspector.reload_databases/0
has been removed
- The mix task alias
v0.19.0
- Enhancements
- Finding the data table is now done via a named lookup table instead of calling the database state server
- Old data tables are deleted with a configurable delay after reloading to avoid race conditions (and the resulting empty lookup responses)
- If you need to check if the database is loaded (i.e. "no longer empty") you can use
RefInspector.ready?/0
v0.18.0
-
Enhancements
- Download task name has been shortened to
ref_inspector.download
- Reloading the database if part of the configuration is missing or broken (database path / database files) will issue a warning while resuming operation with an empty database
- Download task name has been shortened to
-
Deprecations
- The reload method
RefInspector.reload_databases/0
has been renamed toRefInspector.reload/0
- The mix task
ref_inspector.yaml.download
has been renamed. The alias in place will be removed in a future version
- The reload method
-
Bug fixes
- ETS tables are now properly cleaned after reload
v0.17.0
-
Enhancements
- All databases can be reloaded (asynchronously) using
RefInspector.reload_databases/0
- 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 - When using the mix download task with a default remote configuration an information README file is placed next to the downloaded file(s)
- All databases can be reloaded (asynchronously) using
-
Soft deprecations (no warnings)
- Support for
{:system, "ENV_VARIABLE"}
configuration has been removed from the documentation. It will eventually be removed completely after a proper deprecation phase
- Support for