Changes between Initial Version and Version 1 of Release/2.1.0-News


Ignore:
Timestamp:
Apr 18, 2016, 10:02:52 AM (8 years ago)
Author:
Even Rouault
Comment:

2.1.0 news

Legend:

Unmodified
Added
Removed
Modified
  • Release/2.1.0-News

    v1 v1  
     1= GDAL/OGR 2.1.0 Release Notes =
     2
     3== In a nutshell... ==
     4
     5 * New GDAL/raster drivers:
     6    - [http://gdal.org/frmt_cals.html CALS]: read/write driver for CALS Type I rasters
     7    - [http://gdal.org/drv_db2_raster.html DB2]: read/write support for DB2 database (Windows only)
     8    - [http://gdal.org/frmt_various.html#ISCE ISCE]: read/write driver (#5991)
     9    - [http://gdal.org/frmt_marfa.html MRF]: read/write driver for Meta Raster Format (#6342)
     10    - [http://gdal.org/frmt_safe.html SAFE]: read driver for ESA SENTINEL-1 SAR products (#6054)
     11    - [http://gdal.org/frmt_sentinel2.html SENTINEL2]: read driver for ESA SENTINEL-2 L1B/LC1/L2A products
     12    - [http://gdal.org/frmt_wmts.html WMTS]: read driver for OGC WMTS services
     13 * New OGR/vector drivers:
     14    - [http://gdal.org/drv_amigocloud.html AmigoCloud]: read/write support for AmigoCloud mapping platform
     15    - [http://gdal.org/drv_db2.html DB2]: read/write support for DB2 database (Windows only)
     16    - [http://gdal.org/drv_mongodb.html MongoDB]: read/write driver
     17    - [http://gdal.org/frmt_netcdf_vector.html netCDF]: read/write driver
     18    - [http://gdal.org/drv_vdv.html VDV]: read/write VDV-451/VDV-452 driver, with specialization for the Austrian official open government street graph format
     19 * Significantly improved drivers:
     20    - [http://gdal.org/drv_csv.html CSV]: new options, editing capabilities of existing file
     21    - [http://gdal.org/drv_elasticsearch.html ElasticSearch]: read support and support writing any geometry type
     22    - [http://gdal.org/drv_geojson.html GeoJSON]: editing capabilities of existing file, "native data" (RFC 60) support
     23    - [http://gdal.org/frmt_mbtiles.html MBTiles]: add raster write support. fixes in open support
     24    - [http://gdal.org/frmt_pdf.html PDF]: add PDFium library as a possible back-end.
     25    - [http://gdal.org/drv_plscenes.html PLScenes]: add support for V1 API
     26    - [http://gdal.org/gdal_vrttut.html VRT]: on-the-fly pan-sharpening
     27    - [http://gdal.org/frmt_gtiff.html GTiff]: multi-threaded compression for some compression methods
     28 * Port library: add [http://www.gdal.org/cpl__vsi_8h.html#a5b4754999acd06444bfda172ff2aaa16 /vsis3/], [http://www.gdal.org/cpl__vsi_8h.html#a126c1e0314bbd7e4661bc526f45032c5 /vsis3_streaming/], [/vsicrypt/ http://www.gdal.org/cpl__vsi_8h.html#a5e20b79947f58970f5514b3eb9a524a9] virtual file systems
     29 * RFC 26: Add hash-set band block cache implementation for very larger rasters (WMS, WMTS, ...)
     30        http://trac.osgeo.org/gdal/wiki/rfc26_blockcache
     31 * RFC 48: Geographical networks support (GNM)
     32        https://trac.osgeo.org/gdal/wiki/rfc48_geographical_networks_support
     33 * RFC 58: Add DeleteNoDataValue():
     34        https://trac.osgeo.org/gdal/wiki/rfc58_removing_dataset_nodata_value
     35 * RFC 59.1: Make GDAL/OGR utilities available as library functions:
     36        https://trac.osgeo.org/gdal/wiki/rfc59.1_utilities_as_a_library
     37   For gdalinfo, gdal_translate, gdalwarp, ogr2ogr, gdaldem, nearblack, gdalgrid,
     38   gdal_rasterize, gdalbuildvrt
     39   Available in C, Python, Perl and Java bindings.
     40 * RFC 60: Improved round-tripping in OGR
     41        https://trac.osgeo.org/gdal/wiki/rfc60_improved_roundtripping_in_ogr
     42   Implemented in GeoJSON driver
     43 * RFC 61: Support for measured geometries.
     44        https://trac.osgeo.org/gdal/wiki/rfc61_support_for_measured_geometries
     45   Implemented in Shapefile, PostgreSQL/PostGIS, PGDump, MEM, SQLite, GeoPackage,
     46   FileGDB, OpenFileGDB, CSV, VRT
     47 * Upgrade to EPSG database v8.8
     48 * General sanitization pass to clean-up code, fix a lot of compiler warnings,
     49   as well as issues pointed by static code analyzers, such as Coverity Scan
     50   (credits to Kurt Schwehr for tackling a large part of them) or CLang Static Analyzer.
     51 * Fixes in a number of drivers to be more robust against corrupted files (most found
     52   with American Fuzzy Lop): RIK, INGR, Northwood, HF2, CEOS, GTiff, GXF, BMP,
     53   NITF, HFA, VRT, FIT, CEOS2, NWT_GRD/NWT_GRC, MITAB, RPFTOC, DBF/Shape, XYZ, VFK, DXF,
     54   NAS, GSAG, GS7BG, OpenFileGDB, RMF, AIGRID, OpenAIR, EHDR, ISO8211, FAST,
     55   USGSDEM, DGN, SGI, OpenJPEG, PCRaster, BSB, ADRG, SRP, JPEG, Leveller, VICAR, PCIDSK, XPM
     56   as well as in portability library (CPL), algorithms and raster core.
     57 * Driver removed:
     58    - Google Maps Engine (GME)  (#6261)
     59
     60== New installed files ==
     61 * gdal_pansharpen.py
     62 * data/vdv452.xml
     63 * data/vdv452.xsd
     64 * data/netcdf_config.xsd
     65 * /path/where/bash-completion/scripts/are/installed/gdal-bash-completion.sh
     66
     67== Backward compatibility issues ==
     68
     69See MIGRATION_GUIDE.TXT
     70
     71== GDAL/OGR 2.1.0 - General Changes ==
     72
     73Build(Unix):
     74 * Allow plugin for HDF4, HDF5, GeoRaster, FileGDB, OCI and PG
     75 * Add a --with-gnm option to enable GNM
     76 * Add --enable-lto switch to turn on link time optimization (GCC >= 5)
     77 * Add --with-spatialite=dlopen --with-spatialite-soname=libspatialite.so[.X] syntax to allow linking against spatialite through dlopen() mechanism (#6386)
     78 * Add a lot of warning options when available in the compiler.
     79 * Change detection test of podofo to work with podofo 0.9.3
     80 * Fix gdalserver compilation with recent GNU libc (such as in Arch Linux) (#6073)
     81 * Add pkg-config support for libkml fork (#6077)
     82 * Update config.sub and config.guess to their latest upstream versions so as to be able to detect new architectures (android, ppcle64, etc..) (#6101)
     83 * Fix python package installation in custom prefixes (#4563)
     84 * configure: check that CXX is really a working compiler (#4436)
     85 * Build support for Kakadu 7.7
     86 * thinplatespline.cpp: avoid using optimized version of VizGeorefSpline2DBase_func4() with ICC versions that fail on it (#6350)
     87 * Add bash completion for GDAL/OGR utilities and scripts (#6381)
     88 * Add support for ODBC autodetection with mingw64 (#6000)
     89 * Remove macos 9 and older support (#6133).
     90 * Remove dist_docs, burnpath and pszUpdableINST_DATA in gcore/gdaldrivermanager.cpp as they are have not been used for a while (#6140).
     91 * Removed --without-ogr configure flag (#6117).  Always build with OGR.
     92
     93Build(Windows):
     94 * Add support for Visual Studio 2015 (a.k.a MSVC_VER=1900 or VC 13)
     95 * Add KAKFLAGS to nmake.opt with KDU_{MAJOR,MINOR,PATCH}_VERSION define-s.
     96 * nmake.opt: make it less error prone to define SETARGV when paths include spaces (#6032)
     97 * nmake.opt: add CL.EXE compiler option /FC to display full path of source code file in diagnostics
     98 * Remove WinCE support (#6133)
     99 * nmake.opt: add /I flag to the INSTALL command so that xcopy will be smart enough to create a directory when copying files and avoid prompting for user input (https://github.com/OSGeo/gdal/pull/95)
     100 * Enable mssql spatial blugin build, use BCP as the default option for the sqlncli enabled builds
     101 * Add support to find MrSID 9.5 dll
     102 * Fix Windows build with recent MySQL versions and Visual Studio 2015 (#6457)
     103
     104Build(all):
     105 * Compatibility with C++11 and C++14
     106 * Optional crypto++ dependency for /vsicrypt/ support
     107 * Optional mongocxx dependency for MongoDB support
     108
     109Other:
     110 * Disable copy constructor and assignment operators in classes OGRFieldDefn, OGRGeomFieldDefn, OGRFeature, GDALMultiDomainMetadata, GDALDefaultOverviews, GDALOpenInfoGDALDataset, GDALRasterBlock, GDALRasterBand and GDALDriver (#6100)
     111
     112== GDAL 2.1.0 - Overview of Changes ==
     113
     114Port:
     115 * Add /vsicrypt/ virtual file system for reading/creating/update encrypted files on the fly, with random access capabilities
     116 * Add /vsis3/ and /vsis3_streaming/ virtual file systems to read/write objects from AWS S3 buckets
     117 * /vsizip/: avoid returning the previous file list of an already opened .zip if it has changed afterwards (#6005)
     118 * /vsizip/: use CP437 on Windows when ICONV support is available (#6410)
     119 * /vsimem/: implement append mode (#6049)
     120 * /vsistdin/: fix caching of first 1MB / VRT driver: read XML content from /vsistdin/ in a streaming compatible way (#6061)
     121 * /vsistdout/: flush when closing the handle (#6149)
     122 * Add VSIReadDirEx() with a limit on the number of files before giving up and corresponding VSIFilesystemHandler::ReadDirEx() virtual function
     123 * cpl_vsil_cache: rework to be able to work on very large files on 32bit systems
     124 * Add CPLThreadLocaleC class to use thread-specific locale settings (when available)
     125 * VSIWin32Handle::Flush(): add VSI_FLUSH config option that can be set to TRUE to force FlushFileBuffers(). (hack related to #5556)
     126 * Fix VSIL append mode in Windows (#6065)
     127 * Make CPLCreateMutexEx() support CPL_MUTEX_REGULAR; and fix CPL_MUTEX_ADAPTIVE to avoid continuing in code path for creation of recursive mutex
     128 * Add CPLWorkerThreadPool API
     129 * Add CPLGetThreadLocalConfigOption()
     130 * Fix CPL_LSBINT16PTR() and CPL_LSBINT32PTR() to work with non-byte pointer (#6090)
     131 * CPLRecodeStub(): add special case for CP437 -> UTF-8 when input is only printable ASCII
     132 * CPLHTTPFetch(): add LOW_SPEED_TIME and LOW_SPEED_LIMIT options
     133 * CPLGetValueType(): improve heuristics to avoid detecting some WKB strings as real numbers (#6128)
     134 * Add CPL_SHA256* and CPL_HMAC_SHA256 functions
     135 * Make CPLVirtualMemFileMapNew() work on all systems having mmap(), and thus GeoTIFF GTIFF_VIRTUAL_MEM_IO optimization too
     136 * Add VSI_MALLOC_VERBOSE() and similar macros to output an error message in case of failed alloc
     137 * CPLParseXMLString(): limit depth of elements to 10000
     138 * Win32 file management: handle files whose total file path length is greater than 255 characters in Open() and Stat()
     139 * Make CPLFormFilename(absolute_path, "..", NULL) truncate when possible
     140 * Add VSIGetDiskFreeSpace()
     141 * Implement CPLIsInf() for Solaris 11
     142 * Add a CPL_FINAL macro that expands to C++11 final keyword when C++11 is enabled, and use it in a few places
     143 * Avoid CPLEscapeString (CPLES_URL) encoding some characters unnecessarily (#5526)
     144 * Add CPLTestBool(), CPLTestBoolean(), CPLFetchBool()
     145 * Fix CPLGetValueType() to recognize D1 as a string and not a real number (#6305)
     146 * CPLFormFilename(): use '/' directory separator on Windows on /vsicurl_streaming/ files (#6310)
     147 * Add hack enabled by -DDEBUG_BOOL to detect implicit int->bool conversions that dislike MSVC (#6325)
     148 * Add hack to '#define NULL nullptr' when NULL_AS_NULLPTR is defined. Must be used together with -std=c++11 -Wzero-as-null-pointer-constant with GCC to detect misuses of NULL/nullptr (#6327)
     149 * Add VSIError mechanism to store errors related to filesystem calls, and use it for /vsis3/. Add new CPLE_ error numbers. (https://github.com/OSGeo/gdal/pull/98)
     150 * Fix CPLsscanf() to be conformant regarding how space/tab/... separators are handled, so as to fix OGR GMT to be able to read coordinates separated by tabulations (#6453)
     151
     152Core:
     153 * Change default value of GDAL_CACHEMAX to 5% of usable physical RAM
     154 * Allow open options name to be prefixed by @ to be silently ignored when not existing in driver options (RFC 60)
     155 * Honour NBITS metadata item when doing RasterIO() with non-nearest resampling (#6024)
     156 * GDALClientServer: pass open options to INSTR_Open call
     157 * Improve performance of GDALCopyWords() float->byte/int16/uint16 by using SSE2
     158 * Decorate prototypes of RasterIO() related operations with CPL_WARN_UNUSED_RESULT
     159 * Avoid deadlock when writing 2 datasets in 2 threads (#6163)
     160 * Remove obsolete symbols __pure_virtual(), GDALCreateProjDef(), GDALReprojectToLongLat(), GDALReprojectFromLongLat() and GDALDestroyProjDef()
     161 * Remove obsolete non-template-based implementation of GDALCopyWords(). We don't support anymore such compilers
     162 * GDALJP2Box::ReadBoxData(): do not abort if memory allocation fails
     163 * Add GDALAdjustValueToDataType() in C API, and use it in GDALTranslate() and GDALWarp()
     164 * GDALDefaultOverviews::CreateMaskBand(): fix logic error related to writing per-band mask
     165 * Block cache: fix excessive memory consumption when dealing with datasets with different block sizes (#6226)
     166 * EXIFExtractMetadata(): fix potential 1-byte write buffer stack overflow
     167 * MDReader: do no attempt reading side-car files on /vsisubfile/ (#6241)
     168 * GDALCheckBandCount(): allow by default a maximum number of bands to 65536
     169 * GDALOpenInfo: add StealSiblingFiles() and AreSiblingFilesLoaded() methods
     170 * GDALOpenInfo::GetSiblingFiles(): give up after GDAL_READDIR_LIMIT_ON_OPEN (default=1000) files in the directory
     171 * GDALDefaultOverviews: add TransferSiblingFiles() method
     172 * GDALDriver::DefaultCreateCopy(): fix logic related to propagation of NBITS / PIXELTYPE metadata items as creation options
     173 * Reorder driver registration a bit so that formats with efficient identification are probed first
     174 * Add GDALIdentifyEnum (GDAL_IDENTIFY_UNKNOWN, GDAL_IDENTIFY_FALSE or GDAL_IDENTIFY_TRUE) for return values of Identify()
     175 * GDALLoadRPCFile(): load .rpc files from Ikonos products that have extra end-of-line character (#6341)
     176 * Export GDALRegenerateOverviewsMultiBand() symbol, but mostly for plugins (#6342)
     177 * Add GDAL_NO_AUTOLOAD to compile out the body of AutoLoadDriver (#6380)
     178 * Avoid ComputeStatistics(), GetHistogram() and ComputeRasterMinMax() to use only the first column of blocks in approximation mode for a raster whose shape of blocks is a square (#6378)
     179 * Add GDALGetDataTypeSizeBits() and GDALGetDataTypeSizeBytes().
     180 * GDALReadOziMapFile(): fix reading Ozi external files from virtual file systems (https://github.com/OSGeo/gdal/pull/114)
     181 * Add CPLSetCurrentErrorHandlerCatchDebug() to enable custom error handlers not to intercept debug messages
     182
     183Algorithms:
     184 * RPC transformer: provide SSE2 accelerated transformer
     185 * RPC: fix off-by-half pixel computation of (pixel, line), and in bilinear and bicubic RPC DEM interpolation; fix off-by-one pixel registration for Pleiades RPC (#5993)
     186 * RPC: make RPCInverseTransformPoint() check convergence has been reached (#6162)
     187 * RPC DEM: optimize when DEM is in NAD83 or any other geodetic CS that transform as a no-op to WGS 84
     188 * RPC DEM: take into account vertical datum of the DEM when present to convert DEM elevations to ellipsoidal heights (#6084)
     189 * RPC DEM: do fallback cubic -> bilinear and bilinear -> near on DEM edges
     190 * RPC DEM: improve inverse transformer to validate error threshold and improve convergence (#6162, #6377)
     191 * TPS solver: discard duplicated GCP to avoid avoidable error, warning when 2 GCPs have same (pixel,line) but different (X,Y) or the reverse
     192 * Warper: rework multithreaded computations to use a thread pool rather than forking threads each time
     193 * Warper: avoid really excessive processing time for some warping with target areas completely off the source raster (especially when involving RPC) (#6182)
     194 * Warper: CreateKernelMask(): fix potential 32 bit integer overflow when using warp memory value > 2GB (#6448)
     195 * gdal_grid: add linear interpolation algorithm
     196 * gdal_grid: add invdistnn algorithm, variation on the existing inverse distance weighting algorithm with quadtree to search for points only in the neighborhood (#6038)
     197 * gdal_grid: fix crash in optimized mode with GCC 4.4 on 64bit (#5987)
     198 * gdal_grid: compile gdalgrid AVX optimization for Windows when supported by compiler
     199 * Add GDALTriangulationXXXX() API through libqhull
     200 * Sieve filter: fix crash on nodata polygons (#6096)
     201 * Sieve filter: improvement to walk through the biggest neighbour chain until we find a polygon larger than the threshold (#6296)
     202 * GDALFPolygonize(): factor implementation with integer case
     203 * GDALComputeMedianCutPCT(): fix to make it work with rasters with more than 2 billion pixels (#6146)
     204 * Overview: Make average and gauss methods aware of transparent color table entries (#6371)
     205
     206Utilities:
     207 * gdalinfo: workaround bug in proj <= 4.9.1 on datasets with a SRS with a vertical shift grid (#6083)
     208 * gdal_translate: detect more reliably if specified bands are not in default order
     209 * gdal_translate: fix -a_nodata with negative values on rasters that have PIXELTYPE=SIGNEDBYTE; fix preserving PIXELTYPE=SIGNEDBYTE with VRT
     210 * gdal_translate: fix random behaviour when -scale is used without source bounds (#6455)
     211 * gdal_rasterize: do on-the-fly reprojection of input vector onto output raster
     212 * gdal_rasterize: rasterize: always create output with 1/2 cell buffer of input geometry envelope (#6058)
     213 * gdal_rasterize: add the -dialect option
     214 * gdalwarp: add -doo option to specify open options of (existing) output dataset
     215 * gdalwarp: if RPC_DEM warping option is specified, use exact transformer by default (#5993)
     216 * gdalwarp: make it honour nodata value of existing dataset (if -dstNoData isn't explicitly specified)
     217 * gdalwarp: do not propagate STATISTICS_ of second or following source datasets
     218 * gdalwarp: do not emit warning when using -cutline with a SRS and the source raster has RPC or GEOLOCATION
     219 * gdalwarp: check that the cutline is valid after transformation/reprojection
     220 * gdalwarp: better deal when dealing with a mix of RGB and RGBA datasets as input
     221 * gdalwarp: fix -srcnodata to not put garbage values as target dstnodata (#6315)
     222 * gdalwarp: densify cutline to avoid invalid geometry after reprojection to source raster, especially in the RPC case (#6375)
     223 * gdalserver: add a -nofork mode (Unix only for now), so that multiple clients can connect to the same dataset. Useful for safe 'concurrent' updates
     224 * add gdal_pansharpen.py script
     225 * gdal2tiles.py: fix error on a raster with less than 3 bands that resulted in a 'IndexError: list index out of range'
     226 * gdal2tiles.py: Change EPSG:3785 / EPSG:900913 into EPSG:3857 (#5622)
     227 * gdal2tiles.py: add Leaflet template (https://github.com/OSGeo/gdal/pull/71)
     228 * gdal2tiles.py: add -q switch for quiet mode
     229 * gdaldem: correctly deal with NaN as nodata value (#6066)
     230 * gdaldem color-relief: deal with the case of repeated entries with the same value and the input raster has pixels that match that value exactly (#6422)
     231 * gdaladdo: emit error message if passed an invalid dataset name (#6240)
     232 * gdaladdo: do not silence warnings when opening in update mode, if the open is successful
     233 * gdalbuildvrt: fix potential crash when using -b switch (#6095)
     234 * gdalbuildvrt: accept nan as value for -srcnodata and -vrtnodata
     235 * gdalbuildvrt: return non zero return code if the flush of the VRT to disk failed
     236 * gdal_merge.py: takes again into account -n flag (#6067)
     237 * gdalbuildvrt / gdal_translate / VRT: use floating point values for source and destination offsets and sizes (#6127)
     238 * gdalmove.py: fix to run with GDAL 2.0 gdal.InvGeoTransform() signature
     239
     240Python samples:
     241 * gdalpythonserver.py: update to protocol 3
     242 
     243AAIGRID:
     244 * when writing with floating-point values, ensure at least one value has a decimal point to avoid issues with some readers (#6060)
     245
     246BMP driver:
     247 * BMP: avoid too big color table allocation in case of wrong iClrUsed value
     248
     249BLX driver:
     250 * converted to support VirtualIO
     251
     252ECRG driver:
     253 * change subdataset definition to make sure that they only consist of frames of same scale (#6043)
     254 * fix base34 decoding and Windows filename handling (#6271)
     255
     256ECW driver:
     257 * use wide char Open API on Windows when GDAL_FILENAME_IS_UTF8=YES (https://github.com/OSGeo/gdal/pull/70)
     258
     259GeoRaster driver:
     260 * fix deflate read error depending on endianness (#6252)
     261
     262GIF driver:
     263 * libgif: partial resync with giflib master (but keep ABI of 4.1.6)
     264 * fix crash when CreateCopy a source with one color in the color table
     265
     266GMT driver:
     267 * validate raster dimensions on opening, and acquire mutex in dataset destructor
     268
     269GPKG driver:
     270 * write support: fix various issues in update scenarios when interacting with the GDAL block cache that could result in lost/corrupted band data to be written in tiles (#6309)
     271 * write support: fix potential use of freed sqlite temporary DB handle when generating overviews with partial tiles (#6335)
     272 * write support: fix potential crash in scenarios when block cache is full (#6365)
     273 * write support: fix inversion of row/column in one of the SQL request involved in partial tiles management (#6339)
     274 * fix generation of files with 1-band paletted input dataset. Also improve the logic to retrieve color palette when forcing BAND_COUNT=1 on opening (#6450)
     275
     276GTiff driver:
     277 * add NUM_THREADS creation and open options to enable multi-threaded compression
     278 * fix GTiffDataset::IsBlockAvailable() wrong behaviour when compiling against internal libtiff, when a BigTIFF file has a TileByteCounts with LONG/4-byte counts and not LONG8 (#6001)
     279 * Correctly take into account overridden linear units for a geotiff with a EPSG PCS code (#6210, #4954)
     280 * make VirtualMemIO() work with non native endianness
     281 * improve VirtualMemIO() performance in tiled Contig read to single band copy
     282 * improve single band tiled VirtualMemIO reading
     283 * improve DirectIO() to work on tiled uncompressed geotiff, for non-resampling and nearest resampling cases. Also improve performance of resampling cases on un-tiled files
     284 * fix DirectIO() mode with complex types and inverted endianness (#6198)
     285 * optimize writing of 12-bit values
     286 * implement lazy loading of .aux.xml and .tfw/.wld
     287 * Internal libtiff: update to CVS HEAD post libtiff 4.0.6
     288 * make SetColorInterpretation(GCI_AlphaBand) work on a 5 band or more GeoTIFF (#6102)
     289 * automatically set PHOTOMETRIC=RGB if manually assigning color interpretation Red,Green,Blue to band 1,2,3 before directory crystallization (#6272)
     290 * add GEOTIFF_KEYS_FLAVOR=ESRI_PE creation option to write EPSG:3857 in a ESRI compatible way (#5924)
     291 * call XTIFFInitialize() in LibgeotiffOneTimeInit() as the former isn't thread-safe, so better call it from the later which is thread-safe (#6163)
     292 * fix reading and writing angular units different from degree (namely arc-second, arc-minute, grad, gon and radian) (#6171)
     293 * do not use VirtualMemIO optimization on compressed /vsimem/ files (#6195)
     294 * correctly set GTRasterTypeGeoKey=RasterPixelIsPoint if AREA_OR_POINT=Point but there is no SRS set (#6225)
     295 * improve a bit error detection when writing
     296 * check free space before writing (only for big, non sparse, uncompressed)
     297 * do not read large 'one row' JBIG compressed files with the scanline API (#6264)
     298 * Fix SetMetadata() to properly clear existing PAM metadata (complement to #5807)
     299 * prevent potential out of bounds read/write to TIFFTAG_EXTRASAMPLES (#6282)
     300 * do not use first directory as potential mask, to avoid assertion in GTiffDataset::SetDirectory() (#6287)
     301 * reject files with strips/tiles/scanlines bigger than 2 GB to avoid 32 bit integer overflow.
     302   Also in case of files with Contig PlanarConfiguration do not make reading one block for band 2 OK when reading for band 1 issued an error (#6288)
     303 * GTIFFWriteDirectory(): avoid memory leak of codec related memory (#2055)
     304 * Make ALPHA=NO in CreateCopy() cancel alpha color interpretation even if present in source raster
     305 * fix problem with implicit overviews of JPEG-compressed files (#6308)
     306 * fix compilation problem with internal libtiff if DEFER_STRILE_LOAD isn't defined (which is not the default configuration) (https://github.com/OSGeo/gdal/pull/90)
     307 * use more appropriate error message when 4GB threshold is reached with external overviews, and try to make doc of BIGTIFF=IF_NEEDED/IF_SAFER clearer (#6353)
     308
     309HDF4 driver:
     310 * Skip quotation mark when parsing HDF-EOS metadata.
     311
     312HDF5 driver:
     313 * add Komsat Mission ID to possible value for HDF5 SAR product (https://github.com/OSGeo/gdal/pull/103)
     314
     315HF2 driver:
     316 * fix reading side of the driver to work on architectures where char is unsigned, like PPC or ARM (#6082)
     317
     318HFA driver:
     319 * when reading projection, preserve EPSG code if AutoIdentifyEPSG() identified the SRS, even if a PE string is present (#6079)
     320 * keep TOWGS84 even when using ESRI PE string (#6158)
     321 * fix crashes on corrupted files (#6208, #6286)
     322
     323INGR driver:
     324 * check that RLE decoding produced the expected number of bytes and error out otherwise; test that 'random' line seeking actually works
     325
     326JPEGLS driver:
     327 * fix build error (#6430)
     328
     329JP2ECW driver:
     330 * honour psExtraArg->eResampleAlg when upsampling (#6022)
     331
     332JP2KAK driver:
     333 * honour psExtraArg->eResampleAlg when upsampling (#6022)
     334 * try rounded dimensions to decide if the data is being requested exactly at a sub-resolution
     335 * support v7.7 on Unix (additional changes potentially needed on Windows)
     336
     337JP2OpenJPEG driver:
     338 * Safer multi-threaded use
     339
     340JPEG driver:
     341 * add USE_INTERNAL_OVERVIEWS open option (default to TRUE as in recent versions, can be set to FALSE to hide internal overviews
     342
     343KMLSuperOverlay driver:
     344 * fix 2.0 regression with some RasterIO() requests involving resampling (#6311)
     345 * recognize datasets that have a intermediate <Folder> that forms a <Document><Folder><Region/><GroundOverlay/> structure (#6343)
     346
     347LCP driver:
     348 * fix wrong use of endianness macros to fix behaviour on big-endian hots
     349
     350Leveller driver:
     351 * update to v9 read support (#5632,)
     352
     353MBTiles driver:
     354 * add raster write support
     355 * fix so that datasets whose lowest min zoom level is 16 or above are recognized
     356 * be robust to invalid 'bounds' at dataset opening (#6458)
     357
     358MEM driver:
     359 * avoid 32 bit overflows
     360
     361NetCDF driver:
     362 * add support for reading NC4 unsigned short attributes and variables (#6337) * read correctly nodata values in [128,255] range for (unsigned) Byte data type (#6175)
     363 * implement Get/SetUnitType() using the standard units attribute (https://github.com/OSGeo/gdal/pull/96)
     364 * optimize IReadBlock() and CheckData() handling of partial blocks in the x axis by re-using the GDAL block buffer instead of allocating a new temporary buffer for each block (#5950)
     365 * full read/write support for new NetCDF4 types NC_UBYTE, NC_USHORT, NC_UINT and NC_STRING for variables (except for NC_STRING) and attributes (https://github.com/OSGeo/gdal/pull/99)
     366 * add support for the geostationary projection (#6030)
     367 * fix one byte heap write overflow in NCDFTokenizeArray() (#6231)
     368 * fix potential buffer overflows with uses of nc_inq_varname(), nc_inq_attname() and nc_get_att_text() (#6227)
     369 * validate that gridmapping:GeoTransform has 6 values (#6244)
     370 * fix wrong use of deallocator when writing a GEOLOCATION array, and other issues
     371 * limit number of bands reported to 32768 by default
     372 * validate raster dimensions
     373 * validate content of NC_GLOBAL#GDAL variable (#6245)
     374
     375NGSGEOID driver:
     376 * make it work on > 2GB file
     377
     378NITF driver:
     379 * data/nitf_spec.xml: Add CSCCGA, MENSRB, SENSRB, STREOB, ENGRDA, EXPLTB and PATCHB TREs (https://github.com/OSGeo/gdal/pull/81, #6285, https://github.com/OSGeo/gdal/pull/86)
     380 * fix parser to properly deal with variable length items not in first nesting level
     381
     382Northwoord driver:
     383 * fix computation of intermediate color table values on non-Intel platforms (#6091)
     384
     385NTv2 driver:
     386 * support reading/writing/appending to files with big-endian order (cf https://github.com/OSGeo/proj.4/issues/345)
     387
     388OpenJPEG driver:
     389 * do not expose block dimensions larger than dataset dimensions to avoid wasting memory (#6233)
     390
     391PCIDSK driver:
     392 * Remove the old driver (#6172)
     393
     394PDF driver:
     395 * add PDFium library as a possible back-end. Initial support contributed by Klokan Technologies GmbH  (http://www.maptiler.com/)
     396 * workaround a bug of PoDoFo 0.9.0 by avoiding loading of vector content in raster-only mode (doesn't prevent the crash if reading the vector layers) (#6069)
     397 * make OGC BP registration work with media box where bottom_y is negative and top_y = 0 (in non rotated case)
     398 * make OGC BP registration work with media box where min_x != 0 (in non-rotated case)
     399 * correctly take into account non-meter linear units with OGC BP encoding, and add support for US FOOT (#6292)
     400
     401PDS driver:
     402 * change default values of PDS_SampleProjOffset_Shift and PDS_LineProjOffset_Shift to 0.5 (#5941)
     403 * fix nodata value for UInt16 to be 0 (#6064)
     404 * accept 'ODL_VERSION_ID = ODL3' in header (#6279)
     405
     406PGChip driver:
     407 * driver removed from sources
     408
     409PLScenes driver:
     410 * PLScenes V0: avoid opening raster to generate dummy .aux.xml
     411
     412PNG driver:
     413 * Support writing 1, 2 or 4 bit single band
     414 * Add NBITS creation option
     415 * fix XML of creation option list
     416 * Update internal libpng to 1.2.56
     417
     418PostgisRaster driver:
     419 * avoid Identify() to recognize OGR PostgreSQL connection strings with schemas option and cause loud 'QuietDelete' (#6034)
     420
     421Raw drivers:
     422 * better support for direct read of more than 2GB in single gulp (untested though)
     423
     424RIK driver:
     425 * fix Identify() method to recognize again non-RIK3 RIK datasets (#6078)
     426
     427RMF driver:
     428 * implement GetNoDataValue()
     429 * add read/write access to new RMF format for files larger than 4 Gb (version=0x201) (https://github.com/OSGeo/gdal/pull/11)
     430
     431ROIPAC driver:
     432 * Support offset and scale band (#6189)
     433
     434VICAR driver:
     435 * change PDS_SampleProjOffset_Shift and PDS_LineProjOffset_Shift default values to 0.5 (#5941)
     436 * fix loss of precision in scale and offset
     437
     438VRT driver:
     439 * expose implicit 'virtual' overviews for VRT whose bands are made of a single SimpleSource/ComplexSource
     440 * gdalvrt.xsd: Add capitalized versions of true and false (#6014)
     441 * GetSingleSimpleSource(): check there's a single source (#6025)
     442 * honour VRTRasterBand NBITS metadata with SimpleSource and ComplexSource
     443 * properly take into account nodata value declared at VRT band level when doing resampling with non-nearest
     444 * honour relativeToVRT when using AddBand() to add a VRTRawRasterBand (https://github.com/OSGeo/gdal/pull/67)
     445 * VRT warp: fix crash with implicit overviews and destination alpha band (#6081)
     446 * make GetDefaultHistogram() on a sourced raster band save the result in the VRT (#6088)
     447 * serialize NODATA and NoDataValue items with %.16g, e.g. so as to be able to hold large int32 nodata values (#6151)
     448 * VRTSourcedRasterBand: make ComputeRasterMinMax() and ComputeStatistics() forward bApproxOK to overview band (useful for implicit overviews)
     449 * make CreateCopy() preserve NBITS metadata item
     450 * avoid loading sibling file list if not available
     451 * VRT raw: don't truncate last figure of ImageOffset if there are left space padding (#6290)
     452 * VRTWarpedDataset::SetMetadataItem(): fix crash when calling with name=SrcOvrLevel and value=NULL (#6397)
     453 * Warped VRT: fix deadlock in situation where warped VRT datasets are read in multiple threads and the block cache reaches saturation. Also add a GDAL_ENABLE_READ_WRITE_MUTEX config option that can be set to NO to disable the read/write mutex mechanism in cases where it would deadlock (#6400)
     454
     455WMS driver:
     456 * add a IIP (Internet Imaging Protocol) minidriver
     457 * limit number of zoom levels for ArcGIS MapServer JSon (#6186)
     458 * determine a resolution that will not result in a number that is larger than the maximum size of an integer.  Any value that exceeds the maximum size of an integer will raise an invalid dataset dimensions error. (https://github.com/OSGeo/gdal/pull/89)
     459
     460== OGR 2.1.0 - Overview of Changes ==
     461
     462Core:
     463 * Add OGREditableLayer class to add editing capabilities to drivers with none or limited editing capabilities
     464 * OGRGeometry: add DelaunayTriangulation() method (GEOS >= 3.4)
     465 * OGRGeometry and derived classes: implement copy constructor and assignment operator (#5990)
     466 * OGRGeometry: Fix result of Equals on POINT EMPTY with POINT(0 0)
     467 * OGRFeature SetField(): more type conversions allowed, particularly with array types
     468 * OGRFeature::SetGeometry()/SetGeometryDirectly(): make it work when passed geometry is the currently installed geometry (#6312)
     469 * OGR SQL: do not silently skip NULL values in the first records when evaluating a SELECT DISTINCT (#6020)
     470 * OGR SQL: correctly sort NULL values in first positions (#6155)
     471 * Add OGRUpdateFieldType()
     472 * Decorate a few functions/methods of the OGR layer API with CPL_WARN_UNUSED_RESULT
     473 * WKT export: use 15 significant figures, instead of 15 figures after decimal point (#6145)
     474 * WKT export: do not append .0 after non-finite values (#6319)
     475 * Fix typo in definition of name of OGR_FD_ReorderFieldDefns (final s was missing)
     476 * OGRLayer::SetIgnoredFields(): properly reset state of non first geometry fields (#6283)
     477 * Make OGRLayer::SetSpatialFilter(GetSpatialFilter()) work with non empty spatial filter (#6284)
     478 * OGRLayerDecorator: add missing CreateGeomField()
     479 * OGRLayer::Erase(): do not discard input geometries that have no intersection with method layer (#6322)
     480 * OGRLayer::Erase(): Speedup = ~70%
     481 * Add OGRPreparedGeometryContains()
     482 * Use prepared geometry intersects as pretest in layer Intersection, Union, and Identity methods if requested.
     483   Use prepared geometry containment as pretest in layer Intersection method if requested.
     484 * Bail out from layer algebra methods if GEOS calls fail and not SKIP_FAILURES.
     485 * OGR_G_SetPoints(): error out if padfX or padfY == NULL, do not change coordinate dimension to 3D when pabyZ == NULL, fix optimization on linestring to call setPoints() only if the strides are the ones of a double, not 0 as incorrectly done before (#6344)
     486 * OGRParseDate(): more strict validation to reject invalide dates (#6452)
     487
     488OGRSpatialReference:
     489 * Upgrade to EPSG database v8.8
     490 * Add support for SCH (Spherical Cross-track Height) projection
     491 * Optimize reprojection typically between WGS84 based SRS and WebMercator
     492 * Correctly transform Mercator_2SP and _1SP to ESRI Mercator, and back from ESRI Mercator to Mercator_2SP (#4861)
     493 * No longer enforce C locale if running against latest proj that is locale safe (4.9.2 or later)
     494 * EPSGGetPCSInfo(): use pcs.override.csv in priority over pcs.csv to read projection name, UOM, UOMAngle, GeogCS, etc... (#6026)
     495 * morphToESRI(): use GCS_WGS_1972 as GCS name for EPSG:4322 (#6027)
     496 * morphToESRI(): use Mercator_Auxiliary_Sphere projection for EPSG:3857. morphFromESRI(): map Mercator_Auxiliary_Sphere to EPSG:3857 (#5924)
     497 * Align hard-coded WKT of well known GCS definitions of WGS84, WGS72, NAD27 and NAD83 with the WKT of their EPSG def (#6080)
     498 * morphFromESRI(): special case with PROJCS name 'WGS_84_Pseudo_Mercator' (#6134)
     499 * OSR C API: fix declarations of OSRSetAxes() and OSRSetWagner(), and add missing OSRSetHOMAC(), OSRSetMercator2SP() and OSRSetTPED() (#6183)
     500 * Recognize EPSG 9835 method (Lambert Cylindrical Equal Area (Ellipsoidal)), needed for EPSG:6933 PCS for example
     501 * importFromProj4/exportToProj4(): rework linear unit conversion between WKT name/values and proj4 unit name, and extend its scope in WKT to proj4 conversions
     502 * OSR ESRI .prj: add support for reading custom ellipsoid in Parameters line
     503 * on import of +proj=geos, if +sweep=x is used then store it as a proj4 extension node (#6030)
     504
     505Utilities:
     506 * ogrinfo / ogr2ogr: implement @filename syntax for -sql and -where
     507 * ogr2ogr: prevent the -gt setting from overriding transaction group size of 1 set by skipfailures earlier (#2409)
     508 * ogr2ogr: warn if -zfield field does not exist in source layer
     509 * ogr2ogr -skip: rollback dataset transaction in case of failure (#6328)
     510 * ogr2ogr: fix -append with a source dataset with a mix of existing and non existing layers in the target datasource (#6345)
     511 * ogr2ogr: imply quiet mode if /vsistdout/ is used as destination filename
     512 * ogr2ogr: make -dim and -nlt support measure geometry types
     513
     514CartoDB:
     515 * fix GetNextFeature() on a newly create table (#6109)
     516 * defer 'CartoDBfycation' at layer closing
     517 * optimize feature insertion with multiple rows INSERT
     518
     519CSV driver:
     520 * add editing capabilities of existing files
     521 * add X_POSSIBLE_NAMES, Y_POSSIBLE_NAMES, Z_POSSIBLE_NAMES, GEOM_POSSIBLE_NAMES and KEEP_GEOM_COLUMNS open options
     522 * add HEADERS open option to force OGR to handle numeric column names. (PR #63)
     523 * add EMPTY_STRING_AS_NULL=YES/NO open option
     524 * implement compatibility enhancements for GeoCSV specification (#5989)
     525 * fix detection of TAB delimiter in allCountries.csv when the first line has a comma (#6086)
     526 * fix issues with leading single quote, and missing first line after ResetReading(), when parsing allCountries.txt (#6087)
     527 * speed-up GetFeatureCount() on allCountries.txt
     528 * on CreateDataSource() with a .csv name, do not try to open other existing .csv files in the directory
     529 * make CreateGeomField() returns OGRERR_NONE in case of success instead of OGRERR_FAILURE (#6280)
     530 * avoid adding trailing comma in header line when writing 'WKT,a_single_field'
     531
     532DGN driver:
     533 * add partial 3D transformation support for cell headers
     534
     535DXF driver:
     536 * detect files without .dxf extension (#5994)
     537 * fix handling of ELLIPSE with Z extrusion axis = -1 (#5705)
     538 * take into account full definition of spline entity (degree, control points, weights and knots) when stroking splines (#6436)
     539 * better handling of various object coordinate systems found in dxf files for point, line, polyline, spline and ellipse entities. Add anchor position to text styles. Remove polygon/polyface mesh parsing from polyline entity (#6459)
     540
     541ElasticSearch driver:
     542 * use get /_stats instead of /_status for ElasticSearch 2.0 compatibility (#6346)
     543
     544FileGDB driver:
     545 * make CreateFeature() honour user set FID, and implement more fine grained transaction for Linux/Unix
     546 * give a hint of using FileGDB SDK 1.4 is FileGDB compression is used
     547
     548GeoJSON driver:
     549 * Add editing capabilities of existing files
     550 * Add ARRAY_AS_STRING=YES open option
     551 * Use '%.17g' formatting by default for floating-point numbers and add SIGNIFICANT_FIGURES layer creation option (#6291)
     552 * add a json_ex_get_object_by_path() function
     553 * fix crash on null / non-json object features (#6166)
     554 * serialize string values that are valid JSon dictionary or array as it (ie do not quote them)
     555 * make sure there's enough space to write the FeatureCollection bbox (#6262). Also avoid duplicating FeatureCollection bbox if source has one (trunk only)
     556 * Export POINT EMPTY as having a null geometry, instead as of being POINT(0 0) (#6349)
     557 * Do not 'promote' a null field to OFTString type if it had another type before (#6351)
     558
     559GME driver:
     560 * Driver removed.  Maps Engine being shut down at the end of January 2016.
     561
     562GML driver:
     563 * VFR: add new attribute DatumVzniku (v1.6)
     564 * VFR: fix ST_UVOH type handling
     565 * VFR: fix ZpusobyOchrany attributes (data types and names)
     566 * VFR: fix CisloDomovni attributes (Integer->IntegerList)
     567 * VFR: fix TEA attributes of StavebniObjekty
     568 * add NAMESPACE_DECL=YES option to OGR_G_ExportToGMLEx() to add xmlns:gml=http://www.opengis.net/gml or http://www.opengis.net/gml/3.2 declaration; Also accept GML2 or GML32 as valid valiues for FORMAT option (#6214)
     569 * serialize in .gfs file the name of the geometry element when it is 'geometry' since this is a particular case (#6247)
     570 * fix logic error in BuildJointClassFromScannedSchema() (#6302)
     571
     572GPKG driver:
     573 * make it accept files with non standard extension if they still have the correct application_id (#6396); also accept the .gpkx extension that may be used for extended geopackages
     574 * emit warning when generating a database without .gpkg/.gpkx extension (#6396)
     575 * as GPKG 1.1 uses a different application_id, emit a more specific warning if the application id starts with GPxx (but is not GP10). Add GPKG_WARN_UNRECOGNIZED_APPLICATION_ID config option to avoid the warning
     576 * correct scope of gpkg_geom_XXXXX extensions to be read-write, and allow reading geometry types CURVE or SURFACE
     577 * avoid trying to insert a gpkg_geom_XXXX extension if already done (#6402)
     578 * writer: implement strategy to flush partial_tiles temporary database when it becomes too big (#6462)
     579 * writer: when writing to GoogleMapsCompatible tiling scheme, better deal with source rasters in EPSG:4326 with latitude = +/-90 (#6463)
     580 * fix generation of files with 1-band paletted input dataset. Also improve the logic to retrieve color palette when forcing BAND_COUNT=1 on opening (#6450)
     581
     582GPX driver:
     583 * fix crash when parsing a 'time' extension element at route/track level (2.0 regression, #6237)
     584
     585ILI driver:
     586 * ILI1: Support for Surface polygon rings spread over multiple geometry records
     587 * ILI1: add string TID support (https://github.com/OSGeo/gdal/pull/91)
     588 * Fix crash with models using types derived from INTERLIS
     589 * Fix memory leaks (#6178)
     590
     591JML driver:
     592 * remove arbitrary limitation preventing from reading geometries with <gml:coordinates> larger than 10 MB (#6338)
     593
     594KML driver:
     595
     596LIBKML driver:
     597 * for documents without folder, use document name when available as name of layer (#6409)
     598
     599Memory driver:
     600 * add support for sparse feature IDs
     601 * add ADVERTIZE_UTF8 layer creation option
     602
     603MITAB driver:
     604 * Add support for block sizes other than 512 bytes in .map files, for MapInfo 15.2 compatibility (#6298)
     605 * write correct datum id for EPSG:3857
     606 * read MID files with TAB delimiter and empty first field (#5405)
     607 * use projection code 29 when exporting non-Polar Lambert Azimuthal Equal Area (#5220)
     608 * fix crashes when parsing invalid MIF geometries (#6273)
     609
     610MSSQLSpatial driver:
     611 * Implement MSSQL bulk insert (#4792)
     612 * do not treat a primary key that is not of integer type as the FID (#6235)
     613
     614NTF driver:
     615 * fix potential buffer overflows when reading too short lines (#6277)
     616
     617ODBC driver:
     618 * remove limitations to 500 columns
     619
     620ODS driver:
     621 * fix loss of precision in formula computation
     622
     623OpenFileGDB driver:
     624 * do not emit warning if SDC/CDF table detected and that FileGDB driver is present
     625 * fix min/max on columns without indices (#6150)
     626 * build correct geometry for a multi-part wkbMultiLineStringZ (#6332)
     627
     628OSM driver:
     629 * correct fields ids for the (non frequently used) Node message
     630 * do not override 'our' osm_id (the node, way or relation id) with a tag named 'osm_id' (#6347)
     631
     632PG driver:
     633 * Add PRELUDE_STATEMENTS and CLOSING_STATEMENTS open option to be for example able to specify options, like statement_timeout, with pg_bouncer
     634 * Fix 2.0 regression when overwriting several existing PostGIS layers with ogr2ogr (#6018)
     635 * Update PG, PGDump and CartoDB drivers to correctly export POINT EMPTY for PostGIS 2.2
     636 * avoid reseting error potentially emitted by ExecuteSQL() (#6194)
     637 * sanitize management of quoting for FID column at layer creation
     638 * fix to get SRID on result layer with PostGIS 2.2
     639 * in copy mode (the default on layer creation), do not truncate the concatenated string list to the field width (#6356)
     640 * make such that GEOMETRY_NAME layer creation option is honoured in ogr2ogr when the source geometry field has a not-null constraint (#6366)
     641 * read and set DESCRIPTION metadata item from/into pg_description system table; add DESCRIPTION layer creation option
     642 * support int2[] and numeric[] types, better map float4[] type
     643 * remove code that was intended to handled binary cursors as it cannot be triggered
     644 * fix append of several layers in PG_USE_COPY mode and within transaction (ogr2ogr -append use case) (#6411)
     645
     646PGDump driver:
     647 * fix issue with case of ogc_fid field in case the FID  layer creation option is not set by user or by ogr2ogr (related to #6232)
     648 * in copy mode (the default on layer creation), do not truncate the concatenated string list to the field width (#6356)
     649 * make such that GEOMETRY_NAME layer creation option is honoured in ogr2ogr when the source geometry field has a not-null constraint (#6366)
     650 * set DESCRIPTION metadata item from/into pg_description system table; add DESCRIPTION layer creation option
     651
     652Shapefile driver:
     653 * accept opening standalone .dbf files whose header length is not a multiple of 32 bytes (#6035)
     654 * fix REPACK crash on shapefile without .dbf (#6274)
     655 * add capability to restore/build a missing .shx file when defining SHAPE_RESTORE_SHX to TRUE (#5035)
     656
     657SQLite/Spatialite driver:
     658 * support file:xxx URI syntax (derived from patch by joker99, #6150)
     659 * fix heuristics in OGRSQLiteSelectLayer::GetExtent() to not be used when there's a sub SELECT (#6062)
     660 * fix crash on GetLayerByName('non_existing_table(geom_column)') (#6103)
     661 * fix OGRSQLiteSelectLayerCommonBehaviour::GetBaseLayer() to no longer 'eat' consecutive characters in layer name (#6107)
     662 * Spatialite: turn debug messages warning about update not being supported because of missing or too old spatialite version as errors, and return NULL to the caller (#6199)
     663 * fix memleak in OGRSQLiteTableLayer destructor when updating geometry_columns_time
     664 * VFS: increase mxPathname to 2048 by default, and provide OGR_SQLITE_VFS_MAXPATHNAME config option to be able to configure that higher if that would be needed. Useful when dealing with very long names like /vsicurl/.... with AWS S3 security tokens
     665 * VFS: do not probe -wal files on /vsicurl/
     666
     667SXF driver:
     668 * fix wrong use of endianness macros to fix behaviour on big-endian hots
     669 * add recoding from CP1251 for TEXT attribute that is now decoded
     670 * fix various issues (#6357)
     671
     672VRT driver:
     673 * implement CloseDependentDatasets()
     674 * fix editing with 'direct' geometry mode which could cause attribute column to be empty (#6289)
     675 * fix crash with a OGRVRTWarpedLayer using a source layer that would have non geometry column (unlikely to happen currently as this would require explicit disabling it, but more likey with following commit that createe VRT non-spatial layer implictly when the source is non-spatial, linked to #6336)
     676 * avoid creating an implicit wkbUnknown geometry field when the source has no geometry column and there's no XML elements related to geometry fields (#6336)
     677
     678XLSX driver:
     679 * fix reading sheets with more than > 26 columns and 'holes' (#6363)
     680
     681XPlane driver:
     682 * extend ICAO identifiers to 5 digits (#6003)
     683
     684== SWIG Language Bindings ==
     685
     686All bindings:
     687 * add a options parameter to gdal.ReprojectImage() to pass warp options
     688 * Change ReadRaster and WriteRaster to use GIntBig and the *IOEx-methods
     689 * prevent NULL file pointer from being passed to VSIF*L functions
     690 * make gdal.Rename() accept Unicode strings
     691 * add SpatialReference.GetAxisName() and SpatialReference.GetAxisOrientation() (#6441)
     692 * add SpatialReference.GetAngularUnitsName() (#6445)
     693
     694Java bindings:
     695 * Fix typemap for input parameter of type GIntBig (fixes GetFeature(long), DeleteFeature(long), etc...) (#6464)
     696 * Bump minimal java version to 1.5 in case SWIG generates anotations (#6433, patch by Bas Couwenberg)
     697 * GNUmakefile: add -f in rm commands
     698 * GNUmakefile: add support for all hardening buildflags
     699
     700Perl bindings:
     701 * Fix #6050: string formatting in croak.
     702 * Perl Makefile.PL: add support for all hardening buildflags (#5998)
     703 * use strict and warnings in overridden constructors.
     704 * add $VERSION to ogr_perl.i (OGR.pm), which is required by pause.perl.org.
     705 * Add some basic module info for CPAN.
     706 * Bugfix for Geo::OGR::Feature->new().
     707 * Add many utility level algorithms as methods to various classes.
     708 * New class for XML stuff
     709 * New Makefile.PL, which can download and build GDAL. This allows automatic testing of the CPAN module.
     710 * Wrap VSIStdoutSetRedirection and allow creating datasets via an object, which can write and close.
     711 * Geo::OGR::Driver and Geo::OGR::DataSource are now Perl wrappers for respective GDAL classes.
     712 * Add to the error stack also errors from the bindings
     713 * Fix sending utf8 from Perl to GDAL. Should also remove some "uninitialized value" warnings.
     714 * ReadTile and WriteTile methods for Dataset, ReadTile accepts now tile size and scaling algorithm.
     715 * Improved Parent - Child management.
     716 * Improved support for 64bit ints.
     717 * Measures support in Geometry class.
     718 * Many new tests
     719
     720Python bindings:
     721 * make Feature.ExportToJson() output boolean value for a boolean field
     722 * support floating point coordinates for the source windows of Band.ReadRaster() and Band.ReadAsArray()
     723 * fix build with SWIG 3.0.6 (#6045)
     724 * make gdal.OpenEx() throw a Python exception in case of failed open when exceptions are enables with gdal.UseExceptions() (#6075)
     725 * Disable opening a NumPy dataset with a filename returned by gdal_array.GetArrayFilename(() unless GDAL_ARRAY_OPEN_BY_FILENAME is set to TRUE
     726 * disable the warning about using deprecated wkb25DBit constant as it uses a trick that prevents the bindings from being used by py2exe / pyinstaller (#6364)