NEWS 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. -*- mode: org -*-
  2. * Changes in 0.4 (since 0.3.4)
  3. ** User visible changes
  4. *** New commands
  5. **** M-x guix-all-services
  6. **** M-x guix-default-services
  7. **** M-x guix-services-by-name
  8. **** M-x guix-services-by-regexp
  9. **** M-x guix-services-by-location
  10. **** M-x guix-service-locations
  11. **** M-x guix-find-service-definition
  12. **** M-x guix-find-service-location-file
  13. **** M-x guix-find-license-location-file
  14. **** M-x guix-dependent-packages
  15. **** M-x guix-number-of-packages
  16. **** M-x guix-report-bug
  17. *** Renamed commands
  18. **** M-x guix-all-available-packages -> guix-all-packages
  19. **** M-x guix-newest-available-packages -> guix-newest-packages
  20. **** M-x guix-find-location -> guix-find-package-location-file
  21. **** M-x guix-locations -> guix-package-locations
  22. **** M-x guix-edit -> guix-find-package-definition
  23. 'guix-edit' still exists as an alias for 'guix-find-package-definition'
  24. and it is not going to be removed.
  25. *** guix-devel-mode
  26. **** Possibility to edit synopsis/description in texinfo-mode
  27. The new 'guix-devel-code-block-edit' command that allows you to do this
  28. is bound to "C-c . '".
  29. **** Possibility to find package patch file at point
  30. To activate it, use:
  31. (add-to-list 'ffap-alist '("\\.patch" . guix-devel-ffap-patch))
  32. *** guix-env-var-mode
  33. It prettifies "/tmp/guix-build-*-*.drv-*/environment-variables" and
  34. "etc/profile" files.
  35. ** Internal changes
  36. *** New faces
  37. - guix-hydra-build-status-unknown
  38. - guix-location
  39. 'guix-package-info-location' face is removed (superseded by
  40. 'guix-location').
  41. *** New variables
  42. Not counting the huge amount of variables for the new service interface.
  43. - guix-package-names-use-duplicates
  44. - guix-hydra-number-of-builds
  45. - guix-hydra-urls
  46. - guix-repl-max-returned-list-size
  47. *** Performance improvements
  48. Big portions of Guile data are passed to the Elisp side not through
  49. Geiser, but through a temporary file. This makes Emacs-Guix faster and
  50. more reliable. See commit 00c87a9cafa3d74840be02efa2516286515b6f93 for
  51. details.
  52. *** Requirements
  53. New requirement: "edit-indirect.el" library.
  54. * Changes in 0.3.4 (since 0.3.3)
  55. ** User visible changes
  56. *** New commands
  57. **** M-x guix-hash
  58. **** M-x guix-superseded-packages
  59. **** M-x guix-derivation-mode
  60. It is enabled automatically in "/gnu/store/….drv" files.
  61. **** M-x guix-scheme-mode
  62. It is enabled automatically in various Guile files from the store (for
  63. example, "/gnu/store/…-activate-service" or "/gnu/store/…-shepherd.conf").
  64. *** Package List
  65. Along with "obsolete" packages, names of "superseded", "unknown" and
  66. "future" packages are also highlighted.
  67. ** Internal changes
  68. *** New faces
  69. - guix-derivation-file-name;
  70. - guix-derivation-drv-file-name;
  71. - guix-package-info-unknown;
  72. - guix-package-info-future;
  73. - guix-package-info-superseded;
  74. - guix-package-list-unknown;
  75. - guix-package-list-future;
  76. - guix-package-list-superseded.
  77. *** New variables
  78. - guix-derivation-file-regexp;
  79. - guix-derivation-file-regexp-group;
  80. - guix-derivation-file-name-faces;
  81. - guix-read-package-name-function;
  82. - guix-hash-regexp;
  83. - guix-default-hash-format;
  84. - guix-default-key-policy;
  85. - guix-default-elpa-archive;
  86. - guix-default-size-sort-key;
  87. - guix-default-search-paths-type;
  88. - guix-default-graph-backend;
  89. - guix-default-graph-node-type.
  90. ** Bug fixes
  91. *** UUIDs are handled properly by System Generation Info
  92. Previously "M-x guix-system-generations" followed by "i" failed if store
  93. devices were specified by UUIDs in a system configuration.
  94. * Changes in 0.3.3 (since 0.3.2)
  95. ** User visible changes
  96. *** Profile List
  97. New key bindings:
  98. - "E": show 'search paths';
  99. - "RET": show "Profile Info".
  100. *** Profile Info
  101. New interface.
  102. *** Generation Info
  103. New "Profile" and "Search paths" buttons.
  104. *** Generation List
  105. New key bindings:
  106. - "E": show 'search paths';
  107. ** Internal changes
  108. *** New faces
  109. - 'guix-true';
  110. - 'guix-faces'.
  111. This faces are parent for:
  112. - 'guix-package-info-installed-outputs' and
  113. 'guix-package-info-uninstalled-outputs',
  114. - 'guix-generation-info-current' and 'guix-generation-info-not-current',
  115. - 'guix-profile-info-current' and 'guix-profile-info-not-current' (faces
  116. for the new "Profile Info" interface).
  117. ** Bug fixes
  118. *** Editing user packages honors relative file names
  119. Previously, "M-x guix-edit" might not open custom packages (from
  120. GUIX_PACKAGE_PATH) because it assumed the file names were absolute. Now
  121. relative file names are also handled.
  122. * Changes in 0.3.2 (since 0.3.1)
  123. ** User visible changes
  124. *** Package Info
  125. New key bindings:
  126. - "i", "d", "U": install, delete, upgrade;
  127. - "G": show package graph;
  128. - "z": show package size;
  129. - "L": lint package.
  130. *** System Generation Info
  131. More information added (bootloader, direct link to a system file name).
  132. * Changes in 0.3.1 (since 0.3)
  133. ** User visible changes
  134. *** New commands
  135. **** M-x guix-info
  136. **** M-x guix-services-from-system-config-file
  137. * Changes in 0.3 (since 0.2.2)
  138. ** User visible changes
  139. *** New commands
  140. **** M-x guix-packages-from-system-config-file
  141. **** M-x guix-package-graph
  142. **** M-x guix-package-size
  143. **** M-x guix-lint
  144. **** M-x guix-switch-to-buffer
  145. **** M-x guix-extended-command
  146. *** Package List
  147. New key bindings:
  148. - "G": show package graph;
  149. - "z": show package size;
  150. - "L": lint package.
  151. *** Package Info
  152. New buttons: "Graph", "Size", "Lint".
  153. ** Internal changes
  154. *** Guix REPL is used for shell completions
  155. Previously, when you pressed TAB to complete some guix shell command, an
  156. according 'guix ... -h' shell command was called to get possible
  157. completions from the help output. Now this help output is received
  158. through Guix REPL, which is faster.
  159. *** Temporary files are placed in a sub-directory
  160. Previously, temporary files (REPL socket and generated graph images)
  161. were put directly in 'temporary-file-directory'. Now they are placed in
  162. "emacs-guix-..." sub-directory.
  163. * Changes in 0.2.2 (since 0.2.1)
  164. ** User visible changes
  165. *** Hints
  166. Press "h" (or any unbound key) in any 'list' or 'info' buffer to display
  167. a hint message (a summary of the available key bindings).
  168. *** Generation List
  169. - "D" key is removed (use "=" instead).
  170. - "s" key is used for sorting (as in the other lists), not for setting
  171. current generation as before (use "c" instead).
  172. *** Location List
  173. "e" key can be used to go to the location file.
  174. ** Internal changes
  175. *** "guix.scm" added
  176. * Changes in 0.2.1 (since 0.2)
  177. ** User visible changes
  178. *** New commands
  179. **** M-x guix-about
  180. *** Profile List
  181. "Current" column is added (current profile for package commands).
  182. *** M-x guix-help
  183. "info" buttons (for the commands) are added.
  184. *** M-x guix
  185. "G" (graph) completes =--backend= option, and "v" (View graph) opens
  186. html graph if the backend is "d3js".
  187. * Changes in 0.2 (since Emacs-Guix was a part of Guix)
  188. ** User visible changes
  189. *** New commands
  190. **** M-x guix-help
  191. **** M-x guix-profiles
  192. *** "P" key to display packages
  193. Previously, "RET" was used in various lists to display packages. Now it
  194. is not the case in lists of generations and licenses ("RET" is used to
  195. display Info buffer), but "P" can be used anywhere (in lists of
  196. generations, licenses, locations and profiles).
  197. *** Package List
  198. "C-u ^" marks all installed packages (even not obsolete) for upgrading.
  199. *** Generation List
  200. New column with a number of packages is added.
  201. *** Generation Info
  202. Several new parameters and buttons are added (especially in Info buffer
  203. for system generations).
  204. *** 'guix-build-log-minor-mode' is not activated by default
  205. To activate it, use:
  206. (add-hook 'shell-mode-hook 'guix-build-log-minor-mode)
  207. *** 'guix-devel-mode' is not activated by default
  208. To activate it, use:
  209. (add-hook 'scheme-mode-hook 'guix-devel-mode)
  210. *** New variables
  211. - guix-repl-use-latest: defines whether or not to use "guix pull"-ed
  212. code (default is t).
  213. *** Renamed variables
  214. guix-use-guile-server -> guix-repl-use-server
  215. guix-after-start-repl-hook -> guix-repl-after-start-hook
  216. guix-after-repl-operation-hook -> guix-repl-after-operation-hook
  217. guix-before-repl-operation-hook -> guix-repl-before-operation-hook
  218. guix-ui-update-after-operation -> guix-update-buffers-after-operation
  219. *** Renamed buffers
  220. "List" part was removed from buffer names (*Guix Packages* instead of
  221. *Guix Package List*, etc.)
  222. ** Internal changes
  223. *** Guile code is split into multiple modules
  224. Previously, there was a single "guix-main.scm" file with the code for
  225. all the features. Now there are several Guile modules which are loaded
  226. on demand. This improves the start time of the Guix REPL, especially
  227. for those commands that do not require to load many Guix modules (like
  228. "M-x guix-licenses").
  229. *** Guile load path is augmented on the Emacs-Lisp side
  230. Previously, there was "guix-helper.scm" file (generated by
  231. "./configure") that set up the required load-path and loaded
  232. "guix-main.scm". Now this is done on the elisp side, which is more
  233. versatile as it also allows to use Emacs-Guix from MELPA or from source
  234. without additional configuration.
  235. *** Renamed files
  236. guix-backend.el -> guix-repl.el
  237. guix-base.el -> guix-misc.el
  238. guix-messages.el -> guix-ui-messages.el
  239. *** Removed files
  240. **** guix-buffer.el, guix-entry.el, guix-history.el, guix-info.el, guix-list.el
  241. Now BUI library is used for list/info interfaces, so a big part of elisp
  242. code was removed (the removed code was used as the base for BUI
  243. library).
  244. **** guix-emacs.el
  245. This file stays in Guix as it is used in Emacs package recipe (it is
  246. intended to autoload Emacs packages installed with Guix).
  247. **** guix-init.el
  248. It was deprecated in Guix since March 2016.
  249. *** Requirements
  250. Required Geiser version updated to 0.8.
  251. New requirements: "bui.el" and "dash.el" libraries.