Releases: philss/rustler_precompiled
v0.9.0
Added
-
Add support for the
NO_PROXYenvironment variable.
With this env var, you can filter out hosts to avoid using the configured proxy. Accepts a list of hosts separated by a comma",". -
Add support for choosing the IP version to use, therefore supporting IPv6.
The environment variableRUSTLER_PRECOMPILED_IPFAMILYcan be set to:- "inet" - for IPv4 only. This is the default option.
- "inet6" - for IPv6 only.
- "inet6fb4" - for trying IPv6 first, and then fallback to IPv4.
Changed
-
Drop support for Elixir 1.13 and 1.14. Since those versions are not supported anymore by the core team, they should be avoided.
-
Rely on cert stores provided by Erlang/OTP +25.
This change removes the dependency on
castorepackage in favour of loading the cert stores from OTP. In case an older OTP version is in use, a warning is emitted.Notice that loading a cert file from the
HEX_CACERTS_PATHenv var is still supported and has precedence over the OTP cert stores. -
Updates to the precompilation guide and the example project, so they are easier to follow and the deps are up-to-date.
Pull requests
- Support IPv6 proxies and respect NO_PROXY by @john-walter in #101
- Changes for v0.9 by @philss in #100
- Improve guide and add a troubleshooting document by @philss in #102
New Contributors
- @john-walter made their first contribution in #101
Full Changelog: v0.8.4...v0.9.0
v0.8.4
v0.8.3
What's Changed
- don't assume File.mkdir_p succeeds when writing metadata. by @kivikakk in #91
- update targets list by @tessi in #93
- Rollback deleted targets by @philss in #94
- Build with Elixir 1.18 and OTP 28 pair by @philss in #95
- Update dependencies by @philss in #96
- Release v0.8.3 by @philss in #97
New Contributors
Full Changelog: v0.8.2...v0.8.3
v0.8.2
v0.8.1
v0.8.0
Added
-
Add support for passing headers or a
{module, :function_name}to:base_url.
The headers can be passed in the format{"URL", [{"header_key", "header_value"}]}.
This feature is useful for people that need to perform authentication before downloading
the artifacts. -
Add
available_nifs/1to replaceavailable_nif_urls/1that was deprecated.
The new function will return a list of tuples in the format:{"lib_name", {"base_url", [headers]}}. -
Add
current_target_nifs/1to replacecurrent_target_nif_urls/1that was deprecated.
The new function will return a list of tuples in the format:{"lib_name", {"base_url", [headers]}}.
Deprecated
available_nif_urls/1current_target_nif_urls/1
Removed
- Remove support for Elixir 1.12.
Pull requests
New contributors
Full Changelog: v0.7.3...v0.8.0
v0.7.3
v0.7.2
Added
-
The
RUSTLER_PRECOMPILED_GLOBAL_CACHE_PATHenvironment variable was added to enable
an easy way to configure a directory to fetch the artifacts before reaching the internet.
This is useful to make more predictable where the cache files will be located, thus
enabling users to use that directory as a repository for the artifacts.
This env var will affect all packages using this library. -
Add the
RUSTLER_PRECOMPILED_FORCE_BUILD_ALLenv var to force the build of all packages
using RustlerPrecompiled. Be aware thatRustlerwill be required if this is set
to1ortrue. There is a new application env that has precedence over the env var,
which is the:force_build_all.
Changed
-
Automatically run the "app.config" mix task in the "rustler_precompiled.download" mix task.
This will trigger the project compilation and configuration, but will not start the app.
It's necessary to check if the module passed to the task exists or not.You can deactivate this behaviour by passing the flag
--no-configto that mix task.
The mix task "rustler_precompiled.download" is used in the step of publishing a package. -
Stop throwing an error in case the metadata cannot be written.
This is because metadata is only necessary in the process of publishing the package,
and users may be running with "write" permission restrictions.
We now print a warning instead.
Fixed
- Restrict the change of vendor to "unknown" only if the target is a Linux system.
Pull requests
- Add support for setting a global cache path using an env var by @philss in #73
- Update deps and workflow by @philss in #74
- Add the
RUSTLER_PRECOMPILED_FORCE_BUILD_ALLenv var by @philss in #75 - Configure and compile the app in the mix task "rustler_precompiled.download" by @philss in #76
- Prepare changelog for release of v0.7.2 by @philss in #78
Full Changelog: v0.7.1...v0.7.2
v0.7.1
v0.7.0
Added
-
Add
:max_retriesoption, to control how many times we should try
to download a NIF artifact. By default it is going to try 3 times.
To disable this feature, use the value0. -
Add support for variants. This is a feature that enables building
for the same target with multiple configurations. It can support
different features or OS dependencies. The selection is done in
compile time.
Changed
-
Change default list of NIF versions to only include the version
2.15.
This is because most of the users won't need to activate newer versions,
unless they use features from those versions.This is going to simplify and speed up the release process for most of the
projects.
Pull requests
- Add max_retries option by @philss in #57
- Make sure
:nif_versionsoption is respect by @philss in #60 - Add support for variants targets by @philss in #61
- Change defaults for upcoming v0.7 by @philss in #58
Full Changelog: v0.6.2...v0.7.0