Newsletter, January 2023
Incremental Improvement

After the enormous pile of features that landed in December, January was a quiet month. We hummed along fixing bugs, adding some small features, and thinking about the future.

I’m pondering how to style text in core widgets like the editor and label, and Elias is thinking about how to improve the layout API. Nothing is ready to share yet, but I’m excited for the next few months!


This month, Gio thanks the following organizations and community members for their ongoing support!

Supporting the whole team:

Supporting a maintainer:

Sponsorship money given to Gio enables Elias and I to cover the costs of running Gio’s infrastructure, to pay for some of our time spent maintaining and improving Gio, and to plan for funding significant feature work. You can support Gio by contributing on OpenCollective or GitHub Sponsors.

Changes by repo

Below you can find summaries and details of all changes across the official project repositories.

core gio

Core saw some incremental widget improvements and bugfixes this month. Gordon improved the slider widget and moved some presentation-related fields to the style type instead of the state. Elias fixed some bugs, and Egon fixed a stroke rendering problem.

Breaking changes:

Gordon Klaus:

  • widget/material: [API] move widget.Float.{Axis,Invert} into material.SliderStyle. db6b4de0

Non-breaking changes:

Gordon Klaus:

  • widget/material: add Float.Invert. 22aa00f4

Elias Naur:

  • gpu/internal/rendertest: add issue references to broken tests. References: #479 32c6a9b1
  • app: [Android] sanitize IME snippet bounds. Fixes: #473 ac2c284d

Egon Elbre:

  • internal/stroke: fix line overlap. When the line overlaps itself backtracking exactly, e.g. bce41536
  • gpu/internal/rendertest: fix alphaClose check. Apparently, alphaClose has been overflowing and giving the wrong answer for a while and hence some of the tests are broken. I currently disabled those tests, because I’m not quite sure where and how they broke. 14a33f3c

Larry Clapp:

  • widget: add a Focus() method to widget.Clickable. e0cf5703


Sebastien contributed a new multi-file-selection method to along with an initial implementation for Linux.

Sebastien Binet:

  • explorer: implement ChooseFiles for Linux. e4e582a
  • explorer: introduce ChooseFiles to select multiple files. This CL introduces a new API, ChooseFiles, to allow users to select multiple files through the native mecanism to do so. abf2811
  • explorer: fix comment stemming from deprecated API. e9435b4
  • explorer: apply goimports+gofmt. f6d7d86