New features and enhancements
- Add ["loaded" event](https://nicegui.io/documentation/interactive_image#loaded_event) which fires when the source of a `ui.interactive_image` changes (2453 by rodja)
- Let [`ui.audio`](https://nicegui.io/documentation/audio) and [`ui.video`](https://nicegui.io/documentation/video) inherit from `SourceElement` (#2444, 2449 by KimigaiiWuyi, falkoschindler, rodja)
- Make [`ui.log`](https://nicegui.io/documentation/log) autoscroll to bottom when page is loaded (#2447 by CrabzteR)
- Add support for [Material Symbols](https://nicegui.io/documentation/icon#material_icons_and_symbols) (2434 by codingpaula, falkoschindler)
- Introduce [layer methods](https://nicegui.io/documentation/leaflet#run_layer_methods) for `ui.leaflet` (2418 by falkoschindler)
Bugfixes
- Fix [`ui.number`](https://nicegui.io/documentation/number) adding decimal points when a validation error occurs (#2454 by jekoie, rodja, falkoschindler)
- Update `tailwind.config.darkMode` only if the value has changed, improving the initial load time of [nicegui.io](https://nicegui.io/) (#2287, 2446, 2451 by platinops, rodja)
- Improve the error message when `storage_secret` is missing (2438, 2445 by me21, rodja, falkoschindler)
- Fix `ui.notification` not changing its style based on the `type` argument (2427 by csrubin, falkoschindler)
- Fix "python-socketio" requirement to install optional "asyncio-client" extra (2089, 2426 by retsyo, rodja)
Documentation
- Serve fuse.js from our domain not CDN (2450 by rodja)
- Update list of features (2452 by rodja)
- Add example on how to use websockets library (2424, 2432 by rogeremail, rodja)