H2oai Wave Versions Save

Realtime Web Apps and Dashboards for Python and R

v0.26.0

10 months ago
  • Added
    • New: Multiuser Wave University.
    • New: Make Wave University responsive (#2031)
    • New: Make Theme generator responsive. (#2029)
    • New: Add 'click' and 'tool_change' events to image annotator. #2010 (#2026)
    • New: Markdown code syntax highlighting. #2019 (#2024)
    • New: Listbuffer (for chatbot card). #1944 #1928 (#2017)
    • New: Support Py3.11 for VSC extension. (#2015)
    • New: Add mypy typing support.
    • New: Allow ui.table to fill the remaining card height #2013 (#2014)
    • New: Keep sort order after applying filters and (or) search #1863 (#1898)
    • New: Allow explicit table filters also in non-paginated table.
    • New: Allow waved configuration via a configuration file #481 (#2005)
    • New: Add platform and arch params to wave fetch. Closes #1910.
    • New: Multiuser Tour. (#1979)
    • New: Notify about client disconnect. (#2001)
    • New: Add disabled choices support for dialog dropdown #1959 (#1961)
    • New: Make tour responsive (#1960)
    • New: Support external links in navigation #1952 (#1958)
    • New: Split button #1887 (#1906)
    • New: Add compact attribute for markup card #1922 (#1937)
    • New: Render dashboard demo app links in header and add h2o logo #1867 (#1935)
    • New: Add markdown support for chatbot_card. Closes #1927
    • New: Chatbot card. #1904 (#1907)
    • New: Sync ensure fresh token. (#1894)
    • New: Allow specifying '1' for height in copyable text to fill the remaining space #1823 (#1879)
    • New: Allow by-name component access. #148 (#1870)
    • Docs: Structure pages guide, add by-name component access update.
    • Docs: Show curly braces in API docs correctly #1880 (#2027)
    • Docs: Add a ProcessPoolExecutor code sample to background jobs section.
    • Docs: Add Nginx conf for running wave apps behind reverse proxy. Closes #1941
    • Docs: Add Azure deployment blog post.
    • Docs: Add separate project templates page #1947 (#1951)
    • Docs: Add OIDC FAQ (#1933)
    • Docs: Make it clear that table events are only fired if pagination is set.
    • Docs: Update Keycloak setup instructions to adhere to the latest version (instead of 11 versions behind).
    • Docs: Improve buffers explanation.
    • Docs: Add a HF Spaces deployment link.
    • Docs: Fix plot labels example to use the correct data.
    • Docs: Add EC2 deployment blog post link.
    • Docs: Include Lightwave blog post and integration examples within the README.
  • Fixed
    • Fixed: Prevent components from being overlapped by the table sticky header #1980 (#1996)
    • Fixed: Set default width for components #1974 (#1988)
    • Fixed: Make sure plots take all available card space.
    • Fixed: Update plot color in theme_generator.py #1971 (#1972)
    • Fixed: Make sure the args order is the same as in 0.24. (#1965)
    • Fixed: Do not render empty strings as table filter options #1905 (#1939)
    • Fixed: Display tags in wrapped cells correctly #1917 (#1925)
    • Fixed: Handle non-form component with name edgecase for by-name access.
    • Fixed: Do not open menu on Esc key press #1866 (#1891)
    • Fixed: Update wave args of ui.time_picker on every time change #1889 (#1890)
    • Fixed: Prevent copy button from overlapping multiline labels in ui.copyable_text #1883 (#1892)
    • Fixed: Use proper BASE_URL for static assets.

v0.25.3

1 year ago

v0.25.2

1 year ago

v0.25.1

1 year ago
  • Added
    • Docs: Fix plot labels example to use the correct data.
  • Fixed
    • Fixed: Use proper BASE_URL for static assets.

v0.25.0

1 year ago
  • Added
    • New: Make the popup of ui.time_picker visible over the side panel #1833 (#1839)
    • New: Forward HTTP headers to the Wave app. #1704 (#1770)
    • New: Lightwave #1796 (#1818)
    • New: Add direction attribute to ui.inline. #1780 (#1828)
    • New: Allow dynamic changes for image_annotator items (annotations).
    • New: Allow specifying height for ui.inline #1780 (#1820)
    • New: Keyboard shortcuts for ui.image_annotator #1596 (#1795)
    • New: Allow single selection for ui.table (#1814)
    • New: Emit event on table selection (#1810)
    • New: Add spinner attribute to ui.progress #1747 (#1771)
    • New: Make download attribute work more consistently. #999 (#1782)
    • New: Remove unnecessary margin in ui.toggle.
    • New: Log the upstream error if oauth token exchange fails. #1761 (#1762)
    • New: Wrap pie stat legend items if not enough space. Closes #1707.
    • New: Add “align” parameter for ui.inline #1535 (#1737)
    • New: Allow adjustable height of copyable text #1308 (#1694)
    • New: Allow extension-less file downloads. #1627 (#1635)
    • New: Allow users to remove paddings on frame cards #495 (#1735)
    • New: Add 'tooltip' for table markdown cell #1645 (#1736)
    • New: Show a warning when at least one OIDC param detected, but not all are set #1711 (#1733)
    • New: Add highlight for selected groups/rows #1713 (#1725)
    • New: Wave university Pypi publish (#1712)
    • New: Render table groupby always on RHS and search on LHS. #1671 (#1709)
    • Docs: Document separate machines deployment.
    • Docs: Make ui.menu docs correct. Image, label and icon are not mutually exclusive.
    • Docs: Make instructions around importing main clear. Closes #1804.
    • Docs: Improve deployment instructions. #1807 (#1808)
    • Docs: Improve HTTPS instructions. #1805
    • Docs: Make sure instructions for setting up win virtual env work.
    • Docs: Improve server configuration section.
    • Docs: Fix safari lightbox in landing page.
    • Docs: Add app showcase to landing page (#1746)
    • Docs: Add more docs about available Wave colors. Closes #1722.
    • Docs: Show how to use local CSS file as stylesheet. (#1723)
    • Docs: Fix the footnote links not working #1720 (#1721)
  • Fixed
    • Fixed: Prevent table reset on items change for paginated table. #1724 (#1861)
    • Fixed: Display only the plot data inside the plot tooltip #1836 (#1841)
    • Fixed: Use proper host when starting up the Wave app via wave run. (#1843)
    • Fixed: Do not prevent app from startup if --no-autostart is specified during wave run command.
    • Fixed: Mutate page state properly during dropdown interaction (q.args). (#1838)
    • Fixed: Use proper encoding when writing to files in Wave university to avoid Windows errors.
    • Fixed: Disable Select/Deselect all buttons when ui.dropdown is disabled #1821 (#1822)
    • Fixed: Do not serve JS files with plaintext MIME type on Windows by upgrading go to 1.19. (#1811)
    • Fixed: Make ui.notification_bar to overlay the ui.side_panel (#1813)
    • Fixed: Allow groupby for paginated table as well, fire correct event. Closes #1798
    • Fixed: Prevent memory leak within lightbox.
    • Fixed: Do not crash wave fetch if cannot rename (Windows Quick Access related). Closes #1479
    • Fixed: Remove drive letter from public/private dir that Windows prepends if leading slash.
    • Fixed: Allow primitive values in wide stats value/aux_value, not just expressions.
    • Fixed: Support image popup on older Safari versions as well.
    • Fixed: Minor image annotator fixes #1726 (#1742)
    • Fixed: Make docs home page button visible in dark mode #1740 (#1741)
    • Fixed: Table grouped incorrectly after rows change #1687 (#1724)
    • Fixed: Avoid tooltip wrapper recreation causing weird scroll jumping issues in table. #1731 (#1738)
    • Fixed: Small header color fixes.
    • Fixed: Use the same line width for both rect and polygon in image annotator.
    • Fixed: Allow all valid CSS color types when computing RGB.
    • Fixed: Make disabled ui.button icon and text colors consistent. #1664 (#1710)
    • Fixed: Use proper static dir name when mundging index.html.
  • Performance Improvements
    • perf: Replace ttf font with woff.
    • perf: Copy files instead of sending over HTTP if Wave app and Wave server are running on the same machine. #982 (#1765)

Potential breaking change

Prefix CSS vars to prevent global namespace pollution. Closes #1812

v0.24.2

1 year ago
  • Added
    • Docs: Add more docs about available Wave colors. Closes #1722.
  • Fixed
    • Avoid tooltip wrapper recreation causing weird scroll jumping issues in table. #1731 (#1738)
    • Make docs home page button visible in dark mode #1740 (#1741)
    • Minor image annotator fixes #1726 (#1742)

v0.24.1

1 year ago

v0.24.0

1 year ago

Changelog

  • Added
    • New: Add required prop to ui.file_upload. #1503 (#1633)
    • New: Added label parameter to ui.menu. #1577 (#1663)
    • New: Allow changing the value of copyable table dynamically. #1154
    • New: Allow table column alignment. #1659 (#1670)
    • New: Image lightbox component - fullscreen image detail. #1542 (#1662)
    • New: Make ui.text_annotator to respect \n and \r in text. #1358 (#1612)
    • New: Polygon support for image annotator. #1597 (#1643)
    • New: Wave init CLI - app templates. #225 (#1636)
    • Docs: Add github star count to landing page. #1619 (#1682)
    • Docs: Remove vertical scroll overflow in Tour examples. #776 (#1680)
    • Docs: Add Discord to footer.
    • Docs: Add a note about doubleclick in the table.
    • Docs: Add a note about possible q.site.upload error on Windows.
    • Docs: Add a note about starting the Wave app on different port.
    • Docs: Add a section about app-wide loading spinner.
    • Docs: Add append conda-forge channel when using conda due to some dependencies not being present in default conda channel. (#1686)
    • Docs: Add paginated table with WaveDB example.
    • Docs: Add social media icons to header RHS. #1653 (#1658).
    • Docs: Make ensure_fresh_token more clear.
    • Docs: Minor improvements to OIDC dev setup.
    • Docs: Small note about website installation prerequisites.
    • Docs: Update installation instructions for docs development.
  • Fixed
    • Add support for unicode in table export. #1626 (#1674)
    • Add support for dynamically chinging dropdown value. #1574 (#1621)
    • Allow formatting for more than just 1st ui.mark. #617 (#1676)
    • Allow using expressions in plots. Closes #1613
    • Compute contrast for any valid CSS color. Closes #1647
    • Do not start Wave server via wave run if --no-autostart is specified.
    • Don't access id_token if oauth2 workflow previously failed (fixes panic) (#1690)
    • Prevent shrunk code editor in Tour.
    • Prevent ui.wide_series_stat moving when textual values change #1592 (#1593)
    • Reduce space between top toolbar and table #1492 (#1681)
    • Saturate spectrum colors properly based on primary color. #1688 (#1700)
    • Scan file dependencies deterministically - VSCode extension.
    • Set HTTP resp status code in the end of ensure_fresh_token to properly set HTTP headers.
    • Support multiline selections in text_annotator (regression). (#1628)
    • Use correct defaults in IDE snippets.
  • Changed
    • Prefix UI assets folder to prevent clash with public/private dirs option. This does not affect Wave apps other than allowing using 'static' as folder value in public/private dir option.
  • Security
    • Unsafe tar extract - CVE-2007-4559 Patch (#1668)

Breaking change

Although Wave doesn't have any breaking changes for this release, there is a new version of htpx library, that impacts our q.site.uplink function.

If you feed it with raw bytes, then you are fine. However, if you supply the file handle of a file stored on your local file system, make sure it's open in binary mode.

This means that

file_handle = open('local_file.svg', 'r')
await self.site.uplink('test_stream', 'image/svg+xml', file_handle)

will not work. Instead, you just need to open your local file in binary read mode (rb).

file_handle = open('local_file.svg', 'rb')
await self.site.uplink('test_stream', 'image/svg+xml', file_handle)

New Contributors

Full Changelog: https://github.com/h2oai/wave/compare/v0.23.0...v0.24.0

v0.23.1

1 year ago

Changelog

  • Fixed
    • Multiline selection support for ui.text_annotator #1628

v0.23.0

1 year ago

Changelog

  • Added
    • New: Wave studio.
    • New: Time picker component #1537.
    • New: Add explicit refresh token callable. #1230 (#1555)
    • New: Add more detailed disconnect message. #1579 (#1580)
    • New: Add remove all selections option for ui.text_annotator #1470 (#1563)
    • New: Add support for unix epochs in table time columns.
    • New: Allow dir uploads. #1584 (#1585)
    • New: Allow file upload cancel #1205 (#1410)
    • New: Allow plot marks to be non-interactive. (#1332)
    • New: Allow skipping Wave server TLS verification #1547 (#1556)
    • New: Auto rotate plot axis labels to prevent overlap.
    • New: Character level annotations for ui.text_annotator #1357 (#1471)
    • New: Do not apply card margin when card height/width equals 0px. (#1517)
    • New: Make Tour app usable in air-gapped envs.
    • New: Make Wave studio usable in air-gapped envs.
    • New: Make wave fetch OS/arch-aware. Closes #1514
    • New: Remove bottom nav item padding to conserver space. Closes #1565
    • Docs: Add OS guides for downloading binaries.
    • Docs: Add a note about Conda not containing the server. #1250
    • Docs: Add a note about IDE plugins.
    • Docs: Add a note about supported units during server/app configuration.
    • Docs: Add a note about tabs in markdown.
    • Docs: Add a note about turning off the directory listing for public/private dirs option. Closes #1561.
    • Docs: Add a note waved requirement for scripts.
    • Docs: Add code pointers to core apps readmes.
    • Docs: Add docs for serving image files
    • Docs: Add inline color picker example.
    • Docs: Add medium blog post to our background jobs docs.
    • Docs: Add missing asset for plot_events_disabled.py example (#1567)
    • Docs: Add page about Custom CSS and how to write CSS selectors.
    • Docs: Improve tabs documentation.
    • Docs: Show how to use table menu in real-world scenario.
    • Docs: Update the changelog.
    • Docs: Use correct separator for public/private dir. Closes #1502
  • Fixed
    • Account for baseURL when deleting files (site.unload). #1557 (#1558)
    • Align button icon. Closes #837.
    • Allow setting Textbox "value" dynamically #1578 (#1606)
    • Allow user to unselect user typed choice #1523 (#1533)
    • Clear previous error when file with correct extension is uploaded #1505 (#1532)
    • Do not inline choice_group options if inline is not set.
    • Do not render color picker label if not specified.
    • Let wave app programmatically change value and choices for combobox #1501 (#1538)
    • Make value change selected tab #349 (#1540)
    • Missing tooltips for histogram with time x_scale #1474 (#1594)
    • Prevent font descenders overflow clipping in plots.
    • Prevent memory leak caused by unclosed file handles during site.upload. (#1591)
    • Prevent plot overflow. Closes #1546.
    • Prevent ui.wide_gauge_stat from moving when textual value changes #1446 (#1566)
    • Ranged plot tooltip values are not shown properly #1473 (#1486)
    • Remove requireJS and pyodide incompatibilty. Closes #1512.
    • Show correct colors for dark themes thanks to isInverted. #1608 (#1614)
    • Show uploaded files after successful file upload (#1611) #1607
    • Store active example process in user scope rather than client scope.
    • Unable to control resizing of textbox when height is set in % #1490 (#1518)
    • Use Inter font during theme change as well #1451 (#1487)
    • Use all textfield props in masked textfield component as well #1536 (#1539)
    • Use canvas renderer to avoid subtle G2 bugs. #1562 (#1587)
    • Use host if post_logout_redirect_url not set (#1504)
  • Performance
    • Do not recreate Vega card, but update instead - prevent flicker. #1475 (#1534)