OSDN Git Service

[locale] Default to English in India
[alterlinux/alterlinux-calamares.git] / CHANGES
1 <!-- SPDX-FileCopyrightText: no
2      SPDX-License-Identifier: CC0-1.0
3 -->
4
5 This is the changelog for Calamares. For each release, the major changes and
6 contributors are listed. Note that Calamares does not have a historical
7 changelog -- this log starts with version 3.2.0. The release notes on the
8 website will have to do for older versions.
9
10 # 3.2.44 (unreleased) #
11
12 This release contains contributions from (alphabetically by first name):
13  - Shrinivas Vishnu Kumbhar (new contributor, welcome!)
14  - whorfin (new contributor, welcome!)
15
16 ## Core ##
17  - No core changes yet
18
19 ## Modules ##
20  - Both *locale* and *keyboard* have received some tweaks for configurations
21    in India; unless the user selects otherwise, English is preferred.
22  - The *luksbootkeyfile* module was reported to be too quick to declare
23    a timeout when applying the keyfile. The timeout has been increased
24    to one minute. (Thanks whorfin)
25
26
27 # 3.2.43 (2021-09-17) #
28
29 This release contains contributions from (alphabetically by first name):
30  - Anke Boersma
31  - Joe Kamprad
32
33 ## Core ##
34  - Translations have been made more consistent. In particular, some *OK*,
35    *Yes*, *No* and *Cancel* buttons that were previously untranslated
36    or "stuck" in the language that Calamares started in, are now
37    changed to the current language as selected in the welcome page.
38  - Documentation improvements from Joe Kamprad. A *sizeLimit* of zero
39    (which is the default if nothing is set in the branding configuration)
40    disables log uploads.
41
42 ## Modules ##
43  - The *keyboardq* module (QML-based UI for keyboard-layout-selection)
44    now features an interactive keyboard preview and has the
45    layout adjusted. (Thanks Anke)
46
47
48 # 3.2.42 (2021-09-06) #
49
50 This release contains contributions from (alphabetically by first name):
51  - Anke Boersma
52  - Artem Grinev
53  - Nico 'dr460nf1r3' (new contributor, welcome!)
54  - Waneon Kim (new contributor, welcome!)
55
56 ## Core ##
57  - No core changes yet
58
59 ## Modules ##
60  - BTRFS partitions are no longer listed as "check in phase 2" in
61    the *fstab* module. (Thanks Nico)
62  - The *keyboard* module (and *keyboardq*) now pick an English layout
63    (with Rupee) for keyboards when the language is English and locale is India,
64    rather than Hindi layout.
65  - The *localeq* module had the i18n.qml rewritten to make it easier
66    to customize. A bug in the layout has been fixed, and the overall
67    look has been updated.
68  - *networkcfg* now translates the "live user" on an ISO to the regular
69    user on the installed system, so that network configuration changes
70    made in the live system are automatically used after installation. #1755
71  - *partition* no longer allows you to delete an extended partition with
72    children (which led to crashes). #1749 (Thanks Artem)
73  - *partition* complains in more detail about the state of the UEFI
74    boot partition (under manual partitioning schemes). #1761
75  - *welcome* can now check multiple URLs to determine if internet connectivity
76    is available. It is still recommended to check the distro home-page or
77    some special "ping" page of the distro, although that has some privacy
78    implications; using example.com or google.com may work as well. Listing
79    multiple URLs will ping each of them in turn until one succeeds. #1669
80  - The work to make a QML version available for all view modules is almost
81    completed. Two new QML modules have been added *packagechooserq* and *summaryq*.
82    Summaryq brings the option to present the summary page in a customizable
83    way, with a bit more of a contemporary look. Packagechooserq adds the option
84    to preselect an item and displays all options in one overview.
85    (Thanks Anke)
86
87
88 # 3.2.41.1 (2021-08-05) #
89
90 This is a hotfix release for a crash in the *partition* module, reported on
91 KDE neon. #1746
92
93
94 # 3.2.41 (2021-07-31) #
95
96 This release contains contributions from (alphabetically by first name):
97  - Anke Boersma
98  - Camilo Higuita
99
100 ## Core ##
101  - The (re)translation framework has been internally re-vamped to be
102    less resource-intensive and to work with all QObjects, not just
103    widgets. Consumers of the translations framework are expected to
104    set up the event filter on the top-level widget(s) manually. Since
105    Calamares and the Calamares-test-applications have been adjusted already,
106    no further action is needed.
107
108 ## Modules ##
109  - When the *keyboard* module is activated, it no longer replaces
110    an explicit user choice (e.g. for a Belgian layout) by a guessed-for-
111    this-language layout (e.g. Danish if you're installing in Danish).
112  - Logic for handling installation lists has been moved around in the
113    *packages* module so that package managers can, in principle,
114    adjust how to handle critical and non-critical package lists.
115  - In the *partition* module, translation code has been simplified.
116  - The *usersq* module has had a fair bit of QML rewritten to make it easier
117    to customize the colors used by the module in a consistent way.
118    (Thanks Anke)
119  - *Welcome* now uses a translated message from the Config object,
120    increasing the sharing between widgets- and QML-modules.
121
122
123 # 3.2.40 (2021-07-14) #
124
125 This release contains contributions from (alphabetically by first name):
126  - Anke Boersma
127  - Anubhav Choudhary (SoK success!)
128  - Emmanuel Arias (new contributor! welcome!)
129  - Erik Dubois
130  - Jerrod Frost (new contributor! welcome!)
131  - Jia Chao (new contributor! welcome!)
132  - Joe Kamprad
133  - Lisa Vitolo (blast from the past!)
134  - Omer I.S. (new contributor! welcome!)
135
136 In project news, chat (instant-messaging) communications has largely
137 moved to Matrix and Libera.Chat. CI notifications -- issues and build
138 results -- are sent to Matrix only.
139
140 ## Core ##
141  - The CMake modules for consumption by external modules (e.g. the
142    calamares-extensions repository, but also any other modules built
143    by distro's for internal use) now support consistent skip-module
144    behavior and reporting. #1641 (one tiny part of this change)
145  - In global storage, the *filesystem_use* key now has an API in
146    libcalamares to systematically mark filesystem (types) as "in use"
147    or not. This, in turn, means that modules can depend on that information
148    for other work (e.g. removing drivers for unused filesystems). #1635
149  - The "upload log file" now has a configurable log-file-size. (Thanks Anubhav)
150
151 ## Modules ##
152  - *bootloader* can now install an aarch64 (ARM) compatible EFI GRUB. (Thanks Jia)
153  - *displaymanager* example configuration has been shuffled around a bit,
154    for better results when the live image is running XFCE. Also lists
155    more potential display managers. #1205 (Thanks Erik)
156  - *keyboard* now switches on an alternate `en_US` keyboard layout when
157    Arabic or Hebrew is selected as primary layout. (Thanks Omer)
158  - *localeq* now has a fully functional offline option (alongside the default
159    interactive map option, which requires internet).
160  - The *netinstall* module can now fall back to alternative URLs when
161    loading groups data. The first URL to yield a non-empty groups
162    collection is accepted. No changes are needed in the configuration. #1673
163  - *packagechooser* can now integrate with the *packages* module; that
164    means you can specify package names to install for a given selection,
165    and the regular package-installation mechanism will take care of it.
166    Legacy configurations that use *contextualprocess* are still supported.
167    See the `packagechooser.conf` file for details. #1550
168  - A long-neglected pull request from Lisa Vitolo for the *partition*
169    module -- allowing to set filesystem labels during manual partitioning --
170    has been revived and merged.
171  - The *partition* manager has had a long-standing bug with partition-flags
172    and manual partitioning resolved. This may help resolve some installation
173    issues on UEFI systems. #1724
174  - *usersq* is further implemented and can now be used for a successful install.
175    Not all warning messages available in the regular users module are implemented.
176
177
178 # 3.2.39.3 (2021-04-14) #
179
180 A minor bugfix tweak release. Since this contains yet **another**
181 autologin-related fix, and there is nothing large enough to justify
182 a 3.2.40 release yet, add it to the growing tail of 3.2.39. (Reported
183 by Joe Kamprad, #1672). Also fixes a regression from 3.2.28 in
184 localized packages (e.g. *package-LOCALE* did not work).
185
186
187 # 3.2.39.2 (2021-04-02) #
188
189 This is **another** hotfix release for issues around autologin ..
190 autoLogin, really, since the whole problem is that internal capitalization
191 changed. An unrelated bug in writing /etc/default/keyboard was
192 also fixed. (Reported by pcrepix, #1668)
193
194
195 # 3.2.39.1 (2021-03-30) #
196
197 This hotfix release corrects a regression in the *displaymanager*
198 module caused by changes in the *users* module; autologin was
199 internally renamed and no longer recognized by the *displaymanager*
200 module. (Reported by Erik Dubois, #1665)
201
202
203 # 3.2.39 (2021-03-19) #
204
205 This release contains contributions from (alphabetically by first name):
206  - Matti Hyttinen
207
208 ## Core ##
209  - A *packages* service has been added to the core, for use by
210    *netinstall* module and any others that need to set up
211    package information for the *packages* module.
212
213 ## Modules ##
214  - The *mount* module has gained a configurable setup for btrfs volumes.
215    If your distro has a default-to-btrfs setup, it can skip the hard-
216    coded setup (which Calamares has had for a long time with @home
217    and similar) and introduce a custom btrfs configuration through the
218    `mount.conf` file. See issues #1659 and #1661 for warnings about
219    using this in production.
220  - *netinstall* now supports fallbacks for the groups data.
221    Instead of a single URL, multiple URLs may be specified in
222    a list and Calamares goes through them until one is successfully
223    retrieved. Older configurations with a single string are
224    treated like a one-item list. #1579
225  - The *usersq* module now connects to the internal configuration
226    object and may be usable for regular installations.
227
228
229 # 3.2.38.1 (2021-03-15) #
230
231 This hotfix release is for this item in the release notes of 3.2.38:
232  - The .desktop file for Calamares now makes a longer trip, calling
233    `sh -c "pkexec calamares"`; distributions may still need to adjust.
234 The change had been lost while updating other files. It has been restored
235 in `calamares.desktop` and `calamares.desktop.in`. (Reported by Erik)
236 Other minor changes and fixes:
237  - presets in the *users* module show the hostname, too,
238  - translations update for Korean, Ukranian and Chinese (zh_TW).
239
240
241 # 3.2.38 (2021-03-14) #
242
243 This release contains contributions from (alphabetically by first name):
244  - Anke Boersma
245  - Anubhav Choudhary
246  - Neal Gompa
247
248 ## Core ##
249  - Uploading your log files (in case of installation failure) has been
250    expanded and is now more configurable. Users should still take care
251    when uploading logs, and distro's should configure a URL with
252    no public viewing of those logs. (Thanks Anubhav)
253  - The .desktop file for Calamares now makes a longer trip, calling
254    `sh -c "pkexec calamares"`; distributions may still need to adjust.
255
256 ## Modules ##
257  - A new QML-based *finishedq* module has been added. (Thanks Anke)
258  - The *packages* module no longer supports *urpmi*; no Calamares-
259    consumers with that package manager seem to exist. (Thanks Neal)
260  - The *users* module now can set a fixed username and prevent editing.
261    The *presets* configuration entry in `users.conf` can set a *loginName*
262    and a *fullName* and (independently) enable or disable editing of
263    that value. You can, for instance, set *loginName* to "manjaro" if
264    you like; the user can change it afterwards. You could set the
265    *loginName* to "oem" and prevent editing it as well. #942
266
267
268 # 3.2.37 (2021-02-23) #
269
270 This release contains contributions from (alphabetically by first name):
271  - benne-dee
272
273 ## Core ##
274  - Calamares has a table of 'best guess' languages for each country
275    and when GeoIP is enabled, it will automatically select that
276    country's language as default -- the user can of course pick
277    a different one. The 'best guess' is based on Unicode / ISO
278    data, which is sometimes dubious. Based on some personal notes,
279    the 'best guess' language for Belarus has been changed to Russian.
280  - Calamares has a table of 'best guess' keyboard mappings,
281    allowing native language input. However, usernames and
282    passwords should be in US-ASCII (this is a limitation of
283    the login system -- **some** parts of the system will support
284    non-ASCII input, but it's better safe than sorry).
285    Add Greek to the list of languages that needs US-ASCII
286    in addition to native input.
287  - The CI infrastructure now builds Calamares and Calamares-extensions
288    on a nightly basis.
289
290 ## Modules ##
291  - The *netinstall* module has a YAML schema, allowing packagers
292    to validate and verify their netinstall configurations before
293    shipping an ISO (or writing bug reports). Thanks benne-dee.
294  - The *finished* module has been heavily refactored, opening
295    the way to a QML-based version of the same module. This is
296    also preparatory work for allowing packagers (e.g. PostmarketOS)
297    to customize the messages on the finished page.
298
299
300 # 3.2.36 (2021-02-03) #
301
302 This release contains contributions from (alphabetically by first name):
303  - Anubhav Choudhary
304  - benne-dee
305  - Gaël PORTAY
306  - Jonas Strassel
307  - Kevin Kofler
308  - Matti Hyttinen
309  - Neal Gompa
310
311 ## Core ##
312  - It is now possible to hide the *next* and *back* buttons during
313    the "exec" phase of installation. Thanks Anubhav.
314  - The Calamares CI has migrated to GitHub actions. Thanks Jonas.
315
316 ## Modules ##
317  - *bootloader* now uses the current file names for the UEFI Secure Boot
318    shim instead of obsolete ones.
319  - The *mount* module creates swap in its own subvolume, if btrfs is used.
320    Thanks Matti.
321  - *partition* includes more information about what it will do, including
322    GPT partition types (in human-readable format, if possible). Thanks Gaël.
323  - Some edge-cases with overlay filesystems have been resolved in the
324    *partition* module. Thanks Gaël.
325  - During the creation of filesystems and partitions, automounting is
326    turned off (if DBus is available, and the host system supports
327    KDE Solid automount control). This should reduce the number of
328    failed installations if automount grabs partitions while they are
329    being created. The code is prepared to handle other ways to control
330    automount-behavior as well.
331
332
333 # 3.2.35.1 (2020-12-07) #
334
335 This release contains contributions from (alphabetically by first name):
336  - Anubhav Choudhary
337  - Matti Hyttinen
338
339 Some strange string artifacts appeared, leading to `{1?}` being
340 displayed in various user-facing messages. These have been removed
341 and the translations updated.
342
343 ## Modules ##
344  - The *initcpiocfg* module would sometimes configure the system to ask
345    for a passphrase, when none is needed.
346
347
348 # 3.2.35 (2020-11-30) #
349
350 This release contains contributions from (alphabetically by first name):
351  - Clarissa Borges
352  - Matti Hyttinen
353
354 A new kind of issue template has been added for Calamares,
355 for reporting (and adding tests for) usability issues. Thanks
356 to Clarissa for leading that effort.
357
358 ## Core ##
359  - No core changes yet
360
361 ## Modules ##
362  - The *partition* module now supports a not-full-disk-encryption setup,
363    where `/boot` is not encrypted, but the rest of the system is.
364  - The *plasmalnf* module has been substantially rewritten, so that it
365    can support a QML version of the module in future. The UI has changed
366    a little, and now displays more themes than before.
367
368
369 # 3.2.34 (2020-11-16) #
370
371 This release contains contributions from (alphabetically by first name):
372  - Artem Grinev
373  - Gaël PORTAY
374
375 ## Core ##
376  - No core changes yet
377
378 ## Modules ##
379  - The *keyboard* module had a regression in which it no-longer painted
380    the keycaps in the keyboard preview. (reported by Vinnie)
381  - The *plasmalnf* module did not set all of the look-and-feel values
382    in the target system. (reported by Bluestar Linux)
383  - In the *users* module, warnings about the strength of the password
384    are now correctly pluralized when possible.
385  - In the *users* module, if ICU is installed, the user's full name is
386    automatically transliterated to US-ASCII (for some locales; this will
387    need tweaking) so that the login name is acceptable. (Thanks Artem)
388
389
390 # 3.2.33 (2020-11-09) #
391
392 This release contains contributions from (alphabetically by first name):
393  - Anke Boersma
394  - Andrius Štikonas
395  - Artem Grinev
396  - Gaël PORTAY
397  - Matti Hyttinen
398  - TTran Me
399
400 ## Core ##
401  - Calamares now sets the C++ standard for compilation to C++17; this
402    is for better compatibility and fewer warnings when building with
403    modern KDE Frameworks and KPMcore 4.2.0.
404  - Vietnamese translations have been added. Welcome! (Thanks TTran)
405
406 ## Modules ##
407  - The *initcpiocfg* module should support plymouth with encryption
408    now. (Thanks Matti)
409  - The *keyboard* and *keyboardq* modules now share backend code
410    and handle non-ASCII layouts better (for setting passwords
411    and usernames). (Thanks Artem)
412  - Various cleanups and documentation improvements in the *partition*
413    module, and configurable GPT name for swap. (Thanks Gaël)
414  - A long-standing bug related to GPT partition flags in the
415    *partition* module has been resolved. #1327 #1267
416  - The *users* module now has a more detailed way to specify
417    user groups -- which may be system groups rather than user-GIDs.
418    A new option in each group can require that the group already
419    exists in the target system, allowing for better consistency checks
420    with the squashfs. #1523
421
422
423 # 3.2.32.1 (2020-10-17) #
424
425 This is a release to address source-incompatible changes in KPMcore 4.2.0,
426 which was released just before Calamares 3.2.32 and had not yet been
427 compile-tested. There is also one changed message in the translations,
428 reported by Yuri Chornoivan.
429
430
431 # 3.2.32 (2020-10-16) #
432
433 This release contains contributions from (alphabetically by first name):
434  - Fabian Tomat
435  - Gaël PORTAY
436
437 ## Core ##
438  - When doing GeoIP lookups, Calamares pretends to be Firefox.
439    This resolves an issue where the GeoIP provider was refusing
440    QNAM connections with the default User-Agent.
441  - New translation available, Friulian. Welcome!
442
443 ## Modules ##
444  - The *netinstall* module has some tricky configuration files;
445    it now complains about more cases of bad syntax or poor structure.
446  - The *partition* module can now be constrained to work only with
447    a particular kind of partition table. (thanks Gaël)
448  - The *partition* module is a little more resilient to variations
449    in btrfs notation from os-prober.
450  - The *shellprocess* module now supports having a different progress
451    message (other than "Shell Processes Job") through the config file.
452
453
454  # 3.2.31 (2020-10-06) #
455
456 This release contains contributions from (alphabetically by first name):
457  - Corentin Noël
458  - kadler15 (new contributor! hi!)
459
460 ## Core ##
461  - At the start of the *exec* phase, an overview is given of the
462    various job weights, which allows you to tweak the overall
463    progress reporting during the installation.
464  - Problems with running Calamares on a 1-core single CPU have been resolved.
465
466 ## Modules ##
467  - The *keyboard* module now recognizes Turkish "F" layout and
468    will set the vconsole keyboard layout correctly even if xkb
469    keymaps are not found.
470  - The *machineid* module, which generates UUIDs for systemd and dbus
471    and can generate entropy files (filled from `/dev/urandom` in the host
472    system) now supports more than one entropy file; generate them as needed
473    (or copy a fixed value to all, depending on *entropy-copy*). Deprecate
474    *entropy* (which generates a specific output file) as too inflexible.
475  - In the *partition* module, swap can now be chosen as *file*, which is
476    **not** create a swap partition, but write a `/swapfile` in the root
477    directory, 512MiB large, and set that as swap. There is as yet no
478    "smarts" about the size of the swap file.
479  - Multiple problems in the *partition* module around partition
480    sizing have been resolved by Corentin Noël.
481  - The *preservefiles* module documentation did not match the functionality,
482    and when used, didn't work right. #1521 (thanks kadler15)
483  - Progress reporting from the *unpackfs* module has been revamped:
484    it reports more often now, so that it is more obvious that files
485    are being transferred even when the percentage progress does not
486    change.
487  - The *unpackfs* module now supports a *weight* setting for each
488    of the unpack entries. For a single entry this does not matter,
489    but if there are multiple entries it allows tweaking the relative
490    progress between each entry.
491
492
493 # 3.2.30 (2020-09-03) #
494
495 This release contains contributions from (alphabetically by first name):
496  - Anke Boersma
497  - Asif Mahmud Shimon
498  - Manzoor Ahmed Munawar
499  - Sai Kamal
500  - Victor Ibragimov
501
502 This release has two giant source-code changes that have no effect
503 on functionality, but do touch each and every source file:
504  - SPDX headers for licensing information, following the standard
505    set by REUSE.software ; all source files and resources have
506    SPDX-License-Identifier information and copyright notices. All
507    of the boilerplate texts have been removed.
508  - Calamares coding style has been mechanically applied to the entire
509    codebase. This was already done to most of it, but there were
510    some hold-outs.
511
512 ## Core ##
513  - Network access status is deprecated in Qt 5.15's QNetworkAccessManager,
514    and was not useful already in some previous versions. Replace its
515    use in the Calamares network service by testing-it-ourself directly
516    via a synchronous ping. (Thanks to Asif)
517  - New Telugu translation. (Thanks to Sai)
518  - Urdu translation started. (Thanks to Manzoor)
519  - Timezones translated in Tajik and Russian. (Thanks to Victor)
520
521 ## Modules ##
522  - *keyboardq* and *localeq* improvements. (Thanks to Anke)
523  - *users* module did not set up autologin properly. This is yet another
524    regression left over from 3.2.28. (Reported by Phil and pcrepix, #1498)
525  - *welcome* module now sets the *LANG* key in the locale configuration
526    (which is shared with the *locale* module and consumed by the
527    *localecfg* module). This makes it feasible to drop the *locale*
528    module and still set the installed system's language to the language
529    selected in Calamares. (Reported by FerenOS)
530
531
532 # 3.2.29 (2020-08-20) #
533
534 This release contains contributions from (alphabetically by first name):
535  - Asif Mahmud Shimon (new contributor! hi!)
536
537 ## Core ##
538  - Edge case in extracting string-lists from YAML, reported and fixed
539    by Asif (#1491).
540  - Progress reporting is now more flexible. Modules can have a weight
541    assigned to them in the descriptor; module instances can have a weight
542    assigned which overrides the module descriptor. When jobs are run
543    for a module instance, the jobs report progress pro-rated by the
544    module's weight. Or in other words, it is now possible to tweak
545    the amount of the overall progress bar that different modules fill.
546    The default settings give unpackfs a weight of 12. (#1176)
547
548 ## Modules ##
549  - The *users* module did not read the *defaultGroups* correctly.
550    Fixed by the string-lists change mentioned above.
551
552
553  # 3.2.28.3 (2020-08-18) #
554
555 Another hotfix, for more issues reported by Marco Obaid. Users
556 were not having a password set (#1489)
557
558
559 # 3.2.28.2 (2020-08-12) #
560
561 A second hotfix, for autologin support -- the autologin group was not
562 created in the target system before assigning the user to it. Reported
563 by Marco Obaid.
564
565
566 # 3.2.28.1 (2020-08-10) #
567
568 This is a hotfix release for #1482 and #1483, where no user was
569 created during installation and a chmod was failing (resulting in
570 a failed installation). Reported by Jonathan Riddell.
571
572 With incidental improvements in SPDX tagging (code licensing)
573 and some new icon options for the welcomeq and localeq modules.
574
575
576 # 3.2.28 (2020-08-09) #
577
578 This release contains contributions from (alphabetically by first name):
579  - Anke Boersma
580  - apt-ghetto
581  - Victor Ibragimov
582
583 ## Core ##
584  - A new object *Network* is available to QML modules in `io.calamares.core`.
585    It exposes network status through the *hasInternet* property.
586  - Welcome to Tajik translations. The Tajik language has quickly reached
587    100% completion. Thanks Victor!
588  - Welcome to [Interlingue](https://en.wikipedia.org/wiki/Interlingue).
589    The translation is at an early stage. Qt does not support language
590    code *ie* though, so it may take some time to be integrated (much
591    like Esperanto wasn't supported until Qt 5.12).
592
593 ## Modules ##
594  - The *locale* module has been completely redone on the inside.
595    Users should see no changes. #1391
596  - The *localeq* module uses the redone internals of the locale module.
597    It can now be used to set timezone, language and locale information
598    and is a suitable alternative module. Thanks to Anke Boersma who did
599    the work of figuring out maps. Note that the map uses several GeoIP
600    and GeoData providers and you may need to configure the URLs
601    with suitable usernames for those services. #1426
602  - Both *locale* and *localeq* can now be configured to use the system's
603    timezone setting -- this can be useful to avoid both hard-coding an
604    initial zone and doing extra GeoIP lookups, in the case where the
605    live system already does so. #1391
606  - The *locale* and *localeq* modules have additional machinery for
607    timezone lookups; please report cases where clicking on the map
608    returns an obviously bogus timezone (up until this release, for
609    instance, Cape Town).
610  - The *users* module no longer accepts `root` as a username. #1462
611  - The *keyboardq* module is now more inline with the look of the rest
612    of the Calamares modules, use of a background image is removed.
613  - The *grubcfg* module now understands `/etc/default/grub.d`. #1457
614
615
616 # 3.2.27 (2020-07-11) #
617
618 This release contains contributions from (alphabetically by first name):
619  - Gaël PORTAY
620  - Vitor Lopes (new! welcome!)
621
622 ## Core ##
623  - QML modules with no surrounding navigation -- this is basically a
624    special case for full-screen Calamares -- now have margins suitable
625    for full-screen use.
626  - PythonQt modules are increasingly on the way out.
627
628 ## Modules ##
629  - The Manjaro package manager *pamac* has been added to those supported by
630    the *packages* module.
631  - The *netinstall* module has had some minor UI tweaks.
632  - Partitioning now tries harder to avoid floppy drives.
633
634
635 # 3.2.26.1 (2020-06-23) #
636
637 This is a hotfix release for undefined behavior caused by an
638 uninitialized integer variable. It includes new translations
639 and features as well since those arrived independently.
640
641 This release contains contributions from (alphabetically by first name):
642  - Anke Boersma
643  - Gaël PORTAY
644
645 ## Core ##
646  - Welcome to Azerbaijani translations. These are available
647    in two variations, *Azerbaijani* and *Azerbaijani (Azerbaijan)*.
648    [Wikipedia Azerbaijani](https://en.wikipedia.org/wiki/Azerbaijani_language#North_vs._South_Azerbaijani)
649    has a nice overview.
650  - Warnings while building with Qt 5.15 have been much reduced.
651
652 ## Modules ##
653  - *partitioning* has one case of undefined behavior (UB) due
654    to a missing integer-initialization. (Thanks Gaël)
655  - *keyboardq* QML module now works correctly. (Thanks Anke)
656
657
658 # 3.2.26 (2020-06-18) #
659
660 This release contains contributions from (alphabetically by first name):
661  - Anke Boersma
662  - Gaël PORTAY
663  - Pablo Ovelleiro Corral
664  - Philip Müller
665
666 ## Core ##
667  - The default branch for Calamares source repositories (calamares
668    and calamares-extensions) is now *calamares*.
669  - External modules can now be built again, outside of the Calamares
670    source and build-tree.
671  - The repository *calamares-tools* has been removed. The idea behind
672    the tooling was to provide schema validation for Calamares configuration
673    files. This has been merged into the primary repository, where it
674    is now part of the test suite.
675
676 ## Modules ##
677  - *locale* put some more places into the correct timezone **visually**;
678    for instance Norfolk Island gave up UTC+11.5 in 2015 and is now
679    UTC+11, but Calamares still showed it in a zone separate from UTC+11.
680  - *localeq* can now properly switch between on & offline mode,
681    it detects internet status through js.
682  - *packages* gained support for the Void Linux package manager,
683    *xbps*. (thanks Pablo)
684  - *tracking* now supports kuserfeedback configuration.
685  - *welcomeq* added the GEOIP configuration option, so locale can be
686    initially set according to IP address.
687
688
689 # 3.2.25 (2020-06-06) #
690
691 This release contains contributions from (alphabetically by first name):
692  - Anke Boersma
693  - Callum Farmer
694  - FLVAL
695  - Gaël PORTAY
696
697 ## Core ##
698  - The slideshow in `branding.desc` can be configured with QML (recommended,
699    as it has been for the past umpteen releases) or with a list of
700    images (new).
701  - It is possible to turn off all the new QML code -- navigation, slideshow,
702    QML-based modules -- with a single `-DWITH_QML=OFF` at CMake time.
703    This removes QML from Calamares' dependency footprint (but only saves
704    200kB in Calamares itself).
705  - Tests have been extended and now support a tests/CMakeTests.txt file
706    for fine-tuning tests for Python modules.
707  - SPDX identifiers are used much more widely and consistently in Calamares.
708    (thanks Callum)
709
710 ## Modules ##
711  - The QML based *welcomeq* module is now a viable alternative to the
712    *welcome*(widgets based) module. Using QML files means it no longer
713    is needed to have pop-up windows for additional information or warnings,
714    all loads in the Calamares window itself.  Additional features include the
715    option to customize the *About* info and load files like Release Notes
716    direct into Calamares, QML files added to the branding directory can be used.
717  - The *welcome* and *locale* modules that do GeoIP lookup can now also
718    use "fixed" style; this just negates the GeoIP lookup and substitutes a
719    constant (fixed) value; useful for testing specific locales.
720  - The *keyboard* module no longer uses *ca_eng* keyboards in Canada by
721    default, but sticks to the *us* keyboard. #1419
722
723
724 # 3.2.24 (2020-05-11) #
725
726 This release contains contributions from (alphabetically by first name):
727  - Bill Auger
728  - Gaël PORTAY
729  - Luna Jernberg
730  - Philip Müller
731
732 ## Core ##
733  - There is now a bash-completions script for Calamares; turn on
734    the (CMake-time) option INSTALL_COMPLETION to get it. (Thanks Gaël)
735  - The *productWallpaper* setting is documented and works. (Thanks Bill)
736  - GlobalStorage is available to QML modules as `Global`.
737  - The height of the navigation bar in QML can be set within the
738    QML code for the navigation; if not set, try something sensible.
739  - A regression in the requirements-checker which could block the
740    installer from proceeding without telling the user **why** it
741    was blocked, has been resolved.
742
743 ## Modules ##
744  - The *bootloader* module can force a UEFI-based machine to boot into
745    the newly-installed system. #1394 (Thanks Gaël)
746  - *partition* Pop-ups about boot flags use the right flag names. #1192
747
748
749 # 3.2.23 (2020-04-17) #
750
751 This release contains contributions from (alphabetically by first name):
752  - FLVAL
753
754 ## Core ##
755  - Some strange annotations were added to the *About* dialog text in
756    all the translations, like `{1?}`. These have been removed again.
757
758 ## Modules ##
759  - *locale* module had some errors in timezone data, where clicking
760    on a city would select a different timezone. Some of these are
761    now fixed (thanks FLVAL). #1374
762  - *netinstall* supports a wider variety of package naming schemes,
763    and is more flexible in loading a `netinstall.yaml` that is copied from
764    the example configuration file, *groups* key and all. #1369
765  - *users* module logs a full error message from libpwquality if something
766    is wrong internally.
767
768
769 # 3.2.22 (2020-04-08) #
770
771 This release contains contributions from (alphabetically by first name):
772  - Anke Boersma
773  - Camilo Higuita
774
775 ## Core ##
776  - Both the sidebar (on the left) and the navigation buttons (along the
777    bottom of the window) can now be configured to use the traditional
778    *widgets*, to use *qml*, or *hidden* from view (hiding the navigation
779    is not recommended unless you have a pure-QML UI to run inside
780    Calamares). The example QML that is compiled into Calamares has
781    been improved. To use your own QML, put files `calamares-sidebar.qml`
782    or `calamares-navigation.qml` into the branding directory.
783  - The sidebar and navigation can now be placed on any side of the
784    main window. This is probably only useful for QML-based UIs.
785    See `branding.desc` for details.
786
787 ## Modules ##
788  - The *welcomeq* module has been improved with better layout and
789    nicer buttons in the example QML form. (Thanks to Anke Boersma)
790  - The *keyboardq* and *localeq* modules now provide some QML for
791    configuring these parts, although they are still very primitive.
792  - *netinstall* has had some minor layout fixes.
793  - *unpackfs* has much more detailed progress reporting and no
794    longer jumps around strangely in overall progress.
795  - *partition* now correctly marks a partition as bootable in BIOS + MBR
796    installs. #1175
797
798
799 # 3.2.21 (2020-03-27) #
800
801 This release contains contributions from (alphabetically by first name):
802  - Anke Boersma
803  - Camilo Higuita
804  - Gabriel Craciunescu
805  - Gaël PORTAY
806
807 ## Core ##
808  - Python job modules (such as *unpackfs* or *packages*) can now provide
809    a `pretty_status_message()` function, like the existing `pretty_name()`
810    function, that is used to update the status during install. #1330
811  - QML support-modules and objects are now registered into the io.calamares
812    namespace. This affects modules using Calamares models inside their
813    QML UI (at this point, very few). With this release, the necessary
814    `import` for Calamares parts looks like
815    > ```import io.calamares.ui 1.0```
816    A complete list of objects available from Calamares van be found in the
817    documentation in `Qml.h`.
818  - The sidebar (which shows overall progress in the installation) is now
819    more configurable: the branding key *sidebar* controls it. The sidebar
820    can be shown as a widget (default, as it has been), hidden, or use a
821    new QML view which is more easily customised.
822  - A new `settings.conf` key *quit-at-end* will automatically close
823    Calamares (by clicking on the *Done* button) when the end of the
824    sequence is reached. If *finished* is the last module in the sequence,
825    this will run whatever it is configured for; you can also leave out
826    the finished page and Calamares will close after the exec parts.
827
828 ## Modules ##
829  - *packages* now reports more details in the installation progress-bar.
830  - *netinstall* module supports an `expanded` key, which will pre-expand
831    a group (as if the user had pressed the arrow-button in the tree-view).
832    This only affects the UI, and only the **outermost** level of groups.
833  - *netinstall* module now supports a special value for *groupsUrl*.
834    Setting this to *local* will read the groups directly from the
835    configuration file.
836  - *netinstall* groups now support a new key `immutable` which prevents
837    their check-state from being changed (they are shown, or hidden,
838    as usual and can be expanded).
839  - Modules that use QML need a new import line. The QML file for the
840    module is configured through new keys *qmlSearch* and *qmlFilename*
841    (previously those were without the `qml` prefix, which invites name
842    collisions). The full module identifier is also used as a filename,
843    so that multiple instances of a module can use different QML files.
844  - *partition* module has a number of new features and settings for
845    type, UUID, and filesystem characteristics. Thanks to Gaël.
846
847
848 # 3.2.20 (2020-02-27) #
849
850 This release contains contributions from (alphabetically by first name):
851  - Bart Ribbers
852
853 ## Core ##
854  - When logging level is set to 8 (eight), for instance via the `-D8`
855    logging flag, or the `-d` debug flag, the *Show debug information*
856    button will appear in the progress view. This helps with debugging
857    issues where the `-d` flag would be inappropriate.
858  - Calamares now starts at logging level 1 (warnings and errors to
859    the console) by default. Previously it (wrongly) started at level 8.
860
861 ## Modules ##
862  - The *partition* module now stores which filesystems are in use in
863    global storage.
864  - The *contextualprocess* module now understands "compound variable
865    names", where a dot (.) is used to index into structured data
866    stored in global storage. This allows it to use the map stored
867    by the partition module (but also other things, like looking into
868    the branding information).
869  - The *packages* module now understands "apk", the Alpine Linux
870    package manager.
871
872
873 # 3.2.19.1 (2020-02-24) #
874
875 This is a hotfix release for bugs in the *users* module.
876 Reported by Philip Mueller and Walter Lapchynski.
877
878 ## Modules ##
879  - The *users* module no longer wrote `/etc/hostname` at all.
880  - The *users* module erroneously shows the root password input fields.
881  - The *initramfs* module sets a resume-hook even when there is no swap.
882  - The partitioning service expects *udevadm* in `/sbin`, but some
883    distro's place it elsewhere.
884  - The mount service didn't unmount directories properly, leading to
885    blocked installations.
886
887
888 # 3.2.19 (2020-02-21) #
889
890 This release contains contributions from (alphabetically by first name):
891  - Anke Boersma
892  - Camilo Higuita
893  - Gabriel Craciunescu
894
895 ## Core ##
896  - *Assamese* translation has been completed.
897  - Translations are now loaded from more places: instead of **only**
898    being compiled in to the Calamares executable, they can now be
899    read from the current directory (when Calamares is run in developer
900    mode) and from the application data directory.This allows updating the
901    translations without requiring a recompile: helpful for translators
902    and possibly for distributions with their own translation style.
903    See the translators and deployers wiki for details.
904  - A new `ViewStep` base class, `QmlViewStep`, has been added that loads
905    a configurable QML file and plays it. This is used by the new *notesqml*
906    module -- which is in itself a minimal wrapper around the same that
907    adds only a translatable module name.
908
909 ## Modules ##
910  - The *machineid* and *users* modules now prefer high-quality random
911    data from `/dev/urandom` rather than pseudo-random data. #1254
912  - A new *notesqml* module supports loading QML. This can be used for
913    "fancy" release notes as a QML application, rather than a webview
914    or text widget. Note that this does not replace the slideshow-during-
915    installation module.
916  - The *users* module now has knobs for setting the hostname and writing
917    the `/etc/hosts` file. The new configuration options are documented
918    in `users.conf`. #1140
919  - Multiple *netinstall* modules can exist side-by-side, and they each
920    control the package installation for their part of the package list.
921    Previously, a netinstall module would overwrite all of the package
922    configuration done by other netinstall modules. Translations can be
923    provided in the configuration file, `netinstall.conf`. #1303
924  - The *fstab* module no longer "claims" all the swap partitions it finds
925    on disk. It only uses swap specified for the current installation.
926    This means that "replace" and "alongside" installations will have
927    no swap configured in the target system.
928
929
930 # 3.2.18 (2020-01-28) #
931
932 This release contains contributions from (alphabetically by first name):
933  - Bill Auger
934
935 ## Core ##
936  - *Assamese* translation has been added (still in preliminary state).
937  - Timezone support code has migrated into the core of Calamares. This
938    means that modules now have easier access to timezone information.
939    Translations for timezones have also been enabled, so it is **possible**
940    at least to translate the displayed zones in the *locale* module.
941  - Branding can now specify whether to (try to) display the Calamares window
942    in the middle of the desktop or not. The *windowPlacement* key in
943    `branding.desc` specifies *center* or *free* placement.
944
945 ## Modules ##
946  - All modules can now set a new key in `module.desc` called *noconfig*.
947    If this key is set to `true` (the default is `false), no configuration
948    file is searched-for or loaded, and no warning is printed if the
949    configuration is missing. This should tidy up some unnecessary warnings
950    on startup. #1302 #1301
951  - The *license* module has seen a significant change to its looks.
952    Actions are now labeled more clearly, and the URL (or filename)
953    for each license is displayed.
954  - The *locale* module now supports translations for timezone and
955    location names (e.g. "Berlin" is "Berlijn" in Dutch).
956  - *Packagechooser* is a little more careful with displaying
957    default and empty package names. (thanks to Bill Auger)
958  - The *unpackfs* module now carries a larger weight in the overall
959    progress of the installation, which should resolve downstream reports
960    like "progress stops at 24% for a long time". This is currently
961    hard-coded, but will become configurable in a future release. #1176
962
963
964 # 3.2.17.1 (2019-12-02) #
965
966 This is a hotfix release for a bug in the grubcfg module.
967 Reported by Philip Mueller and Erik Dubois.
968
969 ## Modules ##
970  - The *grubcfg* module had a typo in it that made installations fail.
971
972
973 # 3.2.17 (2019-11-28) #
974
975 This release contains contributions from (alphabetically by first name):
976  - Bill Auger
977
978 ## Core ##
979  - A translation "string freeze" is now enforced by the release scripts.
980
981 ## Modules ##
982  - A new module, *hostinfo*, places information about the host into
983    Global Storage. This can support contextualprocess modules that
984    need that information.
985  - The password-checks in the *users* module are now ordered consistently.
986    A new check *nonempty* can be used to explicitly check for a non-empty
987    password. This was previously hard-coded. If you have no other
988    password-requirements set (e.g. minimum-length) and rely on
989    Calamares to filter out empty passwords, add this check.
990  - The *grubcfg* module has a new configuration setting *keepDistributor*
991    which prevents replacing the `GRUB_DISTRIBUTION` line when writing
992    the new configuration. #1201
993  - *packagechooser* documentation has been updated.
994  - *welcome* module now works better with dark themes.
995  - The *license* module could get into a confused state, now fixed. #1271
996
997
998 # 3.2.16 (2019-11-01) #
999
1000 This release contains contributions from (alphabetically by first name):
1001  - Bill Auger
1002
1003 ## Core ##
1004  - Some obscure build scenarios which would lead to bogus module-is-
1005    misconfigured messages on startup have been resolved.
1006
1007 ## Modules ##
1008  - The explanatory messages on the *users* page have moved to tooltips,
1009    and placeholder text has been added to the fields. #1202
1010  - The bad-password messages in the *users* page have been improved. #1261
1011  - Password-checking in the *users* module has been substantially
1012    changed. A new key *allowWeakPasswords* can be used to introduce
1013    an additional checkbox to the page, which can then be used to
1014    switch off strict password checking. (Thanks to Bill Auger)
1015  - The icons used in password warnings on the *users* page have been
1016    changed to the colorful status icons (rather than the thin red X).
1017
1018
1019 # 3.2.15 (2019-10-11) #
1020
1021 This release contains contributions from (alphabetically by first name):
1022  - No other contributors this time around.
1023
1024 ## Core ##
1025  - No changes to core functionality
1026
1027 ## Modules ##
1028
1029  - *displaymanager* module now treats *sysconfig* as a regular entry in the
1030    *displaymanagers* list, and the *sysconfigSetup* key is used as a
1031    shorthand to force **only** that entry in the list. #1253
1032  - *machineid* module has been re-written in C++ and extended with
1033    a new configuration key to generate urandom pool data. #1252
1034  - *unpackfs* now supports a special *sourcefs* value of `file`
1035    for copying single files (optionally with renaming) or directory
1036    trees to the target system.
1037  - *unpackfs* now support an *exclude* and *excludeFile* setting for
1038    excluding particular files or patters from unpacking. #1229
1039
1040
1041 # 3.2.14 (2019-09-30) #
1042
1043 This release contains contributions from (alphabetically by first name):
1044  - Andrius Štikonas
1045  - Harald Sitter
1046
1047 ## Core ##
1048  - No changes to core functionality
1049
1050 ## Modules ##
1051
1052  - *locale* module no longer recognizes the legacy GeoIP configuration.
1053    This has been deprecated since Calamares 3.2.8 and is now removed.
1054  - *packagechooser* module can now be custom-labeled in the overall
1055    progress (left-hand column). #1228
1056  - *displaymanager* module now recognizes KDE Plasma 5.17.
1057  - *displaymanager* module now can handle Wayland sessions and can detect
1058    sessions from their .desktop files. #1247 #1248
1059  - *unpackfs* now has special handling for *sourcefs* setting "file"
1060    (so you can copy single files or directories that are on the source
1061    system, directly to the target). #1188 #1181
1062
1063
1064 # 3.2.13 (2019-08-30) #
1065
1066 This release contains contributions from (alphabetically by first name):
1067  - Arnaud Ferraris
1068  - Arnaud Rebillout
1069  - Bill Auger
1070  - Kevin Kofler
1071
1072 ## Core ##
1073
1074 - The Calamares standard coding style -- embodied in `ci/calamaresstyle`
1075   has had a few updates and has now been consistently applied across
1076   the core codebase (e.g. libcalamares, libcalamaresui, calamares, but
1077   not the modules).
1078 - *KCoreAddons* is now a required dependency. This lets us drop a chunk
1079   of code that was copied from KCoreAddons years ago, and use the
1080   (maintained!) upstream version instead. It also gives us KMacroExpander
1081   everywhere, which will simplify code for handling substitutions
1082   in configuration files.
1083 - *Slideshows* now have a new property *activatedInCalamares* which
1084   controls the keyboard shortcuts (and can control timers and other
1085   properties of the slideshow, too).
1086
1087 ## Modules ##
1088
1089 - The *packagechooser* module can load data from the config-file,
1090   from AppData XML files referred by the config-file, and (new) also
1091   from AppStream caches by referring to an application's AppStream id. #1212
1092 - The *partition* module now understands the units *KB*, *MB*, *GB* which
1093   are powers-of-ten sizes, alongside the powers-of-two sizes that it already
1094   used. (thanks to Arnaud)
1095 - The *welcome* module now supports a *Donate* button if *showDonateUrl*
1096   is set to a non-empty URL. #1197
1097 - The *welcome* module can have URLs for the various buttons configured
1098   directly in the module configuration (rather than in `branding.desc`).
1099
1100
1101 # 3.2.12 (2019-08-07) #
1102
1103 This release contains contributions from (alphabetically by first name):
1104  - apt-ghetto
1105  - Bill Auger
1106  - embar
1107
1108 ## Core ##
1109
1110  - Preliminary work to allow jobs to have a *weight* assigned to them
1111    has been added. This will allow the progress bar to better reflect
1112    progress by the amount of work done rather than purely by the
1113    number of jobs. (Thanks to Bill Auger)
1114  - Preliminary work has been added to post the installation log to a
1115    pastebin for bug reporting. (Thanks to Bill Auger)
1116  - Support for translated human-readable strings in Calamares
1117    config files has been added. This is used only in the *packagechooser*
1118    module (see below) but will expand to those modules that need
1119    user-visible strings from the configuration file (existing
1120    solutions need either gettext or Qt support).
1121  - Esperanto is now available when Qt version 5.12.2 or later is used.
1122
1123 ## Modules ##
1124
1125  - *fstab* A new configuration key *efiMountOptions* has been added, to
1126    allow setting filesystem options specifically for the EFI partition.
1127    (Thanks to apt-ghetto)
1128  - *packagechooser* is a new module for low-density package choices,
1129    e.g. for selecting a default desktop environment, or adding some
1130    proprietary drivers, or chosing browsers of office suites. It presents
1131    **one** collection of items -- at most ten or so, because of the UI --
1132    and the user can select zero or more of them. The behavior is
1133    configurable, and package information can be set through the Calamares
1134    configuration file or by reading AppData files for the packages. #426
1135
1136
1137 # 3.2.11 (2019-07-06) #
1138
1139 This release contains contributions from (alphabetically by first name):
1140  - No other contributors this time around.
1141
1142 This is a security release with no functional changes (except for
1143 improved security) relative to 3.2.10. The Calamares team would like
1144 to acknowledge the help of the following people in reporting and
1145 understanding the issues (alphabetically by first name):
1146  - Kevin Kofler
1147  - Seth Arnold
1148  - Simon Quigley
1149  - Thomas Ward
1150 Both CVE's have been resolved.
1151
1152 ## Core ##
1153
1154 No core changes.
1155
1156 ## Modules ##
1157
1158  - *initramfs* could create an initramfs with insecure permissions.
1159    Since the keyfile is included in the initramfs, an attacker could
1160    read the file from the initramfs. #1190 CVE-2019-13178
1161  - *luksbootkeyfile* created a key file where a window of opportunity
1162    existed where the key file could have too-lax file permissions.
1163    #1191 CVE-2019-13179
1164
1165
1166 # 3.2.10 (2019-06-28) #
1167
1168 This release contains contributions from (alphabetically by first name):
1169  - No other contributors this time around.
1170
1171 Distributions are **advised** to check the slideshow they use for the
1172 installation step; changes in loading and translation mechanisms may
1173 require changes in the slideshow.
1174
1175 ## Core ##
1176
1177  - With this release, option *WITH_PYTHONQT* changes default to **off**.
1178    There does not seem to be any serious use of the PythonQt API and
1179    the UI opportunities it offers, so begin the process of deprecating
1180    and removing that. Sometime in the future, QML pages will fill the
1181    gap for easily-prototyped-yet-slick UI elements.
1182  - A crash when no *finished* page (or rather, no page at all) is
1183    configured after the last *exec* section of the sequence has been
1184    solved. The *finished* page can be left out (but then you don't get
1185    the restart-now functionality). #1168
1186  - The *slideshow* which is run during installation now has API versions.
1187    API version 1 (the default) runs as before, where the slideshow is loaded
1188    when the installation starts. API version 2 loads the slideshow on
1189    Calamares startup, thus improving responsiveness. Documentation
1190    in `src/branding/README.md`. #1152
1191  - The example slideshow now uses API version 2.
1192
1193 ## Modules ##
1194
1195  - *initramfs* has been changed from a Python module to a C++ module.
1196    Packaging will need to adjust now it installs a .so instead of a .py.
1197    The module itself functions as before. It does have a new configuration
1198    option, to change the version passed as to the `-k` option of
1199    update-initramfs. #1180
1200  - *partition* Now has its own setting for *requiredStorage*, duplicating
1201    the same setting in the *welcome* module. This is useful for
1202    configurations where no *welcome* module is used, but a minimum
1203    size must be checked anyway. #1169
1204
1205
1206 # 3.2.9 (2019-06-03) #
1207
1208 This release contains contributions from (alphabetically by first name):
1209  - Kevin Kofler
1210
1211 ## Core ##
1212
1213 No user- or deployer-visible changes. Bugfixing as usual, see the
1214 milestone for details.
1215
1216 ## Modules ##
1217
1218  - *branding* now supports os-release variables in the *strings* section,
1219    which allows re-using (at runtime) information set in /etc/os-release .
1220    This requires KDE Frameworks 5.58. #1150
1221  - *branding* allows the use of FreeDesktop.org icon names for the
1222    *productLogo* and *productIcon* keys. If a file is named there, then
1223    the file is used, and otherwise the icon is looked up in the current
1224    theme. #1160
1225  - *packages* On Arch, with the `pacman` package manager, avoid a hang
1226    during system update. #1154
1227  - *welcome* allows a custom image path or icon name to be set for the
1228    language-selection drop-down (instead of the international standard one).
1229
1230
1231 # 3.2.8 (2019-05-10) #
1232
1233 This is a **source-incompatible** release of Calamares. Include files
1234 have been shuffled around, so third-party C++ modules will need
1235 adjustment to the changed names.
1236
1237 This release contains contributions from (alphabetically by first name):
1238  - Arnaud Ferraris
1239  - Kevin Kofler
1240
1241 ## Core ##
1242
1243  - All user-visible texts referring to "MB" and "GB" now use the standard
1244    "MiB" and "GiB" wording, which matches what we were actually calculating
1245    with (i.e. 2^20 and 2^30 respectively). #1129
1246  - The side-pane, which shows the list of steps that will be executed,
1247    now tries to fit the text (name of each module) into the available space
1248    by shrinking the font as needed. #1137
1249  - *libcalamares* (accidentally) linked with Qt's GUI libraries when
1250    PythonQt was found. This led to the odd situation where the non-GUI
1251    Calamares library depends on a bunch of GUI libraries.
1252  - *libcalamares* The `utils/` subdirectory has been hugely refactored,
1253    with functionality split out into separate files. C++ modules will
1254    need to have their `#include` names updated. Basically, users of
1255    `utils/CalamaresUtils.h` will need to include the header file for
1256    the functionality that is actually used.
1257
1258 ## Modules ##
1259
1260  - *finished* has a new mechanism for configuring the behavior of the
1261    *restart now* button. The old-style boolean configuration is still
1262    supported but generates a warning. #1138
1263  - *locale* module GeoIP configuration has a new preferred format.
1264    See `locale.conf` for details. The old configuration is still
1265    supported but will be phased out before 3.3.0 -- in particular,
1266    support for "legacy" format will be removed, since that was a
1267    crutch for the disappearance of one GeoIP provider in 2018.
1268  - *oemid* is a new module for configuring OEM phase-0 (image pre-mastering,
1269    or pre-deployment) things. It has limited functionality at the moment,
1270    writing only a single batch-identifier file. #943
1271  - *welcome* can now do GeoIP lookups as well (but be careful with the
1272    configuration, since you need a GeoIP that provides country information,
1273    not just timezones). This will let Calamares select a starting language
1274    that matches where it is -- which might not be useful at all. #934
1275  - All Python modules now bail out gracefully on (at least some) bad
1276    configurations, rather than raising an exception. The pre-release
1277    scripts now test for exceptions to avoid shipping modules with
1278    ImportError or SyntaxError results.
1279
1280
1281 # 3.2.7 (2019-04-27) #
1282
1283 This is a **hotfix** release for regressions introduced in the
1284 Python modules. The *localecfg* module was unusable because of
1285 a missing `import`.
1286
1287
1288 # 3.2.6 (2019-04-25) #
1289
1290 This release contains contributions from (alphabetically by first name):
1291  - Arnaud Ferraris
1292  - Dominic Hayes (feren)
1293  - Raul Rodrigo Segura (raurodse)
1294
1295 ## Core ##
1296
1297  * Under-the-hood code cleanups in lots of parts of the core. Calamares now
1298    builds without warnings when Clang 8 is used.
1299  * A new *disable-cancel-during-exec* setting provides more fine-grained
1300    control than *disable-cancel*, which hides the button entirely.
1301    #1122 (Thanks to Dominic, FerenOS)
1302  * A branding module can now also cause a stylesheet to be loaded, which
1303    will be applied to the widgets inside Calamares. #961 (Thanks to Raul)
1304
1305 ## Modules ##
1306
1307  * All of the Python-based modules now have translations enabled. #991
1308  * *Displaymanager* module has improved support for LightDM configuration.
1309    #1123 (Thanks to Dominic, FerenOS)
1310  * *License* module can now display local files inline, and scrolls to
1311    allow longer lists of licenses and to support long license texts
1312    displayed inline. #1124 #1125 #1052
1313  * *Partition* module has additional checks for validity partition layouts.
1314    #1127 (Thanks to Arnaud)
1315  * *Welcome* module has improved usability: a standard icon
1316    alongside the *Language* label, for improved recognition,
1317    and improved language-list display and sorting. #1107
1318
1319
1320 # 3.2.5 (2019-04-15) #
1321
1322 This release contains contributions from (alphabetically by first name):
1323  - Arnaud Ferraris
1324  - Dan Simmons
1325  - Gabriel Craciunescu
1326
1327 ## Core ##
1328
1329  * View modules (in C++) can now perform their own requirements-checking
1330    to see if installation makes sense. This expands upon the existing
1331    requirements checks in the welcome module (RAM, disk space, ..).
1332    The checks have been made asynchronous, so that responsiveness during
1333    requirements-checking is improved and the user has better feedback.
1334  * Support for building an AppImage of Calamares has been added to the
1335    `ci/` directory. There are use-cases where a containerized build and
1336    configuration make sense rather than having Calamares installed in the
1337    host system. (Thanks to the AppImage team, Alexis)
1338  * OEM mode (phase-1) now correctly refers to Calamares as a "Setup Program"
1339    rather than an installer. #1100 (Thanks to Arnaud)
1340
1341 ## Modules ##
1342
1343  * *Bootloader* module: a serious bug introduced in 3.2.4 which prevents
1344    succesful boot after installation on EFI machines, has been repaired.
1345    (Thanks to Gabriel) #1104
1346  * *Displaymanager* module: it is no longer a fatal error to not have any
1347    display-managers. #1095
1348  * *Partition* module: it is now possible to build without libparted. Since
1349    KPMCore may not need this library anymore, it is a dependency that will
1350    be dropped as soon as it is feasible. Add this to the CMake flags:
1351    `-DCMAKE_DISABLE_FIND_PACKAGE_LIBPARTED=ON`
1352  * *Partition* module: the location that is selected for the bootloader,
1353    no longer changes when a new partition is created. #1098
1354  * Python modules: several modules have had translations added. This is
1355    usually only visible when the module runs as part of the *exec* step,
1356    when the module's *pretty name* is displayed. In addition, some error
1357    messages are now translated.
1358  * *UnpackFS* module: improved progress reporting and tests. #565
1359
1360
1361 # 3.2.4 (2019-02-12) #
1362
1363 This release contains contributions from (alphabetically by first name):
1364  - Alf Gaida
1365  - aliveafter1000
1366  - Arnaud Ferraris
1367  - Caio Jordão Carvalho
1368  - Collabora LTD
1369  - Gabriel Craciunescu
1370  - Kevin Kofler
1371  - Philip Mueller
1372  - Scott Harvey
1373
1374 ## Core ##
1375
1376  * The Calamares application now recognizes the `-X` or `--xdg-config`
1377    option, which adds XDG_DATA_DIRS to the places used to find QML
1378    and branding directories, and XDG_CONFIG_DIRS to the places used
1379    to find the global settings and module configurations. This allows
1380    a more fine-grained, and more layered, approach to setting up
1381    Calamares configurations (in particular, distro's can **add**
1382    configuration files and give them priority, instead of **forking**
1383    configuration files).
1384  * The *branding* file now contains settings that control the size
1385    and resize behavior of Calamares. See the branding file for
1386    more documentation. In particular, the setting *windowExpanding*
1387    can be set to *normal*, *fullscreen* or *noexpand*.
1388  * The `settings.conf` file can now configure whether the *Cancel* button
1389    is shown (this isn't a branding thing, because it's quite fundamental
1390    to the workflow of the installer).
1391
1392 ## Modules ##
1393
1394  * The *partition* module supports RAID devices, but only when Calamares
1395    is compiled with the newest KPMCore release (3.3.0).
1396  * The calculation of required space -- including swap -- has been simplified,
1397    and Calamares no longer reserves 2GiB of space in calculations for internal
1398    use (this means that it no longer mysteriously drops swap when the disk
1399    size is close to the required installation size).
1400  * The name of the type of default filesystem (e.g. ext4 or btrfs) is now handled
1401    case- and localization-insensitively. This means that *btrfs* is now always
1402    an acceptable spelling.
1403  * The currently-selected disk device is remembered between manual partitioning
1404    and the partitioning-overview pages. (Thanks to Arnaud)
1405  * *partition* There is new support for partitioning layout presets.
1406    See `partition.conf` for documentation and details.
1407  * The *keyboard* module now handles the (bogus) Austrian keymap for
1408    the system console properly. (Thanks to Kevin)
1409  * The *preservefiles* module now has a mechanism for setting the permissions
1410    (and ownership) of preserved files. (Thanks to Scott)
1411  * New module *fsresizer* can be used to resize filesystems. It is intended
1412    for use in OEM installs where an image of fixed size is created,
1413    and then sized to the actual SD card the user has used.
1414  * The *mount* module now handles missing *extraMounts* and *extraMountsEfi*
1415    keys gracefully (this is probably a misconfiguration, though, and gives a
1416    warning).
1417  * The *packages* module now supports pre- and post-script options
1418    for all operations, not just during install (keep in mind that
1419    these run as three separate shells, though).
1420  * A new *rawfs* module supports straightforward copying of filesystems from
1421    the installation media to the target stystem. This can be used, for instance,
1422    for block-level-identical installations.
1423
1424
1425 # 3.2.3 (2019-01-09) #
1426
1427 This release contains contributions from (alphabetically by first name):
1428  - aliveafter1000
1429
1430 ## Core ##
1431
1432 There are no core changes in this release.
1433
1434 ## Modules ##
1435
1436  * *partition* Fixed bug where, during detection of existing systems, the
1437    existing system partitions may be mounted and then files deleted.
1438    This is a **limited** version of the patch from aliveafter1000
1439    that will be in 3.2.4, which tries harder to mount filesystems
1440    read-only and unmodifiable.
1441  * *locale* It was possible to set the installer and system language
1442    (e.g. to German) while the global storage value for *locale*
1443    remained set to English. Then no localization packages are installed
1444    (see feature `${LOCALE}` in `packages.conf`). Reported downstream
1445    in Netrunner.
1446
1447
1448 # 3.2.2 (2018-09-04) #
1449
1450 This release contains contributions from (alphabetically by first name):
1451  - Andrius Štikonas
1452  - artoo@cromnix.org
1453  - Caio Jordão Carvalho
1454  - Harald Sitter
1455  - Philip Müller
1456  - Simon Quigley
1457  - Walter Lapchynski
1458
1459 ## Core ##
1460
1461  * Example configurations are **no longer installed** by default.
1462    The default setting for *INSTALL_CONFIG* has changed. Distributions
1463    are strongly encouraged to write their own configuration files and
1464    not rely on the example configuration files. Example configurations
1465    may change unpredictably.
1466  * It is now possible to express module dependencies through the
1467    *requiredModules* key in `module.desc`. All of the required modules
1468    for a given module must occur in the sequence **before** the module
1469    requiring them. None of the core modules use this facility.
1470  * The search paths for QML files, branding descriptors and module
1471    descriptors have been revamped and now self-document in the log.
1472  * A new `ci/RELEASE.sh` script has been added to streamline releases;
1473    it is not guaranteed to work anywhere in particular though.
1474
1475 ## Modules ##
1476
1477  * When multiple modules are mutually exclusive, or don't make sense
1478    to enable concurrectly, a new `USE_<foo>` framework has been added
1479    to CMake to simplify the selection of modules. This is in addition
1480    to the existing `SKIP_MODULES` mechanism.
1481  * Various off-by-one-sector errors in the automatic partitioning
1482    mode have been corrected. In addition, swap space is calculated
1483    a little more conservatively.
1484  * A new module has been added to the core which can configure openrc
1485    services. To make services configuration consistent:
1486    - The *services* module has been **renamed** *services-systemd*,
1487    - The openrc module is named *services-openrc*,
1488    - At CMake time, it is possible to select all of the services modules,
1489      or one specific one, by setting the *USE_services* CMake variable.
1490      By default, all of the modules are built and installed.
1491  * The systemd-services module can now disable targets and mask both
1492    targets and services (which will allow you to break the system with
1493    a bad configuration). The configuration is a little more flexible
1494    because a service (or target) name can be used on its own with
1495    sensible defaults.
1496  * The displaymanager module has been entirely revamped. A long-standing
1497    bug which ignored the settings for default desktop has been fixed
1498    (thanks to Walter Lapchynski). Translations have been added to the
1499    error messages. Each DM now has an implementation class for doing
1500    all the configuration steps it needs. This groups the code needed for
1501    a specific DM (and presumably, per-distro) in one place.
1502    Distro's are **strongly advised** to re-test their DM configuration
1503    and installation with the revamped code.
1504
1505 # 3.2.1 (2018-06-25) #
1506
1507 This release contains contributions from (alphabetically by first name):
1508  - Bill Auguer
1509  - Gabriel Craciunescu
1510  - Phil Mueller
1511  - Raul Rodrigo Segura
1512
1513 ## Core ##
1514
1515  * Qt 5.7 is now the minimum required Qt version. Because KPMCore
1516    (a fairly fundamental dependency) requires Qt 5.7, Calamares
1517    has followed suit.
1518  * New testing application `loadmodule` for loading and running a
1519    single Calamares module.
1520  * New translations Belarussian and Korean.
1521  * Jobs can now be *emergency jobs* which run even after a failure.
1522  * Improved debugging when modules fail to load.
1523  * Bad configuration files will now cause the user-interface of
1524    Calamares to display an error message, rather than silently
1525    ignoring some configuration errors. This will certainly cause
1526    problems for distributions with sloppy configurations.
1527
1528 ## Modules ##
1529
1530  * New module preservefiles, keeps (log) files around after install;
1531    this duplicates functionality with the unmount module, but unmount
1532    is very late, rather limited, and fragile.
1533  * Interactiveterminal module now disables itself if build requirements
1534    are not met, rather than blocking the build.
1535  * Fixes in the timezone map data make the southern hemisphere more
1536    usable and put Reykjavik in its place.
1537  * The packages module can now update the target system if explicitly
1538    told to do so.
1539  * More paths and executables are configurable in the bootloader module.
1540  * Distributions are advised to review the `users.conf` setup **again**,
1541    as some changes in version 3.2.0 caused regressions downstream.
1542  * Distributions are advised to review their `locale.gen` files
1543    **again**. Previous changes were too restrictive, matching only
1544    the specific format Chakra Linux uses. Calamares now preserves
1545    all the comment-lines in the file and writes enabled locales
1546    at the end, with a descriptive comment.
1547
1548 # 3.2.0 (2018-05-17) #
1549
1550 This release contains contributions from (alphabetically by first name):
1551  - Alf Gaida
1552  - AlmAck
1553  - Caio Jordão Carvalho
1554  - Frede H
1555
1556 ## Modules ##
1557
1558  * UI annoyances in the partitioning module were fixed; the
1559    mount-point selector is now more obvious when no mount-point
1560    has been chosen, and the mount-point and flags are preserved
1561    when (re)editing partitions.
1562  * The handling of `@@ROOT@@` substitution in shellprocesses was
1563    backwards; this has been fixed (the substitution is made when
1564    running in the **host**).
1565  * The user shell is no longer hard-coded to `/bin/bash`,
1566    but follows the default setting for useradd(8), e.g.
1567    those set in `/etc/default/useradd`.