gnu: surgescript: Update to 0.5.4.4.
[jackhill/guix/guix.git] / NEWS
diff --git a/NEWS b/NEWS
index ae8a8cb..bb1de1e 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,395 @@ 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.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