Changelog

All notable changes to this project will be documented in this file.

Critical bugfixes or breaking changes are marked using a warning symbol: ⚠️

The format is based on Keep a Changelog.

Versioning

The H3 core library adheres to Semantic Versioning. H3-pg has a major.minor.patch version scheme. The major and minor version numbers of H3-pg are the major and minor version of the bound core library, respectively. The patch version is incremented independently of the core library.

Because H3-pg is versioned in lockstep with the H3 core library, please avoid adding features or APIs which do not map onto the H3 core API.

Unreleased

Changes that have landed in master but are not yet released. Click to see more.

4.1.0 - 2023-01-18

  • Bump h3 to v4.1.0
  • Add bindings for h3_cell_to_child_pos and h3_child_pos_to_cell.
  • Use CMake for entire build (see #70)
  • Add helper to fix pass-by-value migration (see #111)
  • Allow distance operator <-> to work for cells at different resolutions (using center child).

4.0.3 - 2022-11-04

  • Add BRIN operator class (see #97, thanks @mngr777)
  • Split PostGIS multipolygons by 180th meridian (see #90, thanks @mngr777)
  • Add aggregate functions for h3_postgis (see #91, thanks @mngr777)
  • Add recursive h3_grid_path_cells (see #93, thanks @mngr777)

4.0.2 - 2022-09-19

  • Fix broken function renames (see #87, thanks [@Kompza], @mngr777)

4.0.1 - 2022-09-19

  • Bump h3 to v4.0.1 (was locked on rc5 for the previous release)
  • Add compile flag support check (see #78, thanks @mngr777)
  • Split polygons by 180th meridian (see #76, thanks @mngr777)

4.0.0 - 2022-08-24

  • ⚠️ Update h3 core library to v4.0.0. Almost all functions have been renamed to align with h3 core v4. Please take care when updating. You can see a list of changed function names in the core library documentation.
  • ⚠️ The PostGIS functions has been extracted into a separate extension h3_postgis. Install using CREATE EXTENSION h3_postgis;.
  • Enable link time optimization (see #75, thanks @mngr777)
  • Handle non-polygons for h3_polyfill (see #55, thanks @Lokks)
  • Take advantage of the new v4 error codes (fixes #71, thanks @kalenikaliaksandr)

3.7.2 - 2022-04-13

  • Allow NULL in holes array for h3_polyfill (see #64, thanks @mngr777)
  • Allow >1Gb memory allocations for h3_polyfill (see #65, thanks @mngr777)

3.7.1 - 2021-06-23

  • Update h3 core library to v3.7.1

3.7.0 - 2020-09-30

  • ⚠️ Default unit for h3_hex_area and h3_edge_length changed to kilometers
  • Update h3 core library to v3.7.0
  • Add h3_point_dist and h3_exact_edge_length bindings
  • Add distance operator <->
  • Fix h3_to_geography and h3_to_geometry refering to removed functions if extension was upgraded from pre-1.0
  • Add optional input validation in geoToH3 (see #41, thanks @trylinka)
  • Support unit as string argument in h3_hex_area and h3_edge_length (and flag previous version for deprecation)

3.6.5 - 2020-08-14

  • Add support for partitioning by hash (see #37, thanks @abelvm)
  • Fix difference in function flags between fresh install and upgrades (see #38, thanks @abelvm)

3.6.4 - 2020-06-29

  • Update h3 core library to v3.6.4

3.6.3 - 2020-04-08

  • Build h3 core using release flag for 2x/3x performance (see #23, thanks @komzpa)

3.6.2 - 2020-04-07

This update will corrupt your h3indexes unless your are using a 32-bit build of PostgreSQL (see #31). If you upgrade to 4.0.4 you can use the function h3_pg_migrate_pass_by_reference(h3index) to retrieve your old h3 cells. See #111.

  • Add parallel safety flags to PostGIS functions (see #19, thanks @komzpa)
  • Add B-Tree sort support (see #24, thanks @komzpa)
  • ⚠️ Make type h3index pass-by-value on supported systems (see #22, #26, thanks @komzpa)
  • Update h3 core library to v3.6.3

3.6.1 - 2019-12-09

  • Add &&, @> and <@ operators for overlaps, contains and contained by respectively
  • Fix PostgreSQL 12 build (see #18, thanks @komzpa)
  • Update h3 core library to v3.6.1

3.6.0 - 2019-10-07

  • Add support for bigint cast (see #9, thanks @kmacdough)
  • Add h3_to_center_child binding
  • Add h3_get_pentagon_indexes binding
  • Update h3 core library to v3.6.0

3.5.0 - 2019-08-01

  • Add h3_get_faces binding
  • ⚠️ Replace h3_hex_area_m2 and h3_hex_area_km2 with h3_hex_area
  • ⚠️ Replace h3_edge_length_m and h3_edge_length_km with h3_edge_length
  • ⚠️ Remove hex_range, hex_ranges and hex_range_distances
  • Remove h3 core library version check, since we know which version we are linking
  • Fix PostgreSQL 12 build (see #4, thanks @komzpa)
  • Update h3 core library to v3.5.0

3.4.1 - 2019-06-14

  • Fix abs warning

3.4.0 - 2019-06-13

  • ⚠️ Remove degree/radian conversion helpers (in favor of built-in RADIANS/DEGREES)

1.0.6 - 2019-06-03

  • Update h3 core library to v3.4.4

1.0.5 - 2019-02-15

  • Fix update path

1.0.4 - 2019-02-15

  • Fix polyfill for polygon with multiple holes

1.0.3 - 2019-01-27

  • Fix update path

1.0.2 - 2019-01-27

  • Remove git tag check in distribute makefile target, since it causes error on pgxn install

1.0.1 - 2019-01-27

  • Remove usage of FALSE instead of 0 in conditional in ASSERT macro

1.0.0 - 2019-01-27

  • Add h3_get_extension_version()
  • Add hash operator class, now WHERE IN works
  • ⚠️ Replace h3_basecells with h3_get_res_0_indexes
  • ⚠️ Rename all functions with double h3_h3_ prefix to use single h3_ prefix
  • ⚠️ Remove h3_haversine_distance function
  • ⚠️ Change Makefile such that the h3 core library is cloned, built and statically linked
  • Test that upgrade path has same result as fresh install

0.4.0 - 2019-01-12

  • Add h3_line binding
  • Fix h3_h3_to_children_slow

0.3.2 - 2019-01-08

  • ⚠️ Fix btree operator class indexing

0.3.1 - 2018-12-17

  • Add extend flag to h3_h3_to_geo_boundary such that polygons are not wrapped at antimeridian

0.3.0 - 2018-12-11

  • Initial public release