- Added MaxValue getter to Scrollbar
- Added ScrollbarMaxValue getters to widgets with a scrollbar
- Added getPixelsPerPoint() to BackendRenderTarget
- Replace VerticalScroll with Orientation in Slider, Scrollbar and SpinButton
- Multiple fixes to EditBoxSlider widget
- New backend: raylib
- New widget: EditBoxSlider (PR #238)
- All widgets can now be configured to ignore mouse events
- Added HorizontalLayout and VerticalLayout to replace widget-specific enums
- Added method to associate user data to combo box items
- Added onWindowFocus and onWindowUnfocus signals
- Renamed isKeptInParent to getKeepInParent in ChildWindow
- Renamed limitTextWidth to setTextWidthLimited in EditBox
- String::fromNumber now supports int8_t (but no longer accepts pointers)
- BackendTextureSFML::getInternalTexture() now returns a pointer
- BackendFontSFML::getInternalFont() now return a pointer
- Added Theme::replace function
- Added TreeView::changeItem function
- Added TreeView::getNode function
- Added ignoreMouseEvents function to canvas widgets
- Added Panel::setEventBubbling to enable more intuitive event propagation
- Replaced getWidgetAtPosition with getWidgetAtPos
- getWidgetBelowMouseCursor was given a parameter for recursive search
- Textures with different part rects were incorrectly considered equal
- showWithEffect didn't show widget if a hide animation was still playing
- Setting opacity of a SubWidgetContainer didn't work
- SubWidgetContainer didn't support show/hide animations
- Added AutoLayout that lets widget fill entire side of parent
- Any column in ListView can now be auto-sized and expanded
- Added methods for arrow key navigation between widgets
- Added getColumnDesignWidth function to ListView
- Added TextOutlineColor and TextOutlineThickness to ProgressBar renderer
- MiddleRect of Texture can now be changed after loading
- Hover state is now reset when mouse leaves the window
- Added PanelListBox widget (PR #193)
- FileDialog can now create new folders (PR #192)
- Added MessageBox::changeButtons to set multiple buttons at once (PR #215)
- Added methods to ScrollablePanel to check if scrollbar is currently shown (PR #213)
- Pressing the tab key can now insert custom text in TextArea (PR #211)
- Widgets in SubwidgetContainer didn't inherit the font of the container (PR #208)
- Added onCaretPositionChange, getCaretLine() and getCaretColumn() to TextArea (PR #207)
- Added onCaretPositionChange signal to EditBox (PR #206)
- Added missing getSignal() functions to TabContainer and SpinControl (PR #204)
- BoxLayout::setWidgetIndex didn't immediately update the positions (PR #203)
- Added tab alignment and fixed tab size to TabContainer (PR #174)
- Added SDL_Renderer, GLFW/OpenGL and SFML/OpenGL backends
- Added RichTextLabel widget
- Support two finger scrolling on touch screens
- Added font scaling to keep text sharp while view is smaller than window size
- Textures can now be loaded from base64 string
- ListView columns can now be resizable
- ListView icons can also be saved in form file
- Position of text in buttons can now be changed
- Added changeMenuItem function to MenuBar to change the text of a menu
- Added SizeHorizontal and SizeVertical mouse cursors
- Added hasUserData to Widget
- Added LabelAlignment and ButtonAlignment to MessageBox
- Added ScrollbarValue to Label
- Theme files now support global properties
- Theme files now support inheritance between sections
- Improved scrolling with nested scrollbars
- Added UseWideArrows property to SpinControl
- Added moveWithAnimation and resizeWithAnimation functions to Widget
- Added case-insensitive variants of startsWith and endsWith to String
- Tool tips are now shown on disabled widgets by default
- Word-wrapped lines no longer begin with whitespace
- IME pre-edit window will be positioned next to the text cursor on Windows
- Typing in FileDialog now selects the first file starting with the typed letter
- Added getWindow() function to Gui
- handleEvent now always returns true for scroll events when mouse is on top of a widget
- onFileSelect signal in FileDialog is no longer called on cancel
- Renamed onSelectionChanged to onSelectionChange in TabContainer
- TabContainer now inherits from Container instead of SubwidgetsContainer
- Removed padding from RadioButtonGroup
- Black, BabyBlue and TransparentGrey themes can now be used for all widgets
- ClientSize of ChildWindow can now be a layout instead of only a constant
- TextSize can now also be set in theme file
- Many bug fixes and minor improvements
See the website for changelogs of older releases: https://tgui.eu/changelog/