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

* Version 1.10 (2026-01-21)

- Support arbitrary non-whitespace characters in completion prefix, such that
  templates can be named, e.g., =<template=.
- Support Lisp expressions which evaluate to template elements.
- =tempel-next/previous=: Make argument optional.
- The currently active template state can be obtained from the top of the
  =tempel--active= stack.
- Improve Tempo compatibility.

* Version 1.9 (2025-11-30)

- =tempel-done=, =tempel-abort=: Add =ALL= prefix argument to finish or abort all
  templates. If =ALL= is nil, treat only the template at point.
- =tempel-done-on-region=, =tempel-done-on-next=: New options to customize quitting
  behavior. If =tempel-done-or-region= is non-nil, quit when entering a region
  field. If =tempel-done-on-next= is non-nil, quit when pressing =tempel-next= from
  inside the last field.

* Version 1.8 (2025-11-15)

- =tempel-trigger-prefix=: Remove feature. Use =cape-capf-trigger= from the Cape
  package instead. See also =corfu-auto-trigger=.

* Version 1.7 (2025-10-13)

- Require Emacs 29.
- =tempel-complete=: Insert trigger prefix only if the command =tempel-complete= is
  invoked manually.

* Version 1.6 (2025-09-08)

- Templates support the =:doc= and =:ann= keywords for documentation and annotation
  respectively.

* Version 1.5 (2025-06-20)

- =tempel-complete=: Improve region handling, depending on if completion is
  triggered automatically or manually.

* Version 1.4 (2025-03-16)

- =tempel-expand=: Expand exact matches directly when invoked interactively
  instead of going via =completion-at-point=. This avoids problems with
  =completion-styles= settings.

* Version 1.3 (2024-12-22)

- Require Emacs 28.1.
- Optional named field argument for custom user element hooks.
- Support =:when= in =tempel-abbrev-mode= via the abbrev =:enable-function=.

* Version 1.2 (2024-07-24)

- Bugfixes.
- Bump Compat dependency to Compat 30.

* Version 1.1 (2024-02-16)

- Respect ~major-mode-remap-alist~ on Emacs 29 when looking up templates.

* Version 1.0 (2023-12-01)

- Bugfix: Fix =no-self-insert= of =tempel-abbrev-mode=.
- Bugfix: Only replace default field if not modifying a region.

* Version 0.8 (2023-07-02)

- Ensure that modification hooks are never inhibited during field modification,
  which is needed for lsp-mode in order to keep the server synchronized.

* Version 0.7 (2023-02-15)

- Start of changelog.
