Changelog History
Page 2
-
v4.29.3 Changes
September 24, 2020๐ ###### This patch was authored by @t-ae and released by @0xTim.
0๏ธโฃ Set a cookie's default
SameSite
attribute tolax
.โ This prevents warnings in browsers and stops functionality working when following redirects, cross site link or when browsers assume the attribute to be
None
, which requiresSecure
attribute(HTTPS only). -
v4.29.2 Changes
September 21, 2020๐ ###### This patch was authored by @tanner0101 and released by @MrLotU.
๐ Fixes warnings about trailing closure matching behavior changes in Swift 5.3 (#2485, #2484).
-
v4.29.1 Changes
August 27, 2020๐ ###### This patch was authored by @dimitribouniol and released by @Joannis.
๐ Fixes a crash that could occur if the configuration configures a hostname address with a nil host or port, and the server is started according to the default configuration (#2479, fixes #2478).
๐ง The doc comment for
HTTPServer.Configuration.address
also clarifies the usage of having a nil host or port when using a.hostname
-based address. -
v4.29.0 Changes
August 20, 2020๐ ###### This patch was authored by @dimitribouniol and released by @MrLotU.
โ Adds support for Unix Domain Sockets (#2471, #2226, #2371).
A server can be started using the
serve
command:vapor run serve --unix-socket /tmp/vapor.socket
๐ง Alternatively, the app can be configured in code to connect to a socket:
app.http.server.configuration.unixDomainSocketPath = "/tmp/vapor.socket"
In either scenario, if a socket path is specified, it takes precedence over binding the server to a hostname/port. Note that TLS may be combined with this options if you wish the server to only listen to encrypted connections made to the socket file.
The socket file must not exist prior to starting the server. If one is left behind during an incomplete shutdown, however, and the app has permission to delete it, it will be overidden.
To assist with making connections to socket paths,
URI.Scheme
has a.httpUnixDomainSocket
property.try app.client.get(.init(scheme: .httpUnixDomainSocket, host: "/tmp/vapor.socket", path: "/foo"))
-
v4.28.0 Changes
August 14, 2020๐ ###### This patch was authored and released by @tanner0101.
โ Adds support for gracefully shutting down in-flight requests and idle keep-alive connections (#2472, fixes #2451).
- In-flight requests will no longer respect
connection: keep-alive
after server shutdown is initiated. - Idle keep-alive connections will now be closed once server shutdown is initiated.
โ Adds new
HTTPHeaders
helper for working withconnection
header.// Change to 'connection: close'.if req.headers.connection == .keepAlive { req.headers.connection = .close}
- In-flight requests will no longer respect
-
v4.27.3 Changes
August 12, 2020๐ ###### This patch was authored and released by @tanner0101.
โก๏ธ Updates to swift-nio 2.18, async-http-client 1.2, and swift-nio-http2 1.13 (#2470, #2467, fixes #2466).
- ๐ Fixes any usages of deprecated methods.
- ๐ Fixes a reentrancy bug causing "body stream deinit before closing" assertion that popped up in tests with latest dependencies.
- ๐ Makes trace logs from the HTTP decoder more concise.
-
v4.27.2 Changes
August 07, 2020๐ ###### This patch was authored and released by @tanner0101.
๐ Fixes an issue causing
URLEncodedFormDecoder
's single value decoder to not detectnil
correctly (#2463, fixes #2460).This could result in
req.query.get
throwing an error instead of returningnil
if the key was missing.// This code will now return `nil` instead of throwing if the key is missing.// It will still throw an error if the value cannot be converted to an Int. let page = try req.query.get(Int?.self, at: "page")
-
v4.27.1 Changes
July 25, 2020๐ ###### This patch was authored and released by @tanner0101.
๐ Fixes Xcode 12 beta 3 warnings and disables some broken CI workflows (#2452).
-
v4.27.0 Changes
July 22, 2020๐ ###### This patch was authored by @3a4oT and released by @tanner0101.
โ Adds
.running(hostname: String, port: Int)
method to allow configure testable application hostname (#2448).try app.testable(method: .running(hostname: "127.0.0.1", port: 8080))
-
v4.26.2 Changes
July 21, 2020๐ ###### This patch was authored by @SpencerCurtis and released by @tanner0101.
โ Adds
@discardableResult
attribute toreq.auth.require
to allow ignoring the result without a warning (#2446, fixes #2428).try req.auth.require(User.self)