From 51805cdd42a3a32e29b50c4ae2f67a52274a3d3c Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 8 Feb 2024 18:07:58 +0100 Subject: [PATCH] Prepare for GDAL 3.8.4 --- CITATION.cff | 4 +- NEWS.md | 130 +++++++++++++++++- VERSION | 2 +- gcore/gdal_version.h.in | 6 +- swig/python/README.rst | 2 +- .../python/gdal-utils/osgeo_utils/__init__.py | 2 +- 6 files changed, 137 insertions(+), 9 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index a4b3a817404c..e861d7e5ec76 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -2,8 +2,8 @@ cff-version: 1.2.0 message: Please cite this software using these metadata or in the CITATION file. type: software title: GDAL -version: 3.8.3 -date-released: 2024-01-02 +version: 3.8.4 +date-released: 2024-02-08 doi: 10.5281/zenodo.5884351 abstract: GDAL is a translator library for raster and vector geospatial data formats that is released under an MIT style Open Source License by the Open diff --git a/NEWS.md b/NEWS.md index 54a2945c391e..c585a7029799 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,131 @@ +# GDAL/OGR 3.8.4 Release Notes + +GDAL 3.8.4 is a bugfix release. + +## Build + +* FindECW.cmake: make it work for Windows 32-bit builds (#9106) +* Restore use of gmtime_r and localtime_r; extend to ctime_r; use Windows + variants too +* FindSQLite3.cmake: improve detection of static libsqlite3.a (#9096) +* bash_completion installation: Allow the project_binary_dir to contain a + whitespace + +## Docker build recipes + +* docker/ubuntu-full/Dockerfile: update to Arrow 15.0.0 +* docker/ubuntu-full/Dockerfile: pin libarrow-acero-dev version (#9183) +* docker/ubuntu-full/Dockerfile: disable AVX2 when building TileDB + +## GDAL 3.8.4 + +### Port + +* /vsisparse/: fix Stat() on files larger than 4 GB on 32-bit builds +* CPLAtof()/CPLStrtod(): recognize again INF and -INF +* /vsicurl/: fix potential multithreaded crash when downloading the same region + in parallel and that the download fails + +### Core + +* PAM: only unset GPF_DIRTY flag +* GDALOverviewDataset: avoid setting SetEnableOverviews(false) during lifetime + of object. Just do it transiently + +### Utilities + +* gdalinfo: do not emit errors if corner coordinate reprojection fails +* gdalwarp: do not enable blank line detection when -tap and -te are specified + (#9059) + +### Raster drivers + +BMP driver: + * fix reading images larger than 4GB (3.4.0 regression) + +EEDA/EEDAI driver: + * use 'crsWkt' element + +GRIB driver: + * degrib: use gmtime_r() or gmtime_s() when possible + +netCDF driver: + * use VSILocalTime() + +PCIDSK driver: + * PCIDSK SDK: use ctime_r() or ctime_s() when possible + +PDF driver: + * correctly initialize PAM when opening a subdataset (specific page for + example) + +VRT driver: + * VRTPansharpenedRasterBand::GetOverviewCount(): robustify against potential + failure of GDALCreateOverviewDataset() + +WMS driver: + * fix nullptr dereference on invalid document (ossfuzz #65772) + +## OGR 3.8.4 + +### Core + +* ExecuteSQL(dialect=SQLite): support 'SELECT\n' for example (#9093) +* OGRGeometryFactory::createGeometry(): do not assert on wkbUnknown input + +### Utilities + +* ogr2ogr: Arrow code path: take into account -limit parameter for + MAX_FEATURES_IN_BATCH + +### Vector drivers + +GeoRSS, GPX, JML, KML, LVBAG, SVG, XLSX drivers: + * harmonize on a 8192 byte large parsing buffer on all platforms + +Arrow/Parquet driver: + * add (minimum) support for libarrow 15.0 + * MapArrowTypeToOGR(): make the code robust to potentially new entries in the + arrow::Type enumeration + +CAD driver: + * Internal libopencad: use localtime_r() or localtime_s() when possible + +CSV driver: + * do not quote numeric fields even if STRING_QUOTING=ALWAYS (3.8.1 regression) + (#55808) + +GMLAS driver: + * recognize GeometricPrimitivePropertyType + +LIBKML driver: + * fix crash on a gx:Track without when subelements (qgis/qgis#55963) + +MSSQLSpatial driver: + * Fix BCP performance problem (#9112) + +MySQL driver: + * fix/workaround server-side spatial filtering when SRS is geographic with + MySQL >= 8 (qgis/QGIS#55463) + +ODS driver: + * fix parsing of large cells on Windows (at least with mingw64) with recent + expat 2.6.0 release + +PDF driver: + * vector stream parser: correctly parse structures like "[3 3.5] 0 d" + +PDS driver: + * fix compilation with Emscripten version 3.1.7 + +SQLite driver: + * OGR2SQLITE_Setup(): robustify against potential crashing scenario + +### Python bindings + +* remove run of 'python -m lib2to3' that is a no-op, given that lib2to3 is + removed in python 3.13 (#9173) + # GDAL/OGR 3.8.3 Release Notes GDAL 3.8.3 is a bugfix release. @@ -41,7 +169,7 @@ VRT driver: Affects ogr2ogr from GPKG/FlatGeoBuf to something else) (#8998) GPKG driver: - * Fix error message that sometimes occured with multi-threaded ArrowArray + * Fix error message that sometimes occurred with multi-threaded ArrowArray interface, and add OGR_GPKG_NUM_THREADS config option. (#9018, 9030) GeoJSON driver: diff --git a/VERSION b/VERSION index 269aa9c86de7..ff313b8c212f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.8.3 +3.8.4 diff --git a/gcore/gdal_version.h.in b/gcore/gdal_version.h.in index 7dea039b384f..7ae05d2e2133 100644 --- a/gcore/gdal_version.h.in +++ b/gcore/gdal_version.h.in @@ -7,7 +7,7 @@ #ifndef GDAL_VERSION_MAJOR # define GDAL_VERSION_MAJOR 3 # define GDAL_VERSION_MINOR 8 -# define GDAL_VERSION_REV 3 +# define GDAL_VERSION_REV 4 # define GDAL_VERSION_BUILD 0 #endif @@ -24,9 +24,9 @@ #if !defined(DO_NOT_DEFINE_GDAL_DATE_NAME) #ifndef GDAL_RELEASE_DATE -# define GDAL_RELEASE_DATE 20240104 +# define GDAL_RELEASE_DATE 20240208 #endif #ifndef GDAL_RELEASE_NAME -# define GDAL_RELEASE_NAME "3.8.3" +# define GDAL_RELEASE_NAME "3.8.4" #endif #endif diff --git a/swig/python/README.rst b/swig/python/README.rst index 84bdeb092e6d..bcc7d1c1af23 100644 --- a/swig/python/README.rst +++ b/swig/python/README.rst @@ -13,7 +13,7 @@ reference documentation, but the https://gdal.org/api/python_bindings.html#tutor Dependencies ------------ - * libgdal (3.8.3 or greater) and header files (gdal-devel) + * libgdal (3.8.4 or greater) and header files (gdal-devel) * numpy (1.0.0 or greater) and header files (numpy-devel) (not explicitly required, but many examples and utilities will not work without it) diff --git a/swig/python/gdal-utils/osgeo_utils/__init__.py b/swig/python/gdal-utils/osgeo_utils/__init__.py index b0f52abbd276..227e52a3925c 100644 --- a/swig/python/gdal-utils/osgeo_utils/__init__.py +++ b/swig/python/gdal-utils/osgeo_utils/__init__.py @@ -1,5 +1,5 @@ __package_name__ = "gdal-utils" -gdal_utils_version = (3, 8, 3, 0) +gdal_utils_version = (3, 8, 4, 0) __version__ = ".".join(str(i) for i in gdal_utils_version) __author__ = "Frank Warmerdam" __author_email__ = "warmerdam@pobox.com"