beta builds should be considered experimental and may be unstable.
if you’re on the alpha build already, just select “check for updates” and PhotoStructure should upgrade to -beta.1 automatically.
If not, download a new installer here: PhotoStructure | Install PhotoStructure
Change to image
photostructure/server:beta. Know that UID and GID are now configurable, but -beta.1 now defaults to running as root if the current system settings.toml exists and is owned by root.
Shut down PhotoStructure, then run
git stash -u ; git checkout beta && ./start.sh
Now: what’s new in -beta.1, you ask? Well…
This release has a bunch of behind-the-scenes improvements–the biggest for me, personally, is switching from GitLab CI to GitHub Actions for continuous integration.
PhotoStructure has a ton of unit, integration, and system tests: over 1,000 front-end tests, more than 4,500 “core” tests, and more than 1,000 “library” tests–including a “test import” and “test rebuild” run on a 1GB set of “exemplar” photos and videos.
These tests all run on all OSes automatically, but for most of the alpha builds, CI has been broken due to node/npm/yarn/gyp/gitlab-runner incompatibilities:
Each of those failed jobs were due to the gitlab-runner wedging in ways that I couldn’t reproduce locally.
I switched to GitHub Actions for CI, and after playing bug and test whack-a-mole for the past couple days, this morning I was finally was greeted with this:
TL;DR: GREEN IS GOOD, RED IS BAD. CI IS GREEN NOW.
A ton, actually!
Added a first pass at tag normalization: the “Album”, “Keyword” and “Who” tags now all support “aliases”, controlled by the new
rootTagWhoAliasessettings. This helps normalize tags in existing files, say, if your keywords aren’t (all) in English, or have inconsistencies (“Keyword/Sky” and “Keywords/Sky”).
Dropdown menu improvements
- Dropdown menus are now positioned to ensure the content is visible. If possible, they show to the right and below the click target, but will render to the left or even above the click target if the right or bottom screen edge is close.
- Dropdown menus now have a close button.
- Dropdown menus can now be dismissed by clicking or tapping anywhere else on the screen, and these taps and clicks that dismiss a menu are ignored.
- Dropdown menu contents can scroll vertically if their content is too tall for the screen.
/ Improved UID/GID handling for those upgrading PhotoStructure for Docker from v0.9.
Prior to v1.0, PhotoStructure for Docker defaulted to running as root. To prevent upgrades from failing due to permission issues, we now default the userid to match the current owner of
This default value will be overridden if
PGIDare set, which is recommended to minimize both the number of files owned by root, and the number of processes running as root (even within containers).
If the file is missing, we default to
1000for both the UID and GID, which
is the default for the first non-system user (at least in Ubuntu and Fedora).
Name parsing for family names that end in “i” is now fixed.
date:search query filters are now synonyms, and normalize to
/ Tag paths are normalized to “NFC” Unicode Normalization Form now. This should help library portability between macOS and other platforms.
Asset streams are now always scrolled into view on navigation (this was broken in alpha.7)
Navigating from the welcome page to the plans page could take a while if the user had many slow drives. An aggressive timeout (3 seconds) was added to prevent the page from hanging.
/ The “shown” asset file variant in the asset info panel is easier to select now (the prior click target was only the pathname)
/ Searching for
before:2022now works (if you want a query that returns all assets in your library). Previous versions applied the “captured at” validity filter to dates, which reject dates more than several weeks in the future.
Viewmenubar items were re-ordered
Environment and TOML settings now support “aliases.” This allows us to change or improve the names of settings between versions but not break existing configurations. These aliases are listed per setting in the library and system
defaults.envnow enumerate all environment and TOML key aliases (so prior setting names can be found).
/ Clicking “continue” from
/welcomenow has an aggressive timeout to prevent hangups during the initial installation flow. If you have tons of slow external disks attached to your computer, this should help.
Subscription signups could fail sometimes when the Stripe API reported that newly-created customers didn’t exist. We retry these requests automatically now to work around this issue.
infotool now supports filtering output, including deep fields. See
info --helpfor more information.
PhotoStructure for Node’s
- verifies that Node.js is at least v14.16.0
- warns Ubuntu 18 users that HEIF isn’t supported
Ubuntu 18 fixes:
lsblkparsing supports older versions (that don’t support volume size information)
rebuilt binaries on 18.04 (prior alpha builds had binaries built on Ubuntu 20.04)
This is a release-candidate build for version 1.0.0. In other words, if there aren’t any showstoppers found in this build after a couple days, this will become version 1.0.0.