A lot of the hate for Manjaro is about it breaking due to older versions, which is likely addressing the non-ideal compatibility of the stable branch with AUR, as most people don’t even know about the other branches’ existence. Including an option for switching branches in something like the Hello menu, and explaining use cases there, would not only be safer, but help busting the myth that Manjaro always breaks when using AUR.
Stable branch and AUR off are the defaults, for a maximally stable Arch-based system. For moderate AUR usage, the testing branch would be more appropriate, I think, as dependencies would be on newer versions, and only rarely would the very latest version be required. While for AUR-heavy setups, unstable ensures maximum compatibility.
Whilst this is true, I think just a minimal barrier to entry is quite appropriate.
If someone’s not capable or willing to press CtrlAltT and do sudo pacman-mirrors --api --set-branch testing then perhaps it’s best they stay where they are.
Exactly. For inexperienced users - strictly stable branch, LTS kernel and no AUR.
I actually toy with the idea that AUR setting and the nonlts kernel choice should be hidden behind some kind of mini test to check if the user is knowledgeable enough to use them without problems if enabled.
Hating on Linux software is futile and detrimental to rational thinking
If an AUR package cannot be updated because of an outdated repository dependency, AUR helpers usually fail safely with no changes made to system.
User can then choose to either continue using older AUR package until stable branch is updated, or switch branches
Manjaro specific packages downloaded and installed from the Testing branch or Unstable branch will, by nature, not have been fully tested, and may be unstable. Please refer to System Maintenance Section for important maintenance information.
One of the many features that sets Manjaro apart from other Arch-based distributions is that it uses its own dedicated software branches, rather than relying on those provided by Arch itself. In fact, to ensure continued stability and reliability, Manjaro actually uses three distinct branches:
Stable branch: The packages that come to stable have gone through roughly a couple of weeks testing by the users of the Unstable/Testing repos, before they get the packages. These packages are usually free of any problems.
Testing branch: This is the second line of defense. Being a larger number of users than those using Unstable, they refine the work done prior to them by providing feedback on the packages they recieve on updates.
Unstable branch: Unstable is synced several times a day with Arch package releases. Only a subset of Arch packages are modified to suit Manjaro. Those that use Unstable need to have the skills to get themselves out of trouble when they move their system to this branch. They are the Manjaro users who are most likely to need to use such skills. Due to the feedback from the users of the Unstable repo, many issues are caught and fixed at this level. Although the very latest software will be located here, using the unstable branch is usually safe but - in rare cases - may cause issues with your system!
Summing up, Manjaro packages start their lives in the unstable branch. Once they are a deemed stable, they are moved to the testing branch, where more tests will be realized to ensure the package is ready to be submitted to the stable branch.
Note on unstable branch Remember: Manjaro specific packages such as kernels, kernel modules and Manjaro applications enter the repo on unstable branch and it is those packages which are considered unstable when they enter.
Unmodifed packages synced from Arch repo are considered stable as they have already been vetted by Archlinux Community.
Stable branch is usually only 2 weeks behind Unstable branch but updates might be delayed for up to 4 weeks if Manjaro Team is finalising a new ISO release.
Users who want the latest AUR packages should consider switching to testing or unstable branch temporarily
There is no solid rule indicating when Stable branch is snapped from testing. It can be anything from one to four weeks. The packages on stable branch are the default repositories used by Manjaro systems to provide updates and downloads to the general user base. The best indication will be to watch the Testing Announcement thread to follow possible issues with specific software or hardware.
Testing branch
Testing branch is snapped from unstable at irregular intervals - but usually shortly after the syncronization from Arch stable. This branch is used as a testing area for packages build by Manjaro developers such as kernels, kernel modules, nvidia graphics, software patches, Manjaro inhouse applications. The package may be subject to further checks by developers and testers for potential bugs and/or stability issues, prior to being released to the stable branch. Testing branch is for the knowledgeable user looking for a way to contribute to keep Manjaro running at it’s best.
Unstable branch
Unstable branch is synced several times daily from Arch stable and the packages from Arch repo is generally considered stable as they have been vetted by the Archlinux QA and the Archlinux community. Manjaro maintainers build kernels, kernel modules and nvidia graphic drivers from kernel source. This branch is also the entry point for Manjaro’s inhouse applications. The latest available versions of software will be located here and using the unstable branch may cause issues on your system but you are proficient, motivated and have no problem solving minor isssues on your own.