* Version 0.33.1 (May 23, 2026)

  - Fix: no evaluations sent to REPLs that are waiting for input (e.g.,
    because a call to =read=).

* Version 0.33 (May 3, 2026)

  - Project migrated to codeberg.org: https://codeberg.org/geiser
  - New geiser-repl-classify-output-p flag that enables classification of REPL
    outputs as error/warning/success with customizable faces
    (geiser-repl-output-*). Thanks, Lorenzo.
  - Fix completion for local variadic args (thanks, rvs314).
  - Fix for company code locations (thanks, Daniel).
  - Fix race condition between REPL and background evaluations (thanks, Ian).
  - Fix for ansi escapes in connected REPLs (thanks, ewhispers and martian
    hiauts).

* Version 0.32 (August 10, 2024)

  - REPL: Fix for highlighting of 2-character input prompts (thanks to Macon
    Gambill)

  - REPL autoeval mode improvements (thanks to Anter Mejr):
    - Autoeval just once
    - Stop paren highlighting after autoevaluations
    - Highlight only if show-paren-mode is enabled
    - Compatibility with electric-pair-mode

  - REPL: Fix for debugger access affecting mainly Guile.

* Version 0.31.1 (September 1, 2024)

  - Code cleanups

* Version 0.31 (May 23, 2024)

  - New custom variable geiser-insert-actual-lambda
  - Non-existent geiser-version function removed from autoloads
  - New customization group: geiser-edit
  - Debug logging improvements

* Version 0.30 (December 15, 2023)

  - New geiser-repl-superparen-mode
  - Fix: better message for symbol not found error
  - Fix: better detection of whitespace in REPL
  - Compilation warnings and all libraries using lexical binding

* Version 0.29.1 (August 6 2023)

  - Minimum Emacs version upped to 27.1

* Version 0.29 (July 14 2023)

  - Autoeval mode for REPL (thanks to Antero Mejr)
  - Fixes for jumping and starting new REPLs
  - Better tramp support (thanks to Brian Cully)

* Version 0.28.1 (November 27 2022)

  - Bug fix: ensure geiser-activate-implementation is autoloaded.
  - Bug fix: don't require transient, it's not used anymore by geiser core.

* Version 0.28 (November 4 2022)

  - Last-result local jumps and autodoc (without using imenu).
  - Simplifications to the debugging support.
  - Clean-ups and more libs under lexical binding.

* Version 0.27 (October 13 2022)

  - Fallback to imenu for jumping to symbol definition, as a last resort.
  - Bug fixes: and-go commands, docsig for completions (now controlled
    by the new geiser-autodoc-docsig flag).

* Version 0.26.1 (September 6 2022)

  - Improve default names for per-project REPLs.
  - Recover missing, obsoleted alias run-geiser

* Version 0.26 (August 25 2022)

  - Ask interactively for REPL startup on C-c C-k as needed.
  - New public command geiser-repl-maybe-send.
  - ~switch-to-geiser~ and ~switch-to-geiser-module~ obsoleted in favour of
    ~geiser-repl-switch~ and geiser-~repl-switch-to-module~.  For implementations,
    geiser-IMPL-switch is defined, obsoleting swith-to-IMPL.
  - ~run-geiser~ obsoleted, just use =M-x geiser=.  For implementations,
    geiser-IMPL is defined, obsoleting run-IMPL.

* Version 0.25.1 (August 21 2022)

  - Fixes for compilation errors.

* Version 0.25 (August 21 2022)
  - New customizable variables: geiser-repl-startup-hook and
    geiser-repl-startup-forms.
  - Fix: support for .dir-locals.el in REPL buffers.
  - Fix: geiser-restart-repl: don't start a REPL to just restart it.
  - Fix: respect user-defined completion-at-point-functions.

* Version 0.24 (May 7 2022)

  - Support for #{...}# extended symbol syntax
  - Removed explicit company backend: use CAPF instead.

* Version 0.23.1 (March 23 2022)

  - Bug fix for debug buffer fontification

