Skip to content

v2.36.0

Choose a tag to compare

@wolveix wolveix released this 17 Feb 17:37
· 35 commits to main since this release
2e3cc8b

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-Type for non-JSON endpoints
  • Support for charset definitions in Content-Type header
  • 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 FormFile field

Schema & Validation Enhancements

  • Fixed $schema field reusing links for identical objects
  • Fixed duplicate example rendering in some docs renderers
  • Improved $schema URL handling (with docs for disabling it)
  • Extended netip.Addr to support IPv6; added new ip format for v4/v6
  • Fixed incorrect schema generation for arrays

Framework & Dependency Updates

  • Fiber adapter now uses Body() instead of BodyRaw() 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

Full Changelog: v2.35.0...v2.36.0