Download Latest Version v3.9.0 source code.tar.gz (22.2 MB)
Email in envelope

Get an email when there's a new version of NiceGUI

Home / v3.7.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-02-05 3.7 kB
v3.7.0 source code.tar.gz 2026-02-05 24.5 MB
v3.7.0 source code.zip 2026-02-05 25.2 MB
Totals: 3 Items   49.7 MB 0

Security

  • ⚠️ Prevent XSS attacks via unsanitized HTML in ui.markdown() (GHSA-v82v-c5x8-w282 by @falkoschindler, @evnchn)
  • ⚠️ Prevent path traversal via unsanitized FileUpload.name enabling arbitrary file write (GHSA-9ffm-fxg3-xrhh by @k14uz, @evnchn, @falkoschindler)

New features and enhancements

  • Introduce UnoCSS support (#5485 by @evnchn, @falkoschindler)
  • Unify dark mode API and add color-scheme meta tag for browser/extension compatibility (#5471, [#5483] by @davetapley, @evnchn, @falkoschindler)
  • Set Redis TTL on tab storage keys (#5594 by @quantumdark, @evnchn, @falkoschindler)
  • Perform implicit handshake and fix on_connect called before page is ready (#5673 by @evnchn, @falkoschindler)
  • Deprecate custom AG Grid checkboxRenderer in favor of built-in agCheckboxCellRenderer (#5681, [#5685] by @CatamountJack, @CrystalWindSnake, @falkoschindler, @evnchn)
  • Speed up SVG updates for ui.interactive_image with PIL images (#5583, [#5653] by @denniswittich, @evnchn, @falkoschindler)

Bugfixes

  • Fix vertical stepper animation jitter (#3881, [#5721] by @StarDustEins, @evnchn, @falkoschindler)
  • Fix REPL detection for Python 3.13's new pyrepl (#5675, [#5710] by @KrilleGH, @falkoschindler, @evnchn)
  • Fix shutdown handler not called with native mode and reload enabled (#2107, [#5702] by @PawelRoman, @rodja, @retsyo, @frankhuurman, @krashdifferent, @python-and-novella, @Ansari-Codes, @evnchn, @falkoschindler)
  • Fix app.shutdown for ui.run_with (#3253, [#5686] by @MuuXB, @python-and-novella, @falkoschindler, @evnchn, @falkoschindler)
  • Fix video loading issues on Windows in native mode (#4970, [#5700] by @MaidScientistIzutsumiMarin, @python-and-novella, @evnchn, @falkoschindler)
  • Fix NiceGUIJSONResponse to inherit from JSONResponse so response model schema appears in Swagger (#5688, [#5689] by @AleDetto, @evnchn, @falkoschindler)
  • Avoid ui.expansion stutters during animation (#4918, [#5659] by @platinops, @evnchn, @falkoschindler)
  • Fix protocol not being set when using SSL in native mode (#4814, [#5655] by @nachobacanful, @evnchn, @falkoschindler)
  • Fix input elements not being updated when re-opening a ui.dialog (#2149, [#5652] by @adosikas, @meslahik, @python-and-novella, @liunux4odoo, @evnchn, @falkoschindler)

Documentation

  • Add AG Grid Enterprise demo (#5676 by @falkoschindler, @evnchn)
  • Add style principles for exception suppression and optional imports (#5715 by @evnchn, @falkoschindler)

Testing

  • Fix test isolation for pages defined in submodules (#5692, [#5697] by @kleynjan, @falkoschindler, @evnchn)
  • Persist tab_id in User fixture (#5687, [#5690] by @5553455237, @evnchn, @falkoschindler)

Dependencies

  • Upgrade minimum Python version to 3.10 and modernize type annotations (#5696 by @falkoschindler, @evnchn)
  • Update dependencies to fix security vulnerabilities (#5695 by @falkoschindler, @evnchn)
  • Update uv.lock to revision 3 (#5707 by @evnchn, @falkoschindler)

Infrastructure

  • Let GPU-free Chrome 144 work in CI (#5678 by @evnchn, @falkoschindler)
  • Use contextlib.suppress to ignore exceptions (#5714 by @falkoschindler, @evnchn)

Special thanks to our top sponsors Lechler GmbH and TestMu AI

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!

Source: README.md, updated 2026-02-05