PhotoStructure v2023.9
🤔 v2023? What happened to v2? #
As of August 2023, PhotoStructure versions will use “calendar versioning,” or CalVer, using scheme YYYY.MM.MINOR
.
All of what was slated to be released in v2.x will be in the v2023.9 release.
✨ Feature highlights in v2023.9 #
PhotoStructure v2023.9 includes many new features, a bunch of improvements behind the scenes, and a ton of bug fixes and stability improvements.
💜 Asset management #

New asset header in v2023.9
- ✨ The most popular feature request, support for deleting and hiding your photos and videos, is now available to plus subscribers, including support for “liking” and “excluding” files. Read more about these features here.
- Tap to open your library in full-screen mode
- Tap to download the original photo or video Asset
- Tap to like or “fave” the current asset.
- Tap to archive the current asset.
- Tap to remove the current asset from your library.
- Tap to delete the current asset from your library and your filesystem.
🩺 Health checks #
Prior versions of PhotoStructure would shut down if anything prevented PhotoStructure from showing you your library. Unfortunately, that meant instead of seeing your library, you’d see this:

What you’d see in previous versions if anything went wrong
Like (almost all!) self-hosted software, it was up to you to debug what went wrong. Although PhotoStructure does have extensive logging, accessing it can be inconvenient, especially if you’re not familiar with a terminal, and the logs won’t quickly highlight what went wrong.
This new version of PhotoStructure will always try to stay up and running, even if your library isn’t available, or something’s amiss.
If something goes wrong, PhotoStructure will redirect the browser to a new health check page:

Partial screenshot of PhotoStructure’s new health page
Every test can be tapped to view details that can help verify your setup:

Expanded details of health checks
If PhotoStructure discovers anything wrong, you’ll be automatically redirected to this page, which should highlight what’s wrong, along with links to relevant documentation, and in some cases, buttons that will let PhotoStructure try to repair what’s wrong.
💪 Improved support for large libraries #
- ✨ Sync imports are substantially faster for larger libraries and servers with 8+ CPUs thanks to a new concurrency approach. Read more about this here.
📝 Improved reporting #
-
✨ Sync reports make it easy to see exactly what files and directories were imported, when, which were skipped, and why.
-
✨ PhotoStructure’s log messages can be sent to a log service like Graylog or Seq by setting
PS_LOG_SERVER
andPS_LOG_SERVER_LEVEL
settings.
⚡ Improved front-end performance #
-
✨ Image loading in tag galleries has been improved, especially for bandwidth-constrained networks. See
PS_LAZY_LOAD_EXTRA_VH
for details. -
✨ Older versions of Safari are now supported.
🗄️ Improved metadata handling #
-
✨ If you’ve opted into “automatic organization”, unique sidecar contents are now copied into your library, including metadata inferred from siblings, which is retained in a new
History
sidecar tag. -
✨ Fuzzy sidecar matching was improved so
photo.JPEG
now matches up withphoto.JPG.XMP
(note the mismatched “.JPEG” and “.JPG”) -
✨ Mountpoint and volume metadata is cached across restarts and across processes, especially helpful for users with many external drives and/or remote filesystems.
♊ Improved deduplication #
-
✨ PhotoStructure’s image hashes, used to differentiate image content, now use 3 distinct and novel algorithms, using DCT, mean, and gradient diff, all in CIELAB colorspaces. Applying a suite of different hash algorithms helps PhotoStructure increase both precision and recall when comparing different images.
-
✨ Dominant color extraction, also used to compare image content, now uses adaptive greyscale prefiltering, iterative k-means clustering, and retains percent coverage per dominant color to improve correlation quality.
-
✨ Some camera models render RAW/JPEG pairs encoding the same bit of metadata in different fields, and with slightly different values. PhotoStructure knows how to handle this scenario, and a bunch of other cases now.
These new features accompany many new correlation and threshold settings to help you configure deduplication to work for your image corpus. Read more here.
🥧 Raspberry PI support #
- ✨ PhotoStructure for Servers now supports Raspberry PI. We recommend at least an RPi 4 with 4GB of RAM.
🍎 Improved macOS support #
- ✨ Native Apple Silicon support
🪲 Bugfixes and stability improvements #
More than 300 features, bug fixes, and general improvements were applied since the last stable release! Check out the release notes for details.
🤔 Questions? 🌹 Feature requests? 🐞 Found a bug? #
Say hello in the official PhotoStructure forum or Discord, we’d love to hear from you.