gnu: Add cli11.
[jackhill/guix/guix.git] / NEWS
diff --git a/NEWS b/NEWS
index ae8a8cb..122c184 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,8 @@
 #+TITLE: Guix NEWS – history of user-visible changes
 #+STARTUP: content hidestars
 
 #+TITLE: Guix NEWS – history of user-visible changes
 #+STARTUP: content hidestars
 
-Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 
   Copying and distribution of this file, with or without modification,
   are permitted in any medium without royalty provided the copyright
 
   Copying and distribution of this file, with or without modification,
   are permitted in any medium without royalty provided the copyright
@@ -10,6 +11,549 @@ Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 
 Please send Guix bug reports to bug-guix@gnu.org.
 
 
 Please send Guix bug reports to bug-guix@gnu.org.
 
+* 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 <content-hash> record type for use in ‘origin’
+*** New ‘let-system’ for in (guix gexp), for system-dependent code
+*** New lowerable <profile> 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
+    (<https://bugs.gnu.org/39260>)
+*** ‘guix copy’ and ‘guix deploy’ show a progress bar while copying
+*** Bootloader messages are now localized
+    (<https://issues.guix.gnu.org/35394>)
+*** ‘guix system reconfigure’ now starts services not currently running
+    (<https://bugs.gnu.org/43720>)
+*** Desktop environments now detect newly installed applications
+    (<https://bugs.gnu.org/35594>)
+*** Offloading and copying small items is now much faster
+    (<https://issues.guix.gnu.org/43340>)
+*** GCC switched back to C_INCLUDE_PATH & co. from CPATH
+    (<https://bugs.gnu.org/30756>)
+*** Graphical installer no longer hangs while connecting to WiFi network
+    (<https://issues.guix.gnu.org/40682>)
+*** GNU Aspell truly honors ASPELL_DICT_DIR (<https://bugs.gnu.org/29686>)
+*** Fix overly aggressive memoization of “commencement” packages
+    (<https://bugs.gnu.org/40482>)
+*** Duplicate /etc entries are now reported (<https://bugs.gnu.org/40729>)
+*** ‘guix pack -R’ wrapper correctly reports exit code
+    (<https://bugs.gnu.org/40816>)
+*** Fix time travel to pre-Guile 3.0 revisions
+    (<https://bugs.gnu.org/41028>)
+*** ‘package-grafts’ returns grafts for all the relevant outputs
+    (<https://bugs.gnu.org/41796>)
+*** ‘guix pull’ and related commands authenticate Git checkouts
+    (<https://bugs.gnu.org/22883>)
+*** Fix GNU libstdc++ misconfiguration in recent ‘gcc-toolchain’ versions
+    (<https://bugs.gnu.org/42392>)
+*** ‘guix pack -R’ wraps propagated inputs as well
+    (<https://bugs.gnu.org/42510>)
+*** ‘guix pack -R’ wrapper leaves root available to child processes
+    (<https://bugs.gnu.org/44261>)
+*** ‘lib/guix/package.cache’ generated by ‘guix pull’ is now bit-reproducible
+    (<https://bugs.gnu.org/42009>)
+*** Graphical installer now properly detects disks containing an LVM partition
+    (<https://issues.guix.gnu.org/42683>)
+*** Fix possible crash when copying store items over SSH
+    (<https://bugs.gnu.org/42740>)
+*** ‘gcc’ is now a “deprecated” alias for ‘gcc-toolchain’
+    (<https://bugs.gnu.org/43303>)
+*** ‘package-input-rewriting’ & co. no longer yield unnecessary rebuilds
+    (<https://bugs.gnu.org/42156>)
+*** Offloading better normalizes build machine load
+    (<https://issues.guix.gnu.org/43773>)
+*** ‘guix build --check’ now honors ‘--rounds’
+    (<https://issues.guix.gnu.org/40144>)
+*** ‘guix-install.sh’ now installs shell completion files
+    (<https://bugs.gnu.org/43744>)
+*** ‘guix-install.sh’ now warns about lack of ‘nscd’
+    (<https://bugs.gnu.org/43744>)
+
+** 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
+    (<https://issues.guix.gnu.org/issue/22990>)
+*** 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
+    (<https://issues.guix.gnu.org/issue/25569>)
+*** ‘guix system disk-image’ successfully builds a bad image
+    (<https://issues.guix.gnu.org/issue/34276>)
+*** Installer cannot be restarted after a failed install
+    (<https://issues.guix.gnu.org/issue/35543>)
+*** Null pointer error when partitioning with the graphical installer
+    (<https://issues.guix.gnu.org/issue/35858>)
+*** 'guix upgrade' misdiagnoses upgrades in the presence of propagated inputs
+    (<https://issues.guix.gnu.org/issue/35872>)
+*** mcron randomly stops running jobs
+    (<https://issues.guix.gnu.org/issue/37237>)
+*** Mistaken warning "guix pull was never run"
+    (<https://issues.guix.gnu.org/issue/38196>)
+*** `guix pack --format=squashfs` fails on CentOS7
+    (<https://issues.guix.gnu.org/issue/40043>)
+*** installer: No way to input Latin characters with non-Latin keyboard layouts
+    (<https://issues.guix.gnu.org/issue/40273>)
+*** installer: Always add '%base-initrd-modules' to 'initrd-modules'
+    (<https://issues.guix.gnu.org/issue/36099>)
+*** [MATE] shutdown and reboot not possible from UI
+    (<https://issues.guix.gnu.org/issue/40327>)
+*** 'guix-daemon' honors %localstatedir, %sysconfdir, and %storedir
+    (<https://issues.guix.gnu.org/issue/35874>)
+*** Fix ‘GUIX_LOCPATH’ quoting in ‘guix-daemon.service’ (systemd)
+    (<https://issues.guix.gnu.org/issue/36074>)
+*** Include USB_ModeSwitch in %desktop-services
+    (<https://issues.guix.gnu.org/issue/35640>)
+*** linux-container: Mount a new /dev/pts instance in the container
+    (<https://issues.guix.gnu.org/issue/36463>)
+*** system: Write the timezone to /etc/timezone
+    (<https://issues.guix.gnu.org/issue/35746>)
+*** linux-modules: Define and use a module name database
+    (<https://issues.guix.gnu.org/issue/34902>)
+*** pack: Create /tmp in Docker images
+    (<https://issues.guix.gnu.org/issue/37161>)
+*** guix system: Reinstalling the bootloader preserves extra menu entries
+    (<https://issues.guix.gnu.org/issue/36876>)
+*** system: Add 'mount' and 'umount' to '%setuid-programs'
+    (<https://issues.guix.gnu.org/issue/37569>)
+*** linux-libre: Try to aggressively gather entropy during boot
+    (<https://issues.guix.gnu.org/issue/37501>)
+*** daemon: Make 'profiles/per-user' non-world-writable
+    (<https://issues.guix.gnu.org/issue/37744>)
+*** linux-boot: Don't ignore options when mounting root file system
+    (<https://issues.guix.gnu.org/issue/37977>)
+*** Files produced by syslogd are no longer world-readable
+    (<https://issues.guix.gnu.org/issue/40405>)
+
+** 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’
+    (<https://bugs.gnu.org/35541>)
+*** Installer allows for arbitrary-long passphrases and passwords
+    (<https://bugs.gnu.org/35716>)
+*** ‘network-manager-applet’ is provided as part of ‘%desktop-services’
+    (<https://bugs.gnu.org/35554>)
+*** Installer can create Btrfs file systems
+    (<https://bugs.gnu.org/35655>)
+*** Installer password entry visibility can be toggled
+    (<https://bugs.gnu.org/35540>)
+*** ‘guix-daemon.service’ file for systemd selects a valid UTF-8 locale
+    (<https://bugs.gnu.org/35671>)
+*** ‘gnome-tweak-tool’ starts correctly
+    (<https://bugs.gnu.org/35597>)
+*** ‘getlogin’ C function now works as expected
+    (<https://bugs.gnu.org/35553>)
+*** Leading zeros are preserved when serializing FAT UUIDs
+    (<https://bugs.gnu.org/35582>)
+*** ‘guix search’ now searches output names
+    (<https://bugs.gnu.org/35588>)
+*** ‘guix environment’ in non ad-hoc mode honors package transformations
+    (<https://bugs.gnu.org/35618>)
+*** ‘guix refresh’ correctly determines the latest version for GitHub
+    (<https://bugs.gnu.org/35684>)
+
+** 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 <operation-system>
+*** 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 <package>
+*** 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
+    (<https://bugs.gnu.org/35283>)
+*** ‘guix pack -f squashfs’ produces relative symlinks
+    (<https://bugs.gnu.org/34913>)
+*** ‘guix package -r something-not-installed’ now raises an error
+*** Fix multi-threaded miscompilation issue with syntax parameters
+    (<https://bugs.gnu.org/27476>)
+*** file-systems: Spawn a REPL only when interaction is possible
+    (<https://bugs.gnu.org/23697>)
+*** ‘guix environment’ supports package transformation options
+    (<https://bugs.gnu.org/33776>)
+*** ‘guix substitute’ now ignores irrelevant narinfo signatures
+    (<https://bugs.gnu.org/33733>)
+*** On Guix System, guix-daemon now runs in a UTF-8 locale
+    (<https://bugs.gnu.org/32942>)
+*** Fix relative file name canonicalization for '--root'
+    (<https://bugs.gnu.org/35271>)
+*** vm: Do not mount /xchg with "cache=loose"
+    (<https://bugs.gnu.org/33639>)
+*** build-system/go: Build with a filesystem union of Go dependencies
+    (<https://bugs.gnu.org/33620>)
+*** 'containerized-operating-system' removes "useless" services
+    (<https://bugs.gnu.org/34211>)
+** 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 (<https://bugs.gnu.org/31708>)
+*** ‘guix import hackage’ now supports ‘custom-setup’ field
+    (<https://bugs.gnu.org/23961>)
+*** ‘guix-daemon’ taken from ‘guix pull’ looks up ‘guix’ in the right place
+    (<https://bugs.gnu.org/32183>)
+*** Try several file names when looking up kernel modules
+    (<https://bugs.gnu.org/31714>)
+*** ‘file-system-*’ services are now always started after ‘udev’
+    (<https://bugs.gnu.org/32313>)
+*** Racket now ignores bytecode checksums for files in the store
+    (<https://bugs.gnu.org/30680>)
+*** Grafting now updates CRCs in ‘.gnu_debuglink’ ELF sections
+    (<https://bugs.gnu.org/19973>)
+*** UUID computation for VMs is now deterministic (<https://bugs.gnu.org/32652>)
+*** ‘git-predicate’ from (guix git) now uses Guile-Git, which fixes corner cases
+    (<https://bugs.gnu.org/27925>)
+*** (guix store database) registers each store item only once
+    (<https://bugs.gnu.org/32600>)
+*** The File > Open dialog in LibreOffice no longer triggers a crash
+    (<https://bugs.gnu.org/30642>)
+*** Account home directory is always honored (<https://bugs.gnu.org/33422>)
+
+** 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
+<https://gnu.org/s/guix/manual/de/html_node>.  Consider translating the manual
+to your native language by joining the Translation Project:
+<https://translationproject.org/domain/guix-manual.html>.
+
+*** Updated translations:
+*** New translations:
+
 * Changes in 0.15.0 (since 0.14.0)
 
 ** Package management
 * Changes in 0.15.0 (since 0.14.0)
 
 ** Package management