- Several performance optimizations (#798)
- Add optional FilePartSink to configuration record to stream uploads without temp files. (#796)
- Update dependencies.
- FIX: Remove incorrect raise exception within accept loop leading to premature exit.
- Rewrite connection shutdown sequence to avoid race conditions under high concurrency load.
- Target .NET 10
- Target .NET 10
- FIX: Equal signs in query parameter values are not parsed correctly (#774)
- Target .NET 9
- Rewrite of internals using Task, Memory and Pipelines.
- Many optimizations focusing on reducing memory allocations, improving throughput, and lowering latency.
- Rate limiting, security headers, validation webparts and new router module.
- Correct the connection shutdown sequence.
- FIX: Flush after serving a file.
- Improved KMP string matching algorithm
- Get rid of Globals.numberOfClients
- FIX: HTTP response data bleeding between requests during stress load
- Security fix: clear buffers for reuse.
- Handle malformed HTTP headers.
- Implements a connection health monitor.
- Enable SSL/TLS support.
- Adopting ValueTask to achieve allocation-free synchronous completions
- Plus many more performance optimizations.
- Rate limiting, security headers, validation webparts and new router module.
- Target net9.0
- Many optimizations focusing on reducing memory allocations, improving throughput, and lowering latency.
- Rewrite of internals using Task, Memory and Pipelines. Introduces breaking changes.
- Target net7.0
- Introduces
okStreamandokStreamChunked(#765)
- Removing keys from session state (#757)
- FIX: Issue parsing boundary from multipart/form-data Content-Type header (#759)
- Allow to set custom Server header (#755)
- Report assigned ephemeral port when binding to port 0 (#754)
- Target netstandard2.1 and drop net461
- Introduces proxy web part
- Optimization: use byte arrays instead of strings for hardcoded literals
- FIX: Sequence map bug in getHeaders (#747)
- Makes HttpContext.userState a mutable dictionary enabling global user state per request.
- FIX: Prevent showing detailed errors when proxied
- Removes Owin module.
- Removes lensed properties.
- Added method NOT_IMPLEMENTED (#733)
- FIX: CoreRT compiled binaries not working (#735)
- Support for "x-forwarded-for".
- A few changes to logging.
- Fix compilation error (#728)
- Fix regression in Owin module (#717)
- Fixes type name collision issue (#715)
- Fix multiple problems with last-modified handling (#713).
- Introduces combinator
Redirection.see_other(#712).
- This release brings a few performance fixes which allows Suave to start competing in the TechEmpower Framework Benchmarks.
- Fix #706 - Websockets don't work in Firefox.
- This release also includes breaking changes in the Suave.Logging namespace as we diverge from Logary facade.
- Fix #706 - Websockets don't work in firefox
- Performance optimizations (mostly by removing harmful or unneeded async code)
- Fix #702 - Can't parse negatives number in forms
- Improve pathScan logic
- Removed external source code references from build process to address licensing concerns.
- Cleanup of non-.Net Core cruft (reducing maintenance burden)
- Move build to FAKE 5
- Upgrade Logary Facade to v3 (Gauge Int64 -> Float)
- More liberal nuget constrains