Microsoft Ships OData .NET (ODL) 9.0.0 Preview 3: Safety, Modern APIs, and Spec Compliance
Briefly

Microsoft Ships OData .NET (ODL) 9.0.0 Preview 3: Safety, Modern APIs, and Spec Compliance
"Microsoft released OData .NET (ODL) 9.0.0 Preview 3, the latest preview iteration of the OData .NET client and core libraries, continuing the modernisation effort of the library. This preview focuses on safer default behaviours, runtime API cleanup, and closer conformance with the OData specification as the team works toward a stable 9.x release. For context, the current stable release of the core OData .NET libraries (e.g., Microsoft.OData.Core) remains on 8.4.x line on NuGet, with version 8.4.3 as the most recent stable package from that series."
"Preview 3 continues conventions introduced in earlier 9.x previews but tightens behaviours based on developer feedback and alignment with the OData specifications: Action query execution now uses SingleOrDefault() semantics for nullable references, reducing unexpected exceptions for common null responses while retaining strict checks for non-nullable values. Removal of legacy serialisation constructors tied to ISerializable, eliminating build warnings on modern SDKs. Dropping the older CsdlTarget concept and deprecating obsolete return type accessors in favour of newer EDM interfaces."
OData .NET 9.0.0 Preview 3 advances modernization of the OData .NET client and core libraries and tightens runtime behaviors to align with the OData specification. Action query execution now uses SingleOrDefault() semantics for nullable references to reduce unexpected exceptions while preserving strict checks for non-nullable values. Legacy serialization constructors tied to ISerializable have been removed to eliminate modern SDK build warnings. The older CsdlTarget concept and obsolete return type accessors have been dropped in favor of newer EDM interfaces and IEdmOperationReturn. The preview targets runtime compatibility with .NET 8/9/10, lowers allocations with ReadOnlySpan<char> overloads, and enforces structured deserialization for untyped values with numeric CLR inference.
Read at InfoQ
Unable to calculate read time
[
|
]