Skip to content

Releases: h2oai/wave

v0.18.0

18 Sep 02:34
Compare
Choose a tag to compare
  • 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 and ui.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

01 Jul 03:19
Compare
Choose a tag to compare
  • 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

v0.16.0

25 May 01:09
Compare
Choose a tag to compare
  • 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.

v0.15.0

08 May 01:24
Compare
Choose a tag to compare
  • 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

30 Apr 00:22
Compare
Choose a tag to compare
  • Fixed
    • Allow file uploads if auth is disabled (assume development mode).

v0.14.0

28 Apr 17:30
Compare
Choose a tag to compare
  • 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

06 Mar 05:47
Compare
Choose a tag to compare
v0.13.0 Pre-release
Pre-release
  • 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.
  • 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

12 Feb 17:14
Compare
Choose a tag to compare
v0.12.1 Pre-release
Pre-release
  • 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.

v0.12.0

04 Feb 06:48
Compare
Choose a tag to compare
v0.12.0 Pre-release
Pre-release
  • Added
    • Add on and handle_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.
  • 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

18 Jan 06:14
Compare
Choose a tag to compare
v0.11.0 Pre-release
Pre-release
  • 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() and ui.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.