Friday, November 25, 2016

Plans for MATE 1.18

Since Cinnamon 3.2 packages are done, now i can shift my focus towards future MATE 1.18. The goal of MATE 1.18 will be a complete transition to GTK+3 and so far, the upstream developers have done a great job on doing it. By moving to fully GTK+3, they can focus on introducing new features that are impossible to deliver while having to support the old GTK+2 and new GTK+3 toolkit.

The current plan is deliver MATE 1.18 on December 2016. It's an ambitious plan, but we hope it can be met and if the target is achieved, MATE 1.18 will be included in the next Debian 9.0 "Stretch". That's the optimistic plan. The fallback plan will be around January/February.

Since GTK+3 have many releases and different distribution ship different version of GTK+3, it's already agreed that the minimum GTK+3 supported is 3.14. GTK+3 will no longer be updated for major releases as they are now working towards GTK+4 and GTK+3 3.22 will be the last version for 3.x branch while minor and micro releases may still be around for the next 3 years. Read Matthias Clasen's blog post for more information about the versioning. Hopefully when all distribution already shipped the last GTK+3 3.22 for their distributions, MATE development can progress rapidly.

At this moment, these MATE components have been migrated to GTK+3: engrampa, mate-notification-daemon, mate-polkit, mate-session-manager, mate-terminal, mate-system-monitor, and mozo. In future 1.18, ALL MATE components will be migrated to GTK+3. In order to help the migration, upstream developers have switched to 1.17 numbering scheme to denote the development release. You can check the released tarballs here: http://pub.mate-desktop.org/releases/1.17/. They are no longer built against GTK+2, but GTK+3. Upstream also managed to get rid of libunique dependency and switch to GtkApplication.

I already built all those tarballs here locally on my desktop and so far, everything works just as before. There's no major differences between 1.16 and 1.17 in terms of functionality, but you will see some slight changes in the appearance due to toolkit changes. I have also prepared a local branch which contains all the changes to build MATE 1.17, but i haven't pushed it yet since i'm going to wait for upstream to upload all the tarballs for 1.17. Once they are released, i will push the branch to github and people can start testing it. As always, i will also publish binary packages for testing purposes.

Looking back in history, Slackware 14.0 got 1 MATE release (1.6) while Slackware 14.1 got 4 MATE releases (1.6, 1.8, 1.10, 1.12). Slackware 14.2 already got 2 MATE releases (1.12 and 1.14) and i guess it will have more MATE releases than Slackware 14.1.