[Accepted] SE-0386: `package` access modifier

Hello, Swift community.

The second review of SE-0386 ran from March 30th through April 10th. The second review was narrowly focused on the revisions made after the first review:

  • a simplification of the schema for package names,
  • the elimination of the @usableFromPackageInline attribute, and
  • the addition of a way to exclude a target from the scope of package in an SPM package manifest, initially spelled group: .excluded.

After the initial end of the review, the author revised the proposal to change the spelling of package exclusion to packageAccess: false. The review was then extended until May 1st to consider the new spelling.

Feedback was positive on the changes specifically under review, although some community members continued to express concern about the proposal overall, especially around the lack of support for defining multiple package scopes within an SPM package. The Language Workgroup and Core Team acknowledge this concern but believe the proposal represents significant progress as it stands; we are comfortable leaving the question of allowing divisions in SPM packages as a future direction. Accordingly, SE-0386 has been accepted.

I'd like to thank both the community and the proposal author, Ellie Shen, for their patience with this long review.

John McCall
Review Manager