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.3 (unreleased) =

This release contains contributions from (alphabetically by first name):
 - aliveafter1000

== Core ==

== Modules ==

 * Fixed bug where, during detection of existing systems, the existing
   system partitions may be mounted and then destroyed.

= 3.2.2 (2018-09-04) =

This release contains contributions from (alphabetically by first name):
 - Andrius Štikonas
 - artoo@cromnix.org
 - Caio 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 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`.