Skip to content

Releases: OSGeo/shapelib

Shapelib 1.6.0

22 Dec 15:08
3e36e99
Compare
Choose a tag to compare

Changes since v1.5.0:

  • shapefil.h: add SHAPELIB_VERSION_MAJOR/MINOR/MICRO, SHAPELIB_VERSION_NUMBER, and SHAPELIB_AT_LEAST macros
  • Compiler warning fixes and various code cleanups
  • SAHooks: add a void *pvUserData member. ABI change
  • SAHooks.FOpen and FClose callbacks: add a void *pvUserData parameter. API and ABI change
  • SAHooks.FWrite: make first parameter a const void*. API change
  • Distribute LICENSE-LGPL and LICENSE-MIT files instead of COPYING file. Do not distribute INSTALL file
  • Use standard integer data types
  • Changes to allow building with cmake -DCMAKE_UNITY_BUILD=ON
  • Polygon writing: avoid considering rings slightly overlapping as inner-outer rings of others (refs OSGeo/gdal#5315)
  • Polygon writing: consider rings at non-constant Z as outer rings (fixes OSGeo/gdal#5315) As noted in code comments, this is an approximation of more complicated tests we'd likely have to do, that would take into account real co-planar testing, to allow detecting inner rings of outer rings in an oblique plane.
  • shpopen.c: Communicate why the file size cannot be reached when appending features (OSGeo/gdal#4140) Clearly state why the file size cannot be reached. This is important in order to correctly inform the user and prevent him/her from looking for other reasons. Related to qgis/QGIS#44202
  • SHPWriteObject(): prevent potential overflows on 64-bit platforms on huge geometries
  • SHPRestoreSHX: update SHX content length even if error occurred
  • In creation, uses w+b file opening mode instead of wb followed by r+b, to support network file systems having sequential write only and when using CPL_VSIL_USE_TEMP_FILE_FOR_RANDOM_WRITE=YES (fixes OSGeo/gdal#7801)
  • Fix adding features in a .dbf without columns (fixes qgis/QGIS#51247)
  • Have matching SOVERSION for CMake and autotools
  • Code reformatting
  • Enable contrib/csv2shp build with MSVC
  • Build contributed utilities via CMake
  • Use the the standard BUILD_TESTING CMake variable
  • Remove double free() in contrib/shpsrt (CVE-2022-0699)
  • SHPRestoreSHX: fix for (64 bit) big endian
  • Add config-style support for find_package(shapefile)
  • Prevent no-op FSeeks writing dbf & shp records for network filesystem performance