Repository navigation
Full Changelog: v17.0.0...v18.0.0
This is the final version of H5Web on React 18. As such, we now enforce stricter peer dependencies on react@18.x and react-dom@18.x. The next version, aptly numbered H5Web 19, will move to React 19 ... at long last! 🥳
@h5web/app
Viewer
- 🎉 Support float16 data #2045 by @NAThompson
- 🐛
< Matrix >Fix sizing of cells with fixed-length strings #2029 - 🐛 Fix sidebar disappearing on small screen and in the VS Code extension #2022
- 🐛 Fix select-to-zoom with Ctrl key on Mac #2058
- 🐛 Fix opening a group with many child groups in the explorer #2059
- We were too eager in detecting supported NeXus groups (to show
NXbadges). Now we show anNXbadge on a child group only if we can tell easily that it's a supported NeXus group (e.g.NX_class=NXdataattribute).
- We were too eager in detecting supported NeXus groups (to show
- ⚡ Optimize phase/amplitude computations #2054 by @NAThompson
- ⚡ Optimise array bounds computations #2055 by @NAThompson
API
⚠️ {Breaking} The suspense fetch stores (valuesStore,entitiesStore, etc.) available throughuseDataContext()have been removed. The new way to query data from the provider is with Tanstack Query. If you only use our custom data access hooks (useDatasets,useValues, etc.) and never the suspense stores directly, you shouldn't need to change anything; otherwise, please check out the updated documentation. — #2046 #2049 #2051 #2052 #2053- ✨
[useDataContext]Provide three query factories via thequeriesobject:queries.entity(),queries.value()andquery.attrValues()for use with Tanstack Query's hooks (useQuery, etc.) [useDataContext]ProvidequeryClientinstance for advanced use cases, like cancelling queries or running queries manually[useDataContext]ProvideprogressStoreto allow subscribing to the progress of value queries- Add hook
useAttrValuefor querying an attribute's value - Re-export Tanstack Query's hooks and utilities to avoid having to install the library in consumer applications:
useQuery,useQueries,useSuspenseQuery,useSuspenseQueries,queryOptions,hashKey,CancelledError. ⚠️ {Breaking}getAttributeValueis now asynchronous and meant to be used inside a custom query function
- ✨
- 🎉 Rewrite
HsdsProviderfrom the ground up — #1926 #2061 #2067 #2075 #2083⚠️ {Breaking} Require hsds@1.x⚠️ {Breaking} Rename propfilepathtodomain- ✨ Support
hsds@1.x - ✨ Follow soft and external links
- ✨ Request datasets as binary when possible for performance and to avoid JSON serialization issues (
NaNandInfinityserialised as strings,int64cast tofloat64, etc.) - ⚡ Retrieve metadata of entities and attributes in batches to reduce number of requests and increase speed
- Support reference and opaque HDF5 datatypes
- Make
fetcherprop optional
[H5GroveProvider]Fetch float16 data as binary instead of JSON and returnFloat16Arrayinstead of plain number array #2064
@h5web/lib
- 🎉 Support
Float16Arraythroughout #2045 by @NAThompson - ✨
[DimensionMapper]Add propwithSlicingControlsto show next/previous buttons and stride input below every slider #2062- Add prop
defaultStrideto allow changing the default stride - Add
--h5w-slicingControls-*CSS variables for customization
- Add prop
- ✨
[HeatmapVis]Add propignoredColorto set a color for ignored values (instead of transparent) #2065 - 🐛 Fix support for
three >= 0.183#2032 - 🐛 Fix select-to-zoom with Ctrl key on Mac #2058
- 🐛
[DimensionMapper]The slicing sliders now update when thedimMappingprop changes #2084 - ⚡ Optimise array bounds computations #2055
- Expose utility
getAxisOffsetsto compute the space needed around the visualization for the title, axes labels, etc. — useful for implementing advanced layouts 079c700 #2024 by @PeterC-DLS - Expose utility
createArrayFromViewto create a fresh ndarray from a sliced and/or transposed ndarray view b35a934 #2024 by @PeterC-DLS [SelectionTool]Propchildrenis now optional[ErrorBars]Change default value of propvisibletotrueTiledHeatmapMesh(experimental) must now be wrapped in aTiledHeatmapProviderand theTilesApi#getfunction can be async, so you no longer need to implement a suspense fetch store
Screenshots
Float16 support
New Contributors
- @NAThompson made their first contribution in #2045