These profiles are really weird. I switched to Early Adopter to upgrade to 25.10.3 and now it suggests that I update to a BETA. Why are these 2 versions with a completely different stability level in the same profile?
25.10.3 just moved to General, you should now be able to set the profile.
But you must admit that this is weird on iX part.
All other projects using semantic versioning have a
- conservative/LTS/… branch
- general/release/… branch
- early adopter/beta/… branch
Qualifiers are assigned to branches and when e.g. 25.10.1 is labelled “general” I expect all future releases of 25.10.x to be, too. Also no new features go into a branch once released, only fixes.
TrueNAS is the only project I know that does it differently.
See e.g. Mikrotik RouterOS:
- long term: 7.20.x
- stable: 7.22.x
- testing: 7.23rc1 (rc2, rc3, … until released and promoted to stable)
Kind regards,
Patrick
I updated one system from 25.10.1/general to 25.10.3 and it worked fine
however, two systems were already on 25.10.3 set to Early Adopter, and when i changed that to General i get the following error right underneath the current version:
TypeError(“‘NoneType’ object is not subscriptable”)
logging out/in doesnt change this, neither does changing the profile back and forth to developer/early adopter/general.
fyi
I cannot reproduce that, I went from 25.10-BETA.1 to 25.10.3 this morning as a test, I assume you’ve tried clearing the UI Cache, if so perhaps raise a ticket with a debug.
when i upgraded it worked fine as well.
it only gives the error when i DIDNT upgrade, and just changed from early adopter to general.
i did put in a ticket
I am able to reproduce this internally, so thanks for the ticket.
fyi, i just rebooted the back up system, and that cleared the error
TrueNAS is different here… we make it clear where the trains are in the software status page.
However, we are going to an extra level for several reasons:
-
1st we are managing storage and what can be critical data. We have to be more cautious to avoid problems, outages, and data loss.
-
2nd… while most incremental updates fix bugs, its also possible that a bug was added by ourselves or upstream partners. We want each version to be battle-tested before recommending it.
-
3rd… the diversity of hardware being managed by TrueNAS CE is very high. TrueNAS cannot test this all in our labs There is a reliance on community testing to catch any issues.
So, we have built in a more sophisticated mechanism that allows us to release a new version within a train, and have it tested by “early adopters” who volunteer before we promote it to “general”.
In 25.10, the recommendation process is new, and there are teething issues because no one had set their profiles in the previous 25.04 version. The software status page provides guidance.
Going forward, users get to decide which lane to swim in:
-
Go “general”… only update when a new version is promoted to this level. It minimizes issues, but requires patience. Sometime a version will be skipped. General users will not see BETA releases. However, they will be automatically promoted to the next train when it is ready.
-
Be “early adopter”… get access to all new updates immediately. Early access to features and bugs. BETA releases will be available.
Most of the issues occur when users want to switch between “general” and “early adopter”. That is not as easy and requires thought. Its important to read the release notes and software status page.
Our Enterprise users will choose between “general” and “mission critical”.
I do not understand why users are not allowed to switch back to “general” after installing an “early adopter” build.
That is a very strange limitation to me because I should be able to say “the next version I update to will be one from the general train”.
The system preventing that decision makes no sense to me.
Are you on 25.10.3 right now? Check the updates page and you should be offered the General option. 25.10.3 went to GA status recently.
If that version had not gone to GA, all you had to do was set 25.10.1 as your active boot environment, reboot to that version and then change your Status. It would have kept you on that and not shown any more updates until there was a new update that was considered GA.
You are allowed to switch back but only on GA software versions.
I know that I can “now”, that is not my point. I should have been able to do that yesterday as I did want to tell the system that I only want to update to “General” versions next, not a Beta. ![]()
I got the same error.
Does this mean, having just switched to “General” train, it’ll be months until the fix makes it to the General train, or may a hotfix for little issues like this be issued under General e.g. 25.10.3.1?
Did you try rebooting?
They are allowed: Go back to a boot environment in the General train.
Fundamentally, it is a PEBCAK issue: Users willing to jump immediately on “the latest release” because “newer is always better” (Narrator: “No, newer is not always better…”) for a piece of infrastructure which requires stability and reliability.
At least until very recently, iX aggressively promotes doing exactly that (and then uses the software status page as their plausible deniability when it goes sideways). Between that, and the fact that their release practices are markedly different from just about every other software out there, it’s understandable that users would upgrade earlier than they really should.
Sure, it is. It’s an easy mistake to make. But we can still scoff about it. What’s the fun otherwise ![]()
And boot environs means it’s seldom a big deal. Roll back, all is well, all is well, and all manner of things are well.
I think it’s also understandable that while an obvious effort is being made to address that concern is a good time to inform users that if they are looking for a stable release experience they should probably use the new feature to set their profile to general and then stay there.
AFAIK the idea behind the current design is that from a principle of least astonishment perspective a user should not be able to think they are running a stable release from the General train while they are actually running an unstable Early Adopter or even a Developer nightly. Locking the profile options to the ones available for the currently installed version and initially setting the profile to the current level of the installed release at the time of install make sense from that perspective.
I also see why a user might want to preemptively set the train to General and not have to worry about it. This is probably doable but there’d have to be some kind of warnings in the UI that the installed version is ahead of the profile (warnings that could disappear once the version becomes recommended). That said, there is still the argument to be made that making it too easy to switch from General down to Early Adopter to upgrade and then immediately switch the profile back could somewhat defeat the purpose of having a General profile if users get too used to doing that.
I am an Early Adopter still on 25.10.2.1 and want to move to General.
The Update UI shows General as “Default”, but it remains unavailable greyed out at the bottom right. I can choose between the Early Adopter and Developer trains.
The system shows that 25.10.3 is available to me on the Early Adopter train. If I update to 25.10.3 will I then be able to set that install to the General train?
yes