|
| 1 | +# GDAL/OGR 3.7.1 Release Notes |
| 2 | + |
| 3 | +GDAL 3.7.1 is a bugfix release. |
| 4 | + |
| 5 | +## New installed files |
| 6 | + |
| 7 | +* data/gfs.xsd and data/gml_registry.xsd |
| 8 | + |
| 9 | +## Build |
| 10 | + |
| 11 | +* CMake: only try to detect HDF5 CXX component if KEA is detected |
| 12 | +* CMake: capture dependency of MBTiles driver to MVT |
| 13 | +* CMake: add a EXPAT_USE_STATIC_LIBS hint (#7955) |
| 14 | +* CMake: add a CURL_USE_STATIC_LIBS hint (#7955) |
| 15 | +* minified_zutil.h: fix build error on Gentoo and derivatives (#7739) |
| 16 | +* Fix build error with MSYS64 UCRT64 with gcc 13 (#7909) |
| 17 | +* FlatGeobuf: fix build error when new Abseil headers are present (#7894) |
| 18 | +* Fix build against latest libjxl master |
| 19 | + |
| 20 | +## GDAL 3.7.1 |
| 21 | + |
| 22 | +### Port |
| 23 | + |
| 24 | +* CPLBloscDecompressor(): fix logic error when providing an output buffer |
| 25 | + larger than needed |
| 26 | +* Fix issues on big endian hosts: recode from UTF-16 |
| 27 | +* RequiresUnixPathSeparator(): takes into account /vsihdfs/ and /vsiwebhdfs/ |
| 28 | + (#7801) |
| 29 | +* /vsiadls/: make it take into account Azure SAS token |
| 30 | +* /vsiaz/: fix truncated Authorization header with very large SAS tokens |
| 31 | + |
| 32 | +### Core |
| 33 | + |
| 34 | +* Multidim GDALGroup::CopyFrom(): modify logic to copy first indexing variables. |
| 35 | + Fixes issue with gdalmdimtranslate from Zarr to netCDF |
| 36 | +* RawRasterBand::IRasterIO(): avoid harmless unsigned integer overflow |
| 37 | + (ossfuzz #57371) |
| 38 | +* GDALDatasetPool: Make VRT pool size clamping more lenient (#7977) |
| 39 | +* PAM rasterband: on .aux.xml reading do not systematically set (offset,scale) |
| 40 | + to (0,1) and similarly for unit type (#7997) |
| 41 | + |
| 42 | +### Algorithms |
| 43 | + |
| 44 | +* Warp (average,mode,min,max,med,Q1,Q3): fix issue on edge of target valid area |
| 45 | + when oversampling (#7733) |
| 46 | +* Warp average resampling: using Weighted incremental algorithm mean for numeric |
| 47 | + stability |
| 48 | +* GDALWarpResolveWorkingDataType(): take into account data type of both source |
| 49 | + and target dataset |
| 50 | + |
| 51 | +### Utilities |
| 52 | + |
| 53 | +* gdallocationinfo: set exit code to 1 as soon as one coordinate is off the file |
| 54 | + (#7759) |
| 55 | +* gdal_rasterize: issue explicit error message when specifying invalid layer |
| 56 | + name, and catch absence of bounds (#7763) |
| 57 | +* gdalsrsinfo: when -e flag is passed, report properly non EPSG authorities |
| 58 | + (#7833) |
| 59 | +* gdalwarp: make -cutline to work again with PostGIS datasources |
| 60 | + (fixes 3.7.0 regression, #8023) |
| 61 | +* gdal_calc.py: allow "none" or a float for --NoDataValue (#7796) |
| 62 | +* gdal_calc.py: make --hideNoData imply --NoDataValue=none as documented (#8009) |
| 63 | + |
| 64 | +### Raster drivers |
| 65 | + |
| 66 | +DIMAP driver: |
| 67 | + * correctly set RPC origin for SPOT, PHR and PNEO (#7726) |
| 68 | + |
| 69 | +DIPEx driver: |
| 70 | + * fix memleak in error code path (ossfuzz 57478) |
| 71 | + |
| 72 | +ERS driver: |
| 73 | + * avoid integer overflow (ossfuzz 57472) |
| 74 | + |
| 75 | +GTiff driver: |
| 76 | + * multi-threaded reader: avoid error when reading PlanarConfiguration=Separate |
| 77 | + and ExtraSamples > 0 (fixes #7921) |
| 78 | + * Multi-threaded reader: fix crash/read errors when reading a |
| 79 | + PlanarConfiguration=Separate file band per band (rasterio/rasterio#2847) |
| 80 | + * SRS writer: make sure to write EPSG codes only in VerticalDatumGeoKey and |
| 81 | + VerticalUnitsGeoKey, and write VerticalCSTypeGeoKey = KvUserDefined, |
| 82 | + VerticalDatumGeoKey = KvUserDefined and VerticalCitationGeoKey=CRS name when |
| 83 | + the vertical CRS code is unknown (#7833) |
| 84 | + * SRS reader: try to recover the vertical datum from the name of the vertical |
| 85 | + CRS if we only know it (#7833) |
| 86 | + * SRS reader: try to retrieve the EPSG code of a CompoundCRS if the one of its |
| 87 | + horizontal and vertical part is known (#7982) |
| 88 | + * SPARSE_OK=YES: recognize negative floating point 0 as 0 (#8025) |
| 89 | + * do not emit 'WEBP_LEVEL is specified, but WEBP_LOSSLESS=YES' warning when |
| 90 | + only WEBP_LOSSLESS=YES is specified |
| 91 | + |
| 92 | +HDF5 driver: |
| 93 | + * multidim: deal with _FillValue attribute of different type as variable |
| 94 | + (e.g. for NASA GEDI L2B products) |
| 95 | + |
| 96 | +ISG driver: |
| 97 | + * relax tolerance check to accept GEOIDEAR16_20160419.isg |
| 98 | + |
| 99 | +JP2OpenJPEG driver: |
| 100 | + * avoid hard crash in multi-threaded writing mode when opj_write_tile() |
| 101 | + fails (#7713) |
| 102 | + |
| 103 | +netCDF driver: |
| 104 | + * multidim: fix issues with data vs definition mode |
| 105 | + * multidim: deal with _FillValue attribute of different type as variable |
| 106 | + (e.g. for NASA GEDI L2B products) |
| 107 | + * parse coordinates attribute from Sentinel-3 Synergy product which uses |
| 108 | + comma instead of space |
| 109 | + |
| 110 | +OGCAPI driver: |
| 111 | + * Fix TILES raster API not working |
| 112 | + * make sure OGR_ENABLE_DRIVER_GML is set when the driver is built |
| 113 | + |
| 114 | +OpenFileGDB driver: |
| 115 | + * correctly deal with rasters whose block_origin_x/y != (eminx, emaxy) (#7794) |
| 116 | + * do not emit error if SRS is unknown (#7794) |
| 117 | + * reduce debug traces on raster datasets |
| 118 | + |
| 119 | +SAFE driver: |
| 120 | + * fix non-contiguous number in subdataset names (#7939) |
| 121 | + |
| 122 | +Zarr driver: |
| 123 | + * avoid GetMDArrayNames() to report duplicates |
| 124 | + * fix SRS DataAxisToSRSAxisMapping |
| 125 | + |
| 126 | +WMTS driver: |
| 127 | + * workaround buggy TileMatrix.TopLeftCorner of one server (#5729) |
| 128 | + |
| 129 | +## OGR 3.7.1 |
| 130 | + |
| 131 | +### Core |
| 132 | + |
| 133 | +* OGRGeometryFactory::createGeometry(): take into account Z/M flags |
| 134 | +* SQL SQLite: fix error on field of type String with GetWidth() > 0 and a |
| 135 | + field domain |
| 136 | + |
| 137 | +### Vector drivers |
| 138 | + |
| 139 | +CSV driver: |
| 140 | + * do not allow CREATE_CSVT=YES with /vsistdout/ (#7699), and make it possible |
| 141 | + to use GEOMETRY_NAME with /vsistdout/ (#7700) |
| 142 | + |
| 143 | +DGN driver: |
| 144 | + * CreateFeature(): fix crash on empty geometries (ossfuzz 56771) |
| 145 | + |
| 146 | +DXF driver: |
| 147 | + * show constant ATTDEFs as text |
| 148 | + |
| 149 | +FileGDB driver: |
| 150 | + * OGRCreateFromShapeBin(): accept empty polygon (#7986) |
| 151 | + |
| 152 | +GeoJSON driver: |
| 153 | + * Internal libjson: use locale insensitive CPLStrtod() to parse floating point |
| 154 | + numbers (qgis/qgis#52731) |
| 155 | + |
| 156 | +GeoPackage driver: |
| 157 | + * ArrowArray interface: make it tolerant to Spatialite geometries |
| 158 | + * fix handling of geometry column from a view, when it is the result of |
| 159 | + computing, and not just simple selection from a table |
| 160 | + * define a 'gdal_spatialite_computed_geom_column' extension when a view has |
| 161 | + its geometry column being the result of Spatialite SQL function |
| 162 | + * implement GeoPackage 1.4 RTree triggers, and add a VERSION=1.4 dsco (#7823) |
| 163 | + |
| 164 | +GML driver: |
| 165 | + * fix 3.7.0 regression when reading files with several layers, whose features |
| 166 | + have gml:boundedBy elements and the geometry element name is different |
| 167 | + between the different layers (#7925) |
| 168 | + * add a USE_BBOX=YES open option to allow using gml:boundedBy as feature |
| 169 | + geometry (#7947) to revert back to < 3.7.0 behavior by default |
| 170 | + |
| 171 | +GTFS driver: |
| 172 | + * Fix date parsing |
| 173 | + |
| 174 | +MITAB driver: |
| 175 | + * fix reading CRS with LCC_2SP and non-metre unit (#7715) |
| 176 | + |
| 177 | +MSSQL driver: |
| 178 | + * fix crash in ogr2ogr when BCP is enabled (#7787) |
| 179 | + * fix GEOGRAPHY clockwise vertex order (#1128) |
| 180 | + * fix cannot write binary field in BCP mode (#3040) |
| 181 | + |
| 182 | +MVT driver: |
| 183 | + * writing: improve dealing with polygon inner rings (#7890) |
| 184 | + * writing: fix wrong winding order for polygons after MakeValid() |
| 185 | + |
| 186 | +MySQL driver: |
| 187 | + * add support for inserting new SRS in MySQL >= 8 |
| 188 | + INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMS table (#7781) |
| 189 | + |
| 190 | +netCDF driver: |
| 191 | + * fix crash on invalid layer (ossfuzz 58469) |
| 192 | + |
| 193 | +OpenFileGDB driver: |
| 194 | + * allows to modify a record with a GlobalID field without regenerating it |
| 195 | + * correctly read POINT EMPTY (#7986) |
| 196 | + |
| 197 | +Parquet driver: |
| 198 | + * fix crash when calling SetIgnoredFields() after SetAttributeFilter() |
| 199 | + (qgis/QGIS#53301) |
| 200 | + * do not hang on empty RecordBatch (#8042) |
| 201 | + |
| 202 | +SDTS driver: |
| 203 | + * fix reading of polygon geometries (#7680) |
| 204 | + |
| 205 | +Shapefile driver: |
| 206 | + * in creation, uses w+b file opening mode instead of wb followed by r+b, to |
| 207 | + support network file systems having sequential write only and when using |
| 208 | + CPL_VSIL_USE_TEMP_FILE_FOR_RANDOM_WRITE=YES (#7801) |
| 209 | + * SHPRestoreSHX: update SHX content length even if error occurred |
| 210 | + * Internal Shapelib: update list of symbols to rename to avoid conflicts with |
| 211 | + external shapelib (microsoft/vcpkg#32070) |
| 212 | + |
| 213 | +TileDB driver: |
| 214 | + * add TILE_Z_EXTENT layer creation option (#7683) |
| 215 | + * fully apply spatial filter when using ArrowArray interface |
| 216 | + * FillPrimitiveListArray(): fix data corruption with spatial filter |
| 217 | + |
| 218 | +## Python bindings |
| 219 | + |
| 220 | +* take into account Int64/UInt64 in gdal.Array.Write(array(...)) |
| 221 | +* do not pass deprecated -py3 SWIG switch for SWIG >= 4.1 |
| 222 | +* GetArrowStreamAsNumPy(): fix wrong retrieval of content when |
| 223 | + ArrowArray::offset != 0 on a field of primitive type (integer, float) |
| 224 | +* works around issue with SWIG 4.1 related to module unloading (#4907) |
| 225 | + |
1 | 226 | # GDAL/OGR 3.7.0 Releases Notes
|
2 | 227 |
|
3 | 228 | GDAL/OGR 3.7.0 is a feature release.
|
|
0 commit comments