Skip to content

v10.1.0

Compare
Choose a tag to compare
@axelboc axelboc released this 18 Dec 13:29
· 388 commits to main since this release
81c7c66

Full Changelog: v10.0.0...v10.1.0

🎉 This release brings initial support for loading compressed datasets with H5WasmProvider. Keep an eye out for upcoming releases of myHDF5 and the VS Code extension, or give it a try right away in the h5wasm demo! Big thanks to @bmaranville for making common HDF5 compression plugins available through the h5wasm-plugins package. 🏆

⚠️ This version includes a change that unwillingly breaks support for Create React App. However, since CRA is no longer maintained, we have decided to not revert the change. If this is causing issues with other set-ups, please let us know.

@h5web/app

  • 🐛 < NX Heatmap > Fix min axis array length off by 1 in error message #1521

@h5web/lib

  • ✨ New useGeometry hook, H5WebGeometry abstract class, and createBufferAttribute and createIndex utilities, to ease creation/update of buffer geometries #1515
    • The DataCurve component is now a simple abstraction on top of three new components, each of which comes with its own custom H5WebGeometry class(es). You are free to use these components directly, or to reuse, extend or just get inspiration from the new geometry classes for your own custom components:
      • Line + LineGeometry
      • Glyphs + GlyphsGeometry
      • ErrorBars + ErroBarsGeometry and ErrorCapsGeometry
    • Other experimental components have been refactored and now come with their own custom geometry classes as well (ScatterPointsGeometry, SurfaceMeshGeometry).
  • 🐛 [HeatmapVis] Fix min axis array length off by 1 in error message #1521
  • 🐛 [LineVis] Forward ignoreValue prop to auxiliary DataCurve(s) #1515

@h5web/h5wasm

  • ✨ Allow consumer applications to load the following compression plugins on demand: Blosc, bzip2, LZ4, LZF, SZ, ZFP and Zstandard #1522
    • Consumers must implement the new function prop getPlugin of H5WasmProvider. This async function is called whenever a dataset compressed with one (or more) of the supported plugins is requested; it receives the name of the plugin as argument and should return the plugin's *.so shared library file as an array buffer if available.
    • Fetching the plugins' library files is the responsibility of the consumer application, as this depends on how/where the files are served, whether they are loaded via a bundler like Vite or webpack, etc. For an example of loading plugin files from the h5wasm-plugins package in a Vite project, see plugin-utils.ts in the demo project.
  • 🐛 Fix NextJS import issue #1525