| 1 | = GDAL/OGR 2.2.3 Release Notes = |
| 2 | |
| 3 | The 2.2.3 release is a bug fix release. |
| 4 | |
| 5 | == Build == |
| 6 | |
| 7 | * nmake.opt: Ensure PDB is included in release DLL if WITH_PDB requested (#7055) |
| 8 | |
| 9 | == Port == |
| 10 | |
| 11 | * /vsicurl/ and derived filesystems: redirect ReadDir() to ReadDirEx() (#7045) |
| 12 | * /vsicurl/: enable redirection optimization on signed URLs of Google Cloud Storage. Helps for the PLScenes driver (#7067) |
| 13 | * /vsicurl/: fix 2.2 regression regarding retrieval of file size of FTP file (#7088) |
| 14 | * /vsis3/: fix to avoid invalid content to be sent if Write() writes more than 50 MB in a single call (#7058) |
| 15 | * /vsis3/: fix Seek(Tell(), SEEK_SET) fails if current position is not 0 (#7062) |
| 16 | * /vsis3/: fix support of non-ASCII characters in keys (#7143, #7146) |
| 17 | * Fix CPLCopyTree() that doesn't properly on MSVC 2015 (and possibly other platforms) (#7070) |
| 18 | |
| 19 | == Algorithms == |
| 20 | |
| 21 | * RPC transformer: set output coordinates to HUGE_VAL when failure occurs, so that a following coordinate transformation can detect the error too (#7090) |
| 22 | * GDALGrid() with linear algorithm: avoid assertions/segmentation fault when GDALTriangulationFindFacetDirected() fails (#7101) |
| 23 | * GDALComputeProximity(): fix int32 overflow when computing distances on large input datasets (#7102) |
| 24 | * GDALResampleChunk32R_Gauss: fix potential out of bounds access (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4056) |
| 25 | |
| 26 | == GDAL utilities == |
| 27 | |
| 28 | * gdalwarp: fix issue with GDALAdjustValueToDataType(Float32, +/- inf) that didn't preserve infinity, which affected gdalwarp -dstnodata inf (#7097) |
| 29 | * gdalwarp -crop_to_cutline: reduce number of iterations to find the appropriate densification (#7119) |
| 30 | * gdal_contour: return with non-0 code if field creation or contour generation failed (#7147) |
| 31 | |
| 32 | == GDAL drivers == |
| 33 | |
| 34 | GeoRaster driver: |
| 35 | * fix int overflow (#6999) |
| 36 | |
| 37 | GPKG driver: |
| 38 | * speed-up statistics retrieval on non-Byte datasets (#7096) |
| 39 | |
| 40 | GRIB driver: |
| 41 | * if GRIB_ADJUST_LONGITUDE_RANGE config option is set to YES, adjust the longitude range to be close to [-180,180] when possible for products whose left origin is close to 180deg. (#7103) |
| 42 | |
| 43 | GSAG driver: |
| 44 | * avoid assertion on some files with nul characters (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3726) |
| 45 | |
| 46 | GTiff driver: |
| 47 | * make sure that -co PHOTOMETRIC=RGB overrides the color interpretation of the first 3 bands of the source datasets (#7064) |
| 48 | * on reading use GeogTOWGS84GeoKey to override the defaults TOWGS84 values coming from EPSG code (#7144) |
| 49 | * fix potential crash when reading in RGBA mode with internal libtiff (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4157) |
| 50 | * fix potential crash with old-jpeg compression and internal libtiff (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4180) |
| 51 | |
| 52 | HTTP driver: |
| 53 | * do not open the underlying dataset with GDAL_OF_SHARED, to avoid later assertion |
| 54 | |
| 55 | JP2KAK driver: |
| 56 | * fix unix build with Kakadu 7.A and later (#7048, #7081) |
| 57 | |
| 58 | JPEG driver: |
| 59 | * Add compatibility with libjpeg-turbo 1.5.2 that honours max_memory_to_use (cf https://github.com/libjpeg-turbo/libjpeg-turbo/issues/162) |
| 60 | |
| 61 | JP2OpenJPEG driver: |
| 62 | * Add support for openjpeg 2.3 (#7074) |
| 63 | |
| 64 | netCDF driver: |
| 65 | * fix raster read as nodata with Byte datatype, (valid_range={0,255} or _Unsigned = True) and negative _FillValue (#7069) |
| 66 | * be more tolerant on the formatting of standard parallel (space separated instead of {x,y,...} syntax), and accept up to 2/1000 error on spacing to consider a regular grid, to be able to read files provided by the national weather institute of Netherlands (KNMI) (#7086) |
| 67 | |
| 68 | PDF driver: |
| 69 | * round to upper integer when computing a DPI such that page size remains within limits accepted by Acrobat (#7083) |
| 70 | |
| 71 | Sentinel2 driver: |
| 72 | * add support for direct opening of .zip files of new safe_compact L1C products (#7085) |
| 73 | |
| 74 | VRT driver: |
| 75 | * avoid error being emitted when opening a VRTRawRasterBand in a .zip files (#7056) |
| 76 | |
| 77 | == OGR core == |
| 78 | |
| 79 | * Fix OGR[Curve]Polygon::Intersects(OGRPoint*) to return true when point is on polygon boundary (#7091) |
| 80 | * importFromWkt(): fix import of GEOMETRYCOLLECTION ending with POINT EMPTY or LINESTRING EMPTY (#7128, 2.1 regression) |
| 81 | |
| 82 | == OGR utilities == |
| 83 | |
| 84 | * ogrtindex: fix crash when using -f SQLITE -t_srs XXXX (#7053) |
| 85 | |
| 86 | == OGR drivers == |
| 87 | |
| 88 | Amigocloud driver: |
| 89 | * Fixed data field types (https://github.com/OSGeo/gdal/pull/246) |
| 90 | * Output list of datasets if dataset id is not provided. |
| 91 | * Implemented waiting for job to complete on the server. This will improve write to AmigoCloud reliability. |
| 92 | * Updated documentation. |
| 93 | |
| 94 | FileGDB driver: |
| 95 | * remove erroneous ODsCCreateGeomFieldAfterCreateLayer capability declaration (https://github.com/OSGeo/gdal/pull/247) |
| 96 | |
| 97 | GeoJSON driver: |
| 98 | * ESRIJson: recognize documents that lack geometry fields (#7071) |
| 99 | * ESRIJson: recognize documents starting with a very long fieldAliases list (#7107) |
| 100 | |
| 101 | GeoRSS driver: |
| 102 | * fix detection of field type (#7108) |
| 103 | |
| 104 | GML driver: |
| 105 | * fix FORCE_SRS_DETECTION=YES effect on feature count and SRS reporting on gml files with .gfs (#7046) |
| 106 | * do not try to open kml files (#7061) |
| 107 | * GML geometry parsing: fix robustness issue with gml:PolyhedralSurface |
| 108 | * do not report gml:name / gml:description of features as layer metadata |
| 109 | |
| 110 | GPKG driver: |
| 111 | * do not try to update extent on gpkg_contents after GetExtent() on a empty layer of a datasource opened in read-only mode |
| 112 | |
| 113 | GTM driver: |
| 114 | * fix null pointer dereference in case of read error (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4047) |
| 115 | |
| 116 | MDB driver: |
| 117 | * fix multi-thread support (https://issues.qgis.org/issues/16039) |
| 118 | |
| 119 | MITAB driver |
| 120 | * do not emit error if the .ind file is missing, just a debug message (#7094) |
| 121 | |
| 122 | MySQL: |
| 123 | * fix build with MariaDB 10.2 (#7079) |
| 124 | |
| 125 | OCI driver: |
| 126 | * initialize in multi-threaded compatible mode to fix QGIS related crashes (https://issues.qgis.org/issues/17311), and fix a few memleaks |
| 127 | |
| 128 | ODS driver: |
| 129 | * avoid using CPLSPrintf() return directly with VSIFOpenL() as the temp buffer might be later recycled (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4050) |
| 130 | |
| 131 | PLScenes driver: |
| 132 | * backport data/plscenesconf.json from trunk to add SkySatScene fields |
| 133 | |
| 134 | Shapefile driver: |
| 135 | * Fix GetFeatureCount() to properly take into account spatial filter when attribute filter also in effect (#7123) |
| 136 | |
| 137 | SQLite/Spatialite driver: |
| 138 | * don't invalidate statistics when running a PRAGMA (https://issues.qgis.org/issues/17424) |
| 139 | * SQLite dialect: support SQLite 3.21, and LIKE, <>, IS NOT, IS NOT NULL, IS NULL and IS operators (#7149) |
| 140 | |
| 141 | XLS driver: |
| 142 | * workaround opening filenames with incompatible character set on Windows (https://issues.qgis.org/issues/9301) |
| 143 | |
| 144 | XLSX driver: |
| 145 | * fix non working detection of Date/Time fields in some documents (#7073) |
| 146 | * fix opening of documents with x: namespace in xl/workbook.xml (#7110) |
| 147 | * avoid using CPLSPrintf() return directly with VSIFOpenL() as the temp buffer might be later recycled (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4050) |
| 148 | |
| 149 | == SWIG bindings == |
| 150 | |
| 151 | * map GRA_Max, GRA_Min, GRA_Med, GRA_Q1 and GRA_Q3 (#7153) |
| 152 | |
| 153 | == Python bindings == |
| 154 | |
| 155 | * remove 'from . import _gdal_array' line from gdal_array.py that is not necessary with normal execution of the bindings, and cause errors with PyInstaller (#7044) |