Skip to content

4.0.0

Compare
Choose a tag to compare
@commonsensesoftware commonsensesoftware released this 30 Oct 16:25

This marks the official release of 4.0. All of the prerelease and previous version features, as well as any fixes, roll up into this release.

Features

The following are new features and/or enhancements since 3.1.0:

All Platforms

  • Add an IsDeprecated extension method (#441)
  • Add API version parameter to Content-Type (#484)
  • Defer reporting API version response headers
  • Refactor conventions API; interfaces are defined end-to-end (see Breaking Changes)

ASP.NET Web API with OData

  • Generate navigation property templates by convention (#463)
  • Add UseQualifiedNames option to support qualified names in URL generation
  • Remove obsolete UseQualifiedOperationNames option
  • Allow route parameter name fallback (#478)
  • Add support to explore all routing conventions, including $ref (#494)
  • Support array URL syntax for collection parameters (#496)
  • Add OData query option support for non-OData actions (#522)

ASP.NET Core

  • Use Options with latest Swashbuckle integration (#422)
  • Update examples to Swashbuckle 5.0.0
  • Add support for ASP.NET Core 3.0

ASP.NET Core with OData

  • Use Options with latest Swashbuckle integration (#422)
  • Update examples to Swashbuckle 5.0.0
  • Generate navigation property templates by convention (#463)
  • Add UseQualifiedNames option to support qualified names in URL generation
  • Remove obsolete UseQualifiedOperationNames option
  • Allow route parameter name fallback (#478)
  • Add support to explore all routing conventions, including $ref (#494)
  • Support array URL syntax for collection parameters (#496)
  • Add OData query option support for non-OData actions (#522)

Fixes

The following are fixes and patches since 3.1.0:

All Platforms

  • Fix resolution of media type parameter name (#528)
  • Update icon URL and support an in-package file (#544)

ASP.NET Web API

  • Make updating the API version parameter description for a path route parameter reliable (#419)
  • Fix enumeration of non-OWIN routes

ASP.NET Web API with OData

  • Fixed type builder not keeping track of CLR types that match the EDM
  • Fix selecting the assumed, default API version (#471)
  • Do not override global settings when visiting EnableQueryAttribute (#488)
  • Add appropriate separators for composite keys (#500)
  • Support separate client and server OData route template generation (#502)
  • API Explorer should support extended ODataValue<T> (#513)
  • Dependency properties should keep custom attributes (#520)
  • Revert to using Reflection to invoke default container configuration (#525)
  • Fix key as segment URL generation (#526)
  • Enable global $count query option, even though it shouldn't be needed (#567)

ASP.NET Core

  • Fix endpoint policy for invalid candidate with matching API version (#423)
  • Fix type test in ApiVersion model binder (#452)
  • Ensure implicitly versioned ActionModel has associated ControllerModel (#519)
  • Use non-generic convention builder for attribute declarations

ASP.NET Core with OData

  • Fixed type builder not keeping track of CLR types that match the EDM
  • Fix selecting the assumed, default API version (#471)
  • Do not override global settings when visiting EnableQueryAttribute (#488)
  • Add appropriate separators for composite keys (#500)
  • Support separate client and server OData route template generation (#502)
  • API Explorer should support extended ODataValue<T> (#513)
  • Ensure implicitly versioned ActionModel has associated ControllerModel (#519)
  • Dependency properties should keep custom attributes (#520)
  • Fix key as segment URL generation (#526)
  • Fix NullReferenceException in unversioned route constraint (#531)
  • Update ModelMetadata with substituted type when necessary (#562)
  • Enable global $count query option, even though it shouldn't be needed (#567)

Breaking Changes

There are no additional breaking changes since the preview release. Review the preview release for additional details.

Known Issues

The following are known issues in this release:

ASP.NET Core with OData

  • Endpoint Routing is not supported
    • OData does not intrinsically support Endpoint Routing (OData/WebApi#1707)
    • Disable Endpoint Routing with services.AddMvc( options => options.EnableEndpointRouting = false );
  • ASP.NET Core 3.0 is not supported (OData/WebApi#1748)

Community Contributions

Special thanks to the support and contributions from the community:

  • @LuukN2 - OData Model Substitution improvements
  • @brainboost - OData Model Substitution improvements