123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407 |
- 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.10 (unreleased) #
- This release contains contributions from (alphabetically by first name):
- 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`.
|