Skip to content

Commit

Permalink
Merge pull request #9593 from rouault/prepare_for_gdal_3_8_5
Browse files Browse the repository at this point in the history
Prepare for GDAL 3.8.5
  • Loading branch information
rouault committed Apr 2, 2024
2 parents 355020a + 1b5b090 commit 1d418c1
Show file tree
Hide file tree
Showing 10 changed files with 144 additions and 12 deletions.
4 changes: 2 additions & 2 deletions CITATION.cff
Expand Up @@ -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.4
date-released: 2024-02-08
version: 3.8.5
date-released: 2024-04-02
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
Expand Down
132 changes: 132 additions & 0 deletions NEWS.md
@@ -1,3 +1,135 @@
# GDAL/OGR 3.8.5 Release Notes

GDAL 3.8.5 is a bugfix release.

## Build

* Disable my_test_sqlite3_ext in static builds
* Fix false-positive -Wformat-truncation with clang 18 on fedora:rawhide CI
* cpl_vsil_unix_stdio_64.cpp: avoid compiler warning related to ftello()
* Fix compiler crash on gcore/overview.cpp with ICC 2024.0.2.29 (#9508)
* CMake: Fix FindGEOS to remove use of deprecated exec_program()
* CMake: fix NumPy detection when Intel MKL library is installed
* CMake: add modern Apple OS (visionOS|tvOS|watchOS) support (#9550)
* Minimal support for TileDB 2.21 to avoid build & test issues

## GDAL 3.8.5

### Port

* /vsiaz/: handle properly BlobEndpoint ending with a slash (#9519)

### Core

* QuietDeleteForCreateCopy(): forward source dataset open options (#9424)
* Overview/RasterIO resampling: fix infinite looping when nodata has a big
absolute value (#9427)

### Utilities

* gdalinfo_output.schema.json: add comment about size and proj:shape ordering
* gdalinfo -json/gdal.Info(format='json'): avoid error/exception on engineering
CRS (#9396)
* gdalwarp: cutline zero-width sliver enhancement: avoid producing invalid
polygons
* gdal2tiles.py: fix exception when -v flag is used and overview tiles are
generated (3.7.0 regression) (#9272)
* gdalattachpct.py: fix it when output file is a VRT (#9513)

### Raster drivers

DIMAP driver:
* add radiometric metadata

ERS driver:
* avoid 'Attempt at recursively opening ERS dataset' when the .ers file
references a .ecw (#9352)

GPKG driver:
* avoid invalid use of pointer aliasing that caused ICC 2024.0.2.29 to
generate invalid code (#9508)

GRIB driver:
* avoid floating-point issues with ICC 2024.0.2.29 (#9508)

GTiff driver:
* fix read error/use-after-free when reading COGs with mask from network
storage (#9563)

JP2OpenJPEG driver:
* CreateCopy(): limit number of resolutions taking into account minimum block
width/height (#9236)

OGCAPI driver:
* fix potential use-after-free on vector tiled layers

VRT driver:
* VRTDerivedRasterBand: Support Int8, (U)Int64 with Python pixel functions
* VRT/gdal_translate -of 200% 200%: make sure that the synthetized virtual
overviews match the dimension of the source ones when possible
* VRTPansharpenedDataset: allow to specify <OpenOptions> for <PanchroBand> and
<SpectralBand>

## OGR 3.8.5

### Core

* OGRGeometry::getCurveGeometry(): avoid failures when building some compound
curves with inferred circular strings (#9382)
* OGRLayer::GetArrowSchema(): remove potential unaligned int32_t writes
* CreateFieldFromArrowSchema(): don't propagate native subtype if we have to
use a fallback main type

### Vector drivers

Arrow/Parquet driver:
* fix inverted logic regarding spatial filtering of multipolygon with GeoArrow
interleaved encoding

FlatGeoBuf driver:
* Make sure vendored flatbuffers copy has a unique namespace
* implement OGRLayer::GetDataset() (#9568)

GMLAS driver:
* fix crash when reading CityGML files (r-spatial/sf#2371)

GPKG driver:
* Ensure that mapping tables are inserted into gpkg_contents
* Ensure that tables present in gpkgext_relations can be read

ILI2 driver:
* emit an error and not just a warning when creating a dataset without a model
file

ODS driver:
* declare OLCStringsAsUTF8 on newly created layers

OpenFileGDB driver:
* Correctly use "features" as related table type (instead of "feature")
* writer: fix corrupted maximum blob size header field in some SetFeature()
scenarios (#9388)
* avoid issue with -fno-sanitize-recover=unsigned-integer-overflow with recent
clang

Parquet driver:
* avoid potential assertion/out-of-bounds access when a subset of row groups
is selected

PMTiles driver:
* fix 'Non increasing tile_id' error when opening some files (#9288)

Shapefile driver:
* Fix bug when reading some .sbn spatial indices

XLSX driver:
* declare OLCStringsAsUTF8 on newly created layers

## Python bindings

* gdal.Translate()/gdal.Warp()/etc.: make sure not to modify provided options[]
array (#9259)
* Fix gdal.Warp segfault with dst=None

# GDAL/OGR 3.8.4 Release Notes

GDAL 3.8.4 is a bugfix release.
Expand Down
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
3.8.4
3.8.5
6 changes: 3 additions & 3 deletions gcore/gdal_version.h.in
Expand Up @@ -7,7 +7,7 @@
#ifndef GDAL_VERSION_MAJOR
# define GDAL_VERSION_MAJOR 3
# define GDAL_VERSION_MINOR 8
# define GDAL_VERSION_REV 4
# define GDAL_VERSION_REV 5
# define GDAL_VERSION_BUILD 0
#endif

Expand All @@ -24,9 +24,9 @@

#if !defined(DO_NOT_DEFINE_GDAL_DATE_NAME)
#ifndef GDAL_RELEASE_DATE
# define GDAL_RELEASE_DATE 20240208
# define GDAL_RELEASE_DATE 20240402
#endif
#ifndef GDAL_RELEASE_NAME
# define GDAL_RELEASE_NAME "3.8.4"
# define GDAL_RELEASE_NAME "3.8.5"
#endif
#endif
2 changes: 1 addition & 1 deletion ogr/ogrsf_frmts/arrow_common/ograrrowlayer.hpp
Expand Up @@ -4407,7 +4407,7 @@ inline int OGRArrowLayer::GetNextArrowArray(struct ArrowArrayStream *stream,
const auto nFeatureIdxCur = m_nFeatureIdx;
// TODO: We likely have an issue regarding FIDs based on m_nFeatureIdx
// when m_iFIDArrowColumn < 0, only a subset of row groups is
// selected, and this batch goes accross non consecutive row groups.
// selected, and this batch goes across non consecutive row groups.
for (int64_t i = 0; i < m_nIdxInBatch; ++i)
IncrFeatureIdx();

Expand Down
2 changes: 1 addition & 1 deletion ogr/ogrsf_frmts/gpkg/ogrgeopackagedatasource.cpp
Expand Up @@ -9970,7 +9970,7 @@ bool GDALGeoPackageDataset::AddRelationship(
*
* However, if we don't insert the mapping table into gpkg_contents then it is no longer
* visible to some clients (eg ESRI software only allows opening tables that are present
* in gpkg_contents). So we'll do this anyway, for maximum compatiblity and flexibility.
* in gpkg_contents). So we'll do this anyway, for maximum compatibility and flexibility.
*
* More related discussion is at https://github.com/OSGeo/gdal/pull/9258
*/
Expand Down
2 changes: 1 addition & 1 deletion ogr/ogrsf_frmts/parquet/ogr_parquet.h
Expand Up @@ -89,7 +89,7 @@ class OGRParquetLayer final : public OGRParquetLayerBase
//! Iterator over m_asFeatureIdxRemapping
std::vector<std::pair<int64_t, int64_t>>::iterator
m_oFeatureIdxRemappingIter{};
//! Feature index among the potentially restricted set of selected row gropus
//! Feature index among the potentially restricted set of selected row groups
int64_t m_nFeatureIdxSelected = 0;
std::vector<int> m_anRequestedParquetColumns{}; // only valid when
// m_bIgnoredFields is set
Expand Down
2 changes: 1 addition & 1 deletion swig/python/README.rst
Expand Up @@ -13,7 +13,7 @@ reference documentation, but the https://gdal.org/api/python_bindings.html#tutor
Dependencies
------------

* libgdal (3.8.4 or greater) and header files (gdal-devel)
* libgdal (3.8.5 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)

Expand Down
2 changes: 1 addition & 1 deletion swig/python/gdal-utils/osgeo_utils/__init__.py
@@ -1,5 +1,5 @@
__package_name__ = "gdal-utils"
gdal_utils_version = (3, 8, 4, 0)
gdal_utils_version = (3, 8, 5, 0)
__version__ = ".".join(str(i) for i in gdal_utils_version)
__author__ = "Frank Warmerdam"
__author_email__ = "warmerdam@pobox.com"
Expand Down
2 changes: 1 addition & 1 deletion swig/python/gdal-utils/osgeo_utils/gdalattachpct.py
Expand Up @@ -127,7 +127,7 @@ def doit(

if driver_name.upper() == "VRT":
# For VRT, create the VRT first from the source dataset, so it
# correctly referes to it
# correctly refers to it
out_ds = dst_driver.CreateCopy(dst_filename or "", src_ds)
if out_ds is None:
print(f"Cannot create {dst_filename}")
Expand Down

0 comments on commit 1d418c1

Please sign in to comment.