Skip to content

v0.1.236

Choose a tag to compare

@Tuntii Tuntii released this 30 Jan 23:28
· 218 commits to main since this release

Release Notes - Native OpenAPI 3.1 Generator

Version 0.1.236 - 2026-01-30

🚀 Major Features

Native OpenAPI 3.1 Generator

  • Replaced external dependency: Completely removed utoipa dependency and implemented a fully native OpenAPI 3.1 specification generator
  • Deterministic output: Uses BTreeMap for consistent, ordered OpenAPI spec generation
  • JSON Schema 2020-12 compliance: Full support for modern JSON Schema standards

Schema Generation System

  • New RustApiSchema trait: Automatic schema derivation for structs, enums, and primitives
  • #[derive(Schema)] macro: Seamless integration in rustapi-macros for type-safe OpenAPI documentation
  • Runtime integration: All core extractors (Json, Query, Path) and response types (Created, ApiError) now automatically populate OpenAPI specs

Swagger UI Improvements

  • Lightweight implementation: Replaced heavy utoipa-swagger-ui with simple HTML handler
  • CDN-based loading: Swagger UI now loads from unpkg CDN, eliminating local asset bundling
  • Reduced bundle size: Significant reduction in compiled binary size

🔧 Technical Changes

  • Updated rustapi-openapi: Complete rewrite with native OpenAPI 3.1 structs (Spec, Operation, Schema, etc.)
  • Enhanced rustapi-core: All extractors and response types implement RustApiSchema
  • Clean dependency tree: Removed utoipa from all Cargo.toml files across the workspace

✅ Verification & Testing

  • Unit tests added: Comprehensive test coverage for schema derivation and spec generation
  • Backward compatibility: All existing rustapi-core tests pass with new implementation
  • Deterministic output: Verified consistent spec structure across multiple runs

📊 Impact

  • 14 commits merged
  • 1,508 lines added, 3,254 lines removed
  • 39 files changed
  • Breaking change: External OpenAPI dependency completely replaced with native implementation

🔗 Links