Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository:swift-server/async-http-client
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base:1.29.0
Choose a base ref
...
head repository:swift-server/async-http-client
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare:main
Choose a head ref
  • 10 commits
  • 31 files changed
  • 7 contributors

Commits on Oct 9, 2025

  1. Configuration menu
    Copy the full SHA
    c2a3a2cView commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2025

  1. Configuration menu
    Copy the full SHA
    353bbc8View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2025

  1. Avoid delays when inserting HTTP/2 handlers. (#864)

    Motivation Right now, we insert HTTP/2 handlers in a callback on a future that is done very late. The result of this is that an entire ALPN negotiaton _can_ complete before this callback is attached. That can in rare cases cause the HTTP/2 handler to miss the server preamble, because it gets added too late. Modifications This patch refactors the existing code to close that window. It does so by passing a promise into the connection path and completing that promise _on_ the event loop where we add the ALPN handlers, which should ensure this will execute immediately when the ALPN negotiation completes. Immportantly, we attach our promise callbacks to that promise _before_ we hand it off, making sure the timing windows go away. Results Timing window is closed
    @Lukasa
    Lukasa authored Oct 14, 2025
    Configuration menu
    Copy the full SHA
    0ce87cbView commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2025

  1. Resolve SendableMetatype issues (#865)

    This resolves warnings around SendableMetatype in the AHC codebase, and gets our 6.2 builds working again.
    @Lukasa
    Lukasa authored Oct 15, 2025
    Configuration menu
    Copy the full SHA
    efb14feView commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2025

  1. Add explicit read permissions to workflows (#867)

    Motivation: * More secure GitHub Actions workflows Modifications: Add explicit 'contents: read' permissions to workflows that did not have explicit permissions defined. This follows GitHub Actions security best practices by limiting the default GITHUB_TOKEN permissions. Result: An extra layer of security.
    @rnro
    rnro authored Oct 30, 2025
    Configuration menu
    Copy the full SHA
    b2ae845View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2025

  1. Drop Swift 5.10 (#870)

    @Lukasa
    Lukasa authored Nov 7, 2025
    Configuration menu
    Copy the full SHA
    b2faff9View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2025

  1. Don't hold a lock over a continuation in Transaction (#871)

    Motivation: The various 'withMumbleContinuation' APIs are supposed to be invoked synchronously with the caller. This assumption allows a lock to be acquired before the call and released from the body of the 'withMumbleContinuation' after e.g. storing the continuation. However this isn't the case and the job may be re-enqueued on the executor meaning that this is pattern is vulnerable to deadlocks. Modifications: - Drop and reacquire the lock in Transaction Result: Lower chance of deadlock
    @glbrntt
    glbrntt authored Nov 26, 2025
    Configuration menu
    Copy the full SHA
    ce04df0View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2025

  1. Fix Connection Creation Crash (#873)

    ### Motivation When creating a connection, we wrongfully assumed that `failedToCreateNewConnection` will always be called before `http*ConnectionClosed` in the `HTTPConnectionPoolStateMachine`. However this is far from correct. In NIO Futures are fulfilled before `ChannelHandler` callbacks. Ordering in futures should not be assumed in such a complex project. ### Change We change the `http*ConnectionClosed` methods to be noops, if the connection is in the starting state. We instead wait for the `failedToCreateNewConnection` to create backoff timers and friends. rdar://164674912 --------- Co-authored-by: George Barnett <[email protected]>
    @fabianfett@glbrntt
    fabianfett and glbrntt authored Dec 1, 2025
    Configuration menu
    Copy the full SHA
    3c45dbdView commit details
    Browse the repository at this point in the history
  2. Don't hold a lock over a continuation in test helpers (#872)

    Motivation: The various 'withMumbleContinuation' APIs are supposed to be invoked synchronously with the caller. This assumption allows a lock to be acquired before the call and released from the body of the 'withMumbleContinuation' after e.g. storing the continuation. However this isn't the case and the job may be re-enqueued on the executor meaning that this is pattern is vulnerable to deadlocks. Modifications: - Rework the test helpers to avoid holding a lock when a continuation is created. - Switch to using NIOLockedValue box Result: Lower chance of deadlock
    @glbrntt
    glbrntt authored Dec 1, 2025
    Configuration menu
    Copy the full SHA
    c464bf9View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2025

  1. Remove CollectEverythingLogHandler implementation in favour of InMemo…

    …ryLogHandler from swift-log (#874) Swift log now has an InMemoryLogHandler. Lets depend on that instead of having our own `CollectEverythingLogHandler`. I've added an extension on top, to make it easier to create the logger too Result: less code
    @hamzahrmalik
    hamzahrmalik authored Dec 4, 2025
    Configuration menu
    Copy the full SHA
    5dd84c7View commit details
    Browse the repository at this point in the history
Loading