Many fixes and improvements, plus new stuff.
Changes
- core/backend: reset g_backend last in terminate to fix UAF by @UncleJ4ck in #67
- window/wayland: initialize appliedScale member by @UncleJ4ck in #61
- element/slider: normalize value to percentage in replaceData by @UncleJ4ck in #70
- core/backend: reset iconFactory and config in enterLoop by @UncleJ4ck in #72
- element/image: attach listener before enqueue to fix race by @UncleJ4ck in #71
- element/checkbox: make checkmark color reactive by @UncleJ4ck in #69
- renderer/gl: use sc/rc cast helpers by @UncleJ4ck in #60
- element/progressbar: add ProgressBar widget by @UncleJ4ck in #62
- element/textbox: fix password masking and cursor for utf-8 input by @UncleJ4ck in #74
- element/textbox: re-render on rebuild for password, placeholder, multiline by @UncleJ4ck in #75
- element: add imperative setters for textbox, text, and button by @UncleJ4ck in #76
- element/textbox: refresh label on first window-attached reposition by @UncleJ4ck in #77
- Fix header inclusion for cross-platform compatibility by @tagattie in #78
- renderer/gl: compute line thickness perpendicular in pixel space by @UncleJ4ck in #79
- element/checkbox: implement state and setState by @UncleJ4ck in #73
- core/animation: implement gradient animation by @UncleJ4ck in #68
- treewide: resolve TODO and FIXME markers by @UncleJ4ck in #57
- element/textbox: add clipboard copy/cut/paste by @UncleJ4ck in #80
- window/wayland: programmatic and interactive resize by @UncleJ4ck in #81
- element/radiogroup: add Radio style and coordinator by @UncleJ4ck in #63
- system/icons: skip already-parsed themes to break inherit cycles by @UncleJ4ck in #83
- element/button: add accent variant by @UncleJ4ck in #84
- element/textbox: add eye icon for password visibility toggle by @UncleJ4ck in #85
- element/textbox: hover cursor and highlight on the eye icon by @UncleJ4ck in #86
- element/button: add ellipsize option for long labels by @UncleJ4ck in #87
- tests/text: pin link color so the parse test is theme-independent by @UncleJ4ck in #90
- element/textbox: vertically center single-line selection highlight by @UncleJ4ck in #88
- core/wayland: route keyboard to the focused window, not the pointer one by @UncleJ4ck in #91
- element/scrollarea: add optional draggable scrollbar by @UncleJ4ck in #89
- element/text: fix size flicker at the ellipsize boundary by @UncleJ4ck in #94
- element/text: clamp ellipsize to the layout room hint, not the box by @UncleJ4ck in #95
- Re-render CImageElements on fitMode change by @Vruk11 in #96
- cmake/packaging: add auto pkg-config gen to CMakeLists by @Haku-taku in #99
- flake.lock: Update by @fxzzi in #100
- fix : update scanner api calls from proxy() to resource() by @kailong-chan in #102
- window: add keyboard shortcuts inhibitor option by @UncleJ4ck in #101
- system/icons: get theme dirs from environment by @BlueZeeKing in #103
- window/layer: implement set size by @BlueZeeKing in #104
- fix: Fix crash when explicit sync export fails by @Flisiu in #106
- layout: increment used space when an element shrinks or grows by @BlueZeeKing in #108
- Revert "layout: increment used space when an element must be shrunk or grown (#108)" by @BlueZeeKing in #109
- Fix constant rerender bug in icons by @BlueZeeKing in #110
- Make popups work on layer shells and fix incorrect cast by @BlueZeeKing in #114
- element/textbox: check if window is null in keyboard focus events by @BlueZeeKing in #115
- core: properly implement animations by @vaxerski in #119
- core: add an embedded backend by @vaxerski in #117
- element/text: do not cache preferred size by @BlueZeeKing in #122
- Small minor fixes by @vaxerski in #131
- core: migrate event loop to hyprutils by @vaxerski in #120
- A few more minor fixes by @vaxerski in #133
New Contributors
- @Vruk11 made their first contribution in #96
- @Haku-taku made their first contribution in #99
- @fxzzi made their first contribution in #100
- @kailong-chan made their first contribution in #102
- @BlueZeeKing made their first contribution in #103
- @Flisiu made their first contribution in #106
Full Changelog: v0.5.4...v0.6.0