E macsAir

Collecting frequent-committer miles

Transient 0.2 released

I am excited to announce the release of Transient version 0.2, consisting of 151 commits since the first release a year ago. The release notes can be found here (and are considered recommended reading).

The switch from Magit-Popup to Transient worked out pretty well. As the maintainer of Magit I find it much more pleasant to work with the new library and it has become much easier to deal with user requests for new infix arguments and suffix commands. That is no surprise as these were important goals that guided the improved design. I am also quite satisfied and also a little proud that Transient survived this past year without the need for any major architectural changes.

End-users also seem to take it well. Initially some users reported that they missed certain features they were used to from Magit-Popup. No surprise here either; I was expecting these reports. I had planned to permanently drop these features, but after enough users had voiced there concerns I ultimately changed my mind. (TL;DR (setq transient-enable-popup-navigation t) restores a lot of features.)

It is a little disappointing that many users keep on asking about things that are addressed by the previous announcement and the manual. But that’s the fate of authors of documentation—some users just ignore it, while [see below].

A few authors have begun to use Transient in their own packages, but not many, which was to be expected too. I was not exactly promoting it and am not unhappy about the slow adaption because I am in fact aware that the developer part of the manual isn’t that great. IMO it’s not bad per se, but it is highly technical and having an additional tutorial would certainly help. (Not least because this was holding back the next Magit release as well.)

Writing such a tutorial will take some time and that’s why it took me so long to create this release, I wanted to have the tutorial ready first. But it doesn’t look like I can find the time and motivation to do that any time soon, so I am releasing now anyway.

Until I have written a proper tutorial authors will have to rely on the manual and the numerous examples inside Magit’s code base. I have created a placeholder, please feel free to link to your own documentation from there.