Skip to content

Releases: philss/rustler_precompiled

v0.8.1

11 Sep 20:09
8d7ce94
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

v0.6.0

27 Jan 17:29
2f80753
Compare
Choose a tag to compare

What's Changed

  • Add option to configure NIF versions by @tessi in #46
  • Add aarch64-unknown-linux-musl as a default target by @philss in #36
  • Add riscv64gc-unknown-linux-gnu as default target by @philss in #48
  • Remove version "2.14" from the default NIF versions by @philss in #49

New Contributors

  • @tessi made their first contribution in #46

Full Changelog: v0.5.5...v0.6.0
Official Changelog: https://hexdocs.pm/rustler_precompiled/changelog.html

v0.5.4

05 Nov 18:03
b06b47e
Compare
Choose a tag to compare

What's Changed

  • Fix "force build" with unavailable target by @philss in #39

Full Changelog: v0.5.3...v0.5.4
Official changelog: https://hexdocs.pm/rustler_precompiled/changelog.html

v0.5.3

19 Oct 16:53
49ddbc8
Compare
Choose a tag to compare

What's Changed

  • Always write the metadata file in compilation by @philss in #37

Full Changelog: v0.5.2...v0.5.3
Official changelog: https://hexdocs.pm/rustler_precompiled/changelog.html

v0.5.2

03 Oct 21:38
67b31a8
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.1...v0.5.2
Official Changelog: https://hexdocs.pm/rustler_precompiled/changelog.html