
21 сентября 2026 года состоялся релиз многофункционального, с поддержкой опции GPU‑accelerated (технология, при которой графический процессор используется для ускорения вычислительных задач и приложений), кроссплатформенного эмулятора терминала Kitty 0.49. Исходный код проекта написан на Python, C и Go и опубликован на GitHub под лицензией GNU General Public License v3.0. Разработка проекта ведётся с 2017 года.
Новая версия решения в значительной степени ориентирована на стабильность, в ней исправлены ранее найденные некритичные ошибки, обнаруженные после выпуска предыдущей стабильной сборки в июле 2026 года.

Основные дополнения и изменения в Kitty Terminal 0.49:
-
проделана масштабная работа по повышению производительности, направленная на увеличение пропускной способности, благодаря чему kitty стал работать ещё быстрее. Реальная эффективная пропускная способность должна вырасти на 15–35% в зависимости от характера нагрузки:
-
увеличена примерно на 35% пропускная способность при обработке больших объёмов текста с буфером прокрутки, значительно превышающим по размеру кэш процессора; это достигнуто за счёт предварительной выборки (prefetching) памяти буфера перед записью в неё данных;
-
увеличена пропускная способность при обработке больших объёмов текста (примерно на 50% для ASCII и на 15% для Unicode) за счёт пакетной записи последовательностей обычных символов ASCII на экран и исключения избыточных служебных операций в критических путях кода, отвечающих за прокрутку и обработку табуляции;
-
ускорено декодирование UTF-8 с использованием SIMD: скорость выросла примерно на 20% для ASCII и на 50% для многобайтового текста (как на x86, так и на ARM). Это достигнуто благодаря одновременной обработке пар векторов с обычным текстом ASCII и уплотнению декодированных кодовых точек внутри 128-битных сегментов (lane), что позволяет избежать затратных операций между сегментами. Также добавлен декодер на базе AVX-512, обеспечивающий дополнительный прирост скорости (около 75%) для многобайтового текста и автоматически используемый на процессорах с поддержкой этой инструкции (Intel Ice Lake и новее, AMD Zen 4 и новее);
-
увеличена примерно на 30% пропускная способность при обработке входных данных с большим количеством управляющих последовательностей (escape-кодов); это реализовано путём захвата блокировки входного буфера один раз на весь буфер (вместо захвата для каждого кода) и использования менее затратных арифметических операций при разборе параметров CSI;
-
увеличена ещё примерно на 10% пропускная способность при обработке больших объёмов обычного текста за счёт использования SIMD для поиска последовательностей печатаемых символов ASCII, заполнения ячеек памяти с помощью операций записи широких векторов и пропуска избыточных действий в критическом пути прокрутки при отсутствии изображений;
-
ускорена композиция пикселей с помощью векторизации SIMD: альфа-смешивание изображений графического протокола и кадров анимации выполняется в 2–3,5 раза быстрее, а наложение альфа-масок глифов на холст (canvas) осуществляется с использованием тех же векторизованных примитивов;
-
введено кэширование результатов работы библиотеки HarfBuzz для повторяющихся коротких фрагментов текста (длиной до 32 ячеек), что позволяет избежать повторного выполнения операции шейпинга (формирования глифов) при перерисовке уже выведенного на экран текста.
-
-
появилась официальная поддержка пользовательских шейдеров (Custom Shaders). Их можно использовать для создания самых разных графических эффектов: от анимированных фонов и подсветки активного окна до анимаций, меняющих визуализацию перемещения курсора или щелчков мыши. В документации проекта представлена видеогалерея с демонстрацией различных пользовательских шейдеров, поставляемых вместе с kitty;
-
исправлены ранее обнаруженные ошибки и баги, включая:
-
протокол буфера обмена: исправлена ошибка, из-за которой значение clipboard_max_size интерпретировалось в терабайтах (ТБ) вместо мегабайт (МБ);
-
macOS: исправлена проблема с перетаскиванием файлов, предоставляемых как «file promises» (обещания файлов), пути к которым уже не существуют. Теперь такие файлы сохраняются в течение десяти минут и удаляются при завершении работы kitty;
-
macOS: исправлена ошибка, из-за которой обработка всех сигналов навсегда отключалась после закрытия первого окна, использовавшего графический протокол. Это приводило к накоплению завершивших работу оболочек окон в виде процессов-зомби, а также нарушало перезагрузку конфигурации по сигналу SIGUSR1 и завершение работы по сигналам SIGINT/SIGTERM/SIGHUP;
-
macOS: исправлена потеря длинного текста, вводимого через методы ввода (input methods), если фиксация (commit) происходила вне события нажатия клавиши;
-
исправлена ошибка, из-за которой скрытие основного курсора с помощью последовательности DECTCEM приводило к скрытию и дополнительных курсоров;
-
macOS: разрешено методам ввода считывать текст вокруг курсора, что обеспечивает корректную работу методов ввода, автоматически вставляющих пробел между латиницей и текстом на языках CJK (китайском, японском, корейском);
-
графический протокол: устранена утечка файловых дескрипторов, которая могла быть вызвана действиями злонамеренных клиентов;
-
графический протокол: ответы на ошибки открытия файлов сделаны унифицированными, чтобы исключить утечку информации о файлах, доступ к которым не удалось получить;
-
edit-in-kitty: повышена надёжность кода, отвечающего за разбор сообщений от клиентов.
-

Источник: habr.com