X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/b4440de133401abc6ce8be6c1c2e720efd9b2ba3..27a26663f60c7ddb7c1041b77c6e2e2b38e840bf:/NEWS diff --git a/NEWS b/NEWS index bb1de1e938..1d3f5aaffd 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,7 @@ #+TITLE: Guix NEWS – history of user-visible changes #+STARTUP: content hidestars -Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès Copyright © 2016, 2017, 2018 Ricardo Wurmus Copying and distribution of this file, with or without modification, @@ -11,6 +11,291 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus Please send Guix bug reports to bug-guix@gnu.org. +* Changes in 1.3.0 (since 1.2.0) + +** Package management + +*** POWER9 (powerpc64le-linux) is now supported as a technology preview +*** New ‘--export-manifest’ and ‘--export-channels’ options of ‘guix package’ +*** New ‘--profile’ option for ‘guix environment’ +*** New ‘--discover’ option of ‘guix-daemon’, for local substitute discovery +*** New ‘--advertise’ option of ‘guix publish’ +*** New ‘--with-patch’ and ‘--with-latest’ package transformation options +*** ‘guix system image’ supersedes the ‘disk-image’ and ‘vm-image’ sub-commands +*** ‘--verbosity=1’ no longer displays download URLs +*** ‘guix publish -C’ now supports zstd compression via Guile-zstd +*** ‘guix-daemon’ now supports zstd substitutes, which decompress faster +*** New ‘guix import go’ command, to import Go packages +*** ‘guix import opam’ now supports Coq packages and has a ‘--repo’ option +*** ‘guix import crate’ now honors semantic versioning (“semver”) +*** ‘guix import nix’ has been removed +*** New updaters (see ‘guix refresh’): ‘sourceforge’ and ‘generic-html’ +*** Substitute installation has been optimized +*** ‘guix’ commands suggest alternative sub-commands or options upon typos +*** Offloading no longer requires ‘guile’ to be in $PATH on build machines +*** ‘GUIX_EXTENSIONS_PATH’ is honored when looking for extensions such as GWL +*** New ‘--format’ option for ‘guix processes’ +*** ‘guix upgrade’ can now be passed several regexps + +** Distribution + +*** The Guix System demonstration VM now supports the SPICE protocol +*** The installation script can now run in a fully automated manner +*** ‘qemu-binfmt-service-type’ now relies on statically-linked QEMU +*** ‘sysctl-service-type’ enables Linux protected hardlinks/symlinks by default +*** ‘%base-services’ now includes a default ‘sysctl-service-type’ instance +*** Linux Logical Volumne Manager (LVM) now supported, via ‘lvm-device-mapping’ +*** ‘guix system init’ has been optimized +*** ‘guix system’ warns when users/groups appear more than once +*** ‘guix system image -t rock64-raw’ produces images for Rock64 devices +*** ‘herd discover guix-daemon on’ turns on substitute server discovery +*** Default initrd now supports bcachefs +*** CUPS service includes ‘brlaser’ extension by default +*** “lp” group is no longer included in ‘%base-groups’ +*** New ‘--graph-backend’ option for ‘guix system {extension,shepherd}-graph’ +*** New services + +agate, cuirass-remote-worker, ipfs, keepalived, laminar, radicale, syncthing, +transmission-daemon, wireguard, xorg-server + +*** 2009 new packages + +*** 3100 package updates + +Noteworthy updates: +emacs 27.2, gcc-toolchain 10.3.0, ghc 8.8.3, glibc 2.31, gnome 3.34.5, +gnupg 2.2.27, go 1.14.15, guile 3.0.5, icecat 78.10.0-guix0-preview1, +icedtea 3.7.0, inkscape 1.0.2, julia 1.5.3, libreoffice 6.4.7.2, +linux-libre 5.11.15, ocaml 4.11.1, octave 6.2.0, openjdk 14.0, +python 3.8.2, racket 8.0, rust 1.51.0, r 4.0.4, sbcl 2.1.3, xfce 4.16.0, +xorg-server 1.20.10 + +** Programming interfaces + +*** New ‘channel-with-substitutes-available’ procedure in (guix channels) +*** New modules (guix substitutes), (guix narinfo), and (guix avahi) +*** records can be passed to ‘guix system image’ +*** New (guix ipfs) module to interact with an IPFS gateway + +** Noteworthy bug fixes + +*** Risk of local privilege escalation via guix-daemon fixed + (, CVE-2021-27851) +*** Setuid programs on Guix System are no longer setgid root + () +*** Risk of local privilege escalation during reconfigure fixed + () +*** Grafting recognizes UTF-16 and UTF-32 store references + () +*** (guix git) honors HTTP/HTTPS proxy settings for Git submodules + () +*** Fix ‘guix substitute’ crash when interleaving lzip and gzip + () +*** Fix GnuTLS memory corruption when used from Guile + () +*** Update GnuTLS to 3.6.15, addressing a time-dependent test failure + () +*** Booted system is fully protected from garbage collection + () +*** Add MSDOS disk label support on UEFI systems + () +*** Installer’s kmscon no longer uses up 100% CPU + () +*** Git checkouts can be updated to the remote’s default HEAD + () +*** ‘guix pull’ correctly displays early builds and downloads + () +*** Fix OpenRC init scripts for ‘guix-daemon’ + () +*** Activate system when switching generations + () +*** ‘guix environment -C’ preserves original mount flags + () +*** Remove duplicates in profile transactions + () +*** Fix sound problems with ALSA plugins on foreign distros + () + +** Native language support + +*** Updated translations of the manual + +The manual is fully translated into French and German, 90% translated into +Spanish, and has preliminary translations into Chinese, Brazilian Portuguese, +and Russian. + +*** Update translations of the cookbook + +The cookbook is fully translated in French and German and has a preliminary +translation into Korean. + +*** Updated translations of messages + +This version of Guix is fully translated in French, German, and Slovak; it has +good translation into Brazilian Portuguese and Spanish, and preliminary +translations in a dozen other languages. + +*** Translations now hosted on Fedora’s Weblate instance + +Translations are now handled at + (thanks, Fedora!). +You can join to help improve translations in your native language of messages, +documentation, package descriptions, and the web site. + +* Changes in 1.2.0 (since 1.1.0) + +** Package management +*** ‘guix pull’ now crytographically authenticates channels +*** ‘guix describe -f channels’ now shows “channel introductions” +*** ‘guix describe -f channels-sans-intro’ omits channel introductions +*** New ‘guix git authenticate’ command, to authenticate Git checkouts +*** ‘guix pull’ and ‘guix system reconfigure’ detect attempts to downgrade +*** New ‘--allow-downgrades’ option for ‘guix pull’ and ‘guix system’ +*** Guix build time reduced thanks to Guile 3.0.4’s “baseline compiler” +*** New ‘--with-debug-info’ package transformation option +*** New ‘--with-c-toolchain’ package transformation option +*** New ‘--without-tests’ package transformation option +*** ‘--with-input’ & co. now also apply to implicit dependencies +*** Package transformation options are now recorded in profiles +*** New fakechroot “execution engine” for packs produced by ‘guix pack -RR’ +*** New ‘--cache-bypass-threshold’ option for ‘guix publish’ +*** New ‘--diff’ option for ‘guix challenge’, to compare substitutes +*** New ‘--exclude’ option for ‘guix lint’, to exclude checkers +*** New ‘check-for-collisions’ checker in ‘guix lint’ +*** All of Guix and Guix System now runs on Guile 3.0 +*** ‘guix pull’ and ‘--with-git-url’ now support authenticated SSH repos +*** ‘guix pull’ now honors $http_proxy and $https_proxy +*** New ‘--path’ option for ‘guix graph’, showing the shortest path +*** ‘guix repl’ can now be passed a script to execute +*** ‘guix help’ finally shows command descriptions +*** ‘guix install’ etc. no longer list items to download by default +*** ‘guix search’ etc. now automatically invoke the pager +*** New ‘--hash’ option for ‘guix hash’ +*** New ‘--list-formats’ option for ‘guix describe’ +*** New “Getting Started” section in the manual + +** Distribution +*** Bootstrap binary seeds reduced to 60 MiB on x86_64/i686 +*** New ‘--target’ option for ‘guix system’, for cross-compilation +*** New ‘--image-type’ option for ‘guix system disk-image’ +*** New ‘--label’ option for ‘guix system disk-image’ +*** Guix System can now boot from a Btrfs subvolume +*** New ‘hurd’ field of ‘operating-system’, for GNU/Hurd support +*** Guix System can be cross-compiled to GNU/Hurd with ‘--target=i586-pc-gnu’ +*** New ‘hurd-vm-service-type’ to spawn a GNU/Hurd VM on GNU/Linux +*** /etc/guix/acl on Guix System is now built from the OS configuration +*** ‘rottlog-service-type’ is now part of ‘%base-services’ +*** Linux-libre modules are now gzip-compressed +*** The efivarfs file system is now part of ‘%base-file-systems’ +*** mcron job specs are now statically checked at OS build time +*** ‘swap-devices’ field of ‘operating-system’ can contains UUIDs and labels +*** Graphical installer uses UUIDs for unencrypted swap partitions +*** Graphical installer now supports NTFS file systems +*** File systems UUIDs and labels now recognized for F2FS and NTFS +*** Root file system can now be on NFS +*** New services + +autossh, ganeti, gmnisrv, guix-build-coordinator, +guix-build-coordinator-agent, guix-build-coordinator-queue-builds, hostapd, +hurd-console, hurd-getty, hurd-vm, lxqt, rshiny, secret-service, +simulated-wifi, udev-rules, unattended-upgrade, webssh, zram + +*** 1999 new packages +*** 3652 package updates + +Noteworthy updates: +bash 5.0.16, binutils 2.34, cups 2.3.3, emacs 27.1, enlightenment 0.24.2, +gcc-toolchain 10.2.0, gdb 10.1, ghc 8.8.3, gimp 2.10.22, glibc 2.31, +gnome 3.34.2, gnupg 2.2.23, go 1.14.10, guile 3.0.4, +icecat 78.4.0-guix0-preview1, inkscape 1.0.1, julia 1.5.2, +libreoffice 6.4.6.2, linux-libre 5.9.3, mate 1.24.1, ocaml 4.09.0, +openjdk 14.0, perl 5.30.2, python2 2.7.17, python 3.8.2, racket 7.8, +rust 1.46.0, r 4.0.3, sbcl 2.0.10, shepherd 0.8.1, xfce 4.14.2, +xorg-server 1.20.8 + + +** Programming interfaces +*** New ‘maven-build-system’, for packages built with Maven +*** ‘haskell-build-system’ now always adds a “static” output +*** New (gnu image) module, to build system images +*** New (guix git-authenticate) module, for Git checkout authentication +*** New (guix openpgp) module with a minimal OpenPGP implementation +*** New (guix transformations) module, for package transformations +*** New (gnu services hurd) module providing GNU/Hurd services +*** (guix json) removed in favor of Guile-JSON’s (json) module +*** (guix zlib) and (guix lzlib) removed in favor of Guile-{Zlib,Lzlib} +*** ‘local-file’ warns about non-literal relative file names +*** Daemon now supports more hash algorithms: SHA3 and BLAKE2s +*** New record type for use in ‘origin’ +*** New ‘let-system’ for in (guix gexp), for system-dependent code +*** New lowerable record type in (guix profiles) +*** (gnu build secret-service) can share secrets with a guest OS +*** “Programming Interface” section of the manual greatly expounded + +** Noteworthy bug fixes +*** ‘guix pull’ now shows a progress bar while fetching from Git + () +*** ‘guix copy’ and ‘guix deploy’ show a progress bar while copying +*** Bootloader messages are now localized + () +*** ‘guix system reconfigure’ now starts services not currently running + () +*** Desktop environments now detect newly installed applications + () +*** Offloading and copying small items is now much faster + () +*** GCC switched back to C_INCLUDE_PATH & co. from CPATH + () +*** Graphical installer no longer hangs while connecting to WiFi network + () +*** GNU Aspell truly honors ASPELL_DICT_DIR () +*** Fix overly aggressive memoization of “commencement” packages + () +*** Duplicate /etc entries are now reported () +*** ‘guix pack -R’ wrapper correctly reports exit code + () +*** Fix time travel to pre-Guile 3.0 revisions + () +*** ‘package-grafts’ returns grafts for all the relevant outputs + () +*** ‘guix pull’ and related commands authenticate Git checkouts + () +*** Fix GNU libstdc++ misconfiguration in recent ‘gcc-toolchain’ versions + () +*** ‘guix pack -R’ wraps propagated inputs as well + () +*** ‘guix pack -R’ wrapper leaves root available to child processes + () +*** ‘lib/guix/package.cache’ generated by ‘guix pull’ is now bit-reproducible + () +*** Graphical installer now properly detects disks containing an LVM partition + () +*** Fix possible crash when copying store items over SSH + () +*** ‘gcc’ is now a “deprecated” alias for ‘gcc-toolchain’ + () +*** ‘package-input-rewriting’ & co. no longer yield unnecessary rebuilds + () +*** Offloading better normalizes build machine load + () +*** ‘guix build --check’ now honors ‘--rounds’ + () +*** ‘guix-install.sh’ now installs shell completion files + () +*** ‘guix-install.sh’ now warns about lack of ‘nscd’ + () + +** Native language support +*** Updated translations of the manual + +The manual is fully translated into French, German, and Spanish, and has +preliminary translations into Chinese and Russian. + +*** Updated translations of messages + +This version of Guix is fully translated in French, German, and Spanish, and +partially translated in 11 other languages. + * Changes in 1.1.0 (since 1.0.1) ** Package management *** New ‘guix deploy’ command to deploy several machines at once