All Versions
59
Latest Version
Avg Release Cycle
6 days
Latest Release
1413 days ago

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 to lax.

    โš  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 requires Secure attribute(HTTPS only).

    #2495

  • 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 with connection header.

      // Change to 'connection: close'.if req.headers.connection == .keepAlive { req.headers.connection = .close}

  • 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 detect nil correctly (#2463, fixes #2460).

    This could result in req.query.get throwing an error instead of returning nil 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 to req.auth.require to allow ignoring the result without a warning (#2446, fixes #2428).

    try req.auth.require(User.self)