Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
gdal: Autospec creation for update from version 3.6.4 to version 3.7.0
Alan D. Snow (2): DOC: Minor version fix in docker/README.md LNT: Fix flake8 repo in pre-commit-config Alessandro Pasotti (14): GeoRaster: fix build warning nBands shadow (fixes #6710) SWQ: fix crash when comparing integer array fields (fixes: #6714) (#6717) Typo bench_ogr_bach -> bench_ogr_batch RFC69: C++ code formatting - config, scripts and workflows Remove (g)sed RFC69 C++ formatting: updates (#6787) RFC 89: SQL query logging callback (#6967) RFC89 text: sql logging callback (#6837) Use parametrize for mem test Use fixture GEOJSON: fix mixed type field not flagged as JSON if first occurrence is a string (fixes #7313) (#7315) JSON: Fix json mixed types roundtrip (#7362) OGR: Implementation of RFC94 field width precision metadata (#7522) RFC 94 text : Numeric fields width/precision metadata (#7264) Andrea Borruso (1): WFS filter: use double-quotes for PropertyIsLike attributes Andrea Giudiceandrea (3): CSW: Add 'title' as query-able property [Docs] Fix NetCDF options rendering ogrinfo: fix -json -so -features parameters behaviour Andrew C Aitchison (1): Make implicit sign conversion in b0797370a3ed238bc5e74435262c2e889f58fe03 explicit. Björn Harrtell (2): FlatGeobuf: Align with upstream FlatGeobuf: improve handling of null geoms (#7483) Blayne Chard (1): COG: set GDAL_NUM_THREADS to NUM_THREADS if its not already set (#7479) Christoph Gohlke (1): Fix static HDF4 libraries not found on Windows Dan Baston (5): setdevenv.sh: Support zsh (#7148) ogr2ogr: Improve performance of -clipsrc and -clipdst (#7197) Doc: Clarify requirements for building vs testing (#7332) Doc: Add note on installing sphinx and extensions Doc: Update note about VSI support for netCDF, HDF5 Dan Mahr (1): Increase max zoom level from 24 to 30 Daniel Baston (82): Doc: Consolidate info on build dependencies and processes DOC: Add redirect from build_hints to building_from_source Remove outdated cpp testing README Move C++ perf tests out of autotest CPLDefaultFindFile: Warn if file not found and GDAL_DATA not defined test_ogr_shape: Remove inter-test dependencies test_cpl: Clean up config options between tests Autotest: Add a Valgrind suppression file autotest: Reference template in generated pytest.ini autotest: Raise error if GDAL build/runtime version are not equal Autotest: Pull messages about skipped tests into pytest_configure autotest: Include download error in skip message autotest: Add pytest marker for slow tests autotest: Symlink conftest.py into build directory autotest: Mark ogr_ngw_test_ogrsf as slow autotest: Add require_creation_option decorator autotest: Mark remaining ogr_ngw tests as slow autotest: Use require_creation_option in gcore/tiff_write.py autotest: additional uses of require_creation_option autotest: use pytest.mark.parametrize in ogr_shape.py autotest: replace if..fail with assert in ogr_shape.py autotest: use gdaltest.error_handler() in ogr_shape.py autotest: use gdaltest.config_option() in ogr_shape.py CI: Move clang-format check under 'Code Checks' CI: Move XML validation under 'code checks' CI: Move cmake-lint under 'code checks' autotest: Print GDAL build info in test report header Doc: clarify use of clip args in ogr2ogr autotest: Add pytest.mark.require_geos autotest: Add MySQL skip message autotest: replace gdal.PushErrorHandler for autotest/ogr PG: Add SKIP_VIEWS open option to replace PG_SKIP_VIEWS config option Doc: Describe some PG config options PG: Remove PG_USE_TEXT config option autotest: Combine Linux builds into single workflow CI: Make Travis skip doc-only commits Doc: Remove Trac reference netcdfvirtual.cpp: fix typo pgdump.rst: fix typo ogr_pg.py: Provide informative message on connection failure ogr_pg.py: Remove use of gdaltest.pg_use_copy global state netcdf.py: put cleanup into teardown fixture netcdf.py: add skip message netcdf_cf.py: Improve skip message netcdf_cf.py: use pytest.mark.parametrize autotest: simplify gdaltest.download_or_skip hdf4_read.py: update download URL CI: Use master container as cache for feature branches autotest: ogr/hana: add info to error message README: Update badges to use consolidated Linux builds autotest/osr: use gdaltest.error_handler() autotest/gcore: use gdaltest.error_handler() autotest/alg: use gdaltest.error_handler() autotest/gdrivers: use gdaltest.error_handler() autotest/ogr: use gdaltest.error_handler() autotest/pymod: use gdaltest.error_handler() ogr_pgdump.py: use gdal.config_option context manager ogr_geom.py: use gdal.config_option context manager ogr_geom.py: Add skip messages ogr_gml_read.py: use gdal.config_option context manager ogr_sql_sqlite.py: use gdal.config_option context manager ogr_gpkg.py: use gdal.config_option context manager ogr_dxf.py: use gdal.config_option context manager ogr_xls(x).py: use gdal.config_option context manager ogr_plscenes.py: use gdal.config_option context manager ogr_osm.py: use gdal.config_option context manager ogr_wfs.py: Set CPL_CURL_ENABLE_VSIMEM via fixture ogr_wfs.py: use gdal.config_option context manager ogr_eeda.py: use gdal.config_option context manager ogr_fgdb.py: use gdal.config_option context manager autotest/ogr: use gdal.config_option context manager autotest/gcore: use gdaltest.error_handler() autotest/gdrivers: use gdaltest.error_handler() warp.py: use gdaltest.error_handler() autotest/utilities: use gdaltest.error_handler() autotest/ogr: use gdaltest.error_handler() CI: Rebuild containers for pushes to OSGeo/gdal ogr2ogr: Restore use of 3d clipping polygons Doc: Add source_file role Doc: Use source_file role autotest: Change gdaltest.require_proj_version to pytest.mark.require_proj autotest: Change gdaltest.require_creation_option to pytest.mark.require_creation_option Dmitry Baryshnikov (3): cpl_http: CUSTOMREQUEST option overrides POST while send form OSR_Panorama: Add some spatial references (GSK 2011, etc.) RMF: Add scale, name, frame support. Add vert CS write support. Eduard Popov (1): Fix NGW links Edzer Pebesma (1): swap deprecation & since comment Erica Fischer (1): Add /vsirar/ virtual file system for RAR compression format (#7253) Even Rouault (1073): Tag master as 3.7.0dev BUILDING.md: update status of build systems [ci skip] NITF: fix heap-buffer-overflow on corrupted images (introduced in 3.6.0). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53006 Doc: add man page for ogr_layer_algebra GRIB2: fix crash and invalid metadata when processing index .idx file with sub-messages (fixes #6613) OGRMergeGeometryTypesEx(): do not consider different type of MultiGeometries (ie MultiPoint, MultiLineString, MultiPolygon) as being mergeable as GeometryCollections. Affect GML driver (fixes #6616) swig/include/gdal.i: fix GDT_TypeCount value (affects C# and Java bindings) Doc: ot.rst: advertize UInt64 and Int64 HDF5 multidim: fix crash on 'gdalmdiminfo HDF5:autotest/gdrivers/data/netcdf/alldatatypes.nc' GPKG: add compatibility with GPKG 1.0 gpkg_data_column_constraints table Add missing #include <algorithm> for std::min/std::max uses, and #include <limits> for std::numeric_limits<> cppcheck fixes docker/alpine-normal: update dependencies, add libjxl and libkml deps [ci skip] typo fixes NEWS.md: update for 3.6.0rc2 Make it possible to specify all HTTP related configuration options as path-specific options with VSISetPathSpecificOption() Add RFC 87: Signed int8 data type for raster Doc: advertize @[email protected] Internal libtiff: resync with upstream autotest: make test pass on a minimal build (fixes #6327) GPKG raster: implement setting the nodata value for Byte dataset (fixes #1569) VDV: remove hack that broke with GPKG enhancement in following commit GPKG: add support for reading tables with generated columns (fixes #6638) Fix build with -DOGR_ENABLE_DRIVER_GML=OFF (fixes #6647) Doc: advertize FOSS4G 2023 Prizren commit forgotten doc/images/foss4g2023.png tif_jxl.c: use re-entrant error functions of libtiff master OpenFileGDB: do not use buggy .spx spatial index found in some datasets (fixes geopandas/geopandas#2253) [lint] overview.cpp: rename GDALResampleChunk32R_Average to GDALResampleChunk32R_AverageOrRMS netCDF: fix exposiing geotransform when there's x,y and lat,lon coordinates and the CRS is retrieved from crs_wkt attribute (fixes #6656) HDF5: fix build with libhdf5 1.13.2 and 1.13.3 (fixes #6657) gdaldataset: fix false-positive gcc 12.2.1 -O2 warning about truncation of buffer LIBKML: fix likely null pointer dereference false-positive warnings of gcc 12.2.1 -O2 CI: update alpine to edge Doc: gml.rst: point at gfs.xsd gfs.xsd: add Curve and Surface as valid geometry types Doc: advertize v3.6.0 docker/README.md: advertize 3.6.0 images HDF4: fix opening more than 32 simultaneous HDF4_EOS files (fixes #6665) CPLGetUsablePhysicalRAM(): take into account RSS limit (ulimit -m) (fixes #6669) CPLGetNumCPUs(): take into sched_getaffinity() (fixes #6669) CMake: remove RECOMMENDED flag to BRUNSLI and QB3. Add it for CURL (refs https://github.com/spack/spack/pull/33856#issue-1446090634) Add autotest/cpp/gdallimits and test it in CI (refs #6669) configure.cmake: fix wrong detection of pread64 for iOS (adapted from patch by Nik Sands) typo fixes [ci skip] Doc: download.rst: mention Spack FindSQLite3.cmake: add logic to invalidate SQLite3_HAS_ variables if the library changes CMake: detect if sqlite3 is missing mutex support Fix build when sqlite3_progress_handler() is missing CMake: do not use Armadillo if it lacks LAPACK support (such as on Alpine) GPKG: avoid nullptr dereference on corrupted databases validate_gpkg.py: make it work with SRID=-1 in geometry blobs GPKG: fix bad performance of ST_Transform() by caching the OGRCoordinateTransformation object GeoJSON: fix transmission of 'Accept: text/plain, application/json' header when reading from http:// resource (3.6.0 regression) VSIGSFSHandler::UnlinkBatch(): avoid potential nullptr deref (master only, CID 1500607) GPKG: add a SetSRID() SQL function ogrmerge.py: add optimization for GPKG -> GPKG non-single layer case SQLite/GPKG: move PRELUDE_STATEMENTS evaluation just after database opening [Doc] software_using_gdal.rst: mention https://gdal3.js.org CMake: make it possible to build on Linux if linux/fs.h is missing by explicitly setting ACCEPT_MISSING_LINUX_FS_HEADER ogrmerge.py: GPKG optimization: deal with gpkg_geom_* extensions PCIDSK: advertize missing capabilities autotest: fix PytestReturnNotNoneWarning deprecation warning (fixes #6644) Python bindings: add a 'python_generated_files' target that facilitate generation of bindings without building the lib WFS/CSW: do not remove single or double quote character in a LIKE filter RFC87: change status and add voting history Add GDT_Int8 support (RFC 87) RFC87: change status to implemented typo fixes Add RFC88 text: Use GoogleTest framework for C/C++ unit tests RFC87: emit a warning when querying PIXELTYPE band IMAGE_STRUCTURE metadata item autotest/cpp: switch to GoogleTest framework (RFC88 implementation) Remove autotest/cpp/tut old unit test framework (RFC88 implementation) Parquet: make sure that ArrowLayer destructor is available (for plugin) XYZ: support more datasets with rather sparse content in first lines (fixes #6736) /vsigs/ allow GDAL_HTTP_HEADERS config option to be used as authentication method if contains at least a line starting with "Authorization:" GPKG: improve multi-threaded implementation of GetNextArrowArray() on tables with FID without holes SWIG: add gdal.GetNumCPUs() and gdal.GetUsablePhysicalRAM() gpkg.py: make test 51 conditioned by value of gdal.CPLGetUsablePhysicalRAM() SOSI: do not advertize GDAL_DCAP_CREATE_FIELD as it is not implemented VDV: make creation of temporary .gpkg files more robust on some platforms GPKG: GetNextArrowArray(): recycle worker threads instead of recreating them OGRArrowArrayHelper::SetDate(): simplify implementation bench_ogr_batch & bench_ogr_c_api: make it possible to specify layer name Add WKBFromEWKB() for a slightly faster OGRGeometryFromEWKB() GTiff: DISCARD_LSB: reduce range of validity to [0,7] for Byte to avoid unsigned integer overflow if 8. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53570 CPLGetExecPath(): add MacOSX and FreeBSD implementations; prevent potential one-byte overflow on Linux&Windows S3: fix issue with EC2 IDMSv2 request failing inside Docker container with default networking Avoid Coverity Scan false positives CSV: accept comma as decimal separator in X_POSSIBLE_NAMES, Y_POSSIBLE_NAMES and Z_POSSIBLE_NAMES fields GTiff: if CRS is DerivedProjected, write it to PAM .aux.xml file (fixes #6758) /vsiaz/: make AppendBlob operation compatible of Azurite (fixes #6759) PG: avoid error when inserting single feature of FID 0 (fixes #6728) Lint: add a robust CPLParseKeyValueJson() function (fixes #6753) Internal libtiff: refresh with upstream XYZ: support more sparse datasets (fixes #6736) Doc: OGR_L_GetArrowStream(): clarify lifecycle (fixes #6772) (#6773) GTiff: use libtiff >= 4.5 reentrant error handlers (when available) (fixes #6659) CI: windows_build.yml: remove conflicting libraries Warper: use exact coordinate transformer on source raster edges to avoid missing pixels (fixes #6777) Docker: update Alpine base images to 3.17 [ci skip] Fix shellcheck issues with the shellcheck of ubuntu 22.04 RFC88: update status Add frmts/gtiff/libtiff/resync_from_upstream.sh Internal libtiff: resync with upstream tif_jxl.c: update to use new memory allocation libtiff API Python bindings: avoid C++ warning about double->int implicit cast CPLGetExecPath(): detect truncation on Windows Add test for CPLGetExecPath() cmake/modules/packages/FindGeoTIFF.cmake: fix indentation [ci skip] CI: add a FreeBSD job CPLParseKeyValueJson(): avoid nullptr dereference on null input. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53678 (master only) Remove autotest/pytest.ini which is stale autotest/conftest.py: add collect_ignore_glob to ignore pymod/ files FlatGeoBuf: tune error message [ci skip] CI: fix Python tests on build-windows-conda (fixes #6791) CI: restore conda builds on master push events NITFProxyPamRasterBand::GetMetadataItem(): avoid warning related to querying deprecated PIXELTYPE gdalbuildvrt: make -addalpha working when there's a mix of bands with or without alpha (fixes #6794) Add minimal support for reading 12-bit JPEG images with libjpeg-turbo 2.2dev and internal libjpeg12 OGRSpatialReference::importFromWkt(): fix compatibilty with PROJ master 9.2.0dev MRF: CompressJPEG(): check range of input values to be 12-bits in 12-bit mode Add support for (future) libjpeg-turbo 2.2 with its 8/12 bit dual mode (fixes #6645) FlatGeobuf: decrease memory usage when inserting lots of features cppcheck fixes bench_ogr_c_api.cpp: slight optimization [ci skip] README.md: remove obsolete badges [ci skip] FlatGeoBuf: use std::deque<> Remove bogus endcond OGRFeatureDefn: add GetFields() and GetGeomFields() for easier C++ iteration CI: disable freebsd.yml as it appears to be flaky [ci skip] MITAB: add support for 'Philippine Reference System 1992' datum autotest/cpp: avoid different issues (memleaks, etc.) pointed by Coverity Scan CMake: issue an error when the user explicitly asks for a condition-dependent driver and the condition is not met Internal libtiff: resync with upstream rfc64: update links CI: make tests run again with ASAN (fixes #6825) nitf.py: add test case for #6827 fix ogr2ogr: densify points of spatial filter specified with -spat_srs to avoid reprojection artifacts OGRFeature/OGRGeometry: add a DumpReadable method that outputs to a string ogrinfo: make it accessible through a new GDALVectorInfo() C API call SWIG bindings: add gdal.VectorInfo() ogrinfo: add a -json switch ogrinfo.rst: add words of cautions about dumping features OGRToOGCGeomType(): add options to control output ogrinfo -json: use geometry types like 'PointZM' instead of human readable '3D Measured Point' Add a ogrinfo_output.json.schema test_gdalmdiminfo_lib.py: remove obsolete check SAR_CEOS: fix small memleak gdalbuildvrt: fix read heap-buffer-overflow introduced recently in the fix for #6794 (not affecting released versions) FileGDB: avoid crash in the SDK if passing incompatible geometry type (fixes #6836) gdalwarp: fix issue with vertical shift, in particular when CRS has US survey foot as vertical unit (fixes #6839) Python bindings: make Geometry.__str__() use ExportToIsoWkt() (fixes #6842) gdalinfo.rst: add example of -json output GDALMDReader: avoid possible stack overflow on hostile XML metadata. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53988 Coverity Scan fixes Add data/gdalinfo_output.schema.json to validate gdalinfo -json output (fixes #6850) Add read-only raster driver NOAA_B to read NOAA GEOCON/NADCON5 .b grids ogr2ogr: discard features whose intersection with -clipsrc/-clipdst result in a lower dimensionality geometry than the target layer geometry type (refs #6836) MRF: make it use PNG driver for decompression of 8-bit images PNG: 1.7-2.0x speed-up in whole image decompression with libdeflate on Intel/AMD CPUs autotest/gdrivers/png.py: test whole image decompression optimization ogr2ogr: add warning when -t_srs is ignored by drivers that automatically reproject to WGS 84 (fixes #6859) Doc: geojsonseq.rst: mention that the driver automatically reprojects to WGS 84 (fixes #6859) Move bench_ogr_batch and bench_ogr_c_api from apps/ to perftests/ setdevenv.sh: remove autoconf related stuff, and add perftests subdirectory to PATH PDF: update PDFium to 5461 docker/ubuntu-full/Dockerfile: update for Arrow dependency [ci skip] NOAA_B: prevent integer overflow (master only, fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54081) CI: macos: disable Arrow/arquet CI: cmake_builds.yml: build-mac: disable Arrow/Parquet ogr_oapif.py: lint OAPIF: add support for OGC API Features - Part 2 CRS extension OAPIF driver: add CRS/PREFERRED_CRS open options to control the active CRS OAPIF: add a SERVER_FEATURE_AXIS_ORDER open option Add OGRLayer::GetSupportedSRSList() and SetActiveSRS(), and implement in OAPIF driver Python bindings: gdal.VectorInfo(): add featureCount and extent options ogrinfo: output CRS supported list ogr2ogr: use SetActiveSRS() when possible when -t_srs is used WFS: implement GetSupportedSRSList() and SetActiveSRS() OGRSpatialReference: update hard-coded definition of OGC:CRS84 to include the ID nitf_spec.xml: add definition for subheader of CSATTB, CEEPHB and CSSFAB DES of GLAS/GFM NITF: add capability of decoding DES data part as XML fields NITF: add VALIDATE and FAIL_IF_VALIDATION_ERROR open options Internal libtiff: resync with upstream (code reformatting) SQLITE/GPKG: add a gdal_get_pixel_value() SQL function. NOAA_B: add support for VERTCON3 files which are encoded in little-endian GPKG: add a gdal_get_layer_pixel_value() SQL function /vsiaz/: accept Azure connection string with only BlobEndpoint and SharedAccessSignature (fixes #6870) OGR layer algebra: make sure result layer has no duplicated field names (fixes #6851) OGCAPI: update for map api; also for tiles but not working properly due to churn in tilematrixset spec (fixes #6832) No longer alias VSILFILE* to FILE* in non-DEBUG builds (fixes #6790) PNG: avoid accessing [-1] array of a std::vector (fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54174, master only) ogr2ogr: make sure an error in GDALClose() of the output dataset result in a non-zero return code (refs https://github.com/Toblerity/Fiona/issues/1169) PNG: remove dirty use of std::vector::reserve() (master only, fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54180) RawDataset::RasterIO(): add optimization when reading from a BIP dataset to a BIP buffer (fixes #6819) Doc: document installing libgdal-arrow-parquet Conda package Doc: arrow.rst/parquet.rst: mention libgdal-arrow-parquet conda-forge package GPKG: FixupWrongRTreeTrigger(): make it work with table names that need to be quoted (fixes https://github.com/georust/gdal/issues/235) Lint: C++ify GDALTranslateOptions structure Fix opening /vsizip//path/to/my.zip/my.gpkg with NOLOCK=YES open option test_cpl.cpp: fix potential use-after-free NITFDataset::InitializeTREMetadata(): fix use-after-free in error code path (master only, issue introduced in 7cc19d0484a) GPKG/FlatGeoBuf: speed-up writing of DateTime/Date values Doc: ogr2ogr: make it clear that -append automatically enables -update GTiff: SRS reader: do not emit warning when reading a projected CRS with GeoTIFF keys override and northing, easting axis order (found when looking at #6905) gdalwarp: speed-up warping with cutline when the source dataset or processing chunks are fully contained within the cutline (fixes #6905) GPKG: fix issue with StartTransaction() causing features to be omitted when creating background RTree (fixes https://github.com/qgis/QGIS/issues/51188) GPKG: add debug traces and testing for issue of https://github.com/qgis/QGIS/issues/51188 Internal libtiff: test https://gitlab.com/libtiff/libtiff/-/merge_requests/436 GPKG: Add heuristics to try to detect corrupted RTree generated by GDAL 3.6.0, and disable use of the rtree Internal libtiff: resync with upstream (v4.5.0rc3) add_javadoc.c: should fix a warning about truncation at line 268 netCDF: deal with files with decreasing latitudes/north-up orientation and presence of actual_range attribute (fixes #6909) ogr2ogr: make -nln flag with GeoJSON output even if a name exists in input GeoJSON (fixes #6920) (#6923) Internal libtiff: resync with upstream Doc: advertize 3.6.1 docker/README.md: advertize 3.6.1 images Parquet: update to GeoParquet 1.0.0-beta.1 specification (fixes #6646) OGRGenSQLResultsLayer::GetFeatureCount(): fix it to return -1 when base layer also returns -1 (fixes #6925) Internal libtiff: resync with upstream CI: doxygen job: migrate to ubuntu-latest ogr_parquet.py: add validation against GeoParquet json schema .clang-format: change AllowShortFunctionsOnASingleLine to None .pre-commit-config.yaml: exclude other directories .clang-format: change IndentCaseLabels to true Add .git-blame-ignore-revs Fix 'ok' marker for printf / fprintf to make './scripts/detect_printf.sh' happy Fix warning about self-assignment Fix issue with reformatting and Doxygen MSG: use log1p() Doc: mention .git-blame-ignore-revs LVBAG: fix std::find() test Fix formatting to make breathe happy GML: fix recognizing WFS GetFeature response with a very long initial XML element (fixes #6940) gdal_pam.h: workaround for code including it after <windows.h> Doc: VSISync: fix formatting ogr2ogr: silent reprojection errors related to IsPolarToWGS84() in OGRGeometryFactory::transformWithOptions() (#6945) AAIGRID: fix CreateCopy() of source raster with south-up orientation (fixes #6946) Warp: fix crash in multi-threaded mode when doing several warping runs with the same WarpOperation GMLReader::LoadClasses(): simplify code by using VSIIngestFile() VRTSourcedRasterBand: replace potentially unsafe cpl::down_cast<> by dynamic_cast<> VRT: add BLOCKXSIZE and BLOCKYSIZE creation options CI: build_mac: fix brew install GPKG: avoid SQLite3 locking in CreateLayer() due to RemoveOGREmptyTable() GPKG: fix threaded RTree building when creating several layers (3.6.0 regression) GPKG: disable async RTree building when creating several layers Avoid warning with curl >= 7.55 about CURLINFO_CONTENT_LENGTH_DOWNLOAD being deprecated (fixes Alpine CI) Avoid warning with curl >= 7.87 about CURLOPT_PROGRESSFUNCTION being deprecated (fixes Alpine CI) Doc: vrt.rst: add explanations for block size VRT warp: fix issue when warping a Float32 raster with nodata = +/- FLOAT_MAX JPEG/JPEGXL: add a APPLY_ORIENTATION=YES open option to take into account EXIF_Orientation to rotate/flip the image to apply scene orientation Build: fix nitfdump build against external libtiff (fixes #6968) ogr2ogr: make conversion from GML2 to GPKG work without explicit -lco FID=some_name_different_than_fid HTTP: set default User-Agent header to GDAL/x.y.z and add a CPLHTTPSetDefaultUserAgent() function (fixes #6376) OGRXercesInstrumentedMemoryManager::deallocate(): avoid (likely harmless) unsigned integer overflow in error code path. Fixes OGRXercesInstrumentedMemoryManager::deallocate sentinel2.rst: improve doc gdalwarpkernel: fix recently introduced Coverity warning about concurrent access (CID 1502187) VRT: fix recently introduced Coverity warning about potential nullptr deref (CID 1502188) CI: build_mac: fix docker/ubuntu-full/Dockerfile: add comment (fixes #6978) GPKG/SQLite dialect: fix issues when SQL statement provided to ExecuteSQL() starts with space/tabulation/newline (fixes #6976) RasterizeLayer: prevent out-of-bounds index/crash on some input data (fixes #6981) ogr2ogr.rst: simplify examples [Lint] C++'ify GDALWarpAppOptions gdalwarp: add -srcband and -dstband options Python bindings: add gdal.config_option() and gdal.config_options() context manager Python bindings: add gdal.enable_exceptions() context manager dev_environment.rst: mention SWIG_REGENERATE_PYTHON OpenFileGDB: fix compilation with gcc 4.8.5 of Centos 7.9 (fixes #6991) FlatGeoBuf: fix compilation with gcc 4.8.5 of Centos 7.9 NGW: remove DCAP_ items set to NO (refs #6994) / Add test for all drivers GML: default srsDimension to 3 for CityGML files (fixes #6989) GML: use srsDimension on top gml:Envelope as the default one (fixes #6986) GMLAS: use srsDimension on top gml:Envelope as the default one (fixes #6986) .clang-format: add 'ReflowComments: false' and raise PenaltyBreakComment Apply modified .clang-format gdalwarp: alias -srcband to -b, and improve documentation Python bindings: cleanup GDALAdjustContrast.cs: remove unused variable Doc: add C API section for gdalbuildvrt and gdalwarp GRIB tables: update to wmo-im/GRIB2@v30; adds data/grib2_table_4_2_0_21.csv data/grib2_table_4_2_2_6.csv Address knownConditionTrueFalse warnings found by cppcheck Fix Coverity Scan false positives JPEGXL: advertize COMPRESSION_REVERSIBILITY=LOSSY when there is a JPEG reconstruction box JPEG: advertize JPEG_QUALITY metadata item in IMAGE_STRUCTURE domain (like for GTiff driver) JPEGXL: fix recent build breakage against libjxl 0.6.1 jpegxl.py: fix test_jpegxl_apply_orientation against libjxl 0.6.1 JPEGXL: fix lossless copy of JPEG with zlib compressed mask band JPEG: implement lossless copy from JPEGXL that has JPEG reconstruction box autotest/cpp: fix build without sqlite3 validate_gpkg.py: make it work better on http://ngageoint.github.io/GeoPackage/examples/rivers.gpkg and http://ngageoint.github.io/GeoPackage/examples/java/example.gpkg validate_gpkg.py: fix previous commit CPLStringList copy operator: simplify to avoid Coverity scan false positive ArrowArray generic: FillBoolArray(): avoid out-of-bounds write access test_ogr.cpp: fix to make it runnable from any directory GML: fix incorrect behaviour when using GFS_TEMPLATE open option with a .gfs that refers to FeatureProperty/FeaturePropertyList fields (fixes #6932) OSRCleanup(): improve documentation (refs #7010) JPGDataset::CreateCopy(): fix potential crash recently introduced (master only) /vsizip/: add read support for Deflate64 (fixes #7013) JPEGXLDataset::CreateCopy(): fix memory leak when writing georeferencing JPEG: change behavior to return an error and not just a warning with reading a truncated file clang-format.sh: skip degrib degrib: replace use of sprintf() with snprintf() CI: MacOS fixes Doc: advertize v3.6.2 docker/README.md: advertize v3.6.2 Add text for RFC90: Direct access to compressed raster data gdalmdimtranslate: do not require VRT driver to be registered (fixes #7021) Update doc/source/development/rfc/rfc90_read_compressed_data.rst Update doc/source/development/rfc/rfc90_read_compressed_data.rst RFC90: implementation now handles WEBP driver BMP: Make sure file is created at proper size if only calling Create() without writing pixels (fixes #7025) BMP: Create(): add checks and warnings for maximum dimensions NAS: fix file descriptor leak in error code path (fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54879) GDALPolygonizeT(): add sanity check GDALRasterPolygonEnumeratorT::NewPolygon(): check memory allocation to avoid crash (fixes #7027) frmts/zlib/contrib/infback9: fix Windows linking warnings Add a read-only /vsi7z/ virtual file system (depends on libarchive) A few tunings to make /vsi7z/ work properly CI/Docker: add libarchive dependency Add testing for /vsi7z/ /vsi7z/: add .mpk and .mpkx extensions Vagrantfile: add libarchive-dev dependency [ci skip] OpenFileGDB geometry builder: fix comment related to polygon reconstruction (fixes #7047) GDALProxyPoolRasterBand::FlushCache(): ABI compatible fix for ref counting when calling FlushCache() on GDALProxyPoolMaskBand or GDALProxyPoolOverviewRasterBand GDALProxyRasterBand::RefUnderlyingRasterBand(): add 'bool bForceOpen' parameter gdal_translate: make -colorinterp work on a source band that is a mask band Add VSIDuplicateFileSystemHandler() Fix excessive RAM usage when reading a VRT made of single-tiled JPEG2000 files read with the JP2OpenJPEG driver Fix mremap() detection with clang 15, and disable HAVE_VIRTUAL_MEM_VMA if HAVE_5ARGS_MREMAP not found CSV: fix GetFeatureCount() to work correctly with spatial & attribute filters swig/python/osgeo/__init__.py: more robust handling of PATH (cf https://github.com/rasterio/rasterio/pull/2713) netCDF: quote variable name in subdataset list if it contains a column character (fixes #7061) gdalwarp: fix vshift mode when vertical unit of dstSrs is non-metric SQLite/GPKG: allow opening filenames >= 512 characters LoadPythonAPI(): take into account 3.12 MBTiles: fix nullptr deref when calling GetMetadata() on a dataset returned by Create() (fixes #7067) OpenFileGDB writer: reserve arrays with an exponential strategy VSICurlHandle::ReadMultiRange(): avoid potential infinite loop VSICurlHandle::ReadMultiRange(): avoid potential infinite loop (fix previous wrong commit) Add VSIVirtualHandle::AdviseRead() virtual method with empty implementation VSICachedFile: implement AdviseRead() VSIPlugin: implement AdviseRead() GTiff: call AdviseRead() in multithreaded read implementation /vsicurl/: implement AdviseRead() in a background thread gdalwarp: preserve source resolution by default when no reprojection is involved (behaviour change), and add '-tr square' to use previous behavior DIMAP: optimize performance of dataset RasterIO() (improve perf on multispectral datasets with JP2KAK underlying driver) GTiff: only request in AdviseRead() ranges for blocks we don't have in cache testcopywords.cpp: fix build error with clang 15.0.7 RFC 90 text: typo fixes RFC90: remove MIME-type prefix 'image/' autotest/cpp/test_gdal.cpp: fix crashes if proj.db not reachable Doc: document nodata handling in gdaladdo, gdal_translate and gdalwarp autotest: add PROJ grids needed for tests and restrict PROJ search paths to them (fixes #7070) CI: no longer download PROJ grids (fixes #7070) Typo fixes ogr/ogrsf_frmts/generic/CMakeLists.txt: remove dead code Doc: OGR VRT: fix 'OGRSQL' (refs #7087) GenSQL: fix SetAttributeFilter() when dialect=OGRSQL and not forwarding the initial where clause to the source layer (fixes #7087) CMake: quote variables for INTERFACE_INCLUDE_DIRECTORIES / IMPORTED_LOCATION gdalsrsinfo: fix crash on 'gdalsrsinfo IAU:2015:49902 -o xml' SetField(string argument): for bool, recognize 0/false/off/no as false and 1/true/on/yes as true TileDB: avoid hard crash in tiledb_read.py test with tiledb 2.14 (but still a read failure) tiledb_read.py: temporary disable test to avoid error with tiledb 2.14 OGRSpatialReference::importFromWkt(): take into account COORDINATEMETADATA[] (PROJ >= 9.2) RFC 90 text: update voting history autotest/gdrivers/tiledb_write.py: temporarily disable test_tiledb_write_subdatasets() (refs #7099) gdalwarp: better error message when not providing enough values after a switch (fixes #7086) CMake: fix wrong test when GDAL_SET_INSTALL_RELATIVE_RPATH is set GeoPackage: GetNextArrowArray(): fix retrieving only the geometry (fixes geopandas/pyogrio#212) Add RFC 91 text: GDALDataset::Close() method PCIDSK SDK: avoid potential thread-safety issue (fixes cppcheck warning) OGRSpatialReference::exportToPCI(): avoid cppcheck false positive RFC 91: example: catch exception in destructor libtiff: resync with upstream Silence false-positive Coverity Scan warnings Doc: add a page regarding multi-threading and memory fragmentation (fixes #7043) netCDF: report GEOLOCATION metadata for a lon/lat indexed variable where lon and/or lat has irregular spacing RawDataset::RasterIO(): do not use optimization of 4fd6dd24b53d7f23800e3b05773c5b559255ded6 when there are dirty blocks (fixes #7111) Doc: fix hyperlink Lint: HDF5: remove unused bIsHDFEOS member variable NASAKeywordHandler: add a Parse() method and change Ingest() return type to be bool Doc: advertize GDAL master Conda builds HDF5: add initial/minimum support for HDFEOS datasets (fixes #7117) validate_gpkg.py: make it more robust run_py_script_as_external_script(): deal with spaces in directory names gdal_retile.py: fix wrong basename for .aux.xml files (fixes #7120) Add GDALDataset::GetCompressionFormats() and ReadCompressedData() VRT: implement GetCompressionFormats() and ReadCompressedData() GTiff: implement GetCompressionFormats() and ReadCompressedData() JPEGXL: implement GetCompressionFormats() and ReadCompressedData() JPEG: use GetCompressedData() JPEGXL: cleaner JPEG->JPEGXL lossless copy JPEGXL: add a LOSSLESS_COPY creation option JPEG: add a LOSSLESS_COPY creation option JPEG: move addition of EXIF and XMP to JPEG codestream from JPEGXL to JPEG JPEG: remove EXIF and XMP from ReadCompressedData() JPEGXL: implement creation from JPEGXL content, and deal with EXIF/XMP/GeoJP2 boxes GTiff: test lossless extraction of a JPEG/JPEGXL compressed tile to JPEG/JPEGXL Add C functions GDALDatasetGetCompressionFormats() and GDALDatasetReadCompressedData() Add C++ unit tests Add C++ unit tests for JPEG driver Add C++ unit tests for JPEGXL driver JPEG/JPEGXL: take into account progressive JPEG JPEGXL: fallback to regular code path if JxlEncoderAddJPEGFrame() fails in auto mode Use MIME type style format strings ReadCompressedData: replace papszOptions argument with ppszDetailedFormat CPLStringList: add begin()/end() for range-based for loops GetCompressionFormats() / ReadCompressedData(): add usage examples GDALProxyDataset: implement GetCompressionFormats() and ReadCompressedData() WEBP: implement GetCompressionFormats() and ReadCompressedData() JPEG: add support for reading lossless 8-bit JPEG if using libjpeg-turbo >= 2.2 GTIFF_CanCopyFromJPEG(): bail out if the source uses lossless JPEG RFC 90 impl: remove MIME-type prefix 'image/' [Lint] Various linting GTiffDataset::GetCompressionFormats(): use switch WEBPDataset::CreateCopy(): log exception Add read-only vector GTFS (General Transit Feed Specification) driver CPLGetPhysicalRAM(): take into account current cgroup (v1 and v2) CPLGetPhysicalRAM(): take into account MemTotal limit from /proc/meminfo SOZip: add write support VSIGZipWriteHandleMT: avoid writing useless bytes at end of last chunk SOZip: add read support VSICachedFile: optimization: avoid calling LoadBlocks() repeatedly when trying to read a lot of data at end of file compared to chunk size Add VSICopyFile() Implement CopyFile() for VSIZipFilesystemHandler clang-format.sh: ignore swig/* changes SWIG bindings: map VSICopyFile() as gdal.CopyFile() Add tests for gdal.CopyFile() gdal_cp.py: use gdal.CopyFile() Add test for gdal.CopyFile() / CPLAddFileInZip() Implement GetFileMetadata() for /vsizip/ Add test for GetFileMetadata() for /vsizip/ Add testing for sozip writing and reading Add a sozip command line utility sozip: add a --validate mode CPLCopyFile(): remap onto VSICopyFile() (so that .shp.zip writing can automatically generates SOZip) GPKG: add direct read and create support for .gpkg.zip files VSISOZipHandle: reuse decompressor objects sozip: add a --convert-from=in.zip mode Breaking change: require offset_size == 8 VSISOZipHandle::Read(): more efficient strategy with zlib decompression /vsizip/: store and retrieve Content-Type of files Replace SEEK_OPTIMIZED with SOZIP Add more documentation Apply suggestions from code review (nullptr related checks) sozip.cpp: check return values of VSIFSeekL() and VSIFReadL() CI: workaround https://github.com/libjxl/libjxl/issues/2112 Revert "CI: workaround https://github.com/libjxl/libjxl/issues/2112" CI: workaround https://github.com/libjxl/libjxl/issues/2112 (take 2) RFC90 text: update status OpenFileGDB: fix performance issue when identifying a CRS GeoJSONSeq: fix writing to /vsigzip/ (fixes #7130) Modify GDALFlushCache() and GDALDataset::FlushCache() to return CPLErr instead of void FileGDB driver: rename Close() method to CloseInternal() Add GDALDataset::Close() virtual method, call it from GDALClose() and make GDALClose() return a CPLErr Implement Close() on all RawDataset derived classes GeoJSON: implement Close() C/C++ command line utilities: take into account GDALClose() error code SWIG bindings: test GDALClose() return value and emit error if needed GTiff: implement Close() ODS: implement Close() XLSX: implement Close() SQLite: implement Close() GPKG: implement Close() netCDF: implement Close() JP2OpenJPEG: implement Close() GTiff: change signature of Finalize() method frmts/pds/: remove useless != nullptr [Lint] PNG: constify [Lint] PostgisRaster: constify CPG: avoid hardcoding the number of bands frmts/raw: remove useless != nullptr [Lint] TileDB: constify [Lint] GDALDataset::FlushCache(): remove useless != nullptr [Lint] GDALClose(): remove useless != nullptr [Lint] GPKG: remove useless != nullptr [Lint] ODS: remove useless != nullptr FlatGeoBuf: implement Close() OpenFileGDB: implement Close() GML geometry parsing: don't promote to 3D a 2D <gml:Box> GML: Use geometry in boundedBy element if there are no geometry properties GML geometry parsing: don't error out on <gml:null> constructs GML: don't error out on <gml:null> constructs GMLAS: add BoundingShapeType as a known geometry type GML: deal with only <gml:null> in boundedBy element Fix memleak in VSIFilesystemHandler::CopyFile() and VSIZipFilesystemHandler::GetFileInfo() (master only) JPEG: fix use of uninitialized variable (master only) GTiffJPEGOverviewBand::IReadBlock(): remove hack that causes read errors in some circumstances GTiff: do not use implicit JPEG overviews with non-nearest resampling docker/alpine-normal/Dockerfile: use pre-packaged apache-arrow OpenFileGDB: detect broken .spx file with wrong index depth (fixes qgis/qgis#32534) OpenFileGDB: index reading: avoid integer overflow on index larger than 2 GB [Lint] ogr2ogr_lib.cpp: lint cast operators ogr2ogr: fix -clipsrc/-clipdst when clip dataset has SRS != features's geometry (fixes #7126) JPEG: remove always true conditions JPEGXL: workaround cppcheck false positive about use of out-of-scope variable gdalrelationship.cpp: fix wrong references [ci skip] [Lint] C++ify GDALVectorTranslateOptions in ogr2ogr typo fixes ogr2ogr: use CHECK_HAS_ENOUGH_ADDITIONAL_ARGS() Fix various Coverity Scan warnings ogr2ogr: add a -dateTimeTo option to convert datetime between timezones (fixes #5256) RFC 91 text: update OpenFileGDB: allow CreateField() with OBJECTID as the column name (fixes #51435) ogr.i: remove extra semi-colon characters GPKG: fix async RTree building for 1st layer (broken by 08841c53632c6fbfe13719a6711a3230c854e9c4) Add RFC 92 text: WKB Only geometries GML: fix crash on invalid boundedBy construct. master only. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55565 GML: fix crash on invalid boundedBy construct. master only. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55568 /vsicurl/: fix CPL_VSIL_CURL_USE_HEAD=NO mode (fixes #7150) Shapefile writer: do no use SHPRewindObject() for [Multi]Polygon layers, but use the input OGRGeometry structure to deduce the windinw order CI: alpine: do pip in a venv to please Alpine's pip nitf.py: fix test NITF: update CLEVEL to appropriate values when using compression / multiple image segments COG: avoid warning message when using -co COMPRESS=WEBP -co QUALITY=100 (fixes #7153) MITAB: add support for LargeInt (Integer64) data type (fixes #7162) MITAB: handle projection methods 34 (extended transverse mercator) and 35 (Hotine Oblique Mercator) (fixes #7161) GML: do not try to use bldg:boundedBy elements of CityGML (master only) OGRSpatialReference::SetFromUserInput(): recognize urn:adv:crs:ETRS89_UTM32*DE_DHHN92_NH and urn:adv:crs:ETRS89_UTM32*DE_DHHN2016_NH GML: fix reading CityGML Lod2 with xlink:href in gml:Solid as found in German datasets (fixes qgis/QGIS#51647) netCDF: add heuristics to detect invalid validity range when scale_factor is present (fixes #7167) OSRSpatialReference::SetFromUserInput(): skip leading white space (fixes #7170) CI: Conda fix RMF: fix crash / excessive memory usage on broken/hostile files. master only. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55658 GML: fix memory leak / crash on invalid documents. master only. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55653 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55663 ogr_gpkg.py: delete temp file GPKG: do not register non-spatial layers on creation if there are already unregistered non-spatial layers (fixes qgis/qgis#51721) NITF: fix compiler warning (recently introduced) CI: workaround issue with mingw-w64-x86_64-binutils-2.40-1 swig/python/CMakeLists.txt: generate_gdal_symbols_txt.cmake: fix issue with directory with space GTX: fix (likely harmless in practice) integer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55718 Prefix ParseAlgorithmAndOptions() public symbol with GDALGrid for proper namespacing, and add #define alias for API compat (but this is an ABI breakage) netCDFDimension::GetIndexingVariable(): be more restrictive GDALTriangulationFindFacetDirected(): limit debug message MEMMultiDim: implement GetCoordinateVariables() from coordinates attribute Add GDALMDArray::GetGridded() and GDALMDArrayGetGridded() Conda: add libarchive.patch test_ogr_shape.cpp: make sure test_name_ is initialized gdallocationinfo: fix issue with VRTComplexSource and nodata (fixes #7183) VRT: hopefully make Coverity Scan happy BAG: CreateRAT(): fix memory leak Shapefile: fix adding features in a .dbf without columns (fixes qgis/qgis#51247) Geometry WKT import: accept nan as a value, for parity with PostGIS and GEOS ogr2ogr_lib.cpp: use more unique_ptr GTiff: add minimum support for reading CRS from ESRI's .xml side car file (fixes #7187) GPX: add capability to read & write content of <metadata> element (fixes #7190) GTiff: fix generation of external overviews on 1xsmall_height rasters (fixes #7194) Warper: do not use OpenCL code path when pafUnifiedSrcDensity is not null (fixes #7192) Warper: optimize a bit when warping a chunk fully within the cutline gdalwarp help message: add missing -te_srs, -ct, -srcalpha and -nosrcalpha switches GML: fix crash on unexpected input. master only. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55772 netCDFDimension::GetIndexingVariable(): be more restrictive gdalmdimtranslate: fix subsetting in the situation of dataset of #7199 .github/workflows/backport.yml: update to ubuntu-latest Revert "CI: workaround issue with mingw-w64-x86_64-binutils-2.40-1" ogr2ogr: fix memleak introduced yesterday. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55795 GdalSetRuntimeEnv.cmake: put GTEST_DIR at end of LD_LIBRARY_PATH ZMap creation: fix potential truncation of nodata value (fixes #7203) RawDataset: avoid Valgrind use-of-unitialized memory warning (amends 3c5f1a040b98fbe188d55e1ee7061e6937cfaaac) autotest: fix 'random' issue with corrupted proj.db when running parallel ctest SQLite/RL2: fix issue in Close() implementation (master only) ComputeRasterMinMax(), ComputeStatistics(), GetHistogram(): take into account mask band Doc: configoptions.rst: remove shell specific way of specifying config option (refs #7210) Avoid use of deprecated ZSTD_getDecompressedSize() function with libzstd 1.3+ OpenFileGDB: make Delete() method to remove the directory (fixes #7216) [Lint] openfilegdb: enable STRONG_CXX_WFLAGS and fix related warnings NITF: avoid undefined behaviour of 31 bit left shift ComputeMinMaxGenericIterBlocks(): remove redundant test ogr2ogr: avoid cppcheck false positive about knownConditionTrueFalse CI: ubuntu_18.04: workaround Microsoft upstream bug Workaround bug in Microsoft unixodbc-dev 2.3.11 Enable OpenCL at build-time, but disable it at runtime by default unless the USE_OPENCL warping options is set to YES (fixes #7224) GPKG: avoid potential int overflows / crash on huge geometries shapelib: restore oddly formatted comments [ci skip] Shapelib: SHPWriteObject(): prevent potential overflows on 64-bit platforms on huge geometries SHPWriteOGRObject(): avoid geometry duplication on a MultiLineString FlatGeoBuf: avoid crash when writing huge geometry OGRMakeWktCoordinate(): a bit of optimization GDALRasterBand::GetHistogram() / ComputeStatistics(): fix memleak in error code path. master only. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55885 [Lint] Remove useless variable autotest: catch MemoryError in test_gdal_EscapeString_errors() GdalSetRuntimeEnv.cmake: set USE_PATH_FOR_GDAL_PYTHON=YES on Windows Revert "GdalSetRuntimeEnv.cmake: set USE_PATH_FOR_GDAL_PYTHON=YES on Windows" gdal_rasterize: support @filename for -sql option (fixes #7232) RFC 92: add points raised during discussion, and change status to on hold HFA / ERDAS Imagine SRS support: various fixes autotest: ecw.py: perhaps fix issue on Tamas builds ogr_fgdb.py: fix issues with Tamas builds MITAB: fix loading/saving of False Northing for projection method = 35 (master only, fixes #7236) vrtmultidim.py: fix _validate() gdal_rasterize: ignore features whose Z attribute is null/unset (fixes #7241) test_gdalwarp_lib.py: fix too early None setting gdalwarp: allow up to inaccuracy in cropline coordinates up to 0.1% of a pixel size for rounding (fixes #7226) mbtiles.py: add alternate checksums autotest: use gdaltest.SetConfigOption PDF: skip JP2ECW driver if ECW_ENCODE_KEY required but not found PDF: fix previous commit NEWS.md: preliminary 3.7 release notes [ci skip] SWIG bindings: add missing OLCUpsertFeature constant CPLZSTDGetDecompressedSize: avoid false-positive harmless unsigned integer overflow warning (master only) (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55983) Add OGRLayer::UpdateFeature() and OGR_L_UpdateFeature() SWIG bindings: add Layer.UpdateFeature() and ogr.OLCUpdateFeature Implement IUpdateFeature() in OGRLayerPool and other similar classes of ogrsf_frmts/generic MEM: implement UpdateFeature() GPKG: implement UpdateFeature() MongoDBv3: implement UpdateFeature() Test generic OGRLayer::IUpdateFeature() implementation PG: implement UpdateFeature() Doc: building_from_source.rst: add a 'Typical build issues' paragraph, initiated with PROJ related issues (fixes #7248) doc/source/conf.py: add sphinxcontrib.jquery extension needed since sphinx 6.0 (refs #7251) doc_build.yml: pin sphinx==6.0.1 to workround https://github.com/sphinx-doc/sphinx/issues/11163 (fixes #7251) autotest/CMakeLists.txt: cleanup autotest: require 'filelock' Python module to install temporary proj.db copy (fixes #7252) test_ogrsf: do not fail if GetNextFeature() emitted a warning GeoJSON: avoid duplication of FID in streaming parser (fixes #7258) GeoJSON: declare GDAL_DCAP_MEASURED_GEOMETRIES and ODsCMeasuredGeometries, and test_ogrsf test Internal libtiff: resync with upstream scripts/clang-format.sh: ignore changes in internal libtiff .pre-commit-config.yaml: bump isort to 5.12.0 to avoid issues Poetry [Lint] in cpl_vsil_libarchive.cpp autotest: skip vsirar tests on build-windows-msys2-mingw due to random crashes VRT derived band: add a <SkipNonContributingSources>true</SkipNonContributingSources> optional element to discard non contributing sources (fixes #7223) VRT derived band: do not call pixel function if no contributing sources and SkipNonContributingSources mode FindFileGDB.cmake: add missing include(CMakePushCheckState) [ci skip] JPEG: avoid uninitialized bLossless in CreateCopy() that could lead to erroneous metadata (master only) JPEG: remove useless runtime detection of arithmetic coding when it is signaled at compile time typo fix in CPLDebug() key [ci skip] autotest: remove use of deprecated Python API in pytest_runner ogrinfo: output relationships in text and json outputs Make Coverity Scan happy (CID 1505491) VRTSourcedRasterBand::ComputeStatistics(): hopefully fix CID 1504295 [Lint] in GDALRasterBand::GetActualBlockSize() (and avoid unlikely int overflow) GDALAllValidMaskBand::IReadBlock(): avoid int overflow on blocks > 2 GB GDALNoDataValuesMaskBand::IReadBlock(): avoid int overflow on blocks > 2 GB autotest: avoid failures on missing drivers COG or multi-threaded GTiff generation: fix propagation of extra samples/alpha info that affects JXL compression TIFF JXL: add a JXL_ALPHA_DISTANCE creation option JPEGXL: add a ALPHA_DISTANCE creation option Doc: improve explanations about JXL_DISTANCE test_ogrinfo_lib.py: use @pytest.mark.require_driver() autotest/conftest.py: include driver name in skip reason of @pytest.mark.require_driver() typo fixes [ci skip] autotest/utilities: use pytest.mark.require_driver() (refs #4487) pyscripts/utilities: use pytest.mark.require_driver() (refs #4487) CMake: support the 'cmake --install x --prefix y' syntax (with caveat noted in doc) (fixes #7275) Doc: initiate recommendations for Python and C++ tests (#7277) Doc: vector_api_tut.rst: takes into unset and null fields (fixes #7281) ogr_fgdb.py: make it robust to absence of CSV and OpenFileGDB drivers FileGDB: CreateField(): do not set Length/Precision from OGR width/precision for floating-point data types (fixes #7283) OpenFileGDB: remove traces of dealing with field precision (fixes #7283) test_cli_utilities.py: fix get_cli_utility_path_internal() to work without relying on os.getcwd() autotest/utilities: use fixture to get the utility filename (fixes #7278) test_py_scripts.py: fix get_py_script() to work without relying on os.getcwd() autotest/pyscripts: use fixture to get the utility filename (fixes #7278) Revert "CI: ubuntu_18.04: workaround Microsoft upstream bug" autotest/gdrivers: use pytest.mark.require_driver() (refs #4487) test_osr_set_proj_search_paths.cpp: fix test failure with sqlite 3.41 osr_basic_subprocess.py: fix test failure with sqlite 3.41 [Lint] test_osr_set_proj_search_paths.cpp Docker: add pil/pillow dependency (fixes #7291) GML export: fix CurvePolygon export of CompoundCurve and CircularString child elements (fixes #7294) autotest/ogr: use pytest.mark.require_driver() (refs #4487) docker/util.sh: fix issue when building arm64 Ubuntu images [ci skip] CSVSplitLine(): do not treat in a special way double quotes that appear in the middle of a field cpl_vsil_crypt.cpp: fix typo in operator new signature introduced accidentaly in efa32b3ac0cbafa342a7def78e4fa9cfb7c19adf (fixes #7304) GRIB: fix reading South Polar Stereographic from GRIB1 datasets (fixes #7298) Geoloc inverse transformer: fix numeric instability when quadrilaterals are degenerate to triangles (fixes #7302) autotest: vsiaz/vsiadls.py: remove http port dependency autotest/ogr/ogr_gpkg.py: increase tolerance delay to avoid occasional CI failures delaunay.c: avoid clang -Wdocumentation warning Shape: make sure eAccess = GA_Update is set on creation (fixes #7311) autotest: check that eAccess = GA_Update is set on creation of shapefiles (refs #7311) Doc: openfilegdb: clarify write support is for ArcGIS 10 only CI: fix installation of lxml with Ubuntu 18.04 GeoJSON writer: take into account COORDINATE_PRECISION for top bbox (fixes #7319) test_ogrinfo_lib.py: test bugfix of https://github.com/OSGeo/gdal/pull/7345 gdal_polygonize.py: use transactions to speed-up writing vrtsourcedrasterband.cpp: avoid Coverity Scan warning FindCryptoPP.cmake: properly take into account _LIBRARY_RELEASE/_DEBUG (fixes #7338) FindDeflate.cmake: simplify FindPoppler.cmake: check that Poppler private headers are available (fixes #7352) HDF5: add a GDAL_ENABLE_HDF5_GLOBAL_LOCK build option to add a global lock when the HDF5 library is not built with thread-safety enabled (fixes #7340) GPKG: implement loading/saving band statistics in GPKG metadata tables or PAM .aux.xml GDALDataset::CopyLayer(): copy source layer metadata, unless the COPY_MD=NO option is specified GPKG: add comment Add RFC 93 text: OGRLayer::UpdateFeature() method (#7249) vrt.rst: fix whitespace Pansharpening: require geotransform on panchromatic and multispectral bands gdal_polygonize.py: add a -lco option, and fix -o (fixes #7374) install_python.cmake.in: fix 9d869859bcc1d5464fa86d82e880d753dea20e7c when setting GDAL_PYTHON_INSTALL_PREFIX (master only) gdal_translate: fix crash when specifying -ovr on a dataset that has no overviews (fixes #7376) Fix OGRSpatialReference::SetProjCS() on an existing BoundCRS; affects GeoTIFF SRS reader scripts/clang-format.sh: exclude frmts/jpeg/libjpeg/ Internal libjpeg: decompressor: initialize Huffman tables to avoid issues with some FileGDB raster gdalinfo_lib.cpp: do not list files of a raster FileGDB unless -json is enabled OpenFileGDB: add read-only support for raster datasets docker/alpine-normal/Dockerfile: upgrade to HDF 4.2.16 [ci skip] hdf-eos: fix potential out-of-bounds access CMake: fix -Wdev warning with CMake 3.10 [ci skip] CI: remove unused Travis CI configurations CMake: make BUILD_JAVA/CSHARP/PYTHON_BINDINGS default value dependent on the presence of requirements, and error out if those variables are set but requirements are missing swig/include/cpl.i and gdal_python.i: fix syntax error that fail with SWIG 4.1 Python bindings: remove generated files and require SWIG to be present Docker: add swig dependency for images with Python bindings CI: add swig dependency where missing CI Travis: remove python2 Doc: update to reflect SWIG related changes HOWTO-RELEASE: update to remove mention of regenerating swig python files CMake: make GDAL_JAVA_GENERATE_JAVADOC conditioned by javadoc executable ogrinfo -json: honour -fields=NO and -geom=NO; fix handling of OFSTJSON fields (fixes #7346) Update doc/source/drivers/raster/openfilegdb.rst Update autotest/gdrivers/openfilegdb.py COG: relax a bit the tolerance when computing tile number (fine tune 6310c1aecb3b31365fb36daedf064b3aaf3884ca) ogr2ogr: fix and automate conversion from list types to String(JSON) when the output driver doesn't support list types but String(JSON) (fixes #7397) OGRUnionLayer::GetExtent(): do not emit error on no-geometry layer HFA: add a DISABLEPESTRING=YES creation option to disable use of ArcGIS PE String (fixes #1003) OGRSQL: fix 'SELECT ... WHERE ... AND ... AND ... AND ... UNION ALL ...' (fixes #3395) Doc: gml.rst: remove confusing/useless sentences MRF: restore SetSpatialRef() that was wrongly deleted in 3.6.0 RawRasterBand::CanUseDirectIO(): fix reading of GDAL_ONE_BIG_READ that was broken in master RawRasterBand::FlushCache(): avoid crash in some situations RawRasterBand::IRasterIO(): fix wrong byte swapping in Direct IO multiline writing code path RawRasterBand::IRasterIO(): fix optimized code path that wrongly triggered on BIL layout RawRasterBand::IRasterIO(): avoid writing too much bytes (fixes GDAL_ONE_BIG_READ=YES pytest autotest/gdrivers/vrtrawlink.py) swig/python/CMakeLists.txt: fix issue with directory name with whitespace and Win32 multiconfig install swig/python/CMakeLists.txt: fix installation on Win32 and multiconfig generator (MSVC) RawRasterBand::IRasterIO(): avoid reading too much bytes RawRasterBand::IRasterIO(): fix floating-point issues with ICC that could result in wrong lines/cols being read/written RAW: fix performance issue when reading files with very small width (fixes #1140) Python utilities: fix GDALTypeCodeAndNumericTypeCodeFromDataSet() (master only) gdal2xyz.py: fix -srcnodata and -dstnodata options (fixes #7410) docker/ubuntu-full/Dockerfile: update dependency versions [ci skip] MongoDB: avoid get_utf8() deprecatation warning with mongocxx 3.7.0 PDS4: remove always false condition NCDFGetProjAttribs(): use range-based for loops Add a gdaltest.require_proj_version(x,y,z) decorator function ogr_parquet.py: skip test_ogr_parquet_write_crs_without_id_in_datum_ensemble_members() if PROJ < 7.2 (fixes #7420) autotest: use gdaltest.require_proj_version() wherever possible Remove remainging mentions of SWIG_REGENERATE_PYTHON [ci skip] HDF5: fix detecting if HDF5 library is thread-safe (refs #7340) autotest/alg: use pytest.mark.require_driver() (refs #4487) autotest/gnm: use pytest.mark.require_driver() (refs #4487) autotest/gdrivers: use pytest.mark.require_driver() (refs #4487) Revert "doc/source/conf.py: add sphinxcontrib.jquery extension needed since sphinx 6.0 (refs #7251)" [Lint] Remove reinterpret_cast<OGRGeometry *> / reinterpret_cast<OGRGeometryH> uses (refs #6643) autotest: add testing for CPLAtoGIntBigEx() CI Alphine: make sure numpy is available userfaultfd: avoid it to stall on 32bit and test real working of syscall in CPLIsUserFaultMappingSupported() CI ubuntu_18.04_32bit: reenable userfaultfd sed -i "s/reinterpret_cast<GDALDataset \*>/GDALDataset::FromHandle/" (refs #6643) sed -i "s/reinterpret_cast<GDALDatasetH>/GDALDataset::FromHandle/" (refs #6643) sed -i "s/reinterpret_cast<OGRLayer \*>/OGRLayer::FromHandle/" (refs #6643) sed -i "s/reinterpret_cast<OGRLayerH>/OGRLayer::ToHandle/" (refs #6643) cpl_vsil_gzip.cpp: use m_poBaseHandle C++ methods directly (refs #6643) Make C type VSILFILE an alias of C++ VSIVirtualHandle (and make it a struct for that purpose) (refs #6643) port: remove reinterpret_cast of VSILFILE*/VSIVirtualHandle* now they are aliased (refs #6643) drivers: remove reinterpret_cast of VSILFILE*/VSIVirtualHandle* now they are aliased (refs #6643) /vsicurl/ / CPLHTTPFetch(): add a GDAL_HTTP_NETRC_FILE config option to set the curl netrc file GDALVersionInfo("BUILD_INFO"): report CURL_ENABLED=YES and CURL_VERSION=x.y.z gdalautotest.built_against_curl(): make it use BUILD_INFO instead of availability of HTTP driver autotest: add pytest.mark.require_curl() autotest: use pytest.mark.require_curl() [Lint] gdalgeopackagerasterband.cpg: const, unique_ptr<> autotest: more use of pytest.mark.require_driver() gdalopenfilegdbrasterband.cpp: hopefully fix false-positive warning about memleak (CID 1506532) gdalopenfilegdbrasterband.cpp: add missin return (CID 1506531) GDALVersionInfo(): prefix clang version number with 'clang ' [ci skip] GDALVersionInfo(): update & reformat documentation [ci skip] Internal libtiff: resync with upstream Remove any traces of Rasdaman driver, now moved to OSGeo/gdal-extra-drivers repository (fixes #4808) Move HTTP driver in dedicated frmts/http to avoid odd CMake tricks CMake: move numpy detection to help for Conda Win pytest.ini.in: add addopts = --strict-markers OpenFileGDB: take into account SpatialReference.VCSWKID/LatestVCSWKID for compound CRS test_ogrsf: relax test OpenFileGDB: relax test to detect broken .spx VICAR: check error code to detect inconsistent raw raster parameters (avoids https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56994) [Doc] Advertize v3.6.3 docker/README.md: update with 3.6.3 [ci skip] Doc: point OGRGeometry::transform() / OGR_G_Transform() to OGRGeometryFactory::transformWithOptions() Multidimensional API: add GDALMDArray::Resize() / GDALMDArrayResize() MEM: implement GDALMDArray::Resize() netCDF: implement GDALMDArray::Resize() Spatialite: remove support for libspatialite < 4.1.2 (fixes #4244) Add OGRGeometry::UnaryUnion() / OGR_G_UnaryUnion() ogr2ogr: LoadGeometry(): use UnaryUnion() CMake: move SQLite3 RTree check in SQLite and GPKG drivers (…
- Loading branch information