diff --git a/CHANGELOG.md b/CHANGELOG.md index d0af23c7..04815106 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,18 +8,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 See [`UPGRADE.md`](./UPGRADE.md) for additional help when upgrading to newer versions. -## [unreleased] +## [0.33.0] - 2024-05-29 ### Added -- Add optional support for using Erlang's allocator as Rust's global allocator +- Optional support for using Erlang's allocator as Rust's global allocator (#580). +- Comparison functions for PIDs (#611). +- Conversions from and to Rust paths (`PathBuf` and `Path`) (#608). ### Fixed + +- `mix compile` failing on path dependencies in the Rust library (#577, fixed in + #578 and #607) + ### Changed - Drop usage of `lazy_static` in favour of `std::sync::OnceLock`. This change raises the minimal supported Rust version to 1.70. +- Drop obsolete and incorrect `Rustler.nif_versions` function. ### Removed diff --git a/UPGRADE.md b/UPGRADE.md index 46d5be64..cc1c3292 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -2,6 +2,12 @@ This document is intended to simplify upgrading to newer versions by extending the changelog. +## 0.32 -> 0.33 + +The macro changes that where already carried out in version `0.22` are now +mandatory, the deprecated macros have been removed. Please see below for +documentation on how to convert from the old to the new set of macros. + ## 0.31 -> 0.32 1. The functionality of `rustler_bigint` has moved into `rustler`. The library diff --git a/rustler/Cargo.toml b/rustler/Cargo.toml index f25bcb6f..d1ba767b 100644 --- a/rustler/Cargo.toml +++ b/rustler/Cargo.toml @@ -2,7 +2,7 @@ name = "rustler" description = "Safe Rust wrappers for creating Erlang NIF functions" repository = "https://github.com/rusterlium/rustler" -version = "0.32.1" # rustler version +version = "0.33.0" # rustler version authors = ["Hansihe "] license = "MIT/Apache-2.0" readme = "../README.md" @@ -22,8 +22,8 @@ nif_version_2_17 = ["nif_version_2_16", "rustler_sys/nif_version_2_17"] serde = ["dep:serde"] [dependencies] -rustler_codegen = { path = "../rustler_codegen", version = "0.32.1", optional = true} -rustler_sys = { path = "../rustler_sys", version = "~2.4.0" } +rustler_codegen = { path = "../rustler_codegen", version = "0.33.0", optional = true} +rustler_sys = { path = "../rustler_sys", version = "~2.4.1" } num-bigint = { version = "0.4", optional = true } serde = { version = "1", optional = true } diff --git a/rustler_codegen/Cargo.toml b/rustler_codegen/Cargo.toml index 55a1cb54..f8cedad0 100644 --- a/rustler_codegen/Cargo.toml +++ b/rustler_codegen/Cargo.toml @@ -2,7 +2,7 @@ name = "rustler_codegen" description = "Compiler plugin for Rustler" repository = "https://github.com/rusterlium/rustler/tree/master/rustler_codegen" -version = "0.32.1" # rustler_codegen version +version = "0.33.0" # rustler_codegen version authors = ["Hansihe "] license = "MIT/Apache-2.0" readme = "../README.md" diff --git a/rustler_mix/README.md b/rustler_mix/README.md index 8114591c..13a57216 100644 --- a/rustler_mix/README.md +++ b/rustler_mix/README.md @@ -15,7 +15,7 @@ This package is available on [Hex.pm](https://hex.pm/packages/rustler). To insta ```elixir def deps do [ - {:rustler, "~> 0.32.1", runtime: false} + {:rustler, "~> 0.33.0", runtime: false} ] end ``` diff --git a/rustler_mix/lib/rustler.ex b/rustler_mix/lib/rustler.ex index b87986e1..abf0eddf 100644 --- a/rustler_mix/lib/rustler.ex +++ b/rustler_mix/lib/rustler.ex @@ -170,15 +170,5 @@ defmodule Rustler do end @doc false - def rustler_version, do: "0.32.1" - - @doc """ - Supported NIF API versions. - """ - def nif_versions, - do: [ - ~c"2.14", - ~c"2.15", - ~c"2.16" - ] + def rustler_version, do: "0.33.1" end diff --git a/rustler_mix/lib/rustler/compiler/messages.ex b/rustler_mix/lib/rustler/compiler/messages.ex index d7ed7daa..37556cbd 100644 --- a/rustler_mix/lib/rustler/compiler/messages.ex +++ b/rustler_mix/lib/rustler/compiler/messages.ex @@ -61,13 +61,4 @@ defmodule Rustler.Compiler.Messages do Note: You should already have this if you made your project with the project generator. """ end - - def message({:unsupported_nif_version, version}) do - """ - Your current version of Erlang is on NIF version '#{version}'. - Rustler currently supports versions #{inspect(Rustler.nif_versions())}. - - Go open an issue about this on github! - """ - end end diff --git a/rustler_mix/mix.exs b/rustler_mix/mix.exs index c827caff..1a2f6afc 100644 --- a/rustler_mix/mix.exs +++ b/rustler_mix/mix.exs @@ -2,7 +2,7 @@ defmodule Rustler.Mixfile do use Mix.Project @source_url "https://github.com/rusterlium/rustler" - @version "0.32.1" + @version "0.33.0" def project do [ diff --git a/rustler_sys/Cargo.toml b/rustler_sys/Cargo.toml index 6ec19f31..1259db35 100644 --- a/rustler_sys/Cargo.toml +++ b/rustler_sys/Cargo.toml @@ -20,7 +20,7 @@ name = "rustler_sys" # When depending on this crate, you should ALWAYS # use a tilde requirements with AT LEAST `~MAJOR.MINOR`. # Example: "~2.0" -version = "2.4.0" +version = "2.4.1" authors = ["Daniel Goertzen "] description = "Create Erlang NIF modules in Rust using the C NIF API."