Shorewall Release Model
Tom
Eastep
2004-07-21
2004
Thomas M. Eastep
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version
1.2 or any later version published by the Free Software Foundation; with
no Invariant Sections, with no Front-Cover, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
GNU Free Documentation License
.
Shorewall Releases
Releases have a three-level identification
x.y.z (e.g., 2.0.3).
The first two levels (x.y) designate the
Major Release Number (e.g., 2.0).
The third level (z) designates the
Minor Release Number.
Even numbered major releases (e.g., 1.4, 2.0, 2.2, ...) are
Stable Releases. No major new features are
added to stable releases and new minor releases of a stable release
will only contain bug fixes and simple low-risk enhancements.
Installing a new minor release for the major release that you are
currently running involves no migration issues unless you want to take
advantage of an enhancement (for example, if you are running 1.4.10
and I release 1.4.11, your current configuration is 100% compatible
with the new release).
Support is available through the Mailing List for the two most
recent Stable Releases.
Odd numbered major releases (e.g., 2.1, 2.3, ...) are
Development Releases. Development releases are
where new functionality is introduced. Documentation for new features
will be available but it may not be up to the standards of the stable
release documentation. Sites running Development Releases should be
prepared to play an active role in testing new features. Bug fixes and
problem resolution for the development release take a back seat to
support of the stable releases. Problem reports for the current
development release should be sent to the Shorewall Development
Mailing List.
When the level of functionality of the current development
release is judged adaquate, the Beta period for
a new Stable release will begin. Beta releases have identifications of
the form x.y.0-BetaN where x.y
is the number of the next Stable Release and N=1,2,3...
. Betas are expected to occur rougly once per year. Beta releases may
contain new functionality not present in the previous beta release
(e.g., 2.2.0-Beta4 may contain functionality not present in
2.2.0-Beta3). When I'm confident that the current Beta release is
stable, I will release the first Release Candidate.
Release candidates have identifications of the form
x.y.0-RCn where x.y is the
number of the next Stable Release and n=1,2,3...
. Release candidates contain no new functionailty -- they only contain
bug fixes. When the stability of the current release candidate is
judged to be sufficient then that release candidate will be released
as the new stable release (e.g., 2.2.0). At that time, the new stable
release and the prior stable release are those that are supported.
What does it mean for a major release to be
supported? It means that I will answer
questions about the release and that if a bug is found, I will fix the
bug and include the fix in the next minor release.
Between minor releases, bug fixes will continue to be made
available through the Errata page for
each major release.
The currently-supported major releases are 1.4 and 2.0.
Old Release Model
This release model described above was adopted on 2004-07-03 and
modified 2004-07-21. Prior to 2004-07-03, a different release model was
followed. Highlights of that model were:
Releases were numbered in a manner similar to the current
release model.
Major new functionality was added in minor releases of the
current major release. There was no concept of Stable vs Development
major releases.
Bug fix only releases were always against the last minor release
of a major release and had identifications of the form
x.y.zX (e.g., 2.0.3c) where X=1,b,c,...
. Consequently, if a user required a bug fix but was not running the
last minor release of the associated major release then it might be
necessary to accept major new functionailty along with the bug fix.