- 2026-05-14 v2.5.0 cage ::

  This version allows to attach comments to annotations and other comments.

- 2025-11-11 v2.4.5 cage ::

  This version fixes a bug that prevented correct loading of the annotations database.

- 2025-11-02 v2.4.4 cage ::

  This version informs the user when an error occurred while checking the existence of an annotated file.

- 2025-11-01 v2.4.3 cage ::

  This version fixed a bug that prevented remote file to be annotated.

- 2025-05-09 v2.4.2 cage ::

  This versions adds a CI system and boilerplate for adding unit testing to annotate.el (thanks JenChieh!); also docstrings has been modified to be more compliant to Emacs documentation standards.

- 2025-05-09 v2.4.1 cage ::

  This version removes the compilation warnings and makes easier to customize the package.

- 2025-04-23 v2.4.0 cage ::

  This version adds annotation's text expansion feature:

  #+BEGIN_SRC text
  "%d foo" → "2025-04-23 foo"
  #+END_SRC

- 2025-03-05 v2.3.1 cage ::

  This version optimizes a function that searches for annotations in a buffer; this changes should speed up commands like ~annotate-toggle-all-annotations-text~.

- 2025-03-05 v2.3.0 krvkir ::

  This version adds a new customizable variable to instructs annotate.el to save annotation's database each time a new annotation is created, deleted or amended.

- 2024-10-10 v2.2.3 cage ::

  This version contains code that asks the user to append a newline character to the end of a buffer if such buffer does not terminates with a newline character (if the newline is not present the annotated text is highlighted but the annotation text is not shown).

- 2024-05-08 v2.2.2 cage ::

  This version fixed wrong coloration for adjacent annotations.

- 2024-03-23 v2.2.1 cage ::

  This version added missing information from documentation about annotations database file format.

- 2023-10-10 v2.2.0 cage ::

  This version adds two new commands:

  - annotate-change-annotation-text-position;
  - annotate-change-annotation-colors.

  To force positioning or color, respectively, for a single annotation.

- 2023-10-10 v2.1.0 cage ::

  This version ensures that the color theme for each annotation (both underline color of the annotated text and colors of the annotation), is saved when a an annotated file (or Emacs) is closed. The same color theme will be restored together with the annotations when, for example, the annotated file will be visited again.

- 2023-09-27 v2.0.3 cage ::

  This version fixed a bug that could render with the same color two adjacent annotations.

- 2023-08-09 v2.0.2 cage ::

  This version replaced a procedure with a call to an equivalent library function.

- 2023-07-06 v2.0.1 cage ::

  This version ensures that querying the database will search in all the annotated buffers on the current Emacs session.

  A phrase regarding the annotation of the newline character has been corrected in README.org

- 2023-03-22 v2.0.0 cage ::

  This version modify the command ~annotate-annotate~ to allow setting specific colors
  for each annotation.

- 2023-02-22 v1.9.0 cage ::

  This version added two new commands to hide/show the annotation's text:

  - annotate-toggle-annotation-text :: shows or hides annotation's text under cursor;
  - annotate-toggle-all-annotations-text :: shows or hides the annotation's text in the whole buffer.

- 2022-12-15 v1.8.5 cage ::

  This version fixed a regression that prevented to delete annotations
  when disabling annotation-mode.

