ADMIN: Copied from a post by Bob Jacobson
This looks like a good moment to describe the thinking behind JMRI¡¯s releases more generally.
Twice a year, we create something called a ¡°production¡± release. These have names like 4.16, 4.18, etc. These are the ones that we encourage people to use, particularly new users, because they¡¯re a good balance of new features and annoying bugs (new and unfixed)
Any development process can create bugs; sometime even properly-working new features are considered bugs by some users! So how do we get from ¡°new code¡± to ¡°production release¡±?
*) About once a month we create a ¡°test¡± release. These have names like 4.17.1, 4.17.2, etc leading up to 4.18; after that, a new series starts with 4.19.1, 4.19.2, leading to the next production release. These have new features, like ¡°rotation of Layout Editor¡±. We encourage as many people as possible to download these and _test_ them, so that new problems can be found ASAP. The test release process doesn¡¯t work unless people do that.
Generally, all the small numbered test releases are made with all the contributed changes up to that point; they¡¯re meant to be inclusive. Toward the end of the sequence, though, the risk-reward ratio changes: We don¡¯t want to introduce a new bug in the last test release before a production release. Partly that¡¯s because the test process isn¡¯t perfect; partly that¡¯s because such big changes can often wait a little bit anyway.
People working on new features and fixes really do try to not break things. We¡¯ve got lots of automated and manual testing in place. But JMRI is large, complicated, and has lots of interacting features: We need users to check things to make sure that JMRI still works for _them_. So it¡¯s very helpful for people to install and check a test release or two between production releases. At a minimum, we request that people download and use a new production release once a year or so: The further behind a layout is, the bigger the step forward when it has to be updated, and the more likely that unexpected issues will arise. If that happens at the same time as a new computer, or a change to the layout, or multiple issues are present, then it can be really complicated and time-consuming to resolve.
*) Between test releases, during that month of accumulation, there are ¡°development¡± release available. These are called names like 4.17.1-ish, 4.17.2-ish, and they¡¯re built several times a day if changes have been made. They are truly the latest and greatest. A few hours after a change is made, it can be gotten from one of those (the change mentioned here has already been built into these: ) People can download and install these to check new features of interest to them. If problems are found and reported, the whole process moves along even better.
Bob
--
Peter Ulvestad
JMRI Users Group Moderator - ( )
Tam Valley Group Moderator - ( )
Sprog-DCC Group Moderator - ( )
Edmonton Model Railroad Association -