RE: https://mastodon.social/@mjtsai/116014736094096168

Oof, RIP Combine I guess?

"Avoid using the Combine framework and instead prefer to use Swift’s async and await versions of APIs instead"

@stroughtonsmith Fortunately my only reference to it is an import I forgot to remove.
@caseyliss Coppice is full of Combine 😑 I don't even want to think about how much work it will be to fix it
@stroughtonsmith @caseyliss I mean AI agents can at least try 1shotting a migration, then just 🤞🏼
@stroughtonsmith I sincerely doubt it’ll get _deprecated_ anytime soon, but I’m still sad. It’s really great.
@stroughtonsmith @mjtsai Well, the writing was on the wall for quite a long time. At my day job, we moved away from Combine a while ago and are much better for it. Instead we use much simpler solutions: async await, delegates and closures. Ultimately they are much more testable, scalable and approachable. One of the biggest mistakes we have ever made was trying to shoehorn Combine everywhere. But when you have a hammer, everything becomes a nail. So they say.

@stroughtonsmith I think this has been obvious for a few years now. Combine really only got about 18 months of updates and has been in maintenance mode ever since.

I think this is mostly a good thing. Swift async is almost always easier to read, write and debug.

But core features like Observations being tied to OS 26 or later and the swift-async-algorithms library moving incredibly slowly do make it hard to fully replace Combine.

@cocoawithlove @stroughtonsmith you don't think the guideline is in relation to SwiftUI rather than an all encompassing? I can't see how async/await can be a substitute for Combine.

"Follow SwiftUI patterns with clear separation of concerns. Avoid using the Combine framework and instead prefer to use Swift's async and await versions of APIs instead."

@qnoid @stroughtonsmith Reactive programming (Combine) is for handling async observing, events and processing over streams of async values over time. Swift Observations, basic closures and AsyncSequence are pretty good matches for each of these. The expression is somewhat different — which is where swift-async-algorithms would bridge the gap if it were more fleshed out.
@stroughtonsmith hasn’t this always been a part of Xcode 26’s AI prompt? https://peterfriese.dev/blog/2025/reveng-xcode-coding-intelligence/
Reverse-Engineering Xcode's Coding Intelligence prompt

Ever wondered how Xcode's Coding Intelligence prompt works? In this blog post, we'll take a deep dive into the prompt's inner workings and explore how it helps developers write code more efficiently.

Peter Friese