GDAL/OGR 2.2.1 Release Notes

The 2.2.1 release is a bug fix release.


  • fix compilation without BIGTIFF_SUPPORT (#6890)
  • configure: detect if std::isnan() is available. Helps compilation on some MacOSX setups, combined together --without-cpp11. Refs
  • fix compilation against ancient Linux kernel headers (#6909)
  • fix detection of 64bit file API with clang 5 (#6912)
  • configure: use .exe extension when building with mingw64* toolchains (fixes #6919)
  • mongoDB: compilation fix on Windows


  • /vsicurl/: fix occasional inappropriate failures in Read() with some combinations of initial offset, file size and read request size (#6901)
  • Add a VSICurlClearCache() function (bound to SWIG as gdal.VSICurlClearCache()) to be able to clear /vsicurl/ related caches (#6937)


  • GDALRasterize(): avoid hang in some cases with all_touched option (#5580)
  • gdal_rasterize: fix segfault when rasterizing onto a raster with RPC (#6922)

GDAL utilities

  • fix '-single -o out.shp in.shp' case (#6888)

GDAL drivers

AIGRID driver:

  • fix handling on raw 32-bit AIG blocks

ENVISAT driver:

  • fix 2.2 regression in initialization of members of MerisL2FlagBand. (#6929)

GeoRaster driver:

  • Fix memory allocation failure (#6884)
  • add support for JP2-F in BLOB compression (corrections on geo-reference) (#6861)

GPKG driver:

  • avoid corruption of gpkg_tile_matrix when building overviews, down to a level where they are smaller than the tile size (#6932)

GTIFF driver:

  • Internal libtiff: fix libtiff 4.0.8 regression regarding creating of single strip uncompressed TIFF files (#6924)

netCDF driver:

NWT_GRC driver:

  • Fix handling of alpha values in GRC color table (#6905)
  • Handle case of 0-len GRC class names (#6907)

VRT driver:

  • speed-up SerializeToXML() in case of big number of bands

XYZ driver:

  • fix 2.2 regression where the driver hangs on some dataset with missing samples (#6934)

OGR utilities

  • ogr2ogr/GDALVectorTranslate(): fix crash when using -f PDF -a_srs (#6920)

OGR drivers

GeoJSON driver:

  • ESRIJson: avoid endless looping on servers that don't support resultOffset (#6895)
  • ESRIJson: use 'latestWkid' in priority over 'wkid' when reading 'spatialReference' (
  • GeoJSON writer: accept writing ZM or M geometry by dropping the M component (#6935)

GPKG driver:

  • make driver robust to difference of cases between table_name in gpkg_contents/gpkg_geometry_columns and name in sqlite_master (#6916)

MITAB driver:

  • recognize Reseau_National_Belge_1972 / EPSG:31370 on writing (#6903)

MySQL driver:

  • fix compilation issue with Arch Linux and mariadb 10.1.23 (fixes #6899)

PG driver:

  • do not be confused by a 'geometry' table in a non-PostGIS enabled detabase (#6896)


  • remove support for V0. Deprecate V1 API. Only Data V1 is supported ( #6933)

Perl bindings

  • Backport the fix to #6142 Install man page according to GDALmake.opt if INSTALL_BASE is set.
  • always return something from non-void functions (#6898)

Python bindings

Security oriented fixes

Note: this is only a very partial backport of more extensive fixes done in GDAL trunk. Credit to OSS-Fuzz for all of them (some have been found locally, so no related ticket)

Last modified 5 years ago Last modified on Jun 23, 2017, 5:30:13 AM
Note: See TracWiki for help on using the wiki.