doc: note how to install git send-email
[jackhill/guix/guix.git] / NEWS
diff --git a/NEWS b/NEWS
index 11a649a..eecfa0e 100644 (file)
--- 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 Ludovic Courtès <ludo@gnu.org>
+Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 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,
@@ -11,28 +11,179 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 
 Please send Guix bug reports to bug-guix@gnu.org.
 
-* Changes since 0.15.0
+* 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
@@ -40,21 +191,59 @@ The short option for ‘--lts-version’ is now ‘-l’ (used to be ‘-r’).
 *** ‘herd invalidate nscd TABLE’ instructs nscd to invalidate TABLE
 *** New services
 
-gitolite, iptables, pcscd, prometheus-node-exporter, varnish
+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
-*** New (guix inferior) module
-*** New (guix status) module
+*** 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