V2023.11.0-alpha.1 released

:student: Finally, we’re graduating away from prealpha!

Note that this build has only been validated on Ubuntu and docker. Windows is still experimental, and macOS support is coming in the next build.

How do I get it?

PhotoStructure for Desktop

click “check for updates” from the menu bar.

PhotoStructure for docker-compose

  1. docker-compose down
  2. change your image to photostructure/server:alpha
  3. docker-compose pull
  4. docker-compose up -d

PhotoStructure for Node

  1. shut down PhotoStructure
  2. git checkout alpha
  3. ./start.sh

What’s changed?

:broken_heart:/:bug: Exclusion globs have been simplified

  • Exclusion glob patterns are now applied both in and out of libraries: the
    excludeGlobsInLibrary setting (introduced last build) was confusing, and
    has been deleted.

  • The disableIgnorableFilters setting was renamed to
    omitDefaultExcludeGlobs, but does the same thing: if set to true, users
    start with an empty set of exclusion globs, and use excludeGlobsAdd to
    build up whatever set of patterns they want.

  • See the discord chat for details

Additional improvements

  • :bug: Video transcodes in prior builds had a 2 minute timeout (due to a
    misapplication of a default argument), which would slow down larger video
    imports because transcode operations would timeout incorrectly and retry
    (causing the system to bog down with the same ffmpeg operation multiple

  • :sparkles: ffmpegHwaccel can now be safely kept at auto–PhotoStructure will
    attempt the transcode with -hwaccel=auto, but if that fails (due to
    missing hardware support for the necessary codecs, for example), we’ll
    automatically re-try that transcode operation without a -hwaccel argument.

  • :bug: Asset.durationMs is now properly copied from AssetFile variations up to
    Asset. Prior builds could have missing duration timestamps in tag galleries.

    Note that this is backfilled partially by a database migration that will be
    applied automatically, as well as a step that invalidates all asset files
    (and assets) that are videos and missing .durationMs.

  • :bug: Fixed ./start.sh warnings and errors related to python disttools and

  • :bug: Fixed version health check

    where running a newer version than what is advertised as being available was
    marked as being “out of date”. Also added channel advice if a more stable
    channel is providing a newer release.

  • :package: ./photostructure info --version-check is now a whole thing, and invalidates prior cache.

  • :package: Open Graph headers were simplified: we now only send one video or image
    entry, using the closest available prerender to openGraphTargetWidth.
    Previews seem to work properly now at least on Apple iMessages.

  • :package: New checkBasenameMatches setting (defaults to true) adds Yet Another
    asset file’s existing-asset adoption search strategy. This is a minor
    deduplication improvement, and doesn’t seem to adversely impact import

  • :package: Docker images now include a proper set of labels:

Happy Alpha day!!!

I think you duplicated the contents of your post… there are two “What Changed” sections.

I updated my podman image and started with previous yaml file, everything seems fine, but I noticed this in update section of health check (green checks everywhere):

You are running PhotoStructure for Docker version 2023.11.0-alpha.1
The latest published alpha build is version 2.1.0-alpha.7
Last checked just now (2023-11-09T06:13:07.554Z)

Thanks for the heads-up, @iamphotocat !

I added the channel-versions.json publishing step to the release script just now, so within a day your cache should expire and you should see this (if you reload web):

If you want, you can also use ./photostructure info --version-check. Details about the info tool are here: