SwiftKickMobile / SwiftMessages

A very flexible message bar for UIKit and SwiftUI.
MIT License
7.24k stars 741 forks source link

Breaking change released in patch release #540

Closed Mordil closed 5 months ago

Mordil commented 5 months ago

The latest release 9.0.10 introduces a breaking change

With Xcode 15, and Swift 5.9, the @MainActor annotations are causing compiler errors as we're not also annotating our code to work within the Async/Await ecosystem.

See this release

https://github.com/SwiftKickMobile/SwiftMessages/commit/633b6e593b5730daf9e682cd21f50764bd1e257c

Mordil commented 5 months ago

There are technically a few breaking changes within this release.

Please release a 9.0.11 reverting these changes and re-release as 10.0.0

wtmoose commented 5 months ago

Yep, that was a mistake. It didn't occur to me that this was a breaking change. However, I don't think I'm going to revert – I'm not going to avoid new technologies because a small subset of projects aren't adopting them.

wtmoose commented 5 months ago

Oh, I misread. You want me to change the version number. Yeah, I'll probably do that.

jarrodlombardo-EventBase commented 5 months ago

Please rename the tag ASAP since it's breaking people's apps ~now.

jarrodlombardo-EventBase commented 5 months ago

Thanks :D

wtmoose commented 5 months ago

There are technically a few breaking changes within this release.

@Mordil what else did you note as a breaking change? I'm contemplating re-releasing the as 9.0.10, but without @MainActor. So if you have other concerns, please share.

Mordil commented 5 months ago

There are technically a few breaking changes within this release.

@Mordil what else did you note as a breaking change? I'm contemplating re-releasing the as 9.0.10, but without @MainActor. So if you have other concerns, please share.

It's arguable this doesn't count, but I believe changing the minimum supported platform to iOS 13 is itself a breaking change, because people will stop receiving updates if they have iOS 12 or earlier as their minimum - which breaks expectations of patch releases.

jarrodlombardo-EventBase commented 5 months ago

Yes, any increase to minimum iOS version is always a breaking change. My team was hitting an issue with @MainActor and also nonisolated breaking the builds in our apps.

wtmoose commented 5 months ago

I'm keeping @MainActor, so I'll be moving to 10.0.0. However, while I agree that bumping the minimum target is technically a breaking change, practically, I would not bump the major version for that given how few people would be affected, it would not be worth the tradeoff.

Mordil commented 5 months ago

Then please document in your README that you’re not SemVer compliant so others may know