Age | Commit message (Collapse) | Author |
|
Previously, the Mumble version was encoded with a uint32
in the network protocol reserving 2 bytes for the major
component and 1 byte for each minor and patch.
The versioning format was changed to include a build
number in the patch field. With a recent update (1.4.274)
the patch field exceeded 255 for the first time and broke
the protocol version.
This commit completely reworks how the version is stored
internally and transfered with the network protocol.
The new version is a uint64 and consists of 4 fields with
2 bytes each. This allows each version component to reach
up to 65535. Furthermore, all instances of integer version
types have been replaced with the alias Version::full_t for
a better abstraction. Version literals have been replaced by
Version::fromComponents calls.
Fixes #5827
|
|
|
|
The manipulation of raw version specifiers was turned into constexpr
functions, in order for them to be usable in constexpr expressions.
|
|
Besides the typedef that is meant to be used in code, there is also one
that encodes a type of the exact size (32bit) a raw version is expected
to have.
|
|
|
|
Having a separate RELEASE_ID just unnecessarily complicates drafting
releases. Plus, now that we are using different build numbers for every
new build anyway, a separate release ID is really not necessary.
|
|
The "class" was only used as a namespace anyway. And while we're on it
the entire thing was renamed to "Version" instead of "MumbleVersion".
|
|
Apparently the first commit (59ae429972c16c377135bcccfee646b7df446933)
did not include all files.
Furthermore the used script tended to produce funny results in certain
cases. This has been fixed and as a result thereof a few more changes
were made in this second run.
|
|
This was done by running scripts/updateLicenseHeaders.py and then
manually editing the LICENSE file.
|
|
27471118b58e281d305cc95eda8a262dbbd19bd5 introduced support for the 4th part (build/tweak) of the version, however:
1. It didn't replace all instances of MUMBLE_VERSION_STRING with MUMBLE_VERSION.
2. It accidentally replaced MUMBLE_VERSION_STRING with MUMBLE_RELEASE_ID in MumbleVersion::get()'s signature.
3. It didn't update the regex expression in MumbleVersion::get() to support 4 digits.
This commit fixes all issues listed above.
|
|
The build number can be specified through the new "BUILD_NUMBER" variable.
This change is very important on Windows, for two reasons:
- It allows to easily identify binaries simply by looking at their version.
More specifically, we can guess what build they're part of.
- Right now snapshots can not be updated without uninstalling first, because the version is the same (i.e. 1.4.0).
By increasing the 4th digit of the version for every build we can solve the issue.
This commit also takes care of renaming a few variables so that they're consistent and also clearer.
For example, "version" is now "RELEASE_ID".
|
|
|
|
|
|
This commit adds all the missing includes when the PCH header is not used.
Also, some includes are reordered and/or made consistent (e.g. "#include <QtEndian>" -> "#include <QtCore/QtEndian>").
|
|
|
|
|
|
|
|
|
|
This removes the date and time macro to attempt to get us to
reproducible builds. While I do like the date and time included, it
doesn't really add that much value to our users.
|
|
* some few (4?) files actually already had it
|
|
|
|
|
|
|
|
|
|
|
|
audio wizard without asking first. Add update counter to config for future updates. Add abstraction for Version query/parsing.
|
|
|
|
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@1380 05730e5d-ab1b-0410-a4ac-84af385074fa
|
|
git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@1242 05730e5d-ab1b-0410-a4ac-84af385074fa
|