Salutations, brave beta testers! Version 2.0 is now feature-complete.
Standard beta disclaimers apply: read more here.
Remember that library upgrades are a one-way street.
You may want to run this on a test library first.
For PhotoStructure for Desktops: https://photostructure.com/install?beta
For PhotoStructure for Node:
git checkout beta.
To return to the stable release,
git stash -u ; git checkout main
For PhotoStructure for Docker: change the image to
photostructure/server:beta. Remember to
docker pullbefore restarting the container!
If you’re coming from v1.1, here are some of the more obvious new features:
Added new “copy path” option in the asset info panel.
Full screen mode! Tap the toggle button in the header or the
fkey to toggle fullscreen mode.
Client and server code can now show informational and error messages (or “toasts” to let you undo some actions, notify you of network problems, tell you when you need to upgrade, and more.
Rebuilt UX view persistence to be dramatically faster thanks to proper component keying and smarter fetch heuristics: clicking the “back” button is instantaneous, and prior scroll positions are correctly retained.
Asset rendering at high resolutions is now dramatically faster. Prior builds didn’t trust the database for rotation metadata, which led to a (potentially expensive) exif parsing step before streaming the original asset to the browser.
On computers with at least 6 CPUs, preview images are now optimized with
mozjpegdefaults, which reduces images by up to 30% with minimal reduction in visible quality. See the new
jpegMinimizedsetting for details.
Sync should now automatically pick up new files. There were a couple issues:
v1.0 changed how PhotoStructure keeps track of sync progress, and prior progress metadata would “trick” sync into thinking there was nothing to do for subsequent runs. New sync jobs started after a completed job will start with new metadata, rather than adopting the prior run metadata.
readdircaching, and those cached directory contents could prevent new files in existing directories from being picked up.
syncnow deletes the
readdircache properly after an import completes.
unexpected missing asset file iderror, which could prevent file variations from being imported properly
Stale opened-by lockfiles are now properly deleted on startup, and we reduced the default value for the
openLockStaleMinutessetting from 1 hour to 5 minutes. This should resolve issues like this.
For docker users or libraries stored on remote volumes, lock contention could result in the local replica being overwritten with an empty library database. Lock directories are retained much longer now, and replica
mtimeand db sizes are now used to determine if replicas are “stale.” Local db replicas are now stored in library-uuid-specific subdirectories to prevent overwrites when multiple library are open concurrently.
Restored title bars that got lost in v2.0.0-alpha.1
PhotoStructure for Desktop macOS icons don’t fight with the traffic lights any more.
Fixed undraggable windows
Monthly vs annual pricing is now handled in the Stripe Checkout page to make initial subscription setup simpler.
More details are in the release notes:
Here’s a chart comparing recent stable versions:
There are a couple issues I still need to
poke at resolve:
- macOS about page is not draggable
- apple photos library originals are not imported for some people
- progress panel seems to not render on v2?
- rotation is broken for HEIF?
Running v2.0 on my own library, I’ve realized that multi-user authorization needs to happen sooner than later: even with password protection, it’s not great to allow visitors to mess with the settings page or shut down the server, and letting them click “empty trash” is really not OK (which is why I hid those buttons behind a setting for this release: it’s still useful for local-only libraries).
Once that’s in, then metadata editing and face management makes more sense (as being only available to “library owners”).