Skip to content

ftxui 7.0.0#287861

Merged
BrewTestBot merged 2 commits into
mainfrom
bump-ftxui-7.0.0
Jun 14, 2026
Merged

ftxui 7.0.0#287861
BrewTestBot merged 2 commits into
mainfrom
bump-ftxui-7.0.0

Conversation

@BrewTestBot

Copy link
Copy Markdown
Contributor

Created by brew bump


Created with brew bump-formula-pr.

Details

release notes
7.0.0 (2026-06-13)
------------------

Doc

  • Fix broken Doxygen output. See @markmandel in #1029.
  • Use Doxygen awesome. Add our own theme.
  • Break the documentation into several pages.

Build

  • Feature: Support amalgamated version.
    This provides a single-header (ftxui.hpp) and single-source (ftxui.cpp)
    version of the library, as well as a truly single-file header-only version
    (ftxui_all.hpp).
    This is the easiest way to vendor FTXUI into your project.
    See #1252.
  • Feature: Support umbrella header and target.
    Usage:
    #include <ftxui/ftxui.hpp>
    CMake: target_link_libraries(your_target PRIVATE ftxui::ftxui)
    Bazel: deps = ["@ftxui//:ftxui"]
    See #1252.
  • Feature: Support C++20 modules.
    This requires:
    • Using the Ninja or MSVC generator
    • A recent Clang/GCC/MSVC compiler.
    • Cmake 3.28 or higher.
      Usage:
    import ftxui;
    import ftxui.component;
    import ftxui.dom;
    import ftxui.screen;
    import ftxui.util;
    Thanks @mikomikotaishi for PR #1015.
  • Consolidate C++20 code into named modules to reduce compile times and improve flexibility. Thanks @mikomikotaishi in #1221.
  • Feature: Support Meson build system. Thanks @mintonmu in #1259.
  • Remove dependency on 'pthread'.
  • Bugfix: Bazel target @ftxui is now visible. Thanks @dskkato in #1157.
  • ABI: Explicitly size all public enums to uint8_t for ABI layout stability.
  • ABI: Add reserved virtual methods to Screen and Node for future
    extensibility without breaking ABI.

General

  • Breaking (Renames):

    • Pixel is renamed to Cell.
    • Image is renamed to Surface.
    • ScreenInteractive is renamed to App.
    • PixelAt method is renamed to CellAt.
      Compatibility aliases and headers are provided to avoid breaking existing code.
  • Breaking. Move to std::string_view instead of const std::string& where
    applicable. This yields better interoperability with string literals and
    avoids unnecessary copies. Thanks @mikomikotaishi for PR #1154

Component

  • Feature: Improved signal handling. Upgrade signal interception to use POSIX sigaction for robust signal masking and cleanup handler preservation. Protect against double terminal restoration on exit using atomic raw-state tracking. Add support for additional POSIX signals (SIGBUS, SIGSYS as crash signals, and SIGQUIT, SIGHUP as deferred termination signals) and fix async-signal-safety issues in crash paths.
  • Bugfix: Fix Input cursor visibility when using a custom Renderer on nested containers. See #1220. Thanks @nmarks99.
  • Fix Input cursor positioning and scroll stability. See #1196. Thanks @739C1AE2.
  • Fix Input support for non-ASCII characters in password mode. See #1196. Thanks @739C1AE2.
  • Performance: Mitigate cursor flickering during redraw in App. See #1196. Thanks @739C1AE2.
  • Feature: POSIX Piped Input Handling.
    • Allows FTXUI applications to read data from stdin (when piped) while still receiving keyboard input from the terminal.
    • Enabled by default.
    • Can be disabled using App::HandlePipedInput(false).
    • Only available on Linux and macOS.
      Thanks @HarryPehkonen for PR #1094.
  • Fix App::FixedSize screen stomps on the preceding terminal
    output. Thanks @zozowell in #1064.
  • Fix vertical ftxui::Slider. The "up" key was previously decreasing the
    value. Thanks @its-pablo in #1093 for reporting the issue.
  • Fix Windows UTF-16 key input handling. Emoji and other code points outside the
    Basic Multilingual Plane (BMP) are now correctly processed. Thanks @739C1AE2
    in #1160 for fixing the issue.
  • Fix Input style is now colorschem agnostic. Thanks @Smail in #1170 for reporting
    and fixing the issue.
  • Fix App::Post(..) is now thread safe. Thanks @739C1AE2 in
    ~1183 for reporting the issue. This regressed in non released versions.

Dom

  • Feature: Support newline \n within text() and vtext(). Thanks
    @mikomikotaishi in #1215.
  • Bugfix: dbox now propagates focus from top-most layers to bottom-most
    layers, matching the visual representation. See #1213. Thanks @vtnerd.
  • Feature: Support for table border decorators. This allows for instance to
    color the border of a table. Thanks @Sckab in #1186 for proposing it.
  • Fix integer overflow in ComputeShrinkHard. Thanks @its-pablo in #1137 for
    reporting and fixing the issue.
  • Add specialization for vbox/hbox/dbox to allow a container of Element as
    as input. Thanks @nbusser in #1117.
  • Bugfix: In the gridbox, add the children to the tree so that the default
    behaviors inherited from Node are correctly implemented. Thanks KenReneris for
    #1070.
  • Update: The gauge in a flexible now takes the available space in the
    opposite direction. Thanks @Ardet696 in #1203.
  • Feature: Add parameterized _factor variants of flex decorators. These allow
    specifying custom grow/shrink factors:
    flex_factor(grow, shrink), flex_grow_factor(grow),
    flex_shrink_factor(shrink), with x and y axis variants.
    Usage: element | flex_grow_factor(3).

Screen

  • Performance: Collapse the per-row cursor walk-up in the non-clear
    Screen::ResetPosition into a single parameterized CSI cursor-up
    (\x1B[<n>A) instead of emitting one \x1B[1A per row. This reduces the
    per-frame escape bytes during steady-state redraw (e.g. ~197 -> 6 bytes for a
    50-row screen, ~33x). On-screen output is unchanged.
  • Performance: Optimize Screen::ToString(), Color::Print() and
    string_width().
    This was achieved by:
    1. Skipping calling string_width for cells with single-byte data (the
      primary driver for performance gains).
    2. Pre-allocating memory for the output string.
    3. Optimizing the ASCII path for string width calculation.
      Benchmarks show a significant improvement:
    • Basic rendering: ~27% faster.
    • Text rendering: ~27% faster.
    • Styled rendering: ~38% faster.
      Thanks @killerdevildog for initiating (2) in #1188.

What's Changed

New Contributors

Full Changelog: ArthurSonzogni/FTXUI@v6.1.9...v7.0.0

View the full release notes at https://github.com/ArthurSonzogni/FTXUI/releases/tag/v7.0.0.


@github-actions github-actions Bot added the bump-formula-pr PR was created using `brew bump-formula-pr` label Jun 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🤖 An automated task has requested bottles to be published to this PR.

Caution

Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch.

@github-actions github-actions Bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jun 14, 2026
@BrewTestBot BrewTestBot enabled auto-merge June 14, 2026 00:04
@BrewTestBot BrewTestBot added this pull request to the merge queue Jun 14, 2026
Merged via the queue into main with commit 2799a5f Jun 14, 2026
22 checks passed
@BrewTestBot BrewTestBot deleted the bump-ftxui-7.0.0 branch June 14, 2026 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants