| 1 | = GDAL/OGR 2.1.2 Release Notes = |
| 2 | |
| 3 | The 2.1.2 release is a bug fix release. |
| 4 | |
| 5 | == Port == |
| 6 | * Fix deadlock at CPLWorkerThreadPool destruction (#6646) |
| 7 | * CPLGetSymbol() on Windows: honour GDAL_FILENAME_IS_UTF8 setting to call |
| 8 | LoadLibraryW() (#6650) |
| 9 | * /vsicurl/: take CPL_VSIL_CURL_ALLOWED_EXTENSIONS into account even if |
| 10 | GDAL_DISABLE_READDIR_ON_OPEN is defined (#6681) |
| 11 | |
| 12 | == GDAL algorithms == |
| 13 | |
| 14 | == GDAL Core == |
| 15 | * Nodata comparison: fix test when nodata is FLT_MIN or DBL_MIN (#6578) |
| 16 | * External overview: fix incorrect overview building when generating from greater |
| 17 | overview factors to lower ones, in compressed and single-band case (#6617) |
| 18 | * Make sure that GDALSetCacheMax() initialize the raster block mutex (#6611) |
| 19 | * Fix potential deadlock in multithreaded writing scenarios (#6661) |
| 20 | * Make multi-threaded reading/writing when using GetLockedBlock()/MarkDirty()/ |
| 21 | DropLock() lower level interfaces (#6665) |
| 22 | |
| 23 | == Utilities == |
| 24 | * gdal_translate & gdalwarp: lower the default value of GDAL_MAX_DATASET_POOL_SIZE |
| 25 | to 100 on MacOSX (#6604) |
| 26 | * gdalwarp: when -to RPC_DEM is specified, make -et default to 0 as documented (#6608) |
| 27 | * gdal_translate: when using -projwin with default nearest neighbour resampling, |
| 28 | align on integer source pixels (#6610) |
| 29 | * gdal2xyz: use %d formatting for Int32/UInt32 data types (#6644) |
| 30 | |
| 31 | == GDAL drivers == |
| 32 | |
| 33 | AIGRID driver: |
| 34 | * fix 2.1.0 regression when reading statistics (.sta) file with only 3 values, |
| 35 | and fix <2.1 behaviour to read them in LSB order (#6633) |
| 36 | |
| 37 | ENVI driver: |
| 38 | * on closing, pad image file with trailing nul bytes if needed (#6662) |
| 39 | |
| 40 | GeoRaster driver: |
| 41 | * fix for geotransform matrix with rotation terms (#6593) |
| 42 | |
| 43 | GPKG driver: |
| 44 | * check if transaction COMMIT is successful (#6667) |
| 45 | * fix crash on overview building on big overview factor (#6668) |
| 46 | |
| 47 | GTiff driver: |
| 48 | * fix saving and loading band description (#6592) |
| 49 | * avoid reading external metadata file that could be related to the target |
| 50 | filename when using Create() or CreateCopy() (#6594) |
| 51 | * do not generate erroneous ExtraSamples tag when translating from a RGB UInt16, |
| 52 | without explicit PHOTOMETRIC=RGB (#6647) |
| 53 | |
| 54 | HDF4 driver: |
| 55 | * Fixed erroneous type casting in HDF4Dataset::AnyTypeToDouble() breaking reading |
| 56 | georeference data and some other metadata from HDF4-EOS datasets (#6618) |
| 57 | |
| 58 | HDF5 driver: |
| 59 | * correct number of GCPs to avoid dummy trailing (0,0)->(0,0,0) and remove +180 |
| 60 | offset applied to GCP longitude. Add instead a heuristics to determine if the |
| 61 | product is crossing the antimeridian, and a HDF5_SHIFT_GCPX_BY_180 config option |
| 62 | to be able to override the heuristics (#6666) |
| 63 | |
| 64 | ISCE driver: |
| 65 | * make parsing of properties case insensitive (#6637) |
| 66 | |
| 67 | netCDF driver: |
| 68 | * fix crash on datasets with 1D variable with 0 record (#6645) |
| 69 | |
| 70 | RMF driver: |
| 71 | * fix wrong counter decrement that caused compressed RMF to be incorrectly |
| 72 | decompressed (https://github.com/OSGeo/gdal/pull/153) |
| 73 | |
| 74 | ROI_PAC driver: |
| 75 | * fix computation of line offset for multi-band BIP files, and warn if detecting |
| 76 | a wrong file produced by GDAL >= 2.0.0 (#6591) |
| 77 | |
| 78 | SRTMHGT driver: |
| 79 | * accept filenames like NXXEYYY.SRTMGL1.hgt (#6614) |
| 80 | |
| 81 | VRT driver: |
| 82 | * make CheckCompatibleForDatasetIO() return FALSE on VRTDerivedRasterBands (#6599) |
| 83 | * fix performance issue when nodata set at band level and non-nearest resampling used (#6628) |
| 84 | * VRTComplexSource: do temp computations on double to avoid precision issues |
| 85 | when band data type is Int32/UInt32/CInt32/Float64/CFloat64 (#6642) |
| 86 | |
| 87 | == OGR core == |
| 88 | |
| 89 | == OGR utilities == |
| 90 | * GDALVectorTranslate(): imply update mode if access mode not explicitly |
| 91 | specified and hDstDS != NULL (#6612) |
| 92 | |
| 93 | == OGR drivers == |
| 94 | |
| 95 | Carto driver: |
| 96 | * rebranded from CartoDB to Carto. "CartoDB" is still a valid alias to Carto |
| 97 | |
| 98 | GPKG: |
| 99 | * update schema to reflect CURRENT_TIMESTAMP -> 'now' changes (https://github.com/OSGeo/gdal/pull/155) |
| 100 | * do not emit error when running ExecuteSQL() with a spatial filter on an empty |
| 101 | layer (#6639) |
| 102 | * list (non spatial) layers not registered in gpkg_contents (#6679) |
| 103 | * robustified layer deletion and renaming (#6679) |
| 104 | * implementation of DeleteField, AlterFieldDefn and ReorderFields (#6679) |
| 105 | * GetExtent() to save computed extent in gpkg_contents if empty (#6679) |
| 106 | * add 'RECOMPUTE EXTENT ON' special SQL (#6679) |
| 107 | * update last modified date on tiles update (#6679) |
| 108 | * check identifier unicity on layer creation (#6679) |
| 109 | * add possibility to disable foreign key check by setting |
| 110 | OGR_GPKG_FOREIGN_KEY_CHECK=NO config option (#6679) |
| 111 | * add HasSpatialIndex(tblname,geomcolname) SQL function (#6679) |
| 112 | |
| 113 | GML driver: |
| 114 | * remove hack for CityGML regarding forcing srsDimension to 3 if not specified. |
| 115 | Instead add a GML_SRS_DIMENSION_IF_MISSING config option that can be set to |
| 116 | 3 if needed (#6597) |
| 117 | * consider srsName with URL like 'http://www.opengis.net/def/crs/EPSG/0/' as |
| 118 | following EPSG axis order. Add SWAP_COORDINATES=YES/NO/AUTO (and |
| 119 | GML_SWAP_COORDINATES configuration option) to override all auto guessing (#6678) |
| 120 | |
| 121 | MSSQLSpatial driver: |
| 122 | * Fix select layer to recognize geometry column with sqlncli (#6641) |
| 123 | |
| 124 | NAS driver: |
| 125 | * Fix to handle that 'anlass' is optional |
| 126 | |
| 127 | OCI driver: |
| 128 | * 3 new options: MULTI_LOAD, MULTI_LOAD_COUNT, FIRST_ID (#6606) |
| 129 | |
| 130 | PG driver: |
| 131 | * fix errors caused by missing geometry_columns/spatial_ref_sys tables in non |
| 132 | PostGIS databases, that prevent reading more than 500 features (http://hub.qgis.org/issues/10904) |
| 133 | |
| 134 | PLScenes driver: |
| 135 | * add HTTP retry logic (#6655) |
| 136 | * V0 API: workaround limitations on filtering on image_statistics.image_quality (#6657) |
| 137 | |
| 138 | S57 driver: |
| 139 | * fix GDAL 2.1.1 regression where open options are ignored if OGR_S57_OPTIONS |
| 140 | config option is not defined (#6609) |
| 141 | |
| 142 | Shapefile driver: |
| 143 | * change REPACK implementation on Windows to be robust to remaining file |
| 144 | descriptors openend on the .shp/.shx/.dbf (#6672) |
| 145 | |
| 146 | SQLite driver: |
| 147 | * do not emit error when running ExecuteSQL() with a spatial filter on an |
| 148 | empty layer (#6639) |
| 149 | * Spatialite: avoid crash when creating layer with geom_type = wkbCurve (#6660) |
| 150 | * don't touch nSoftTransactionLevel in DoTransactionCommand() in case of error, |
| 151 | since it can cause later CPLAssert() to trigger (#6667) |
| 152 | |
| 153 | XLSX driver: |
| 154 | * only list worksheets (and no charts) as layers (#6680) |