title | description | author | ms.author | ms.date | ms.topic |
---|---|---|---|---|---|
OData ASP.NET Core OData changelog |
AspNetCoreOData 8.x changelog |
xuzhg |
saxu |
2/5/2021 |
article |
ASP.NET Core OData 8.x is available on the Nuget gallery
You can install or update the NuGet package for ASP.NET Core OData using the Package Manager Console.
-
Blogs
-
Samples:
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.2.2
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.2.1
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.2.0
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.1.2
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.1.1
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.1.0
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.0.12
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.0.11
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.0.10
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.0.9
Starting from 8.0.8, we will use the release note on github.
See details at: https://github.com/OData/AspNetCoreOData/releases/tag/8.0.8
- Support DateOnly and TimeOnly for .NET 6
- Simpilify Nullable and non nullable type mapping registration
- Unmapped properties in Delta
- Change query validation to throw ODataException
- Create type annotation only has the type name
- No dollar sign query option setting to resolver
- Make TryGetNestedPropertyValue internal
- Fix 'none OData' -> 'non-OData' typo
- Query option binder refactor.
- Enable $compute query option.
- Enable $search query option, developer needs to implement the ISearchBinder.
- Migrate OData/WebApi#2512 to AspNetCoreOData.
- Trim forward slashes from route prefix.
- Fixed overwriting of the ODataUriResolver, received upstream from DI (e.g. AlternateKeysODataUriResolver).
- Add TryGetNestedPropertyValue in DeltaOfT Be noted: TryGetNestedPropertyValue has been added accidentally as public, it will be internal in the next version. Please use TryGetPropertyValue except TryGetNestedPropertyValue.
- Update the model builder dependency to 1.0.8
- Move the timezone setting for ODataQuerySetting to EnableQuery executing
- Add EnablePropertyNameCaseInsensitive for Conventional routing
- Bump to ODL 7.9.4, Enable property name case-insensitive
be noted: We are still working on refactoring ISelectExpandBinder and other query binders. Be aware of any changes in the next release.
- Fix auto select and expand when baseentity type is null
- Prevent error from duplicating attribute
- Add possibility to bind params of custsom type
- Add IODataTypeMapper
- Bump ODL dependency to 7.9.4, and enable property name case-insensitive by default
- Fix Enum.TryParse exception when using in .NET 6
- Enable case-insensitive in query option by default
- Add AddODataQueryFilter extension methods
- Enable auto expand navigation property on complex type property
- Enable nested resource case insensitive when reading
- Fix behaviour for Preflight requests on the ODataBatchMiddleware
- URedesign SelectExpandBinder to allow customizations
- Bump ODL dependency to 7.9.2
- Refactor ExpressionBinderBase
- Convert.ChangeType invalid cast from System.String to System.Guid
- Fixed issue DateTime Created with too Much Decimal Precision Causing SQL Query to Fail
- DeltaOfT out of sync with WebAPI: missing UpdatableProperties
- Update model builder dependency to 1.0.7
- move the ReadUntypedAsString=false to setting
- Fix issue: filter binder does not use the timezone info from settings
- Fix bug in Filter Any within Expand
- Fix incorrect GetProperties method logic
- Change public virtual to protected virtual for ValidateCountNode
- Add support for $count segment in $filter
- Make methods as virtual in ODataSerializerProvider
- Make methods as virtual in ODataDeserializerProvider
- Change
AddModel()
toAddRouteComponents
, AddEnableQueryFeatures()
in ODataOptions - Remove
IODataBuilder
,DefaultODataBuilder
, EliminateBuilderFactory
and the need for externalContainerBuilder
- Rename
ODataRoutingAttribute
toODataAttributeRoutingAttribute
- Rename
ODataModelAttribute
toODataRouteComponentAttribute
- Remove
NonODataControllerAttribute
andNonODataActionAttribute
and replace them usingODataIgnoredAttribute
- Rename
PrefixName
toRoutePrefix
, RenameSubServiceProvider
toServices
in IODataFeature - Add
ODataOptions()
in HttpContextExtensions and HttpRequestExtensions - Rename
{Get|Create|Delete}SubServiceProvider
to{Get|Create|Delete}RouteServices
in HttpRequestExtensions - Improvement to (de)serialization code, using interface for (de)serializer
- Improve OData debug route and its pattern
- Enable $this query option
- Update dependency to ODL 7.9, ModelBuilder 1.0.6
- Fix AmbiguousMatchException for properties with new modifier
- Add bunch of test cases to increase the code coverage
- Other code clean up, for example, remove
IODataTypeMappingProvider
etc
- Be noted Breaking changes in ODataSegmentTemplate
- Use ActionName in conventional routing
- Make CreateRef, DeleteRef, GetRef for generic navigation property working
- Support alternate key in attribute routing
- ClrTypeCache has memory leak owing to IEdmTypeReference
- Change ODataOptions by removing unnecessary APIs
- Remove EdmDeltaKind
- Change EdmDeltaLink, EdmDeltaDeletedLink, etc
- Add a config for non-parenthesis of empty parameter function
- Add a config for controller name case insensitive
- Enable string without single quote in key as segment
- Be noted Move AddOData() to IMvcBuilder and IMvcCoreBuilder
- Move routing conventions to ODataOptions & use options setup
- Add the API for navigation source, navigation property, operation link builder
- Enable payload property case-insensitive
- Remove ContentLength check, support chunked request
- Add SingleResult JSON value converter
- Improve the "EnumTryParse" reflect for .NET 6
- Support long query URL pattern using $query
- Add a OData routing debug middleware. Call
app.UseODataRouteDebug()
to enable it - Count in filter throws not supported
- Retrieve the default query setting
- Fix issue about absolute route template with two selector models
- Reuse WriteObjectInlineAsyc in ODataDeltaResourceSetSerializer
- Create selector model if we have route template on controller
- Improve ConvertPrimtiveValue assert
- Attribute routing: Remove
ODataRouteAttribute
,ODataRoutePrefix
, useRouteAttribute
,HttpGet
,HttpPost
,... for attribute routing - Delta resource set: Add DeltaSetOfT, DeltaT, DeltaLinkT and related interfaces
- Entity Reference: Support odata.bind and odata.id link
- Fix the TimeZone issue when deserializing
- Stream property serialization & stream property query
- Make basic non-Edm scenario working
- Add Json value converter for PageResult, SelectExpandWrapper
- Add Dynamic type wrapper type converter
- Rename IsUntyped to IsNoClrType in Deserializer context
- Rename ODataDeltaFeedSerializer to ODataDeltaResourceSetSerializer
- Retrieve the returned entity set for function from annotation
- Add / prefix for OData route template to prevent mergeing routing template from controller
- Use metadata writer async, change other WriteObjectAsync
- Change the Translate in segment template to TryTranslate
- Remove CompatibilityOptions and code clean
- Add request and timezone to the nested deserializer context
- Change PathTemplateSegment, DynamicSegment
- Add the OData version to reader settings when specified in the request
- Fix the TimeZone issue when serializing
- Add the key/value pair parser
- Set ReadAsUntypedAsString=false
- Fix the query information concurrency problem. #72
- Remove model container and inject Edm model into query wrapper
- Fix the navigation property routing convention http method
- Enhance batch accept header descision
- ResourceContext.ResourceInstance throws exception
- Fix child collection nextlink
- Enable model query in select and expand binder
- Fix invalid location header generated when key property for model contains unicode chars
-
Enable CSDL-JSON metadata, use the following ways:
- Query: $format=application/json
- Query: $format=json
- Header: Accept=application/json
-
Add all attributes to new selector model. #34
-
Change the Order value for Entity and OperationImport routing convention
-
Add null check for the model
-
Remove OmitNullDynanicProperty setting
-
Remove CompatibilityOptions setting
-
Change CreatedODataResult and UpdatedODataResult
-
EnableQuery should perform checks before controller execution. #51
-
Full serialization and deserialization async
- Improve key and function segment template
- Remove the GuidCompare
- Implement the new routing convention, see ASP.NET Core OData 8.0 Preview for .NET 5
- Separate the model builder into new OData.ModelBuilder