- 2022-12-15 v1.8.4 cage ::

  This versions prevented printing of a warning

  `annotate-save-annotations' printed a warning  if the buffer was not
  based on a file's contents. But  the warning was printed even if the
  buffer contained no annotations at all.

  This  version prints  the warning  about  missing file  only if  the
  buffer is annotated (i.e. contains at least an annotation).

- 2022-11-30 v1.8.3 cage ::

  This versions fixed a bug that prevented annotations of info files.

  Also opening of annotated remote files should be faster.

- 2022-10-20 v1.8.2 cage ::

  This version fixed a crash that occurred when visiting an annotated
  buffer using TRAMP.

  Thanks  to  gsingh93  for  discovering  the  bug  and  providing  an
  immensely useful help.

- 2022-10-20 v1.8.1 cage ::

  This version  fix the command  ~annotate-integrate-annotations~ that
  was corrupting the buffer containing the annotations, when used.

- 2022-09-21 v1.8.0 cage ::

  This version  allows printing  of the  annotation in  the minibuffer
  when the cursor is placed over an annotated text region.

  To  activate this  feature set  to non  nil the  values of  these two
  customizable variables:

  - ~annotate-use-echo-area~
  - ~annotate-print-annotation-under-cursor~

- 2022-08-02 v1.7.2 cage ::

  This version  removed an error  signalled when closing  an annotated
  indirect  buffer.  Instead,  when  an annotated  indirect buffer  is
  killed annotate-mode will clone it into a new regular buffer so that
  the user can decide to save it in a file or discard it completely.

  Thanks JuanManuelM!

- 2022-08-02 v1.7.1 cage ::

  This version fix  a bug that prevented saving  some annotations when
  Emacs was closed.

- 2022-05-26 v1.7.0 cage ::

  This  version no  more sets  the buffer  as modified  when the  only
  changes made by  the user to such buffer are  related to annotations
  (for  example, creating  a new  annotation or  deleting an  existing
  one).

- 2022-05-26 v1.6.0 cage ::

  This version  allows users  to instruct the  program to  generate an
  annotation  database for  each annotated  file, instead  of using  a
  central database that contains all the annotations.

- 2022-04-23 v1.5.4 cage ::

  This version  restored redrawing  of annotation  when the  window is
  resized.

- 2022-01-26 v1.5.3 cage ::

  This version  fixed the  email maintainer  list that  was previously
  confusing GNU ELPA building scripts.

- 2022-01-26 v1.5.2 cage ::

  This version fixed a bug that prevented an annotation to be actually
  deleted when the only action on the  buffer was a single call of the
  command  `annotate-delete-annotation'.  Also,  again  thanks to  the
  help of  an Emacs maintainer,  the code was simplified  and cleaned,
  and a few of docstring was improved too.

- 2022-01-26 v1.5.1 cage ::

  This version refactored  a lot of code thanks to  the suggestions of
  Emacs  maintainer. Several  unused variables  were removed  and some
  portion of the code was simplified.

- 2022-01-26 v1.5.0 cage ::

  This version add a new command to import a database file.

- 2021-09-30 v1.4.3 cage ::

  This  is a bugfix release.

  The  program  would  keep  asking to  confirmation  for  deleting  a
  database  file even  if such  file does  not actually  exists on  the
  file system.

  When the  only action on  a buffer  was deleting an  annotation, the
  buffer was  not marked as  modified; as a consequence,  the deletion
  would  not happens  on  the  database (the  database  entry for  the
  annotation to  be deleted would not  be removed from the  file) and,
  when visiting the file, the annotation would be shown again.

- 2021-09-24 v1.4.2 cage ::

  This  version added  a new  command to  delete the  annotation under
  cursor.

- 2021-05-27 V1.3.1 cage ::

  Bugfix release:

  - The  button "[replace]"  to edit  an annotation  from the  summary
    window was not working at all;

  - In certain  cases the  summary window  was rendering  wrong text's
    fragment instead of the text of the annotation.

  Many thanks  to "glvno"  for reporting  the aforementioned  bugs and
  testing the patches!

- 2021-05-07 V1.3.0 cage ::

  This version  added a procedure to  prevent an empty database  to be
  saved on the user's disk.

  Moreover if an  empty annotations database is going  to overwrite an
  existing stale database file on disk the file is deleted instead.

  Before  deleting the  old database  file a  confirmation message  is
  printed    on    the    minibuffer   if    the    custom    variable
  'annotate-database-confirm-deletion' is non nil (default: t).

- 2021-05-05 V1.2.1 Bastian Bechtold, cage ::

  This version fixes a bug that prevented command like
  'comment-region' to works properly when annotate-mode was active.

- 2021-04-27 V1.2 Bastian Bechtold, cage ::

  New feature. When the customizable variable
  `annotate-endline-annotate-whole-line' is not nil (default t), and
  and the user try to annotate a newline the whole line is annotated
  instead (or the next if the line is empty).

  If the line contains a single annotation that cover all the line
  annotating the newline Will ask to edit the annotation. If
  `annotate-endline-annotate-whole-line' is nil annotating a newline
  will signal an error.

  Also this version generates smaller database as files left with no
  annotations will not be saved on disk.

  Finally   annotating   read-only    buffers   (especially   deleting
  annotations) should works without problems.

