#+title: corfu.el - Changelog #+author: Daniel Mendler #+language: en * Version 1.2 (2024-01-23) - Support the EXWM window manager. - Optimization: Reduce auto completion timer overhead. - Use ~internal-border-width~ instead of ~child-frame-border-width~. - Internal refactoring: Do not use buffer-local variables. - Internal refactoring: Store ~completion-extra-properties~ as part of ~completion-in-region--data~. * Version 1.1 (2023-12-27) - Deduplicate candidates with respect to ~equal-including-properties~, such that backends can provide equal candidate strings, which only differ in their text properties and annotations. - Ensure that the string passed to the ~:exit-function~ retains the candidate properties, when possible. The properties are guaranteed to exist when a candidate is selected explicitly, but may be missing when candidates are completed in a stepwise manner. - ~corfu-on-exact-match~: Add value ~show~ to the customization option. With this setting the Corfu popup will be shown even if there is only a single matching candidate. * Version 1.0 (2023-12-01) - Bug fixes. - =corfu-quick=: Use a slightly different scheme to support more candidates. - =corfu-reset=: Quit immediately if input did not change. * Version 0.38 (2023-08-14) - =corfu-quick=: Bugfix. - =corfu-mode-map=: Add mode map. - Replace =corfu-excluded-modes= with =global-corfu-modes=, the Emacs 28 convention for globalized minor modes. * Version 0.37 (2023-07-02) - Bugfixes. - Improve child frame display code, =corfu--popup-show= takes a =posn= argument. - Ensure that the popup font matches the font of the parent frame. - Close popup when window selection changes. - Remove =corfu-history-length=. Instead set the =history-length= property of =corfu-history= variable. - =corfu-info-documentation=, =corfu-info-location=: Make buffer and window persistent if called with prefix argument. * Version 0.36 (2023-03-27) - Drop obsolete =corfu-preselect-first=. - =corfu-popupinfo-delay= and =corfu-echo-delay=: Remove support for value =t=. Instant updates are not recommended. It is still possible to use a small value for the delay. - Rename =corfu-excluded-modes= to =corfu-exclude-modes= (Naming convention). - Remove call to =undo-boundary=, which caused issues with auto completion. * Version 0.35 (2023-02-17) - =corfu-popupinfo=: Take more text into account when computing popup width. - =corfu-popupinfo=: Change keybindings, remap =corfu-info-documentation/location=. - =corfu-popupinfo=: Add commands =corfu-popupinfo-beginning/end=. - =corfu-popupinfo=: Improve popup placement. - Add =corfu-prompt-beginning= and =corfu-prompt-end= commands. - Add =corfu-preselect= option, deprecate =corfu-preselect-first=. - Use =cl-defgeneric= internally as mechanism to allow extensions to override functionality, e.g., the candidate formatting and display. * Version 0.34 (2022-12-03) - Bugfixes - Popup frame code updated for Emacs 29. Please report any issues. - =corfu-popupinfo-direction=: Variable must be a list of directions. - Support height adjustments of =corfu-default= face * Version 0.33 (2022-11-21) - =corfu-popupinfo=: Bugfixes * Version 0.31 (2022-11-20) - =corfu-echo=, =corfu-quick=: Bugfixes for interaction issue. * Version 0.30 (2022-11-19) - =corfu-popupinfo=: Bugfixes and improvements. * Version 0.29 (2022-11-19) - BREAKING: Extract the =corfu-echo= extension from =corfu.el=. In order to see echo messages, enable =corfu-echo-mode=. You probably want to enable either =corfu-echo-mode= or =corfu-popupinfo-mode=. - BREAKING: Rename =corfu-echo-documentation= to =corfu-echo-delay=. - Add =corfu-popupinfo= extension to display candidate documentation and location in a small child frame next to the candidate menu. This extension has been contributed by Yuwei Tian who assigned copyright to the FSF. The extension supersedes Yuwei's =corfu-doc= package. * Version 0.28 (2022-10-16) - Start of changelog.