Diagnose-api-breaking-changes and package scoped symbols

Is there a reason swift package diagnose-api-breaking-changes will complain about symbols with scope package. These symbols are internal to a package so any breaking changes will be internal to that package.

Otherwise is there a way to disable the reporting of breaking changes to symbols with scope package, they are hiding breaking changes from public symbols?

diagnose-api-breaking-changes is really diagnose-abi-breaking-changes. That is, it diagnoses ABI breaks, not source breaks. It's also possible it hasn't been updated to properly handled the package ACL, I don't know.

I think this is a reasonable request to avoid diagnosing package-internal API changes. To implement this, we need to (1) teach the compiler-side tool swift-api-digester to support configuration for excluding package-internal symbols, and (2) teach SwiftPM to configure swift-api-digester accordingly.

1 Like

I just noticed there is an issue reporting this already `diagnose-api-breaking-changes` reports `package`-level access modifiers · Issue #81003 · swiftlang/swift · GitHub