# Changelog

All notable changes to this project are documented here.
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning: [SemVer](https://semver.org/).

## [0.1.0] - 2026-07-07

### Added

- Initial release. Patches `Intl.Segmenter.prototype.segment` and
  `resolvedOptions` at import time with a pure-JS fallback when
  `process.config.variables.icu_small === true`, preventing the V8
  null-BreakIterator segfault ([nodejs/node#51752]) that crashes pi's TUI at
  first render on RHEL/Fedora `nodejs` installs without `nodejs-full-i18n`
  ([earendil-works/pi#6359]).
- Grapheme (per code point), word (`isWordLike`-tagged runs), and naive
  sentence granularities; `containing()`; re-iterable Segments objects.
- Strict no-op on full-ICU builds (method identity untouched).
- `PI_SEGMENTER_FALLBACK=1/0` env override to force/disable for testing.
- One-time `session_start` warning via `ctx.ui.notify` when the fallback is
  active (console fallback in non-UI modes).
- Verified against a real small-ICU build (AlmaLinux 9 nodejs 22.22.2):
  segfault reproduced without the extension, full TUI + cursor + word
  navigation with it. See `docs/test-evidence.md`.

[nodejs/node#51752]: https://github.com/nodejs/node/issues/51752
[earendil-works/pi#6359]: https://github.com/earendil-works/pi/issues/6359
[0.1.0]: https://github.com/T0mSIlver/pi-intl-segmenter-fallback/releases/tag/v0.1.0
