New features and enhancements
- Improve efficiency of async page functions (#4450, #4461, #4462, #4466 by @evnchn, @falkoschindler)
- Improve efficiency of UI updates (#4457, #4463 by @evnchn, @falkoschindler)
- Introduce
ui.navigate.history
to update URL in browser (#4382 by @platinops, @rodja, @falkoschindler) - Add
timeout
property forui.notification
(#4437, #4444 by @weinibuliu, @falkoschindler) - Support
ui.select
with multiple values and dictionaries in user simulation (#4449 by @Daemo00, @rodja, @falkoschindler) - Introduce Cursor rules to improve quality of AI code generation (#4445 by @rodja)
Bugfixes
- Avoid duplicate updates of UI elements (#4344, #4470 by @roblight, @falkoschindler)
- Fix parsing of URL parameters in props (#4453 by @pimswr, @falkoschindler)
- Fix potential conflicts of "select" and "change" events in
ui.json_editor
(#4397, #4458 by @natankeddem, @falkoschindler) - Avoid overwriting original list when setting
ui.table.columns
(#4418, #4428 by @weinibuliu, @falkoschindler) - Ensure valid host when opening native window (#4438, #4443 by @natankeddem, @rodja)
- Fix displayed list of IP addresses on startup (#4425 by @zak-45, @rodja, @falkoschindler)
- Define Starlette version for Python 3.8 to avoid static resources not being found (#4255 by @KimigaiiWuyi, @arlowhite, @guyingbo, @fm-andres-rangel, @AERCR3, @Kludex, @sonman, @falkoschindler)
Documentation
- Add Google OAuth2 example (#4361, #4371 by @frankvp11, @@rodja, @falkoschindler)
- Add Google One Tap authentication example (#3243, #3244 by @bin-san, @rodja, @falkoschindler)
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!