Skip to content

Build(deps): Bump ink from 7.1.1 to 8.0.0 - #1630

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/ink-8.0.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/ink-8.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Bumps ink from 7.1.1 to 8.0.0.

Release notes

Sourced from ink's releases.

v8.0.0

Breaking

  • Require React 19.3+ 7829102
  • minWidth and maxWidth on <Box> now only accept numbers (#1029) 7cd7fd9
    • Percentage strings were never documented as supported, and Yoga resolved them against the wrong ancestor
  • stdin, stdout, and stderr are now typed as generic Node.js streams (#981) eb82d8f
    • This applies to the render() options and to useStdin(), useStdout(), and useStderr(). TTY-only properties like stdout.columns are no longer part of the types
  • useInput no longer receives unrecognized terminal control sequences (#1014) c76893e
    • Mouse reports, focus in/out events, cursor position reports, and other terminal replies used to arrive in input with the ESC stripped, as if typed. They are now dropped

New

  • Add contentOffsetX and contentOffsetY props to <Box> for building scrollable views (#765) 3ba5828
  • Add clientWidth and clientHeight to useBoxMetrics() and measureElement() (#988) 3ba5828
    • The element size excluding borders, which is the space its content can occupy
  • Accept any Node.js stream for the stdin, stdout, and stderr options of render() (#981) eb82d8f
    • For example, PassThrough or other Readable/Writable streams. Raw mode is used only when stdin is a TTY with setRawMode()
  • Skip unchanged line prefixes in incrementalRendering mode (#1036) 91eb50a
    • Only the changed part of a line is written, which reduces output and flicker
  • Drop the ws dependency in favor of the native WebSocket for React DevTools (#976) 33567ed
  • Recognize application keypad Enter as key.return b73ebf4

Fixes

Rendering

  • Preserve scrollback when clearing the viewport (#994) fe1d123
  • Preserve terminal history after clear() 494ebeb
  • Restore the unchanged frame when rerendering after clear() fc358c2
  • Redraw the frame when the terminal loses rows (#1025) f603aeb
  • Keep content above the frame when rows shrink while the cursor is shown (#1031) c800284
  • Keep the cursor on the last line when output has no trailing newline (#982) cdc18fa
  • Restore the terminal cursor below the frame on exit 06385e9
  • Preserve the cursor position when its component skips rendering 013feb2
  • Fix incremental rendering of single-line updates, new blank rows, and changed rows (#1039) 9a501e4 507c0c9 509ea75
  • Fix overflow clipping when both the shorthand and an explicit axis are set, and preserve <Transform> line indices when clipping 4f3c7aa
  • Fix background color inheritance for <Static> and nested <Text> 753a5f8
  • Fix fractional percentages being truncated in layout sizes, and restore layout defaults when style props are undefined 274b15a
  • Preserve visibility across Suspense transitions fc685bc
  • Call onRender after the frame is written 83d7de5

<Static>

  • Stop replaying <Static> output on full-clear frames (#1005) d661543
  • Replay <Static> output when resuming re-enters the alternate screen (#1012) 9235028
  • Fix repeated padding, ignored margins, and output inside hidden ancestors 793fe59
  • Keep <Static> output after abandoned concurrent renders 8678b76
  • Reset captured <Static> output when its identity changes cfdd9e6

... (truncated)

Commits
  • 26d2c3f 8.0.0
  • 509ea75 Clear changed incremental rows before painting (#1039)
  • 91eb50a Skip unchanged prefixes during incremental rendering (#1036)
  • 935db23 Switch to node:test
  • d08ff67 Align reconciler host config with updated type definitions (#1037)
  • f603aeb Redraw the frame when the terminal loses rows (#1025)
  • 7cd7fd9 Align minWidth and maxWidth types with supported values (#1033)
  • 02ae1e5 Treat components sharing a focus ID as one Tab stop (#1026)
  • c800284 Keep content above the frame when rows shrink with a cursor shown (#1031)
  • 36f5624 Keep text at its natural width when there is no room to wrap (#1022)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 6, 2026
@vercel

vercel Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
humanish Ready Ready Preview Oct 8, 2026 4:53am UTC

Request Review

Bumps [ink](https://github.com/vadimdemedes/ink) from 7.1.1 to 8.0.0.
- [Release notes](https://github.com/vadimdemedes/ink/releases)
- [Commits](vadimdemedes/ink@v7.1.1...v8.0.0)

---
updated-dependencies:
- dependency-name: ink
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/ink-8.0.0 branch from 62b0c75 to 270ba09 Compare October 8, 2026 04:53
danielgwilson added a commit that referenced this pull request Oct 8, 2026
ink 8.0.0 types useStdout().stdout as NodeJS.WritableStream, so
tui/src/use-terminal-size.ts stopped typechecking (TS2339 on columns
and rows). ink exports useWindowSize(), which reads the same stream,
falls back to terminal-size and then 80x24, re-reads on resize, and in
8.0.0 re-reads once after subscribing (the case our setTimeout covered).

Deletion test on our hook: its clamps (columns >= 20, rows >= 6) are
already applied at every call site by contentWidth() and Math.max, so
deleting the module moves no complexity to the two callers. app.tsx and
connections-screen.tsx now call useWindowSize directly.

The render harness gains resize(columns, rows), which sets the fake
TTY's size and emits resize the way Node's tty stream does. A new test
narrows the studies screen from 80 to 45 columns and expects the fresh
45-column render. It failed with the old hook's resize subscription
removed and passes with useWindowSize.

Lint warnings fall from 439 to 438 (the deleted hook's exhaustive-deps
warning), so the cap in package.json drops to 438.

Checked: pnpm release:check; TUI suite 159 passed with all 24 goldens
unchanged; tui smoke; a real PTY run under ink 7.1.1 and 8.0.0 gave
byte-identical output for start, narrowing to 45 columns, and q.
Not checked: tmux or SSH attach, or any real terminal emulator.

Supersedes #1630.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@danielgwilson

Copy link
Copy Markdown
Owner

Superseded by #1690, which bumps ink to 8.0.0 and replaces the TUI's terminal-size hook with ink's useWindowSize.

@dependabot @github

dependabot Bot commented on behalf of github Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/ink-8.0.0 branch October 8, 2026 18:25

This branch was successfully deployed

1 active deployment
Preview — 270ba09b Deployed Oct 8, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant