v2.36.0
Overview
This release is larger than usual. Key changes:
Unique Operation ID Enforcement
Operation IDs are now enforced to be unique, preventing collisions in generated OpenAPI specs. (Fixes #910)
Native Docs Renderer Support
Native support for Scalar and SwaggerUI alongside the default Stoplight Elements. Configure via config.DocsRenderer = huma.DocsRendererScalar.
Expanded Content-Type Handling
- Graceful handling when clients omit
Content-Typefor non-JSON endpoints - Support for charset definitions in
Content-Typeheader - Updated OpenAPI media types to align with newer standards
- Validation support for non-JSON request body content types
Form Handling Improvements
- Form data now required by default for clearer validation behavior
- Fixed panic when text value sent to
FormFilefield
Schema & Validation Enhancements
- Fixed
$schemafield reusing links for identical objects - Fixed duplicate
examplerendering in some docs renderers - Improved
$schemaURL handling (with docs for disabling it) - Extended
netip.Addrto support IPv6; added newipformat for v4/v6 - Fixed incorrect schema generation for arrays
Framework & Dependency Updates
- Fiber adapter now uses
Body()instead ofBodyRaw()for automatic decompression - Upgraded to Go 1.24
What's Changed
- Support Forcing Unique Operation IDs (Fixes #910) by @wolveix in #937
- Support charset definitions in content type header by @wolveix in #951
- chore(deps): bump github.com/gofiber/fiber/v2 from 2.52.9 to 2.52.11 by @dependabot[bot] in #955
- Fix various issues by @wolveix in #961
- Require form data by default by @wolveix in #963
- Fix: Support non-JSON content types for request body validation by @roidelapluie in #926
- Allow empty content type from client by @wolveix in #964
- Docs for disabling the $schema field by @wolveix in #966
- fix: use Body() instead of BodyRaw() in fiber to auto decompress the req body by @akkuman in #928
- proposal: extend netip.Addr support to ipv6 by @costela in #792
- Add missing ip format to docs by @wolveix in #967
- Update OpenAPI media types to newer standard format by @domdomegg in #899
- fix: prevent panic when text value sent to FormFile field by @alexisvisco in #932
- Improve $schema URL by @wolveix in #968
- Fix incorrect schema generation for arrays by @wolveix in #970
New Contributors
- @roidelapluie made their first contribution in #926
- @akkuman made their first contribution in #928
- @domdomegg made their first contribution in #899
- @alexisvisco made their first contribution in #932
Full Changelog: v2.35.0...v2.36.0