#+title: vertico.el - Changelog
#+author: Daniel Mendler
#+language: en

* Version 2.12 (2026-08-05)

- =vertico-mouse=: Handle =wheel-up= and =wheel-down= events directly.
- =minibuffer-exit-hook=: Internal refactoring of minibuffer-local hooks.

* Version 2.11 (2026-07-22)

- Bugfix: Fix double Vertico setup for =completing-read-multiple= on Emacs 31.

* Version 2.10 (2026-06-05)

- =vertico--display-string=: Better treatment of computed space in candidate
  display.

* Version 2.9 (2026-05-19)

- Improve deduplication of candidates.
- =vertico-flat-format=: Support override via =vertico-multiform-mode=.
- Require Compat 31.

* Version 2.8 (2026-03-09)

- Do not set ~completion-show-inline-help~ locally in the minibuffer.
- ~vertico-mouse-mode~: Support ~vertico-reverse-mode~.

* Version 2.7 (2026-01-18)

- =vertico-multiform-mode=: Check state of modes during minibuffer setup.
- =vertico-next-group=, =vertico-previous-group=: Simplify group handling.

* Version 2.6 (2025-11-15)

- Require Emacs 29.1.
- =vertico-buffer=: Check if =mode-line-format= is =nil= when computing an appropriate
  =vertico-count= for the window height.

* Version 2.5 (2025-09-08)

- Introduce new =vertico--locals= variable for easier customization of
  minibuffer-local variables.
- =vertico-mouse=, =vertico-group-format=: Try to avoid overly long candidates such
  that no truncation markers are shown if the fringe is disabled.
- Undo fringe settings introduced in version 2.3. Users can customize this
  according to their preference in =vertico--locals=.
- Revert to =vertico--resize-window= again (from Vertico 1.9), which takes a
  minibuffer height argument. Minibuffer resizing is still not correct on Emacs
  31 if fringes are disabled, i.e., =(set-fringe-mode 0)=.

* Version 2.4 (2025-06-27)

- New function =vertico-sort-directories-first= which sorts a list of file names,
  with directories coming first.
- =vertico-multiform-mode=: Add =:keymap= setting per command or completion
  category. Either specify a list of key bindings or a keymap directly.
- Disable =completion-eager-display= if Vertico is active.

* Version 2.3 (2025-06-10)

- =vertico-multiform-mode=: Add context menu to change display mode. First enable
  =vertico-multiform-mode= and =context-menu-mode=. The menu will appear with a
  right click in the Vertico minibuffer.
- Hide fringe line truncation indicators in the minibuffer.

* Version 2.2 (2025-05-26)

- Guard Vertico hooks to automatically print stack traces in order to ease
  debugging.

* Version 2.1 (2025-04-19)

- =vertico-flat-format=: Customizable =:spacer= string.
- =vertico-sort=: Extracted sort functions to separate extension.
- =vertico-sort-history-duplicate= and =vertico-sort-history-decay=: New
  customization options to adjust the rank of duplicate history elements, such
  that they appear earlier in the completion list.
- =vertico-repeat=: Add =vertico-repeat-history= to
  =savehist-minibuffer-history-variables= in order to save the history if
  =savehist-mode= is enabled.
- =vertico-repeat=: Do not store overly long selected candidates in repeat
  history.

* Version 2.0 (2025-03-11)

- ~vertico-directory-tidy~: Cleanup shadowed path more aggressively.
- ~vertico-directory-delete-char~: Respect region.
- ~vertico-directory-*~: Improve responsiveness when using directory commands.

* Version 1.11 (2025-01-28)

- Ignore touchscreen events.
- Disable ~pixel-scroll-precision-mode~ locally.
- Strip text properties when copying to the kill ring.

* Version 1.10 (2024-12-22)

- Require Emacs 28.1.
- Fix behavior when a function is passed as =REQUIRE-MATCH= argument to
  ~completing-read~.
- Drop obsolete command alias ~vertico-repeat-last~.
- ~vertico-buffer~: Use ~display-buffer-use-least-recent-window~ as default buffer
  display action.
- Simplify the mini window resizing implementation, see ~vertico--resize~.

* Version 1.9 (2024-07-26)

- Bump Compat dependency to Compat 30.
- ~vertico-buffer~: Fix bug regarding deleted windows.

* Version 1.8 (2024-04-24)

- =vertico-preselect=: Add =no-prompt= configuration choice to entirely disallow the
  selection of the prompt.

* Version 1.7 (2024-01-23)

- =vertico-buffer-mode=: Simplify mode line format.
- =vertico-buffer-mode=: Reduce vscroll value when =vertico-buffer-hide-prompt= is
  non-nil to avoid redisplay performance issues.

* Version 1.6 (2023-12-27)

- ~vertico-multiform-buffer~: New display toggle command.
- ~vertico-buffer-mode~: Support toggling during an active minibuffer session.
- ~vertico-buffer-mode~: Highlight active region.
- ~vertico-suspend~: Support the setting ~read-minibuffer-restore-windows=nil~.

* Version 1.5 (2023-12-01)

- =vertico-suspend=: New extension to suspend and resume the current Vertico
  completion session.
- =vertico-directory-enter=: Exit with input if prefix argument is given. Mirrors
  the behavior of =vertico-exit=.
- =vertico-mouse-map=: New keymap.
- =vertico-repeat-select=: Do not display selected candidate.
- =vertico-repeat=: Store active display mode if the mode was temporarily toggled
  via =vertico-multiform-mode=.
- =vertico-repeat-previous=, =vertico-repeat-next=: New commands to step over input
  history during an active Vertico completion session.
- =vertico-repeat-last=: Deprecated in favor of =vertico-repeat-previous=.
- Optimize truncation of multi-line candidates (=vertico--truncate-multiline=).
  This affects commands like =yank-from-kill-ring=.
- =vertico-quick=: Use a slightly different scheme to support more candidates.
- Support =completion-lazy-hilit=.

* Version 1.4 (2023-07-02)

- =vertico-grid-annotate=: Fix width computation.
- =vertico--display-string=: Fix display issue with =consult-line= and =org-modern=.
- Set =scroll-margin=0= in the minibuffer.

* Version 1.3 (2023-04-25)

- =vertico-grid-annotate= and =vertico-flat-annotate=: New customization variables
  to enable annotations in grid and flat display mode.
- =vertico-buffer-display=: Add more choices for the display action to the
  customizable variable.
- =vertico--history-hash=: Deprioritize current file when sorting by history.
- Fix sorting by history position for =project-find-file=.

* Version 1.2 (2023-03-11)

- =vertico-buffer=: Inherit =cursor-type= in minibuffer window, instead of always
  using the =box= cursor type. This change is particularly useful for Evil users,
  where the cursor reflect the Evil editing state.
- =vertico-indexed=: Fix a regression introduced in version 1.1.
- Use =natnum= custom type, ported back by the Compat package, version 29.1.4.0.

* Version 1.1 (2023-02-17)

- Add =vertico-preselect= configuration option.
- =vertico-directory-up= moves up even if point is not located directly after /.
- Use =cl-defgeneric= internally as mechanism to allow extensions to override
  functionality, e.g., the candidate formatting and display.
- =vertico-multiform-mode=: Add =vertico-multiform-map= with default key bindings.

* Version 1.0 (2022-12-22)

- Emacs 29: Add support for =REQUIRE-MATCH= functions
- =vertico-directory-enter=: Handle selection of ./ and ../ candidates specially.

* Version 0.29 (2022-11-22)

- Start of changelog.
