Назад

Libghostty 1.0 стабілізує C ABI портативної бібліотеки емуляції термінала
SiTech AI Team3 хв читання

Libghostty 1.0 стабілізує C ABI портативної бібліотеки емуляції термінала

Mitchell Hashimoto оголосив libghostty 1.0 6 листопада 2026 року: портативну C-бібліотеку для емуляції термінала, витягнуту з Ghostty, тепер зі стабільною бібліотекою та C ABI, широким упровадженням і підтримкою пакування.

Mitchell Hashimoto оголосив libghostty 1.0 6 листопада 2026 року, портативну високопродуктивну C-бібліотеку для емуляції термінала, витягнуту з ядра Ghostty. Випуск робить стабільними і бібліотеку, і її C ABI. Трохи більше року тому модуль Zig щойно об'єднали, C API не існував, і споживачем був лише Ghostty.

Впровадження та екосистема

Термінали JetBrains IDE тепер працюють на libghostty і охоплюють понад 12,5 мільйона активних користувачів за звітом JetBrains. У Neovim схвалено запит на злиття на заміну libvterm на libghostty-vt, що закриє 10-річну проблему з переформатуванням прокручуваного буфера при зміні розміру; супровідники чекають тегованого випуску перед злиттям. Розробники KDE експериментують із заміною Konsole, побудованою на ньому, Turborepo від Vercel використовує його для відображення виводу завдань у своєму TUI, devenv використовує його для керування оболонками, а Antithesis використовував його для фаззингу TUI-програм і знайшов реальні помилки в btop та інших. Ghostel приносить його в Emacs, ghostty-web надає збірку WASM з API, сумісним з Xterm.js, а OrbStack вбудовує його. Нові термінали та інструменти агентного кодування, такі як herdr і cmux, побудовані на ньому, а прив'язки спільноти охоплюють Rust, Go, JavaScript, Swift, Python, .NET, Elixir, Dart, Java та інші. Список awesome-libghostty відстежує понад сотню проєктів. Проєкт каже, що сьогодні більше людей використовує термінал на базі libghostty, ніж застосунок Ghostty, з дуже великим відривом.

Стабільність ABI та пакування

libghostty-vt дотримується семантичного версіонування з суворими обіцянками сумісності ABI і має реальну, виконувану політику стабільності ABI. Об'єкти є непрозорими дескрипторами, значення проходять через гетери і сетери з ключами-переліками, структури, що не є непрозорими, несуть свій розмір або зарезервоване заповнення, а переліки закріплені до int на кожному компіляторі настільки, наскільки це дозволяє стандарт C. Новіші заголовки, підключені до старішої бібліотеки, повертають GHOSTTY_UNSUPPORTED замість аварійного завершення. CI виконує політику через libabigail у Linux і золоті маніфести типів у macOS та WebAssembly, а експортовані символи ELF мають версії. Випуск 1.0 також додає інструменти збирання, підписані тарболи вихідного коду і залежностей, документацію та підтримку пакування, зокрема правильний SONAME, заголовки, файли pkg-config і конфігурацію пакета CMake. Бібліотека має ліцензію MIT, потребує лише libc під час виконання і може бути зібрана freestanding. Її залежності мають дозвільні ліцензії і включають simdutf, Google Highway, компактну таблицю Unicode та Wuffs; у дереві залежностей немає коду з copyleft.

Портативність та використання ресурсів

Тестовані платформи включають Linux з glibc або musl на x86_64 та aarch64, macOS 13 і новіші на x86_64 та aarch64, iOS 13 і новіші на aarch64, FreeBSD на x86_64 та aarch64, Windows на x86_64, Android на aarch64, x86_64 та arm, а також WebAssembly wasm32 freestanding. Додаткові цілі лише для збирання включають bare metal riscv32 і thumb, WebAssembly WASI wasm32, Windows arm64, illumos x86_64 та 32-бітний x86. Бібліотека не створює потоків, виділяє пам'ять лише через настроюваний алокатор і використовує мінімальні обчислювальні ресурси та пам'ять; автор повідомляє про запуск 10 000 активних терміналів з живими оболонками на сервері Linux з 4 ядрами і 8 ГБ RAM, використовуючи dash, бо bash використовував більше RAM.

Що далі

Проєкт каже, що тепер термінал можна створити приблизно за 1 500 рядків C з більшою кількістю можливостей і кращою продуктивністю, ніж мав майже будь-який термінал, що існував у 2025 році, і більшість сьогодні у 2026 році. libghostty-vt зосередиться на стабільності, водночас реалізовуючи стільки термінальних протоколів, скільки існує, з можливостями вмикати або вимикати їх. Документація, приклади та завантаження доступні на lib.ghostty.org.

Джерела: Mitchell Hashimoto

Поділитися цифровим досвідом

SiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.