WIP: bees service
[jackhill/guix/guix.git] / NEWS
diff --git a/NEWS b/NEWS
index a9eb7fb..122c184 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, 2019 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,
@@ -11,7 +11,307 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 
 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’