UPDATE: 9/23/19 10.15 Catalina Beta 9 is out! Find out what’s new here – mrmacintosh.com/whats-new-in-macos-catalina-10-15-beta-9-19a573a/
Today Apple released macOS Catalina 10.15 (19A558d) Beta 8 to Developers.
This article is meant to save you time going through the notes to find what is new and what is still leftover from the last beta. I went through both Beta 7 and the new Catalina 10.15 Beta 8 (19A558d) release notes to find all the changes. Like usual, I also have included the entire patch notes list as an archive. When Apple releases the next Beta patch notes, the previous patch notes are overwritten and taken down.
Summary of Beta 8 Patch Notes
- 3 New Features
- 3 New Resolved issues
- 2 New Known Issues
- 4 New Deprecations
A Full List of changes is listed below, along with the full patch notes list.
Report your bugs NOW!
This may be the final beta left to test. The public Release of Catalina is only about one month away. You will want to get any bugs that you find into Apple now. If you get them in now, they could be fixed in the current beta cycle instead of waiting until after September’s release date. If you wait it could be months before the fix is put into a dot release combo update.
Link to Apple’s Public Developer Documentation
developer.apple.com/documentation/macos_release_notes
Previous 10.15 Beta Releases
- 8th Catalina 10.15 Beta 8 (19A558d) – 09/10/19 – Current Release
- 7th Catalina 10.15 Beta 7 (19A546d) – 08/28/19 – Release Notes
- 6th Catalina 10.15 Beta 6 (19A536g) – 08/19/19 – Release Notes
- 5th Catalina 10.15 Beta 5 (19A526h) – 07/31/19 – Release Notes
- 4th Catalina 10.15 Beta 4 (19A512f) – 07/17/19 – Release Notes
- 3rd Catalina 10.15 Beta 3 (19A501i) – 07/02/19 – Release Notes
- 2nd Catalina 10.15 Beta 2 (19A487l) – 06/17/19 – Release Notes
- 1st Catalina 10.15 Beta 1 (19A471t) – 06/03/19 – Release Notes
How to Download macOS 10.15 Catalina Beta Releases
- Public Beta – Apple Beta Software Program
- Sign up as an Apple Developer (Yearly $100)
- Contact your Apple SE to join AppleSeed for IT
AppleSeed Patch Notes & Some Fixes not listed?
Keep in mind, I can only publish public data. If you are an AppleSeed for IT member you can access additional 10.15 Catalina Beta Patch Notes in the AppleSeed Portal. AppleSeed information is protected by Apple’s NDA.
Some fixes are not going to be listed. Many issues are from #MacAdmins who have filed FeedBack Requests and Enterprise Support tickets. Most of these issues are resolved but are never publicly noted.
1. New Features in Beta 8
SwiftUI – NSManagedObject now conforms to ObservableObject. The new @FetchRequest property wrapper can drive views from the results of a fetch request, and managedObjectContext is now included in the environment. (50280673)
SwiftUI – BindableObject is replaced by the ObservableObject protocol from the Combine framework. (50800624)You can manually conform to ObservableObject by defining an objectWillChange publisher that emits before the object changes. However, by default, ObservableObject automatically synthesizes objectWillChange and emits before any @Published properties change.// RoomStore.swift import Foundation class RoomStore: ObservableObject { @Published var rooms: [Room] = [] } struct Room: Identifiable { var id: UUID var name: String var capacity: Int var hasVideo: Bool } // ContentView.swift import SwiftUI struct ContentView: View { @ObservedObject var store: RoomStore var body: some View { NavigationView { List(store.rooms) { room in RoomCell(room: room) } .navigationBarTitle(“Rooms”) } } } @ObjectBinding is replaced by @ObservedObject.
SwiftUI – The RangeReplaceableCollection protocol is extended to include a remove(atOffsets:) method and the MutableCollection protocol is extended to include a move(fromOffsets:toOffset:) method. Each new method takes IndexSet instances that you use with the onMove(perform:) and onDelete(perform:) modifiers on ForEach views. (51991601)
2. New Resolved Issues in Beta 8
Apple TV – Support for signing in with an account from a different country is now available. (51240948)
iWork – Attempting to open iWork documents in Finder will no longer unexpectedly create a .cpgz file if the corresponding iWork app isn’t installed. (40693892)
Mac Catalyst – Fixed an issue where event handling in extension contexts sometimes produced unexpected results, including failure to deliver trackpad pinch and zoom gestures. (50145462)
3. New Known Issues in Beta 8
Mac Catalyst – Catalyst apps using UIDocumentInteractionController might quit unexpectedly. You can work around this issue by excluding UIDocumentInteractionController functionality with target macros. (48878552)
SwiftUI – Apps containing SwiftUI inside a Swift package might not run on versions of iOS earlier than iOS 13. (53706729)Workaround: When back-deploying to an OS which doesn’t contain the SwiftUI framework, add the -weak_framework SwiftUI flag to the Other Linker Flags setting in the Build Settings tab. See Frameworks and Weak Linking for more information on weak linking a framework. This workaround doesn’t apply when using dynamically linked Swift packages which import SwiftUI.
4. New Deprecations in Beta 8
EndpointSecurity – (Left over from last time as it was incorrectly noted that this was removed) The kauth API has been deprecated. (50419013)
SwiftUI – Complex overloads for the background(:alignment:) and border(:width:) modifiers are deprecated. Use shapes in a background(:alignment:) or overlay(:alignment:) to draw these instead. (53067530)
SwiftUI – The identified(by:) method on the Collection protocol is deprecated in favor of dedicated init(:id:selection:rowContent:) and init(:id:content:) initializers. (52976883, 52029393)The retroactive conformance of Int to the Identifiable protocol is removed. Change any code that relies on this conformance to pass .self to the id parameter of the relevant initializer. Constant ranges of Int continue to be accepted:List(0..<5) { Text(“Rooms”) } However, you shouldn’t pass a range that changes at runtime. If you use a variable that changes at runtime to define the range, the list displays views according to the initial range and ignores any subsequent updates to the range.
SwiftUI – Several extensions to the Binding structure are removed. (51624798)If you have code such as the following:struct LandmarkList: View { var landmark: [Landmark] @Binding var favorites: Set var body: some View { List(landmarks) { landmark in Toggle(landmark.name, isOn: self.$favorites.contains(landmarkID)) } } } Define the following subscript on the Set structure:extension Set { subscript(member: Element) -> Bool { get { contains(member) } set { if newValue { insert(member) } else { remove(member) } } } } Then, change self.$favorites.contains(landmarkID) to self.$favorites[landmarkID].