Why isn't there a stable v2.0?

Hi all!

I’ve been considering using Photostructure for my photo library for some time. I tested it some time ago with a subset of my library, but this week I’ve installed the same stable version I used that first time (v1.1.0) and it’s working fine.

The problem is, by now I thought there would be new stable versions. I now there has been many advances and there’s a v2.0.0-beta.1, but it was announced in Oct’21 and there seems to be no stable v2.0.0. Instead, work has continued with v2.1.0-alphas.

I wonder what’s happening with stable versions. Shouldn’t there be a v2.0.0-stable before starting work on v2.1.0? I’d like to test some of the new options in v2, but I’m affraid what could happen with my library if I run an unstable version.

1 Like

The lack of a recent “stable” version is definitely a problem that @mrm is aware of, and in general the glacial release frequency. He’s taking quite a bit of heat on this on discord and here and had promised to improve :slight_smile:

I will say this… The alpha, beta, stable designation are rather arbitrary and in the case of photostructure not all that accurate. 2.1-alphas are more stable than 2.0-betas, and from my perspective 2.1-alphas are as stable than 1.1.0. (And I might also argue that they’re all “beta” quality, as they all have the same issue with sqllite but good enough to run.)

So I think you should try running 2.1-alphas. Back up your 1.1.0 database if you’re concerned, but since PS does not modify the pictures at all, the risks are extremely low.

Thank you for the quick answer, I was not saying that in bad faith, it was something that seemed weird after having tried bck PS after some time.

I will try the v2.1 alphas then, thanks for the clarification :slight_smile:

Just to add to this, the truth is that Photostructure is young enough that there’s never been a truly stable release… even 1.1.0 has problems that make it unstable in certain environments.

I’ll say this though… with each new release (be it alpha, beta, or stable), any show-stopping bugs are identified and fixed quickly in a dot release. Because of this, it turns out that the most recent release really is the best release (currently 2.1 alpha), and is as stable as you’re going to get.

We’re all getting anxious for the next release, but we also know that @mrm is working hard at very unsexy foundational-type issues that will help give Photostructure a solid base to build on into the future.

And, in the meantime, Photostructure in it’s current state is already the best self-hosted photo display/browsing solution that exists.

Versioning certainly hasn’t gone as smoothly as I’d prefer.

In my testing, v1.1 is stable on all platforms for small (sub-25k) libraries, but some people’s configurations (especially on Windows and macOS) may prove to be less stable.

I found that when the v1.1 library database got larger than 100-200 MB (tracking 100k+ files), SQLite updates could timeout or fail, especially when running under heavy concurrency (10+ threads), or when stored on a slow (HDD) disk.

I rewrote how PhotoStructure does parallelism and database persistence from v1 to v2, and that meant larger libraries (350k+) were handled gracefully, but there were show-stopping issues on macOS and Windows that meant I couldn’t promote v2.0 to :stable. I felt that the new workarounds for macOS and Windows were sufficiently different enough to warrant not being :beta, so I “skipped” v2.0:stable and re-characterized the release as a v2.1 alpha build.

The latest :alpha build, v2.1.0-alpha7, is actually quite stable on Linux and Docker. There are still some bugs (like failures with rebuild, timezone parsing for more exotic filetypes, and some image hash deduping errors), but those shouldn’t impact daily use.

In an effort to help stabilize the next build, I’ve made a (quite large) change to how PhotoStructure handles errors: previously, if “bad things” happened, I would emit an error log message, and shut down.

In this next build, the webserver will try it’s best to stay running, and if there is an issue, will redirect the browser to a new “health check” page. I’ve written a couple handfuls of “repair jobs” that are then suggested (when appropriate) to remediate whatever is making PhotoStructure grumpy.

This approach also means people don’t have to
a) know that PhotoStructure has error logging
b) figure out how to find and read those logs

Thank you for the clarification @mrm. In my case my library is around 140k files and it’s stored on a 2 TB Micron SSD. It’s working nicely, but as @avdp and @tkohhh have suggested, I’ll try the alphas and see how everything goes. The problem: I’m on a Mac mini M1, and according to the release notes v2.1.0-alpha.7 doesn’t work there, so I’ll have to wait.

You’re doing an amazing job @mrm, congrats and keep on it :wink:

Hi mrm,
as javipas, I would really like to test the features of 2.1 - but I couldn’t find the alpha7 for linux arm as selfhosted variant so far?

I can’t comprehend how much effort sole-development of a major piece of software like this is - so thanks so much that you keep at it Matthew.

I will be honest and say this has been a push factor for PhotoStructure for me; I had some issues with PhotoStructure stable (v1.1) and have been reluctant to move to another version not badged as stable as I don’t really have a lot of spare time for trouble shooting. This is mostly a psychological thing, but it has put me off. Thought it’s more useful for me to say this than just think it.

What do you have Photostructure installed on?

I’ve a little problem testing the alphas. Afaik the latest version with desktop Mac support is v2.1.0-alpha2. Tried to download, but it got stuck on the splash screen. I thought it was reindexing the db and I left it two days like that, but it didn’t do anything. Went back to v1.1, and it worked at the first time so the alpha didn’t really do anything.

I’ll keep v1.1 for now and wait for the next version with support for the Mac mini M1.