# What changed in @opentui/keymap

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

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

## @opentui/keymap 0.8

### Breaking changes

- Renames contextDrawSceneText to 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 restore-modes variant. (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)
- The content property now returns ScrollBoxContent. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- The horizontalScrollBar property now returns ScrollBoxBar. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Removes padding and its directional and axis-specific properties from ScrollBoxRenderable. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- The verticalScrollBar property now returns ScrollBoxBar. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- The viewport property now returns ScrollBoxViewport. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- The wrapper property now returns ScrollBoxWrapper. (0.8.0) — [docs](https://opentui.com/docs/api/core)

### New APIs and options

- Adds a callback type for animation ticks, receiving delta time, tick count, and time. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an optional tolerance setting for animation-tick options. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a renderer method to register an animation-tick callback and receive an unsubscribe function. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a synchronized-output setting to renderer configuration. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API for retrieving a node's native scene scroll state. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to request scroll behavior for a node, with optional alignment and inset. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to set a node's scroll position, with relative-axis and reapply controls. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to configure native scene scrolling for a node. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to configure a scroll arrow for a node and axis. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds scroll lifecycle integration hooks with active and notify callbacks. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an optional hostMultiplexer setting to native session terminal options. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an optional replySentinel setting to native session terminal options. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a synchronized-output setting to native session terminal options. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds onAnimationTick, which accepts an FPS value or accessor, an animation tick callback, and optional options. (0.8.0) — [docs](https://opentui.com/docs/api/solid)
- Adds the OT_EDIT_POSITION_END constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_EDIT_POSITION_PREV_CHAR constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_INPUT_EXPECT_SENTINEL constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_DEBUG_VERIFY constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_FRAME_SCROLL constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_FULL_PATH_NON_LOCAL constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_FULL_PATH_OPTIONS constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_FULL_PATH_TAINTED constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_FULL_PATH_UNRETAINED constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds an API to retrieve a node's scroll state. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_HOOK_SCROLL constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_ALIGN_END constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_ALIGN_NEAREST constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_ALIGN_START constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_BAR_ALWAYS constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_BAR_AUTO constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_BAR_INSET constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_BAR_NEVER constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds scroll bar options, including policy, placement, thickness, gap, arrows, and track colors. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_BAR_OVERLAY constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds scroll bar state fields for visibility, track and arrow geometry, and thumb position and size. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_CHANGED_CONTENT constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_CHANGED_LAYOUT constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_CHANGED_OFFSET_X constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_CHANGED_OFFSET_Y constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_CHANGED_VIEWPORT constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_FILL_CONTENT constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_FILL_VIEWPORT constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_FILL_WRAPPER constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_FOLLOW_BOTTOM constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_FOLLOW_LEFT constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_FOLLOW_NONE constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_FOLLOW_RIGHT constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_FOLLOW_TOP constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds scroll configuration for axes, follow behavior, culling, fills, padding, backgrounds, and bars. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_REAPPLY constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_RELATIVE_X constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_RELATIVE_Y constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds an API to request scrolling for a node. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_REQUEST_ANCHOR constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_REQUEST_INTO_VIEW constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_REQUEST_LAYOUT constant. (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 specified coordinates. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_X constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_SCENE_SCROLL_Y constant. (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 set a scroll arrow on a node. (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)
- Adds the OT_STYLE_CONTENT constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_TERMINAL_HOST_MULTIPLEXER constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_TERMINAL_REPLY_SENTINEL constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_TERMINAL_SYNC_ALWAYS constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds the OT_TERMINAL_SYNC_NEVER constant. (0.8.0) — [docs](https://opentui.com/docs/api/c)
- Adds an animation frame-rate property to renderables. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a protected animation-tick hook to renderables. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an optional animation frame-rate setting to renderable options. (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 a render-context function for registering animation-tick callbacks. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a scrollbar component for scroll boxes, with scrolling, visibility, sizing, styling, and change-notification APIs. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a scroll-box content component with child management and viewport culling. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a callback registration method that runs after layout. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an API to anchor scrolling to a renderable and return a cleanup function. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds an overflow property with the value hidden. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a read-only property indicating whether the primary axis is row or column. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Accepts either a child ID or renderable and adds optional alignment and inset settings. (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 component with padding properties for scroll boxes. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a wrapper component for scroll boxes with background-color support. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a function that calculates a scroll unit size from viewport and scroll dimensions, with an optional scroll step. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Adds a protocol-context property indicating whether reply sentinels are 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 frame-rate setting to timeline options. (0.8.0) — [docs](https://opentui.com/docs/api/core)
- Added a hook that accepts an FPS value, an animation tick callback, and optional options. (0.8.0) — [docs](https://opentui.com/docs/api/react)
