Публикувана е версия на проекта Cambalache 0.10.0, който развива инструмент за бърза разработка на интерфейси за GTK 3 и GTK 4, използващ MVC парадигмата и философията на първостепенно значение на данните. За разлика от Glade, в Cambalache се предоставя поддръжка за управление на няколко потребителски интерфейса в един проект. Кодът е написан на Python и се предоставя под лиценз LGPLv2.1. За инсталация е наличен пакет в flatpak формат.
Cambalache не зависи от GtkBuilder и GObject, но предоставя модел на данни, който съответства на системата от типове GObject. Моделът на данни може да импортира и експортира няколко интерфейса наведнъж, поддържа обекти, свойства и сигнали на GtkBuilder, предлага стек за връщане на операции (Undo / Redo) и възможност за компресиране на историята на командите. За генериране на модела на данни от gir файлове се предоставя утилитата cambalache-db, а за генериране на класове GObject от таблиците на модела на данни — утилитата db-codegen.
Интерфейсът може да се генерира на базата на GTK 3 и GTK 4, в зависимост от версията, определена в проекта. За осигуряване на поддръжка на различни версии на GTK, образуването на работна среда се извършва с помощта на backend Broadway, който позволява рендериране на изхода на библиотеката GTK в прозорец на уеб браузър. Основният процес на Cambalache предоставя обвивка на базата на WebKit WebView, в която с помощта на Broadway се предава изхода от процеса Merengue, който директно се занимава с рендериране на интерфейса, създаден от потребителя.

В новото издание:
- Добавена е поддръжка на библиотеките libAdwaita и libHandy, предлагащи набор от компоненти за стилово оформление на потребителския интерфейс, съответстващи на насоките на GNOME HIG.
- Добавена е поддръжка за определяне на нови обекти директно (Inline) в блока със свойства на друг обект, без използване на референции.
- Добавена е поддръжка за определяне на специален дочерен тип, използван например в заглавния виджет на прозореца.
- Добавена е поддръжка за прегрупиране на позициите на дочерните елементи.
- Добавена е поддръжка за избираеми и флагови типове за GdkPixbuf, Pango, Gio, Gdk и Gsk.
- Добавен е преводът на интерфейса на украински език.
- Предложени са нови редактори на свойства.

Източник: opennet.ru

