Any changes made to the program are documented here for your reference.
0.9.2
A safety and reliability release from a top-to-bottom review of the copy pipeline, card detection and the app itself. Nothing changes in how your folders are laid out.
- Fixed a rare edge case where two source files could be planned to the same destination in a single import and only one would survive - for example IMG_0001.CR2 in both 100CANON and 101CANON after a counter reset, or burst frames sharing a second with a folder template that drops the original filename. Both files are now copied, and shots are grouped per card folder so same-named files in different folders are never mistaken for one another.
- Cleanup re-checks every file on the card against what was verified before deleting it. If a different card from the same body was swapped into the reader while a delete confirmation was waiting, nothing is deleted and the import says why.
- Same-shot overwrite rules now require a camera body serial, and any sub-second or frame number present on one side must match on the other. Bodies that do not write a serial keep both files instead, as the option promises.
- Video clips correctly use local time, not UTC, for dates, so an evening clip lands in the same folder as the stills shot around it.
- A card that briefly looks disconnected (for instance while cleanup empties it) no longer cancels the running import or re-triggers auto-import.
- Mac resource-fork files (._IMG_0001.JPG) and hidden system folders on the card are skipped instead of being imported as photos.
- Source modified time is now preserved on copies, so Finder and Explorer sort them by shoot date.
- A card already in the reader when Photoshovel starts is now auto-imported reliably.
- Adding an allow-list rule by card name now asks for confirmation first when your auto-import pipeline deletes from the card, since a name rule matches every card formatted in that body.
- Support for card readers that present as fixed disks (CFexpress and UHS-II readers, USB bridges) added on Windows. Internal disks are never scanned and the system drive is always excluded. An empty reader slot can no longer pop up a "Please insert a disk" dialog.
- Linux: cards show their volume label instead of a device path, and built-in SD readers are detected alongside USB ones.
- Only one instance can run at a time to prevent confusion; launching Photoshovel again brings the existing window forward.
- Startup no longer waits on a sweep of every destination folder, which could stall launch on a large library or a NAS. Import history is written atomically with a backup so a crash mid-write cannot empty it.
- RAW files are now not read in full for metadata reads, and metadata gathered during the card scan is reused during the copy, speeding up transfers further.
- Far fewer status messages while a slow backup verifies, and reading history or saving settings no longer blocks the interface. Sizes and durations are formatted consistently across every panel.
- A suspended licence is treated the same in Settings as in the import engine, and the pipeline preview shows what the free tier will actually do.
0.9.1
- Added support for HEIF stills (.HEIC, .HEIF and Canon/Sony/Fujifilm .HIF), including their embedded capture dates and camera details - they organize into date folders and pair with RAW files exactly like JPEGs do.
- Added audio support: voice notes attached to photos (e.g. Nikon's DSC_0002.WAV) travel with their photo, and standalone recorder files (Zoom, Tascam) are imported too. Broadcast Wave timestamps are used for date folders, and a new "Audio" file-type toggle controls all of it per destination.
- Canon CR3 raw files now have their metadata read (capture date, camera, serial number), so CR3-only shoots get proper date and camera folders instead of "unknown".
- Video camera support for Blackmagic, DJI, GoPro and Insta360 cameras: .braw, .insv/.insp, GoPro .360, low-resolution proxies (LRV/LRF) and drone telemetry (.SRT) files are all recognized and copied. Blackmagic and Insta360 cards are detected even when they have no DCIM folder.
- GoPro chaptered recordings (GX010001 + GX020001) and Insta360 proxy/dual-lens files are now grouped as single recordings during import.
0.9.0
- Fixed a potential data loss bug which could occur in a multi-card backup scenario where the user deleted the first card's import after it imported but before the other card started importing; on-disk reverification was not performed in this case but if a previous import confirmed it as written successfully, the source file could have been erased if auto-cleanup was enabled. Previous imports' verification checks are now ignored, which guards against this case by requiring re-validation of files on disk prior to cleanup.
- Made deduplication destination-root aware; files will be duplicated/verified in the new destination if the destination changes between imports, rather than assumed present in a previous root location.
- Fixed a number of rare user interface bugs and keyboard shortcut mappings.
- Fixed two mismatched-lifetime bugs which could result in photos not being re-verified on the second import of a card.
- Improved the onboarding user interface to select the most appropriate deduplication mode by asking a new user if they shoot on A+B cards or on single cards, and to prompt for a destination prior to closing the onboarding flow.