Important user-facing changes. See commit logs for more details.
[Unreleased]
[0.3.36]
- Add
codebook lintCLI command for running spell checks from the command line, with support for glob patterns and gitignore-aware directory walking - Add multi-language support for Markdown files: fenced code blocks are now spell-checked using the appropriate language grammar
- Add Vue and Astro support
- Add
<script>and<style>injection to HTML spell-checking
[0.3.35]
- Add tag-based filtering (
include_tags/exclude_tags) to control which parts of code are spell-checked (comments, strings, identifiers, etc.) - Rename tree-sitter capture names to use dot-separated namespace convention (e.g.,
@identifier.functioninstead of@func_declaration) - Add SECURITY.md
- Update dependencies
[0.3.34]
- Fix crash in Termux by falling back to bundled Mozilla CA roots on Android (#230)
[0.3.33]
- Fix TSX/JSX language detection in editors that use non-VS Code language IDs (e.g., Zed)
- Update dependencies
[0.3.32]
- Add Ukrainian dictionary (
uk) - Add
include_pathsoption to only allow specific files & paths - Add C++ modules extension (
.cppm) - Fix bug where duplicate word misspellings were ignored in release builds
- Relax base64 regex
- Update dependencies
[0.3.31]
- Add VHDL language support
- Add C and C++ word list
- Fix thread unsafe tree-sitter parsers by adding mutex
- Regenerate wordlist
[0.3.30]
- Add YAML support
- Improve Python query for type hints
- Add Latvian dictionary (
lv) - Add Vietnamese dictionary (
vi) - Add Polish dictionary (
pl) - Add Latin (
la), Ancient Greek (grc), and Sanskrit (sa) dictionary paths - Use vendored dictionaries
- Update dependencies
[0.3.29]
- Add support for the Erlang language
[0.3.28]
- Fix test regression
[0.3.27]
- Add Odin language support
[0.3.26]
- Fix potential crash when home directory is unavailable for tilde expansion in config paths
[0.3.24]
- Typst: Fix query to not spell-check import source strings (e.g., package paths like
@preview/package:1.0.0) - Enable multiline mode for user regex patterns:
^and$now match line boundaries by default - Patterns like
'^vim\..*'now work to skip entire lines
[0.3.23]
- Python: Add Tree-sitter queries to match alias names in import statements to enable spell checking of user-defined aliases
- Add support for the swift programming language
[0.3.22]
- Update dependencies
[0.3.21]
- Add "Ignore current file" code action
- Allow user to set diagnostic severity in LSP init options
- Fix missing open/close in LSP server capabilities
- Python: Fix assignment query to only check the left-hand side identifier
- New VS Code extension (work in progress)
[0.3.20]
- Add
checkWhileTypingto initialization options. When set tofalse, Codebook will only check for spelling issues when saving.
[0.3.19]
- Add Windows ARM64 release artifacts
- Move dictionary cache directory to platform-specific data directories instead of
/tmp, which can get cleaned up by the OS. - Allow overriding the global
codebook.tomlpath via LSP initialization optionglobalConfigPath
[0.3.18]
- Fixed f-string issues in Python
- Only emit important logs on startup before LSP handshake initialization
[0.3.17]
- Add Typst support
[0.3.16]
- Rust: remove char_literal query
- Add the Danish dictionary (
da) - Move to blopker fork of wrooom dictionaries
[0.3.15]
- Add C# support
[0.3.14]
- Add Zig support
- Add LaTeX support
[0.3.13]
- Add server version to logs on startup
- Remove extra logging that was added on accident 😬
[0.3.12]
- Added Dutch dictionary (nl_nl)
- Fixed Unicode handling by properly sending diagnostic indexes in UTF16
[0.3.11]
- Update default word list
[0.3.10]
- Add support for C++
- Add support for Elixir
[0.3.9]
- Add words to default wordlist
- Refactor to reduce locking, extract file watching logic, and improve logging
- Log cache directory for easier debugging
[0.3.8]
- Add support for Lua language
[0.3.7]
- Better error message for user-supplied regex
- Improve Go support
- Add query for Ruby method names
- Add user-configurable min word length
- Add common file extensions to default ignore list
[0.3.6]
- Use rustls_platform_verifier to let Codebook use OS cert chain for users with proxies
- Add
pt_brdictionary. - Add support for Rust's comment blocks
[0.3.5]
- Add support for Java
[0.3.4]
- Do not announce
diagnostic_providercapability (PR #86)
[0.3.3]
- Fix the cargo release by moving test example files
[0.3.2]
- Pin softprops/action-gh-release action since 2.3.0 broke CI
[0.3.1]
- Updated the global word list to include more common programming terms.
- Many small performance improvements to reduce allocations. On a M1 Mac checking the full Beowulf text went from ~80ms to ~13ms 🚀
[0.3.0]
Breaking changes:
-
User defined regex is now run on a file line-by-line instead of word-by-word. This means regex should likely not match the beginning of a line. For example to match DNA, this pattern used to work:
^[ATCG]+$. This pattern will now need to be something like:\\b[ATCG]+\\b(double\\is for escaping in TOML) -
Codebook will now ignore text like URLs and color hex codes by default. See README
User-Defined Regex Patternsfor more details.
[0.2.13]
- Switch out OpenSSL for rustls
- Improve Go query to support short hand variables
[0.2.12]
- Fix #72: Update Spellbook
[0.2.11]
- Add Swedish dictionary (
sv) - Fix #69 (nice) directory structure not being created for global config
[0.2.10]
- Fix #67: Update Spellbook
[0.2.9]
- Actually add Italian (
it) dictionary, oops. - Faster CI for Windows
- Don't strip binaries
[0.2.8]
- Add Haskell support
- Add Italian (
it) dictionary - Add French (
fr) dictionary - Don't show suggestions for diagnostics that aren't from Codebook
- Fix duplicate suggestions
- Add "Add to global dictionary action"
- Don't write default settings to config files
- More robust download logic
- Add LTO compile flag to make Codebook even faster 🚀
- Remove GLIBC builds (use musl!)
- Add logging and make it configurable
[0.2.7]
- Add German dictionaries (
de,de_at, andde_ch) - Add support for R
[0.2.6]
- Better error handling for suggestions
[0.2.5]
- Add Russian dictionary (ru)
- Fairly get suggestions from all active dictionaries.
- Add PHP support.
- Fix codebook.toml not being created in new projects on "Add to dictionary".
- JavaScript: Make properties on object definitions check, and try/catch error definitions
- TypeScript: Make properties on object definitions check, try/catch error definitions, and interface support
[0.2.4]
- Make ignore_paths actually work
[0.2.3]
- Handle unicode in a much better way
- Add support for Ruby
[0.2.2]
- Fix a char boundary issue
- Add ES and EN_GB dictionaries that actually work
[0.2.0]
- Rework config to allow for global config.
- Ignore words less than 3 chars.
- Remake metadata file if it is corrupt.
- Protect against deleted cached files.
[0.1.22]
- Better support for TypeScript classes and fields
[0.1.21]
- Better Python support
[0.1.20]
- Fix CI
[0.1.19]
- Add support for C
[0.1.18]
- Add
ignore_patternsfor a list of regex expressions to use when checking words. Any matches will ignore the word being checked.
[0.1.17]
- Added a download manager for adding many different dictionaries later
- Using a larger en_us dictionary as default
- Now checks on every change, instead of on save. May add an option later to toggle this off
- Add a command to the LSP binary to clear cache
- Don't give a code action when a word is not misspelled
- Vendor OpenSSL
- Add 'software_terms'
- Only lowercase ascii letters when checking
[0.1.15]
- Check words for different cases (#2)
- Improve Golang query
- Add link to change log in release notes
[0.1.14]
- Recheck all open files when config changes
[0.1.13]
- Start of change log!
- Switch to musl for Linux builds (#1)