Skip to content

0.3.2

Choose a tag to compare

@Mx-Iris Mx-Iris released this 05 Sep 11:54
· 8 commits to main since this release

Fixes

  • Applying a snapshot that deletes rows and reorders the survivors in the same batch raised
    NSOutlineViewException: … is outside the valid children index bounds, and reordering several
    rows at once could land them in the wrong order even when no index went out of range. Both data
    sources and both apply variants were affected; applySnapshotUsingReloadData: was not.
    NSOutlineView applies every call inside beginUpdates / endUpdates to its row model at once,
    so an index must be right at the moment of the call, while every release since 0.1.5 issued the
    moves after the removals with indexes taken from the snapshot the batch started from (0.1.x had
    worked around the same crash for drag reordering by reloading; that workaround was dropped in the
    May engine and nothing guarded it). The row updates are now
    computed against the rows the view actually has at each step of the batch. Regression tests cover
    the flat, nested, sectioned and few-hundred-row shapes.

No API changed and nothing is deprecated. Section changes that keep the visible order (fixed in
0.3.1) keep working; the update engine no longer needs AppKit's private identifier differ at all.

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.2")

Artifact

Platform macOS 12.0+
Architectures arm64, arm64e, x86_64
Built with Xcode 26.6 Build version 17F113
SHA-256 44011e2b812ed2edb8b046936bf3e8d4a96a7f523e3462cc25b04fba2a17ecfa