Releases: OSLC/oslc4net
[0.7.0-preview.2] 2025-06-07
What's Changed
- fix: ensure samples fail if there is any error by @berezovskyi in #490
Full Changelog: v0.7.0-preview.1...v0.7.0-preview.2
[0.7.0-preview.1] - 2025-12-06
Security
This release does not contain security updates.
Added
- ⚡️Samples for IBM Jazz ERM (aka Doors NG), ETM, and EWM were migrated to .NET 10 and tested against Jazz.net. You can run them yourself using
OSLC4Net_SDK\Examples\scripts\test-jazz_net.ps1. RootServicesHelperwas added to assist with processing OSLC Root Services documents. It can help with direct lookups (as long as your URI ends with/rootservicesor/rootservices.xml), can look up a standard/.well-known/oslc/rootservices.xmllocation, or fall back to appending/rootservicesfor legacy systems.
Changed
OSLC4Net.Corerequires .NET 10 to be able to use the[Experimental]annotation.OSLC4Net.Clientrequires .NET 10.
Deprecated
This release does not introduce deprecations.
Removed
This release does not remove any features.
Fixed
- Properties backed by URI collections are now reflected in OSLC shapes correctly (thanks to @ZUOXIANGE)
OslcQueryResultnow handles cases where RDF graph parsing from query responses produces malformed URI nodes. Instead of throwingArgumentNullException, methods likeGetMembersUrls(),GetMembers<T>(),GetNextPageUrl(), andGetTotalCount()now gracefully return empty results or null values.
[0.6.3] - 2025-11-15
Security
This release does not contain security updates.
Added
This release does not contain new features.
Changed
- StringValue interface is now publicly accessible and inherits from the Value interface (#422)
Deprecated
- 👉 Support for .NET 8 and 9 is deprecated. Going forward, only .NET 10 will be supported.
Removed
This release does not remove any features.
Fixed
- StringValue interface is now publicly accessible and inherits from the Value interface (#422)
[0.6.2] - 2025-08-13
Security
This release does not contain security updates.
Added
This release does not contain new features.
Changed
- RDF/XML output is now produced using
PrettyRdfXmlWriterinstead of
RdfXmlWriter. Pretty-printing is still configurable with
OslcOutputFormatConfig.
Deprecated
This release does not introduce deprecations.
Removed
This release does not remove any features.
Fixed
This release does not contain bug fixes.
[0.6.1] - 2025-08-13
Security
This release does not contain security updates.
Added
- The
QNameclass now has propertiesNamespaceUri,LocalPart, and
Prefix. - ⚡️
OslcOutputFormatConfigconfigure RDF output formatting (pretty-printing, DTD, JSON-LD mode)
Changed
This release does not contain other significant changes.
Deprecated
- 👉
QNamegettersGetNamespaceURI,GetLocalPart, andGetPrefixare
deprecated in favor of C# properties and are scheduled for removal in the
next release.
Removed
This release does not remove any features.
Fixed
This release does not contain bug fixes.
[0.6.0] - 2025-07-06
Security
This release does not contain security updates.
Added
- ⚡️
TextOutputFormatter/TextInputFormatterimplementations for OSLC RDF, enabling the use of OSLC4Net in ASP.NET Core API servers- 👉 see sample server under
OSLC4Net_SDK/Examples/OSLC4NetExamples.Server.NetCoreApi
- 👉 see sample server under
- ⚡️ JSON-LD 1.1 support
- Initial support for RDFS inference during deserialization was added.
- 👉 Docs are now published to https://oslc4net.github.io/
Changed
- ❗️ Major changes to exceptions from Core and Client packages.
- Getters were replaced with read-only properties
- I18n resource strings were removed along with the corresponding
constructors. - Error codes
OSLC001..OSLC014from Core were renamed to
OSLC1001..OSLC1014, while
codesOSLCC001..OSLCC004from Client were renamed into
OSLC2001..OSLC2014. All OSLC4Net error codes now have 4 digits for
consistency.
- ❗️ DotNetRdfHelper is no longer static
Deprecated
- 👉
OSLC4Net.Client.Oslc.Resources.ChangeRequest.GetRdfTypesand all similar
methods. UseOSLC4Net.Core.Model.IExtendedResource.GetTypesinstead or,
better yet,OSLC4Net.Core.Model.AbstractResourceRecord.Types.
Removed
- ❗️ Legacy OSLC JSON support was removed to reduce maintenance overhead now that
the JSON-LD support is added. - I18n resource strings were removed along with the corresponding
constructors on exceptions. Also,MessageExtractorhelpers were removed. - log4net dependency - all logging is now done via standard
ILogger
abstraction. - ServiceProviderRegistryURIs - oslc4net will no longer try to guess/compute the
SP catalog URI.
Fixed
OSLC4Net.Core.Model.IExtendedResource.GetTypesis now annotated properly and
should be populated correctly on deserialization.
[0.6.0-preview.1] - 2025-05-25
Security
This release does not contain security updates.
Added
- ⚡️ JSON-LD 1.1 support
- Initial support for RDFS inference during deserialization was added.
- Docs are now published to https://oslc4net.github.io/
Changed
This release does not contain other significant changes.
Deprecated
- 👉
OSLC4Net.Client.Oslc.Resources.ChangeRequest.GetRdfTypesand all similar
methods. UseOSLC4Net.Core.Model.IExtendedResource.GetTypesinstead or,
better yet,OSLC4Net.Core.Model.AbstractResourceRecord.Types.
Removed
- ❗️Legacy OSLC JSON support was removed to reduce maintenance overhead now that
the JSON-LD support is added.
Fixed
OSLC4Net.Core.Model.IExtendedResource.GetTypesis now annotated properly and
should be populated correctly on deserialization.
[0.5.0] - 2025-04-13
Security
This release does not contain security updates.
Added
- ⚡️ CI integration tests against OSLC RefImpl CM/RM based on NET Aspire
- ⚡️ Ability to define OSLC resource POCOs using C# properties instead of
Java-style getters/setters. - ⚡️ Support for the OSLC Requirements Management 2.1 domain with property-based code.
- Added full vocabulary definitions for FOAF, DC Terms, DC Elements, LDP, PROV-O, QUDT, SKOS.
- Redirect loop protection for
OslcClient(max 20 redirects as in
Firefox/Blink/WebKit) - Follow redirects on more responses statuses (was: 301, became: 301, 302, 307,
308, and in case of GET requests, 303 too) - ❗️
OslcResponsecan now expose multiple response resources, theGraphand,
in case of error, theoslc:Errorresource.
Changed
- dotNetRDF dependency was updated to v3.3.1
- ❗️
OslcClientwas updated to support async operations consistently
Deprecated
- Most non-async methods in client classes.
- Further OSLC JSON deprecations. Clients should rely on RDF instead (RDF/XML,
Turtle) - Old OSLC Requirements Management classes that were hand-rolled and used Java code style.
Removed
- ❗️ Multiple non-async methods in
OslcClient - ❗️ A property exposing
OslcRestClientinServiceProviderRegistryClient
Fixed
- Minor bug fixes to pass acceptance tests against OSLC RefImpl Change
Management server.
[0.5.0-preview.1] - 2025-04-13
Security
This release does not contain security updates.
Added
- ⚡️ CI integration tests against OSLC RefImpl based on NET Aspire
- Redirect loop protection for
OslcClient(max 20 redirects as in Firefox/Blink/WebKit) - Follow redirects on more responses statuses (was: 301, became: 301, 302, 307, 308, and in case of GET requests, 303 too)
- ❗️
OslcResponsecan now expose multiple response resources, theGraphand, in case of error, theoslc:Errorresource.
Changed
- dotNetRDF dependency was updated to v3.3.1
- ❗️
OslcClientwas updated to consistently support async operations
Deprecated
- Most non-async methods in client classes.
- Further OSLC JSON deprecations. Clients should rely on RDF instead (RDF/XML, Turtle)
Removed
- ❗️ Multiple non-async methods in
OslcClient - ❗️ A property exposing
OslcRestClientinServiceProviderRegistryClient
Fixed
- Minor bug fixes to pass acceptance tests against OSLC RefImpl Change Management server.
[0.4.7-preview.4] - 2024-12-07
Notable changes:
- deterministic paths and builds