silx-kit/h5web: H5Web 17
Authors/Creators
- 1. ESRF
- 2. Diamond Light Source Ltd
- 3. Freiburg University
- 4. @physicsxltd
Description
Full Changelog: https://github.com/silx-kit/h5web/compare/v16.0.1...v17.0.0
- :warning: {Breaking} All three packages are now ESM-only. We no longer provide CommonJS bundles. This shouldn't be an issue if you're using a modern bundler like Vite but if you run into issues or need advice, don't hesitate to open a discussion thread. #1924
- :warning: {Breaking} We now target Baseline Widely Available features of the web platform. This means that browser versions released more than two and a half years may no longer be supported out of the box. That being said, H5Web 17 still works down to Firefox 102 ESR, which was released in 2022, and it should be possible to support even older versions by polyfilling web platform features. #2009
- :performing_arts: The mock demo has been significantly reworked with a clearer, more self-explanatory structure #1994
@h5web/app
Viewer
- :tada: Improve sidebar resizing and toggling experience #1987
- The width of the sidebar is now saved and restored automatically when toggling or reopening the viewer.
- The sidebar can be closed and reopened by dragging the splitter all the way to the left and then back.
- Double-clicking on the splitter resets the sidebar to its default size.
- The sidebar is now fully accessible — it can be resized and opened/closed entirely with the keyboard.
- :tada: Maintain zoom level and pan position when possible #1941
- The zoom/position is saved transparently for end users, and independently for each visualization (Line, Heatmap, etc.)
- For Heatmap, RGB and Scatter, the zoom/position is restored as long as both axes domains remain the same.
- For Line, the zoom/position is restored as long as the abscissa domain remains the same and the user zooms only on the
xaxis, not theyaxis.
- :tada: Pick better icons in explorer based on dataset shape and dimensions #1976
- :tada:
< Heatmap, Line, NX Heatmap, NX Line >Add support for NetCDF attributesvalid_min,valid_maxandvalid_range#1956 - :tada:
< RGB, NX RGB >Support RGBA/BGRA images andrgba-imageNeXus interpretation #1979 - :tada:
< Scalar >Support array datasets (i.e. arrays of "scalar" values in the HDF5 sense) that are not supported by other visualizations #1768 #1770 - :sparkles:
< NX Heatmap, NX Line >Add support for_FillValueattribute (already supported on Heatmap and Line) #1956 - :sparkles:
< Complex Line >Support unwrapping complex phase values by removing 2π discontinuities #1947 - :sparkles: Show "NX" badges in explorer where NeXus visualizations are actually known to be supported instead of using less accurate heuristics #1990
- :sparkles:
< Line >Update line colors automatically when switching between light and dark mode #1968 - :sparkles:
< Line >Improve visibility of points in dark mode #1968 - :sparkles: Improve user experience when copying path of selected entity from top bar #1936
- :sparkles: Bring support for
_FillValueattribute in line with NetCDF spec — the fill value now acts as an invalid upper bound (when positive) or lower bound (when negative) instead of as a single invalid value #1956 - :zap: Optimise domain computations to reduce lag when toggling errors in toolbar #1950
- :bug:
< NX Scatter >Force ascending axes regardless of order of axes values #1989 - :bug: Fix ordering of compound fields with number-like names #1970
- :bug: Fix flickering of toolbar controls #1927
- :bug: Disable <kbd>Ctrl</kbd>+left click context menu on Mac to fix selection-based zoom interactions #1985
- :bug: Fix keyboard navigation in explorer with empty groups #1934
- :bug:
< NX Heatmap >Fix "Keep ratio" toggle not working right away when axes have different units #1954
API
- :warning: {Breaking}
[H5GroveProvider]Require h5grove@4.0.0- v3.0.0 makes trailing slashes optional on all endpoints #1931
- v4.0.0 returns compound fields metadata in an array for proper ordering #1970
- :warning: {Breaking} The
shapeproperty ofDatasetandAttributeobjects, which was previouslynumber[] | null, is now aShapeobject — to access the dimensions of an array dataset, usedataset.shape.dimsinstead ofdataset.shape#1952 - :warning: {Breaking}
assertDatasetValueis renamed toassertValue#1951 - :warning: {Breaking} Remove hooks
useDatasetValue,useDatasetsValuesandusePrefetchValues— use the newuseDatasetsanduseValueshooks instead #1964 - :tada: Add
useDatasetshook to provide a declarative, schema-based alternative touseEntityto retrieve multiple datasets at once without having to invoke type guards or assertions afterwards #1963 - :tada: Add
useValueshook to retrieve multiple dataset values and/or slices at once in a more flexible and convenient way than the now-removeduseDatasetsValueshook #1964 - :sparkles: All type guards and assertions that accept
Datasetobjects, likehasScalarShape,assertStringType,assertValue, etc. now also acceptAttributeobjects — this allows type-checking the metadata and values of HDF5 attributes #1951 - :sparkles: Add utilities
hasAttribute,findAttribute,findScalarNumAttr,findScalarStrAttr, andgetAttributeValueto work with HDF5 attributes in a more convenient way #1953 #2010 - :sparkles: Add generic guards and assertions
isShape,isType,hasShape,hasType,assertShapeandassertType#1963
@h5web/lib
- :warning: {Breaking}
[DataCurve]Change defaultglyphTypefrom cross to circle, and increase defaultglyphSizefrom 6px to 7px to improve glyphs visibility on 4k screens and in dark mode #1968 - :warning: {Breaking}
getDomainandgetDomains(and their memoised versionsuseDomainanduseDomains) now accept an options object as second parameter to specify thescaleType,errorsarray(s), andignoreValuefunction #1950 - :warning: {Breaking}
getAxisDomainanduseAxisDomainnow accept an options object as second parameter #1989 - :tada:
[RgbVis]Support RGBA and BGRA data arrays #1979 - :sparkles: Add
ignoreValueoption togetDomainsanduseDomains#1950 - :sparkles: Add
includeErrorsoption togetDomain,getDomains,useDomainanduseDomainsto control whether to return the domain(s) with or without the errors — note that all four utility functions always compute and memoise the domains both with and without errors internally for performance reasons, so this option can be toggled as often as needed #1950 - :sparkles: New
KeepZoomcomponent (andKeepZoomProvider) to maintain camera zoom when possible acrossVisCanvasremounts #1941 - :sparkles:
[LineVis]Update line colors automatically when switching between light and dark mode #1968 - :sparkles: Add
forceAscendingoption togetAxisDomainanduseAxisDomainto force computed domain to remain ascending regardless of order of axis values #1989 - :sparkles: Add CSS variables
--h5w-info--color,--h5w-scalar--color,--h5w-scalar--fontFamilyand--h5w-scalar-fallback--color#2006 #2008 - :bug:
[ScatterVis]Force ascending axes regardless of order of axes values #1989 - :bug:
[Toolbar]Fix flickering of toolbar controls #1927 - :bug:
[DefaultInteractions, PreventDefaultContextMenu]Disable <kbd>Ctrl</kbd>+left click context menu on Mac when it conflicts with other interactions like selection-based zoom #1985 - :bug:
[Separator]Fix passing custom class name #1935
@h5web/h5wasm
Upgrade h5wasm from 0.8.7 to 0.10.1. It is now based on HDF5 2.0.0 — cf. https://github.com/usnistgov/h5wasm/pull/120
- :warning: {Breaking} Require
h5wasm-plugins@0.3.0if installed #1931 - :tada: Support bitgroom and bitround filters #1931
- :sparkles: Show clearer error when there's not enough memory available to read data #1938
- :sparkles: Improve display of errors when attempting to read invalid metadata #1939
- :bug: Fix errors with some compression filters #1948
Screenshots
Better dataset icons in explorer
<img width="122" height="127" alt="image" src="https://github.com/user-attachments/assets/1eae8e63-459f-4242-9337-b37d07ff800e" />
Better sidebar resizing and toggling experience
Screencast from 2026-03-18 10-03-54.webm
Maintain zoom/position
Screencast from 2026-04-10 10-38-25.webm
NetCDF valid_range, valid_min and valid_max
<img width="1202" height="674" alt="image" src="https://github.com/user-attachments/assets/96e47ae5-8e8f-4183-83b0-304769ff9f64" />
Unwrap complex phase
Screencast from 2026-01-16 13-06-22.webm
Stack of binary images
<img width="1331" height="618" alt="image" src="https://github.com/user-attachments/assets/5c4bae3b-8851-4a8c-b3a6-0e8b5562ccf1" />
Files
silx-kit/h5web-v17.0.0.zip
Files
(3.8 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:a7c1410b7e14865a4411cac3a6297c2c
|
3.8 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/silx-kit/h5web/tree/v17.0.0 (URL)
Software
- Repository URL
- https://github.com/silx-kit/h5web