- 2021-03-17 V1.1.5 Bastian Bechtold, cage ::

  Removed compilation  warnings, one of  the problem highlighted  by a
  warning was actually preventing this package working on Doom Emacs.

  Also a  bug that prevented  annotations placed  on info files  to be
  deleted has been fixed.

  Many thanks  to many people  that helped discovering  and suggesting
  fix for these problems!

- 2021-02-05 V1.1.4 Bastian Bechtold, cage ::

  Fixed highlight color  of annotated text that starts  from the first
  character of the buffer's content.

- 2021-01-06 V1.1.3 Bastian Bechtold, cage ::

  Optimized the code to speedup  reading and saving of encrypted (with
  GPG) annotated files.

- 2021-01-06 V1.1.2 Bastian Bechtold, cage ::

  This  version improves  visual  of multilined  notes  placed on  the
  window margins.

- 2021-01-06 V1.1.1 Bastian Bechtold, cage ::

  This version  fix an old bug  that causes many types  of issues with
  rendering of annotations on the margin of the window.

- 2020-12-24 V1.1.0 Bastian Bechtold, cage ::

  This version  improves the  visual style of  annotated text  that if
  formed by more than one line.

  Also  the file  path  of each  annotated file  (in  the database  of
  annotation)     is    saved     so    called     abbreviated    form
  (e.g. '/home/user/foo' is saved as  '~/foo', this could be useful if
  the database is migrated from one machine to another.

  This  improvements has  been suggested  by  the user  Ran that  also
  helped testing this new version of the package. Thank you!

  Finally import and export of annotation has been fixed.

  Related to the last  fix the variable ~annotate-diff-export-context~
  has been removed.

- 2020-12-16 V1.0.0 Bastian Bechtold, cage ::

  This version  allow overwrite of notes.  That is, user can  place an
  annotation on  top of an already  existing one. The new  will delete
  overlapped portion of the old annotation.

  Also a new  customizable variable ('annotate-warn-if-hash-mismatch')
  has  been  added.   When  nil   prevent  printing  of  warning  when
  annotation database's' hash and file has do not match;

  Also a problem with adjacent annotation's coloring has been fixed.

- 2020-11-20 V0.9.2 Bastian Bechtold, cage ::

  This version fix a regression and  some more bug that could breaks a
  multiline  annotation  in  ways  that makes  the  annotation  system
  inconsistent  and  renders the  annotated  text  in wrong  way  (for
  details see the Changelog).

  The 'annotate-file' can be now  safely declared buffer-local so that
  multiple databases of annotations can be used on a per-buffer basis.

  For practical applications see:

  https://github.com/bastibe/annotate.el/issues/68

  Many thanks to gopar for spotting  this elusive bug and help testing
  the patch! :)

- 2020-09-29 V0.9.0 Bastian Bechtold, cage ::
  Added two new styles to render the annotation: using "pop-up" style
  or via a specialized summary window.

- 2020-08-11 V0.8.3 Bastian Bechtold, cage ::
  Some function now signal errors where appropriate.

- 2020-07-01 V0.8.2 Bastian Bechtold, cage ::
  Added explicit dependency on 'info' and removed a duplicated operation.

- 2020-06-26 V0.8.1 Bastian Bechtold, cage ::
  Added file argument to ~annotate-switch-db~.

- 2020-06-09 V0.8.0 Bastian Bechtold, cage ::
  The database of annotation can be changed using the command ~annotate-switch-db~.

- 2020-05-18 V0.7.0 Bastian Bechtold, cage ::
  Increased version to 0.7.0 for stable release

