You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per-item version annotations in IR and docs generator. Added VersionAnnotation and DeprecationInfo types to the IR. FunctionDef, MethodDef, TypeDef, EnumDef, and EnumVariant now carry a version field populated from #[alef(since = "x.y.z")] and #[deprecated(since = "...", note = "...")] Rust attributes. The docs generator renders a **Since:** \vX.Y.Z`badge and a!!! warningadmonition for deprecated items in generatedapi-{lang}.mdreference pages. Variant-level version annotations are inlined into the description column of the enum table. Backend binding emission (e.g.@deprecatedin Java,[Obsolete]` in C#) is tracked as a follow-up.
Changed
Publish workflow now mints kreuzberg-dev-publisher[bot] GitHub App tokens (secrets.BOT_APP_ID / secrets.BOT_APP_PRIVATE_KEY) for every release-write step, replacing the prior HOMEBREW_TOKEN PAT and the workflow-scoped GITHUB_TOKEN used for release-asset uploads and homebrew-tap pushes. The bot identity must be granted branch-protection-bypass on kreuzberg-dev/homebrew-tap for tap pushes to land.
Bump ext-php-rs pin from 0.15.12 to 0.15.15. Picks up the latest 0.15.x patches; the minimum-version comment still notes 0.15.12+ as the floor required by the StaticModuleEntry-based module entry in gen_bindings/rust_bindings.rs.
Fixed
NAPI: enum variant doc comments now have */ inside backticks escaped so the outer JSDoc block doesn't terminate early. Variant rustdoc like `/** ... */` in DocstringFormat::JSDoc was emitting /** JSDoc (/** ... */). */ which oxlint rejected as TS(1164): Computed property names are not allowed in enums. The escape is now applied after doc sanitization to prevent the */ sequence (whether in backticks or inline code spans) from prematurely closing the JSDoc comment block in generated .d.ts files. Regression test verifies */ inside backticks is emitted as * /.
napi service-wrapper direct-register method now emits in lowerCamelCase, not snake_case. JavaScript classes use lowerCamelCase method names, but the wrapper was emitting register_<method> straight from the IR's snake_case identifier — consumers calling app.registerRoute(builder, handler) hit TypeError: app.registerRoute is not a function at runtime because the wrapper exposed register_route instead. The constructed name is now piped through heck::to_lower_camel_case, matching what the napi backend already does for native function emission (Round 4 snake→camel conversion). Regression test pins the expected registerAddHandler shape and verifies the snake_case form does not survive into the emitted class.