SSWG-0024: Service Context

The review of SSWG-0024: Service Context begins now and runs through until September 19, 2023.

The package is being proposed under the Incubating maturity level.

Reviews are an important part of the Swift Server Work Group incubation process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to the review manager (via email or direct message in the Swift forums).

The review of the related Swift Distributed Tracing can be found here.

What goes into a review of a proposal?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, become listed on the Swift Server Ecosystem index page.

When reviewing a proposal, here are some questions to consider:

  • What is your evaluation of the proposal and its APIs/implementation?
  • Is the problem being addressed relevant for the wider Swift on Server ecosystem?
  • Does this proposal fit well with the feel and direction of the Swift Server ecosystem?
  • If you have used other libraries in Swift or other languages, how do you feel that this proposal compares to those?
  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Adam Fowler
Review Manager


+1 from me. It is a very essential and non-exciting (in a good way :smiley: ) library.


I guess there is a typo in this sample: Shouldn't firstTest be an Int? ?

/// Define convenience accessors, in order to keep the key type private.
extension ServiceContext {
    public var firstTest: String? {
        set {
            self[FirstTestKey.self] = newValue
        get {

var context = ServiceContext.topLevel
context.firstTest = 42
1 Like

Yeah, that’s right - thanks for spotting the typo, I’ll fix it in the proposal

I concur with Franz, this library is a must-have for the ecosystem.

I'm happy to announce the SSWG has unanimously voted to accept this proposal into Incubating maturity level! :tada:

The project fulfills all requirements of the Incubating level, including multiple maintainers and an active stream of development, good CI and adoption of concurrency features.

We'll add the project to the list of SSWG endorsed projects shortly.