Після трьох місяців розробки подано реліз багатоплатформного тулкіта для створення графічного інтерфейсу користувача - GTK 4.2.0. GTK 4 розвивається в рамках нового процесу розробки, який намагається надати розробникам додатків стабільний та підтримуваний протягом кількох років API, який можна використовувати не побоюючись, що кожні півроку доведеться переробляти програми через зміну API у черговій гілці GTK.
У новому випуску в основному усунуті недоліки та внесені покращення в API, засновані на відгуках розробників, що портували свої програми на GTK4. З найбільш замінних поліпшень у GTK 4.2 можна відзначити:
- Доданий NGL renderer, новий движок відтворення через OpenGL, який за замовчуванням задіяний у Linux, Windows та macOS. NGL renderer забезпечує більшу продуктивність при зниженні навантаження на CPU. Для повернення старого движка малювання слід запустити програму зі змінною оточення GSK_RENDERER=gl.
- Перероблено обробку послідовностей Compose і німих клавіш, що змінюють вигляд наступного символу.
- Реалізовано можливість використання GTK у формі підпроекту в складальній системі Meson, що дозволяє збирати GTK та всі його залежності у складі складального оточення власної програми, а також отримати всі складальні артефакти для постачання разом зі своїм додатком, використовуючи обраний інструментарій.
- Поліпшено підтримку компіляції GTK для Windows і macOS з використанням рідних для даних платформ інструментаріїв.
- Перероблена документація на API, для формування якої задіяний новий генератор gi-docgen, що видає більш зручне представлення інформації, включаючи кнопки для додавання прикладів коду буфер обміну, наочне представлення ієрархії предків та інтерфейсів кожного класу, список успадкованих властивостей, сигналів і методів класу. Інтерфейс підтримує пошук на стороні клієнта та автоматично адаптується до різних розмірів екрана. Для документації запущено новий сайт docs.gtk.org, на якому також запропоновано супутні посібники з інтроспекції GObject, Pango та GdkPixbuf.
- Оптимізовано продуктивність різних компонентів, починаючи з задіяних при малюванні шейдерів GLSL і закінчуючи об'єктами для людей з обмеженими можливостями.
- Реалізовано субпіксельне позиціонування тексту під час використання нових версій бібліотеки Cairo.
- Забезпечено адаптивне компонування інтерфейсу для вибору emoji.
- Поліпшено підтримку розширення протоколу Wayland для управління введенням.
- Підвищена продуктивність прокручування у віджеті перегляду тексту.
- Покращено відмальовування тіней у віджетах (popover).
Джерело: opennet.ru