[gdal-dev] GDAL 3.12.0 "Chicoutimi" is released
Even Rouault
even.rouault at spatialys.com
Fri Nov 7 16:14:09 PST 2025
Hi,
On behalf of the GDAL/OGR development team and community, I am pleased
to announce the release of GDAL/OGR 3.12.0 "Chicoutimi". GDAL/OGR is a
C++ geospatial data access library for raster and vector file formats,
databases and web services. It includes bindings for several languages,
and a variety of command line tools.
http://gdal.org/
The 3.12.0 release is a new feature release with the following highlights:
* New 'gdal' command line interface capabilities:
- Add 'gdal raster as-features' (#12970)
- Add 'gdal raster blend' (port of hsv_merge.py + regular alpha blending)
- Add 'gdal raster compare' (port of gdalcompare.py) (#12757)
- Add 'gdal raster neighbors' (#12768)
- Add 'gdal raster nodata-to-alpha' (#12524)
- Add 'gdal raster pansharpen' (port of gdal_pansharpen.py)
- Add 'gdal raster proximity' (#12350)
- Add 'gdal raster rgb-to-palette' (port of rgb2pct.py)
- Add 'gdal raster update'
- Add 'gdal raster zonal-stats'
- Add 'gdal vector check-coverage'
- Add 'gdal vector check-geometry'
- Add 'gdal vector clean-coverage'
- Add 'gdal vector index' (port of ogrtindex)
- Add 'gdal vector layer-algebra' (port of ogr_layer_algebra.py)
- Add 'gdal vector make-point'
- Add 'gdal vector partition'
- gdal vector pipeline: add limit step
- Add 'gdal vector set-field-type'
- Add 'gdal vector simplify-coverage'
- Add 'gdal mdim mosaic' (#13208)
- Add 'gdal dataset' port of 'gdal manage'
- Make 'gdal pipeline' support mixed raster/vector pipelines
- Pipeline: add support for nested pipeline (#12874)
- Pipeline: add support for a 'tee' step (#12874)
- Move 'gdal vector geom XXXX' utilities directly under 'gdal vector'
- Rename 'gdal vector geom set-type' as 'gdal vector set-geom-type'
- gdal raster reproject: add a -j/--num-threads option and default to
ALL_CPUS
- Make 'gdal raster fill-nodata/proximity/sieve/viewshed' pipeline-able
- gdal raster mosaic/stack: allow it to be the first step of a raster
pipeline
- gdal pipeline: allow to run an existing pipeline and override/add
parameters
- Improved Bash completion
- Python bindings: add a dynamically generated 'gdal.alg' module
(e.g. ``gdal.alg.raster.convert(input="in.tif", output="out.tif")``)
- Many other improvements to existing utilities (see below)
Other topics
* VRT pixel functions: Add mean, median, geometric_mean, harmonic_mean, mode
(#12418), and handle NoData values
* Add C/C++/Python API for [raster band
algebra](https://gdal.org/en/latest/user/band_algebra.html):
arithmetic operators, comparison operators, AsType(),
gdal::abs()/sqrt()/log10()/log()/min()/max()/mean()/IfThenElse()
functions
* Add MiraMon raster driver: read-only support (#12293)
* ADBC driver: support for ADBC BigQuery driver (requires BigQuery ADBC
driver)
* JSONFG driver: add read/write support for curve and measured geometries;
update to 0.3.0 spec
* Parquet: add update support using OGREditableLayer mechanism
* Add C++ public header files for raster functionality
* Security: avoid potential path traversal in several drivers
* Various code linting, static code analyzer fixes, etc.
* Significant automation of the release process
* Add Docker attestation (#13066)
* Bump of shared lib major version
* [RFC
104](https://gdal.org/en/latest/development/rfc/rfc104_gdal_cli.html):
<b>Adding a "gdal" front-end command line interface</b>.
- See the [list of
commands](https://gdal.org/en/latest/programs/index.html#gdal-application)
- Includes new "gdal raster calc" and "gdal raster resclassify"
utilities.
- "gdal raster tile", C++ port of gdal2tiles, runs faster (3x to 6x
in some cases)
- Includes "gdal vsi list/copy/delete/move/sync" (ports of Python
sample scripts)
- Includes "gdal driver {driver_name}" for driver-specific commands.
- Includes smart Bash autocompletion
- Includes C, C++, Python API
* Add [GDALG](https://gdal.org/en/latest/drivers/vector/gdalg.html)
(GDAL Streamed Algorithm Format) driver: reading of on-the-fly /
streamed vector dataset replaying compatible "gdal" command lines (kind
of VRT).
More complete information on the new features and fixes in the 3.12.0
release can be found at:
https://github.com/OSGeo/gdal/blob/v3.12.0/NEWS.md
Please also consult the migration guide when updating from prior releases:
https://gdal.org/en/latest/user/migration_guide.html#from-gdal-3-11-to-gdal-3-12
The release can be downloaded from:
* https://download.osgeo.org/gdal/3.12.0/gdal-3.12.0.tar.gz - source
as .tar.gz
* https://download.osgeo.org/gdal/3.12.0/gdal-3.12.0.tar.gz.md5 - md5sum
* https://download.osgeo.org/gdal/3.12.0/gdal-3.12.0.tar.gz.sig -
signature
* https://download.osgeo.org/gdal/3.12.0/gdal-3.12.0.tar.xz - source
as .tar.xz
* https://download.osgeo.org/gdal/3.12.0/gdal-3.12.0.tar.xz.md5 - md5sum
* https://download.osgeo.org/gdal/3.12.0/gdal-3.12.0.tar.xz.sig -
signature
* https://download.osgeo.org/gdal/3.12.0/gdal3120.zip - source as a zip
* https://download.osgeo.org/gdal/3.12.0/gdal3120.zip.md5 - md5sum
* https://download.osgeo.org/gdal/3.12.0/gdal3120.zip.sig - signature
* https://download.osgeo.org/gdal/3.12.0/gdalautotest-3.12.0.zip -
test suite
* https://download.osgeo.org/gdal/3.12.0/gdal3120doc.zip -
documentation / website
Python bindings are pushed to https://pypi.org/project/GDAL/3.12.0.post1
Note the ".post1" suffix. The initial 3.12.0 was unfortunately corrupted
due to
a hickup in the new release process.
Docker images are available:
* ghcr.io/osgeo/gdal:ubuntu-full-3.12.0
* ghcr.io/osgeo/gdal:ubuntu-small-3.12.0
* ghcr.io/osgeo/gdal:alpine-normal-3.12.0
* ghcr.io/osgeo/gdal:alpine-small-3.12.0
Best regards,
Even
PS1: Packager comparing rc1 to final will notice a slight difference in
content for the dates of the manpages, due to the generation of tarballs
now being triggered
on tag push.
PS2: GPG signing key used:
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGjlDXoBEACjbYUouwHnW+X/xK51AfwN1vTrJn+pZziGGLobD4Jfs4gU4PwQ
dEw1bFj6tsgBrJ7hrKmcyd0bBQiKU1FTYy+tOu768t9qlC7HC3JfRBACrGn3Svz4
evinQkq5GGcZ1FkJhRKgEIxJLGppG7O45XEFYdcbCkLqC8uyu2+PbY2SYXlzlKs8
DLiAwqX670eZ78pDtynJj81CRowSqyNBOzaltR6OLCsYZrYzAYYtBqSiifKoIpm/
sV4VRvUuWaaUNNMPPRLt+mV+iIYm8cKLH2uyozZWIfOSck7I30fGIuuUhulc41bi
3WNV+QtOepPyuMolab8JNbaRJXAFxQ5Q2k5ZyzXvpuAEqwrhaFIroc7LvkQ4RLlT
r6BkFUzvCCjRWG5jCFA0CjvvvYG9DPSUKdSaD2Vxfor/cwSRqnPYwRauFMuST57H
exrLYJZqfeZuqV2mlI8wVvh3tO9oC/pGmggV3B1KxYvzj2I/nQ/bnugveEvD005j
EcfSlmAPWcuily+rgB9xqed0tZwG0A9fjY/gveqxLVE41EIoAfkdeRl+KVOqEEYk
cyiJQdFKBuGxemEP2cfDnROUawp+1XXEuA1MGkLvB+6nNIp1e+mhUtWfDY70MEz1
l7J49MUZBfPM3vy63t7ihlPLIP9IUcO9j9rfy1iW8t86qG3CnZE/rsnVZwARAQAB
tCRHREFMIFJlbGVhc2UgQm90IDxnZGFsb3JnQGdtYWlsLmNvbT6JAlQEEwEKAD4W
IQR7Ew6VW0TYfM4nZfDb2B/1LsKkKgUCaOUNegIbAwUJA8JnAAULCQgHAgYVCgkI
CwIEFgIDAQIeAQIXgAAKCRDb2B/1LsKkKpY+D/9hVR9JIQNT3So4fg/fQx36azSf
kVzO4nS0lZhSxR4/Xig5Zqq8EOFk7ipWwb4hhivPi7yR49BhVSQbHo36+jNbC5k/
jDMsZ+9CNzUjp1XSH/v06mcdSD4LB4vSvHBfLjDdV7OoOGnExkEyqBcoje53tW6p
tKQGwqZ3ilZs75GkLO1UC3DNQ9VpVc7lk1Cv+npto86A6CWMAC7q+n540wC/oTj7
APn6dz1S0LAPWR9v0aBoLMoRP9YiRQSmQmyQsKe3HJd4c7hSdWyST/PIMvPZawpP
BYG+JRRuRoWm6zjJIWnvqj9IZeFkQv1fKqYHKW86aITTqGGF6kcq83mf2XH26KQR
mu8ArI5aLULmpKA67p2RXxyPdoSNiaiP8UuWQ18rnEA/Hedz2sgBYSvjeYYziTRm
wgiRbts4MjB5pj+JGKtX7FEL6HuPDVnMYGc8n8bO8qiKctuYMwBM/KRE+2e3zx0m
m5YXjjCSvBiTLYNhvrrQ5pxiUK5xiAH0G/MzPXjJToJzLrHn0vqRVHXs9F8d9zLe
o6E4S8VVgyJ9zdXkYtj9nyL9jb00K+jj/g4avpnOKTuIgpsTR2ntxWz2liWU6Saz
03Vrd9mVwgU7NBnYAMXOg54eYwhyWkGvbFHvCK6ijL1+SaAkN9mVs5VTJMpGiJ9s
qj7DbIY0GwZQMVSvxQ==
=FY/p
-----END PGP PUBLIC KEY BLOCK-----
--
http://www.spatialys.com
My software is free, but my time generally not.
More information about the gdal-dev
mailing list