Releases: zauberzeug/nicegui
v2.11.1
Bugfixes
- Fix saving non-serializable data in tab storage (#4313, #4325 by @ReubenVandezande, @falkoschindler, @rodja)
- Fix update mechanism for
ui.plotly
to prevent random resets (#4186, #4317 by @duane-space, @falkoschindler) - Fix
KeyError
in disconnect handler (#4304 by @trivedihoney, @rodja, @chriswi93, @falkoschindler) - Automatically unregister
BindableProperty
objects to avoid memory leaks (#4109, #4122 by @andybayer, @falkoschindler)
Build pipeline
- Fix upload to zenodo by using our own built version (#4303 by @codingpaula)
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!
v2.11.0
New features and enhancements
- Introduce
ui.fullscreen
for controlling fullscreen mode (#4165 by @Alyxion, @falkoschindler) - Introduce
@binding.bindable_dataclass
decorator to create bindable dataclasses (#3957, #3987 by @balex89, @falkoschindler) - Improve support for Leaflet plugins (#2767, #4289 by @tfitzsim, @falkoschindler)
- Introduce
selection
property forui.table
to allow changing the selection type (#4296 by @DevMax007, @falkoschindler) - Improve connection parameters for Redis storage (#4299, #4300 by @alydersen)
Bugfixes
- Prevent page content from being deleted when a client reconnects (#4253, #4271, #4285 by @chriswi93, @rodja, @falkoschindler)
- Prevent
ui.leaflet
from resetting center and zoom when browser resizes (#4182, #4265 by @qutang, @nathanWagenbach, @falkoschindler) - Fix erroneous keyboard events caused by autocompletion (#2545, #4290, #4291 by @Albert-mah, @natankeddem, @falkoschindler)
Documentation
- Add a Single-File Component to the "Custom Vue Component" example (#4229 by @josephburkhart, @falkoschindler)
- Avoid index page being overwritten by one of the demos (#4270, #4272 by @natankeddem, @falkoschindler, @rodja)
Dependencies
- Bump certifi from 2024.12.14 to 2025.1.31 (#4294 by @dependabot)
- Bump plotly from 5.24.1 to 6.0.0 (#4287 by @dependabot)
- Bump pywebview from 5.3.2 to 5.4 (#4283 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!
v2.10.1
Bugfix
- Fix problems in native mode caused by
app.main_window
being undefined (#4244 by @raffaellof, @falkoschindler)
Dependency
- Bump abatilo/actions-poetry from 3 to 4 (#4245 by @dependabot)
v2.10.0
New features and enhancements
- Introduce redis storage which syncs between multiple instances, sponsored by @alydersen (#1606, #4074 by @rodja, @hany, @juledwar, @Alyxion, @falkoschindler)
- Load dependencies in parallel when updating UI elements (#4235 by @NiklasNeugebauer, @falkoschindler)
- Introduce axis limit parameters for
ui.line_plot.push()
and fix potential matplotlib warning (#4192 by @drkspace, @falkoschindler) - Introduce
ui.clipboard.read_image()
(#4144 by @liunux4odoo, @falkoschindler)
Bugfixes
- Fix
ui.input
ignoring "keydown.-" events (#4209, #4210 by @ronniebax, @falkoschindler) - Register middlewares as late as possible (#4155 by @rodja)
- Fix leaked semaphore object warning (#4129, #4131, #4132 by @ChipsAHoai, @rodja)
Documentation
- Introduce a "Map of NiceGUI" (#4128 by @falkoschindler)
- Add version information to documentation (#4137, #4221 by @ed2050, @falkoschindler)
- Add an example to show OpenAI's Assistant API with async/await (#4136 by @rodja)
- Demonstrate dialog event registration (#4153 by @rodja)
- Remove wrong statement about socket IDs in UI events (#4016 by @PeterQuinn396, @falkoschindler)
- Dynamically mirror "Other HTML elements" demo (#4232 by @norlatif, @falkoschindler)
Dependencies
- Bump certifi from 2024.8.30 to 2024.12.14 (#4211 by @dependabot)
- Bump mypy from 1.13.0 to 1.14.1 (#4223 by @dependabot)
- Bump pygments from 2.18.0 to 2.19.1 (#4212 by @dependabot)
- Bump python-socketio from 5.11.4 to 5.12.1 (#4213 by @dependabot)
- Bump ruff from 0.8.1 to 0.9.1 (#4198, #4214 by @dependabot)
- Bump uvicorn from 0.32.1 to 0.33.0 (#4215 by @dependabot)
v2.9.1
Bugfixes
- Avoid browser storage being shared across clients when accessing via On Air (GHSA-v6jv-p6r8-j78w by @streamcfd, @rodja)
- Fix closing tag in
ui.editor
(#4148 by @Alyxion)
Documentation
Dependency
- Bump mypy from 1.13.0 to 1.14.0 (#4130 by @dependabot)
v2.9.0
New features and enhancements
- Retransmit messages after short connection interruptions to keep client in sync (#3143, #3199 by @FeldrinH, @afullerx, @me21, @falkoschindler, @rodja)
- Introduce
app.timer
(#3187, #3225, #4091 by @adosikas, @falkoschindler, @v479038280, @rodja) - Introduce
getHtmlElement
function (#3019, #4087, #4123 by @chrschorn, @Alyxion, @falkoschindler) - Disallow typing into disabled UI elements when testing with the
User
fixture (#4080, #4098 by @randy-seng, @rodja) - Allow to configure the documentation pages via
fastapi_docs
parameter inui.run()
(#4050 by @Yuerchu, @falkoschindler)
Bugfix
- Prevent
ui.leaflet
from oscillating between two locations (#4061, #4121 by @hal2000gh, @falkoschindler)
Documentation
- Add reference for
ui.menu_item
(#4107, #4115 by @ed2050, @falkoschindler) - Add demo for binding
ui.input
toui.date
with date range selection (#4077 by @Mte90, @falkoschindler)
Dependencies
- Bump python-socketio from 5.11.4 to 5.12.0 (#4124 by @dependabot)
- Bump certifi from 2024.8.30 to 2024.12.14 (#4113 by @dependabot)
- Bump uvicorn from 0.32.1 to 0.33.0 (#4112 by @dependabot)
Special thanks to our top sponsors DigiQuip AS, egs-hub, and Davi Borges ✨
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!
v2.8.1
Build pipeline
- Fix missing Docker image for ARM64 (#4072 by @codingpaula)
As always: Kudos to DigiQuip AS, egs-hub, Davi Borges and many more for supporting this project ✨
v2.8.0
New features and enhancements
- Add support for JSONSchema validation in
ui.json_editor
(#4003, #4012 by @jm-amt, @falkoschindler) - Add
max_cache_age
parameter toadd_static_files
andadd_static_file
(#3998, #4032 by @bl0x) - Fix handling of invisible elements in
User
tests. (#4057 by @rlcmtzc, @rodja, @falkoschindler)
NOTE: existing tests may break if you relied on the bug that invisible elements being accessible by the user
Documentation
- Fix description for validation dictionaries (#4041 by @hephaisto)
- Add html module description to
ui.html
documentation (#4027 by @rodja)
Build pipeline
- Update Github Action to cache Docker to different locations for each platform (#4051 by @codingpaula)
Dependencies
- Update pre-commit and ruff dependencies (#4052 by @codingpaula)
- Remove upper bound of setuptools dependency (#2485, #4033 by @sohnemann, @rodja)
- Bump nanasess/setup-chromedriver from 2.2.2 to 2.3.0 (#4058 by @dependabot)
- Bump httpx from 0.27.2 to 0.28.0 (#4048 by @dependabot, @rodja)
- Bump ruff from 0.7.4 to 0.8.0 (#4026 by @dependabot)
Special thanks to our top sponsors DigiQuip AS, egs-hub, and Davi Borges ✨
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!
v2.7.0
Huh, where's 2.6.0? - Yeah, counting is hard... 🤦🏻♂️
New features and enhancements
- Allow creating
ui.table
andui.aggrid
from Polars dataframes (#3969 by @trivedihoney, @falkoschindler) - Add support for async validation functions (#4004, #4024 by @barrywhart, @falkoschindler)
- Allow toggling CSS classes (#4013, #4019 by @Mte90, @falkoschindler)
- Allow attaching and detaching 3D objects to and from groups (#4015, #4018 by @mauku, @falkoschindler)
- Add support for autocompletion to the
User
fixture (#3886, #4001 by @GrazingScientist, @rodja, @falkoschindler) - Enable SVG rendering for
ui.echart
(#3936 by @Piguite, @falkoschindler) - Add
tr
andheader
element to thehtml
module (#4005 by @kleynjan, @falkoschindler) - Allow getting all clients for a certain page path (#3828, #3968 by @aranvir, @falkoschindler)
- Show a warning when
ui.dark_mode
breaks Tailwind (#3753, #3994 by @petergaultney, @jdoiro3, @falkoschindler)
Documentation
- Add a demo about submenus (#3947 by @xaptronic, @falkoschindler)
- Add a missing space in storage documentation (#3963 by @NiklasNeugebauer)
Build pipeline
- Add precommit, mypy, and pylint to the test pipeline (#3996 by @codingpaula)
- Add Python 3.13 to test pipeline (#3993 by @falkoschindler)
Dependencies
- Bump aiohttp from 3.10.10 to 3.10.11 (#3989 by @dependabot)
- Bump selenium from 4.25.0 to 4.26.1 (#3938 by @dependabot)
Special thanks to our top sponsors DigiQuip AS, egs-hub, and Davi Borges ✨
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!
v2.5.0
New features and enhancements
- Introduce an
html
module with plain HTML elements (#572, #3900 by @ofenbach, @dridk, @rodja, @falkoschindler) - Set selection, expansion and tick props for
ui.tree
only when needed (#3840, #3902 by @inessilva4-lis, @python-and-fiction, @falkoschindler) - Show warning when
force_reload()
is used on images with data sources (#2566, #3895 by @scottrcarlson, @rp10007, @rodja)
Bugfixes
- Fix camera in
ui.scene
looking back to the origin after callingmove_camera()
(#3920 by @pascalzauberzeug, @falkoschindler) - Fix
app.storage.tab
not being unique for duplicated tabs (#3867, #3872, #3876 by @kfalcami, @python-and-fiction, @rodja, @falkoschindler)
Documentation
- Fix back button in the single page application example (#3910 by @Salex406, @falkoschindler)
- Improve documentation about the
User
pytest fixture (#3913 by @rodja) - Add sponsor section to website (#3906 by @rodja, @falkoschindler)
Build pipeline
- Pipeline improvements (#3893 by @codingpaula)
- Improve startup tests (#3896 by @falkoschindler)
- Fix Docker cache in GitHub Actions (#3918 by @codingpaula)
Dependencies
- Bump actions/cache from 3 to 4 (#3908 by @dependabot)
- Bump ruff from 0.6.9 to 0.7.0 (#3894 by @dependabot)
- Bump pywebview from 5.2 to 5.3 (#3888 by @dependabot)
Special thanks to our top sponsor Davi Borges ✨
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!