Releases: vapor/vapor
4.93.2 - Removed streamFile deprecation + deactivated advancedETagComparison by default
What's Changed
Removed streamFile deprecation + deactivated advancedETagComparison by default by @linus-hologram in #3177
As discussed on Discord, this PR removes the deprecation and deactivates the lately introduced advanced ETag Comparison for the time being while the revised implementation is worked on.
New Contributor
- @linus-hologram made their first contribution in #3177 🎉
This patch was released by @0xTim
Full Changelog: 4.93.1...4.93.2
4.93.1 - Remove HeadResponder
What's Changed
Remove HeadResponder by @baarde in #3147
The HEAD method is identical to GET except that the server must not send content in the response (RFC 9110, section 9.3.2).
The previous default behaviour of returning 200 OK to every HEAD request to a constant route is not standard-compliant.
The new behaviour is to always forward the request to the GET route, unless the developer explicitely configured a custom HEAD route.
New Contributor
This patch was released by @0xTim
Full Changelog: 4.93.0...4.93.1
4.93.0 - Advanced ETag Comparison now supported
What's Changed
Advanced ETag Comparison now supported by @linus-hologram in #3015
Vapor now supports strong (byte-by-byte) ETag validation and caches ETags for rapid responses. This provides a stronger alternative to the current weak comparison, which only guarantees semantic file equivalence. This new strong comparison is enabled by default and can be deactivated during
FileMiddleware
initialization if needed. This PR closes #2948.
streamFile
method was deprecated and replaced by an alternative returning anEventLoopFuture
- vapor’s unit tests were updated to reflect the changes
- documentation was updated to reflect the changes
New Contributor
- @linus-hologram made their first contribution in #3015 🎉
Reviewers
Thanks to the reviewers for their help:
This patch was released by @gwynne
Full Changelog: 4.92.9...4.93.0
4.92.9 - Enabled Request Decompression By Default
What's Changed
Enabled Request Decompression By Default by @dimitribouniol in #3175
This enables request decompression by default and sets the decompression limit to 25×.
New Contributor
- @dimitribouniol made their first contribution in #3175 🎉
Reviewers
Thanks to the reviewers for their help:
This patch was released by @gwynne
Full Changelog: 4.92.8...4.92.9
4.92.8 - HTTP2 Response Compression/Request Decompression
What's Changed
HTTP2 Response Compression/Request Decompression by @dimitribouniol in #3126
Fixed an issue where HTTP2 didn’t support response compression and request decompression.
It seems like it may have been omitted when adding explicit support for HTTP2. Not sure what to do about testing as I couldn’t find any tests for the HTTP1.1 pathway, but I did verify it works in my pet project 😅
Fixes #3125
New Contributor
- @dimitribouniol made their first contribution in #3126 🎉
This patch was released by @0xTim
Full Changelog: 4.92.7...4.92.8
4.92.7 - Don't set ignore status for SIGTERM and SIGINT on Linux
What's Changed
Don't set ignore status for SIGTERM and SIGINT on Linux by @gwynne in #3174
Changes the behavior of
ServeCommand
’s signal handling setup to more closely match that of swift-service-lifecycle. Hopefully finally solves #2502 🤞
This patch was released by @gwynne
Full Changelog: 4.92.6...4.92.7
4.92.6 - Fix typos across the codebase
What's Changed
Fix typos across the codebase by @mrs1669 in #3162
Fixes a number of typos in the codebase.
⚠️ the logger for loading environment files now has the correctly spelt label -dot-env-logger
if you need to search for that
New Contributor
Reviewers
Thanks to the reviewers for their help:
This patch was released by @0xTim
Full Changelog: 4.92.5...4.92.6
4.92.5 - Fix some Sendable warnings on 5.10
What's Changed
Fix some Sendable warnings on 5.10 by @sidepelican in #3158
Fix a number of warnings in Swift 5.10 like below.
Fix simple issues that can be addressed by simply adding
Sendable
.
New Contributor
- @sidepelican made their first contribution in #3158 🎉
This patch was released by @0xTim
Full Changelog: 4.92.4...4.92.5
4.92.4 - Allow `HTTPServer`'s configuration to be dynamically updatable
What's Changed
Allow HTTPServer
's configuration to be dynamically updatable by @dimitribouniol in #3132
This allows many aspects of the HTTP server configuration to be changed after the server starts without needing to stop and restart it, or drop existing connections in the process.
Some things that can now be re-configured include request/response configuration options, HTTP version support, HTTP pipelining, TLS configuration (ie. enabling/disabling, rotating certificates, etc…), server name, metrics reporting, the logger, and the shutdown timer.
Fixes #3130.
New Contributor
- @dimitribouniol made their first contribution in #3132 🎉
This patch was released by @0xTim
Full Changelog: 4.92.3...4.92.4
4.92.3 - Fix issue when client disconnects midway through a stream
What's Changed
Fix issue when client disconnects midway through a stream by @0xTim in #3102
Fixes an issue when a client disconnects mid way through streaming a request in a Swift concurrency context. In certain cases this would trigger a de-init off the event loop, leading to a crash.
This fixes the issue by using a lock instead of a loop bound wrapper
Reviewers
Thanks to the reviewers for their help:
This patch was released by @0xTim
Full Changelog: 4.92.2...4.92.3