Salutations, brave beta testers! Version 2.0 is now feature-complete.
This is a beta build
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.
Where can I get the beta installer?
-
For PhotoStructure for Desktops: https://photostructure.com/go/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 todocker-compose pull
ordocker pull
before restarting the container!
New features
If youâre coming from v1.1, here are some of the more obvious new features:
- Initial support for liking, archiving, removing, and deleting assets!
-
Full screen mode! Tap the toggle button in the header or the
f
key 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
mozjpeg
defaults, which reduces images by up to 30% with minimal reduction in visible quality. See the newjpegMinimized
setting for details.
Bug fixes since v2.0.0-alpha.1
-
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.
-
v1.0 added
readdir
caching, and those cached directory contents could prevent new files in existing directories from being picked up.sync
now deletes thereaddir
cache properly after an import completes.
-
-
Fixed
unexpected missing asset file id
error, 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
openLockStaleMinutes
setting 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
mtime
and 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:
How does this version compare with other versions?
Hereâs a chart comparing recent stable versions:
Why arenât you releasing this as v2.0 stable yet?
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?
Whatâs next?
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â).