Packages

@opentui/solid

0.6.6 · 14 Oct 2026MIT280.5k / weekRepositoryHomepagenpmAtom feed

154 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.

  1. 0.6.x · latest line
  2. 0.6.6

    14 Oct 2026
    • core: A custom renderable can override protected defaultDimension(kind) to set the width or height that a nullish write restores. See Custom renderables.

    • core: Assigning null or undefined to a layout property restores the default for an omitted option, and removing a React or Solid style prop does the same. See Layout.

    • core: Assigning null or undefined to visible shows the node. Before, null hid the node, so assign false to hide it.

  3. 0.6.5

    14 Oct 2026
    • core: Renderables have the remaining Yoga Node style getters, such as getHeight(), getMaxWidth(), getPadding(edge), getGap(gutter), getFlexDirection(), and getAlignSelf(). Use them instead of style reads through getLayoutNode(). See Layout.

    • core: read declared layout styles on renderables

  4. 0.6.4

    13 Oct 2026
    • core: Kitty images in iTerm2 no longer go black or blank after a move, a scroll, or a layout change. The renderer now deletes each old placement by its placement id, because iTerm2 also frees the image data when it gets an image-wide delete.

    • native: delete Kitty placements by id so iTerm2 keeps the image

  5. 0.6.3

    13 Oct 2026
    • core: renderer.setProgramStatus(status) and
      NativeSession.setProgramStatus(status) send one OSC 7501 program status
      report. They return false when OpenTUI does not queue the report, and they
      throw for an invalid report. See
      Program status.

    • core: TerminalCapabilities.program_status is true when the terminal
      replies to the OSC 7501 ; ? query. The renderer sends this query at startup
      with the other capability queries, but not to foot. See
      Terminal capabilities.

    • native: ot_session_control() with OT_CONTROL_PROGRAM_STATUS and an
      ot_session_program_status payload sends a program status report.
      OT_CAP_PROGRAM_STATUS is set when the terminal replies to the query. See
      Program status.

  6. 0.6.2

    12 Oct 2026
    • core: measureEditText(text, { widthMethod, tabWidth }) returns the
      editor offset at the end of text without an EditBuffer. tabWidth
      defaults to the tab width of a new edit buffer. See
      Editing buffers and views.

    • native: ot_edit_measure_text() gives the same measurement through the C
      interface. A tab_width over 255 fails. See
      Editing buffers and views.

    • native: A bold, dim, italic, underlined, blinking, inverse, hidden, or
      struck-through cell in the last column of a row no longer gives its
      attributes to the next cells that the renderer draws. A row that ends in such
      a cell writes 4 more bytes. See Frames and output.

  7. 0.6.1

    11 Oct 2026
    • core: EditBuffer.measureText(text) returns the display offset at the
      end of text as the buffer would lay it out. It counts each line break as
      one. See Editing buffers and views.

    • native: ot_edit_buffer_measure_text() gives the same measurement
      through the C interface. See
      Editing buffers and views.

    • core: EditBuffer.setText(), insertText(), and replaceText(),
      Textarea initialValue, Input.value, and placeholders accept control
      characters and do not throw NativeError. An editor shows C0 controls and
      DEL as ^@ to ^_ and ^? in two cells, and C1 controls as <80> to
      <9f> in four cells. See Editing buffers and views.

  8. 0.6.0

    10 Oct 2026
    • breaking

      core: Renderable.render(), updateLayout(), updateFromLayout(),
      canReuseRenderCommandList(), getLayoutNode(), the protected yogaNode,
      the RenderCommand type, and RootRenderable.calculateLayout() are
      removed. Draw in renderSelf(), renderBefore, or renderAfter, and use
      setMeasureProvider(), invalidateIntrinsicSize(), and getLayout() for
      size and layout. Protected members such as _x, _y, getScissorRect(),
      and _getVisibleChildren() are also removed. Use x, y, screenX, and
      screenY, and the viewportCulling option of ScrollBox. See
      Custom renderables.

    • breaking

      core: The enableLayout: false option throws. on("resized") and
      on("layout-changed") throw on a renderable that is not the root, where
      these listeners never ran. Use onSizeChange instead. See
      Layout.

    • breaking

      core: Paint hooks of an unbuffered renderable get a recording buffer
      that cannot read cells, and renderer.nextRenderBuffer accepts drawing only
      in a post-process function. buffer.buffers works only in a post-process
      function. Elsewhere, use buffer.withBuffers(callback). To read or change
      cells in a hook, set buffered: true, or draw into a buffer that you own and
      compose it. For the whole frame, use a post-process function. See
      Rendering pipeline.

  9. 0.5.x
  10. 0.5.17

    8 Oct 2026
    • native: detect OSC 8 hyperlinks in more terminals

  11. 0.5.16

    7 Oct 2026
    • ot npm served timeout

  12. 0.5.15

    7 Oct 2026
    • ot readd memory

    • release: publish dependencies first and resume failed publishes

    • native: reject invalid blended cell coordinates

  13. 0.5.14

    30 Sep 2026
    • core: repaint after net-zero resize bursts

  14. 0.5.13

    30 Sep 2026
    • native: fix Zig dependency extraction on Windows

    • Fix/kitty z above cell background

    • ssh: disable Nagle's algorithm on accepted connections

  15. 0.5.12

    22 Sep 2026
    • add comprehensive mouse pointer style support and update related functionality

    • renderer: fix split-footer resize cleanup

    • editor: allow cursor reads after destruction

  16. 0.5.11

    7 Sep 2026
    • core: bound large diff rendering work

    • core: realign split diffs after resizing

    • core: preserve keyboard layouts in embedded terminals

  17. 0.5.10

    1 Sep 2026
    • renderer: reduce image streaming overhead

    • core: retry the final automatic frame after backpressure

    • core: preserve markdown during stream completion

  18. 0.5.9

    27 Aug 2026
    • core: normalize embedded terminal keys

    • native: silence standard library logs

    • native: filter Ghostty logs

  19. 0.5.8

    24 Aug 2026
    • utf8: count Thai spacing marks in widths

    • mouse: track buttons independently

    • ot readme docs

  20. 0.5.7

    23 Aug 2026
    • ot web font

    • web: update font

    • core: add configurable selection occupancy

  21. 0.5.6

    20 Aug 2026

    Maintenance only: docs, tests, build or refactoring. Nothing changes in how you use it.

  22. 0.5.4

    18 Aug 2026
    • ot web blue

    • web: add package index

    • web: improve documentation readability

  23. 0.5.3

    13 Aug 2026
    • core: clip glyphs left of the buffer

    • web: rebuild site + add blog

    • ot fix web mobile

  24. 0.5.2

    12 Aug 2026
    • bench: add JS benchmark

    • web: upgrade Astro

    • web: add pixel OpenTUI logo mark

  25. 0.5.1

    4 Aug 2026
    • core: accept trailing PNG whitespace

    • core: support ICC PNG profiles

  26. 0.5.0

    3 Aug 2026
    • core: speed up Node FFI layout reads

    • core: add raw stdin logging

    • core: reuse FFI struct storage

  27. 0.4.x
  28. 0.4.5

    17 Jul 2026

    Reading the note…

  29. 0.4.4

    16 Jul 2026

    Reading the note…

  30. 0.4.3

    3 Jul 2026

    Reading the note…

  31. 0.4.2

    24 Jun 2026

    Reading the note…

  32. 0.4.1

    11 Jun 2026

    Reading the note…

  33. 0.4.0

    9 Jun 2026

    Reading the note…

  34. 0.3.x
  35. 0.3.4

    7 Jun 2026

    Reading the note…

  36. 0.3.3

    7 Jun 2026

    Reading the note…

  37. 0.3.2

    4 Jun 2026

    Reading the note…

  38. 0.3.1

    1 Jun 2026

    Reading the note…

  39. 0.3.0

    28 May 2026

    Reading the note…

  40. 0.2.x
  41. 0.2.16

    26 May 2026

    Reading the note…

  42. 0.2.15

    20 May 2026

    Reading the note…

  43. 0.2.14

    18 May 2026

    Reading the note…

  44. 0.2.13

    17 May 2026

    Reading the note…

  45. 0.2.12

    16 May 2026

    Reading the note…

  46. 0.2.11

    16 May 2026

    Reading the note…

  47. 0.2.10

    14 May 2026

    Reading the note…

  48. 0.2.9

    13 May 2026

    Reading the note…

  49. 0.2.8

    13 May 2026

    Reading the note…

  50. 0.2.7

    12 May 2026

    Reading the note…

  51. 0.2.6

    8 May 2026

    Reading the note…

  52. 0.2.5

    8 May 2026

    Reading the note…

  53. 0.2.4

    7 May 2026

    Reading the note…

  54. 0.2.3

    6 May 2026

    Reading the note…

  55. 0.2.2

    2 May 2026

    Reading the note…