Skip to content

Commit 5d31ea7

Browse files
committed
Update RELEASE to GDAL 3.8.4
2 parents 4ffa728 + c2d2a61 commit 5d31ea7

File tree

168 files changed

+4644
-1335
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

168 files changed

+4644
-1335
lines changed

.github/workflows/cmake_builds.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -583,10 +583,11 @@ jobs:
583583
cmake --version
584584
- name: Install dependency
585585
run: |
586+
rm -rf /usr/local/lib/node_modules # conflicts with node@18 from brew
586587
brew update
587588
brew outdated
588589
brew unlink python
589-
brew install --overwrite python@3.10 python@3.11
590+
brew install --overwrite python@3.11 python@3.12
590591
brew install postgresql || brew link postgresql
591592
brew install pkg-config freexl libxml2 libspatialite geos proj libgeotiff openjpeg giflib libaec postgis poppler doxygen unixodbc jpeg-turbo aom jpeg-xl libheif libarchive libkml boost
592593
brew install ccache swig

.github/workflows/code_checks.yml

-22
Original file line numberDiff line numberDiff line change
@@ -101,28 +101,6 @@ jobs:
101101
make .doxygen_up_to_date >log.txt 2>&1
102102
if grep -i warning log.txt | grep -v -e russian -e brazilian; then echo "Doxygen warnings found" && cat log.txt && /bin/false; else echo "No Doxygen warnings found"; fi
103103
104-
formatting-check:
105-
106-
name: Formatting Check
107-
runs-on: ubuntu-latest
108-
109-
steps:
110-
- name: Checkout GDAL
111-
uses: actions/checkout@v4
112-
with:
113-
fetch-depth: 100
114-
115-
- name: Set up Python
116-
uses: actions/setup-python@v4
117-
with:
118-
python-version: 3.7
119-
120-
- name: Install Run clang-format style check for C/C++ programs.
121-
run: pip install clang-format==15.0.4
122-
123-
- name: Check new code with clang-format
124-
run: ./scripts/clang-format.sh
125-
126104
other_checks:
127105
runs-on: ubuntu-latest
128106
steps:

.github/workflows/fedora_rawhide/Dockerfile.ci

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ RUN dnf install -y clang make diffutils ccache cmake \
1717
armadillo-devel qhull-devel \
1818
hdf-devel hdf5-devel netcdf-devel \
1919
libpq-devel \
20-
python3-pip python3-devel python3-lxml swig \
20+
python3-setuptools python3-pip python3-devel python3-lxml swig \
2121
glibc-gconv-extra
2222

2323
COPY requirements.txt /tmp/

CITATION

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
To cite GDAL/OGR in publications use:
22

3-
GDAL/OGR contributors (2023). GDAL/OGR Geospatial Data Abstraction
3+
GDAL/OGR contributors (2024). GDAL/OGR Geospatial Data Abstraction
44
software Library. Open Source Geospatial Foundation. URL https://gdal.org
55
DOI: 10.5281/zenodo.5884351
66

@@ -10,7 +10,7 @@ A BibTeX entry for LaTeX users is
1010
title = {{GDAL/OGR} Geospatial Data Abstraction software Library},
1111
author = {{GDAL/OGR contributors}},
1212
organization = {Open Source Geospatial Foundation},
13-
year = {2023},
13+
year = {2024},
1414
url = {https://gdal.org},
1515
doi = {10.5281/zenodo.5884351},
1616
}

CITATION.cff

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ cff-version: 1.2.0
22
message: Please cite this software using these metadata or in the CITATION file.
33
type: software
44
title: GDAL
5-
version: 3.8.1
6-
date-released: 2023-11-23
5+
version: 3.8.4
6+
date-released: 2024-02-08
77
doi: 10.5281/zenodo.5884351
88
abstract: GDAL is a translator library for raster and vector geospatial data
99
formats that is released under an MIT style Open Source License by the Open

HOWTO-RELEASE

+22-12
Original file line numberDiff line numberDiff line change
@@ -154,19 +154,22 @@ Process :
154154
11.2) Log on download.osgeo.org, go to /osgeo/download/gdal/X.Y.Z
155155

