Skip to content

v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Nov 20:38
· 25 commits to main since this release
7f563aa

Blog post https://freyaui.dev/posts/0.5

What's Changed

πŸ“ Documentation

🧰 Maintenance

Other Changes

  • chore: Dont enable os-dependant features in workspace by default by @marc2332 in #2016
  • fix(components): Select all text on double click in Input with masked text by @marc2332 in #1989
  • chore(core): Add style_data method to set an element's data by @marc2332 in #2052
  • fix(core): Emit all file events files all at once by @marc2332 in #2066
  • chore: Clarify clone instructions by @marc2332 in #2068
  • feat(core): Change main_align and cross_align to take Γ¬mpl Into<Alignment> by @marc2332 in #2060
  • fix(components): Export AssetAge by @marc2332 in #2025
  • chore(core): Export EventHandlers type by @marc2332 in #2058
  • feat(components): Implement ContainerWithContentExt for Skeleton by @marc2332 in #2059
  • fix(components): Card spacing and padding by @marc2332 in #2063
  • fix(components): More reliable context menu closing by @marc2332 in #2067
  • feat(components): Per item virtual scroll view sizing by @marc2332 in #1985
  • Add docs lifecycle tasks by @aspnxdd in #2073
  • fix(core): Prevent borrow when reseting scopes after hot reload by @marc2332 in #2051
  • fix(components): Hide scrollbar and thumb when its smaller than the minimum by @marc2332 in #2037
  • feat(components): Flexibilize Tooltip by @marc2332 in #2056
  • fix(core): Handle a11y auto focus separately from focus requests by @marc2332 in #2065
  • chore(winit): Switch from hooking to catch unwind by @marc2332 in #2000
  • fix(components): Implement VirtualScrollView min/max width/height by @marc2332 in #2032
  • remove rust toolchain from nix devshell by @RobertasJ in #2075
  • chore: Move rendering backend features selection to freya-winit by @marc2332 in #2079
  • fix(core): Make blur work with opacity by @marc2332 in #1983
  • feat(core): More ergonomic children api by @marc2332 in #2074
  • feat(terminal): Focus reporting by @marc2332 in #2080
  • feat(core): Allow changing the scale factor of the app dynamically and at window config by @marc2332 in #2082
  • feat(core): More accurate cursor rendering in special characters by @marc2332 in #2034
  • feat(core): Better CornerRadius api by @marc2332 in #2077
  • fix(components): Adjust drag offset according to the dragging element size by @marc2332 in #2086
  • feat(components): DragZone::enabled by @marc2332 in #2088
  • fix(core): Differenciate scopes with the same key but different component type by @marc2332 in #2084
  • feat(terminal): Better defaults and allow passing multiple font families preferences by @marc2332 in #2093
  • feat(components): LayerExt and EventHandlersExt for SelectableText by @marc2332 in #2106
  • fix(freya): Proper features reexport of lucide icons by @marc2332 in #2108
  • chore(core): Default impl for rect, label and paragraph by @marc2332 in #2109
  • feat(core): Add `Color::with_af32 by @marc2332 in #2119
  • feat(query): Add err getters by @marc2332 in #2113
  • fix(winit): Better error handling in vulkan driver by @marc2332 in #1991
  • fix(winit): Better Opengl error handling by @marc2332 in #2091
  • chore(winit): Better GPU picking by @marc2332 in #2117
  • feat(components): Input::scroll_enabled by @marc2332 in #2122
  • feat(query): Automatic Into<Mutation> conversion by @marc2332 in #2115
  • fix(components): Dont make Input capture Shift as ScrollView uses it for scrolling by @marc2332 in #2123
  • fix(core): Render cursor when text is completely empty by @marc2332 in #2125
  • feat(perfomance-plugin): Async tasks metrics by @marc2332 in #2033
  • feat(core): Reactive use_future by @marc2332 in #2110
  • fix(core): Reset scope when component with the same key changes its type by @marc2332 in #2129
  • fix(winit): Release all pressed keys on lost window focus by @marc2332 in #2131
  • chore(core): Custom rendering ticker notifier by @marc2332 in #2130
  • fix(core): Cursor should render in new line if current line ends with line breaks by @marc2332 in #2132
  • fix(edit): Fix arrow down clamp, and add home/end movement by @marc2332 in #2134
  • feat(components): Snap context menu origin by @marc2332 in #2138
  • feat(winit): set main window title as a11y label by @bitfehler in #2133
  • chore: Track Cargo.lock by @marc2332 in #2142
  • fix(components/radio): Enable necessary features in dev for tests by @marc2332 in #2141
  • fix(core): Dont clip shadows in elements with overflow clip and overlay level by @marc2332 in #2140
  • fix(components): Button::secondary_down should run on down not press by @marc2332 in #2136
  • feat(core): try_read, try_write, try_peek, + unchecked by @marc2332 in #2139
  • Swap alacritty_terminal for rio-vt in freya-terminal by @raphamorim in #2116
  • feat(components): Portal animation dependency by @marc2332 in #2087
  • chore(core): Derive Clone on buit-in elements by @marc2332 in #2156
  • fix(components): Only render popup when background is visible by @marc2332 in #2155
  • fix(freya): Reexport LaunchProxy by @marc2332 in #2154
  • feat(edit): Ctrl + Backspace / Delete by @marc2332 in #2064
  • feat(query): Query mocking by @marc2332 in #2083
  • feat(core): GlobalContext context for all windows to share lazy-initialize reactive state between each other, for features like i18n or queries storage by @marc2332 in #2111
  • feat(components): Implement ChildrenExt in DragZone and DropZone by @marc2332 in #2151
  • feat(query): Disable queries by passing None to the keys by @marc2332 in #2114
  • fix(query): Prevent query clear race by @marc2332 in #2149
  • fix(components): Stop click press propagation on Switch by @marc2332 in #2152
  • chore(animation): Make sync use_animation_with_dependencies by @marc2332 in #2158
  • fix(animation): Request redraw after advancing animation by @marc2332 in #2161
  • feat(components): Scroll input into cursor by @marc2332 in #2160
  • feat(core): Move mouse on scroll by @marc2332 in #2159
  • chore(devtools): Change interface to 0.0.0.0 by @marc2332 in #2162
  • chore(deps): Bump freya-skia-safe to v0.99 by @marc2332 in #2163
  • feat(components): Slider step by @marc2332 in #2145
  • chore(components): Fix progress bar % to 2 decimals by @marc2332 in #2170
  • feat(core): spawn_in_scope by @marc2332 in #2171
  • chore(core): More core benchmarks by @marc2332 in #2165
  • fix(torin): Fix benchmark by @marc2332 in #2185
  • fix(components): Properly exclude inner marging from pointer events in Input by @marc2332 in #2173
  • fix(core): Break the press combos after dragging by @marc2332 in #2174
  • fix(core): Dont early return on task polling if there are dirty scopes by @marc2332 in #2175
  • fix(core): Separate global context by @marc2332 in #2183
  • feat(winit/testing/core): Dynamic font loading by @marc2332 in #2172
  • chore: Remove unused deps by @marc2332 in #2187
  • chore(core): Add track caller for context getters by @marc2332 in #2186
  • chore(pathgraph): Some optimizations by @marc2332 in #2166
  • fix(core): More robust insertion of elements with moved parents by @marc2332 in #2150
  • fix(core): Announce a11y text on isolated (that are not wrapped) elements like label and paragraph by @marc2332 in #2189
  • chore(ci): Tangled sync by @marc2332 in #2190
  • perf(core): Cache computed clip areas on render pipeline as they are deterministic by @marc2332 in #2188
  • chore(core): Diffing optimizations by @marc2332 in #2167
  • feat(core): on_visible by @marc2332 in #1997
  • feat(components): Lazy by @marc2332 in #2168
  • feat(core/edit): Proper vertical cursor navigation on multi line single paragraphs by @marc2332 in #2176
  • fix(core): Wrapped line clicks should land on their clicked lines not the next below by @marc2332 in #2177
  • feat(components): Multi line input by @marc2332 in #2192
  • fix(core): Proper text gradient without clipping by @marc2332 in #2193
  • chore(components): Some style and animation adjustements to Select and MenuItem by @marc2332 in #2194
  • feat(core): Per element cursor styling by @marc2332 in #2089
  • feat(borderless-plugin): Add freya-borderless-plugin by @marc2332 in #2181
  • perf(torin): Scale layout nodes incrementally based on mutations rather than on measuring phase by @marc2332 in #2184
  • feat(core): Opt-in snap images by @marc2332 in #2137
  • chore(website): Optimize serving by @marc2332 in #2195
  • chore(deps): Bump rio-vt to 0.5.26 by @marc2332 in #2196
  • perf(core): Skip noop opacity layers and join the rest by @marc2332 in #2210
  • fix(components): Capture slider drag by @marc2332 in #2211
  • chore(ci): Audit CI by @marc2332 in #2220
  • feat(core): is_finished for Tasks by @marc2332 in #2227
  • feat(components): Allow passing scrollbar themes in Scrollviews by @marc2332 in #2226
  • feat(winit): Getter for current window id by @marc2332 in #2197
  • feat(winit): Renderer preference by @marc2332 in #2203
  • chore(winit): Relax windows hooks bounds by @marc2332 in #2235
  • feat(winit): LaunchConfig::with_global by @marc2332 in #2222
  • fix(components): Select a11y closing, round 2 by @marc2332 in #2212
  • feat(core): Letter spacing by @marc2332 in #2209
  • fix(query): Dont borrow across await when running queries and mutations by @marc2332 in #2208
  • fix(core): Scale color opacity in with_a by @marc2332 in #2237
  • fix(ci): Build with static CRT on Windows's build example workflow by @marc2332 in #2229
  • chore(ci): Deps report by @marc2332 in #2201
  • fix(core): Dont drop cache values still in use in LRUCache by @marc2332 in #2231
  • fix(borderless) Disable rounding if window is maximized by @marc2332 in #2242
  • fix(router): Guard outlet's context providing for hotreload by @marc2332 in #2234
  • feat(web): freya-web by @marc2332 in #2206
  • feat(web): Proper typing by @marc2332 in #2214
  • feat(componets): Touch dragging by @marc2332 in #2216
  • feat(components): Smooth scrolling by @marc2332 in #2217
  • feat(core): TargetPlatform, runtime platform detection by @marc2332 in #2218
  • feat(core): Opt-in scoped event handlers by @marc2332 in #2230
  • feat(borderless-plugin): Shadows by @marc2332 in #2243
  • fix(borderless): Only render shadow on wayland and when not maximized / tiled by @marc2332 in #2244
  • chore(ci): Rework release process by @marc2332 in #2219
  • fix(core): Keep stored in the intrinstic a11y id to use it for when elements stop overriding it by @marc2332 in #2247
  • fix(winit): Skip opengl emulation drivers and bound software rendering frames manually on Windows by @marc2332 in #2241
  • feat(components): Adaptive popups sizing by @marc2332 in #2245
  • feat(winit): Platform::post_render_callback by @marc2332 in #2199
  • feat(terminal): Custom terminal backends by @marc2332 in #2238
  • feat(borderless-plugin): Remove custom shadow by @marc2332 in #2246
  • chore(performance-plugin): Revamp overlay by @marc2332 in #2249
  • fix(borderless): Canvas clip by @marc2332 in #2252
  • fix(components): Missing theme methods for Table by @marc2332 in #2251
  • fix(winit): Renderer-level clipboard by @marc2332 in #2240
  • perf(core): Skip work in runner and tree if nothing changed by @marc2332 in #2254
  • feat(freya): Opt-in software-only renderer by @marc2332 in #2081
  • feat(core): Font features by @marc2332 in #2255
  • fix(deps): update dependency astro to v7 [security] by @renovate[bot] in #2256
  • fix(performance-plugin): Track closing windows by @marc2332 in #2258
  • chore(components): Make canvas element clip by default by @marc2332 in #2266
  • chore(core): Improve text selection contrast by @marc2332 in #2262
  • chore(ci): use letmerelease by @marc2332 in #2263
  • fix(winit): Avoid double throttle on vulkan + wayland by @marc2332 in #2260
  • feat(winit): Winit window dragging movement threshold by @marc2332 in #2257
  • chore: Revamp web demo gallery by @marc2332 in #2261
  • chore(core): Debug impls for EventHandler, Callback and NoArgCallback by @marc2332 in #2278
  • chore(winit): Log open errors by @marc2332 in #2275
  • feat(components): Custom overflow for resizable panel by @marc2332 in #2274
  • fix(components): Type-aware events combos by @marc2332 in #2272
  • feat(core): Non static read and writes in state by @marc2332 in #2279
  • faet(winit): Better GPU Resources cache limit management by @marc2332 in #2286
  • chore(components): More resilient virtual scroll view test by @marc2332 in #2285
  • fix(core): Update cursor icon regardless of trigger event by @marc2332 in #2283
  • fix(core): Move cursor to effect data by @marc2332 in #2273
  • feat(metrics-plugin): Revamp by @marc2332 in #2287
  • feat(winit): Opt out of a11y backend by @marc2332 in #2288
  • chore(docs): Remove debris vulkan feature by @marc2332 in #2292
  • feat(code-editor): Flexibilize CodeEditor by @marc2332 in #2228
  • chore(components): Refactor scroll controller by @marc2332 in #2268
  • feat(web): Optimize wasm blob by @marc2332 in #2296
  • feat(core): with by @marc2332 in #2271
  • chore(core): Improve docs for Platform by @marc2332 in #2294
  • chore(ci): Bump letmerelease to 0.1.4 by @marc2332 in #2293
  • fix(core): Proper support for padding in label and paragraph by @marc2332 in #2281
  • chore(components): Bounded controlled scroll by @marc2332 in #2295
  • feat(components): Flexibilize Table by @marc2332 in #2270
  • chore(metrics): Switch to debug logs by @marc2332 in #2305
  • chore(ci): Bump hotpath to 0.26 by @marc2332 in #2291
  • feat(core): Rename blur to backdrop_blur and add image blur by @marc2332 in #2307
  • fix(winit): Share vulkan context between windows by @marc2332 in #2301
  • chore(docs): Remove components embedded previews by @marc2332 in #2303
  • fix(freya): Typo in font docs by @marc2332 in #2317
  • feat(components): Show Text cursor in SelectableText always by @marc2332 in #2316
  • chore(components): Revamp Scrollbar styling by @marc2332 in #2265
  • feat(components): Allow custom scrollbars by @marc2332 in #2298
  • chore(core): Add sparse reorder benchmark by @marc2332 in #2318
  • chore(docs): Custom elements by @marc2332 in #2311
  • feat(components): Better async rasterization API for SvgViewer by @marc2332 in #2309
  • chore(website): Optimize deploys by @marc2332 in #2321
  • chore: Switch to mbx by @marc2332 in #2312
  • feat(winit): Load variable fonts weights by @marc2332 in #2310
  • feat(winit): Per platform text gamma and contrast by @marc2332 in #2314
  • feat(html): Replace freya-webview with Blitz-powered freya-html by @marc2332 in #2157
  • chore(website): More strict path filter on website deploys by @marc2332 in #2329
  • fix(html): More robust latest stylesheet test by @marc2332 in #2328
  • chore(engine): Reexport Size by @marc2332 in #2326
  • chore(freya): Reexport torin by @marc2332 in #2325
  • chore(html): Move freya-html example to its own crate by @marc2332 in #2324
  • chore(core): Make Border::is_visible public by @marc2332 in #2330
  • feat(components): More layout customization on ResizableContainer by @marc2332 in #2323
  • chore(ci): hotpath cloud by @marc2332 in #2332
  • fix(core): Use span text style for font families in paragraph spans by @marc2332 in #2334
  • chore(torin): Const methods by @marc2332 in #2331
  • chore(core): Rename global event press to global event up and clarify event docs by @marc2332 in #2322
  • fix(core/winit): Platform-level exit event instead of move when cursor leaves window by @marc2332 in #2335
  • fix(core): Use text bounds for text gradients and shaders by @marc2332 in #2336
  • fix(components): Fix Input not always following cursor when typing and overflowing past size by @marc2332 in #2338
  • chore(components): Fix flaky VirtualScrollView test by @marc2332 in #2341
  • fix(website) Bump emsdk to v5.0.0 by @marc2332 in #2343
  • chore(deps): Hotpath 0.27 by @marc2332 in #2344
  • feat(metrics): Show window size in performance overlay by @marc2332 in #2346
  • feat(winit): Manual vsync fallback in OpenGL for Windows by @marc2332 in #2345
  • chore(deps): hotpath 0.28 and configure CI by @pawurb in #2353
  • feat(edit): Whole-word text selection dragging by @marc2332 in #2349
  • fix(ragnarok): Also consider movement if no enter is available, to emit the leave event by @marc2332 in #2350
  • chore(core): Render benchmarks by @marc2332 in #2357
  • feat(core): Split StyleExt into DecorationExt and BackgroundExt by @marc2332 in #2359
  • chore(nix): add android shell by @marc2332 in #2358
  • chore(core): Remove canvas in favour of Fill::Callback by @marc2332 in #2327
  • feat(core): Implement IntoReadable for Readable and IntoWritable for Writable by @marc2332 in #2361
  • feat(animation): Allow custom easing functions by @marc2332 in #2363
  • feat(components): Flexible calendar components by @marc2332 in #2339
  • feat: elements_at for HtmlHandle by @SpikeHD in #2366
  • chore: Add alsa to nix flake by @marc2332 in #2370
  • chore: Remove CLAUDE.md by @marc2332 in #2378
  • feat(website): Revamp by @marc2332 in #2320
  • feat(pathgraph): no_std support by @marc2332 in #2374
  • chore(docs): Split crates list in contributing guide by @marc2332 in #2373
  • feat(winit): Prefer Integrated GPUs by default over Discrete, on Vulkan by @marc2332 in #2372
  • chore(ci): Parallel by @marc2332 in #2381
  • feat(ragnarok): no_std by @marc2332 in #2375
  • fix(components): Fix flaky scroll vew scrollbar test by @marc2332 in #2384
  • feat(core): cursor_visible by @hgourvest in #2382
  • fix(devtools): Remove unnecessary multithread shenanigans by @marc2332 in #2383
  • feat(html): ResourceCache for HTMLViewer by @marc2332 in #2367
  • feat(components): Opt-out auto hide of scrollbars by @marc2332 in #2386
  • fix: Update to freya-skia-safe 0.104.0 by @marc2332 in #2387
  • feat(core/winit): Respond to accesskit action requests by sending an event to the elements by @marc2332 in #2379
  • chore: Nightly tests and coverage by @marc2332 in #2388
  • feat(core): Split spawn_forever in spawn_in_window and spawn_global by @marc2332 in #2352
  • feat(core/winit): Split Platform into Platform and PlatformWindow by @marc2332 in #2354
  • feat(core): Global effects by @marc2332 in #2371
  • feat(winit): WindowConfig::with_context by @marc2332 in #2369
  • chore: Bump rust to 1.99 by @marc2332 in #2362
  • fix(ci): Update nightly tests with the platform api changes by @marc2332 in #2391
  • fix(winit): Disable gtk locale by @marc2332 in #2392
  • fix(winit): Revert preferred gpu to dGPU in Vulkan in Linux by @marc2332 in #2395
  • chore(core): Rename render benchmarks to paint by @marc2332 in #2399
  • chore(ci): Permissions read for workflows by @marc2332 in #2398
  • chore(core): More idiomatic rust extensions data getters by @marc2332 in #2396
  • chore(html): Update to Blitz 0.3.0-beta.3 by @marc2332 in #2401
  • fix: RUSTSEC-2026-0341 by @marc2332 in #2405
  • feat(torin): no_std by @marc2332 in #2403
  • fix(audit): Bump rustls to 0.23.46 by @marc2332 in #2409
  • fix(components): Fix flaky virtualscrollview test by @marc2332 in #2413
  • chore(ci): cargo-deny by @marc2332 in #2411
  • fix(core): Process requested focus on tree initialization by @marc2332 in #2423
  • feat(winit): Manual frame throttling for all platforms using software rendering by @marc2332 in #2417
  • feat(core): Custom text paint by @marc2332 in #2397
  • chore(ci): Build scripts list in cargo-deny by @marc2332 in #2418
  • fix(winit): Request alpha size 8 bits in opengl on Android for backblur to work by @marc2332 in #2419
  • chore: Remove unused deps by @marc2332 in #2420
  • chore(core): tiny-notify and tiny-cache by @marc2332 in #2408
  • feat(core): Color brigthness API by @marc2332 in #2422
  • feat(core): Expose scale factor in fill render callback by @marc2332 in #2427
  • fix: Bump webpkit-roots to 1.0.10 by @marc2332 in #2429
  • chore(components): Rethink resizable container by @marc2332 in #2412
  • chore: Configure thread diff for hotpath benchmarks by @pawurb in #2430
  • fix(ci): Patch RUSTSEC-2026-0367, RUSTSEC-2026-0368, RUSTSEC-2026-0369 by @marc2332 in #2434
  • chore(docs): Clean up links in optimizing docs by @marc2332 in #2431
  • chore(tiny-diff): Move element diffing to tiny-diff by @marc2332 in #2424
  • chore: Add hotpath-rs badge by @pawurb in #2441
  • fix(deps): update dependency astro to v7.3.3 [security] by @renovate[bot] in #2440
  • chore(website): Improve SEO by @marc2332 in #2442
  • feat(core): Smooth scrolling for touchpads with Linux by @marc2332 in #2421
  • fix(winit): Better renderer fallback for linux + wayland + dual gpu by @marc2332 in #2433
  • fix(core): Better handling of mixed additions and movements diff by @marc2332 in #2259
  • fix(core): Keyed component-root element removal uses stale index, just use node id instead. by @marc2332 in #2425
  • chore(ci): Update to hotpath 0.29 by @marc2332 in #2448
  • feat(components): Make blinking and scroll controller bounds api public by @marc2332 in #2450
  • chore: Use merged mode for hotpath benchmarks by @pawurb in #2454
  • fix(components): Make Input scroll to the cursor properly when dragging the text to the right by @marc2332 in #2453
  • fix(components): Dont disable Button's pointer out by @marc2332 in #2452
  • feat(components): Input::new_callback by @marc2332 in #2445
  • feat(core): WritableSetter by @marc2332 in #2446
  • fix(components): Use content fit for segmented button by @marc2332 in #2451
  • chore: Remove unnecessary width call in layout_content_flex.rs example by @marc2332 in #2457
  • chore(freya): Bump to 0.5.0-rc.13 by @marc2332 in #2458
  • chore(ci): Bump letmerelease to 0.2 by @marc2332 in #2461
  • fix(radio): Peek antenna instead of reading by @marc2332 in #2466
  • fix(core): Update accessibility node when its diff says so, not just when the id changes by @marc2332 in #2464
  • fix(markdown): Bump pulldown-cmark to 0.13.5 by @marc2332 in #2470
  • chore(winit): tray-icon 0.26.1, drop dependency on gtk and libxdo by @marc2332 in #2460
  • chore: Configure hotpath criterion benchmark by @pawurb in #2469
  • fix(ci): Put alloca in build scripts allow list by @marc2332 in #2471
  • fix(ci): Fix hotpath relay pinned rev by @marc2332 in #2473
  • chore: Use GitHub marketplace hotpath-relay by @pawurb in #2474
  • fix(core): Respect disabled focus on focus requests by @marc2332 in #2475
  • feat(html): Rework the resources and font caching in freya-html by @marc2332 in #2435
  • feat(clipboard): Android support by @marc2332 in #2476

New Contributors

Full Changelog: v0.4.0...v0.5.0