The 3.12.0 release is a new feature release with the following highlights:
In a nutshell...
-
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'
- Add 'gdal vector set-field-type'
- Add 'gdal vector simplify-coverage'
- Add 'gdal mdim mosaic' (#13208)
- Add 'gdal dataset' port of 'gdal manage'
- gdal vector pipeline: add limit step
- 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)
-
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:
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
Detailed release notes
At https://github.com/OSGeo/gdal/blob/v3.12.0/NEWS.md
Backward compatibility issues
See migration guide