|
|
|
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.8 (unreleased) #
|
|
|
|
|
|
|
|
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 ##
|
|
|
|
|
|
|
|
- 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
|
|
|
|
- *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
|
|
|
|
- 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`.
|