- 2020-03-25 V0.6.2 Bastian Bechtold, cage ::
  Fixed bug that prevent annotation of text with complex faces definition.
  Thanks to the person who filed the issue
  (see: https://github.com/bastibe/annotate.el/pull/63)

- 2020-03-16 V0.6.1 Bastian Bechtold, cage ::
  Fixed annotation picking in 'annotate-annotate'.

- 2020-03-06 V0.6.0 Bastian Bechtold, cage ::
  Fixed bugs of multiline annotations, diff exports and integration.

- 2020-03-06 V0.5.3 Bastian Bechtold, cage ::
  - Partially fixed bug that prevented annotation of buffer when org-mode was used;
  - when an user delete an annotation for a file using a button from
    summary window force refresh of a buffer that is visiting said
    file, if exists, to reflect the changes;
  - fixed flowings of annotations when window's width is changed.

- 2020-02-10 V0.5.2 Bastian Bechtold, cage ::

  - fixed bugs that makes some annotations overlaps;
  - fixed some bugs in fontifications of multiline annotation;
  - when the only user interactions, before saving, with a visited file was
    the call of 'annotate-clear-annotations' the annotations
    will shows again at reload, this should be fixed now.

- 2020-01-22 V0.5.1 Bastian Bechtold, cage ::
  - fixed bug that prevented correct fontifications for major modes
    that puts overlays on the buffer's text (e.g. SLIME).

- 2019-12-09 V0.5.0 Bastian Bechtold, cage ::
  - prevented crash when a window (containing annotations) is resized;
  - prevented loss of undo tree when annotations is modified;
  - positioning of annotation is customizable;
  - added a summary window to display annotations; the summary results
    can be filtered by a simple query language. Deleting or
    modifying of annotation text is possible;
  - info files can be annotated (thanks to randomwangran);
  - annotated text on the same lines are highlighted with two
    different, alternating, colors;
  - annotate try to check file modifications using checksum and warns
    user if the file has been modified when annotate minor mode was
    not loaded;
  - a simple heuristic is used to search for annotated text when
    annotate mode is loaded.

- 2016-10-06 V0.4.7 Bastian Bechtold ::
  Bugfix release for buffers without a file name.

- 2016-09-07 V0.4.6 Bastian Bechtold ::
  Bugfix release for annotations ending on an empty line.

- 2016-08-25 V0.4.5 Bastian Bechtold ::
  Bugfix release for unicode annotations and multiline annotations.

- 2015-10-06 V0.4.4 Bastian Bechtold ::
  Added a new export system. Let's see if it turns out to be more
  useful than the previous one.

- 2015-10-06 V0.4.3 Bastian Bechtold ::
  Bugfixes. No more hidden newlines, no more annotations in undo-list,
  no more error messages with annotations at bol, mark deactivated
  after creating annotation, annotations auto-reflow on frame size
  change.

- 2015-09-23 V0.4.0 Bastian Bechtold ::
  Completely reworked the display engine for annotations. You can now
  have several annotations per line, and annotations should not
  move any more when editing the line they are on. Finally,
  annotations can now span several lines.

- 2015-09-22 V0.3.1 Bastian Bechtold ::
  Change key bindings for jumping as to conform with Emacs' standards.

  Didn't change  the main key binding  though, because I don't  know a
  good alternative.

- 2015-09-21 V0.3.0 Bastian Bechtold ::
  Add key bindings for jumping to next/previous annotation.

- 2015-09-17 V0.2.4 Bastian Bechtold ::
  Load and Clear don't mark buffer as modified any more.

- 2015-07-02 V0.2.3 Bastian Bechtold ::
  Can now disable minibuffer messages.

- 2015-06-19 V0.2.2 Bastian Bechtold ::
  Now with more compile warnings (0.2.1 didn't work).

- 2015-06-19 V0.2.1 Bastian Bechtold ::
  Now with fewer compile warnings (turns out, not really).

- 2015-06-19 V0.2.0 Bastian Bechtold ::
  Annotations can be exported as unified diff files.
  Several smaller bug fixes.

- 2015-06-15 V0.1.5 Bastian Bechtold ::
  Annotations now work on long lines.

- 2015-06-15 V0.1.4 Bastian Bechtold ::
  Minor bug fixes.

- 2015-06-15 V0.1.3 Bastian Bechtold ::
  Improve README and auto-remove empty annotations created by earlier bug.

- 2015-06-12 V0.1.2 Bastian Bechtold ::
  Fix typo and version error.

- 2015-06-12 V0.1.1 Bastian Bechtold ::
  Improve documentation and add license.

- 2015-06-12 V0.1.1 Bastian Bechtold ::
  Improve documentation and add license.

- 2015-06-12 V0.1 Bastian Bechtold ::
  First working release.
