From 630db1e84e680c8a3a3ddb2341d64e41a6c7a378 Mon Sep 17 00:00:00 2001 From: Danila Poyarkov Date: Tue, 27 Oct 2026 03:01:00 +0400 Subject: [PATCH] Release 1.0.0-rc.21 --- CHANGELOG.md | 16 ++++++++++++++++ README.md | 2 +- ROADMAP.md | 4 ++-- mix.exs | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cb1134..b33e856 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## 1.0.0-rc.21 - 2026-10-27 + +### Fixed + +- `option.as_ref()` is typed as an option of a reference, also through a + reference to an option. +- An item indexed out of a borrowed slice keeps its type's fields, so a field + of it is borrowed where a reference is expected. +- Binding an item indexed out of a collection borrows it when it cannot be + copied, instead of moving it out of the index. +- Payloads bound by `enum_variant(Enum, :variant, value)` patterns are typed, + so a copy payload bound through a reference is dereferenced where its value + is expected. +- `Term.cached_struct_keys` takes its keys as a slice of strings, so a list + literal passed for them is borrowed. + ## 1.0.0-rc.20 - 2026-10-27 ### Added diff --git a/README.md b/README.md index a51b2ef..cae2f08 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ algorithms can stay in Rust while RustQ removes the repetitive boundary glue. ```elixir def deps do [ - {:rustq, "~> 1.0.0-rc.20", runtime: false} + {:rustq, "~> 1.0.0-rc.21", runtime: false} ] end ``` diff --git a/ROADMAP.md b/ROADMAP.md index 067fd96..2170878 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,6 +1,6 @@ # RustQ roadmap -Last reviewed 2026-10-27, at 1.0.0-rc.20. The [changelog](CHANGELOG.md) records +Last reviewed 2026-10-27, at 1.0.0-rc.21. The [changelog](CHANGELOG.md) records what shipped; this file covers where RustQ stands and what comes next. ## Where things stand @@ -40,7 +40,7 @@ The core pieces are in place: | skia_ex | rc.3 | `defrust` drawing commands with generated targets | | folio | rc.6 | Rustler generation | | figler | rc.3, moving to rc.20 | `defrust` helpers over scene storage, an effective graph interpreted natively | -| kiwi_codec | rc.13, moving to rc.14 | `defrust` helpers, Rustler term helpers, and native Kiwi records | +| kiwi_codec | rc.19, moving to rc.21 | `defrust` helpers, Rustler term helpers, and native Kiwi records | kiwi_codec 0.4.0 runs rc.13. Building its generated Rust in its tests found the bugs rc.14 fixes, and the rustler 0.39 incompatibility in RustQ's own diff --git a/mix.exs b/mix.exs index 398b8d6..1680903 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule RustQ.MixProject do use Mix.Project - @version "1.0.0-rc.20" + @version "1.0.0-rc.21" @source_url "https://github.com/elixir-crab/rustq" def project do