There are no releases of
-CURRENT, because it's not ready yet. 10-CURRENT may not even compile from time to time, how are you going to make a release from it?
The
-RELEASE means stable and frozen base system (frozen in time -- it's not being updated), from which you can save your base system when Hell breaks loose. The
-RELENG branch is the same as the
-RELEASE, but it's being updated with security patches.
Then you have two development branches
-STABLE and
-CURRENT. The
-STABLE doesn't mean it won't break (it doesn't bring stability): it just means that the system won't change much. It works OK, but it's being continuously developed, and bugs may creep up in there, so there are no
-STABLE releases either. You can think of it as the "CURRENT" branch for the minor version release: FreeBSD 9-STABLE will eventually be tested enough to form a basis for FreeBSD 9.2.
Then you have the
-CURRENT. The unstable, the most bleeding edge FreeBSD, that includes work in progress, new features that may not be included in the next release if the prove unstable, experimental changes, etc. It is prone to changes, can easily break, and even not all ports are guaranteed to build on it. It's called 10-CURRENT, because with time it will become FreeBSD 10-RELEASE, but it is in fact a "rolling release" FreeBSD.
So in short:
- -RELEASE: stability, tested all round. Once it's out, it doesn't change.
- -RELENG: stability + security patches from -STABLE.
- -STABLE: think of it as the bleeding edge version of the latest RELENG. Gets updates from -CURRENT.
- -CURRENT: the very latest revision of /usr/src.
As such,
-CURRENT cannot go out in
-RELEASE, since it's neither tested, nor is it stable.
You can see
24.5 Tracking a Development Branch for more information.