|
|
|
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.2.0. The release notes on the
|
|
|
|
website will have to do for older versions.
|
|
|
|
|
|
|
|
# 3.2.12 (unreleased) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.11 (2019-07-06) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- No other contributors this time around.
|
|
|
|
|
|
|
|
This is a security release with no functional changes (except for
|
|
|
|
improved security) relative to 3.2.10. The Calamares team would like
|
|
|
|
to acknowledge the help of the following people in reporting and
|
|
|
|
understanding the issues (alphabetically by first name):
|
|
|
|
- Kevin Kofler
|
|
|
|
- Seth Arnold
|
|
|
|
- Simon Quigley
|
|
|
|
- Thomas Ward
|
|
|
|
Both CVE's have been resolved.
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
No core changes.
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
- *initramfs* could create an initramfs with insecure permissions.
|
|
|
|
Since the keyfile is included in the initramfs, an attacker could
|
|
|
|
read the file from the initramfs. #1190 CVE-2019-13178
|
|
|
|
- *luksbootkeyfile* created a key file where a window of opportunity
|
|
|
|
existed where the key file could have too-lax file permissions.
|
|
|
|
#1191 CVE-2019-13179
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.10 (2019-06-28) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- No other contributors this time around.
|
|
|
|
|
|
|
|
Distributions are **advised** to check the slideshow they use for the
|
|
|
|
installation step; changes in loading and translation mechanisms may
|
|
|
|
require changes in the slideshow.
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
- With this release, option *WITH_PYTHONQT* changes default to **off**.
|
|
|
|
There does not seem to be any serious use of the PythonQt API and
|
|
|
|
the UI opportunities it offers, so begin the process of deprecating
|
|
|
|
and removing that. Sometime in the future, QML pages will fill the
|
|
|
|
gap for easily-prototyped-yet-slick UI elements.
|
|
|
|
- A crash when no *finished* page (or rather, no page at all) is
|
|
|
|
configured after the last *exec* section of the sequence has been
|
|
|
|
solved. The *finished* page can be left out (but then you don't get
|
|
|
|
the restart-now functionality). #1168
|
|
|
|
- The *slideshow* which is run during installation now has API versions.
|
|
|
|
API version 1 (the default) runs as before, where the slideshow is loaded
|
|
|
|
when the installation starts. API version 2 loads the slideshow on
|
|
|
|
Calamares startup, thus improving responsiveness. Documentation
|
|
|
|
in `src/branding/README.md`. #1152
|
|
|
|
- The example slideshow now uses API version 2.
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
- *initramfs* has been changed from a Python module to a C++ module.
|
|
|
|
Packaging will need to adjust now it installs a .so instead of a .py.
|
|
|
|
The module itself functions as before. It does have a new configuration
|
|
|
|
option, to change the version passed as to the `-k` option of
|
|
|
|
update-initramfs. #1180
|
|
|
|
- *partition* Now has its own setting for *requiredStorage*, duplicating
|
|
|
|
the same setting in the *welcome* module. This is useful for
|
|
|
|
configurations where no *welcome* module is used, but a minimum
|
|
|
|
size must be checked anyway. #1169
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.9 (2019-06-03) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- Kevin Kofler
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
No user- or deployer-visible changes. Bugfixing as usual, see the
|
|
|
|
milestone for details.
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
- *branding* now supports os-release variables in the *strings* section,
|
|
|
|
which allows re-using (at runtime) information set in /etc/os-release .
|
|
|
|
This requires KDE Frameworks 5.58. #1150
|
|
|
|
- *branding* allows the use of FreeDesktop.org icon names for the
|
|
|
|
*productLogo* and *productIcon* keys. If a file is named there, then
|
|
|
|
the file is used, and otherwise the icon is looked up in the current
|
|
|
|
theme. #1160
|
|
|
|
- *packages* On Arch, with the `pacman` package manager, avoid a hang
|
|
|
|
during system update. #1154
|
|
|
|
- *welcome* allows a custom image path or icon name to be set for the
|
|
|
|
language-selection drop-down (instead of the international standard one).
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.8 (2019-05-10) #
|
|
|
|
|
|
|
|
This is a **source-incompatible** release of Calamares. Include files
|
|
|
|
have been shuffled around, so third-party C++ modules will need
|
|
|
|
adjustment to the changed names.
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- Arnaud Ferraris
|
|
|
|
- Kevin Kofler
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
- All user-visible texts referring to "MB" and "GB" now use the standard
|
|
|
|
"MiB" and "GiB" wording, which matches what we were actually calculating
|
|
|
|
with (i.e. 2^20 and 2^30 respectively). #1129
|
|
|
|
- The side-pane, which shows the list of steps that will be executed,
|
|
|
|
now tries to fit the text (name of each module) into the available space
|
|
|
|
by shrinking the font as needed. #1137
|
|
|
|
- *libcalamares* (accidentally) linked with Qt's GUI libraries when
|
|
|
|
PythonQt was found. This led to the odd situation where the non-GUI
|
|
|
|
Calamares library depends on a bunch of GUI libraries.
|
|
|
|
- *libcalamares* The `utils/` subdirectory has been hugely refactored,
|
|
|
|
with functionality split out into separate files. C++ modules will
|
|
|
|
need to have their `#include` names updated. Basically, users of
|
|
|
|
`utils/CalamaresUtils.h` will need to include the header file for
|
|
|
|
the functionality that is actually used.
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
- *finished* has a new mechanism for configuring the behavior of the
|
|
|
|
*restart now* button. The old-style boolean configuration is still
|
|
|
|
supported but generates a warning. #1138
|
|
|
|
- *locale* module GeoIP configuration has a new preferred format.
|
|
|
|
See `locale.conf` for details. The old configuration is still
|
|
|
|
supported but will be phased out before 3.3.0 -- in particular,
|
|
|
|
support for "legacy" format will be removed, since that was a
|
|
|
|
crutch for the disappearance of one GeoIP provider in 2018.
|
|
|
|
- *oemid* is a new module for configuring OEM phase-0 (image pre-mastering,
|
|
|
|
or pre-deployment) things. It has limited functionality at the moment,
|
|
|
|
writing only a single batch-identifier file. #943
|
|
|
|
- *welcome* can now do GeoIP lookups as well (but be careful with the
|
|
|
|
configuration, since you need a GeoIP that provides country information,
|
|
|
|
not just timezones). This will let Calamares select a starting language
|
|
|
|
that matches where it is -- which might not be useful at all. #934
|
|
|
|
- All Python modules now bail out gracefully on (at least some) bad
|
|
|
|
configurations, rather than raising an exception. The pre-release
|
|
|
|
scripts now test for exceptions to avoid shipping modules with
|
|
|
|
ImportError or SyntaxError results.
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.7 (2019-04-27) #
|
|
|
|
|
|
|
|
This is a **hotfix** release for regressions introduced in the
|
|
|
|
Python modules. The *localecfg* module was unusable because of
|
|
|
|
a missing `import`.
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.6 (2019-04-25) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- Arnaud Ferraris
|
|
|
|
- Dominic Hayes (feren)
|
|
|
|
- Raul Rodrigo Segura (raurodse)
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
* Under-the-hood code cleanups in lots of parts of the core. Calamares now
|
|
|
|
builds without warnings when Clang 8 is used.
|
|
|
|
* A new *disable-cancel-during-exec* setting provides more fine-grained
|
|
|
|
control than *disable-cancel*, which hides the button entirely.
|
|
|
|
#1122 (Thanks to Dominic, FerenOS)
|
|
|
|
* A branding module can now also cause a stylesheet to be loaded, which
|
|
|
|
will be applied to the widgets inside Calamares. #961 (Thanks to Raul)
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
* All of the Python-based modules now have translations enabled. #991
|
|
|
|
* *Displaymanager* module has improved support for LightDM configuration.
|
|
|
|
#1123 (Thanks to Dominic, FerenOS)
|
|
|
|
* *License* module can now display local files inline, and scrolls to
|
|
|
|
allow longer lists of licenses and to support long license texts
|
|
|
|
displayed inline. #1124 #1125 #1052
|
|
|
|
* *Partition* module has additional checks for validity partition layouts.
|
|
|
|
#1127 (Thanks to Arnaud)
|
|
|
|
* *Welcome* module has improved usability: a standard icon
|
|
|
|
alongside the *Language* label, for improved recognition,
|
|
|
|
and improved language-list display and sorting. #1107
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.5 (2019-04-15) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- Arnaud Ferraris
|
|
|
|
- Dan Simmons
|
|
|
|
- Gabriel Craciunescu
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
* View modules (in C++) can now perform their own requirements-checking
|
|
|
|
to see if installation makes sense. This expands upon the existing
|
|
|
|
requirements checks in the welcome module (RAM, disk space, ..).
|
|
|
|
The checks have been made asynchronous, so that responsiveness during
|
|
|
|
requirements-checking is improved and the user has better feedback.
|
|
|
|
* Support for building an AppImage of Calamares has been added to the
|
|
|
|
`ci/` directory. There are use-cases where a containerized build and
|
|
|
|
configuration make sense rather than having Calamares installed in the
|
|
|
|
host system. (Thanks to the AppImage team, Alexis)
|
|
|
|
* OEM mode (phase-1) now correctly refers to Calamares as a "Setup Program"
|
|
|
|
rather than an installer. #1100 (Thanks to Arnaud)
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
* *Bootloader* module: a serious bug introduced in 3.2.4 which prevents
|
|
|
|
succesful boot after installation on EFI machines, has been repaired.
|
|
|
|
(Thanks to Gabriel) #1104
|
|
|
|
* *Displaymanager* module: it is no longer a fatal error to not have any
|
|
|
|
display-managers. #1095
|
|
|
|
* *Partition* module: it is now possible to build without libparted. Since
|
|
|
|
KPMCore may not need this library anymore, it is a dependency that will
|
|
|
|
be dropped as soon as it is feasible. Add this to the CMake flags:
|
|
|
|
`-DCMAKE_DISABLE_FIND_PACKAGE_LIBPARTED=ON`
|
|
|
|
* *Partition* module: the location that is selected for the bootloader,
|
|
|
|
no longer changes when a new partition is created. #1098
|
|
|
|
* Python modules: several modules have had translations added. This is
|
|
|
|
usually only visible when the module runs as part of the *exec* step,
|
|
|
|
when the module's *pretty name* is displayed. In addition, some error
|
|
|
|
messages are now translated.
|
|
|
|
* *UnpackFS* module: improved progress reporting and tests. #565
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.4 (2019-02-12) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- Alf Gaida
|
|
|
|
- aliveafter1000
|
|
|
|
- Arnaud Ferraris
|
|
|
|
- Caio Jordão Carvalho
|
|
|
|
- Collabora LTD
|
|
|
|
- Gabriel Craciunescu
|
|
|
|
- Kevin Kofler
|
|
|
|
- Philip Mueller
|
|
|
|
- Scott Harvey
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
* The Calamares application now recognizes the `-X` or `--xdg-config`
|
|
|
|
option, which adds XDG_DATA_DIRS to the places used to find QML
|
|
|
|
and branding directories, and XDG_CONFIG_DIRS to the places used
|
|
|
|
to find the global settings and module configurations. This allows
|
|
|
|
a more fine-grained, and more layered, approach to setting up
|
|
|
|
Calamares configurations (in particular, distro's can **add**
|
|
|
|
configuration files and give them priority, instead of **forking**
|
|
|
|
configuration files).
|
|
|
|
* The *branding* file now contains settings that control the size
|
|
|
|
and resize behavior of Calamares. See the branding file for
|
|
|
|
more documentation. In particular, the setting *windowExpanding*
|
|
|
|
can be set to *normal*, *fullscreen* or *noexpand*.
|
|
|
|
* The `settings.conf` file can now configure whether the *Cancel* button
|
|
|
|
is shown (this isn't a branding thing, because it's quite fundamental
|
|
|
|
to the workflow of the installer).
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
* The *partition* module supports RAID devices, but only when Calamares
|
|
|
|
is compiled with the newest KPMCore release (3.3.0).
|
|
|
|
* The calculation of required space -- including swap -- has been simplified,
|
|
|
|
and Calamares no longer reserves 2GiB of space in calculations for internal
|
|
|
|
use (this means that it no longer mysteriously drops swap when the disk
|
|
|
|
size is close to the required installation size).
|
|
|
|
* The name of the type of default filesystem (e.g. ext4 or btrfs) is now handled
|
|
|
|
case- and localization-insensitively. This means that *btrfs* is now always
|
|
|
|
an acceptable spelling.
|
|
|
|
* The currently-selected disk device is remembered between manual partitioning
|
|
|
|
and the partitioning-overview pages. (Thanks to Arnaud)
|
|
|
|
* *partition* There is new support for partitioning layout presets.
|
|
|
|
See `partition.conf` for documentation and details.
|
|
|
|
* The *keyboard* module now handles the (bogus) Austrian keymap for
|
|
|
|
the system console properly. (Thanks to Kevin)
|
|
|
|
* The *preservefiles* module now has a mechanism for setting the permissions
|
|
|
|
(and ownership) of preserved files. (Thanks to Scott)
|
|
|
|
* New module *fsresizer* can be used to resize filesystems. It is intended
|
|
|
|
for use in OEM installs where an image of fixed size is created,
|
|
|
|
and then sized to the actual SD card the user has used.
|
|
|
|
* The *mount* module now handles missing *extraMounts* and *extraMountsEfi*
|
|
|
|
keys gracefully (this is probably a misconfiguration, though, and gives a
|
|
|
|
warning).
|
|
|
|
* The *packages* module now supports pre- and post-script options
|
|
|
|
for all operations, not just during install (keep in mind that
|
|
|
|
these run as three separate shells, though).
|
|
|
|
* A new *rawfs* module supports straightforward copying of filesystems from
|
|
|
|
the installation media to the target stystem. This can be used, for instance,
|
|
|
|
for block-level-identical installations.
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.3 (2019-01-09) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- aliveafter1000
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
There are no core changes in this release.
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
* *partition* Fixed bug where, during detection of existing systems, the
|
|
|
|
existing system partitions may be mounted and then files deleted.
|
|
|
|
This is a **limited** version of the patch from aliveafter1000
|
|
|
|
that will be in 3.2.4, which tries harder to mount filesystems
|
|
|
|
read-only and unmodifiable.
|
|
|
|
* *locale* It was possible to set the installer and system language
|
|
|
|
(e.g. to German) while the global storage value for *locale*
|
|
|
|
remained set to English. Then no localization packages are installed
|
|
|
|
(see feature `${LOCALE}` in `packages.conf`). Reported downstream
|
|
|
|
in Netrunner.
|
|
|
|
|
|
|
|
|
|
|
|
# 3.2.2 (2018-09-04) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- Andrius Štikonas
|
|
|
|
- artoo@cromnix.org
|
|
|
|
- Caio Jordão Carvalho
|
|
|
|
- Harald Sitter
|
|
|
|
- Philip Müller
|
|
|
|
- Simon Quigley
|
|
|
|
- Walter Lapchynski
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
* Example configurations are **no longer installed** by default.
|
|
|
|
The default setting for *INSTALL_CONFIG* has changed. Distributions
|
|
|
|
are strongly encouraged to write their own configuration files and
|
|
|
|
not rely on the example configuration files. Example configurations
|
|
|
|
may change unpredictably.
|
|
|
|
* It is now possible to express module dependencies through the
|
|
|
|
*requiredModules* key in `module.desc`. All of the required modules
|
|
|
|
for a given module must occur in the sequence **before** the module
|
|
|
|
requiring them. None of the core modules use this facility.
|
|
|
|
* The search paths for QML files, branding descriptors and module
|
|
|
|
descriptors have been revamped and now self-document in the log.
|
|
|
|
* A new `ci/RELEASE.sh` script has been added to streamline releases;
|
|
|
|
it is not guaranteed to work anywhere in particular though.
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
* When multiple modules are mutually exclusive, or don't make sense
|
|
|
|
to enable concurrectly, a new `USE_<foo>` framework has been added
|
|
|
|
to CMake to simplify the selection of modules. This is in addition
|
|
|
|
to the existing `SKIP_MODULES` mechanism.
|
|
|
|
* Various off-by-one-sector errors in the automatic partitioning
|
|
|
|
mode have been corrected. In addition, swap space is calculated
|
|
|
|
a little more conservatively.
|
|
|
|
* A new module has been added to the core which can configure openrc
|
|
|
|
services. To make services configuration consistent:
|
|
|
|
- The *services* module has been **renamed** *services-systemd*,
|
|
|
|
- The openrc module is named *services-openrc*,
|
|
|
|
- At CMake time, it is possible to select all of the services modules,
|
|
|
|
or one specific one, by setting the *USE_services* CMake variable.
|
|
|
|
By default, all of the modules are built and installed.
|
|
|
|
* The systemd-services module can now disable targets and mask both
|
|
|
|
targets and services (which will allow you to break the system with
|
|
|
|
a bad configuration). The configuration is a little more flexible
|
|
|
|
because a service (or target) name can be used on its own with
|
|
|
|
sensible defaults.
|
|
|
|
* The displaymanager module has been entirely revamped. A long-standing
|
|
|
|
bug which ignored the settings for default desktop has been fixed
|
|
|
|
(thanks to Walter Lapchynski). Translations have been added to the
|
|
|
|
error messages. Each DM now has an implementation class for doing
|
|
|
|
all the configuration steps it needs. This groups the code needed for
|
|
|
|
a specific DM (and presumably, per-distro) in one place.
|
|
|
|
Distro's are **strongly advised** to re-test their DM configuration
|
|
|
|
and installation with the revamped code.
|
|
|
|
|
|
|
|
# 3.2.1 (2018-06-25) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- Bill Auguer
|
|
|
|
- Gabriel Craciunescu
|
|
|
|
- Phil Mueller
|
|
|
|
- Raul Rodrigo Segura
|
|
|
|
|
|
|
|
## Core ##
|
|
|
|
|
|
|
|
* Qt 5.7 is now the minimum required Qt version. Because KPMCore
|
|
|
|
(a fairly fundamental dependency) requires Qt 5.7, Calamares
|
|
|
|
has followed suit.
|
|
|
|
* New testing application `loadmodule` for loading and running a
|
|
|
|
single Calamares module.
|
|
|
|
* New translations Belarussian and Korean.
|
|
|
|
* Jobs can now be *emergency jobs* which run even after a failure.
|
|
|
|
* Improved debugging when modules fail to load.
|
|
|
|
* Bad configuration files will now cause the user-interface of
|
|
|
|
Calamares to display an error message, rather than silently
|
|
|
|
ignoring some configuration errors. This will certainly cause
|
|
|
|
problems for distributions with sloppy configurations.
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
* New module preservefiles, keeps (log) files around after install;
|
|
|
|
this duplicates functionality with the unmount module, but unmount
|
|
|
|
is very late, rather limited, and fragile.
|
|
|
|
* Interactiveterminal module now disables itself if build requirements
|
|
|
|
are not met, rather than blocking the build.
|
|
|
|
* Fixes in the timezone map data make the southern hemisphere more
|
|
|
|
usable and put Reykjavik in its place.
|
|
|
|
* The packages module can now update the target system if explicitly
|
|
|
|
told to do so.
|
|
|
|
* More paths and executables are configurable in the bootloader module.
|
|
|
|
* Distributions are advised to review the `users.conf` setup **again**,
|
|
|
|
as some changes in version 3.2.0 caused regressions downstream.
|
|
|
|
* Distributions are advised to review their `locale.gen` files
|
|
|
|
**again**. Previous changes were too restrictive, matching only
|
|
|
|
the specific format Chakra Linux uses. Calamares now preserves
|
|
|
|
all the comment-lines in the file and writes enabled locales
|
|
|
|
at the end, with a descriptive comment.
|
|
|
|
|
|
|
|
# 3.2.0 (2018-05-17) #
|
|
|
|
|
|
|
|
This release contains contributions from (alphabetically by first name):
|
|
|
|
- Alf Gaida
|
|
|
|
- AlmAck
|
|
|
|
- Caio Jordão Carvalho
|
|
|
|
- Frede H
|
|
|
|
|
|
|
|
## Modules ##
|
|
|
|
|
|
|
|
* UI annoyances in the partitioning module were fixed; the
|
|
|
|
mount-point selector is now more obvious when no mount-point
|
|
|
|
has been chosen, and the mount-point and flags are preserved
|
|
|
|
when (re)editing partitions.
|
|
|
|
* The handling of `@@ROOT@@` substitution in shellprocesses was
|
|
|
|
backwards; this has been fixed (the substitution is made when
|
|
|
|
running in the **host**).
|
|
|
|
* The user shell is no longer hard-coded to `/bin/bash`,
|
|
|
|
but follows the default setting for useradd(8), e.g.
|
|
|
|
those set in `/etc/default/useradd`.
|