# stable/12/UPDATING vs. releng/12.1/UPDATING



## octix (Apr 29, 2020)

Hello,

I would like to make world from sources using `stable/12` however I am confused about `stable/12/UPDATING`, I don't see recent fixes mentioned in the same way as in `releng/12.1`.

Anyone knows why these look so different? I mean, I am basically expecting `stable/12/UPDATING` to contain the `releng/12.1/UPDATING` + new changes. I wonder if these are updated/maintained manually and the only way to tell is based on rev number, which at the moment they match stable vs releng.



			https://svn.freebsd.org/base/stable/12/UPDATING
		

vs.


			https://svn.freebsd.org/base/releng/12.1/UPDATING
		


Thank you in advance.


----------



## SirDice (Apr 30, 2020)

Releases are branched off from -STABLE and start their own separate lives.


----------



## octix (Apr 30, 2020)

SirDice said:


> Releases are branched off from -STABLE and start their own separate lives.


Do the fixes that get into patch updates  (p1, p4, etc) have the same process? CURRENT, STABLE, RELEASE?
Thanks.


----------



## Remington (Apr 30, 2020)

From what I understand about four different releases...

CURRENT is in testing with new features and NOT suitable for production servers.
STABLE have bug fixes, security updates and its suitable for production servers.
RELENG have security updates and suitable for production servers.
RELEASE is an original release without any updates.

I generally stick with RELENG unless if run into known bugs then use STABLE if bugs are fixed. Sometimes bug fixes in STABLE may have unintended results because bug fixes are not fully tested. It all depends if you're running mission critical server then RELENG is a better pick.


----------



## scottro (Apr 30, 2020)

There's an old article by Fred Cash, written around the time when 4, 5, and 6 were out at once. He kindly gave me permission to put it up at the time and it's still there. Despite its age, the article gives a good explanation

http://srobb.net/release.html  (Note at the time the article was written, one used cvsup or csup rather than svn or svnlite.)


----------



## octix (Apr 30, 2020)

So, in conclusion, for `STABLE` branch I cannot rely on `/usr/src/UPDATING` instead I could use svn log e.g. `svnlite log /usr/src --limit 20` if I'd want to follow the changes... or https://svnweb.freebsd.org/base/stable/12/ (can't find the log view though).


----------



## SirDice (Apr 30, 2020)

Remington said:


> STABLE have bug fixes, security updates and its suitable for production servers.


-STABLE also gets new features and enhancements (those were tested in -CURRENT first). Basically -STABLE is the alpha of the next minor release version.


----------



## suntzu00 (Apr 30, 2020)

some companies run CURRENT on production(cough cough Netflix) so if you're brave enough...


----------



## Remington (May 1, 2020)

suntzu00 said:


> some companies run CURRENT on production(cough cough Netflix) so if you're brave enough...



I'm sure they do trial runs before deploying it on their production servers.


----------



## SirDice (May 1, 2020)

suntzu00 said:


> some companies run CURRENT on production(cough cough Netflix) so if you're brave enough...


They also know what they're doing and are extremely familiar with the code (they regularly submit and maintain patches and improvements). This isn't about being brave enough, they're actively developing and improving FreeBSD.

For example: https://reviews.freebsd.org/D15525


----------



## suntzu00 (May 1, 2020)

oh absolutely. they're not doing that blindly SirDice


----------



## octix (May 1, 2020)

Even if Netflix would not be familiar with the code, they could still be "brave". From what I read they are pretty good with handling failures, at their scale it would be difficult to babysit each server. Technically a failed upgrade/buildworld/etc would not be any different from a failed hardware, so rolling out in phases and/or canary + metrics should allow detecting issues. IMHO of course...


----------

