You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deterministic parser property tests now exercise TIFF/Exif, ISOBMFF, XMP,
C2PA/JUMBF, and video bitstreams with truncations, malformed lengths, seeded
byte soup, and write-read-write stability checks. A reusable script supports
longer reproducible local runs.
Release tooling now provides a single macOS preflight, a tag-driven GitHub
release workflow, SHA-256 checksums, archive-content validation, and a
step-by-step 2.0 release/Homebrew checklist.
ImageMetadata.WriteOptions.FileModificationDatePolicy controls filesystem
modification dates independently of timestamps embedded in media metadata.
Use .preserveExisting for in-place edits or .set(Date) when a new output
should inherit a source file's date. Image, video, audio, XMP sidecar, and
batch writes share the policy.
Breaking: the Swift package, library product, importable module, source
target, and test targets are renamed from SwiftExif to SwiftMediaMetadata. Clients must use the renamed GitHub repository, depend
on the SwiftMediaMetadata product, and replace import SwiftExif with import SwiftMediaMetadata. The installed swift-exif CLI command is
unchanged.
Image, video, audio, and XMP sidecar writes now use one internal filesystem
transaction for atomic replacement, backups, temporary-file cleanup, and
file attributes.
The 33,536-city offline geolocation database is now a versioned bundled
resource instead of 54,000 lines of generated Swift literals. Reverse
geocoding behavior is unchanged, while a measured clean library build is 79%
faster and the geolocation debug object shrinks from 12.0 MB to 102 KB.