From c20948bfa8d7adda89a071e33b7fce7134afdd15 Mon Sep 17 00:00:00 2001 From: Brian Thorne Date: Thu, 14 May 2026 14:24:37 +1200 Subject: [PATCH] chore: 0.17.3 --- CHANGELOG.md | 9 +++++++++ Cargo.lock | 8 ++++---- reflectapi-cli/Cargo.toml | 4 ++-- reflectapi-demo/clients/python/uv.lock | 2 +- reflectapi-derive/Cargo.toml | 4 ++-- reflectapi-python-runtime/pyproject.toml | 2 +- .../src/reflectapi_runtime/__init__.py | 2 +- reflectapi-schema/Cargo.toml | 2 +- reflectapi/Cargo.toml | 6 +++--- 9 files changed, 24 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0790ba2c..c4b0b5a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 0.17.3 + +Promotes the 0.17.3-alpha.1 work to stable and adds one OpenAPI codegen fix on top: + +- **Root-level `Box` (and other transparent pointer wrappers) now resolve in OpenAPI output.** A function taking or returning `Box` previously emitted `$ref: #/components/schemas/Box` — a name nothing in the spec registered. The converter now unwraps transparent pointer primitives (`Box`, `Rc`, `Arc`, `Cow`, ...) at the type-reference level so the ref points at the real component. Primitives that carry their own OpenAPI representation (`chrono::DateTime`, `HashSet`, `usize`, ...) are left untouched. +- **Doc descriptions are scrubbed of embedded `
JSON schema` blocks.** These are useful as human-readable annotations in Rust source but leaked into `info`, `paths`, and component `description` fields in the generated spec. + +See the alpha.1 notes below for the rest of the 0.17.3 changes (Python `ReflectapiPartialModel`, TS SSE flush, etc.). + ## 0.17.3-alpha.1 ### Python — partial fields without a wrapper class diff --git a/Cargo.lock b/Cargo.lock index 5ea701f1..ba43e4de 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1692,7 +1692,7 @@ dependencies = [ [[package]] name = "reflectapi" -version = "0.17.3-alpha.1" +version = "0.17.3" dependencies = [ "anyhow", "axum", @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "reflectapi-cli" -version = "0.17.3-alpha.1" +version = "0.17.3" dependencies = [ "anyhow", "clap", @@ -1785,7 +1785,7 @@ dependencies = [ [[package]] name = "reflectapi-derive" -version = "0.17.3-alpha.1" +version = "0.17.3" dependencies = [ "proc-macro-error", "proc-macro2", @@ -1797,7 +1797,7 @@ dependencies = [ [[package]] name = "reflectapi-schema" -version = "0.17.3-alpha.1" +version = "0.17.3" dependencies = [ "glob", "serde", diff --git a/reflectapi-cli/Cargo.toml b/reflectapi-cli/Cargo.toml index dcd359b7..b0f7a1b1 100644 --- a/reflectapi-cli/Cargo.toml +++ b/reflectapi-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "reflectapi-cli" -version = "0.17.3-alpha.1" +version = "0.17.3" edition = "2021" default-run = "reflectapi" @@ -23,7 +23,7 @@ doc = false workspace = true [dependencies] -reflectapi = { path = "../reflectapi", version = "0.17.3-alpha.1", features = ["codegen"] } +reflectapi = { path = "../reflectapi", version = "0.17.3", features = ["codegen"] } rouille = "3" clap = { version = "4.5.3", features = ["derive"] } diff --git a/reflectapi-demo/clients/python/uv.lock b/reflectapi-demo/clients/python/uv.lock index ca69ea88..4b7b9c3d 100644 --- a/reflectapi-demo/clients/python/uv.lock +++ b/reflectapi-demo/clients/python/uv.lock @@ -266,7 +266,7 @@ dev = [ [[package]] name = "reflectapi-runtime" -version = "0.17.3a1" +version = "0.17.3" source = { editable = "../../../reflectapi-python-runtime" } dependencies = [ { name = "httpx" }, diff --git a/reflectapi-derive/Cargo.toml b/reflectapi-derive/Cargo.toml index 8067c45b..8482dddc 100644 --- a/reflectapi-derive/Cargo.toml +++ b/reflectapi-derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "reflectapi-derive" -version = "0.17.3-alpha.1" +version = "0.17.3" edition = "2021" license = "Apache-2.0" @@ -22,7 +22,7 @@ workspace = true proc-macro = true [dependencies] -reflectapi-schema = { path = '../reflectapi-schema', version = "0.17.3-alpha.1" } +reflectapi-schema = { path = '../reflectapi-schema', version = "0.17.3" } proc-macro2 = "1.0" quote = "1.0" diff --git a/reflectapi-python-runtime/pyproject.toml b/reflectapi-python-runtime/pyproject.toml index ff879069..6c8044fb 100644 --- a/reflectapi-python-runtime/pyproject.toml +++ b/reflectapi-python-runtime/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "reflectapi-runtime" -version = "0.17.3a1" +version = "0.17.3" description = "Runtime library for ReflectAPI Python clients" readme = "README.md" requires-python = ">=3.12" diff --git a/reflectapi-python-runtime/src/reflectapi_runtime/__init__.py b/reflectapi-python-runtime/src/reflectapi_runtime/__init__.py index 097654f4..c9753f63 100644 --- a/reflectapi-python-runtime/src/reflectapi_runtime/__init__.py +++ b/reflectapi-python-runtime/src/reflectapi_runtime/__init__.py @@ -50,7 +50,7 @@ ) from .types import BatchResult, ReflectapiEmpty, ReflectapiInfallible -__version__ = "0.17.3a1" +__version__ = "0.17.3" __all__ = [ # Authentication diff --git a/reflectapi-schema/Cargo.toml b/reflectapi-schema/Cargo.toml index 33e0dadc..5f0aff7a 100644 --- a/reflectapi-schema/Cargo.toml +++ b/reflectapi-schema/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "reflectapi-schema" -version = "0.17.3-alpha.1" +version = "0.17.3" edition = "2021" license = "Apache-2.0" diff --git a/reflectapi/Cargo.toml b/reflectapi/Cargo.toml index 1e027837..561c5661 100644 --- a/reflectapi/Cargo.toml +++ b/reflectapi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "reflectapi" -version = "0.17.3-alpha.1" +version = "0.17.3" edition = "2021" license = "Apache-2.0" @@ -20,8 +20,8 @@ workspace = true [dependencies] # workspace dependencies -reflectapi-derive = { path = "../reflectapi-derive", version = "0.17.3-alpha.1" } -reflectapi-schema = { path = "../reflectapi-schema", version = "0.17.3-alpha.1" } +reflectapi-derive = { path = "../reflectapi-derive", version = "0.17.3" } +reflectapi-schema = { path = "../reflectapi-schema", version = "0.17.3" } # mandatory 3rd party dependencies serde = { version = "1.0.197", features = ["derive"] }