Nicegui Versions Save

Create web-based user interfaces with Python. The nice way.

v1.4.25

1 week ago

Bugfixes

  • Fix animations being interrupted when initializing ui.echarts (#2932, #3056 by @CrystalWindSnake, @falkoschindler)
  • Fix autocomplete for ui.input on mobile (#3055 by @falkoschindler)
  • Fix accessibility issue with connection popup being always visible to screen readers (#3050 by @paulGeoghegan, @falkoschindler)
  • Avoid data loss when deep-copying app.storage (#3023, #3046 by @natankeddem, @falkoschindler)
  • Add missing comma (#3032 by @sfermigier)
  • Handle options and value pointing to the same object in ui.select (#3014 by @natankeddem, @falkoschindler)
  • Raise exception when awaiting JavaScript on auto-index page to avoid aftereffects with multiple connected clients (#2951, #2983 by @CrystalWindSnake, @frankvp11, @falkoschindler)
  • Fix ui.aggrid not resizing correctly with its parent container (#2850, #2852 by @tz301, @vickorian, @wasabismile, @falkoschindler)

v1.4.24

2 weeks ago

New features and enhancements

  • Introduce ui.codemirror element (#2760, #2775, #2913 by @frankvp11, @chrschorn, @rodja, @falkoschindler)
  • Introduce ui.chip element (#2942 by @chrschorn, @falkoschindler)
  • Introduce ui.scene_view component (#2608, #2947 by @fabian0702, @falkoschindler)
  • Add background_color parameter to ui.scene (#2963 by @chrschorn, @falkoschindler)
  • Improve performance of 3D scenes by initializing all objects at once (#3009, #3022 by @kovalp, @falkoschindler)
  • Improve devcontainer experience (#2964 by @chrschorn)
  • Support Quasar's col-* classes in ui.row (#2881, #3008 by @me21, @falkoschindler)

Bugfixes

  • Fix layout issues with ui.plotly and reduce unnecessary re-rendering of UI elements (#2917, #2957 by @drummerboy2543, @bmaranville, @falkoschindler)
  • Avoid sending UI content twice (#2926 by @Wramberg, @falkoschindler)
  • Use a more robust method to check for a client connection (#2915 by @CVxTz, @rodja, @ZAn-next, @falkoschindler)

Documentation

  • Add more documentation for ui.keyboard and its event arguments (#2974, #3010 by @ed2050, @falkoschindler)
  • Fix exception in the "Infinite scroll" example when the client disconnects (#2966 by @psy0rz, @falkoschindler)
  • Fix a broken link on the ui.page documentation (#2990 by @Dronakurl, @falkoschindler)

v1.4.23

3 weeks ago

New features and enhancements

  • Introduce ui.context as a simpler way to get client, slot and slot stack (#2879, #2905 by @rodja, @falkoschindler)
  • Introduce nicegui-pack to package NiceGUI apps using PyInstaller (#2549, #2789 by @hrauch, @JS-Aibel, @alimate2023, @gotev, @falkoschindler)
  • Introduce an orthographic camera for ui.scene (#2872, #2890 by @vitamingcheng, @falkoschindler)
  • Introduce camera parameters for ui.scene (#2890, #2897 by @falkoschindler)
  • Allow configuring webview settings like "ALLOW_DOWNLOADS" (#2877, #2884 by @Smug246, @falkoschindler)

Bugfixes

  • Fix 100% CPU usage on Windows using asyncio events instead of repeated polling (#2482, #2827, #2867 by @pplno, @anjomro, @oidex, @afullerx, @rodja, @falkoschindler)
  • Fix setting min/max property for ui.number (#2950 by @mwarrens63, @falkoschindler)
  • Avoid infinite recursions with an early exit when setting the value of ui.state variables (#2921, #2922 by @vickorian, @falkoschindler)
  • Fix app.storage.tab for NiceGUI On Air (#2902 by @rodja)
  • Fix ui.select and ui.radio for NiceGUI On Air (#2901 by @thetableman, @rodja)
  • Fix emoji favicons with \uFE0F "Variation Selector-16" (#2888 by @tewhalen, @falkoschindler)

Documentation

  • Add a ZeroMQ example (#2941 by @keenanjohnson, @falkoschindler)
  • Add class demo to modularization example and improve overall structure (#2939, #2944 by @BlankAdventure, @rodja, @falkoschindler)
  • Show scroll to bottom in ui.table demo (#2907, #2927 by @linkwww8, @rodja)
  • Fix typo in a URL to the FastAPI documentation (#2908 by @Ezbaze)

v1.4.22

1 month ago

Bugfix

  • Fix auto-close behavior of ui.menu, ui.color_input and some demos (#2894 by @digidigital, @falkoschindler, @codingpaula)

v1.4.21

1 month ago

New features and enhancements

  • Introduce app.storage.tab as a storage for the current tab (#2837, #2866 by @rodja, @Alyxion, @alexzaech, @falkoschindler)
  • Introduce app.storage.client as a storage for volatile data for the current connection (#1308, #2820 by @rodja, @amks1, @sklibanov312, @Alyxion, @falkoschindler)
  • Introduce ui.matplotlib element as an object-oriented alternative to ui.pyplot (#2553 by @tacaswell, @falkoschindler)
  • Refactor ui.list and ui.menu items (#2855 by @codingpaula, @falkoschindler)
  • Automatically await async results in ui.timer (#2856, #2859 by @bmrast, @falkoschindler)
  • Add maximize() method for maximizing a native application (#2836 by @Aues6uen11Z)
  • Replace check_interval for JavaScript requests with an asyncio event (#2482, #2827 by @pplno, @anjomro, @oidex, @afullerx, @rodja, @falkoschindler)

Bugfixes

  • Fix typo in conftest.py (#2857 by @kj4tmp)
  • Fix update of ui.leaflet after calling set_center or set_zoom (#2825, #2826 by @thetableman, @falkoschindler)
  • Fix update of invisible ui.markdown elements (#2779, #2803 by @me21, @aniketkumar7, @falkoschindler)
  • Avoid ignoring dynamic properties starting with a line break (#2845 by @falkoschindler)

Documentation

Others

  • Introduce ruff as an isort replacement and code checker with a pre-commit hook (#2619 by @mbrulatout, @codingpaula, @falkoschindler)
  • Enable private vulnerability reporting (#2870 by @sunriseXu, @falkoschindler)

v1.4.20

1 month ago

New features and enhancements

  • Introduce ui.button_group (#2821 by @codingpaula, @falkoschindler)
  • Introduce ui.dropdown_button (#2821 by @codingpaula, @falkoschindler)
  • Introduce ui.range (#1191, #2762 by @frankvp11, @codingpaula)
  • Introduce ui.clipboard functions (#2575, #2594 by @ZeroCool940711, @falkoschindler)
  • Add an on_multi_upload callback for ui.upload (#2698, #2765 by @rcovic, @d-meehan, @falkoschindler)
  • Add SVG events to ui.interactive_image (#2745 by @frankvp11, @falkoschindler)
  • Allow registering events after element instantiation (#2687, #2704, #2708 by @petergaultney, @falkoschindler)
  • Make libsass optional, replacing ui.add_style with ui.add_css, ui.add_scss and ui.add_sass (#2796, #2809 by @psy0rz, @rodja, @falkoschindler)
  • Let run.io_bound and run.cpu_bound maintain type signatures of their callbacks (#2733 by @petergaultney)
  • Make On Air reconnect more robust (#2818 by @rodja)
  • Terminate On Air connection more elegantly (#2761 by @rodja)

Bugfixes

  • Fix jumping cursor for ui.editor (#2611, #2756 by @Gilser, @intrinsically, @falkoschindler)
  • Fix displayed order of ui.select options (#2137 by @CrystalWindSnake, @falkoschindler)
  • Update ui.number after changing its limits (#2743, #2753 by @eddie3ruff, @falkoschindler)

Documentation

  • Fix instruction about how to use the autopep8 command for code contributions (#2750 by @codingpaula, @falkoschindler)

v1.4.19

1 month ago

New features and enhancements

  • Reduce payload by extracting nicegui.js to allow browser caching (#2728 by @falkoschindler)
  • Reduce payload by skipping default element properties (#2702 by @falkoschindler)
  • Allow passing functions to run_method calls (#2556, #2671, #2705 by @ducnva, @dr-yd, @lapnd, @Pikaro, @falkoschindler)
  • Introduce ui.add_style for CSS, SASS and SCSS (#2531 by @falkoschindler, @rodja)
  • Support colored crosshairs for ui.interactive_image (#2713, #2727 by @hig-dev, @falkoschindler)
  • Automatically enable/disable scrolling of ui.log (#2690, #2686 by @frosch01, @falkoschindler)
  • Add support for additional echart events (#2679, #2716 by @CSharpDummy, @falkoschindler)
  • Add support for custom row and column templates for ui.grid (#2701 by @falkoschindler)
  • Refine type annotation for ui.date (#2681 by @daya0576)

Bugfixes

  • Fix rendering 404 error pages for static file routes (#2568, #2570, #2722, #2746 by @Anindya088, @falkoschindler, @Lucas-lyh, @rodja)
  • Fix ui.table.from_pandas for datetimes with timezones (#1983, #2706 by @rohitsathish, @falkoschindler)
  • Re-implement the ui.log element to avoid problems inside tabs (#1869, #2686 by @marcin-koziol, @E-H-E-H, @falkoschindler)
  • Fix updating the UI when calling ui.select.set_options (#2682 by @amks1, @falkoschindler)

Documentation

v1.4.18

2 months ago

New features and enhancements

  • Allow disabling the auto-validation on value change (#2618, #2661 by @Ch41r05, @falkoschindler)
  • Introduce ui.navigate.reload() (#2659 by @mbrulatout)
  • Enable new_value_mode="add" for option dictionaries (#2462, #2467 by @me21, @falkoschindler)

Bugfixes

  • Remove all children when deleting an element (#2643 by @me21, @falkoschindler)
  • Fix AttributeError in ui.select (#2641 by @CrystalWindSnake, @falkoschindler)

Documentation

  • Add demo for altering the number of steps in a ui.stepper element (#2655 by @rodja)

v1.4.17

2 months ago

Bugfix

  • Add missing docutils module for ui.restructured_text (#2624, #2629 by @sswatson, @rodja)

v1.4.16

2 months ago

New features and enhancements

Bugfixes

  • Fix binding removal for non-hashable objects (#2540, #2544 by @kleynjan, @falkoschindler)
  • Fix order of removing elements when client disconnects (#2589, #2603 by @Johannes-)
  • Fix RecursionError when deleting ui.leaflet elements (#2587, #2609 by @thickmn, @falkoschindler)
  • Fix layer events and run_layer_method for ui.leaflet (#2500, #2557 by @elkarouh, @kleynjan, @falkoschindler)
  • Fix modifiers on key event for ui.interactive_image() (#2530 by @masrab, @falkoschindler)
  • Fix .tooltip() ignoring default_classes from ui.tooltip (#2554 by @h0uter, @falkoschindler)
  • Raise minimum version of python-multipart to avoid Content-Type Header ReDoS (#2569 by @svfoxat)

Documentation

  • Show a content preview when using the search dialog (#2547 by @ZeroCool940711, @rodja, @falkoschindler)
  • Use more specific page titles for individual documentation pages (#2583, #2607 by @bandit-masked, @falkoschindler)
  • Add tooltips to the search and theme buttons (#2539 by @ZeroCool940711)
  • Add a demo for custom icon sets (#2617, #2620 by @me21, @falkoschindler)
  • Add a toggleable button demo (#2615 by @rodja)
  • Add demo on how to update markdown content (#2584, #2592 by @Anindya088, @falkoschindler, @rodja)
  • Add sponsor button to the website (#2572 by @rodja)
  • Provide infos about our coding style (#2564 by @rodja)