Security
- ⚠️ Prevent arbitrary file access when using
app.add_media_files(GHSA-hxp3-63hc-5366 by @y4rvin, @evnchn, @falkoschindler) - ⚠️ Prevent XSS attacks via user-defined content for
ui.add_css,ui.add_scss, orui.add_sass(GHSA-72qc-wxch-74mg by @twmoon, @evnchn, @falkoschindler) - ⚠️ Prevent XSS attacks via user-defined SVG content in
ui.interactive_imageusing a newsanitizeparameter (GHSA-2m4f-cg75-76w2 by @twmoon, @evnchn, @falkoschindler)
New features and enhancements
- Load Vue components faster (#5496 by @evnchn)
- Load codehilite.css faster (#5497 by @evnchn, @falkoschindler)
- Load headwind.css faster (#5513 by @evnchn)
- Allow emitting events from other threads (#4985, #5546 by @MaidScientistIzutsumiMarin, @rodja, @ftilde, @evnchn, @falkoschindler)
- Allow upgrading to pywebview 6 (#5555 by @paco-sevilla, @evnchn, @falkoschindler)
- Drop support for non-ESM support browsers (#5514 by @evnchn)
- Warn about accidental script mode due to missing
shared=Trueinui.add_head_html(#5472, #5478 by @davetapley, @evnchn, @falkoschindler) - Forward
--cleanand--noconfirmto pyinstaller in nicegui-pack (#5469 by @himbeles) - Let
element.clear()return the element (builder pattern) (#5461 by @falkoschindler, @evnchn) - Raise exception when trying to run script mode in REPL (#5414, #5456 by @defkev, @falkoschindler, @evnchn, @python-and-novella, @plambertgis)
- Compile SASS and SCSS in the browser (#5321, #5449 by @falkoschindler, @evnchn)
- Support wildcard routing in
ui.sub_pages(#5437, #5440, #5529, #5530, #5541 by @davetapley, @evnchn, @falkoschindler, @rodja) - Lazily start active link refresher task (#5438 by @bulletmark, @evnchn, @falkoschindler)
- Remove orjson dependency for PyPy (#5161 by @evnchn, @falkoschindler)
Deprecation
- ⚠️ Deprecate
ui.add_scssandui.add_sassin favor ofui.add_css(#5321, #5449 by @falkoschindler, @evnchn)
Bugfixes
- Fix
.tooltip()for complex elements likeui.table(#5447, #5482 by @pandabearcodes, @python-and-novella, @evnchn, @himbeles, @falkoschindler) - Fix sizing problem of
ui.interactive_image(#5479, #5517 by @daniel-anderberg, @evnchn, @falkoschindler) - Fix default values of
ui.range(#5467 by @Mick235711) - Fix padding of horizontal
ui.stepper(#5434, #5463 by @Buruxianian, @evnchn, @falkoschindler)
Documentation
- Show a screenshot per example on the website (#4391, #5044 by @kler, @leocjj, @rodja, @falkoschindler, @evnchn)
- Improve loading speed (#5507, #5515 by @evnchn)
- Add a note about native mode on Windows requiring .NET (#5544 by @phifuh, @falkoschindler)
- Add missing link in
ui.sub_pagesdemo (#5498, #5504 by @evnchn, @falkoschindler) - Remove error message "The type of the None singleton." (#5488, #5489 by @evnchn)
Testing
- Add possibility to perform tests without NiceGUI pytest plugins (#5377, #5380 by @himbeles, @evnchn, @rodja, @falkoschindler)
Dependencies
- Bump actions/checkout from 5 to 6 (#5506 by @dependabot)
- Exclude broken FastAPI version 0.123.5 to avoid "coroutine object not iterable" (#5535 by @frankhuurman, @edouardrolland, @Alyxion, @falkoschindler, @evnchn)
Infrastructure
- Migrate to uv (#5311, #5547 by @falkoschindler, @evnchn, @EmberLightVFX, @pascalzauberzeug, @himbeles, @codingpaula)
- Add codespell support (#5368 by @yarikoptic, @evnchn, @falkoschindler)
Special thanks to our top sponsors Lechler GmbH and LambdaTest ✨
and all our other sponsors and contributors for supporting this project!
🙏 Want to support this project? Check out our GitHub Sponsors page to help us keep building amazing features!