Annotations and native window capture. Additive, so 1.0.x code keeps working.
Callouts. .shotCalloutTarget marks a control and .shotCallouts draws its ring, leader line and note from outside the container that clips it. For controls too small or too hemmed in to carry a note beside them.
Native window capture. ShotKit.captureWindow hosts a view in a real NSWindow and asks the compositor for it, so NavigationSplitView sidebars, toolbars and materials survive instead of capturing blank. macOS 14+. It never prompts and needs no Screen Recording grant: it falls back to the WindowServer, which does not gate a process capturing its own windows.
Highlights. HighlightRingFit.contained keeps the ring within the highlighted view, for a control sitting flush against something that clips. Circle and capsule ring shapes added.
Exact output sizes. Composited captures are cropped to the requested spec. The WindowServer returns a pixel of bleed per side, so a 1440x900 window came back as 1442x902, and App Store Connect rejects anything that is not the declared size.
Composition and annotation are pure SwiftUI and are now tested on both macOS and iOS.
.package(url: "https://github.com/birangdev/ShotKit.git", from: "1.1.0")