Bumps ink from 6.8.0 to 7.0.0.
Release notes
Sourced from ink's releases.
v7.0.0
Breaking
- Require Node.js 22 19b5316
- Require React 19.2+ cfaebbb
- Ink now uses
useEffectEvent internally to avoid re-subscribing input handlers on every render
- Pressing Backspace now correctly sets
key.backspace instead of key.delete (#634) 321a2e8
- Most terminals send the same byte for Backspace as the Delete key, which caused Ink to misreport it. If you were checking
key.delete to handle backspace, switch to key.backspace
key.meta is no longer set to true when Escape is pressed e195912
- Previously a backward-compat shim made plain Escape set both
key.escape and key.meta. Now only key.escape is true. key.meta is reserved for actual Alt/Meta modifier combinations
New
- Add
usePaste hook for handling clipboard paste events fbbeb23
- Automatically enables bracketed paste mode so pasted text arrives as a single string, never misinterpreted as individual key presses by
useInput
- Add
useWindowSize hook 7047795
- Returns
{columns, rows} and re-renders automatically on terminal resize
- Add
useBoxMetrics hook for measuring box dimensions at runtime (#433) 88731d1
- Add
useAnimation hook for built-in animation support (#142) ada019c
- Provides a frame counter that increments at a configurable interval, with pause/resume support and automatic cleanup on unmount
- Add
alternateScreen option to render() (#263) 5a60eb9
- Renders into the terminal's alternate screen buffer (like vim or less), restoring the previous terminal content on exit
- Add
interactive option to render() (#888) 02490f6
- Override automatic interactive-mode detection for environments where the built-in heuristic doesn't fit
- Add
activeId to useFocusManager() (#661) eb2f470
- Returns the ID of the currently focused component, or
undefined if nothing is focused
- Add
borderBackgroundColor (and per-side variants) to <Box> (#906) d3c6d14
- Set a background color on borders independently from the box content background
- Add
wrap="hard" to <Text> (#925) 2b1e3a6
- Fills each line to the full column width, breaking words mid-word as needed
- Add
maxWidth and maxHeight props to <Box> (#713) 9291794
- Add
aspectRatio, alignContent, position="static", and top/right/bottom/left layout props to <Box> c2f4b86
- Kitty keyboard protocol: query all terminals in auto mode instead of a hardcoded allowlist (#895) 3e672b5
Fixes
- Fix incremental rendering for trailing newline (#910) c32da0b
- Fix
useInput crash on unmapped key codes (#902) 969a4f1
- Fix CJK text truncation exceeding
<Box> width b5f3e3a
- Fix splitting wide characters (emoji, CJK) when overlapping writes occur (#930) 06d53f4
- Fix dangling
staticNode reference (#905) 0dc4dfa
Migration guide
key.backspace vs key.delete
// Before — physical backspace was reported as key.delete
</tr></table>
... (truncated)
Commits
fb14d81 7.0.0
993f693 Update dependencies
2b1e3a6 Add wrap="hard" option to Text component (#925)
7c34548 Fix tests
cfaebbb Use useEffectEvent in useInput and usePaste to avoid per-render re-subs...
e195912 Stop setting key.meta to true when Escape is pressed
d3c6d14 Add border background color support for Box component (#906)
931eba2 Fix build output and add tests (#932)
ada019c Add useAnimation hook for built-in animation support
10136e6 Remove option field from keypress parser, merge Alt into meta
- Additional commits viewable in compare view
Dependabot compatibility score
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps ink from 6.8.0 to 7.0.0.
Release notes
Sourced from ink's releases.
... (truncated)
Commits
fb14d817.0.0993f693Update dependencies2b1e3a6Addwrap="hard"option toTextcomponent (#925)7c34548Fix testscfaebbbUseuseEffectEventinuseInputandusePasteto avoid per-render re-subs...e195912Stop settingkey.metatotruewhen Escape is pressedd3c6d14Add border background color support forBoxcomponent (#906)931eba2Fix build output and add tests (#932)ada019cAdduseAnimationhook for built-in animation support10136e6Removeoptionfield from keypress parser, merge Alt intometaDependabot compatibility score
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)