diff --git a/CITATION.cff b/CITATION.cff index ddbdebb3d545..9624597567c4 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.7.2 -date-released: 2023-09-05 +version: 3.7.3 +date-released: 2023-10-30 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 9d701a289f99..251b12e7761a 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,145 @@ +# GDAL/OGR 3.7.3 Release Notes + +GDAL 3.7.3 is a bugfix release. + +## Build + +* CheckDependentLibraries.cmake: don't use libjpeg if disabled +* frmts/mrf/CMakeLists.txt: ignore HAVE_JPEGTURBO_DUAL_MODE_8_12 if + GDAL_USE_JPEG is OFF (tune #8336) +* FindPostgreSQL.cmake: Update the list of released PgSQL versions +* Add support for PoDoFo >= 0.10.0 (#8356) +* Add support for TileDB 2.17 +* Fix build with -DRENAME_INTERNAL_SHAPELIB_SYMBOLS=OFF (#8532) + +## GDAL 3.7.3 + +### Algorithms + +* Rasterize: avoid burning the same pixel twice in MERGE_ALG=ADD mode within + a same geometry (#8437) +* OpenCL warp: scan multiple devices for each platform (#8540) +* GDALSerializeReprojectionTransformer(): fallback to WKT2 for SourceCRS/ + TargetCRS if WKT1 cannot be used + +### Port + +* VSIReadDirRecursive(): make it work properly with a trailing slash + (especially on /vsizip/) (#8474) +* /vsi7z/: accept ArcGIS Pro Project Packages + +### Utilities + +* gdal_translate -ovr: properly rescale RPC (#8386) +* gdal_translate: when specifying -srcwin, preserve source block size in the + temporary VRT if srcwin top,left is a multiple of the block size +* gdal2tiles: raise explicit exception if bad value for --s_srs (#8331) + +### Raster drivers + +ENVI driver: + * skip leading spaces at front of metadata keys + +GIF driver: + * Internal giflib: fix memleak on animations (#8380) + * Internal giflib: fix memleak on truncate files (#8383) + +GTiff driver: + * multithreaded reading/writing: fix a deadlock and/or data corruption + situation (#8470) + * DirectIO(): fix integer overflow when requesting more than 2 GB at once + * Support writing a CRS of known code but unknown GeoTIFF projection method + (#8611). Support also a CRS of unknown code but that can be encoded as + ESRI_WKT if GEOTIFF_KEYS_FLAVOR=ESRI_PE creation option is used + * JXL codec: fix wrong use of memcpy() in decoding, and add memcpy() + optimizations + +MBTiles driver: + * BuildOverviews(): correctly set minzoom metadata (#8565) + +netCDF driver: + * multidim: add write support for Int8 data type (#8421) + +VRT driver: + * IRasterIO(): avoid edge effects at sources boundaries when downsampling + with non-nearest resampling + +WCS driver: + * remove 'FORMAT' parameter from 'DescribeCoverage' requests + +## OGR 3.7.3 + +### Core + +* OGRSQL: fix incorrect interaction of LIMIT clause and SetNextByIndex()(#8585) +* OGRWKBGetBoundingBox(): properly initialize envelope + +### OGRSpatialReference + +* TransformBounds(): do not emit errors when trying to reproject + points at poles +* ogr_proj_p.cpp: disable pthread_atfork() optimization on MacOS (#8497) + +### Utilities + +* ogr2ogr: fix -gt 0 to disable transactions +* ogr2ogr: make -select '' work (or gdal.VectorTranslate(selectFields=[])) +* ogr2ogr: fix preserve_fid and explodecollections incompatible options (#8523) + +### Vector drivers + +Arrow/Parquet drivers: + * fix crash on ArrowArray interface when there is a fid column + +CSV driver: + * avoid extra comma at end of header line with GEOMETRY=AS_XYZ and a single + attribute (#8410) + +FlatGeoBuf driver: + * ArrowStream: return a released array when there are no rows (#8509) + +GeoPackage driver: + * GPKG SQL layer GetNextArrowArray(): fix wrong array size when spatial + filtering occurs + * ArrowStream: immediately return a release array when there are no rows + (#8509) + * declare OGR_GPKG_GeometryTypeAggregate_INTERNAL only when needed + +GPKG/SQLITE drivers: + * declare relevant SQL functions as SQLITE_INNOCUOUS (#8514) + * turn PRAGMA trusted_schema = 1 when loading Spatialite (#8514) + * turn PRAGMA trusted_schema = 1 if RTree+update mode or if views use + Spatialite functions (#8514) + +OAPIF driver: + * make comparison of rel case insensitive to account for describedBy -> + describedby change + +OpenFileGDB driver: + * fix opening of .gdb directories whose last component starts with 'a' and + is 18 character long... (#8357) + +NTF driver: + * fix assertion on corrupted dataset (ossfuzz#63531) + +Shapefile driver: + * Reader: correct bad (multi)polygons as written by QGIS < 3.28.11 with + GDAL >= 3.7 (qgis/qgis#54537) + +SQLite driver: + * ignore 'SRID=' layer creation option (qgis/QGIS#54560) + +XLSX driver: + * do not write empty 'cols' element on empty layers, and change heuristics to + detect 'default' empty layers from intended empty ones (qgis/qgis#42945) + +## Python bindings + +* GetArrowStreamAsNumPy(): fix reading fixed size list arrays that were + ignoring the parent offset (affects Parquet) +* GetArrowStreamAsNumPy(): fix reading fixed width binary that were misusing + the offset (affects Parquet) + # GDAL/OGR 3.7.2 Release Notes GDAL 3.7.2 is a bugfix release. diff --git a/VERSION b/VERSION index 0b2eb36f5085..c1e43e6d45b2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.7.2 +3.7.3 diff --git a/frmts/gtiff/geotiff.cpp b/frmts/gtiff/geotiff.cpp index 1db93673a61c..8944673bcc0f 100644 --- a/frmts/gtiff/geotiff.cpp +++ b/frmts/gtiff/geotiff.cpp @@ -2886,7 +2886,7 @@ static void ThreadDecompressionFunc(void *pData) psJob->nXBlock, psJob->nYBlock); if (apoBlocks[i] == nullptr) { - // Temporary disabling of dirty block fushing, otherwise + // Temporary disabling of dirty block flushing, otherwise // we can be in a deadlock situation, where the // GTiffDataset::SubmitCompressionJob() method waits for jobs // to be finished, that can't finish (actually be started) diff --git a/gcore/gdal_version.h.in b/gcore/gdal_version.h.in index 85e90aa310bb..e2848791e442 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 7 -# define GDAL_VERSION_REV 2 +# define GDAL_VERSION_REV 3 # 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 20230905 +# define GDAL_RELEASE_DATE 20231030 #endif #ifndef GDAL_RELEASE_NAME -# define GDAL_RELEASE_NAME "3.7.2" +# define GDAL_RELEASE_NAME "3.7.3" #endif #endif diff --git a/swig/python/gdal-utils/osgeo_utils/__init__.py b/swig/python/gdal-utils/osgeo_utils/__init__.py index a3888c50725a..98ea194d4934 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, 7, 2, 0) +gdal_utils_version = (3, 7, 3, 0) __version__ = ".".join(str(i) for i in gdal_utils_version) __author__ = "Frank Warmerdam" __author_email__ = "warmerdam@pobox.com"