This release includes a major refactor of the codebase, bug fixes, new features, and higher dependency versions which come with their own bug fixes. The key highlights are provided below.
Major Changes
- Bumped `dash` dependency to 2.16.1 along with some other packages, which include various bug fixes, etc. In particular, we no longer depend on `jupyter_dash`, since that has been merged into the main `dash` package. The `mode` is now set in `start_app` using `jupyter_mode` and works uniformly across Jupyter or from the command line.
- Code has been significantly refactored to turn every visible Quickboard object into a `dash.html` object instance. This means developers can now extend generated dashboard functionality to the full extent that `dash` allows (e.g. edit `style` fields, etc. directly).
- Some tests have been added to check for bugs before releases.
- Documentation updates across all classes, as well as the tutorial and main README.
- The `dash.callback` mechanism is used in favor of `app.callback` to allow for more flexible `app` creation parameters, like setting the theme of the app from the `start_app` method.
New Features
- Checklist plugins now (by default) add All/None toggle buttons, which can select/deselect all items in list.
- The `body` fields in `PlotPanel`s and `DataPanel`s will now render markdown from strings provided for more customizable description/documentation of the data in panels.
- Each tab can now customize the width of the sidebar using the `sidebar_width` variable. (E.g. `sidebar_width="300px"`).
- `Panel` objects (template for all visible objects other than plugins) now have `update_border_size` methods to toggle the border size (or set to 0 for no border). Most objects now default to no border, but can be added back using this method on the object or subobjects.
- The `deploy_app` method has been replaced with `get_app_server` which takes a quickboard object and returns a WSGI server object associated with your app that can be used for deployment e.g. with `gunicorn`.
- Dropdown menu plugins have been added that work the same as the radio button plugins.
Bug Fixes
- Having no tabs with sidebar wouldn't properly render previously, and should now be fixed.
- Fix header field in `dbc.Toast` used for plugin rendering.
- A bug involving no tabs wouldn't render properly and is now fixed.
- Fix bug where no `sidebar_plugins` provided for first tab wouldn't render.