Welcome

Welcome to the Ocelot 24.1 documentation!

It is recommended to read all Release Notes if you have deployed the Ocelot app in a production environment and are planning to upgrade to major, minor or patched versions.

Release Notes

Release Tag: 24.1.0
Release Codename: Globality

In this minor release, the Ocelot team put the spotlight on the Configuration feature as part of their semi-annual 2025 effort, with a particular focus on the Global Configuration Schema. This release enhances support for global configurations across both routing modes: the classic static Routing and the service discovery-based Dynamic Routing.

The updated documentation highlights the deprecation of certain options through multiple notes and warnings. This deprecation process will be completed in the upcoming .NET 10 release. With the Obsolete attributes in place, C# developers will notice several warnings in the build logs during compilation.

On top of that, this release brings a great enhancement to the Kubernetes (K8s) provider, also known as the Ocelot.Provider.Kubernetes package.

What’s New?

What’s Updated?

Patches Included

  • Websockets: Issue 930 patch by @hogwartsdeveloper in pull request 2091.

    This update removes the troublesome System.Net.WebSockets.WebSocketException from logs, preventing Ocelot from running into 500 status disasters. The issue stemmed from client-side or network events that Ocelot’s WebSocketsProxyMiddleware could not anticipate on the server side. The patch now checks for incorrect connection statuses, attempting to close the connection and end server-side tasks gracefully without errors.

  • Kubernetes (K8s) : Issue 2304 patch by @raman-m in pull request 2335.

    This update fixes the PollKube provider to address a bug with the first cold request, where the winning thread got an empty collection before the initial callback was triggered. The solution is to call the integrated discovery provider for the first cold request when the queue is empty.

  • Authorization: Issue 913 patch by @mehyaa in pull request 1478.

    Starting with version 24.1, Ocelot now supports RFC 8693 (OAuth 2.0 Token Exchange) for the ‘scope’ claim in the ScopesAuthorizer service, also referred to as the IScopesAuthorizer service in the DI container. This is noted in the “Allowed Scopes” documentation (see the first note).

Contributing

Pull requests, issues, and commentary are welcome at the Ocelot GitHub repository. For ideas and questions, please post them in the Ocelot Discussions space. octocat

Our Development Process is a part of successful Release Process. If you are a new contributor, it is crucial to read Development Process attentively to grasp our methods for efficient and swift feature delivery. We, as a team, advocate adhering to Best Practices throughout the development phase.

We extend our best wishes for your successful contributions to the Ocelot product! octocat