156156
Remove the RC suffixes for the final RC, like:
157-
mv gdal-3.1.0rc1.tar.xz gdal-3.1.0.tar.xz
158-
mv gdal-3.1.0rc1.tar.xz.md5 gdal-3.1.0.tar.xz.md5
159-
mv gdal-3.1.0rc1.tar.gz gdal-3.1.0.tar.gz
160-
mv gdal-3.1.0rc1.tar.gz.md5 gdal-3.1.0.tar.gz.md5
161-
mv gdal310rc1.zip gdal310.zip
162-
mv gdal310rc1.zip.md5 gdal310.zip.md5
163-
mv gdalautotest-3.1.0rc1.tar.gz gdalautotest-3.1.0.tar.gz
164-
mv gdalautotest-3.1.0rc1.zip gdalautotest-3.1.0.zip
157+
mv gdal-3.8.3rc1.tar.xz gdal-3.8.3.tar.xz
158+
mv gdal-3.8.3rc1.tar.xz.md5 gdal-3.8.3.tar.xz.md5
159+
mv gdal-3.8.3rc1.tar.xz.sig gdal-3.8.3.tar.xz.sig
160+
mv gdal-3.8.3rc1.tar.gz gdal-3.8.3.tar.gz
161+
mv gdal-3.8.3rc1.tar.gz.md5 gdal-3.8.3.tar.gz.md5
162+
mv gdal-3.8.3rc1.tar.gz.sig gdal-3.8.3.tar.gz.sig
163+
mv gdal383rc1.zip gdal383.zip
164+
mv gdal383rc1.zip.md5 gdal383.zip.md5
165+
mv gdal383rc1.zip.sig gdal383.zip.sig
166+
mv gdalautotest-3.8.3rc1.tar.gz gdalautotest-3.8.3.tar.gz
167+
mv gdalautotest-3.8.3rc1.zip gdalautotest-3.8.3.zip
165168

166169
And edit the .md5 file to remove the reference to RC in the names they contain
167-
vim gdal-3.1.0.tar.gz.md5
168-
vim gdal-3.1.0.tar.xz.md5
169-
vim gdal310.zip.md5
170+
vim gdal-3.8.3.tar.gz.md5
171+
vim gdal-3.8.3.tar.xz.md5
172+
vim gdal383.zip.md5
170173

171174
Check that everything is fine:
172175
md5sum -c *.md5
@@ -315,7 +318,14 @@ e) Click the "Release" button and that is it! The release should be available in
315318
18) Create a release on GitHub
316319
Go to https://github.com/OSGeo/gdal/releases/new
317320
And create a release for the vX.Y.Z tag
318-
Attach the gdal-X.Y.Z.tar.gz, gdal-X.Y.Z.tar.gz.md5, gdalXYZ.zip, gdalXYZ.zip.md5 and gdalautotest-X.Y.Z.zip files
321+
Attach the following files:
322+
- gdal-X.Y.Z.tar.gz
323+
- gdal-X.Y.Z.tar.gz.sig
324+
- gdal-X.Y.Z.tar.gz.md5
325+
- gdalXYZ.zip
326+
- gdalXYZ.zip.sig
327+
- gdalXYZ.zip.md5
328+
- gdalautotest-X.Y.Z.zip
319329

320330
19) Regenerate Docker images
321331

NEWS.md

