Skip to content

Conversation

Overcot
Copy link
Contributor

@Overcot Overcot commented Aug 29, 2025

  • Fix one warning related to that

Motivation and Context

If I enable strict concurrency in project that depends on swift-sdk it shows that there's a warning with :

Screenshot 2025-08-29 at 08 07 13

How Has This Been Tested?

By building a framework, it shouldn't impact any runtime behavior

Breaking Changes

No

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

* Fix one warning related to that
@mattt
Copy link
Contributor

mattt commented Sep 7, 2025

Thanks for opening this PR, @Overcot. We were so close to having everything right for strict concurrency mode 🥲.

I wanted to better understand the implications of enabling this would be for downstream consumers. Reading this article by @mattmassicotte, I came to the conclusion that it's the right thing to do here.

However, I was surprised to see CI failing on Swift 6.0.3 with this error (both Linux and macOS):

:0: error: upcoming feature 'StrictConcurrency' is already enabled as of Swift version 6

No such problems for Swift 6.1.0, though: https://github.com/modelcontextprotocol/swift-sdk/actions/runs/17327395019/job/49779583926?pr=157

It looks like we'll need to either provide a version-specific package manifest or conditionalize this setting.

@mattt mattt force-pushed the aivashko/adopt-strictconcurrency branch from 2ae2267 to fa43821 Compare September 7, 2025 11:05
@mattt mattt force-pushed the aivashko/adopt-strictconcurrency branch from fa43821 to 68da99c Compare September 7, 2025 11:14
@mattt
Copy link
Contributor

mattt commented Sep 7, 2025

Nice, that fixed it. Merging now.

Thanks again for your help, @Overcot.

@mattt mattt merged commit 78d1877 into modelcontextprotocol:main Sep 7, 2025
5 checks passed
@mattmassicotte
Copy link

Glad you all figured it out! The compiler recently downgraded the errors produced for unnecessary flags recently, but I cannot quite recall which version did that. Maybe 6.1

The issue you ran into here looks like it would affect 6.2+ only - it's caused by the introduction of SendableMetatype. I actually think you can use that instead of a full Sendable conformance if that turns out to be a problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants