Skip to content

Releases: OSLC/oslc4net

[0.7.0-preview.2] 2025-06-07

07 Dec 13:46
6d30d7a

Choose a tag to compare

Pre-release

What's Changed

Full Changelog: v0.7.0-preview.1...v0.7.0-preview.2

[0.7.0-preview.1] - 2025-12-06

06 Dec 19:05
7e4de88

Choose a tag to compare

Pre-release

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.
  • RootServicesHelper was added to assist with processing OSLC Root Services documents. It can help with direct lookups (as long as your URI ends with /rootservices or /rootservices.xml), can look up a standard /.well-known/oslc/rootservices.xml location, or fall back to appending /rootservices for legacy systems.

Changed

  • OSLC4Net.Core requires .NET 10 to be able to use the [Experimental] annotation.
  • OSLC4Net.Client requires .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)
  • OslcQueryResult now handles cases where RDF graph parsing from query responses produces malformed URI nodes. Instead of throwing ArgumentNullException, methods like GetMembersUrls(), GetMembers<T>(), GetNextPageUrl(), and GetTotalCount() now gracefully return empty results or null values.

[0.6.3] - 2025-11-15

15 Nov 14:57

Choose a tag to compare

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

13 Aug 10:29
2b9a9b4

Choose a tag to compare

Security

This release does not contain security updates.

Added

This release does not contain new features.

Changed

  • RDF/XML output is now produced using PrettyRdfXmlWriter instead 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

13 Aug 10:14
5ad9216

Choose a tag to compare

Security

This release does not contain security updates.

Added

  • The QName class now has properties NamespaceUri, LocalPart, and
    Prefix.
  • ⚡️ OslcOutputFormatConfig configure RDF output formatting (pretty-printing, DTD, JSON-LD mode)

Changed

This release does not contain other significant changes.

Deprecated

  • 👉 QName getters GetNamespaceURI, GetLocalPart, and GetPrefix are
    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

06 Jul 19:39
c1e9ad2

Choose a tag to compare

Security

This release does not contain security updates.

Added

  • ⚡️ TextOutputFormatter/TextInputFormatter implementations for OSLC RDF, enabling the use of OSLC4Net in ASP.NET Core API servers
    • 👉 see sample server under OSLC4Net_SDK/Examples/OSLC4NetExamples.Server.NetCoreApi
  • ⚡️ 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..OSLC014 from Core were renamed to
      OSLC1001..OSLC1014, while
      codes OSLCC001..OSLCC004 from 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.GetRdfTypes and all similar
    methods. Use OSLC4Net.Core.Model.IExtendedResource.GetTypes instead 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, MessageExtractor helpers 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.GetTypes is now annotated properly and
    should be populated correctly on deserialization.

[0.6.0-preview.1] - 2025-05-25

24 May 22:30
6420fbc

Choose a tag to compare

Pre-release

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.GetRdfTypes and all similar
    methods. Use OSLC4Net.Core.Model.IExtendedResource.GetTypes instead 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.GetTypes is now annotated properly and
    should be populated correctly on deserialization.

[0.5.0] - 2025-04-13

13 Apr 19:13
9eadfe7

Choose a tag to compare

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)
  • ❗️ OslcResponse can now expose multiple response resources, the Graph and,
    in case of error, the oslc:Error resource.

Changed

  • dotNetRDF dependency was updated to v3.3.1
  • ❗️ OslcClient was 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 OslcRestClient in ServiceProviderRegistryClient

Fixed

  • Minor bug fixes to pass acceptance tests against OSLC RefImpl Change
    Management server.

[0.5.0-preview.1] - 2025-04-13

13 Apr 12:09
7b81e03

Choose a tag to compare

Pre-release

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)
  • ❗️ OslcResponse can now expose multiple response resources, the Graph and, in case of error, the oslc:Error resource.

Changed

  • dotNetRDF dependency was updated to v3.3.1
  • ❗️ OslcClient was 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 OslcRestClient in ServiceProviderRegistryClient

Fixed

  • Minor bug fixes to pass acceptance tests against OSLC RefImpl Change Management server.

[0.4.7-preview.4] - 2024-12-07

07 Dec 00:08
e1f8bd3

Choose a tag to compare

Pre-release

Notable changes:

  • deterministic paths and builds