WiX v3.14: Details about WiX pi
Over five years ago, I announced the new plan for WiX v3.x. I was quite the prophet—I predicted ongoing WiX v3.x releases:
As long as there are interested users and willing contributors, we’ll release WiX v3.8, v3.9, v3.10, and so forth.
We went beyond that to WiX v3.11 and multiple point releases each for WiX v3.10 and v3.11.
My favorite bit of prophecy, however, is:
(My personal hope is that we have reason to ship WiX v3.14. Because everyone loves WiX pi.)
Somehow, I accidentally convinced Rob to release WiX v3.14. But there is no WiX v3.12 nor the unlucky WiX v3.13. That’s because WiX v3.14 is not a typical incremental WiX v3.x release. It’s something different.
What’s special about WiX v3.14?
All other releases of WiX v3.x have been intended to be the “latest, greatest, and compatible WiX.” Source compatibility with existing WiX authoring was critical—and hey, we did a good job with that. But the purpose behind WiX v3.14 is not to be the latest minor release of WiX v3.x or even the last minor release of WiX v3.x. Instead…let’s highlight it:
The primary purpose behind WiX v3.14 is to help you move your WiX projects to WiX v4.0.
Specifically, rather than maintaining compatibility with existing WiX v3.x, WiX v3.14 explicitly breaks compatibility wherever it would complicate moving to WiX v4.0. The goal is that if you can cleanly build your WiX projects with WiX v3.14, you will be able to automatically convert it to WiX v4.0. Functionality that has been deprecated in WiX v3.x—throwing warnings—will be removed in WiX v4.0—throwing errors.
For example, we plan to drop support for MSBuild 3.5 in WiX v3.14 (something WiX v4 did long ago), so if you have a complicated setup build that somewhere relies on MSBuild 3.5, WiX v3.14 will reveal that dependency. There are a number of almost-never-used switches to Candle.exe and Light.exe that were deprecated in WiX v3.x and are obsolete in WiX v4.0—so will also be removed in WiX v3.14 to get the same level of obsolescence as WiX v4.0.
In general, work that doesn’t move forward the goal of helping move projects to WiX v4.0 is unlikely to happen in WiX v3.14. That means that we’re not looking to use WiX v3.14 as a general ship vehicle for the latest bug fixes or features. The purpose of WiX v3.14 is to help you get to WiX v4.0, so it’s a release you use briefly before moving on to WiX v4.0, not adopt for the long term.