Cute Chess 1.2.0 was released a week ago. What’s next?
Three years after 1.0.0, we have finally released Cute Chess 1.2.0. There were some 259 commits between the releases from 19 different contributors. The 1.1.0 release was “prepared” but not formally released. Put in other words: our release engineering needs some work.
For the 1.2.0 release, I contributed many changes to our continuous integration systems: we are now using GitHub Actions to build all commits, we have build definition files in place to use the Sourcehut build service and LGTM checks have been introduced to spot potential issues in changesets. I have outlined these changes in previous monthly status updates (October 2019, November 2019, March 2020). For the future, I would like Cute Chess to move closer to a “one release per commit” process where, for each commit, a full release build would be created. GitHub Actions can do this. However, the dependencies required to build Qt applications using GitHub Actions raise some security concerns so this is still under consideration.
Cute Chess 1.2.0 doesn’t introduce drastic user interface changes. In the future though I would like to move away from the rigid tab only window layout: currently it’s not possible to “tearaway” the individual game tabs to create new windows. The current design feels alien especially on MacOS where a multi-document paradigm is usually the expected behavior. One possibility to solve this problem (and many other dock window related issues), would be to port Cute Chess to use KDDockWidgets but this needs further research.
Cute Chess 1.2.0 brings the total number of supported chess variants to 701. The current UI is cumbersome to use with this many variants: all variants are presented in a single list without descriptions and there is no search functionality. I’m thinking that this could be improved using a command palette type list that is found in editors such as Visual Studio Code or Sublime Text.
Finally, between 1.2.0 and 1.0.0 we have received a number of reported issues but some of them lack the necessary details — such as reproduction steps — and are left stale. For going forward, we need better templates for issues and pull requests.