|
| 1 | +# GDAL/OGR 3.5.2 Release Notes |
| 2 | + |
| 3 | +## Build |
| 4 | + |
| 5 | +All: |
| 6 | +* Fix build with OpenCL support on case-sensitive Apple systems (#6117) |
| 7 | + |
| 8 | +CMake: |
| 9 | +* fix typo in function call in cmake/modules/3.16/FindPython/Support.cmake (#6009) |
| 10 | +* fix gdal.pc and gdal-config generation when CMAKE_INSTALL_xxxx is an absolute path (#6004) |
| 11 | +* remove GDAL_INSTALL_[FULL_]INCLUDEDIR and use standard CMAKE_INSTALL_[FULL_]INCLUDEDIR |
| 12 | +* add support for iOS and Mac Catalyst |
| 13 | +* fix build issue with system sqlite3 on Mac (#6011) |
| 14 | +* do not add -Wl,--no-undefined to linker flags for -fsanitize builds |
| 15 | +* check for blosc_cbuffer_validate() presence to use Blosc (for Ubuntu 18.04) |
| 16 | +* do not try Lerc on big-endian builds |
| 17 | +* fix build with GDAL_BUILD_OPTIONAL_DRIVERS:BOOL=OFF (#6031) |
| 18 | +* compatibility fix for cmake < 3.13 with mingw |
| 19 | +* check if extra iconv charsets are available, and emit a warning if not (e.g if glibc-gconv-extra is missing on Fedora) |
| 20 | +* only build my_test_sqlite3_ext if sqlite3ext.h is available |
| 21 | +* FindPoppler.cmake: add POPPLER_EXTRA_LIBRARIES (e.g. for gisinternals to add linking to freetype) |
| 22 | +* FindECW: add support for gisinternals libecwj 3.3 |
| 23 | +* fix static linking of ECW SDK 5.5 on Windows (#6190) |
| 24 | +* Rename PCRE2::PCRE2 to PCRE2::PCRE2-8 (#6120) |
| 25 | +* tune external JPEG inclusion order to make it easier on Homebrew to build against libjpeg-turbo (#6134) |
| 26 | +* fix typo in fuzzer CMakeLists.txt |
| 27 | +* JP2KAK: add support for ARM builds (#6228) |
| 28 | +* Fix propagation of CPL_DISABLE_DLL |
| 29 | + |
| 30 | +configure.ac: |
| 31 | +* fix JXL tests |
| 32 | + |
| 33 | +## GDAL 3.5.2 |
| 34 | + |
| 35 | +# Port |
| 36 | + |
| 37 | +* /vsicurl?: add pc_url_signing=yes, pc_collection query parameters to sign resources of Microsoft Planetary Computer |
| 38 | + |
| 39 | +# Algorithms |
| 40 | + |
| 41 | +* gdalwarp/GDALCreateGenImgProjTransformer2: support identity source geotransform as a valid one (#5954) |
| 42 | +* GDALCreateGenImgProjTransformer2(): properly set coordinate epoch on source and target CRS objects |
| 43 | +* Transformer: add [SRC_/DST_]GEOLOC_ARRAY] transformer options to be able to separate dataset to wrap and dataset with geolocation array |
| 44 | +* Geoloc transformer: fix issue in GDALInverseBilinearInterpolation() if provided with a rectangle |
| 45 | +* GDALWarp(): take into account SRS implied by [SRC_]GEOLOC_ARRAY transformer option |
| 46 | +* GDALFillNodata(): make it work properly when providing a non-null hMaskBand and using smoothing iterations (rasterio/rasterio#2474) |
| 47 | +* RPC DEM extraction: use a block base approach to query the DEM (helps getting reproducible results when DEM is VRT) |
| 48 | + |
| 49 | +# Core |
| 50 | + |
| 51 | +* GetHistogram(): deal with undefined behaviour when raster values are at infinity, or with pathological min/max bounds |
| 52 | +* GetHistogram(): Support 64 bit images (#6061) |
| 53 | +* Pleiades metadata reader: make it work with PNEO suffixed _P/_RGB/_NED filenames |
| 54 | +* GDALMDReader::ReadXMLToList(): make it suffix repeated elements with a occurence counter, even when they are not consecutive (#6047) |
| 55 | +* GetMaskBand(): make it update the returned object when setting/updating/unsetting nodata value |
| 56 | +* Multidim API: avoid 'Driver implementation issue: m_pSelf not set' error on GDALMDArrayRegularlySpaced arrays (#6296) |
| 57 | + |
| 58 | +# Utilities: |
| 59 | + |
| 60 | +* gdal_translate: preserve dynamic nature of dynamic CRS specified with -a_srs |
| 61 | +* gdaldem: GDALColorReliefParseColorFile(): fix memleak |
| 62 | +* gdalbuildvrt: honour VRT_VIRTUAL_OVERVIEWS config option if already set |
| 63 | +* gdalbuildvrt: skip source datasets that just touch by an edge the area of interest, and would result in a source with 0 width/height |
| 64 | +* gdalwarp: do not error out with a memory allocation failure if warping from a source with RPC to a target dataset with a no-overlapping extent, but emit a warning |
| 65 | +* gdalwarp: fix issue with wrong resolution when reprojecting between geographic CRS with source extent slightly off [-180,180] |
| 66 | +* gdalwarp: fix target extent computation in EPSG:4326 to ESRI:53037 (#6155) |
| 67 | +* gdal2tiles: allow oversampling in -p raster mode (#6207) |
| 68 | +* gdal2tiles: fix OpenLayers CDN (#6262) |
| 69 | +* gdal2tiles: fix googlemaps.html to port from ancient Google Maps V2 API to V3 |
| 70 | + |
| 71 | +# Raster drivers |
| 72 | + |
| 73 | +COG driver: |
| 74 | + * fix issue when writing onto /vsis3/ with CPL_VSIL_USE_TEMP_FILE_FOR_RANDOM_WRITE=YES (#6205) |
| 75 | + |
| 76 | +ENVI driver: |
| 77 | + * fix duplicated 'coordinate system string' when editing an existing file (#6130) |
| 78 | + |
| 79 | +GRIB driver: |
| 80 | + * degrib: use #define tricks to prefix C symbols with gdal_ (#6269) |
| 81 | + |
| 82 | +GTiff driver: |
| 83 | + * avoid SetMetadata() to cancel effect of SetGeoTransform() (#6015) |
| 84 | + * SRS reading: morph Projected CRS, Geographic CRS, datum and ellipsoid names of citations from their ESRI variant to EPSG WKT2 ones |
| 85 | + * fix reading some JPEG compressed COG files through /vsicurl/ |
| 86 | + * preserve dynamic CRS when reading it |
| 87 | + |
| 88 | +MSGN driver: |
| 89 | + * fix georeferencing (#6244) |
| 90 | + |
| 91 | +netCDF driver: |
| 92 | + * avoid error in SetMetadataItem() when computing statistics (3.5.0 regression, #6023) |
| 93 | + * fix exposing geotransform in file with lon lat coordinates (3.5.0 regression) |
| 94 | + * allow getting geotransform from a variable indexed by latitude, longitude variables, not following CF conventions (3.5.0 regression, #6174) |
| 95 | + |
| 96 | +Rasterlite driver: |
| 97 | + * avoid integer overflows on broken image (ossfuzz#50693) |
| 98 | + |
| 99 | +SAR_CEOS driver: |
| 100 | + * fix memory leak |
| 101 | + |
| 102 | +STACIT driver: |
| 103 | + * make it work with Planetary Computer and resource URL signing |
| 104 | + |
| 105 | +VRT driver: |
| 106 | + * fix awful performance of ComputeStatistics(approx_ok=True) on a VRT with several sources and an explicit <OverviewList> (QGIS/QGIS#49285) |
| 107 | + * make it skip existence check for /vsicurl?...url=http sources |
| 108 | + * GetSrcDstWindow(): make it work in a more reliable way when floating point coordinates are very close to integers |
| 109 | + * avoid integer overflow on invalid Kernel.Size value (ossfuzz#50569) |
| 110 | + |
| 111 | +Zarr driver: |
| 112 | + * avoid crash on invalid '>Sxxx' data type with fill_value (ossfuzz#50853) |
| 113 | + |
| 114 | +## OGR 3.5.2 |
| 115 | + |
| 116 | +### Core |
| 117 | + |
| 118 | +* OGR SQL: fix memory leak on 3 or more OR/AND clauses |
| 119 | +* OGR SQL and SQLite dialects: propagate source domain field name onto target field definitions (#6185) |
| 120 | +* OGRFeature::SetField(field, const char*): raise a warning if setting a too big value for a Integer(32) field |
| 121 | + |
| 122 | +### OGRSpatialReference |
| 123 | + |
| 124 | +* OGRSpatialReference::SetFromUserInput(): fix crash on invalid PROJJSON (3.5.1 regression, fixes ossfuzz#49204) |
| 125 | +* Improve TransformBounds error handling |
| 126 | +* OGRSpatialReference: evaluate OSR_DEFAULT_AXIS_MAPPING_STRATEGY config option at each object constructin (#6084) |
| 127 | +* OGRSpatialReference::FindProjParm(): make SRS_PP_CENTRAL_MERIDIAN work with a CRS that has only a WKT2 representation (#6155) |
| 128 | +* TransformBounds(): make it work in scenario for EPSG:4326 to ESRI:53037 (#6155) |
| 129 | +* OGRProjCT::Initialize(): fix memleak in error code path (ossfuzz#49786) |
| 130 | + |
| 131 | +### Vector drivers |
| 132 | + |
| 133 | +All: |
| 134 | + * return ODsCMeasuredGeometries and GDAL_DCAP_VECTOR capability in relevant drivers |
| 135 | + |
| 136 | +CSV driver: |
| 137 | + * fix AUTODETECT_SIZE_LIMIT=0 meaning unlimited size (3.5.1 regression) |
| 138 | + |
| 139 | +DXF driver: |
| 140 | + * Fix missing dictionary in data/trailer.dxf (#6013) |
| 141 | + |
| 142 | +GeoJSON driver: |
| 143 | + * avoid emitting too many messages when parsing feature beyond limit of OGR_GEOJSON_MAX_OBJ_SIZE and error out early |
| 144 | + * RFC7946 writer: do not change geometries that have a point at +/- 180deg longitude; add a WRAPDATELINE=YES/NO layer creation option (#6250) |
| 145 | + |
| 146 | +GeoJSONSeq driver: |
| 147 | + * make max allowed size of feature configurable with the OGR_GEOJSON_MAX_OBJ_SIZE configuration option |
| 148 | + |
| 149 | +GPKG driver: |
| 150 | + * propagate source domain field name onto target field definitions in SQL result layer (#6185) |
| 151 | + * preserve dynamic CRS when writing it and reading it, and associated with a coordinate epoch |
| 152 | + |
| 153 | +HANA driver: |
| 154 | + * fix string encoding in OGRHanaDataSource::ExecuteSQL |
| 155 | + * LaunderName returns wrong value for non-ASCII characters |
| 156 | + |
| 157 | +ODBC driver: |
| 158 | + * fix issue with odbc large data (#6196) |
| 159 | + |
| 160 | +Parquet driver: |
| 161 | + * fix compression methods: remove BZ2 and LZ4_FRAME and substitute LZ4 with LZ4_RAW |
| 162 | + |
| 163 | +## SWIG Language Bindings |
| 164 | + |
| 165 | +All: |
| 166 | + * fix wrong typemaps for char** arguments of gdal.ViewshedGenerate (#6086) |
| 167 | + |
| 168 | +Python bindings: |
| 169 | + * fix memory leak on gdal.GetFileMetadata() |
| 170 | + * fix memory leak on GetFieldAsBinary() when it returns a 0-byte field |
| 171 | + |
1 | 172 | # GDAL/OGR 3.5.1 Release Notes |
2 | 173 |
|
3 | 174 | ## Build |
|
0 commit comments