tuist / XcodeProj

📝 Read, update and write your Xcode projects
https://xcodeproj.tuist.io
MIT License
2.04k stars 313 forks source link

API breaking changes in minor release 8.23.0 #843

Closed rkoliver311 closed 2 months ago

rkoliver311 commented 3 months ago

Context 🕵️‍♀️

I use XcodeProj in a Swift command line tool to export information about project dependencies. For example, outputting the package dependencies of a target using XcodeProj's PBXTarget.packageProductDependencies property.

What 🌱

Release 8.23.0 contains an API-breaking change. The return type of the packageProductDependencies was made optional:

public var packageProductDependencies: [XCSwiftPackageProductDependency]?

Which means a function like this:

func foo(for target: PBXTarget) -> [Foo] {
    return target.packageProductDependencies.map { ... }
}

Must now also be made optional: func foo(for target: PBXTarget) -> [Foo]? or the function must be updated to guard against nil:

func foo(for target: PBXTarget) -> [Foo] {
    guard let packageProductDependencies = target.packageProductDependencies else {
        return []
    }
    return target.packageProductDependencies.map { ... }
}

Proposal 🎉

To adhere to semver, this should have been a major release. Rollback or re-release as 9.0.0?

github-actions[bot] commented 2 months ago

Hola 👋,

We want to inform you that the issue has been marked as stale. This means that there hasn't been any activity or updates on it for quite some time, and it's possible that it may no longer be relevant or actionable. If you still believe that this issue is valid and requires attention, please provide an update or any additional information that can help us address it. Otherwise, we may consider closing it in the near future. Thank you for your understanding.

github-actions[bot] commented 2 months ago

Hola 👋,

We want to inform you that we have decided to close this stale issue as there hasn't been any activity or response regarding it after marking it as stale.

We understand that circumstances may have changed or priorities may have shifted, and that's completely understandable. If you still believe that this issue needs to be addressed, please feel free to reopen it and provide any necessary updates or additional information.

We appreciate your understanding and look forward to your continued contributions to the project.

Thank you.