NEWS 12 KB

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