That make me think that 'version' should be major.minor.mico, but per
your 'marketing' comment 'release' should be just 'major.minor' (or
something completely different, like how the Java 5.0 release is
version 1.5.0, or the Snow Leopard release of OS X is version 10.6.1
build 10B504). I guess that means we need a release-name theme and
generator... :)
On 2009-09-23, at 13:42, Rami Ojares / AMG Oy wrote:
major = not forward or backward compatible i.e. api was changed
minor = backward compatible but not forward compatible i.e. stuff
was added to api
micro = forward and backward compatible i.e. no changes to api, only
bug fixes, additions to docs etc.
Rami Ojares / AMG Oy wrote:
I have seen in version control systems the convention
major.minor.micro
but that terminology seems very technical.
"version" is neutral.
"release" has a slight taste of marketing hype in it.
"build" is used sometimes to denote micro version and gives the
impression that nothing much has changed. The project has just been
built.
- rami
P T Withington wrote:
It seems that one of the most important things we could do is to
come up with less ambiguous terms than 'version' and 'release',
which seem to be used interchangeably.
'the next version of'
'the next release of'
Are there better terms?
On 2009-09-23, at 11:58, P T Withington wrote:
I'd like to simplify our process for creating (what we call)
'point release's, releases where we are incrementing the 3rd
component of the release ID, which typically only include a very
small number of targeted fixes in response to customer or
maintenance contracts. Since these point releases are typically
only targeted to a single customer, I don't feel we should have
to go through the full [Release Process](http://wiki.openlaszlo.org/Release_Process
).
What I'd like to propose is that we separate out the concept of a
"version" and a "release". Taking the current 4.6.2 branch as an
example, I propose that it would be known as Version 4.6, Release
2. I propose that we would implement this new procedure in trunk
and put it into effect in Version 4.7. Basically, rather than
build.properties having version.id and release.id which are
redundant, we would have version.id be the first two components
of the current version (e.g., 4.7) and release.id would be 0, and
incremented for each point release (should there be any) out of
that branch.
A goal of this simplification is to reduce the overhead of a
point release, so that there is no need to update release notes
or web content to create the point release. The point release
can simply replace the previous point release on the download
server.
The major work that would be needed to do this:
. Adjust the build system to know the difference between version
and release, using the appropriate combination in each place. In
particular, this should remove the requirement that the nightly-
build script has to be updated for each point release, and remove
the point designation from the download paths and images (so the
download page will not need to be updated).
. Adjust any parameterized documentation to know the difference
between @VERSIONID@ and @RELEASEID@, using the appropriate
combination in each place. This should remove the need to update
the release notes for point releases.
. Adjust the LFC and debugger to know the difference between
version and release, using the appropriate combination in each
place. This should simply be a reorganization of the canvas
attributes and the way the debugger prints version and release
info for bug reports, etc.