Major updates:
- Add Kitty graphics support and PNG image decoding (#23)
- Add selection APIs and selection gesture support (#49, #52)
- Add tracked grid references for following cells through scrollback and resets (#42)
- Add Rust log integration and global logger support (#28, #45)
- Complete OSC support and expose more terminal APIs (#16, #54, #58)
- Complete formatter options (#51)
- Support static libghostty-vt linking (#30)
Minor updates:
- Add CellIteration::{grapheme_utf8, has_styling} APIs (#50)
- Expose PWD changed callback, default cursor settings, and glyph protocol settings (#58)
- Make more API values available at compile time (#54)
- Make PointCoordinate fields public (#15)
- Improve crate documentation, terminal examples, and docs.rs feature visibility (#17, #44)
- Add pkg-config support for installed libghostty-vt builds (#29)
- Add configurable Zig optimize mode for vendored builds (#32)
- Add 64-bit Android target mappings in the build script
Bug fixes:
- Keep terminal callback userdata stable when terminals move (#24, #25)
- Fix render state pointer handling in ghostty_render_state_set (#47)
- Fix RGB color style enum variant mapping (#31)
- Fix pkg-config ABI validation and build script source precedence (#29)
- Fix vendored Ghostty builds to be hermetic (#30)
- Fix selection DeepPressEvent construction (#52)
- Fix generated binding assumptions around prebuilt headers (#50)
Breaking changes:
- Static linking is now the default; enable link-dynamic to link the shared library instead (#46)
- MSRV is now Rust 1.90 (#35)
- Raw libghostty-vt-sys bindings were regenerated with cleaner names, so low-level binding consumers may need updates (#14)
- TitleChanged was renamed to TitleChangedFn (#16)
- Primary device attributes API was simplified (#54)
- The pinned Ghostty C API was updated across the release, changing parts of the raw FFI surface (#13, #23, #28, #50, #58)