Changelog History
Page 1
-
v2.2.0 Changes
October 29, 2020๐ Default download database version has been pinned to "release 3.13.1" after major changes in the upstream sources (matomo-org/device-detector moving towards a new major release).
โฌ๏ธ There will be a new major version of
ua_inspector
with a rebuilt database support formatomo-org/[email protected]
and/or a separate database built upon these sources to simplify future upgrades.โจ Enhancements
- Upstream improvements to detect engine versions of "Gecko" type browsers have been integrated
๐ Bug fixes
- Brand names are now always returned as strings (as expected), even if parsed as numbers from the YAML database
-
v2.1.0 Changes
August 17, 2020- โจ Enhancements
- New "desktop notebook" devices are detected
- Upstream improvements to detect mobile apps using Chrome have been integrated
- โจ Enhancements
-
v2.0.0 Changes
March 29, 2020โจ Enhancements
- Detection will now make use of "browser families" to match upstream improvements for Chrome based devices
- If detectable the "browser family" of a client is now available as
:browser_family
in the result struct - If detectable the "operating system family" of a client is now available as
:os_family
in the result struct
๐ Bug fixes
- The mix download task should no longer start unnecessary applications (#19)
Backwards incompatible changes
- Minimum required elixir version is now
~> 1.7
- Several deprecated functions have been removed completely:
UAInspector.Downloader.prepare_database_path/0
UAInspector.Downloader.read_remote/0
UAInspector.Downloader.README.path_local/0
UAInspector.Downloader.README.path_priv/0
- Startup is now done with a blocking database load by default
- Minimum required elixir version is now
-
v1.2.0 Changes
August 10, 2019โจ Enhancements
- Warnings when starting without a database available can be silenced
๐ Bug fixes
- The mix download task now works properly with initializer modules (#18)
-
v1.1.0 Changes
July 13, 2019โจ 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
- Output of mix task
ua_inspector.download
can be prevented by passing--quiet
upon invocation. This does NOT imply--force
and will still ask for confirmation - Passing
async: false
toUAInspector.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
UAInspector.Downloader.Adapter
behaviour - The library used to read YAML files can be changed by using the
:yaml_file_reader
configuration
- Configuring
๐ Bug fixes
- Matching the documentation the informational README file created by the downloader will now only be created when using the mix task
๐ Deprecations
- Several functions are now declared internal and will result in a
Logger.info/1
message when called until they will be eventually removed:UAInspector.Downloader.prepare_database_path/0
UAInspector.Downloader.read_remote/0
UAInspector.Downloader.README.path_local/0
UAInspector.Downloader.README.path_priv/0
- Several functions are now declared internal and will result in a
-
v1.0.0 Changes
April 20, 2019Ownership 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 - The default database path has been set to
Application.app_dir(:ua_inspector, "priv")
- Documentation is now available inline (
Backwards incompatible changes
- Internal parser process pooling has been removed. If you require pooling you need to manually wrap
UAInspector.parse/1
(and related functions) - Minimum required elixir version is now
~> 1.5
- Support for
{:system, var}
configuration has been removed - The deprecated mix tasks
ua_inspector.download.databases
andua_inspector.download.short_code_maps
have been removed
- Internal parser process pooling has been removed. If you require pooling you need to manually wrap
-
v0.20.0 Changes
March 10, 2019โจ Enhancements
- Initializer modules can be defined with additional arguments by using
{mod, fun, args}
- When using the default database you can now set a
:remote_release
to be used for downloading. The default is"master"
but any valid commit from the upstream source is allowed
- Initializer modules can be defined with additional arguments by using
๐ 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 - The download tasks
ua_inspector.download.databases
andua_inspector.download.short_code_maps
are now deprecated and will be removed in a future release
- Accessing the system environment by configuring
-
v0.19.2 Changes
February 12, 2019- ๐ Bug fixes
- Short code maps are now stored in the correct file encoding (
UTF-8
) to allow parsing short code maps with characters like umlauts (#15)
- Short code maps are now stored in the correct file encoding (
- ๐ Bug fixes
-
v0.19.1 Changes
January 05, 2019- โจ Enhancements
- The (soft) deprecated download tasks
ua_inspector.download.databases
andua_inspector.download.short_code_maps
are no longer displayed in the output ofmix help
- The (soft) deprecated download tasks
- โจ Enhancements
-
v0.19.0 Changes
January 03, 2019โจ Enhancements
- All database files (parser databases and short code maps) can be downloaded using a single mix task
ua_inspector.download
- Downloading the databases ensures hackney is started to allow calling
mix run --no-start -e "UAInspector.Downloader.download()"
- Finding the data table is now done via a named lookup table instead of calling the database state server
- If you need to check if all databases are loaded (i.e. "no longer empty") you can use
UAInspector.ready?/0
- OS Families are no longer hardcoded inside
Util.OS
but read from the original source and stored in a short code map - OS Families used for desktop detection are no longer hardcoded inside
Util.OS
but read from the original source and stored in a short code map - Reloading will now issue a warning if no database path is configured while resuming operation with an empty database
- All database files (parser databases and short code maps) can be downloaded using a single mix task
๐ Soft deprecations (no warnings)
- The individual download tasks for databases and short code maps have been removed from the documentation. They are still completely functional but will eventually be removed after a proper deprecation phase