0.3.4 - 2026-10-11

← All releases

Change Who is affected What to do
The global JHGrid from a <script> tag is now a function (the constructor); it used to be an object holding the exports Code that detects the library with typeof JHGrid === 'object', which is now 'function' Test with typeof JHGrid !== 'undefined' or typeof JHGrid === 'function'
Every name reached through the global, such as JHGrid.JHGrid and JHGrid.CellRenderers, still resolves Nobody Nothing. The upgrade needs no code change

Changed

  • The global JHGrid in the CDN builds (jhgrid.min.js, jhgrid.js) is the grid constructor. It used to be the module namespace object, so the constructor had to be taken out of it as JHGrid.JHGrid, and the same page of documentation called the library two different ways: new JHGrid(...) in the ESM examples and new JHGrid.JHGrid(...) in the <script> ones.

    <script src="https://cdn.jsdelivr.net/gh/JH-Grid/JHGrid@latest/dist/jhgrid.min.js"></script>
    <script>
      const grid = new JHGrid({ container: '#grid', data: rows });          // the way to write it now
      const old  = new JHGrid.JHGrid({ container: '#grid2', data: rows });  // still works
    </script>
    

    CellRenderers, CellEditors, registerCellRenderer, registerCellEditor, DataManager, Renderer, DEFAULT_THEME, computeHeaderCells, GRID_CLASSES, VERSION, SUPPORTED_BROWSERS and the locale packs are still properties of the global. The ESM build (jhgrid.esm.js) and the npm package are unchanged.

Docs

  • The framework section of getting-started.md is now one shared recipe. There are no framework wrapper packages, and the library is used the same way under any of them: create it once the element exists, keep the instance, and call destroy() when the element goes away.

  • api.md, browser-support.md and architecture.md opened straight into a table or a diagram. Each now starts with a sentence saying what the page is for.


This site uses Just the Docs, a documentation theme for Jekyll.