diff --git a/gdal/GDALmake.opt.in b/gdal/GDALmake.opt.in index 6095dd8df801..96f698b96c29 100644 --- a/gdal/GDALmake.opt.in +++ b/gdal/GDALmake.opt.in @@ -123,7 +123,7 @@ GDAL_INCLUDE = -I$(GDAL_ROOT)/port -I$(GDAL_ROOT)/gcore \ # libtool targets and help variables LIBGDAL := libgdal.la LIBGDAL_CURRENT := 26 -LIBGDAL_REVISION := 1 +LIBGDAL_REVISION := 2 LIBGDAL_AGE := 0 # native build targets and variables diff --git a/gdal/NEWS b/gdal/NEWS index 1f72b6e41b97..39b40ca59320 100644 --- a/gdal/NEWS +++ b/gdal/NEWS @@ -1,3 +1,154 @@ += GDAL/OGR 3.0.2 Release Notes = + +The 3.0.2 release is a bug fix release. + +== Misc == + + * Replace a few catch of bad_alloc by exception to handle the case of 32 bit trying to allocate more than 4GB of memory and thus throwing a length_error exception. Found by OSS Fuzz + * Fix issues with thread_local and C++ objects that don't work well with DLL on Windows + * Fix build against Poppler 0.82 + +== Port == + + * /vsicrypt/: fix memleak in error code path + * /vsitar/: accept space as end of field terminator + +== GDAL core == + + * fix non-neareset resampling over nodata blocks (#1941) + +== GDAL utilities == + + * gdalwarp: adjust nodata values, passed with -srcnodata/-dstnodata, and close to FLT_MAX to exactly it (#1724) + * Python scripts: GetOutputDriverFor(): fixes error when multiple drivers found ( #1719) + +== GDAL drivers == + +BAG driver: + * calculate the northeast pixel corner rather than scaling the resolution, due to an incorrectly shifted northeast corner in some CARIS surveys (#1728) + +CTable2Dataset driver: + * SetGeoTransform(): fix read buffer overflow from stack + +DAAS driver: + * accept 4-band RGBA PNG response even when a single band is requested + +ENVI driver: + * preserve 'byte order' on update (#1796) + +FITS driver: + * fix memory leaks + +GTiff driver: + * fix memory leak with -co APPEND_SUBDATASET=YES + * ensure GDAL PROJ context is used for all libgeotiff functions (requires internal libgeotiff / libgeotiff 1.6) + * make sure that GetMetadataDomainList() doesn't return EXIF when there's no EXIF metadata (https://github.com/mapbox/rasterio/pull/1740#issuecomment-526660946) + * GTIFGetOGISDefn: avoid querying UOM length info when it is KvUserDefined to avoid an error to be emitted + * Internal libtiff: backport security related fixes + +HDF5 and netCDF drivers: + * fix crash when reading attributes of type string of variable length with NULL values + +IGNFHeightASCIIGrid driver: + * fix to read RASPM2018.mnt grid + +JP2KAK driver: + * fix issue with multi-threaded reads + +JP2OpenJPEG driver: + * fix error logic in multi-threaded code causing memory corruption + * fix reading overviews, when tiled API is used, and the dimensions of the full resolution image are not a multiple of 2^numresolutions (#1860) + * fix to return the proper number of bytes read when we read more than 2 GB at once (https://github.com/uclouvain/openjpeg/issues/1151) + +JPEG driver: + * fix further calls to RasterIO after reading full image at full resolution (#1947) + +MRF driver: + * do not hardcode GDAL internal zlib header + +netCDF driver: + * Allow "radian" value for the X/Y axis units + +PDF driver: + * PDF composer from XML: fix wrong use of SetupVectorGeoreferencing() + * fix nullptr dereferences on corrupted files (OSS Fuzz #16438, #16558, #16759) + * fix potential heap buffer overflow (OSS Fuzz #16546) + * avoid potential integer division by zero (OSS Fuzz #17129) + +PDS4 driver: + * support reading a_axis_radius and c_axis_radius (#1851) + +SAFE driver: + * avoid potential use-after-free (Coverity 1404037 and 1404140) + +Terragen driver: + * avoid potential use-after-free on error code path in write_header() (Coverity 1404060) + +USGSDEM driver: + * avoid int overflow. Fixes OSS Fuzz #15715 + * fix reading FEMA generated Lidar datasets whose header is 918 bytes large + +VRT driver: + * avoid erroneous pixel request do be done with KernelFilteredSource + +== OGR core == + + * OGRExpatRealloc(): fix double-free when size to allocate is above the default 10MB threshold. OSS Fuzz #16178 / CVE-2019-17545 + * OGR SQLite: do not propagate 'IS / IS NOT value' constructs to OGR SQL + * OGRSimpleCurve::setNumPoints(): avoid potential int overflow on 32 bit on big values of nNewPointCount. OSS Fuzz #18092 + * OGRSimpleCurve::getPoints() with XYZM: fix wrong stride used for M array + * OGRSimpleCurve: fix reversePoints() and addSubLineString() to take into account M dimension + +== OGR drivers == + +CAD driver: + * libopencad: CADBuffer: replace m_guard by m_nSize to avoid pointer wrap around on 32 bit platforms on corrupted files. OSS Fuzz #16388 + +DGN driver: + * avoid size_t overflow / illegal memory access. OSS Fuzz #16393 + +GeoJSON driver: + * fix update of file on Windows (https://github.com/qgis/QGIS/issues/28580) + * add a OGR_GEOJSON_MAX_OBJ_SIZE configuration option to be able to parse jumbo GeoJSON Features. + +GPX driver: + * fix memory leak when streaming to /vsistdout/ + +LIBKML driver: + * make it accept /vsigzip/foo.kml.gz files (#1743) + * fix potential memory leak. (Coverity 1404148) + +MITAB driver: + * Update WindowsLatin2 definition (#1571) + * fix potential double-free (Coverity 1404224) + * avoid potential nullptr deref (Coverity 1404174) + +PDF driver: + * fix reading polygon with holes and Bezier curves (#1932) + * fix reading strings with escape sequences + +PostgreSQL driver: + * add support for PostgreSQL 12 (#1692) + * be more restrictive when deducing non-nullability of columns in SQL result layers (#1734) + +Selafin driver: + * temptative fix for stack read overflow of OSS Fuzz #18342 + +S57 driver: + * s57objectclasses.csv: add missing TXTDSC attribute for DRYDOC class (#1723) + +XLSX driver: + * add support for .xlsm extension + +WFS3/OAPIF driver: + * correctly handle user query string parameters in connection URL (#1710) + * align with the final state of the OGC API - Features : Core 1.0 spec (#1878) + +== Python bindings == + + * add compatibility with SWIG 4.0 (#1702) + * Fix swig python wheel on darwin + = GDAL/OGR 3.0.1 Release Notes = The 3.0.1 release is a bug fix release. diff --git a/gdal/VERSION b/gdal/VERSION index cb2b00e4f7a7..b50214693056 100644 --- a/gdal/VERSION +++ b/gdal/VERSION @@ -1 +1 @@ -3.0.1 +3.0.2 diff --git a/gdal/gcore/gdal_version.h.in b/gdal/gcore/gdal_version.h.in index b5d1fc9a7c0b..7b1e7a3c65e0 100644 --- a/gdal/gcore/gdal_version.h.in +++ b/gdal/gcore/gdal_version.h.in @@ -7,7 +7,7 @@ #ifndef GDAL_VERSION_MAJOR # define GDAL_VERSION_MAJOR 3 # define GDAL_VERSION_MINOR 0 -# define GDAL_VERSION_REV 1 +# define GDAL_VERSION_REV 2 # define GDAL_VERSION_BUILD 0 #endif @@ -24,9 +24,9 @@ #if !defined(DO_NOT_DEFINE_GDAL_RELEASE_DATE_AND_GDAL_RELEASE_NAME) #ifndef GDAL_RELEASE_DATE -# define GDAL_RELEASE_DATE 20190628 +# define GDAL_RELEASE_DATE 20191028 #endif #ifndef GDAL_RELEASE_NAME -# define GDAL_RELEASE_NAME "3.0.1" +# define GDAL_RELEASE_NAME "3.0.2" #endif #endif diff --git a/gdal/swig/include/perl/gdal_perl.i b/gdal/swig/include/perl/gdal_perl.i index 5b215537a2cf..dc82afde4828 100644 --- a/gdal/swig/include/perl/gdal_perl.i +++ b/gdal/swig/include/perl/gdal_perl.i @@ -143,8 +143,8 @@ use Geo::GDAL::Const; # Note that the 1/100000 digits may be used to create more than one # CPAN release from one GDAL release. -our $VERSION = '3.0001'; -our $GDAL_VERSION = '3.0.1'; +our $VERSION = '3.0002'; +our $GDAL_VERSION = '3.0.2'; =pod diff --git a/gdal/swig/include/perl/ogr_perl.i b/gdal/swig/include/perl/ogr_perl.i index 22718aa985d5..1589654b0472 100644 --- a/gdal/swig/include/perl/ogr_perl.i +++ b/gdal/swig/include/perl/ogr_perl.i @@ -126,7 +126,7 @@ ALTERED_DESTROY(OGRGeometryShadow, OGRc, delete_Geometry) %perlcode %{ package Geo::OGR; -our $VERSION = '3.0001'; # this needs to be the same as that in gdal_perl.i +our $VERSION = '3.0002'; # this needs to be the same as that in gdal_perl.i Geo::GDAL->import(qw(:INTERNAL)); diff --git a/gdal/swig/python/README.rst b/gdal/swig/python/README.rst index bedb173e1c10..f5a9a4d6678e 100644 --- a/gdal/swig/python/README.rst +++ b/gdal/swig/python/README.rst @@ -16,7 +16,7 @@ reference documentation, but the `GDAL API Tutorial`_ includes Python examples. Dependencies ------------ - * libgdal (3.0.1 or greater) and header files (gdal-devel) + * libgdal (3.0.2 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/gdal/swig/python/setup.py b/gdal/swig/python/setup.py index ea6123304e1e..8aba6ab728a2 100644 --- a/gdal/swig/python/setup.py +++ b/gdal/swig/python/setup.py @@ -7,7 +7,7 @@ # Howard Butler hobu.inc@gmail.com -gdal_version = '3.0.1' +gdal_version = '3.0.2' import sys import os