Skip to content

Customize also the version on Windows metadata

@ruihildt told us some users would like the Windows binaries to have the Mullvad Browser version number, instead of Firefox's.

We already do it for the installer, and we could do the same for the binaries produced by the Moz build system.

The biggest caveat is that Windows has two versioning properties: file version and product version.
The former is made of 4 (unsigned, probably) integers, the latter is a free string.

So, we can customize the latter immediately with the macro we use for versions elsewhere.

For the installer, we decided to customize the file version to the browser series (e.g., 12.0.0.0, 12.5.0.0, etc), to avoid confusion with alphas.
We have a few possibilties here:

  1. keep Firefox's version;
  2. parse our version string, and extract 4 integers whenever possible;
  3. add a flag only for Windows versions and pass it as file version.

For 2 and 3, we have another question to solve:

  • for releases, we can use the actual version number, without problems
  • for alphas, we could do something like major.minor.0.alpha_num, so, 12.5a6 would be 12.5.0.6. Alphas would have a higher number than the first release, but apart from that they will have a smaller number than the release
  • for alphas, we could also do major.minor - 1.alpha_num.0, so 12.4.6 for 12.5a6
  • for nightlies, local builds and so on we don't have an easy solution (at most we can do major.minor.year.MMDD or major.minor.year.day_of_the_year for nightlies)

In any case, we should look up for WIN32_MODULE_PRODUCTVERSION_STRING in the code, and probably change config/create_rc.py, too.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information