0.3.1
Fixes
rowViewProviderwas never consulted byNSOutlineView, on either data source and in
both languages. AppKit caches a delegate's capabilities when the delegate is set, which the
data source does in its initializer — before a provider can exist — and the delegate
interceptor only claimedoutlineView:rowViewForItem:while a provider was installed.
Custom row views now appear. Section rows never reach the item-typed provider: they go to
your own delegate if it implementsoutlineView:rowViewForItem:, otherwise AppKit builds
its regularNSTableRowView.- Reading
differenceonNSDiffableDataSourceTransactionor
NSDiffableDataSourceSectionTransactionfrom Swift trapped with
"Failed to cast difference". The typed difference is now produced by bridging through
NSOrderedCollectionDifference. - Applying a top-level snapshot that moved an item to another section — or under another
parent — without changing the order of the visible rows showed the item twice: once in its
new place and once, stale, in its old one. Both the section-snapshot rebaser and the row
update engine worked from a flat diff that cannot see such a move; both now follow the
item's container. A parent moved together with its expanded children across sections no
longer raises "Duplicate item identifiers", and the moved parent stays expanded, so the
destination shows exactly what the top-level snapshot lists there.
No API changed and nothing is deprecated. Each fix ships with a regression test that failed
first, and the diffable data sources — the Objective-C facades, the Swift overlays, the
implementation, the rebaser and the tree snapshotter — are now covered member by member.
Warning
AppKitPlus is in testing. No API or ABI stability is promised.
Any release may remove classes, change type layouts, or change protocol requirements, with no
deprecation period. Pin an exact version and read these notes before upgrading.
Installation
.package(url: "https://github.com/AppKitSupportProgram/AppKitPlus-Release", from: "0.3.1")Artifact
| Platform | macOS 12.0+ |
| Architectures | arm64, arm64e, x86_64 |
| Built with | Xcode 26.6 Build version 17F113 |
| SHA-256 | 779b34e858b4e098019ba378a7f541a2c8a63c2f3d81b4c895ad55130ddbdaeb |