NEWS 10 KB

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