spellkit 0.3.0

Bindings to your friendly neighborhood spellchecker.
Documentation
# Changelog

All notable changes to this project are documented in this file.

This project follows [Semantic Versioning](https://semver.org/).

## [Unreleased]

## [0.3.0] - 2026-08-07

### Breaking
- Renamed the crate from `spellbound` to `spellkit`

### Changed
- Document locale and threading caveats in the README
- Drop obsolete `unexpected_cfgs` lint (no longer needed after objc2)

## [0.2.1] - 2026-08-07

### Added
- `Checker::is_correct`

### Changed
- Windows backend now uses the official `windows` crate instead of `winapi`
- Bump `cfg-if` to 1.x
- macOS backend now uses `objc2` / `objc2-app-kit` instead of `cocoa` / `objc`
- `Checker::check` now takes `&self` instead of `&mut self`
- Bump to Edition 2024 / MSRV 1.85.

### Fixed
- Pass null-terminated dictionary paths to Hunspell on Linux (stops spurious
  `cannot open …aff` stderr noise)

## [0.2.0] - 2026-08-06

### Breaking
- `Checker::new()` now returns `Result<Self, Error>` instead of panicking when
  the spellchecker (or hunspell dictionary) is unavailable
- `SpellingError` now includes UTF-8 byte `start` / `end` offsets into the
  checked text (in addition to `text()`)

### Added
- `Error` / `Error::Unavailable`
- Broader Linux dictionary search paths and `en_US` / `en_GB` fallbacks
- Word tokenization with offsets on Unix (alphabetic / `'` runs)
- GitHub Actions CI (Linux, macOS, Windows; fmt; clippy)
- README documentation for the maintained fork and Linux hunspell setup
- `Checker::with_locale` (`en_US` / `en-US` both accepted)
- `Checker::suggest` for spelling suggestions (capped at 10)

### Changed
- Edition 2021; dropped `lazy_static` / `extern crate`
- macOS uses `OnceLock` for the shared `NSSpellChecker`
- Windows COM failures map to `Error` where creating the checker; UTF-16
  indices convert to UTF-8 byte ranges
- `hunspell-sys` 0.1.3 → 0.3.1 on Linux

### Removed
- Travis CI and AppVeyor configs

## [0.1.1] - 2020-02-05

Last release from upstream (`euclio/spellbound`).