X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/706ae8e15c8d36b0aee7c19c54c143d3e17f5784..94f772dad8cb1064d0e8cf11285ad9963ba00224:/NEWS diff --git a/NEWS b/NEWS index ae8a8cbca0..2b6f65d088 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,9 @@ #+TITLE: Guix NEWS – history of user-visible changes #+STARTUP: content hidestars -Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +Copyright © 2016, 2017, 2018 Ricardo Wurmus +Copyright © 2021 Maxim Cournoyer Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -10,6 +12,683 @@ Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès Please send Guix bug reports to bug-guix@gnu.org. +* Changes in 1.4.0 (since 1.3.0) +** Package management +*** New 'deb' format for the 'guix pack' command +** Distribution +*** The installation script can now enable local substitute servers discovery +* 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 +*** Channels can now provide news, viewed with ‘guix pull --news’ +*** ‘guix system reconfigure’ saves provenance data +*** New ‘guix system describe’ command to view system provenance info +*** New /run/current-system/{channels,configuration}.scm files +*** New ‘guix time-machine’ command +*** ‘guix pack’ has a new ‘--entry-point’ option +*** ‘guix pack’ saves environment variables for ‘docker’ and ‘singularity’ +*** ‘guix pack’ provides a meaningful repository name for ‘docker’ +*** New ‘--target’ option for ‘guix system’ +*** ‘--no-build-hook’ was renamed to ‘--no-offload’ +*** ‘--keep-failed’ now implies ‘--no-offload’ +*** ‘--dry-run’ no longer implies ‘--no-grafts’ +*** ‘guix import crate’ has a new ‘--recursive’ option +*** ‘guix import crate’ can import a specific package version +*** ‘guix pull’ returns Guix on Guile 3.0 +*** ‘guix pull’ and ‘--with-git-url’ can clone repositories over SSH +*** ‘--with-commit’ now accepts tags +*** ‘guix challenge’ has a new ‘--diff’ option to show differences +*** ‘guix weather’ has a new ‘--display-missing’ option +*** Guix can now fetch lzip-compressed substitutes in addition to gzip +*** ‘guix publish’ supports lzip compression via ‘-C’ +*** ‘guix lint -c archival’ queries Software Heritage +*** ‘guix archive’ has a new ‘-t’ option to list archive contents +*** ‘guix describe’ and similar commands emit terminal hyperlinks +*** ‘guix build’ now attempts to substitute missing .drv files +*** ‘guix package’ etc. now lock the profile they operate on +*** ‘guix pull’ honors /etc/guix/channels.scm when it exists +*** New ‘guix show’ command, synonymous with ‘guix package --show’ +*** The ‘--manifest’ option can be repeated to combine manifests +*** Some commands previously lacking ‘--load-path’ now support it +** Distribution +*** The set of pre-built bootstrap “binary seeds” has been halved +*** Graphical installer has better support for non-Latin keyboard layouts +*** Graphical installer allows users to choose an HTTP/HTTPS proxy +*** Graphical installer allows users to edit the system configuration +*** New ‘kernel-loadable-modules’ field in ‘operating-system’ +*** rottlog service is now part of ‘%base-services’ +*** ‘%base-services’ now includes /usr/bin/env as a “special file” +*** ‘herd set-http-proxy guix-daemon URL’ can be used to set a proxy +*** ‘qemu-binfmt’ service now supports riscv32 and riscv64 +*** File system UUIDs and labels are now supported for JFS +*** New services + +auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader, +knot-resolver, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork, +polkit-wheel, provenance, pulseaudio, sane, singularity, usb-modeswitch + +*** 3514 new packages + +*** 3368 package updates + +Noteworthy updates: +bash 5.0.7, binutils 2.32, cups 2.3.1, emacs 26.3, enlightenment 0.23.1, +gcc-toolchain 9.3.0, gdb 9.1, ghc 8.6.5, gimp 2.10.18, glibc 2.29, +gnome 3.32.2, gnupg 2.2.20, go 1.13.9, guile 2.2.7, +icecat 68.7.0-guix0-preview1, icedtea 3.7.0, julia 1.3.1, +libreoffice 6.4.2.2, linux-libre 5.4.31, mate 1.24.0, ocaml 4.09.0, +octave 5.2.0, openjdk 12.33, perl 5.30.0, python2 2.7.16, python 3.7.4, +racket 7.6, rust 1.39.0, r 3.6.3, sbcl 2.0.3, shepherd 0.7.0, xfce 4.14.0, +xorg-server 1.20.7 + +** Programming interfaces +*** New build systems + +copy-build-system, julia-build-system, node-build-system, qt-build-system + +*** New ‘with-build-handler’ and ‘map/accumulate-builds’ in (guix store) +*** (guix gexp) has a new ‘with-parameters’ form +*** New (guix remote) module for remote evaluation of gexps +*** New ‘eval/container’ procedure in (gnu system linux-container) +*** (guix inferior) now reifies exceptions as ‘&inferior-exception’ +*** (guix cve) uses the new NIST-provided JSON files instead of XML +*** New (guix json) module to map JSON objects to Scheme records +*** New (gnu installer tests) module to drive the graphical installer +*** New (guix diagnostics) module for consistent diagnostic messages +*** “Checkers” now live in (guix lint) +** Notewothy bug fixes +*** Grafts leads to inefficient substitute info retrieval + () +*** Grafting prevents build plan from being displayed upfront + (https://issues.guix.gnu.org/issue/28310) +*** Changing the HTTP/FTP proxy used by the daemon is inconvenient + () +*** ‘guix system disk-image’ successfully builds a bad image + () +*** Installer cannot be restarted after a failed install + () +*** Null pointer error when partitioning with the graphical installer + () +*** 'guix upgrade' misdiagnoses upgrades in the presence of propagated inputs + () +*** mcron randomly stops running jobs + () +*** Mistaken warning "guix pull was never run" + () +*** `guix pack --format=squashfs` fails on CentOS7 + () +*** installer: No way to input Latin characters with non-Latin keyboard layouts + () +*** installer: Always add '%base-initrd-modules' to 'initrd-modules' + () +*** [MATE] shutdown and reboot not possible from UI + () +*** 'guix-daemon' honors %localstatedir, %sysconfdir, and %storedir + () +*** Fix ‘GUIX_LOCPATH’ quoting in ‘guix-daemon.service’ (systemd) + () +*** Include USB_ModeSwitch in %desktop-services + () +*** linux-container: Mount a new /dev/pts instance in the container + () +*** system: Write the timezone to /etc/timezone + () +*** linux-modules: Define and use a module name database + () +*** pack: Create /tmp in Docker images + () +*** guix system: Reinstalling the bootloader preserves extra menu entries + () +*** system: Add 'mount' and 'umount' to '%setuid-programs' + () +*** linux-libre: Try to aggressively gather entropy during boot + () +*** daemon: Make 'profiles/per-user' non-world-writable + () +*** linux-boot: Don't ignore options when mounting root file system + () +*** Files produced by syslogd are no longer world-readable + () + +** Native language support +*** Updated translations of the manual + +The manual is fully translated into Spanish, more than 85% complete in French +and German, and has preliminary translations into Russian and Chinese. + +*** Updated translations of messages + +This version of Guix is fully translated in Brazilian Portuguese, French, +German, and Spanish, and partially translated in 10 other languages. + +* Changes in 1.0.1 (since 1.0.0) +** Package management +*** The ‘https_proxy’ environment variable is now honored +** Distribution +*** ‘guix system docker-image’ now produces images with an entry point +*** New ‘--network’ option for ‘guix system container’ +*** ‘gcc’ package is now hidden; ‘gcc-toolchain’ is what users want +*** ‘mcron’ service now logs to /var/log/mcron.log +*** Dovecot: ‘auth-verbose-passwords?’ renamed from ‘auth-verbose-passwords’ +*** ‘slim’ service now allows for multiple instances on different VTs +*** 70 new packages +*** 483 package updates + +Noteworthy updates: +gdb 8.3, ghc 8.4.3, glibc 2.28, gnupg 2.2.15, go 1.12.1, guile 2.2.4, +icecat 60.6.2-guix1, icedtea 3.7.0, linux-libre 5.1.2, python 3.7.0, +rust 1.34.1, shepherd 0.6.1 + +** Programming interfaces +*** New (guix lzlib) module, to be used eventually for substitute compression +** Noteworthy bug fixes +*** Installer appends packages to ‘%base-packages’ + () +*** Installer allows for arbitrary-long passphrases and passwords + () +*** ‘network-manager-applet’ is provided as part of ‘%desktop-services’ + () +*** Installer can create Btrfs file systems + () +*** Installer password entry visibility can be toggled + () +*** ‘guix-daemon.service’ file for systemd selects a valid UTF-8 locale + () +*** ‘gnome-tweak-tool’ starts correctly + () +*** ‘getlogin’ C function now works as expected + () +*** Leading zeros are preserved when serializing FAT UUIDs + () +*** ‘guix search’ now searches output names + () +*** ‘guix environment’ in non ad-hoc mode honors package transformations + () +*** ‘guix refresh’ correctly determines the latest version for GitHub + () + +** Native language support +*** New preliminary translation of the manual to Russian +*** Updated translations: da, de, es, fr + +* Changes in 1.0.0 (since 0.16.0) +** Package management +*** New ‘-v’/‘--verbosity’ option for all commands +*** Most commands now default to verbosity level 1 (“quiet”) +*** New ‘guix package’ aliases: ‘install’, ‘remove’, ‘upgrade’, and ‘search’ +*** ‘guix pack -RR’ produces PRoot-enabled relocatable binaries +*** New ‘--save-provenance’ option for ‘guix pack’ +*** CLI diagnostics use colors; more operations show progress bars +*** New ‘--news’ option for ‘guix pull’ +*** New ‘--preserve’ option for ‘guix environment’ +*** ‘guix environment -C’ creates containers with a non-zero UID +*** Channels can now specify dependencies in a ‘.guix-channel’ file +*** New ‘reverse-bag’ graph type for ‘guix graph’ +*** New ‘--with-git-url’ package transformation option +*** The ‘--with-branch’ package transformation option fetches Git sub-modules +*** New ‘guix system delete-generations’ command +*** New ‘--list-roots’ and ‘--delete-generations’ options for ‘guix gc’ +*** New ‘--coverage’ option for ‘guix weather’ +*** ‘guix pull’ computes a package cache to speed up package lookups by name +*** ‘guix pull’ now embeds ‘glibc-utf8-locales’ +*** ‘guix refresh -l’ better estimates dependents +*** ‘guix build’ can take multiple ‘--system’ flags +*** ‘guix offload’ avoids build machines with too little free disk space +*** ‘guix offload’ now uses (guix inferior) to communicate with remote hosts +*** Guix can no longer be built with Guile 2.0 +** Distribution +*** New text-mode graphical installer +*** New virtual machine (VM) image +*** New ‘keyboard-layout’ field for the OS, bootloader, and Xorg configuration +*** New ‘xorg-configuration’ record type for Xorg server configuration +*** ‘%desktop-services’ now includes GDM instead of SLiM for graphical log-in +*** New ‘label’ and ‘essential-services’ fields for +*** The manual has been restructured for clarity +*** New ‘remote-inferior’ procedure in (guix ssh) +*** New (gnu ci) module for continuous integration jobs +*** (gnu services shepherd) now supports one-shot services +*** New services + +cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent, +zabbix-server + +*** 1102 new packages +*** 2104 package updates + +Noteworthy updates: +clojure 1.10.0, cups 2.2.11, emacs 26.2, gcc 8.3.0, gdb 8.2.1, ghc 8.4.3, +gimp 2.10.10, glibc 2.28, gnome 3.28.2, gnupg 2.2.15, go 1.12.1, +guile 2.2.4, icecat 60.6.1-guix1, icedtea 3.7.0, inkscape 0.92.4, +libreoffice 6.1.5.2, linux-libre 5.0.10, mate 1.22.0, ocaml 4.07.1, +octave 5.1.0, openjdk 11.28, python 3.7.0, rust 1.34.0, r 3.6.0, +sbcl 1.5.1, shepherd 0.6.0, xfce 4.12.1, xorg-server 1.20.4 + +** Programming interfaces +*** New ‘this-package’, ‘this-origin’, and ‘this-operating-system’ macros +*** The ‘self-native-input?’ field was removed from +*** New ‘package-input-rewriting/spec’ procedure for graph rewriting +*** New ‘package-closure’ procedure in (guix packages) +*** New UI helper modules (guix colors) and (guix deprecation) +*** New (gnu build accounts) module to manage /etc/{passwd,shadow,group} +*** ‘nix-*’ bindings in (guix store) replaced by ‘store-connection-*’ +*** Records created by ‘define-record-type*’ report duplicate fields +** Noteworthy bug fixes +*** ISO images produced by ‘guix system’ are now reproducible bit-for-bit + () +*** ‘guix pack -f squashfs’ produces relative symlinks + () +*** ‘guix package -r something-not-installed’ now raises an error +*** Fix multi-threaded miscompilation issue with syntax parameters + () +*** file-systems: Spawn a REPL only when interaction is possible + () +*** ‘guix environment’ supports package transformation options + () +*** ‘guix substitute’ now ignores irrelevant narinfo signatures + () +*** On Guix System, guix-daemon now runs in a UTF-8 locale + () +*** Fix relative file name canonicalization for '--root' + () +*** vm: Do not mount /xchg with "cache=loose" + () +*** build-system/go: Build with a filesystem union of Go dependencies + () +*** 'containerized-operating-system' removes "useless" services + () +** Native language support +*** The manual is now fully translated in French and Spanish +*** The manual is also partly translated in German and in Simplified Chinese +*** Updated translations: da, de, es, fr +*** New translations: sv + +* Changes in 0.16.0 (since 0.15.0) + +** Package management + +*** Default substitute URL changed to https://ci.guix.info +*** ‘guix pull -l’ lists new and upgraded packages +*** ‘guix pull’ now supports channels via ~/.config/guix/channels.scm +*** New ‘--profile’ or ‘-p’ option for ‘guix pull’ +*** ~/.config/guix/current is now a symlink to /var/guix/profiles +*** New ‘guix describe’ command +*** ‘guix package’ no longer shows build logs by default +*** ‘guix’ commands now produce colored output by default +*** User interface now reports grafts separately +*** Manifests can now refer to arbitrary Guix commits using “inferiors” +*** New ‘--with-branch’ and ‘--with-commit’ package transformation options +*** ‘guix build -f’ now accepts any kind of “file-like object” +*** Git checkouts may now be fetched from Software Heritage +*** New ‘guix repl’ command for use by inferiors +*** New ‘guix processes’ command +*** ‘guix pack’ now honors ‘--localstatedir’ for all its backends +*** New ‘opam’ importer for ‘guix import’ +*** ‘guix import pypi’ has a new ‘--recursive’ option +*** ‘guix import hackage’ has a new ‘--recursive’ option +*** ‘guix import stackage’ has a new ‘--recursive’ option +The short option for ‘--lts-version’ is now ‘-l’ (used to be ‘-r’). +*** ‘guix refresh’ now stores upstream keys in ~/.config/guix/upstream +*** Guix now depends on Guile-Gcrypt +*** Guix now requires Guile-JSON + +** Distribution + +*** Rust is now bootstrapped from mrustc +*** The GNU Shepherd was upgraded to 0.5.0 +*** ‘guix system reconfigure’ now loads Shepherd service replacements +*** ‘herd schedule mcron’ now displays mcron’s job schedule +*** ‘herd statistics nscd’ now displays nscd statistics +*** ‘herd invalidate nscd TABLE’ instructs nscd to invalidate TABLE +*** New services + +ddclient, gitolite, iptables, pcscd, prometheus-node-exporter, varnish + +*** 985 new packages + +*** 1945 package updates + +Noteworthy updates: +bash 4.4.23, binutils 2.31.1, cups 2.2.8, enlightenment 0.22.4, gcc 8.2.0, +gdb 8.2, ghc 8.4.3, gimp 2.10.6, glibc 2.28, gnupg 2.2.11, go 1.11.1, +guile 2.2.4, icecat 60.3.0-gnu1, icedtea 3.7.0, libreoffice 6.1.3.2, +linux-libre 4.19.6, ocaml 4.07.1, octave 4.4.1, perl 5.28.0, +python2 2.7.15, python 3.7.0, racket 7.0, rust 1.28.0, r 3.5.1, +sbcl 1.4.13, shepherd 0.5.0, xorg-server 1.20.3 + +** Programming interfaces + +*** New (guix channels) module, see “Channels” in the manual +*** New (guix inferior) module, see “Inferiors” in the manual +*** New (guix describe) module, used by ‘guix describe’ +*** New (guix status) module, for build progress reporting +*** ‘packages->manifest’ now accepts inferior packages +*** New build systems: ‘clojure’, ‘guile’ +*** New ‘git-checkout’ record constructor in (guix git) +*** Shepherd services can now declare custom actions +*** More of the (gnu system …) APIs are now non-monadic +*** New ‘add-file-tree-to-store’ procedure in (guix store) +*** New (guix swh) module to access Software Heritage +*** New (guix build debug-link) module, for ELF ‘.gnu_debuglink’ sections + +** Noteworthy bug fixes + +*** Fix GCC crashes caused by a patch of ours () +*** ‘guix import hackage’ now supports ‘custom-setup’ field + () +*** ‘guix-daemon’ taken from ‘guix pull’ looks up ‘guix’ in the right place + () +*** Try several file names when looking up kernel modules + () +*** ‘file-system-*’ services are now always started after ‘udev’ + () +*** Racket now ignores bytecode checksums for files in the store + () +*** Grafting now updates CRCs in ‘.gnu_debuglink’ ELF sections + () +*** UUID computation for VMs is now deterministic () +*** ‘git-predicate’ from (guix git) now uses Guile-Git, which fixes corner cases + () +*** (guix store database) registers each store item only once + () +*** The File > Open dialog in LibreOffice no longer triggers a crash + () +*** Account home directory is always honored () + +** Native language support + +*** The manual is now partially translated into German, in addition to French + +To read the German manual, just type “info guix.de” or read it on-line at +. Consider translating the manual +to your native language by joining the Translation Project: +. + +*** Updated translations: +*** New translations: + * Changes in 0.15.0 (since 0.14.0) ** Package management