| 1 | = GDAL/OGR 2.3.1 Release Notes = |
| 2 | |
| 3 | The 2.3.1 release is a bug fix release. |
| 4 | |
| 5 | == Build == |
| 6 | |
| 7 | All: |
| 8 | * Fix build with recent Poppler (0.64) (#573) |
| 9 | * PDF driver: fix build against PDFium (#612) |
| 10 | * Do not use json-c private API in RDA and AmigoCloud drvers (#618) |
| 11 | * fix build against MySQL 8.0 |
| 12 | * Include gdalsse_priv.h from user defined paths |
| 13 | |
| 14 | Unix: |
| 15 | * update GRASS drivers to support GRASS 7.4.0 (#633) |
| 16 | * configure: use CXXFLAGS when CXX is used (#693) |
| 17 | |
| 18 | Windows: |
| 19 | * MBTILES: remove extra parenthesis around $(ZLIB_FLAGS) |
| 20 | * NMAKE: copy gdal pdb to $(LIBDIR) in libinstall target |
| 21 | * NMAKE: Enable friendlier static library builds: DLL_BUILD can be set to 0 |
| 22 | |
| 23 | == Port == |
| 24 | |
| 25 | * cpl_port.h: avoid compilation error when compiling GMT's gmtdigitize.c that defines _XOPEN_SOURCE to empty (#590) |
| 26 | * gdal_pc: fix CONFIG_INST_DATA (#609) |
| 27 | * /vsioss/: fix support of filenames with spaces |
| 28 | * /vsis3/: fix VSIStatL() on a directory (#603) |
| 29 | * /vsitar/: support headers with fields using star base-256 coding (#675) |
| 30 | * /vsizip/: fix memory leaks in error code paths on file opening (#699) |
| 31 | * /vsigs/, /vsiaz/, /vsioss/: fix signature issues related to Date HTTP header, when non-C locale is enabled |
| 32 | * Installed headers: re-install cpl_vsi_error.h |
| 33 | |
| 34 | == GDAL core == |
| 35 | |
| 36 | * GDALProxyPoolDataset constructor: fix inverted logic related to projection |
| 37 | * GDALGetJPEG2000Structure(): avoid excessive memory allocation. (oss-fuzz#8268) |
| 38 | * Overview: fix wrong computation of source pixel indices for AVERAGE and pixel-interleave bands |
| 39 | |
| 40 | == GDAL utilities == |
| 41 | |
| 42 | * gdal_contour: avoid out-of-memory situation (#594) |
| 43 | * gdal_merge.py: apply NaN check for raster copy |
| 44 | * gdal_retile.py: fix rounding issues when computing source and target regions (#670) |
| 45 | |
| 46 | == GDAL algorithms == |
| 47 | |
| 48 | * OpenCL wrapper: fix memory leak |
| 49 | |
| 50 | == GDAL drivers == |
| 51 | |
| 52 | EHdr driver: |
| 53 | * fix creation of large enough drivers (#705) |
| 54 | |
| 55 | ENVI driver: |
| 56 | * fix creation of large enough drivers (#705) |
| 57 | |
| 58 | ERS driver: |
| 59 | * avoid potential stack overflow (oss-fuzz#8614) |
| 60 | * avoid infinite recursion (oss-fuzz#8744) |
| 61 | * avoid potential bad cast (oss-fuzz#8745) |
| 62 | |
| 63 | FIT driver: |
| 64 | * avoid excessive block size on creation (oss-fuzz#8292) |
| 65 | |
| 66 | GPKG driver: |
| 67 | * fix memory leak if errors on writing metadata |
| 68 | |
| 69 | GRIB driver: |
| 70 | * g2clib: avoid potential out of bound access (CID 1393528) |
| 71 | |
| 72 | GTiff driver: |
| 73 | * Internal libgeotiff: when rewriting a ASCII key with a string value longer than the original value, do not add a dummy "0 0 0 0" entry in the GeoKeyDirectory (#641) |
| 74 | * work-around above mentionned libgeotiff bug (#641) |
| 75 | * avoid various memory corruptions when reading some corrupted file (oss-fuzz#8488) |
| 76 | |
| 77 | HDF5 driver: |
| 78 | * fix reading variable names with single character (#622) |
| 79 | |
| 80 | IRIS driver: |
| 81 | * avoid infinite loop (oss-fuzz#8256, oss-fuzz#8439) |
| 82 | |
| 83 | ISCE driver: |
| 84 | * fix creation of large enough drivers (#705) |
| 85 | |
| 86 | PCRaster driver: |
| 87 | * libcsf: avoid potential out of bound access (CID 1074445) |
| 88 | |
| 89 | PostgisRaster driver: |
| 90 | * add support for out-db rasters (Trac #3234) |
| 91 | * improve performance of line by line reading |
| 92 | |
| 93 | RS2 driver: |
| 94 | * fix avoid potential memleak (CID 1393537, CID 1393534, CID 1074387) |
| 95 | |
| 96 | SGI driver: |
| 97 | * avoid out-of-bound buffer access (oss-fuzz#8889) |
| 98 | |
| 99 | USGSDEM driver: |
| 100 | * fix reading of Benicia.dem and Novato.dem (fixes trac #4901, github #583) |
| 101 | * avoid potential out-of-bounds access (CID 1393532) |
| 102 | |
| 103 | WCS driver: |
| 104 | * avoid null pointer dereference (#648) |
| 105 | |
| 106 | == OGR core == |
| 107 | |
| 108 | * OGRLineString::TransferMembersAndDestroy(): fix crashing issue with M component. (oss-fuzz#8773) |
| 109 | * OGRSQL evaluation: avoid too deep recursion. (oss-fuzz#8836) |
| 110 | * OGRGeometry::exportToGEOS(): fix potential out-of-bounds write on some GeometryCollection with TIN/PolyhedralSurface (#688) |
| 111 | |
| 112 | == OGRSpatialReference == |
| 113 | |
| 114 | * Validation: fix wrong values in papszProjectionDefinitions array, affecting Stereographic, Krovak, and Two_Point_Equidistant |
| 115 | * Validation: add missing parameter names in papszParameterDefinitions array |
| 116 | * MorphToESRI(): avoid potential heap use-after-free (#696) |
| 117 | |
| 118 | == OGR drivers == |
| 119 | |
| 120 | AVCE00 driver: |
| 121 | * avoid perforance issues on huge lines (oss-fuzz#8284) |
| 122 | |
| 123 | BNA driver: |
| 124 | * refuse to open existing file in update mode, since it causes later crashes when attempting to add new features (fixes https://issues.qgis.org/issues/18563) |
| 125 | |
| 126 | CSV driver: |
| 127 | * in writing, use WKT instead of actual geometry column name if GEOMETRY=AS_WKT mode is used without CREATE_CSVT=YES (#660) |
| 128 | |
| 129 | DXF driver: |
| 130 | * avoid null pointer dereference when DXF_MAX_BSPLINE_CONTROL_POINTS is hit (oss-fuzz#8254) |
| 131 | |
| 132 | GeoJSON driver: |
| 133 | * properly flush the file in SyncToDisk() in append situations (relates to https://issues.qgis.org/issues/18596) |
| 134 | * fix type deduction when there is a Feature.id of type string and Feature.properties.id of type int (#669) |
| 135 | |
| 136 | GMT: |
| 137 | * avoid performance issue when opening layer with big number of fields. (oss-fuzz#8259) |
| 138 | |
| 139 | GPKG driver: |
| 140 | * take into ROLLBACK TO SAVEPOINT to invalidate cached feature count |
| 141 | * GPKG/SQLite: make sure to not invalidate POSIX advisory locks |
| 142 | |
| 143 | MSSQLSpatial driver: |
| 144 | * Fix layer-schema separation problem (#586) |
| 145 | * Fix bulk copy for multiple layers (#619) |
| 146 | |
| 147 | MVT driver: |
| 148 | * writer: do not skip Z/M/ZM geometries, just keep their XY coordinates |
| 149 | |
| 150 | VFK driver: |
| 151 | * create index on ID column only for selected (geometry-related) layers (#498) |
| 152 | * create db indices after inserting data and befor resolving geometrys (#498) |
| 153 | * avoid bigint overflow, force text attributes (PODIL_CITATEL/PODIL_JMENOVATEL) (#672) |
| 154 | |
| 155 | WFS3 driver: |
| 156 | * update to current version of the API draft (#626) |
| 157 | * remove legacy hack for feature paging that can cause endless loops |
| 158 | |
| 159 | XLSX driver: |
| 160 | * avoid stack buffer overflow is creating too many fields (oss-fuzz#8198) |
| 161 | * avoid timeout (oss-fuzz#8225) |
| 162 | * fix null pointer dereference (oss-fuzz#8286) |
| 163 | |
| 164 | == SWIG bindings == |
| 165 | |
| 166 | Java bindings: |
| 167 | * Javadoc updates |
| 168 | * update to Java 1.6 requirement to please 'ant maven' target |
| 169 | |
| 170 | Perl bindings: |
| 171 | * require wrappers to be made before proceeding make (fixes #643). |
| 172 | |
| 173 | Python bindings: |
| 174 | * fixed NULL check on VSIFReadL (#572) |