This is the changelog for Calamares. For each release, the major changes and contributors are listed. Note that Calamares does not have a historical changelog -- this log starts with version 3.3.0. See CHANGES-3.2 for the history of the 3.2 series (2018-05 - 2022-08). # 3.3.0-alpha4 (unreleased) Another closing-in-on-3.3.0 release! One of the big changes is that Calamares -- the core and nearly all of the modules in this repository -- are compatible with Qt6. That is, it compiles. Functionality has not been tested, but early-testing distributions are encouraged to submit pull requests to improve the code. This release contains contributions from (alphabetically by first name): - Adriaan de Groot - Anke Boersma - Evan James - Hector Martin - Ivan Borzenkov ## Core ## - Qt6 compatibility. You can choose Qt5 (with KDE Frameworks 5) as before, or choose Qt6 (with KDE Frameworks 6). This means that a Qt6-based Linux distribution can use Calamares without needing an extra version of Qt. Note that some KDE Frameworks are required as well, and those need to be Qt6-based also (and are not released as of September 2023). - C++ namespaces have been shuffled around and `CalamaresUtils` has been retired. This has an effect on all C++ plugins, since this is neither a binary- nor source-compatible change. ## Modules ## - *keyboard* module can now be explicitly configured to use X11 keyboard settings or the FreeDesktop locale1 DBus service. The latter is most useful for Calamares as an "initial setup" system, not an installer, in a Wayland session. (thanks Hector) - *keyboard* module now writes X11 layout configuration with variants for all non-ASCII (e.g. us) layouts. (thanks Ivan) - *keyboard* module now can configure keyboard switch. (thanks Ivan) # 3.3.0-alpha3 (2023-08-28) This release contains contributions from (alphabetically by first name): - Adriaan de Groot - Aleksey Samoilov - Anke Boersma - Arjen Balfoort - Boria138 - Brian Morison - Emir Sari - Evan Goode - Evan James - Ficelloo - Hector Martin - Jeremy Attall - Johannes Kamprad - Kasta Hashemi - Kevin Kofler - Mario Haustein - Masato TOYOSHIMA - Panda - Paolo Dongilli - Peter Jung - Philip Müller - Shivanand - Sławomir Lach - Sunderland93 - wiz64 ## Core ## - Incompatible module-configuration changes, see #1438. - Branding entries use ${var} instead of @{var} for substitutions, in line with all the other substitution mechanisms used from C++ core. See documentation in `branding.desc`. - Boost::Python requires at least version 1.72. - KDE Frameworks must be version 5.58 or later. - The `INSTALL_CONFIG` option has been removed. If you are installing the example configuration files from the Calamares repository, just stop. That was never a good idea, and you should keep your configs elsewhere. - Progress percentage during install can now be localized. (thanks Emir) ## Modules ## - *dracut* added a configurable kernel name. (thanks Anke) - *initcpiocfg* orders hookds slightly differently. (thanks Peter) - *localeq* moved to using Drawer instead of ComboBox in UI. (thanks Anke) - *keyboardq* moved to using Drawer instead of ComboBox in UI. (thanks Anke) - *netinstall* now has a new *noncheckable* option for groups, which prevent it a group from being checked/uncheckd as a whole. You can still check individual items **in** the group though. (thanks Shivanand) - *partition* can now pick LUKS or LUKS2. (thanks Jeremy) - *zfs* creates a hostid through zgenhostid. - *zfshostid* new module to copy zfs generated /etc/hostid # 3.3.0-alpha2 (2022-08-23) Second alpha release, with updated ABI compatibility checking, some 3.3.0 release goals, new features in modules and important bugfixes. This release contains contributions from (alphabetically by first name): - Adriaan de Groot - Anke Boersma - Evan James - Shivanand - Vitor Lopes ## Core ## A core **TODO** is moving all library code into the `Calamares` namespace, dropping the `CalamaresUtils` namespace. Modern C++ supports nested namespaces, so in some cases we can use those. This has a drastic effect on ABI compatibility, though, as functions move from one namespace to another. This needs to be completed before a 3.3.0 with ABI stability is released. ## Modules ## Module schemas have been updated to reflect all the incompatible changes. # 3.3.0-alpha1 (2022-06-27) Initial 3.3.0 alpha release to check the release scripts &c. This release contains contributions from (alphabetically by first name): - Adriaan de Groot - Aleksey Samoilov - Anke Boersma - Dan Simmons - Evan James - Peter Jung # 3.3.0-pre-alpha (unreleased) # This release contains contributions from (alphabetically by first name): - Anke Boersma - Anubhav Choudhary - Evan James - Vitor Lopes This is a "minor" version change, but the size of the changes is very large. Configuration files from previous versions of Calamares will **certainly** need to be re-validated. Take heed of the many changes in the *Modules* heading, below. Users (distributions) are **strongly** advised to use the tools for configuration validation (`ci/configvalidator.py`) to check that the distribution configuration files follow the current schema. ## Project ## - The C++ code in the project is now formatted with clang-format 12 or 13, with the coding-style as found in `.clang-format`; there are minor differences from the tool, compared to the clang-format 9 usually applied to Calamares 3.2. - The CMake code in the project is now formatted with gersemi 0.7.5. ## Core ## - CMake 3.16, Qt 5.15 are now required; the newer CMake is to support new features (also for KDE Frameworks), Qt is the current LTS version. - Running `calamares -d` no longer enforces a single-application (it is for debugging purposes, after all). - Python 3.6 or later is now required, to allow for F-strings in Python code and allow other tidy-ups in the Python modules. Boost::Python now requires 1.67 or later (for CMake support). - The log file now **always** contains a debug-log, and the `-D` flag primarily controls what is printed to stdout. By default, stdout only gets errors; use `-D6` to match stdout with the file. Use `-D8` to get an extra-verbose log file **and** verbose stdout. ## Modules ## - *bootloader* now supports more options when building the kernel command-line. (Thanks Evan) - *bootloader* no longer supports `@@`-style suffixes for unique-EFI-id generation. Use `${}` instead. - *displaymanager* no longer supports the discontinued *kdm* display manager. - *fstab* configuration has been completely re-done. Many configuration options have moved to the *mount* module. See #1993 - *grubcfg* changed the key *keepDistributor* to *keep_distributor*. Please update configurations. - *mount* now does most of the mounting; options that were in *fstab* have moved here. See #1993 - *oemid* now uses consistent variable replacement (e.g. KMacroExpander) and does not support `@@DATE@@` anymore (use `${DATE}`). - *partition* requires KPMCore 21.12 (e.g. KPMCore 4.2 API, or later). - *partition* can now skip installing the bootloader in more scenarios. #1632 (Thanks Anubhav) - *preservefiles* follows `${}` variable syntax instead of `@@`.