January 2024 (version 23.1.0) aka Hornussen release
Codenamed as Hornussen Sport
Read the Docs: Ocelot 23.1
Focus On
Multiplexing middleware aka Request Aggregation feature
- Significant refactoring and design review of the Multiplexer
- Optimizing multiplexer performance:
HttpContextis not copied when there is only one downstream route, and etc. - Fixed the bug in the multiplexer:
HttpContext.Userinformation was not copied if there was more than one downstream request.
System routing. Content streaming when Transfer-Encoding: 'chunked'
- Correction of the bug when creating requests: The header Transfer-Encoding:
chunkedwas present even when there was no content or the request body size was 0. These cases are now addressed.
Updates of the features: QoS, Load Balancer and Error Status Codes
- Quality of Service: Possibility of implementation of custom Polly v8.2 providers. New
AddPollyextension methods. - Load Balancer: Extension of the route key format, ensuring that the key remains unique for cases of UpstreamHost route property and ServiceName vs ServiceNamespace properties in Consul setup.
- Error Status Codes: When 413 Content Too Large, Ocelot now returns a 413
PayloadTooLargeError(Ocelot error code41).
Documentation for Request Aggregation
Stabilization aka bug fixing
- See all bugs of the January'24 milestone
Honoring π aka Top Contributors π
1st π₯ goes to Guillaume Gnaegi for delivering 2 features
2nd π₯ goes to Alexander Reinert for delivering 1 feature in 8 files changed
3rd π₯ goes to Steven Liekens for delivering 1 feature in 5 files changed with 353 insertions
Starring β aka Release Influencers 
ββ Guillaume Gnaegi, @ggnaegi
β Alexander Reinert, @alexreinert
β Chris Williams, @williamscs
β Masoud Bahrami, @masoud-bahrami
β Raman Maksimchuk, @raman-m
β Raynald MessiΓ©, @RaynaldM
β Steven, @sliekens
β Ugway77, @Ugway77
Features in Release 23.1.0
Milestone: January'24
Logbook
- 5ec192a by Raman Maksimchuk on Monday, March 4 at 14:12 β
Release 23.1 artifacts | +semver: minor - 36986d6 by Guillaume Gnaegi on Friday, March 1 at 18:33 β
#1825 #1330 #1287 #1069 Improvements of the multiplexing middleware (#1826) - 42ac3ca by Guillaume Gnaegi on Friday, March 1 at 12:00 β
#749 Bad error handling forIOExceptionwhile reading incoming request body (#1769) - 319e397 by Alexander Reinert on Thursday, February 29 at 22:16 β
#1971 #928 Avoid content if original request has no content and avoid Transfer-Encoding: chunked if Content-Length is known (#1972) - 8845d1b by Steven on Thursday, February 29 at 9:44 β
#849 #1496 Extend the route key format used for load balancing making it unique (#1944) - 171e3a7 by Masoud Bahrami on Tuesday, February 27 at 19:05 β
Logging bug inHttpRequesterMiddleware(#1953) - 0404c24 by Raynald MessiΓ© on Monday, February 26 at 9:24 β
#1844 More open customization of Polly use (#1974) - 108bede by Ugway77 on Thursday, February 22 at 23:38 β
#1396 Lost contextUserinMultiplexingMiddleware(#1462) - a9dff7c by Chris Williams on Thursday, February 22 at 4:25 β
Fix typo in the name of theDistributedCacheRateLimitCounterHandlerclass (#1969)