Skip to content

Commit

Permalink
Prepare for shapelib 1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
rouault committed Dec 20, 2023
1 parent 3b6e08d commit 3e36e99
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 4 deletions.
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ message(STATUS "CMake version = ${CMAKE_VERSION}")
message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")

set(PROJECT_VERSION_MAJOR 1)
set(PROJECT_VERSION_MINOR 5)
set(PROJECT_VERSION_MINOR 6)
set(PROJECT_VERSION_PATCH 0)
set(shp_LIB_VERSIONINFO "3:0:1")
set(shp_LIB_VERSIONINFO "4:0:0")
set(PROJECT_VERSION
"${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")

Expand Down
3 changes: 3 additions & 0 deletions HOWTO-RELEASE
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
- PROJECT_VERSION_PATCH
- shp_LIB_VERSIONINFO

In shapefil.h, update SHAPELIB_VERSION_MAJOR, SHAPELIB_VERSION_MINOR,
SHAPELIB_VERSION_MICRO

1) Update web/release.html with change notes on the new release and commit.

2) Build the release files.
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.

m4_define(shapelib_version_major, 1)
m4_define(shapelib_version_minor, 5)
m4_define(shapelib_version_minor, 6)
m4_define(shapelib_version_micro, 0)

AC_PREREQ(2.62)
Expand All @@ -16,7 +16,7 @@ AM_SILENT_RULES([yes])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])

dnl See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
AC_SUBST([SHAPELIB_SO_VERSION], [3:0:1])
AC_SUBST([SHAPELIB_SO_VERSION], [4:0:0])

AC_PROG_CC
AC_PROG_CXX
Expand Down
38 changes: 38 additions & 0 deletions web/release.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,44 @@ <h1>Shapelib Release Notes</h1>
To get notification of new releases of Shapelib <i>subscribe</i> to
the project mailing list at https://lists.osgeo.org/pipermail/shapelib/.<p>

<b>Release 1.6.0</b>:
<ul>
<li>shapefil.h: add SHAPELIB_VERSION_MAJOR/MINOR/MICRO, SHAPELIB_VERSION_NUMBER, and SHAPELIB_AT_LEAST macros</li>
<li>Compiler warning fixes and various code cleanups</li>
<li>SAHooks: add a void *pvUserData member. ABI change</li>
<li>SAHooks.FOpen and FClose callbacks: add a void *pvUserData parameter. API and ABI change</li>
<li>SAHooks.FWrite: make first parameter a const void*. API change</li>
<li>Do not distribute default COPYING and INSTALL</li>

This comment has been minimized.

Copy link
@thbeu

thbeu Dec 20, 2023

Contributor

Better description:

Distribute LICENSE-LGPL and LICENSE-MIT files instead of COPYING file
Do not distribute INSTALL file

<li>Use standard integer data types</li>
<li>Changes to allow building with cmake -DCMAKE_UNITY_BUILD=ON</li>
<li>Polygon writing: avoid considering rings slightly overlapping as inner-outer rings of others (refs OSGeo/gdal#5315)</li>
<li>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.</li>
<li>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 https://github.com/qgis/QGIS/issues/44202</li>
<li>SHPWriteObject(): prevent potential overflows on 64-bit platforms on huge geometries</li>
<li>SHPRestoreSHX: update SHX content length even if error occurred</li>
<li>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)</li>
<li>Fix adding features in a .dbf without columns (fixes qgis/qgis#51247)</li>
<li>Have matching SOVERSION for CMake and autotools</li>
<li>Code reformatting</li>
<li>Enable csv2shp build with MSVC</li>

This comment has been minimized.

Copy link
@thbeu

thbeu Dec 20, 2023

Contributor

-> contrib/csv2shp. Maybe it would be more useful to seprate the issues for the actual library and for the contrib code. This would make it more explicit and transparent to the reader.

<li>Build contributed utilities via CMake</li>
<li>fix mis-matching CMake arguments</li>

This comment has been minimized.

Copy link
@thbeu

thbeu Dec 20, 2023

Contributor

This never was apparent to a user upgrading from 1.5.0. No need to mention such changes actually.

<li>Use the the standard BUILD_TESTING CMake variable</li>
<li>Remove double free() in contrib/shpsrt, issue #39</li>

This comment has been minimized.

Copy link
@thbeu

thbeu Dec 20, 2023

Contributor

Usually it is required to mention the assigned CVE (CVE-2022-0699) that got fixed. No need to link to #39.

<li>SHPRestoreSHX: fix for (64 bit) big endian</li>
<li>Add config-style support for find_package(shapefile)</li>
<li>Prevent no-op FSeeks writing dbf & shp records for network filesystem performance</li>
</ul>

<b>Release 1.5.0</b>:
<ul>
<li> Add FTDate entry in DBFFieldType
Expand Down

0 comments on commit 3e36e99

Please sign in to comment.