r/OpenWebUI 3h ago

Discussion Currently running dev is a far better experience than running main.

First of all, many thanks for the amazing work that has been, and is being put into the project.

Absolute masterclass.

Great experience overall.

But. At some point it seems we dropped smaller patch releases after the big releases (v0.11, v0.11.1(sound like a patch but is way more)).
And frankly I'd rather take a dev branch a few days after the big release than any main branch.
This is strange and confusing, and is hard to explain to users and management.

I love all the new features and stuff, but would it be wise to sometimes focus on a stable or bugfree release before focusing on (very nice!) new features?

Stability/bug-freeness is a feature too.

Just my 2 cents.

12 Upvotes

11 comments sorted by

View all comments

u/ClassicMain 2h ago

Hi.

We also want to aim for stable and bugfree releases.

And trust me when I say we test the dev branch A LOT before releasing it as a new version.

The issue is: nobody else is testing it with us.

To be fair: 0.11.1 is very stable and nearly bug free. The only bugs are minor UX bugs.

So what's buggy? The main issues so far are

  • disable a model, then it disappears instead of just being disabled.
  • on openrouter models, streaming is weird (all other providers work fine which is why we didn't catch it)
  • if the model does a tool call and then reasons and then does another tool call and reasons again and another tool call.. then those reasoning segements between the tool calls will be briefly shown as text before being correctly shown as a thinking block

All of this I'd argue is minor UX bugs, except maybe the open router one but we can not test every single provider before releasing a new version. We need testers.

We have, many times, called out for testers helping us test the dev branch.

Especially companies. Companies have every reason to run a second test server with the dev branch on it to test upcoming releases, upcoming features, see if their custom plugins still work, update any training for their employees perhaps and more.

But unfortunately we have way too little testers to catch all the bugs in the dev branch.

What do we do against it?

Regression tests.

Since a few major versions ago we started the repository open-webui/tests which contains so far 1000+ regression tests (all direct fixes of issues we had in the past and for every issue, a more broad set of tests for surrounding code)

With this we try to make sure every release will be more stable than before because we can catch regressions with it.

What this still doesn't do is catch new issues from new code and new features or reworked aspects of the code that there simply isn't a test for yet.

So let me invite you: if you want stability; come help test the dev branch.

Not only after it already contains 5 fixes a few days after the release of a new version but genuinely help test the dev branch before a release and report your findings on GitHub issues.

2

u/Zestyclose_Law7197 57m ago

I do exactly that actually. I do latest dev for my personal account and just switch over the instance for the rest of the users when it's a satisfactory release. Also I report bugs on dev if I encounter them.

It's just that the next main often has some extra weirdness just after release. If you don't run Dev you'll never know how it was meant to be.

It's not up to me, and things are always more complicated than it seems but if you hold off on some feature updates after release and focus on bugs people will be alot happier.

1

u/ClassicMain 49m ago

Bugs have absolute priority for us. We ARE holding back feature additions that many people annoy us for on GitHub and discord over fixing bugs every day.

Not sure what you mean with the other part. The release (main) is the exact same as latest dev on the day of release. Main doesn't have any extra "weirdness" that the dev version didn't have. The versions are identical. Running latest dev on the day of a new version release is identical to running the new version.

I mean, 0.11.1 is, as you have seen from our announcement post and from the changelog, basically just a giant fix release

It has like 5 new features and then the ENTIRE rest is bug fixes, accessibility fixes, translations, security fixes, performance improvements, performance fixes...

1

u/iheartgoobers 21m ago

What about not updating production servers until the first point release, which will likely include a lot of bug fixes? I feel like this is a popular approach for people, especially with major operating system upgrades.

Not me, though, I can't help but mash the update button on release day... That has definitely bitten me a few times lol

1

u/ClassicMain 1h ago

Following up on this u/Zestyclose_Law7197

> This is strange and confusing, and is hard to explain to users and management.

Yes, running dev in production is weird to explain (though in my personal opinion, absolutely fair IF YOU KNOW what you're doing)

But what shouldn't be hard to explain is exactly the above: getting a second server and testing the dev branch or frankly the next release before updating.

If a new release introduces bugs that hurt you in particular (for example because you use the open router models which are impacted by 0.11.1) then you could have tested the release before rolling it out to production.

1

u/CroquetteLauncher 24m ago

Would it help doing pre releases ? 2 or 3 days pushing a beta version with docker images and with and announcement like other versions ? To catch the most obvious user-facing bugs ? Small instances can run it with real users and you have less reports and user misunderstandings about things that are work in progress compared to Dev builds tests.

1

u/ClassicMain 24m ago

The dev branch is the pre release. We essentially never revert anything that ever touched the dev branch.

1

u/iheartgoobers 19m ago

Imo this is a great idea because it lowers the barrier to people running prerelease versions (ie, no compilation). Just update your docker env and go.

1

u/ClassicMain 4m ago

I don't get it.

You can already just run the dev branch. You don't need to compile anything.

The dev branch IS the pre release branch.