You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

448 lines
19 KiB
Plaintext

6 years ago
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):
- Bill Auger
- embar
## 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
6 years ago
- 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) #
6 years ago
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 ##
6 years ago
* 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 ##
6 years ago
* 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.
6 years ago
* 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.
6 years ago
# 3.2.1 (2018-06-25) #
6 years ago
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.
6 years ago
# 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`.