| 1 | = GDAL/OGR 3.0.1 Release Notes = |
| 2 | |
| 3 | The 3.0.1 release is a bug fix release. |
| 4 | |
| 5 | == Build == |
| 6 | |
| 7 | * configure: fix detection of libpq in a non-standard place (3.0 regression) (#1542) |
| 8 | * Fix MSVC linking issue related to TransformWithOptionsCache class (#1639) |
| 9 | |
| 10 | == Port == |
| 11 | |
| 12 | * /vsitar/: support >100 character file names (#1559) |
| 13 | * /vsicurl/: fix CPL_VSIL_CURL_ALLOWED_EXTENSIONS with query string (#1614) |
| 14 | * /vsicurl/: allow 'Connection timed out' CURL errors as candidate for HTTP retry |
| 15 | * /vsicurl/: GetFileSize(): when HEAD request does not return Content-Length header, retry with GET |
| 16 | * /vsis3/: for a long living file handle, refresh credentials coming from EC2/AIM (#1593) |
| 17 | |
| 18 | == GDAL algorithms == |
| 19 | |
| 20 | * GDALReprojectImage(): properly take into account source/target alpha bands |
| 21 | * GDALCreateReprojectionTransformerEx(): do not emit error if reverse transformation fails, and fix crash when trying to use null reverse transformation |
| 22 | * Warper: fix GDAL 2.3 regression in a situation with source nodata value, multiple bands and nearest resampling where the logic to detect which source pixels are nodata was inverted (#1656) |
| 23 | * Contour generator: fix SegmentMerger list iterator skipping and out of bounds error. (#1670) |
| 24 | |
| 25 | == GDAL core == |
| 26 | |
| 27 | * GDALInvGeoTransform(): make it work with scale and rotation/skew coefficients of small absolute value (#1615) |
| 28 | * GDALCopyWholeRasterGetSwathSize(): fix potential int overflows for big values of GDAL_SWATH_SIZE or GDAL_CACHEMAX |
| 29 | |
| 30 | == GDAL utliities == |
| 31 | |
| 32 | * gdal_translate: Make 'gdal_translate foo.tif foo.tif.ovr -outsize 50% 50% -of GTiff' work |
| 33 | * gdalwarp: fix wrong axis order when using source/target CRS being a geographic3D CRS such as EPSG:4979, and with vertical shift grid application (#1561, 3.0 regression) |
| 34 | * gdal_calc.py: Fixed NaN-streaking in output images when the --allBands option is given to tiled images, and removed redundant calculation of nXValid. |
| 35 | * gdal_polygonize.py: fix outputing to geojson without explicit -f switch (#1533) |
| 36 | * gdallocationinfo: emit verbose error when dataset canot be opened (#1684) |
| 37 | |
| 38 | == GDAL drivers == |
| 39 | |
| 40 | ENVI driver: |
| 41 | * fix potential use of invalid pointer on some unusual std::string implementations (#1527) |
| 42 | * add read support for reading GCPs (#1528), and fix off-by-one offset on line,pixel on reading GCP |
| 43 | |
| 44 | GTiff driver: |
| 45 | * make WEBP_LEVEL to be honored in Create() mode (#1594) |
| 46 | * reset m_bGeoTIFFInfoChanged flag in FlushDirectory() |
| 47 | * PushMetadataToPam(): early exit when PAM is disabled, to avoid error messages |
| 48 | |
| 49 | GXF driver: |
| 50 | * avoid closing the file pointer before being sure this is a GXF driver, otherwise this can prevent the opening of some raw format files (#1521) |
| 51 | |
| 52 | HDF5 driver: |
| 53 | * Make GH5_FetchAttribute(CPLString) more robust and able to cope with variable-length string |
| 54 | |
| 55 | ISIS3 driver: |
| 56 | * fix parsing of lists in JSon metadata, and quote string items when writing lists when needed (#1510) |
| 57 | |
| 58 | KEA driver: |
| 59 | * return error when deleting metadata item rather than crashing (#1681) |
| 60 | |
| 61 | NITF driver: |
| 62 | * fix parsing of SENSRB TRE (#1520) |
| 63 | |
| 64 | RS2 driver: |
| 65 | * add half-pixel shift to reported GCP line and column numbers (#1666) |
| 66 | |
| 67 | TileDB driver: |
| 68 | * removed ambiguous use of size_t |
| 69 | * TILEDB_LIBS added for windows build |
| 70 | |
| 71 | VRT driver: |
| 72 | * Python pixel functions: also probe libpython3.Xm.so.1.0 (#1660) |
| 73 | |
| 74 | == OGRSpatialReference == |
| 75 | |
| 76 | * EPSG:4326 to EPSG:3857: fix invalid output with some input coordinates (3.0 regression) |
| 77 | * GetAxis(): make it work with a compound CRS (#1604) |
| 78 | * importFromWkt(): emit a CPLError() in case of import failure (refs #1623) |
| 79 | |
| 80 | == OGR drivers == |
| 81 | |
| 82 | EEDA driver: |
| 83 | * fix startTime / endTime comparisons that were incomplete in #1506 |
| 84 | |
| 85 | GeoJSON driver: |
| 86 | * fix recognizing some documents with members sorted alphabetically (#1537) |
| 87 | * avoid SetFeature() to repeat first feature when looping over features (#1687) |
| 88 | |
| 89 | ElasticSearch driver: |
| 90 | * set 'application/json' in RunRequest() with POST (#1628) |
| 91 | * GeoJSON type field should be mapped as text in ES>=5 |
| 92 | |
| 93 | GPKG driver: |
| 94 | * change default value of OGR_GPKG_FOREIGN_KEY_CHECK to NO, so as to avoid issues in downstream software |
| 95 | * insert more accurate spatial extent in gpkg_contents |
| 96 | * fix memory leak in case of corrupted database. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14683. |
| 97 | |
| 98 | KML driver: |
| 99 | * set OAMS_TRADITIONAL_GIS_ORDER for SRS returned on returned layers |
| 100 | |
| 101 | MapInfo driver: |
| 102 | * TAB: don't left truncate numeric values in the .dat when the field formatting is incompatible, but error out (#1636) |
| 103 | |
| 104 | MSSQLSpatial driver: |
| 105 | * Fix handling empty geometries (#1674) |
| 106 | * Fix handling mixed geometries (#1678) |
| 107 | |
| 108 | MVT driver: |
| 109 | * make CONF option accept a filename as well |
| 110 | |
| 111 | PostgreSQL driver: |
| 112 | * do not attempt to create VARCHAR(n) columns with n >= 10485760 (#1508) |
| 113 | |
| 114 | Shapefile driver: |
| 115 | * better deal with empty .shp+.shx and SHAPE_RESTORE_SHX (#1525) |
| 116 | * fix crash when creating a layer with a wkbNone geometry type but a SRS (3.0 regression) |
| 117 | * launder layer name to get Windows compatible filename |
| 118 | |
| 119 | WaSP driver: |
| 120 | * on creation, make sure the layer geometry type set on the feature definition is wkbLineString25D |
| 121 | |
| 122 | == SWIG bindings == |
| 123 | |
| 124 | * add osr.SetPROJSearchPath(path) that can be used since setting PROJ_LIB from C# does no work (#1647) |
| 125 | |
| 126 | == Python bindings == |
| 127 | |
| 128 | * honour gdal.UseExceptions() in numpy related methods (gdalnumeric module) (#1515) |