Releases: h2oai/wave
Releases · h2oai/wave
v0.18.0
- Added
- Persona component.
- Add support for streaming/multipart endpoints.
- Read command line args from env if available.
- Allow public/private directories to be hosted by the Wave daemon.
- Side panel component.
- Custom inline / external CSS support.
- Allow controlling width of form items.
- Icon button component.
- Allow submitting text phrases within markdown.
- Allow using markdown / HTML within message bar.
- Add inline prop to checklist component.
- Add trigger attribute for spinbox component.
- OIDC: Update default scopes and add
-oidc-scopes
command line argument.
- Changed
- Sort table group titles by default when grouped.
- Range slider replaced with native Fluent component.
- Report HTTP error 413 instead of 500 if request is too large.
- Disable async function validation (failed under Cython).
- Fixed
- Submit range slider values on releasing mouse.
- Datepicker color contrast for date selection.
- Unify ui.picker label with th rest of the form components, add 'required' prop to picker.
- Expander ignoring expanded attr on initial render.
- Prevent floating-point precision display in spinbox.
- Redirect only once, not on every render.
- Stretch slider for available space within
ui.inline
andui.section
. - Update form items client side if possible instead of recreate on data change.
- Meta redirect for Firefox.
- Set location hash when script events are triggered.
- Download files in new tab to prevent FF dropping WS connection.
- Increase tab card min height to prevent overflow.
- Safari title overflow in grey dashboard.
- Ensure that first column in tables functions properly when non-text.
v0.17.0
- Added
- The location hash (
q.args['#']
) is now always available, regardless of whether it has changed. @on()
annotations now support handling events.@on()
handlers can now have 0-n formal parameters, and are supplied arguments accordingly.ui.inline_script()
can use CSS selectors (e.g.#foo
,.foo
,table > td.foo
) as targets
- The location hash (
v0.16.0
- Added
- New Ability to load and execute third party Javascript libraries at runtime.
- WaveDB: Add
-benchmark
command line flag for running benchmarks. - WaveDB: Add example for database-backed to-do list app.
- WaveML: Add several examples demonstrating configuring, building, saving models, including hyperparameter tuning and SHAP.
- Changed
- Upgrade Cypress (test framework) to 7.2.0.
- Make (anon) subject ID and username available in development mode.
- Closable dialogs now emit a
dismissed
event when closed.
- Fixed
- WaveDB: Return empty array instead of
None
if resultset is empty.
- WaveDB: Return empty array instead of
v0.15.0
- Added
- New: WaveDB: a companion database to Wave apps, based on SQLite 3.
- More routing power: Match multiple routing conditions using
@on
predicates. - New card:
ui.wide_info_card()
. - New component:
ui.image()
, similar in behavior to the image card.
- Changed
- The Wave Tour now uses a responsive layout.
- Display underlying error in the file upload component on failures.
- Set a default label for the upload button in the file upload component.
- Fixed
- Submit toolbar command value when clicked, if available.
- Make Wave Tour work when server and tour are launched on separate machines / docker containers.
- Fix Card/component deserialization (
Card.load()
). - Use latest static assets in front-end when the server is upgraded.
v0.14.1
- Fixed
- Allow file uploads if auth is disabled (assume development mode).
v0.14.0
- Added
- New: The Wave server now provides command line utilities for managing access key/secret pairs (see Security docs).
- Python app servers only process requests originating from the Wave server.
- Add
-max-request-size
to control maximum allowed HTTP request size. - Add
-max-cache-request-size
to control maximum allowed cache request size. - Add
-max-proxy-request-size
to control maximum allowed proxy request size. - Add
-max-proxy-response-size
to control maximum allowed proxy response size. - Add tutorial on local development using OIDC / Keycloak.
- Allow skipping OIDC login if required when
-oidc-skip-login
is set. - Add version/author dunders to Python module.
- Set
id_token_hint
for OIDC using Okta during logout.
- Changed
- Buttons are not special-cased / displayed in a dialog's footer anymore.
- Don't automatically zoom into plots on mouse scroll.
- The default (development-time) user name/subject are now
anonymous
/anonymous
. - Login/logout endpoints are now
_auth/login
and_auth/logout
instead of_login
and_logout
. - File uploads from UI are disabled if auth is not enabled.
- Proxy is enabled only if
-proxy
is set. - IDE (experimental/in-progress) is enabled only if
-ide
is set. - Browser-browser communication is enabled only if
-editable
(experimental) is set. - All open browser tabs redirect to login when a user logs out of any tab.
- Wave docs are now hosted at https://wave.h2o.ai/
- Fixed
- All known security issues fixed/closed.
- Display overflow menu in table footer only when space-constrained.
- Trigger plot events only if marks are selected.
- Submit a toolbar command's value instead of
True
, if available. - Refresh OIDC access token during WS communication if expired.
- Use unique OIDC subject ID instead of preferred-username for sync'ing UIs.
v0.13.0
- Added
- New: Start the server with
-editable
to allow visitors to edit pages - turns the Wave server into a realtime collaborative wiki. - New: Add a whiteboard (
ui.canvas_card()
) to a page to enable collaborative drawing between the page's visitors. - New: Add a chat room (
ui.chat_card()
) to a page to enable discussions between the page's visitors. - Checkpointing: Save and restore application and session state on restart.
- New: Start the server with
- Changed
- Display Wave logo on empty pages instead of spinner.
- Reduce size of h2o_wave wheel file.
- Fixed
- Display scrollbars if content overflows in flex layout.
- Fix flex layout viz rendering issues in Safari.
- Fix form layout issues in Safari.
- Improve tab_card example.
- Improve visual design of footer in uitable.
- Invalidate page when layouts or a card's box is changed.
- Make stats cards not overflow 1-unit high zones.
- Prevent iframes from overlapping other elements in forms.
- Remove hard-coded "main" default zone in flex layouts
v0.12.1
- Fixed
- Fix
ui.frame()
overlapping other components inside a form card. - Fix form card component layout issues in Safari.
- Improve layout of stats cards when 1-unit high.
- Fix
v0.12.0
- Added
- Add
on
andhandle_on
APIs for query-handling and routing. - Add support for usage tracking via Google Analytics.
- Use
H2O_WAVE_APP_MODE
environment variable to determine app sync behavior (as an alternative to@app(mode=...)
). - Add experimental support for switching theme to a dark-mode "neon" theme.
- Add
- Changed
- Stricter type validation for ui.* API parameters.
- Stricter validation for non-empty strings when required (name of components, etc.)
- Fixed
- Center breadcrumbs vertically in alloted space.
- Fix breakages in Cypress test runner.
- Fix
ui.frame()
sizing in Safari. - Fix rendering in Safari for cards that display circular progress bars.
- Allow special characters in column names while using template strings for
ui.plot()
v0.11.0
- Added
- Make all cards render responsively in both grid and flex layouts.
- Add demo application that showcases various dashboards using flexible/responsive layouts.
- Add
ui.stats()
andui.stat()
for displaying metrics inline in forms. - Add
ui.section_card()
to demarcate sections on a page, with optional nested components. - Add
ui.stat_list_card()
to display lists of metrics, with optional icons and links. - Add
ui.stat_table_card()
to display tables of metrics, with optional icons and links. - Add
ui.inline()
to nest and display components horizontally inside a form. - Add
ui.footer_card()
to display footers at the bottom of pages. - Allow form cards to have titles.
- Allow disabling nav items.
- Add support for color variable in plot color ranges.
- Add support for color variable in plot shape/text fills and strokes.
- Allow tabs inside forms to trigger hash change navigation.
- Allow a tab card's selected tab to be accessed using the card's name.
- Publish
h2o-wave
package to Conda. - Example for displaying background task completion using a progress bar.
- Example for displaying Pandas frames as markdown tables.
- Example for plotting Pandas frames.
- OIDC refresh token is now accessible in the Python client.
- Make documentation searchable.
- Add table of contents for all Wave examples.
- Add tags to all examples; show tag on an index page.
- Changed
- Stats cards now dynamically resize to fit card size.
- Picker now displays suggestion list in advance.
- Center breadcrumbs vertically in flex layouts.
- Plot cards now dynamically resize to fit.
- Improve markdown rendering consistency across components.
- Center tabs vertically when used in flex layouts.
- Display tab cards without a background/padding.
- Display toolbar cards without a background/padding.
- Vega cards now dynamically resize to fit.
- Improve spacing between components contained in an expander.
- Fixed
- Fix Wave tour on Windows.
- Fix responsive layout in Safari.
- Fix bug where
--no-reload
of apps was using incorrect port. - Fix client-side warnings when using components nested recursively.
- Close dialogs properly when the top X button is clicked.