* Version 0.23 (March 9 2022)

  - Set REPL's default directory to project's root.
  - Depend on ELPA's project 0.8.1 to ensure compatibility
    with emacs < 28.
  - Harmonize buffer names (follow ~*Geiser ...*~ format)

* Version 0.22.2 (February 3 2022)

  - Bug fixes (byte-compiler warnings, corfu compatibility).

* Version 0.22.1 (January 23 2022)

  - Fix for C-u C-x C-e (in-buffer printing of evaluated expression)
  - Fix for project functions other than project-current

* Version 0.22 (December 29 2021)

  - New functions geiser-wait-eval and geiser-eval-region/wait for
    synchronous clients like ob-scheme.

* Version 0.21 (December 22 2021)

  - Asynchronous, interruptible evaluation and compilation

* Version 0.20 (December 20 2021)

  - Improved support for debugging sessions (for implementations
    supporting them, as usual).
  - New option to add current project's root to load path or any of
    its subdirectories, ~geiser-repl-add-project-paths~.
  - Defaulting ~geiser-repl-current-project-function~ to ~project-current~
    in emacsen having it available, and using the new
    ~geiser-repl-per-project-p~ to decide whether to use it.

* Version 0.19 (December 4 2021)

  - Bug fixes

* Version 0.18 (October 3 2021)

  - Documentation fix

* Version 0.17 (August 8 2021)

  - Package available in NonGNU ELPA (doc update)
  - Linting and minor fixes

* Version 0.16 (April 21 2021)

  - Bug fix: display of evaluation outputs in schemes with no special
    error display handler.

* Versions 0.14 and 0.15 (April 16 2021)

  - Fixes for autoloads in some distributions

* Version 0.13 (April 4 2021)

  - Split into per-scheme projects

* Version 0.12 (July 14 2020)

  - New project.el and projectile support (Andrew Whatson)
  - Improved Chez support (Jay Xu, Aaron Marks, Julian Herrera)
  - Improved Chicken support (Ricardo G. Herdt, Noam Postavsky)
  - Bug fixes (Philip K, spellcard199)
  - Linting and clean ups (Jonas Bernoulli)
  - Documentation updates

* Version 0.11.2 (February 25 2020)

  - Bug fixes

* Version 0.11.1 (February 23 2020)

  - Bug fixes

* Version 0.11 (February 4 2020)

  - Bug fixes for all supported implementations
  - New support for Gambit

* Version 0.10 (March 14 2018)

  - Better support for Guile 2.2
  - Better support for Chicken (Dan Leslie, John Whitbeck)
  - Better support for Chez (Chaos Eternal)
  - Bug fixes (Peter Wang, Diog F. S. Ramos, Mario Rodas, Jordan Brown)
  - Documentation fixes (Jonas Bernoulli, Andrew Sackville-West, Ziyi
    Yan, James C. De Ricco, George D. Plymale II)

* Version 0.9 (Oct 6 2016)

  - Chicken: improvements by Dan Leslie.
  - Guile: support for Guile 2.2 (with help from Raffik Naccache and
    David Thompson).
  - Preliminary support for GNU/MIT, Chibi and Chez by Peter Feigl.
  - Lots of bug fixes.

* Version 0.8.1 (Oct 13 2015)

  Bug fix: font-lock-ensure is from the future.

* Version 0.8 (Oct 12 2015)

  Improved features:

    - Lots of improvements to Chicken support, by Dan Leslie.
    - Better interoperability with xscheme.
    - Much better performance for long lists of completions or
      evaluated values.
    - Better highlighting and indentation rules, by Alex Kost and Dan
      Leslie.
    - Make completion work for quoted symbols.

  Bug fixes:

    - geiser-connect-local working again.