+262
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,265 @@
1+
# GDAL/OGR 3.8.4 Release Notes
2+
3+
GDAL 3.8.4 is a bugfix release.
4+
5+
## Build
6+
7+
* FindECW.cmake: make it work for Windows 32-bit builds (#9106)
8+
* Restore use of gmtime_r and localtime_r; extend to ctime_r; use Windows
9+
variants too
10+
* FindSQLite3.cmake: improve detection of static libsqlite3.a (#9096)
11+
* bash_completion installation: Allow the project_binary_dir to contain a
12+
whitespace
13+
14+
## Docker build recipes
15+
16+
* docker/ubuntu-full/Dockerfile: update to Arrow 15.0.0
17+
* docker/ubuntu-full/Dockerfile: pin libarrow-acero-dev version (#9183)
18+
* docker/ubuntu-full/Dockerfile: disable AVX2 when building TileDB
19+
20+
## GDAL 3.8.4
21+
22+
### Port
23+
24+
* /vsisparse/: fix Stat() on files larger than 4 GB on 32-bit builds
25+
* CPLAtof()/CPLStrtod(): recognize again INF and -INF
26+
* /vsicurl/: fix potential multithreaded crash when downloading the same region
27+
in parallel and that the download fails
28+
29+
### Core
30+
31+
* PAM: only unset GPF_DIRTY flag
32+
* GDALOverviewDataset: avoid setting SetEnableOverviews(false) during lifetime
33+
of object. Just do it transiently
34+
35+
### Utilities
36+
37+
* gdalinfo: do not emit errors if corner coordinate reprojection fails
38+
* gdalwarp: do not enable blank line detection when -tap and -te are specified
39+
(#9059)
40+
41+
### Raster drivers
42+
43+
BMP driver:
44+
* fix reading images larger than 4GB (3.4.0 regression)
45+
46+
EEDA/EEDAI driver:
47+
* use 'crsWkt' element
48+
49+
GRIB driver:
50+
* degrib: use gmtime_r() or gmtime_s() when possible
51+
52+
netCDF driver:
53+
* use VSILocalTime()
54+
55+
PCIDSK driver:
56+
* PCIDSK SDK: use ctime_r() or ctime_s() when possible
57+
58+
PDF driver:
59+
* correctly initialize PAM when opening a subdataset (specific page for
60+
example)
61+
62+
VRT driver:
63+
* VRTPansharpenedRasterBand::GetOverviewCount(): robustify against potential
64+
failure of GDALCreateOverviewDataset()
65+
66+
WMS driver:
67+
* fix nullptr dereference on invalid document (ossfuzz #65772)
68+
69+
## OGR 3.8.4
70+
71+
### Core
72+
73+
* ExecuteSQL(dialect=SQLite): support 'SELECT\n' for example (#9093)
74+
* OGRGeometryFactory::createGeometry(): do not assert on wkbUnknown input
75+
76+
### Utilities
77+
78+
* ogr2ogr: Arrow code path: take into account -limit parameter for
79+
MAX_FEATURES_IN_BATCH
80+
81+
### Vector drivers
82+
83+
GeoRSS, GPX, JML, KML, LVBAG, SVG, XLSX drivers:
84+
* harmonize on a 8192 byte large parsing buffer on all platforms
85+
86+
Arrow/Parquet driver:
87+
* add (minimum) support for libarrow 15.0
88+
* MapArrowTypeToOGR(): make the code robust to potentially new entries in the
89+
arrow::Type enumeration
90+
91+
CAD driver:
92+
* Internal libopencad: use localtime_r() or localtime_s() when possible
93+
94+
CSV driver:
95+
* do not quote numeric fields even if STRING_QUOTING=ALWAYS (3.8.1 regression)
96+
(#55808)
97+
98+
GMLAS driver:
99+
* recognize GeometricPrimitivePropertyType
100+
101+
LIBKML driver:
102+
* fix crash on a gx:Track without when subelements (qgis/qgis#55963)
103+
104+
MSSQLSpatial driver:
105+
* Fix BCP performance problem (#9112)
106+
107+
MySQL driver:
108+
* fix/workaround server-side spatial filtering when SRS is geographic with
109+
MySQL >= 8 (qgis/QGIS#55463)
110+
111+
ODS driver:
112+
* fix parsing of large cells on Windows (at least with mingw64) with recent
113+
expat 2.6.0 release
114+
115+
PDF driver:
116+
* vector stream parser: correctly parse structures like "[3 3.5] 0 d"
117+
118+
PDS driver:
119+
* fix compilation with Emscripten version 3.1.7
120+
121+
SQLite driver:
122+
* OGR2SQLITE_Setup(): robustify against potential crashing scenario
123+
124+
### Python bindings
125+
126+
* remove run of 'python -m lib2to3' that is a no-op, given that lib2to3 is
127+
removed in python 3.13 (#9173)
128+
129+
# GDAL/OGR 3.8.3 Release Notes
130+
131+
GDAL 3.8.3 is a bugfix release.
132+
133+
## Build
134+
135+
* infback9: fix various build issues with clang 17
136+
* fix build with sqlite 3.36.x (#9021)
137+
* fix build of optional utility gdal2ogr
138+
139+
## GDAL 3.8.3
140+
141+
### Port
142+
143+
* AWS S3: add explicit error message when IMDS fails and we know we are on EC2
144+
145+
### Utilities
146+
147+
* gdalbuildvrt: in -separate mode, only use ComplexSource if needed
148+
149+
### Raster drivers
150+
151+
VRT driver:
152+
* VRTDerivedRasterBand::IRasterIO(): fix potential multiplication overflow
153+
154+
## OGR 3.8.3
155+
156+
### OGRSpatialReference
157+
158+
* CoordinateTransformation::TransformBounds(): fix polar stereographic (
159+
including pole) to Web Mercator (#8996)
160+
161+
### Utilities
162+
163+
* ogr2ogr: do not use ArrowArray interface if -clipsrc, -clipdst, -gcp or
164+
-wrapdateline are specified (#9013)
165+
166+
### Vector drivers
167+
168+
* OGRArrowArrayHelper::SetBoolOn(): fix wrong bit shift computation.
169+
Affects ogr2ogr from GPKG/FlatGeoBuf to something else) (#8998)
170+
171+
GPKG driver:
172+
* Fix error message that sometimes occurred with multi-threaded ArrowArray
173+
interface, and add OGR_GPKG_NUM_THREADS config option. (#9018, 9030)
174+
175+
GeoJSON driver:
176+
* Internal libjson: resync random_seed.c with upstream, and use getrandom()
177+
implementation when available (#9024)
178+
179+
# GDAL/OGR 3.8.2 Release Notes
180+
181+
GDAL 3.8.2 is a bugfix release.
182+
183+
## GDAL 3.8.2
184+
185+
### Port
186+
187+
* /vsis3/: takes into account AWS_CONTAINER_CREDENTIALS_FULL_URI environment
188+
variable (#8858)
189+
* cpl_safemaths.hpp: fix compilation with clang targeting Windows (#8898)
190+
* CPLGetPhysicalRAM(): fix getting right value when running inside Docker on a
191+
cgroups v1 system (like Amazon Linux 2) (#8968)
192+
193+
### Algorithms
194+
195+
* Rasterization: avoid burning pixel that we only touch (with an empty
196+
intersection) (#8918)
197+
198+
### Utilities
199+
200+
* gdal_footprint: return an error if the requested output layer doesn't exist
201+
* gdal_translate: avoid useless extra GDALOpen() call on a target GeoRaster
202+
* pct2rgb.py: emit explicit exception when source file has no color table (#8793)
203+
204+
### Raster drivers
205+
206+
HDF5 driver:
207+
* classic 2D API: handle char,ushort,uint,int64,uint64 attributes when
208+
reading them as double
209+
* multidim: better warning when nodata value is out of range
210+
211+
JPEGXL driver:
212+
* add compatibility with latest libjxl git HEAD
213+
214+
NGSGEOID driver:
215+
* make dataset identification robust to NaN values (#8879)
216+
217+
OGCAPI driver:
218+
* make it robust to missing 'type' on 'self' link (#8912)
219+
220+
STACTA driver:
221+
* use GDAL_DISABLE_READDIR_ON_OPEN=EMPTY_DIR instead of
222+
CPL_VSIL_CURL_ALLOWED_EXTENSIONS
223+
* use STAC Raster extension to get number of bands, their data type, nodata
224+
value, scale/offset, units, and avoid fetching a metatile
225+
* add support for upcoming STAC 1.1 which merges eo:bands and raster:bands
226+
into bands
227+
228+
netCDF, HDF4, HDF5:
229+
* SubdatasetInfo API: fix various issues (#8869, #8881)
230+
231+
VRT driver:
232+
* VRTComplexSource: fix excessive RAM usage with many sources (#8967, 3.8.0 regression)
233+
234+
### OGR 3.8.2
235+
236+
### Core
237+
238+
* OGRGeometryFactory::transformWithOptions(): fix WRAPDATELINE=YES on
239+
multipoint geometries (#8889)
240+
* OGRSpatialReference::importFromUrl(): changes to no longer use a
241+
'Accept: application/x-ogcwkt' header
242+
* OSRPJContextHolder: call pthread_atfork() once for the process, and
243+
re-enable it for MacOS
244+
* OGRWKBIntersectsPessimisticFixture: handle all geometry types
245+
246+
### Utilities
247+
248+
* ogrinfo: really honours -if (refs #8590)
249+
* ogr2ogr: implement -if
250+
251+
### Vector drivers
252+
253+
* PMTiles: Correct extension for temporary mbtiles file
254+
255+
## Python bindings
256+
257+
* gdal.Footprint(): add a minRingArea option
258+
* fix build/install when there's a gdal-config from a pre-installed version in
259+
the PATH (#8882)
260+
* add missing reference increment on Py_None in error case of
261+
Geometry.GetPoints() (#8945)
262+
1263
# GDAL/OGR 3.8.1 Release Notes
2264

3265
GDAL 3.8.1 is a bugfix release.

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.8.1
1+
3.8.4

0 commit comments

Comments
 (0)