X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/22872f766615ed5ae300b6bc1212e3001f46a0e9..99f42e14d4de7c611442fe11a1eb0eed008c24ec:/NEWS diff --git a/NEWS b/NEWS index a9eb7fbc50..122c184f65 100644 --- 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 +Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès Copyright © 2016, 2017, 2018 Ricardo Wurmus Copying and distribution of this file, with or without modification, @@ -11,7 +11,307 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus 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 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’