Skip to content

Release March 28, 2026

Latest

Choose a tag to compare

Breaking Changes

  • Blend property on runtime objects (such as SpriteRuntime) is now nullable instead of returning Blend.Normal on an invalid BlendState assignment.
  • BindableGue Deprecated - Binding Moved to GraphicalUiElement - this unifies the syntax and makes it easier to work with visuals

For more information, code examples, and specific upgrade instructions, see https://docs.flatredball.com/gum/gum-tool/upgrading/migrating-to-2026-march

Biggest Changes

Hot Reload Support

Games which load .gumx files can now automatically hot-reload changes to the project. For details see https://docs.flatredball.com/gum/code/hot-reload

26_06 11 12

NineSlice Is Tiling Middle Sections Variable

NineSlices can now optionally tile the middle section sprites in tool and at runtime. For details see https://docs.flatredball.com/gum/gum-tool/gum-elements/nineslice/is-tiling-middle-sections

26_06 39 51

Gum CLI (link docs)

A new Gum CLI tool has been added and is available. This tool can simplify:

  • CI/CD validation of your Gum tools
  • Code generation, allowing users to update their generated code without running the tool
  • Exporting of PNG and SVG files
  • Integration with AI agents

More info: https://docs.flatredball.com/gum/cli/cli

New Grid Forms Control

A new Grid (Forms) control has been added for more advanced layout, similar to WPF's grid. More info: https://docs.flatredball.com/gum/code/controls/grid

23_10 11 48

New Width Units and Height Units

A new set of Width Units and Height Units have been added: Relative to Max of Children or Parent. This can be used to size an object according to both its parent and children, allowing multiple siblings to control the ultimate width of a parent while keeping the siblings all the same effective size. More info:

26_09 14 50

Gum Tool

  • X Axis and Y Axis lines are now vertical/horizontal, and red/green rather than a diagonal white line
  • Added variables on behaviors now show up under "Behavior Properties" category, fixing code gen issues and confusing variable grid missing text (thanks @kaltinril )
  • Added right-click lock menu item (thanks @kaltinril )
  • Added ability to move entire folders to other folders in the tree view (thanks @kaltinril )
  • Fixed multi+select, delete including mixed types like behaviors + instances (thanks @kaltinril )
  • Added ability to delete multiple empty folders (thanks @kaltinril )
  • Fixed multi+select instances, delete, select to delete children not deleting all children (thanks @kaltinril )
  • Added ability to import Gum components from a .gumx on disk or even from URL
  • Removing base components from project immediately updates project to display errors on derived components
  • Fixed situations when the Add Forms menu item doesn't show up because of residual files from previous Forms addition
  • Significant performance improvement when adding Forms controls
  • Adding forms controls no longer adds the unused InputDeviceSelectionItem, InputDeviceSelector, PlayerJoinView, PlayerJoinViewItem.
  • New forms controls all use V2 versions, reducing file sizes)
  • Tool no longer crashes on bad codsj file
  • Fixed copy/paste of parent with children when the children use slots instead of being attached directly to the parent
  • Fixed possible font generation crash for skia projects
  • Big improvements in rename logic - now the results of the rename are explicitly stated before the rename happens
  • Added support for the ! (not) operator in variable references
  • Relative codegen paths now show up as relative (../) to avoid confusion
  • File changes now show up much faster on the Gum tol
  • Reloads due to file changes on disk now preserve Screen/Component collapse/expanded state
  • File changes on disk now refresh errors
  • F2 can now be used to rename instances
  • Fixed default charset so that fonts that aren't latin generate correctly instead of falling back to arial
  • Fixed generation causing warnings on TextBox generation
  • Fixed TextureAddressMode combo box becoming an editable combo box, causing crashes due to string values being assigned
  • Variables can now be hidden from instances https://docs.flatredball.com/gum/gum-tool/variables/hide-from-instances
  • Fixed details text not appearing under lists of variables (such as variable references or polygon points)
  • Fixed components not displaying correctly when inheriting from polygons
  • Removed a number of variables from default forms controls to avoid confusion when trying to set children layout at the top level
  • Added export to SVG support
  • Missing standard elements no longer crash the Gum tool
  • Added new Skia line support
  • Importing component immediately updates errors
  • Improved font generation when changing core values - now updates propagate properly through variable references and through instance values
  • First pass KernSmith integration into Gum tool - bigger announcement to come next month
  • Fixed BBCode not re-evaluating fonts when font values change through tags and the base font is changed

Gum Runtimes

  • Fixed ambiguous string.Split call causing raylib compile errors (thanks @profexorgeek )
  • Removed mip rendering of textures on NineSlices and other types
  • Clip regions now render correctly when viewports have non-0 X or Y
  • Fixed items added to combo boxes through the gum tool not being treated as items at runtime
  • Forms controls now support localization and non-localized text assignment. See https://docs.flatredball.com/gum/code/localization#forms-control-localization
  • Fixed GetParentByType recursive stack overflow (thanks @mfigueirido )
  • Better error messages when attempting and failing to load fonts due to Gum not being initialized
  • Unified raylib and XNA-like TextRuntime class for easier maintenance in the future
  • Added null checks on ListBox to prevent NullReferenceException when trying to get the selected index (thanks @profexorgeek )
  • AddToRoot now has a more informative error if called before Gum is initialized
  • Added ability to uninitialize Gum service to start it completely from scratch
  • Fixed broken tabbing on KNI projects
  • Fixed case sensitivity issues when loading fonts to make Gum handle case sensitive OS's better, or case sensitive settings on Windows
  • FNA keyboard reading now considers OS settings for localization
  • Fixed missing shader XNB files on linux + kni
  • Added support for index binding https://docs.flatredball.com/gum/code/binding-viewmodels/advanced-binding-options#index-based-binding
  • Fixed TextBox letting you type beyond max letters
  • Removed typeof/reflection calls for V2/V3 visual instantiation, so Gum doesn't crash when stripping unused types
  • Added ToggleButton to V3 visuals
  • Prep work for using KernSmith for dynamic font gen (not available yet)

Full Changelog: PreRelease_February_23_2026...Release_March_28_2026