emacs-guix/NEWS

538 lines
12 KiB
Plaintext

-*- mode: org -*-
* Changes in 0.5.2 (since 0.5.1.1)
** User visible changes
*** New commands
**** M-x guix-lint-checkers
**** M-x guix-hidden-packages
*** Removed commands
**** M-x guix-newest-packages
"M-x guix-all-packages" should be used instead.
*** Changed commands
**** M-x guix-package-lint
It asks for multiple packages now.
*** Profile List
It displays all profiles that have gc roots (similarly to
"guix package --list-profiles" shell command) now.
* Changes in 0.5.1.1 (since 0.5.1)
This is a bug-fix release: "M-x guix", introduced by the previous
release, failed after pressing "p" or "P" because of a missing
requirement in "guix-popup.el". This is fixed in this release (commit
d7b54784bc3962570519aac472f54598c10299ae).
* Changes in 0.5.1 (since 0.5)
** User visible changes
*** "M-x guix" — new popup interface for Emacs-Guix commands
The old "M-x guix" (interface for guix shell commands) is renamed to
"M-x guix-command" (also it is one of the sub-popups of the new "M-x
guix" now).
*** New commands
**** M-x guix-set-emacs-environment
**** M-x guix-current-profile
*** Store Item List
New key binding — "z": display a total size of the marked store items.
*** New variables
- guix-file-size-string-function
- guix-store-item-show-total-size
** Internal changes
*** Renamed variables
- guix-default-profile -> guix-default-user-profile
*** New variables
- guix-default-pulled-profile
* Changes in 0.5 (since 0.4.1.1)
** User visible changes
*** New commands
**** M-x guix-store-item
**** M-x guix-store-item-referrers
**** M-x guix-store-item-references
**** M-x guix-store-item-requisites
**** M-x guix-store-item-derivers
**** M-x guix-store-failures
**** M-x guix-store-live-items
**** M-x guix-store-dead-items
*** Interface for Hydra removed
It was extracted into a stand-alone "Emacs-Build-Farm" package.
** Internal changes
*** New variables
- guix-ask-before-buffer-update
- guix-geiser-connection-timeout
* Changes in 0.4.1.1 (since 0.4.1)
This is a bug-fix release: earlier version of "guix pull" command put
".go" files into the same directory as ".scm", but now they are placed
in different directories. This change is supported by this release. It
is a crucial change, as incompatibility between .scm and .go files may
lead to unpredictable errors.
* Changes in 0.4.1 (since 0.4)
The main purpose of this release is to support the new behaviour of
"guix pull" command, which now makes a full-featured profile
[[~/.config/guix/current]] instead of just building the latest guix modules
and putting them into [[~/.config/guix/latest]] directory.
** User visible changes
*** New commands
**** M-x guix-system-from-file
**** M-x guix-system-profile
*** Changed commands
**** M-x guix-dependent-packages
It asks for dependency type now: "all" or "direct".
*** Profile List
The new profile populated by "guix pull" is displayed by "M-x
guix-profiles" now.
*** Renamed variables
guix-hash-support-dired -> guix-support-dired
** Internal changes
*** New variables
- guix-pulled-profile
* Changes in 0.4 (since 0.3.4)
** User visible changes
*** New commands
**** M-x guix-all-services
**** M-x guix-default-services
**** M-x guix-services-by-name
**** M-x guix-services-by-regexp
**** M-x guix-services-by-location
**** M-x guix-service-locations
**** M-x guix-find-service-definition
**** M-x guix-find-service-location-file
**** M-x guix-find-license-location-file
**** M-x guix-dependent-packages
**** M-x guix-number-of-packages
**** M-x guix-report-bug
*** Renamed commands
**** M-x guix-all-available-packages -> guix-all-packages
**** M-x guix-newest-available-packages -> guix-newest-packages
**** M-x guix-find-location -> guix-find-package-location-file
**** M-x guix-locations -> guix-package-locations
**** M-x guix-edit -> guix-find-package-definition
'guix-edit' still exists as an alias for 'guix-find-package-definition'
and it is not going to be removed.
*** guix-devel-mode
**** Possibility to edit synopsis/description in texinfo-mode
The new 'guix-devel-code-block-edit' command that allows you to do this
is bound to "C-c . '".
**** Possibility to find package patch file at point
To activate it, use:
(add-to-list 'ffap-alist '("\\.patch" . guix-devel-ffap-patch))
*** guix-env-var-mode
It prettifies "/tmp/guix-build-*-*.drv-*/environment-variables" and
"etc/profile" files.
** Internal changes
*** New faces
- guix-hydra-build-status-unknown
- guix-location
'guix-package-info-location' face is removed (superseded by
'guix-location').
*** New variables
Not counting the huge amount of variables for the new service interface.
- guix-package-names-use-duplicates
- guix-hydra-number-of-builds
- guix-hydra-urls
- guix-repl-max-returned-list-size
*** Performance improvements
Big portions of Guile data are passed to the Elisp side not through
Geiser, but through a temporary file. This makes Emacs-Guix faster and
more reliable. See commit 00c87a9cafa3d74840be02efa2516286515b6f93 for
details.
*** Requirements
New requirement: "edit-indirect.el" library.
* Changes in 0.3.4 (since 0.3.3)
** User visible changes
*** New commands
**** M-x guix-hash
**** M-x guix-superseded-packages
**** M-x guix-derivation-mode
It is enabled automatically in "/gnu/store/….drv" files.
**** M-x guix-scheme-mode
It is enabled automatically in various Guile files from the store (for
example, "/gnu/store/…-activate-service" or "/gnu/store/…-shepherd.conf").
*** Package List
Along with "obsolete" packages, names of "superseded", "unknown" and
"future" packages are also highlighted.
** Internal changes
*** New faces
- guix-derivation-file-name;
- guix-derivation-drv-file-name;
- guix-package-info-unknown;
- guix-package-info-future;
- guix-package-info-superseded;
- guix-package-list-unknown;
- guix-package-list-future;
- guix-package-list-superseded.
*** New variables
- guix-derivation-file-regexp;
- guix-derivation-file-regexp-group;
- guix-derivation-file-name-faces;
- guix-read-package-name-function;
- guix-hash-regexp;
- guix-default-hash-format;
- guix-default-key-policy;
- guix-default-elpa-archive;
- guix-default-size-sort-key;
- guix-default-search-paths-type;
- guix-default-graph-backend;
- guix-default-graph-node-type.
** Bug fixes
*** UUIDs are handled properly by System Generation Info
Previously "M-x guix-system-generations" followed by "i" failed if store
devices were specified by UUIDs in a system configuration.
* Changes in 0.3.3 (since 0.3.2)
** User visible changes
*** Profile List
New key bindings:
- "E": show 'search paths';
- "RET": show "Profile Info".
*** Profile Info
New interface.
*** Generation Info
New "Profile" and "Search paths" buttons.
*** Generation List
New key bindings:
- "E": show 'search paths';
** Internal changes
*** New faces
- 'guix-true';
- 'guix-faces'.
This faces are parent for:
- 'guix-package-info-installed-outputs' and
'guix-package-info-uninstalled-outputs',
- 'guix-generation-info-current' and 'guix-generation-info-not-current',
- 'guix-profile-info-current' and 'guix-profile-info-not-current' (faces
for the new "Profile Info" interface).
** Bug fixes
*** Editing user packages honors relative file names
Previously, "M-x guix-edit" might not open custom packages (from
GUIX_PACKAGE_PATH) because it assumed the file names were absolute. Now
relative file names are also handled.
* Changes in 0.3.2 (since 0.3.1)
** User visible changes
*** Package Info
New key bindings:
- "i", "d", "U": install, delete, upgrade;
- "G": show package graph;
- "z": show package size;
- "L": lint package.
*** System Generation Info
More information added (bootloader, direct link to a system file name).
* Changes in 0.3.1 (since 0.3)
** User visible changes
*** New commands
**** M-x guix-info
**** M-x guix-services-from-system-config-file
* Changes in 0.3 (since 0.2.2)
** User visible changes
*** New commands
**** M-x guix-packages-from-system-config-file
**** M-x guix-package-graph
**** M-x guix-package-size
**** M-x guix-lint
**** M-x guix-switch-to-buffer
**** M-x guix-extended-command
*** Package List
New key bindings:
- "G": show package graph;
- "z": show package size;
- "L": lint package.
*** Package Info
New buttons: "Graph", "Size", "Lint".
** Internal changes
*** Guix REPL is used for shell completions
Previously, when you pressed TAB to complete some guix shell command, an
according 'guix ... -h' shell command was called to get possible
completions from the help output. Now this help output is received
through Guix REPL, which is faster.
*** Temporary files are placed in a sub-directory
Previously, temporary files (REPL socket and generated graph images)
were put directly in 'temporary-file-directory'. Now they are placed in
"emacs-guix-..." sub-directory.
* Changes in 0.2.2 (since 0.2.1)
** User visible changes
*** Hints
Press "h" (or any unbound key) in any 'list' or 'info' buffer to display
a hint message (a summary of the available key bindings).
*** Generation List
- "D" key is removed (use "=" instead).
- "s" key is used for sorting (as in the other lists), not for setting
current generation as before (use "c" instead).
*** Location List
"e" key can be used to go to the location file.
** Internal changes
*** "guix.scm" added
* Changes in 0.2.1 (since 0.2)
** User visible changes
*** New commands
**** M-x guix-about
*** Profile List
"Current" column is added (current profile for package commands).
*** M-x guix-help
"info" buttons (for the commands) are added.
*** M-x guix
"G" (graph) completes =--backend= option, and "v" (View graph) opens
html graph if the backend is "d3js".
* Changes in 0.2 (since Emacs-Guix was a part of Guix)
** User visible changes
*** New commands
**** M-x guix-help
**** M-x guix-profiles
*** "P" key to display packages
Previously, "RET" was used in various lists to display packages. Now it
is not the case in lists of generations and licenses ("RET" is used to
display Info buffer), but "P" can be used anywhere (in lists of
generations, licenses, locations and profiles).
*** Package List
"C-u ^" marks all installed packages (even not obsolete) for upgrading.
*** Generation List
New column with a number of packages is added.
*** Generation Info
Several new parameters and buttons are added (especially in Info buffer
for system generations).
*** 'guix-build-log-minor-mode' is not activated by default
To activate it, use:
(add-hook 'shell-mode-hook 'guix-build-log-minor-mode)
*** 'guix-devel-mode' is not activated by default
To activate it, use:
(add-hook 'scheme-mode-hook 'guix-devel-mode)
*** New variables
- guix-repl-use-latest: defines whether or not to use "guix pull"-ed
code (default is t).
*** Renamed variables
guix-use-guile-server -> guix-repl-use-server
guix-after-start-repl-hook -> guix-repl-after-start-hook
guix-after-repl-operation-hook -> guix-repl-after-operation-hook
guix-before-repl-operation-hook -> guix-repl-before-operation-hook
guix-ui-update-after-operation -> guix-update-buffers-after-operation
*** Renamed buffers
"List" part was removed from buffer names (*Guix Packages* instead of
*Guix Package List*, etc.)
** Internal changes
*** Guile code is split into multiple modules
Previously, there was a single "guix-main.scm" file with the code for
all the features. Now there are several Guile modules which are loaded
on demand. This improves the start time of the Guix REPL, especially
for those commands that do not require to load many Guix modules (like
"M-x guix-licenses").
*** Guile load path is augmented on the Emacs-Lisp side
Previously, there was "guix-helper.scm" file (generated by
"./configure") that set up the required load-path and loaded
"guix-main.scm". Now this is done on the elisp side, which is more
versatile as it also allows to use Emacs-Guix from MELPA or from source
without additional configuration.
*** Renamed files
guix-backend.el -> guix-repl.el
guix-base.el -> guix-misc.el
guix-messages.el -> guix-ui-messages.el
*** Removed files
**** guix-buffer.el, guix-entry.el, guix-history.el, guix-info.el, guix-list.el
Now BUI library is used for list/info interfaces, so a big part of elisp
code was removed (the removed code was used as the base for BUI
library).
**** guix-emacs.el
This file stays in Guix as it is used in Emacs package recipe (it is
intended to autoload Emacs packages installed with Guix).
**** guix-init.el
It was deprecated in Guix since March 2016.
*** Requirements
Required Geiser version updated to 0.8.
New requirements: "bui.el" and "dash.el" libraries.