Nicegui Versions Save

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

v1.4.27

2 weeks ago

New features and enhancements

  • Introduce ui.teleport element to inject NiceGUI elements into regular html. (#3148, #3159 by @CrystalWindSnake, @falkoschindler)
  • Introduce align_items parameter for ui.row, ui.column and ui.card (#3174, #3175 by @tz301, @falkoschindler)
  • Introduce config parameter for ui.mermaid (#3164 by @kyloe, @falkoschindler)
  • Improve error message for source elements with missing files (#3162 by @CrystalWindSnake, @falkoschindler)
  • Allow commas and equal signs in unquoted prop strings (#3128, #3130, #3193 by @miccs0, @ed2050, @falkoschindler)

Bugfixes

  • Fix type annotation in NPM import script (#3186 by @natankeddem)
  • Fix JavaScript error due to wrong variable in download function (#3173 by @123swk123, @falkoschindler)
  • Encode auto-generated URLs to support filenames with hashtags # (#3124, #3138 by @gotev, @afullerx)
  • Bump pywebview to 5.0 to support settings attribute (#3135 by @miek770, @falkoschindler)
  • Fix ui.codemirror ignoring path prefixes (#3122, #3126 by @amks1, @falkoschindler)

Documentation

  • Fix link to Quasar's QTime component (#3214 by @tmlmt)

v1.4.26

1 month ago

New features and enhancements

  • Make ui.code a ContentElement to support binding (#3077, #3089 by @JeanBaptiste-dlb, @falkoschindler)
  • Warn about communication attempts with disconnected clients (#3028, #3123 by @Thermaltech, @falkoschindler, @rodja)
  • Pass lifespan state when running NiceGUI with an existing FastAPI app (#3094, #3097 by @RomainEconomics)
  • Only ignore specific missing imports with mypy (#3113 by @codingpaula)
  • Use local files for testing ui.interactive_image (#3118 by @falkoschindler)

Bugfixes

  • Prevent ui.leaflet from flickering after calling flyTo() (#3035, #3125 by @backbord, @afullerx, @falkoschindler)
  • Add plotly package to Docker image (#3098 by @psy0rz, @rodja)

Documentation

v1.4.25

1 month 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

1 month 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

2 months 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

2 months ago

Bugfix

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

v1.4.21

2 months 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

2 months 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

3 months 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

3 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)