New features and enhancements
- Preload scripts for faster page load (#4505, #4507 by @daya0576, @falkoschindler, @evnchn)
- Introduce more explicit
ui.download
functions (#4104, #4564 by @marcuslimdw, @falkoschindler, @evnchn) - Introduce
LabelElement
mixin to add bindablelabel
property to various elements (#4529 by @weinibuliu, @evnchn, @falkoschindler) - Introduce new
on_begin_upload
event handler forui.upload
(#4541, #4543 by @jpruente92, @falkoschindler, @evnchn) - Let
ui.add_css
,ui.add_scss
andui.add_sass
setshared=True
(#4537 by @evnchn, @falkoschindler) - Allow simulating
ui.run_javascript
in pytests using theUser
fixture (#4508, #4512 by @chriswi93, @rodja, @falkoschindler) - Provide better warning if On Air service is not reachable (#4582 by @rodja)
- Chunk large HTTP responses when relayed through On Air service (#4555 by @rodja)
- Show On Air connection errors with message from server (#4553 by @rodja)
Bugfixes
- 🚨🚨🚨 WARNING: The bugfix "Avoid RuntimeError while iterating over bindable properties (#4419, #4550 by @chriswi93, @falkoschindler)" lead to possible app freezes. Please Use 2.14.1 instead.
- Avoid
ui.echart
from initially rendering twice (#4501, #4535, #4584 by @depley, @evnchn, @falkoschindler) - Fix
ui.scene.clear()
if it containsgroup
scene objects (#4560 by @NiklasNeugebauer, @evnchn, @falkoschindler) - Use
background_tasks.create
to avoid destroying pending tasks (#4500, #4551 by @JudeMcbeath, @evnchn, @zbxiany, @chriswi93, @jpentland-jrw, @falkoschindler) - Fix typing for
ui.refreshable
andui.refreshable_method
(#4510 by @drkspace)
Documentation
- Fix bug in interactive styling demo (#4576 by @hwtam, @evnchn, @falkoschindler)
- Fix a demo for
ui.aggrid
which requires a@ui.page
function (#4570, #4572 by @CodeCubeNeo, @evnchn) - Improve cover image in README.md for dark mode (#4544 by @evnchn)
- Fix tests folder structure in for modular projects (#4522 by @aleksandr-vin)
Dependencies
- Bump typing-extensions from 4.12.2 to 4.13.1 (#4562 by @dependabot)
- Bump ruff from 0.9.9 to 0.11.2 (#4545 by @dependabot)
Special thanks to all our sponsors and contributors! ✨
🙏 Want to support this project? Check out our GitHub Sponsors page to help us keep building amazing features!