Breaking changes are in bold. Note that the SEMVER MAJOR version is 0, so breaking changes may occur on minor point releases. Generally breaking changes to "core" code (things that effect loading and running your code/config) are avoided but breaking changes to the API (things that might effect your bindings and auto commands) are treated with less reverence.
- Fix
:checkhealth hotpot
disk usage report attempting tosize + nil
.
- Improve
:checkhealth hotpot
module seacher report when luarocks is present.
- Fix diagnostics.disable trying to detach from nil buffer.
- Disable Fennel's stderr output (configuration option bugged upstream) when it encounters compiler warnings.
- Updated to Fennel 1.5.1, may contain unintended breaking changes from upstream, see Fennels own changelog.
- Fix support for dashes in runtime plugin paths, eg:
plugin/my-plugin.fnl
.
- Disable Fennel's stderr output (temporarily) when it encounters compiler warnings.
- Remove
provide_require_fennel
option, support forrequire("fennel")
is now always provided. - Always enable diagnostics. Previously was enabled by default, but only if
you called
setup()
, now enabled byrequire("hotpot")
. - Add
./fnl
paths tofennel.path
andfennel.macro-path
when compiling.
- Improve Rocks.nvim compatibility.
- Updated to Fennel 1.5.0, may contain unintended breaking changes from upstream, see Fennels own changelog.
- Fix nvim 0.10.0 health report deprecation warnings.
vim.loader.enable()
must be called before requiring hotpot if you are usingvim.loader
.- Added
:checkhealth hotpot
. - Added
{silent=true}
option toapi.cache.clear-cache
- Changed
api.cache.open-cache
to accept a callback which should accept the cache path as its first argument. If no callback is given, the cache path is opened in avsplit
.
- Updated to Fennel 1.4.2, may contain unintended breaking changes from upstream, see Fennels own changelog.
- Updated to Fennel 1.4.1, may contain unintended breaking changes from upstream, see Fennels own changelog.
- Updated to Fennel 1.4.0, may contain unintended breaking changes from upstream, see Fennels own changelog.
- Fix diagnostics message match pattern to include "column -1".
- Fix clean key missing from sigil file whitelist.
- Fix detecting mod/init.fnl vs mod-init.fnl.
- Pass modname, modpath to compiler plugins, available under ... as per normal lua requires.
- Add
api.make.auto.build(path, ?opts)
to manually trigger.hotpot.lua
saving a file. - Add
colocation = true
deprecation message, recommendbuild = true
.
- Add support for plugin/* after/* indent/*
- Fix recompilation behaviour with ftplugins.
- Fix
.hotpot.lua
clean failing to run whenatomic = true
- Fix "is a macro" indicator passed to preprocessor.
- Both keys
macro?
andmacro
are supported, butmacro
is currently the documented key as it works in both lua and fennel contexts.
- Both keys
- Clear Fennels
macros-loaded
table duringapi.make
compile calls to ensure macro changes are propagated.
- Fix ftplugin first-time loading bug
- Add support for
.hotpot.lua
file.- Specify per-project compiler options, automate build-on-save, see
:h hotpot-cookbook-using-dot-hotpot
.
- Specify per-project compiler options, automate build-on-save, see
- Previous
api.make.build
interface has been deprecated, see:h hotpot.api.make
for details.- If you are using an
init.fnl
file, you should check the updated instructions in the COOKBOOK.
- If you are using an
api.make.check
has been deprecated, seedryrun
option forapi.make.build
.- Most
api.*
function signatures have changed to acceptcompile-options
as would be given tosetup()
. - Removed some API cache lookup functions.
- Added
open-cache(how, opts)
which opens the cache path in neovims directory explorer.
- Added
- Better support for ftplugins.
- Remove compile accidental logging.
- Writing macros in lua is no longer supported.
- Required Neovim version bumped to 0.9.
- Replaced internal bytecode-index loader with
vim.loader
backed loader.- Lua files will only be cached by
vim.loader
if you enable caching viavim.loader.enable
!
- Lua files will only be cached by
- Added support for lua colocation, compiling
dir/mod/fnl
intodir/mod/lua
. - Native support for
ftplugin/
.
- Updated to Fennel 1.3.1, may contain unintended breaking changes from upstream, see Fennels own changelog.
- Updated to Fennel 1.3.0, may contain unintended breaking changes from upstream, see Fennels own changelog.
- Adjusted "file changed" tracking to use mtime + size for cache invalidation.
- Removed viml code from compiler code path so Hotpot has a better chance of running outside of neovims main thread. (Doing this requires nvim 0.8+).
- Fixed diagnostics inside "macro modules".
- Added
compiler.modules.plugins
andcompiler.macros.plugins
config options to support user specified fennel compiler plugins.
- Fixed
filename
option persisting between someapi.compile
function calls. - Added module name guessing to
api.make.build
calls for relative-require support.
- Updated to Fennel 1.2.1, may contain unintended breaking changes from upstream, see Fennels own changelog.
- Added traceback wrapper to strip ANSI escape codes from fennel compiler output.
- Updated to Fennel 1.2.0, may contain unintended breaking changes from upstream, see Fennels own changelog.
- Fixed
detach
spelling inhotpot.api.diagnostics
andhotpot.api.reflect
- Updated
hotpot.api.make.build
andhotpot.api.make.check
to accept a directory or single file as the source argument. - Fixed passing compiler options to Make API.
- Added experimental optional
how
argument tohotpot.api.diagnostics.set-options
.
- Added 1.1.0 and 1.2.0 compatible diagnostic line detection.
- Fixed diagnostics failing to attach to additional buffers.
- Added
diagnostics.set-options
to allow overriding compiler options for some buffers.
- Neovim 0.7 required
- Improved
x-selection
API selection accuracy.- Now uses
nvim_get_mode
, sometimes bindings set bywhichkey.nvim
incorrectly report the current mode, so this is potentially breaking if you use a non-standard way to set keys. Keymaps set viavim.keymap.set
behave correctly.
- Now uses
hotpot.api.eval
functions now returntrue result
orfalse error
for symmetry withhotpot.api.compile
.- Moved
fnl
,fnlfile
,fnldo
,eval-operator
andeval-operator-bang
tohotpot.api.command
. - Added in-editor diagnostics via
hotpot.api.diagnostics
- Enabled automatically in Fennel files. See
:h hotpot.api.diagnostics
for details and how to disable.
- Enabled automatically in Fennel files. See
- Added ahead of time compilation via
hotpot.api.make
. - Added in-editor repl-like via
hotpot.api.reflect
- Mark regions of your code and show the results of the compilation or
evaluation as you edit. See
:h hotpot.api.reflect
for details.
- Mark regions of your code and show the results of the compilation or
evaluation as you edit. See
- Fixed bootstrapping in read-only nix environments.
- Fixed windows bytecode cache loading.
- Updated to Fennel 1.1.0.
- Fixed kebab-case file loading.
- Loading performance improvement.
- Neovim 0.6 required.
0.1.0
was the last Neovim 0.5 compatible release.
- Added lua bytecode cache.
- 🪟 Added windows support.
- Localised all
require
calls for performance improvements.
- Updated to Fennel 1.0.0.
- ✨ Initial release.