* Version 0.7 "Freija" (Feb 21 2015)

  This release is dedicated to Dan's three-months-old daughter Freija,
  who shared her dad's lap with his laptop while he was hacking on the
  new Chicken scheme support for Geiser.

  New features:

   - Chicken support, by Dan Leslie.

  Improved features:

   - `company-mode' support completed with a method for `doc-buffer'.
   - Support for multiple image display in Racket, including image
     objects embedded in structured values (thanks to Greg Hendershott).

* Version 0.6 (Aug 9 2014)

  New features:

   - New customizable variables `geiser-debug-jump-to-debug-p` and
     `geiser-debug-show-debug-p`.
   - Better fontification of some scheme keywords (thanks to Diogo
     F. S. Ramos).

  Bug fixes:

   - Better support for Typed Racket: (re)definitions now work for
     typed/racket modules (thanks to Sam Tobin-Hochstadt).
   - Better behaviour for geiser-eval-buffer in racket
     buffers that contain a #lang directive.  But you'd better use C-c
     C-k instead.
   - Better behaviour of C-c C-c when interrupting looping functions
     in the REPL.
   - Fixes for Makefile target html-am (as in now it works).

* Version 0.5 (Dec 9 2013)

  New features:

   - Geiser is now available from MELPA, with the help of Steve Purcell.
   - Racket: new commands geiser-racket-{show, hide, toggle}-submodules,
     for folding submodule forms in code buffers.
   - Racket: interaction with submodules (entering them and evaluation
     within their scope).
   - New commands geiser-eval-buffer (C-c C-b) and
     geiser-eval-buffer-and-go (C-c M-b), by Nick Parker.
   - Pressing return on a previous expression in the REPL will resend
     it, by Darren Hoo.
   - Improvements to syntax highlighting (define/match in racket).
   - Version checks for the underlying Scheme process, thanks to an
     idea of B Batsov.

  Bug fixes:

   - Autodoc for Guile 2.0.9+'s subr fixed, thanks to Ludovic Courtès.
   - Fixed problem when saving REPL history that contained non-ASCII
     chars: all UTF-8 characters should be fair game now.
   - Fixed problems with geiser-doc's history being handled by
     session.el (by not letting the latter handle it).
   - Paths in `geiser-load-path' are now also added to
     `%load-compiled-path'.  Ditto for paths added via
     `geiser-add-to-load-path`.
   - Compatibility fixes for Emacs snapshots.

* Version 0.4 (May 2 2013)

  New features:

   - New command geiser-insert-lambda, bound to C-c \ in Scheme
     buffers (thanks to Ray Racine).
   - Configurable case-sensitivity when highlighting keywords (thanks
     to Diogo F.S. Ramos), via geiser-guile-case-sensitive-p and
     geiser-racket-case-sensitive-pp
   - C-u C-x C-e to insert evaluation result in buffer (thanks to
     Diogo).
   - New flag geiser-repl-query-on-kill-p to control whether emacs
     will ask for confirmation before killing a buffer with a live
     REPL process.
   - New flag geiser-mode-start-repl-p to tell Geiser to start a new
     REPL if one isn't active when geiser-mode is activated.

  Bug fixes:

   - Filename completion should also work in emacs 23.2 now.
   - Racket filenames with spaces no longer break Geiser when entering
     them (thanks to Diogo).
   - The REPL no longer hangs when company-mode is active (thanks to
     Aleix Conchillo).
   - Help manual lookup in Racket fixed for #lang racket/base modules.

* Version 0.3 (Jan 19 2013)

  New features:

   - TAB in a string context in the REPL and Scheme buffers triggers
     filename completion.
   - User manual lookup command (C-c C-d i) available also in the
     REPL.
   - New REPL command, geiser-repl-clear-buffer (C-c M-o), to remove
     all scheme output (thanks to Jonas Rodrigues).
   - Indentation of scheme forms improved..

  Bug fixes:

   - Racket: fixes for problems entering modules sans main.rkt.
   - Racket: image support in Windows fixed.

* Version 0.2.2 (Sep 30 2012)

   - ELPA support.  We have now ELPA packages.  Thanks to Grant Rettke
     and Daniel Hackney.

* Version 0.2.1 (Sep 15 2012)

  Bug fixes:

   - Racket: correctly reloading modules that contain submodules (this
     one was breaking for instance code based on plai-typed).
   - Racket: correctly jumping to symbols defined in files with .ss
     extension.

  New features:

   - Racket: autodoc now displays argument names for constructors
     defined by define-type (from either plai or plai-type).
   - Racket: the included geiser-racket.sh script takes a new switch,
     -n, to specify the network interface to listen to.

* Version 0.2 (Sep 3 2012)

  New features:

   - Support for images in Racket, both in the REPL and during
     evaluations.  Thanks to Michael Wilber for code, discussion and
     testing.
   - Support for Racket 5.3.  Older Rackets not actively supported.
   - ,cd command in Racket's REPL.
   - New customizable variable, geiser-guile-manual-lookup-nodes, to
     specify the name of Guile's info nodes, if need be.

  Bug fixes:

   - We don't deactivate autodoc in the REPL unless requested.
   - Indentation for syntax-id-rules and for/hash.
   - Highlighting of [else forms in scheme buffers.
   - Indentation for all 'for' forms in Racket.
   - Correctly buttonizing paths with leading spaces in DBG buffers
   - Autodoc was being deactivated in REPLs.

* Version 0.1.4 (Nov 26 2011)

  New features:

   - Indentation for Racket's splicing-let and friends.
   - Customizable prompt waiting time (geiser-repl-startup-time).
   - New customizable faces: geiser-font-lock-repl-prompt and
     geiser-font-lock-repl-input.

  Bug fixes:

   - C-c C-r and friends won't send unbalanced sexps to Scheme.
   - C-c C-z works after run-geiser in a Scheme buffer.
   - REPL: TAB indenting around whitespace.
   - Racket: correct display of output to standard error (such as
     rackunit's).
   - Guile: ditto.
   - Elisp: compatibility problems with filladapt fixed.
   - Racket: autodoc in R5RS modules.

* Version 0.1.3 (Jun 24 2011)

  Bug fixes:

    - The REPL doesn't break when one calls read (fixes bug #33090).
    - In Guile buffers, C-c C-a (a.k.a C-u C-c C-z) recognizes the
      current module even before the define-module form (fixes bug
      #33497).
    - Racket can now use the GUI libraries (see bug #32844).
    - Texinfo formatting fixes.

* Version 0.1.2 (Mar 9 2011)

  New features:

    - New C-c C-e C-l (or C-c C-r in REPL) to add a directory to
      Scheme's load path.
    - Guile 2.0 as lowest Guile version supported.
    - New custom variable, geiser-guile-load-init-file-p, to allow
      loading of ~/.guile.

  Bug fixes:

    - We no longer ignore geiser-repl-use-other-window.
    - Company mode integration fixes (including #32231).
    - M-x geiser-edit-module in REPL buffers fixed.
    - We now respect user customizations of geiser-implementations-alist.
    - Interaction with Guile's debugger fixed.
    - "Clickable" paths in warnings buffer also for Guile 2.0.
    - Fix for errors when entering r5rs modules in Racket.

* Version 0.1.1 (Jan 24 2011)

  New features:

    - "Manual autodoc" command; C-c C-d s.
    - Autodoc retrieval is now asynchronous, for better behaviour in
      remote connections.
    - New C-c C-a to switch to REPL and enter module (C-c C-Z was broken).
    - Racket: ',enter "foo"' as a synonym of ',enter (file "foo")'.
    - Documentation typos, and grammar and layout fixes.


  Bug fixes:

    - Avoiding *spurious* buffers in case of communication errors.
    - REPL: fixed problem with input history navigation in Racket.
    - Autodoc no longer skips non-alphanumeric identifiers.
    - Autodoc messages no longer interfere with active minibuffer.
    - Fix for module name completion in Guile.
    - Quack compatibility: avoiding problems with #f &c.


* Version 0.1 (Dec 20 2010)

  Initial release.
