H3js v4.0.1 Release Notes

Release Date: 2022-09-15 // 11 days ago
  • ๐Ÿ›  Fixed

    • Changing an internal float to double improves the precision of geographic coordinate output (#652)
    • ๐Ÿ›  Fixed compacting all children of a resolution 0 cell (#679)
    • ๐Ÿ›  Fixed possible signed integer overflow in maxGridDiskSize (#686)
    • ๐Ÿ›  Fixed possible use of uninitialized values in cellToVertex (#683, #690)
    • ๐Ÿ›  Fixed possible out of bounds read in localIjToCell (#684)
    • ๐Ÿ›  Fixed possible memory leak in compactCells (#685)
    • ๐Ÿ›  Fixed possible out of bounds read in areNeighborCells (#677)
    • ๐Ÿ›  Fixed possible memory leak in cellsToLinkedMultiPolygon (#673)

    ๐Ÿ”„ Changed

    • ๐Ÿ— Build script does not use toolchain file (#641)
    • โœ‚ Removed a duplicated include preprocessor directive (#682)
    • ๐Ÿ‘Œ Improvements to the fuzzer suite and their automatic runs in CI (#671, #674, #687)
    • โœ… Increased test coverage (#642)
    • โž• Added a fuzzer targetting internal algos.c functions (#675)

Previous changes from v4.0.0

  • ๐Ÿ’ฅ Breaking changes

    • ๐Ÿ“‡ Rename functions according to the terminology RFC (#622, #586, #571, #403, #466, #495, #466)
    • Functions that can experience errors now have an H3Error return value. (#617, #586, #581, #551, #550, #509, #505, #507, #508, #503, #478, #468, #436, #359)
    • Cell count parameters use int64_t instead of int.
    • polygonToCells (previously polyfill) accepts a flags argument for future expansion. (#570)
    • cellToLocalIj and localIjToCell accept a mode argument for future expansion. (#586)
    • exactEdgeLength functions renamed to edgeLength (#639)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix polyfill bug when vertex latitude exactly matches cell center. (#603)
    • โœ… A number of issues detected via unit tests and fuzzers were fixed. (#568, #562, #558, #559, #560, #430)
    • polygonToCells returns an error if Infinity is passed in. (#636)

    ๐Ÿ”„ Changed

    • โœ… The file CMakeTests.cmake is no longer included if ENABLE_TESTING is off. (#609)

    โž• Added

    • Vertex mode and associated functions: (#422, #420, #417)
      • cellToVertex(cell, vertexNum)
      • cellToVertexes(cell, out)
      • vertexToLatLng(vertex, out)
      • isValidVertex(vertex)
    • h3 CLI application. (#556, #497)

    Other changes

    • Generally use lng instead of lon
    • Closed-form implementation of numHexagons
    • A number of fuzzer harnesses are now included in the H3 core library. (#557, #553, #545, #433)
    • โž• Additional benchmarks are added and benchmarks are regularly run in CI. (#524, #518)