# What changed in @opentui/core

> 98 changes in @opentui/core 0.8 from its official release notes, upgrade guides and advisories: 10 breaking, 88 new APIs and options. Each one cited. Sources checked 2026-10-29. HTML: https://unstale.sh/npm/@opentui/core/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @opentui/core 0.8

### Breaking changes

- Renames FFIRenderLib.contextDrawSceneText to FFIRenderLib.contextDrawSceneBody. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Changes the pixel-resolution control variant to query-pixel-resolution with an optional sentinel, and changes the modes control variant to restore-modes. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Renames ot_buffer_draw_scene_text to ot_buffer_draw_scene_body. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Renames OT_SCENE_RECORD_SCENE_TEXT to OT_SCENE_RECORD_SCENE_BODY. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Renames the ot_scene_stats field reserved to damage_rows. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- The content property now has type ScrollBoxContent instead of ContentRenderable. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- The horizontalScrollBar property now has type ScrollBoxBar instead of ScrollBarRenderable. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- The verticalScrollBar property now has type ScrollBoxBar instead of ScrollBarRenderable. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- The viewport property now has type ScrollBoxViewport instead of BoxRenderable. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- The wrapper property now has type ScrollBoxWrapper instead of BoxRenderable. (0.8.0) — [docs](https://opentui.com/docs/api/core)

### New APIs and options

- Adds an optional tolerance property to animation tick options. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an animation-tick registration method that accepts an FPS, callback, and optional options, and returns an unsubscribe function. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a synchronizedOutput configuration property. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to retrieve a scene node’s scroll state. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to request scrolling by kind, with an optional target, alignment, and inset. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to set a scene node’s scroll position, with per-axis relative positioning and optional reapplication. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to configure scrolling on a scene node. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to configure a scroll arrow for a scene node and axis. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds scroll lifecycle hooks with an active predicate and a notification callback. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an option indicating whether the host is a multiplexer. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a replySentinel terminal option. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a synchronizedOutput terminal option. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API that accepts an FPS value or accessor, an animation tick callback, and optional animation tick options. (0.8.0) — [docs](https://opentui.com/docs/api/solid)
- Adds the edit position constant OT_EDIT_POSITION_END. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the edit position constant OT_EDIT_POSITION_PREV_CHAR. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the input constant OT_INPUT_EXPECT_SENTINEL. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scene constant OT_SCENE_DEBUG_VERIFY. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scene frame constant OT_SCENE_FRAME_SCROLL. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the full-path reason constant OT_SCENE_FULL_PATH_NON_LOCAL. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the full-path reason constant OT_SCENE_FULL_PATH_OPTIONS. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the full-path reason constant OT_SCENE_FULL_PATH_TAINTED. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the full-path reason constant OT_SCENE_FULL_PATH_UNRETAINED. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds an API to get a node's scroll state. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scene hook constant OT_SCENE_HOOK_SCROLL. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll alignment constant OT_SCENE_SCROLL_ALIGN_END. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll alignment constant OT_SCENE_SCROLL_ALIGN_NEAREST. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll alignment constant OT_SCENE_SCROLL_ALIGN_START. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll bar policy constant OT_SCENE_SCROLL_BAR_ALWAYS. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll bar policy constant OT_SCENE_SCROLL_BAR_AUTO. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll bar placement constant OT_SCENE_SCROLL_BAR_INSET. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll bar policy constant OT_SCENE_SCROLL_BAR_NEVER. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds scroll bar configuration options, including policy, placement, thickness, gap, arrows, and track colors. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll bar placement constant OT_SCENE_SCROLL_BAR_OVERLAY. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds scroll bar state fields for visibility, track, arrows, and thumb position and size. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll change constant OT_SCENE_SCROLL_CHANGED_CONTENT. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll change constant OT_SCENE_SCROLL_CHANGED_LAYOUT. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll change constant OT_SCENE_SCROLL_CHANGED_OFFSET_X. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll change constant OT_SCENE_SCROLL_CHANGED_OFFSET_Y. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll change constant OT_SCENE_SCROLL_CHANGED_VIEWPORT. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll fill constant OT_SCENE_SCROLL_FILL_CONTENT. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll fill constant OT_SCENE_SCROLL_FILL_VIEWPORT. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll fill constant OT_SCENE_SCROLL_FILL_WRAPPER. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll follow constant OT_SCENE_SCROLL_FOLLOW_BOTTOM. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll follow constant OT_SCENE_SCROLL_FOLLOW_LEFT. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll follow constant OT_SCENE_SCROLL_FOLLOW_NONE. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll follow constant OT_SCENE_SCROLL_FOLLOW_RIGHT. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll follow constant OT_SCENE_SCROLL_FOLLOW_TOP. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds scroll configuration fields for axes, follow behavior, culling, fills, padding, backgrounds, and bars. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll constant OT_SCENE_SCROLL_REAPPLY. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll constant OT_SCENE_SCROLL_RELATIVE_X. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll constant OT_SCENE_SCROLL_RELATIVE_Y. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds an API to issue a scroll request for a node. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll request constant OT_SCENE_SCROLL_REQUEST_ANCHOR. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll request constant OT_SCENE_SCROLL_REQUEST_INTO_VIEW. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll request constant OT_SCENE_SCROLL_REQUEST_LAYOUT. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds scroll state fields for offsets, bounds, content, viewport, bars, and change tracking. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds an API to scroll a node to an x/y position. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll axis constant OT_SCENE_SCROLL_X. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the scroll axis constant OT_SCENE_SCROLL_Y. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds an API to configure scrolling for a node. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds an API to configure a scroll arrow for a node. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the style constant OT_STYLE_CONTENT. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the terminal constant OT_TERMINAL_HOST_MULTIPLEXER. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the terminal constant OT_TERMINAL_REPLY_SENTINEL. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the terminal constant OT_TERMINAL_SYNC_ALWAYS. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the terminal constant OT_TERMINAL_SYNC_NEVER. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds an animation FPS property to renderables. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an overridable renderable callback for animation ticks. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an optional animationFps renderable option. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a clock property to the render context. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an animation-tick registration function to the render context. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a scroll-box bar class with scrolling, visibility, arrow, track, sizing, and change-callback APIs. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a scroll-box content class with child-management APIs and viewport culling. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a callback API to run code after layout. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to anchor a renderable in a scroll box, returning a cleanup function. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an overflow property fixed to hidden. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a read-only property identifying the scroll box’s primary axis. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Accepts either a child ID or renderable and adds optional alignment and inset settings when scrolling a child into view. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a property to control horizontal scrolling. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a property to control vertical scrolling. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a viewport class with padding properties. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a scroll-box wrapper class. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a function that computes the size of a scroll unit from a bar’s viewport and scroll sizes, with an optional scroll step. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a protocol-context property indicating whether the reply sentinel is active. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a type for synchronized-output settings with auto, always, and never values. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a frame-rate property to timelines. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an optional frameRate setting to timeline options. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a hook that accepts an optional FPS, an animation tick callback, and optional animation tick options. (0.8.0) — [docs](https://opentui.com/docs/api/react)
