We noticed a difference in undo-handling on Ventura (compared to previous OS versions). We noted that redo only is enabled if the previous undo-group did change something in the Managed Object Context.
NSPersistentContainer* container = … // create it …
context.viewContext.undoManager = [[NSUndoManager alloc] init];
NSUndoManager* undoManager = container.viewContext.undoManager;
[undoManager beginUndoGrouping];
// do not change CoreData objects here
[undoManager endUndoGrouping];
XCTAssertTrue(undoManager.canUndo, @"undo enabled after begin/end UndoGrouping");
[undoManager undo];
XCTAssertTrue(undoManager.canRedo, @"redo enabled after undo");
the first assert succeeds, the second fails on Ventura but succeeds on previous OS-releases.
If I manipulate some CoreData-objects in the undo-group both are succeeding.
I could not find release notes for CoreData or Foundation for Ventura, so I am unsure if this behavior is intended or not.