chore: merge 8.5.0 into next - #8554
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
Ports the 8.5 line into Capacitor 9: - feat(ios): UIScene Support (#8536) - feat(cli): UIScene adoption migrator (#8544) - fix(cli): support TypeScript 7 when loading capacitor.config.ts (#8534) - fix(cli): use POSIX paths in CapApp-SPM Package.swift (#8549) Conflict resolutions: - Version bookkeeping (lerna.json, package.json x4, CHANGELOGs): kept 9.0.0-alpha.6, 8.5.0 changelog entries interleaved below alpha.6. - cli migrate.ts: kept the v9 updateAppDelegate task and added the 8.5 migrateToUIScene step after it (it self-skips already-migrated apps). - CapacitorBridge.swift: kept the v9 setupListeners structure and adopted the 8.5 scene-filtered UIScene resume/pause observers. - project.pbxproj: kept the v9 removals of CAPFile/CAPBridge and added CAPSceneDelegateProxy.swift to the Sources phase. - CAPSceneDelegateProxy.swift: dropped the CDVPluginHandleOpenURL post; Cordova is decoupled from the Capacitor framework on the v9 line (matches CAPApplicationDelegateProxy on next).
|
@andredestro the problem with this being a PR is that it will squash all previous commits. Ideally we'd do a straight merge to |
I just turned on merge commits for a hot second here. |
Yes, exactly. The merge had conflicts in a few areas where 8.5 overlapped with Capacitor 9 refactors, and one of them was semantic rather than textual, so I wanted a second pair of eyes before this lands on next. |
What
Ports the 8.5 line into the Capacitor 9 branch so the two lines don't diverge. This brings
nextup to date withmainas of the 8.5.0 release:Conflict resolutions
Most conflicts were version bookkeeping. The interesting ones are where 8.5's UIScene work overlapped with Capacitor 9 refactors:
lerna.json,package.jsonx4, CHANGELOGs): kept9.0.0-alpha.6, with the 8.5.0 changelog entries interleaved below the alpha.6 sections.cli/src/tasks/migrate.ts: kept the v9updateAppDelegatetask and added the 8.5migrateToUIScenestep after it. The UIScene migrator self-detects already-migrated or partial projects and skips them, so running both is safe for apps coming from any 8.x version.CapacitorBridge.swift: kept the v9setupListenersstructure (Cordova decoupled,cordovaIsPresentguard) and adopted the 8.5 scene-filteredUISceneresume/pause observers in place of theUIApplicationones.project.pbxproj: kept the v9 removals ofCAPFile.swiftandCAPBridge.swift(refactor(ios)!: remove deprecated Swift and Obj-C APIs for Capacitor 9 #8551) and addedCAPSceneDelegateProxy.swiftto the Sources build phase.CAPSceneDelegateProxy.swift(semantic conflict, not textual): dropped theCDVPluginHandleOpenURLpost. Cordova is decoupled from the Capacitor framework on the v9 line, andCAPApplicationDelegateProxyonnextalready dropped the same post, so the scene proxy now matches that behavior. Everything else from 8.5 is carried over unchanged, including the.capacitorOpenURLback-compat payload and the new scene-aware notifications.Verification
npm run buildpasses, all 84 tests pass (including the newmigrate-uisceneandxcodespecs)Capacitorscheme builds and all 81 unit tests pass (iPhone 17 simulator, iOS 26.5)Cordovascheme builds