We are excited to announce the release of NiceGUI 1.2.0! While including many great new features, we want to specially highlight the introduction of a “native” mode which allows Electron-like capabilities by not opening a browser but a native window on your desktop. Of course this can also [be packaged into an executable](https://nicegui.io/reference#package_for_installation).
Breaking Changes
The implementation of `ui.table` is no longer based on AG Grid but rather on QTable from Quasar which is in line with the other components. The AG Grid element is still available through `ui.aggrid` (see 370 and 500 for details; by dclause, falkoschindler, Diegiwg and rbeeli).
All web dependencies have been upgraded to their most recent stable version (with the exception of Mermaid, which is at 9.x instead of 10.x due to technical reasons). In general, this should not change the behavior of NiceGUI applications (524 by dclause and falkoschindler).
The upgrade of TailwindCSS can, however, change the interpretation of contradicting Tailwind classes: The effective class order has been nondeterministic and using contradicting classes was dangerous and discouraged by the Tailwind developers. Now the order is deterministic such that the result does not change when, e.g., moving the element around. But this could change the behavior of your app if it relies on a certain interpretation order. See [this very informative post](https://github.com/tailwindlabs/tailwindcss/issues/10603#issuecomment-1433743390) and [this comment](https://github.com/zauberzeug/nicegui/issues/524#issuecomment-1474415295) for more information.
Other Features and Enhancements
- make NiceGUI the Electron of Python by introducing `ui.run(native=True)` which will open a desktop window instead of a browser tab (89, 558, 519 by eli-kha, rodja, al-eax, smojef, bobwatcherx, hditano, ItsCubeTime and falkoschindler)
- add point cloud support for 3D scenes (545 by kielnino)
- add support for scoped slots (514, 501 by dclause and falkoschindler)
- provide a global exception handler (289, 445 by smojef and falkoschindler)
- allow clearing the content of a `ui.log` element (414 by Allen-Taylor and falkoschindler)
- allow looping `ui.audio` and `ui.video` (555 by chook100 and falkoschindler)
Bug Fixes
- make elements that are ignored by `ui.keyboard` configurable (460 by MrTLMWD and falkoschindler)
- support 32-bit Windows using the built-in json package instead of orjson (518, 532 by rbeeli, ghuserlb, rodja and falkoschindler)
Documentation
- improve documentation for authentication demo (527 by Shmuma and rodja)
- improve explanation of menu placement (541 by rodja)
- improve deployment documentation uncovered by experiments with Heroku (469 by krummja and rodja)
- improve script executor demo by fixing `asyncio.create_subprocess_exec` for Windows (486 by wielandb, spehj and rodja)
- improve NGINX subpath demo (245 by rodja)