Releases: h2oai/wave
Releases · h2oai/wave
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.
v0.10.0
- Added
- Add support for responsive layouts.
- Add support for modal dialogs.
- Add ability to handle events from UI (
q.events
). - Allow handling mark selection events on plots.
- Allow apps to handle server startup/shutdown events via
on_startup
andon_shutdown
hooks. - Allow color picker to submit values immediately when changed (
trigger
attribute). - Allow collapsing nav items during initialization.
- Handle display and sorting of numeric and time valued columns in
ui.table()
. - Allow links/link-buttons to open links in new windows/tabs.
- API now ships with enums for functions expecting predefined constants as parameters.
- Read OIDC flags from env vars when available.
- Automatically refresh OAuth2 access token in the background if expired.
- Allow accessing OIDC access tokens in Python client.
- Allow icons on navigation items.
- Automatically transpose columns to rows in
data()
if not packed. - Allow adjust multiline textbox height.
- Allow picker to submit values immediately when changed (
trigger
attribute). - Treat
wave run foo/bar/baz.py
aswave run foo.bar.baz
. - Allow selecting nav links during initialization.
- Changed
- Cards display a "raised" effect on mouse over; Header, tab, toolbar and navbar have alternate styles.
- Display loading spinner automatically when a request is in flight.
- Mark
ui.command(data=...)
as deprecated (useui.command(value=...)
instead, similar toui.button(...)
.) - Remove redundant
ui.*
API for discriminated unions (ui.component()
, etc.), - Add column headers to CSVs downloaded from
ui.table()
; remove row names. - Change default Wave server port from 55555 to 10101 (55555 is special on OSX Big Sur).
- Center image in image card and preserve aspect ratio.
- Fixed
- Improve ability of
ui.frame()
andui.frame_card()
to handle large HTML content. - Fix tour on Windows.
- Use ellipsis on long column labels in
ui.table()
- Improve ability of