Merge branch 'core-updates'
[jackhill/guix/guix.git] / NEWS
1 Guix NEWS – history of user-visible changes. -*- org -*-
2
3 Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
4
5 Copying and distribution of this file, with or without modification,
6 are permitted in any medium without royalty provided the copyright
7 notice and this notice are preserved.
8
9 Please send Guix bug reports to bug-guix@gnu.org.
10
11
12 * Changes in 0.2 (since 0.1)
13
14 ** Package management
15
16 *** Guix commands are now sub-commands of the “guix” program
17
18 Instead of typing “guix-package”, one now has to type “guix package”, and so
19 on. This has allowed us to homogenize the user interface and initial program
20 setup, and to allow commands to be upgradable through “guix pull”.
21
22 *** New “guix pull” command
23
24 The command pulls the latest version of Guix–both the package management
25 modules and the distribution. See the manual for details.
26
27 *** New binary substituter
28
29 The “substituter” mechanism allows pre-built binaries to be transparently
30 downloaded instead of performing a build locally. Currently binaries are
31 available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. See
32 the manual for details.
33
34 *** New “guix refresh” command
35
36 The command is used by Guix maintainers. It automatically updates the
37 distribution to the latest upstream releases of GNU software.
38
39 *** New “guix hash” command
40
41 Convenience command to compute the hash of a file. See the manual for
42 details.
43
44 *** (guix download) now supports HTTPS, using GnuTLS
45
46 It allows package source tarballs to be retrieved over HTTPS.
47
48 ** Programming interfaces
49
50 *** New ‘native-search-path’ and ‘search-path’ package fields
51
52 Packages can define in their ‘native-search-path’ field environment variables
53 that define search paths and need to be set for proper functioning of the
54 package. For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its
55 ‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc.
56 These environment variables are automatically set when building a package that
57 uses one of these.
58
59 *** Package inputs can be a function of the target system type
60
61 The ‘inputs’ field of a package can now be conditional on the value of
62 (%current-system). This is useful for packages that take system-dependent
63 tarballs as inputs, such as GNU/MIT Scheme.
64
65 *** New build systems
66
67 The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have
68 been added. They implement the standard build systems for Perl, Python, and
69 CMake packages.
70
71 ** GNU distribution
72
73 Many updates and additions have been made to the distribution. Here are the
74 highlights.
75
76 *** Major updates
77
78 GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
79 Coreutils 8.20, GDB 7.6, Texinfo 5.1.
80
81 *** Noteworthy new packages
82
83 TeXLive 2012, Xorg, GNU Parted, QEMU and QEMU-KVM, Avahi, Python, Lua, Samba.