Skip to content

Releases: philss/rustler_precompiled

v0.9.0

26 Mar 19:36
cbd7750

Choose a tag to compare

Added

  • Add support for the NO_PROXY environment 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 variable RUSTLER_PRECOMPILED_IPFAMILY can 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 castore package 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_PATH env 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

New Contributors

Full Changelog: v0.8.4...v0.9.0

v0.8.4

08 Dec 21:45
9d9778c

Choose a tag to compare

What's Changed

  • Add proxy authentication support for HTTP_PROXY and HTTPS_PROXY by @col in #99

New Contributors

  • @col made their first contribution in #99

Full Changelog: v0.8.3...v0.8.4

v0.8.3

23 Jul 03:28
4337763

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.2...v0.8.3

v0.8.2

27 Sep 20:47
7fa483d

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.1...v0.8.2

v0.8.1

11 Sep 20:09
8d7ce94

Choose a tag to compare

What's Changed

  • Fix rustler_precompiled.download mix task - use correct function by @philss in #83

Full Changelog: v0.8.0...v0.8.1

v0.8.0

29 Aug 01:05
47743ca

Choose a tag to compare

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/1 to replace available_nif_urls/1 that was deprecated.
    The new function will return a list of tuples in the format: {"lib_name", {"base_url", [headers]}}.

  • Add current_target_nifs/1 to replace current_target_nif_urls/1 that was deprecated.
    The new function will return a list of tuples in the format: {"lib_name", {"base_url", [headers]}}.

Deprecated

  • available_nif_urls/1
  • current_target_nif_urls/1

Removed

  • Remove support for Elixir 1.12.

Pull requests

  • Add support for headers and dynamic base URL (#65) by @sliiser in #77

New contributors

Full Changelog: v0.7.3...v0.8.0

v0.7.3

28 Aug 19:51
773a3cc

Choose a tag to compare

Pull requests

New Contributors

Full Changelog: v0.7.2...v0.7.3

v0.7.2

27 Jun 18:39
47e36c4

Choose a tag to compare

Added

  • The RUSTLER_PRECOMPILED_GLOBAL_CACHE_PATH environment 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_ALL env var to force the build of all packages
    using RustlerPrecompiled. Be aware that Rustler will be required if this is set
    to 1 or true. 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-config to 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_ALL env 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

27 Jun 18:38
b14698b

Choose a tag to compare

What's Changed

  • fix: variants lib name on download (attempt 2 with refactor) by @grzuy in #63

New Contributors

  • @grzuy made their first contribution in #63

Full Changelog: v0.7.0...v0.7.1

v0.7.0

22 Sep 20:29
318f517

Choose a tag to compare

Added

  • Add :max_retries option, 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 value 0.

  • 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_versions option 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