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


Ignore:
Timestamp:
Dec 19, 2011, 6:05:28 PM (12 years ago)
Author:
warmerdam
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Release/1.9.0-News

    v1 v1  
     1
     2= *Intermediate* GDAL/OGR 1.9.0 release notes (unreleased version) =
     3
     4Established from r21484 up to r23606
     5
     6== In a nutshell... ==
     7
     8 * New GDAL drivers: ACE2, CTG, E00GRID, ECRGTOC, GRASSASCIIGrid, GTA, NGSGEOID, SNODAS, WebP, ZMap
     9 * New OGR drivers:  ARCGEN, CouchDB, DWG, EDIGEO, FileGDB, Geomedia, GFT, IDRISI, MDB, SEGUKOOA, SEGY, SVG, XLS
     10 * Significantly improved drivers: NetCDF
     11 * Encoding support for shapefile/dbf (#882)
     12 * RFC 35: Delete, reorder and alter field definitions of OGR layers
     13 * RFC 37: Add mechanism to provide user data to CPLErrorHandler (#4295)
     14
     15== New installed files ==
     16
     17 * data/nitf_spec.xml and data/nitf_spec.xsd
     18
     19== Backward compatibility issues ==
     20
     21 * GTiff: ensure false easting/northing in geotiff geokeys are treated as being in geosys units (#3901)
     22 * OGR SQL: with DISTINCT, consider null values are such, and not as empty string (#4353)
     23
     24== GDAL/OGR 1.9.0 - General Changes ==
     25
     26Build(Unix):
     27 * Add --with-rename-internal-libtiff-symbols and --with-rename-internal-libgeotiff-symbols
     28   flags in order to safely link against an external libtiff (3.X) and a GDAL built with
     29   internal libtiff (4.0) support (#4144)
     30 * Add --with-mdb --with-java,--with-jvm-lib, --with-jvm-lib-add-rpath options
     31 * Add --with-podofo, --with-podofo-lib, --with-podofo-extra-lib-for-test options
     32 * Add --with-armadillo
     33 * Update to libtool 2.4
     34 * Fix linking against static libkml (#3909)
     35 * Fix Xerces detection by using LIBS instead of LDFLAGS (#4195)
     36 * Check for .dylib too, when configuring MrSID SDK paths (#3910)
     37 * Fix wrong include order in GNUmakefile of GPX and GeoRSS drivers (#3948)
     38 * cpl_strtod.cpp: Enable android support (#3952).
     39 * ensure swig-modules depends on lib-target so make -j works with swig bindings
     40 * Change how we check for GEOS >= 3.1  (#3990)
     41 * Define SDE64 on at least x86_64 platforms (#4051)
     42 * Make ./configure --with-rasdaman=yes work (#4349)
     43 * MinGW cross compilation: clear GEOS_CFLAGS and XERCES_CFLAGS
     44   if headers found in /usr/include, do not use Unix 64 bit IO
     45 * MinGW build: define __MSVCRT_VERSION__ to 0x0601 if not already set
     46
     47Build(Windows):
     48 * Move MSVC warning disabling to nmake.opt, add SOFTWARNFLAGS for external code
     49 * Use nmake.local (#3959)
     50 * cpl_config.h.vc: fix up so it also works with mingw (#3960)
     51 * Build testepsg utility by default when OGR is enabled (#2554)
     52
     53== GDAL 1.9.0 - Overview of Changes ==
     54
     55Port:
     56 * /vsigzip/ : Avoid reading beyond file size in case of uncompressed/stored files in zip (#3908)
     57 * /vsicurl/ : Better support for escaped and UTF-8 characters
     58 * /vsicurl/ : speed-up with a per-thread Curl connection cache
     59 * /vsicurl/ : read https directory listing
     60 * /vsicurl/ : look for GDAL_DISABLE_READDIR_ON_OPEN configuration option in
     61   Open() and Stat() to avoid trying fetching the directory file list
     62 * /vsicurl/ : fix performance problem when parsing large directory listings (#4164)
     63 * /vsicurl/ : recognize listing of Apache 1.3
     64 * /vsicurl/ : fix ReadDir() after reading a file on the same server
     65 * /vsicurl/ : fetch more info (size, date) when listing FTP or HTTP directories and save it in cache; use those info for ReadDir() and Stat()
     66 * /vsicurl/: accept 225 as a valid response code for FTP downloads (#4365)
     67 * /vsicurl/ : add CPL_VSIL_CURL_ALLOWED_EXTENSIONS configuration option that can be used to restrict files whose existence is going to be tested.
     68 * /vsitar/ : Recognize additionnal .tar files with slightly header differences
     69 * /vsizip/ : wrap the returned file handle in a BufferedReader
     70 * /vsizip/ : fix 1900 year offset for year returned by VSIStatL()
     71 * /vsizip and /vsitar: remove leading './' pattern at the beginning of filenames contained in the archive
     72 * /vsistdout_redirect/ : New virtual file system driver that has the same
     73   behaviour as /vsistdout/ (write-only FS) except it can redirect the output to
     74   any VSIVirtualFile instead of only stdout (useful for debugging purposes)
     75 * Implement VSI*L read caching - useful for crappy io environments like Amazon
     76 * VSI*L: Add Truncate() virtual method and implement it for unix, win32 and /vsimem file systems
     77 * VSI*L: Add ReadMultiRange() virtual method to read several ranges of data in single call; add an optimized implementation for /vsicurl/
     78 * VSIFEofL(): make it more POSIX compliant.
     79 * Fine tune CPLCorrespondingPaths() for different basenames when paths involved.
     80 * VSIWin32FilesystemHandler::Open() : implement append mode.  Needed by ISIS2 driver with attached label (#3944)
     81 * CPLString: add case insensitive find operator (ifind)
     82 * RFC23: Add the iconv() based implementation of the CPLRecode() function (#3950)
     83 * Preliminary support for wchar_t with iconv recode (#4135)
     84 * Avoid calling setlocale if we are already in the C locale, or GDAL_DISABLE_CPLLOCALEC is TRUE (#3979)
     85 * CPLMiniXML: emit warnings when encountering non-conformant XML that is however accepted by the parser
     86 * add CPLBase64Encode(); move cpl_base64.h contents to cpl_string.h
     87 * Use CRITICAL_SECTION instead of Mutex on win32
     88 * CPLHTTPFetch(): Add a CLOSE_PERSISTENT option to close the persistant sessions
     89 * CPLHTTPFetch(): Add support for "NEGOTIATE" http auth mechanism
     90 * CPLHTTPFetch(): Add a CUSTOMREQUEST option
     91 * VSIBufferedReaderHandle: fix Eof()
     92 * Add CPLStringList class
     93 * Add CPLEmergencyError() - to call when services are too screwed up for normal error services to work (#4175)
     94 * CPLEscapeString(,,CPLES_URL) : don't escape dot character; fix escaping of characters whose code >= 128
     95
     96Core:
     97 * Provide for ABI specific plugin subdirectories on all platforms
     98 * Force cleanup of datasets when destroying the dataset manager
     99 * Add a GDALDataset::CloseDependantDatasets() that can be used by GDALDriverManager::~GDALDriverManager() to safely close remaining opened datasets (#3954)
     100 * Add GDALRasterBand::ReportError() and GDALDataset::ReportError() to prepend dataset name (and band) before error message (#4242)
     101 * Fix performance problem when serializing huge color tables, metadata, CategoryNames and GCPs to VRT/PAM (#3961)
     102 * Be careful about Nan complex values getting histogram, avoid locale issues with statistics metadata
     103 * GDALRasterBand::IRasterIO() default implementation : don't try to use full-res band if I/O failed on the appropriate overview band (for WMS errors)
     104 * RasterIO: Return earlier when a write error occured while flushing dirty block
     105 * GDAL_DISABLE_READDIR_ON_OPEN can be set to EMPTY_DIR to avoid reading the dir, but it set an empty dir to avoid looking for auxiliary files
     106 * Use sibling file list to look for .aux.xml, .aux, .ovr, world files, tab files
     107 * Add GDALFindAssociatedFile() (#4008)
     108 * PAM: Make sure GCPs loaded from a .aux.xml override any existing ones from other sources, like an .aux file
     109 * PAM: Add cloning of CategoryNames
     110 * PAM : PamFindMatchingHistogram() - fix floating-point comparison
     111 * GMLJP2: Use http://www.opengis.net/gml as the schemaLocation
     112 * GMLJP2: Support for capturing and writing page resolution in a TIFF compatible way (#3847)
     113 * GDALJP2Box::SetType() : remove byte-swapping so that SetType()/GetType() correctly round-trips. Do appropriate changes in JP2KAK and ECW drivers. (#4239)
     114 * GDALReplicateWord(): fix off-by-one error initialization (#4090)
     115
     116Algorithms:
     117 * polygonize: Added GDALFPolygonize() as an alternative version of GDALPolygonize() using 32b float buffers instead of int32 ones. (#4005)
     118 * gdalwarp: take into account memory needed by DstDensity float mask (#4042)
     119 * rasterfill: create working file as a bigtiff if at all needed (#4088)
     120 * gdalrasterize: use double instead of float to avoid precision issues (#4292)
     121
     122Utilities:
     123 * gdalsrsinfo: new supported utility to report SRS in various form (supercedes testepsg)
     124 * gdalinfo: add '-nofl' option to only display the first file of the file list
     125 * gdalinfo: add '-sd num' option to report subdataset with the specified number.
     126 * gdalinfo: add '-proj4' option to gdalinfo, to report a PROJ.4 string for the CRS
     127 * gdal_translate: propagate INTERLEAVE metadata to intermediate VRT dataset
     128 * gdal_translate: force quiet mode when outputing to /vsistdout/
     129 * gdalwarp: Disable CENTER_LONG rewrapping for cutline (#3932)
     130 * gdalwarp: add -refine_gcps option to discard outliers GCPs before warping (#4143)
     131 * gdalwarp: add warning if user specifies several of -order, -tps, -rpc or -geoloc options
     132 * gdalwarp: speed-up when using -tps with large number of GCPs
     133 * gdalwarp: add support for optional use of libarmadillo to speed-up matrix inversion in -tps mode
     134 * gdalwarp: detect situations where the user will override the source file
     135 * gdallocationinfo: do not let one off-db pixel cause all the rest to be supressed (#4181)
     136 * gdal_rasterize: fix half pixel shift when rasterizing points; make gdal_rasterize utility increase the computed raster extent by a half-pixel for point layers (#3774)
     137 * gdal_rasterize: when source datasource has a single layer, use it implicitely if none of -l or -sql is specified
     138 * nearblack: add -color option (#4085)
     139 * nearblack: improve detection of collar
     140 * nearblack: remove useless restrictions on number of bands for -setmask and -setalpha options (#4124)
     141 * gcps2vec.py: Fix command line parsing; Add SRS definition to created vector layer; Use Point geometry when dumping pixel/line coordinates.
     142 * gdal_merge.py: add support for -separate with multiband inputs (#4059)
     143 * gdal_merge.py: add a -a_nodata option (#3981)
     144 * gdal_proximity.py: -co option existed, but was unused...
     145 * gdal_fillnodata.py: add -co option
     146 * Add gdal_ls.py and gdal_cp.py as Python samples
     147 * Add new sample utility, gdal_edit.py, to edit in place various information of an existing GDAL dataset (projection, geotransform, nodata, metadata) (#4220)
     148 * gdalcopyproj.py: make it copy GCPs too
     149 * Add warning if a target filename extension isn't consistant with the output driver
     150 * Add --pause for convenient debugging, document it and --locale
     151
     152Multi-driver topics:
     153 * Implement reading XMP metadata from GIF, JPEG, PNG, GTiff, PDF and the 5 JPEG2000 drivers. The XMP metadata is stored as raw XML content in the xml:XMP metadata domain (#4153)
     154 * Mark BT, DIPEx, ERS, FAST, GenBIN, GSC, GSBG, GSAG, GS7BG, JDEM, JP2ECW, PNM, RMF, TIL, WCS and WMS drivers as compatible with VSI virtual files
     155 * Port DOQ1, DOQ2, ELAS, Idrisi, L1B, NDF, NWT_GRD, NWT_GRC, USGSDEM to VSI virtual file API
     156 * PAM-enable BT and BLX drivers
     157 * Implement Identify() for AAIGrid, ACE2, DTED, NWT_GRD, NWT_GRC, WMS, WCS, JDEM and BSB drivers
     158 * Make GIF, JPEG and PNG drivers return a non NULL dataset when outputing to /vsistdout/
     159 * HFA and GTiff: add explicit error message when trying to add external overviews when there are already internal overviews (#4044)
     160 * Initialize overview manager to support external overviews for AAIGRID, DIPX, ELAS, GXF, FIT, FITS, GMT, GRIB, GSAG, GSBG, GS7BG, ILWIS, L1B, LCP, Leveller, NWT_GRD, NWT_GRC, RIK, SDTS and SAGA
     161
     162AAIGrid:
     163 * Make opening from /vsicurl/ work even when the server returns an empty file list
     164
     165ACE2 driver:
     166 * New for GDAL/OGR 1.9.0
     167 * Read ACE2 DEM
     168
     169AIG driver:
     170 * Support uncompressed integer files, new in ArcGIS 10 it seems (#4035)
     171 * Use color table from PAM if no native one (#4021)
     172 * Fallback to PAM mechanism for RAT (#4021)
     173
     174BSB driver:
     175 * Parse the GD keyword in BSB_KNP to recognize European 1950 datum (#4247)
     176 
     177CEOS2 driver:
     178 * avoid potential crash reading past end of string. (#4065)
     179
     180CTG driver:
     181 * New for GDAL/OGR 1.9.0
     182 * Read USGS LULC Composite Theme Grid files
     183
     184DIMAP driver:
     185 * Check underlying raster for SRS. There are cases where HORIZONTAL_CS_CODE is empty and the underlying raster is georeferenced
     186
     187E00GRID driver:
     188 * New for GDAL/OGR 1.9.0
     189 * Read Arc/Info Export E00 GRID
     190
     191ECRGTOC driver:
     192 * New for GDAL/OGR 1.9.0
     193 * Read TOC.xml file of ECRG products
     194
     195ECW driver:
     196 * Use a long refresh time for ecwp:// connections to ensure we get full resolution data, make configurable
     197 * Re-enable writing non8bit data in jpeg2000
     198 * Add implementation of an Async reader (4.x SDK)
     199 * Improve to support all /vsi stuff (#2344)
     200 * Ensure ECW_ENCODE_ values are applied for direct Create as well as CreateCopy
     201 * force adfGeoTransform[5] sign to negative. (#393)
     202 * Mark GDAL_DCAP_VIRTUALIO=YES when the driver is configured in read-only mode
     203 * Ensure we fallback to native geotransform if no pam override
     204 * Try to read projection info embedded in ECW file before reading the worldfile (#4046)
     205 * Add support for updating geotransform and projection info of a ECW file (#4220)
     206 * Fix ECW_CACHE_MAXMEM that was without effect and ECW_AUTOGEN_J2I that set an unrelated ECW parameter (#4308)
     207 * Allow to open a ECW file with invalid EPSG code from SWIG bindings (#4187)
     208
     209EHdr driver:
     210 * Improve floating point detection (#3933)
     211 * Recognize MIN_VALUE and MAX_VALUE as found in ETOPO1 header
     212 * Try opening the .sch file for GTOPO30 or SRTM30 source file
     213 * Ignore bogus .stx file where min == nodata
     214
     215EIR driver:
     216 * Add support for DATA_TYPE keyword
     217
     218ENVI driver:
     219 * Add support for ESRI style coordinate system string (#3312)
     220 * Try to guess interleave mode from file extension, if interleave keyword is missing
     221 * Refuse to open unsupported types, but attempt to open everything else.
     222
     223ENVISAT driver:
     224 * Correct dfGCPLine values for stripline products (#3160, #3709)
     225 * Fix checking of tie points per column for MERIS GCPs (#4086)
     226 * Report metadata from the ASAR ADS and GADS in the RECORDS metadata domain (#4105)
     227 * Read MERIS metadata (#4105)
     228 * Read data from ERS products in ENVISAT format (#4105)
     229 * Improved MERIS Level 2 bands datection (#4141 and #4142)
     230
     231EPSILON driver:
     232 * Now require libepsilon 0.9.1 to build (now dual LGPL/GPL) (#4084)
     233
     234ERS driver:
     235 * Use case insensitive find so case does not matter (#3974)
     236 * Handle case of 1 m pixel resolution when CellInfo is missing (#4067)
     237 * Implement ERSRasterBand::SetNoDataValue() (#4207)
     238 * Add support for DATUM, PROJ and UNITS creation option; report the values read from the .ers file in the ERS metadata domain (#4229)
     239
     240GeoRaster driver:
     241 * Set nodata causes invalid XML metadata (#3893)
     242 * Fix SetStatistics() failure (#4072)
     243 * Fix defaut interleaving (#4071)
     244 * modelCoordinateLocation=CENTER default (#3266)
     245 * Cache block/level error in update (#4089)
     246 * Fix sequence.nextval not supported (Oracle 10g) (#4132)
     247 * change BLOCKING option to OPTIMALPADDING
     248 * fix 'cannot specify columns on insert create option' (#4206)
     249 * Fix ULTCoordinate Rows/Columns swapping (#3718)
     250
     251GIF driver:
     252 * Make CreateCopy() more friendly with outputing in /vsistdout/
     253
     254GRIB driver:
     255 * Fix grid vs cell-center convention wrong
     256 * use /vsi for all jpeg2000 files now
     257 * Fix to allow GFS data to show up properly (#2550)
     258 * Added a ConfigOption in GRIB driver to not normalize units to metric when reading the data
     259 * Fixed grib1 & grib2 : pixel size precision introduces error for corner coordinates (#4287)
     260
     261GTA driver:
     262 * New for GDAL/OGR 1.9.0
     263 * Read/write support for Generic Tagged Arrays
     264
     265GTiff driver:
     266 * Ensure false easting/northing in geotiff geokeys are treated as being in geosys units.  Add GTIFF_LINEAR_UNITS=BROKEN config option to try and read old broken files, and logic to cover for older libgeotiffs when reading (#3901)
     267 * Add support for a special tag to keep track of properly written linear units (#3901)
     268 * Implement deferred directory chain scanning to accelerate simple opens
     269 * Make GTiff COPY_SRC_OVERVIEWS to deal with unusual source overview sizes (#3905)
     270 * Fix bug when using -co COPY_SRC_OVERVIEWS=YES on a multiband source with external overviews (#3938)
     271 * Add logic to fill out partial tiles on write in for jpeg images (#4096)
     272 * Refresh with libtiff 4.0.0beta7
     273 * Refresh with libgeotiff 1.4.0, to support for GeogTOWGS84GeoKey
     274 * Add support for Geocentric SRS
     275 * libtiff: Enable DEFER_STRILE_LOAD
     276 * Turn warning 'ASCII value for tag xx into more silent CPLDebug message
     277 * Overviews: Improve error reporting for >16bit images to JPEG compression
     278 * Use CPLAtof() for geotiff and epsg .csv file handling (#3886, #3979)
     279 * Lots of Imagine and ESRI PE string citation handling changes from 1.8-esri. Some citation related changes only compiled in if ESRI_SPECIFIC defined.
     280 * Give PAM information precidence over metadata from GeoTIFF itself.   Avoid unnecessary (default) writes of scale/offset.  Treat (0,1,0,0,0,-1) as a default geotransform as well as (0,1,0,0,0,1).
     281 * Migrate in some ESRI only logic for 1bit color tables, AdjustLinearUnits and default for 1bit data
     282 * Add a GTIFF_IGNORE_READ_ERRORS configuration option (#3994)
     283 * Lazy loading of RPC/RPB/IMD files (#3996)
     284 * Add mutex protection in GTiffOneTimeInit() to avoid occasionnal segfaults
     285 * Stop interpreting 4th band as alpha when not defined
     286 * Also list nSubType == FILETYPE_PAGE as subdatasets
     287 * CreateCopy(): copies category names from the source bands
     288 * Add capability of writing TIFFTAG_MINSAMPLEVALUE and TIFFTAG_MAXSAMPLEVALUE
     289 * Don't prevent from loading GTiff driver even if libtiff version mismatch detected (#4101)
     290 * Use GTIFF_ESRI_CITATION flag to disable writing special meaning ESRI citations
     291 * Optimize GTiffRGBABand implementation (#3476)
     292 * Add GTIFF_DIRECT_IO config. option that can be set to YES so that IRasterIO() reads directly bytes from the file using ReadMultiRange().
     293 * Use VSI_TIFFOpen() in GTIFFBuildOverviews() to make it work on virtual file systems
     294 * Treat _UNASSALPHA as alpha
     295
     296GRASSASCIIGrid driver:
     297 * New for GDAL/OGR 1.9.0
     298 * Read GRASS ASCII grids (similar to ArcInfo ASCII grids)
     299
     300GRIB driver:
     301 * Check for memory allocation failures
     302
     303HDF4 driver:
     304 * Use larger object name buffer
     305 * Handle SWopen failures
     306
     307HDF5 driver:
     308 * Fix HDF5/BAG handle/memory leaks (#3953)
     309 * Better error checking
     310 * Do not return NULL from getprojectionref() (#4076)
     311 * Identify datasets whose header starts with some XML content (#4196)
     312 * Fixed HDF5 variable length string attributes reading (#4228)
     313
     314HFA driver:
     315 * Add support for writing RATs (#999)
     316 * Add support for reading 2bit compressed .img files (#3956)
     317 * Update EPRJ_ list based on input from Erdas, round trip Krovak and Mercator Variant A (#3958)
     318 * Major push to move projections from 1.6-esri into trunk in HFA driver (#3958)
     319 * Reinitialize RRDNamesList and ExternalRasterDMS (#3897)
     320 * Ensure the whole entry is reinitialized when writing proparams and datum (#3969)
     321 * Ensure PEString cleared if we aren't writing it (#3969)
     322 * Get nodata from an overview if not present on main band.  Set geotransform[1] and [5] to 1.0 if pixelSize.width/height are 0.0.  Improve error checking if MakeData() fails.
     323 * atof() changed to CPLAtofM() to avoid locale issues.
     324 * Altered Edsc_BinFunction column "Value" to "BinValues" and changed type.
     325 * Equirectangular StdParallel1 changed to LatitudeOfOrigin.
     326 * Logic to preserve psMapInfo->proName as the PROJCS name for UTM/StatePlane.
     327 * Special state plane zone handling.
     328 * Special wisconsin handling for some LCC and TM SRSes.
     329 * 1-bit null blocks to default to 1 in ESRI_BUILDs
     330 * Add support for GDA94 (#4025)
     331
     332Idrisi driver:
     333 * Fix segfaults when fields are missing in .ref or .rdc files (#4100)
     334 * Fix problem with inverse flattening when reading a SRS of a sphere (#3757)
     335
     336INGR driver:
     337 * Set NBITS for 1 bit bands
     338 
     339ISIS2/ISIS3 driver:
     340 * Various improvements to PDS related drivers (#3944)
     341
     342JaxaPalsar driver:
     343 * Fixed datatype of ALOS PALSAR products Level 1.5 (#4136)
     344 * Fixed detection of unsupported PALSAR Level 1.0 products (#2234)
     345
     346JPIPKAK driver:
     347 * Add try to in GetNextUpdatedRegion() to protect against kakadu exceptions (#3967)
     348 * Fixed a serious bug in the computation of fsiz and region. (#3967)
     349
     350KMLSUPEROVERLAY driver :
     351 * Remove spaces between coordinates in coordinate triplets as mandated by KML 2.2 spec, to restore compatibility with Google Earth 6.1.0.5001 (#4347)
     352
     353LAN driver:
     354 * Preliminary support for writing gis/lan files
     355
     356MEM driver:
     357 * Add support for remembered histograms and PIXELTYPE
     358
     359MG4Lidar driver:
     360 * Clamp nOverviewCount, some LiDAR files end up with -1 overviews
     361
     362MrSID driver:
     363 * Initialize overview manager to enable RFC 15 mask band support (#3968)
     364 * Mark GDAL_DCAP_VIRTUALIO=YES when the driver is configured in read-only mode
     365 * Handle LTI_COLORSPACE_RGBA
     366
     367NetCDF driver:
     368 * Set cylindrical equal area representation to the proper cf-1.x notation (#3425)
     369 * Fix precision issue in geotransform (#4200) and metadata
     370 * Add support for netcdf filetypes nc2(64-bit) and nc4 to netCDFDataset (#3890, #2379)
     371 * Add function Identify and IdentifyFileType() (#3890, #2379)
     372 * Temporarily disabling PAM for netcdf driver (#4244)
     373 * Make creation of geographic grid CF compliant (#2129)
     374 * Fixes for netcdf metadata export: duplication, Band metadata, int/float/double vs. char* and add_offset/scale_factor (#4211, #4204), double precision ( 4200)
     375 * Fix netcdf metadata import (float and double precision) (#4211)
     376 * Improve import of CF projection
     377 * Add netcdf history metadata (#4297)
     378 * CF-1.5 compatible export of projected grids (optional lon/lat export)
     379 * Fix LCC-1SP import and export (#3324)
     380 * New driver options
     381 * Add simple progress indicator
     382 * Add support for netcdf-4, HDF4 and HDF5 (#4294 and #3166)
     383 * Add support for deflate compression
     384 * Add format support information and CreateOptionList to driver metadata
     385 * Add support for valid_range/valid_min/valid_max
     386 * Proper handling of singed/unsigned byte data
     387 * Add support for Create() function and significantly refactor code for export (#4221)
     388 * Improvements to CF projection support (see wiki:NetCDF_ProjectionTestingStatus)
     389
     390NGSGEOID driver:
     391 * New for GDAL/OGR 1.9.0
     392 * Read NOAA NGS Geoid Height Grids
     393 
     394NITF driver:
     395 * Add a generic way of decoding TREs from a XML description file located in data/nitf_spec.xml
     396 * Add a new metadata domain xml:TRE to report as XML content the decoded TREs
     397 * Add NITF_OPEN_UNDERLYING_DS configuration option that can be set to FALSE to avoid opening the underlying image with the J2K/JPEG drivers
     398 * Support JP2KAK driver for jpeg2000 output, use /vsisubfile/ in all cases
     399 * NITFCreate(): deal with cases where image_height = block_height > 8192 or image_width = block_width > 8192 (#3922)
     400 * Add IREPBAND and ISUBCAT creation option (#4343)
     401 * Make sure scanline access is used only on single block image (#3926)
     402 * Add a NITF_DISABLE_RPF_LOCATION_TABLE_SANITY_TESTS configuration option that can be set to TRUE to blindly trust the RPF location table (#3930)
     403 * Correctly assign hemisphere for a ICORDS='U' NITF file with accompagnying .nfw and .hdr files (#3931)
     404 * Make PAM available at band level for JPEG/JPEG2000 compressed datasets (#3985)
     405 * Read IMRFCA TRE for RPC info. Read CSEXRA TRE.
     406 * Read CSDIDA and PIAIMC TREs as metadata
     407 * Optional support for densifying GCPs and applying RPCs to them
     408 * Add GetFileList() that captures associated files with some NITF products.
     409 * Added ESRI only ExtractEsriMD() function.  Add raw header capture in NITF_METADATA domain in base64 encoded form.
     410 * Fetch NITF_DESDATA in segment data; decode specialized fields of XML_DATA_CONTENT and CSATTA DES
     411 * Truncate TRE name to 6 character (#4324)
     412 * Take into account the presence of comments when patching COMRAT for JPEG/JPEG2000 NITF (#4371)
     413
     414NWT_GRD driver:
     415  * Fix interpolation of color when the maximum z value is below a threshold of the color scheme (#4395)
     416
     417OPENJPEG driver:
     418 * Optimize decoding of big images made of a single block
     419 * Fallback to PAM to get projection and geotransform
     420
     421PCIDSK driver:
     422 * Refresh PCIDSK SDK from upstream
     423 * Fix support for band description setting, add BANDDESCn creation option
     424 * Implement GetCategoryNames(), and color table from metadata for PCIDSK
     425 * Fix exception on files with bitmaps as bands in GetFileList()
     426 * Avoid closing and reopening file so we don't fracture the SysBMData with a metadata write
     427 * In read-only, if .pix is raster (resp. vector) only, then make sure that OGR (resp. GDAL) cannot open it
     428
     429PDF driver:
     430 * Support linking against podofo library (LGPL) instead of poppler --> however
     431   pdftoppm binary from poppler distribution is needed for rasterization
     432
     433PDS driver:
     434 * Add support for MISSING and MISSING_CONSTANT keywords for nodata values (#3939)
     435 * Add support for uncompressed images in the UNCOMPRESSED_FILE subdomain (#3943)
     436 * Add support for PDS_Sample/LineProjectOffset_Shift/Mult (#3940)
     437 * Preliminary qube write support (#3944)
     438 * Fix band offset computation in BSQ (#4368)
     439
     440PNG driver:
     441 * Add compatibility with libpng >= 1.5.0 (#3914)
     442 * Upgrade internal libpng to 1.2.46
     443
     444PNM driver:
     445 * Make it compatible with VSI virtual files
     446
     447PostgisRaster driver:
     448 * Speed of PostGIS Raster driver improved. (#3228, #3233)
     449 
     450Rasterlite driver:
     451 * Robustness against buggy databases
     452 * Enable QUALITY creation option for WEBP tiles
     453
     454RS2 driver:
     455 * Setup to properly support subdataset oriented metadata and overviews (#4006)
     456 * Allow opening subdatasets by passing in the folder (#4387)
     457
     458SAGA driver:
     459 * Fix reading & writing .sdat files bigger than 2GB (#4104)
     460 * Use nodata value from source dataset in CreateCopy() (#4152)
     461
     462SDE driver:
     463 * Break assumption that LONG==long (#4051)
     464
     465SNODAS driver:
     466 * New for GDAL/OGR 1.9.0
     467 * Read Snow Data Assimilation System datasets
     468
     469SRP driver:
     470 * Set Azimuthal Equidistant projection/geotransform info for ASRP north/south polar zones (#3946)
     471 * ASRP/USRP: fix skipping of padding characters on some datasets (#4254)
     472
     473SRTMHGT driver:
     474 * Fix segfault in CreateCopy() if we cannot create the output file
     475
     476Terralib driver:
     477 * Removed driver: was unfinished and is unmaintained (#3288)
     478
     479TIL driver:
     480 * Implement GetFileList() (#4008)
     481
     482TSX driver:
     483 * Add support for selecting a directory
     484 * Make Terrasar-X driver also open TanDEM-X data (#4390)
     485 * Fix memleaks
     486
     487USGSDEM driver:
     488 * Ensure blocks read in C locale (#3886)
     489
     490VRT driver:
     491 * Implement VRTDataset::IRasterIO() that can delegate to source Dataset::RasterIO() in particular cases
     492 * Implement GetMinimum() and GetMaximum()
     493 * GetFileList(): for /vsicurl/ ressources, don't actually test their existence as it can be excruciating slow
     494 * VRTComplexSource: correctly deal with complex data type (#3977)
     495 * Fix 2 segfaults related to using '<VRTDataset', but with invalid XML, as the target filename of VRTDataset::Create()
     496 * Fix 'VRTDerivedRasterBand with ComplexSource and nodata value yields potentially uninitialized buffer' (#4045)
     497 * VRTDerivedRasterBand: Recognize PixelFunctionType and SourceTransferType options in AddBand() for  (#3925)
     498 * Copy GEOLOCATION metadata in CreateCopy().
     499 * VRTDerivedRasterBand: register pixel functions in a map for faster access (#3924)
     500 * VRT warped dataset: limit block size to dataset dimensions (#4137)
     501
     502WCS driver:
     503 * Add time support (#3449)
     504 * Honour dimensionLimit restrictions on WCS request size.
     505 * Fetch projection from returned image file chunks if they have them (ie. GeoTIFF).
     506 * Honour Resample option for WCS 1.0.
     507 * Include service url in GetFileList if ESRI_BUILD defined
     508 * Check validity of 'OverviewCount' parameter
     509 * Add support for getting the coverage offering details from the xml:CoverageOffering domain
     510 * Try to preserve the servers name for a CRS (WCS 1.0.0) (#3449).
     511
     512WebP driver:
     513 * New for GDAL/OGR 1.9.0
     514 * Read/write GDAL driver for WebP image format
     515
     516WMS driver:
     517 * Implementation of the OnEarth Tiled WMS minidriver (#3493)
     518 * Implementation of a VirtualEarth minidriver
     519 * Improve handling of .aux.xml files, ensure colorinterp support works for tiled wms server
     520 * Report subdatasets when being provided WMS:http://server.url (classic WMS), WMS:http://server.url?request=GetTileService or a url to a TMS server; recognize datasets specified as a pseudo GetMap request
     521 * Add capability to open the URL of a REST definition for a ArcGIS MapServer, like http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer?f=json
     522 * Parse WMS-C TileSet info in VendorSpecificCapabilities of GetCapabilities
     523 * Implement CreateCopy() when source is a WMS dataset to serialize to disk the definition of a WMS dataset
     524 * WMS dataset : report INTERLEAVE=PIXEL
     525 * Make autodetection of TMS work with http://maps.qualitystreetmap.org/tilecache
     526 * Add capability to set Referer http header
     527 * Add a TMS-specific hack for some servers that require tile numbers to have exactly 3 characters (#3997)
     528 * Fix to make file:// URL to work
     529 * Add hack for OSGEO:41001
     530 * Fix GDALWMSRasterBand::IReadBlock() to avoid the ReadBlocks() optimization to become an anti-optimization in some use cases
     531 * Add service=WMS parameter if not already provided in <ServerUrl> (#4080)
     532 * Add options, ZeroBlockHttpCodes and ZeroBlockOnServerException, to control which http error codes should be considered as meaning blank tile (#4169)
     533
     534ZMap driver:
     535 * New for GDAL/OGR 1.9.0
     536 * Read/write GDAL driver for ZMap Plus Grid format
     537
     538== OGR 1.9.0 - Overview of Changes ==
     539
     540Core:
     541 * RFC35: Add OGRLayer::DeleteField(), ReorderField(), ReorderFields() and AlterFieldDefn()
     542 * Avoid OGRLineString::addPoint( OGRPoint * poPoint ) to always force the geometry to be 3D (#3907)
     543 * Add a OGREnvelope3D object and getEnvelope( OGREnvelope3D * psEnvelope ) / OGR_G_GetEnvelope3D() method
     544 * Add OGR_G_SimplifyPreserveTopology() / OGRGeometry::SimplifyPreserveTopology()
     545 * OGR SQL: recognize optional ESCAPE escape_char clause
     546 * OGR SQL: allow NULL to be used as a value, so that 'SELECT *, NULL FROM foo works'
     547 * OGR SQL: Accept doublequoting of column_name in 'SELECT DISTINCT "column_name" FROM table_name' (#3966)
     548 * OGR SQL: OGRGenSQLResultsLayer: if the dialect is explicitely set to OGRSQL, don't propagate the WHERE clause of the SELECT to the source layer, but evaluate it instead at the OGRGenSQLResultsLayer level (#4022)
     549 * OGR SQL: Avoid error emission on requests such as 'SELECT MIN(EAS_ID), COUNT(*) FROM POLY'
     550 * OGR SQL: Avoid setting width/precision for AVG column
     551 * OGR SQL: Add a mechanism to delete a layer (DROP TABLE x)
     552 * OGR SQL: fix segfault when evaluating a 'IS NULL' on a float column (#4091)
     553 * OGR SQL: add support for new special commands : 'ALTER TABLE layername ADD COLUMN columnname columntype', 'ALTER TABLE layername RENAME COLUMN oldname TO new name', 'ALTER TABLE layername ALTER COLUMN columnname TYPE columntype', 'ALTER TABLE layername DROP COLUMN columnname'
     554 * OGR SQL: Add implicit conversion from string to numeric (#4259)
     555 * OGR SQL: Correctly parse big SQL statements (#4262)
     556 * OGR SQL: fix joining a float column with a string column (#4321)
     557 * OGR SQL: with DISTINCT, consider null values are such, and not as empty string (#4353)
     558 * OGR SQL: fix offset convertion for SUBSTR() (#4348)
     559 * Add OGR_G_GetPoints()
     560 * Fix parsing of WKT geometries mixing 2D and 3D parts
     561 * OGR_Dr_CopyDataSource() and OGRSFDriver::CopyDataSource() : make sure that the driver is attached to the created datasource (#4350)
     562 * OGRFeature::SetFrom() supports more conversions between field types.
     563
     564OGRSpatialReference:
     565 * Update to EPSG 7.9 database
     566 * Add Geocentric SRS Support
     567 * Add support for Interrupted Goode Homolosine projection (#4060)
     568 * Add SRS vertical unit support
     569 * Add SetVertCS(), OSRSetVertCS(), SetCompound(), IsCompound() and target oriented set/get linear units functions
     570 * ESRI : Improve spheroid remapping (#3904)
     571 * ESRI: Compare whole names in RemapNameBasedOnKeyName() (#3965).
     572 * ESRI: addition of ImportFromESRIStatePlaneWKT and ImportfromESRIWisconsinWKT methods
     573 * ESRI: importFromESRI() : support POLYCONIC projection from old style files (#3983)
     574 * ESRI: importFromESRI() : support LAMBERT_AZIMUTHAL projection from old style files (#4302)
     575 * ESRI: fix EPSG:32161 mapping
     576 * ESRI: fix Stereo/Oblique_Stereo/Double_Stereo (bugs #1428 and #4267)
     577 * ESRI: fix projection parameter mapping for Orthographic projection (#4249)
     578 * ESRI: add optional fixing of TOWGS84, DATUM and GEOGCS (#4345 and #4378)
     579 * ESRI: fix add Krassowsky/Krasovsky 1940 spheroid mapping
     580 * Add EPSG:102113 in the data/esri_extra.wkt file
     581 * Add Germany zone 1-5 in range 31491-31495 in the data/esri_extra.wkt file
     582 * fix NAD_1983_Oregon_Statewide_Lambert_Feet_Intl code
     583 * added/updated coordinates systems provided by IGNF (#3868)
     584 * ERM: add support for EPSG:n based coordinate sysetms (#3955)
     585 * ImportFromEPSG(): Add default support for various degree units without supporting .csv file.
     586 * ImportFromEPSG(): Add support for spherical LAEA (#3828)
     587 * ImportFromEPSG(): use CoLatConeAxis parameter to build Krovak azimuth parameter (#4223)
     588 * importFromURN(): support compound SRS
     589 * importFromURN(): accept 'urn:opengis:crs:' syntax found in some TOP10NL GML files
     590 * Add CRS: support and for importing two part ESRI PE SRS with VERTCS
     591 * SetFromUserInput() : recognize 'IGNF:xxx'
     592 * Ensure that the result of importFromEPSGA() always has keyword ordering fixed up (#4178)
     593 * exportToERM() : deal with GDA94 datum and its UTM projections (#4208)
     594 * Fix ESRI_DATUM_NAME for D_MOLDREF99 and D_Philippine_Reference_System_1992 (#4378)
     595
     596Utilities:
     597 * ogr2ogr: Make 'ogr2ogr someDirThatDoesNotExist.shp dataSourceWithMultipleLayer' create a directory
     598 * ogr2ogr: make -overwrite/-append work with non-spatial tables created by GDAL 1.8.0;
     599 * ogr2ogr: take into account fields specified in the -where clause in combinations with -select to create the correct list of fields to pass to SetIgnoredFields() (#4015)
     600 * ogr2ogr: fix -zfield option so that the modified geometry properly reports coordinate dimension = 3. Also avoids it to be in the list of ignored field names
     601 * ogr2ogr: add -simplify option to simplify geometries
     602 * ogr2ogr: add a warning if the target filename has an extension or a prefix that isn't consistant with the default output format (i.e. Shapefile), but which matches another driver. Can be made quiet with -q option
     603 * ogrinfo/ogr2ogr: exit when SetAttributeFilter() fails, instead of silently going on (#4261)
     604
     605Multi driver topics:
     606 * RFC35 : implementation in Shapefile, Memory and PG drivers (#2671)
     607 * DXF, EDIGEO, KML, LIBKML, Shapefile, SDE, SOSI: Mark as supporting UTF-8
     608 * BNA, CSV, GPX, KML, GeoRSS, GML, LIBKML, GeoJSON, PGDump : accept both /dev/stdout and /vsistdout/ as filenames; remove 'stdout' as a valid alias that could be used in some of them (#4225, #4226)
     609
     610ARCGEN driver:
     611 * New for GDAL/OGR 1.9.0
     612 * Read-only OGR driver for Arc/Info Generate files
     613
     614CouchDB driver:
     615 * New for GDAL/OGR 1.9.0
     616 * Read/write OGR driver for CouchDB / GeoCouch
     617
     618CSV driver:
     619 * Add special recognition and handling for USGS GNIS (Geographic Names Information System) files
     620 * Directly recognize the structure of the allCountries file from GeoNames.org
     621 * Implement GetFeatureCount() to be a little bit faster
     622 * Accept /dev/stdout as a filename for CreateDataSource()
     623 * Fix handling of non-numeric values in numeric columns (NULL instead of 0)
     624 * Fix handling of column names with numbers
     625 * Recognize numeric fieldnames inside quotes
     626 * Accept real numbers with ',' as decimal separator when ';' is the field separator (CSV export in French locale)
     627
     628DXF driver:
     629 * Add support for DXF_ENCODING config var and DWGCODEPAGE header field (#4008)
     630 * Added DXF_MERGE_BLOCK_GEOMETRIES
     631 * Treat ATTDEFs the same as TEXT entities
     632 * Implement hatch polyline and elliptical arc support, hatch fill, do not polygonize closed smoothed lines
     633 * Add handling of hidden/frozen/off layers.
     634
     635DWG driver:
     636 * New for GDAL/OGR 1.9.0
     637 * Read DWG files through the use of Open Design Alliance Teigha Libraries
     638
     639EDIGEO driver:
     640 * New for GDAL/OGR 1.9.0
     641 * Read files of French EDIGEO exchange format
     642
     643FileGDB driver:
     644 * New for GDAL/OGR 1.9.0
     645 * Read/write support based on FileGDB API SDK
     646
     647GeoJSON driver:
     648 * Support writing 3D lines and polygons
     649 * Add a bbox attribute with the geometry bounding box if WRITE_BBOX layer creation option is set (#2392)
     650 * Write bbox of FeatureCollection before features when file is seekable
     651 * Remove unsetting of FID that caused FID not at the last position of properties to be lost
     652 * Properly deal with null field values in reading and writing
     653 * Handle OFTIntegerList, OFTRealList and OFTStringList fields
     654 * Recognize other arrays as OFTString field
     655 * Fix assertion on unhandled ESRI json (#4056)
     656 * Fix segfault on feature where 'properties' member exists but isn't an object (#4057)
     657 * Better detection of OGR type for numeric JSON fields (#4082)
     658 * Add COORDINATE_PRECISION layer creation option to specify the maximum number of figures after decimal point in coordinates; set to 15 by default with smart truncation of trailing zeros (like done for WKT)
     659 * Add OGR_G_ExportToJsonEx() to accept a list of options
     660 * Add ability to detect geojson files without an extension (#4314)
     661
     662Geomedia driver:
     663 * New for GDAL/OGR 1.9.0
     664 * Read-only driver to read Geomedia .MDB databases
     665
     666GeoRSS driver:
     667 * Parse RSS documents without <channel> element
     668 
     669GFT driver:
     670 * New for GDAL/OGR 1.9.0
     671 * Read/write driver for Google Fusion Tables
     672
     673GML driver:
     674 * Major performance improvement when reading large multi-layer GML files. See usage of new GML_READ_MODE configuration option
     675 * Support gml:xlink resolving for huge GML files through GML_SKIP_RESOLVE_ELEMS=HUGE (requires SQLite)
     676 * Add GML_GFS_TEMPLATE config option to specify a template .gfs file that can be used for several GML files with similar structure (#4380)
     677 * Be able to build the driver with support of both Expat and Xerces libraries and add ability of select one at runtime. For UTF-8 documents, we select Expat if it is available, because it is faster than Xerces
     678 * Expose fid or gml_id as feature fields if autodetected. This behaviour can be altered by the GML_EXPOSE_FID / GML_EXPOSE_GML_ID configuration option.
     679 * Improve handling of .gml and .xsd produced by FME (in particular for CanVec GML)
     680 * Be able to open .gz file directly (like OS Mastermap ones), and read/write the .gfs file next to the .gz file
     681 * Fix segfault when encountering an invalid (or unhandled by OGR) geometry and when the axis order is lat/long (#3935)
     682 * GML3: support Curve as a valid child for curveProperty inside directEdge parsing (#3934)
     683 * GML3: don't force the linestring to be 3D when inverting its orientation during parsing of directedEdge (#3936)
     684 * GML3: accept <pointProperty> element in <gml:LineString> or <gml:LineStringSegment>
     685 * OGR_G_CreateFromGML(): accept <gml:coordinates> with coordinate tuples separated by comma and coordinate components separated by space
     686 * Recognized schemas with <complexType> inside <element>, such as the one returned by http://deegree3-demo.deegree.org:80/deegree-utah-demo/services
     687 * Write the Z component of bounding box for 25D geometries
     688 * Force layer geometry type to 3D when there's only a .xsd file and we detect a hint that the bounding box is 3D
     689 * Handle layers of type wkbNone appropriately (#4154)
     690 * Change format of (GML 2.1.1) FID generated from Fxxx to layer_name.xxx (where xxx is the OGR FID) to ensure uniqueness (#4250)
     691 * Accept 'GML3Deegree' as a valid value for the dataset creation option FORMAT, to produce a .XSD that should be better handled by Deegree3 (#4252), and 'GML3.2' to produce GML file and schema that validate against GML 3.2.1 schema.
     692 * Don't try to parse successfully a feature type in the .xsd if there are elements we don't know how to parse. Better to rely on the .gfs mechanism (#4328)
     693 * Fix bug in OGRAtof() that caused wrong parsing of coordinates in GML files written in scientific notation (#4399)
     694
     695GMT driver:
     696 * Fix GetExtent() result that swallowed the first char of the minx bound (#4260)
     697
     698IDRISI driver:
     699 * New for GDAL/OGR 1.9.0
     700 * Read Idrisi .VCT vector files
     701
     702ILI1 driver:
     703 * Fix for missing geometry in ILI1
     704
     705LIBKML driver:
     706 * Set the OGRStylePen unit type to pixel when reading <LineStyle>
     707 * Avoid ingesting zip files that are not valid kmz (#4003)
     708 * Do not use displayname to set the field name
     709 * Recognize <Data> elements of <ExtendedData> in case <ExtendedData> doesn't use a <SchemaData>
     710 * Fix mapping of the type attribute of <SimpleType> elements inside <Schema> to OGR field type (#4171)
     711 * Parse correctly kml docs containing only one placemark
     712 * Properly set the feature style string from a placemarks style
     713 * Improve OGRStyleLabel <-> KmlLabelStyle mapping
     714 * Combine styles from the style table and features styles when LIBKML_RESOLVE_STYLE=YES (#4231)
     715 * Check that string values put in fields are valid UTF-8 (#4300)
     716
     717MDB driver:
     718 * New for GDAL/OGR 1.9.0
     719 * Read-only driver to read PGeo and Geomedia .MDB databases
     720 * Relies on using the Java Jackcess library (LGPL) through JNI.
     721
     722MITAB driver:
     723 * Add support for reading google mercator from mapinfo (#4115)
     724 * Fixed problem of the null datetime values (#4150)
     725 * Fix problem with tab delimiter used in MIF files (#4257)
     726
     727MSSQLSpatial driver:
     728 * Removing 'Initial Catalog' which is not supported in the ODBC SQL driver connection strings.
     729 * Allow to specify 'Driver' in MSSQL connection strings (#4393)
     730 * Fix for the IDENTITY INSERT problem with MSSQL Spatial (#3992)
     731 * Add more verbose warnings to the geometry validator
     732 * Fix for the schema handling problem with MSSQL Spatial (#3951)
     733 * Fix for the corrupt geometry report when using the ogr2ogr -sql option (#4149)
     734
     735MySQL driver:
     736 * Recognize columns with types POINT, LINESTRING, etc. as geometry columns
     737
     738NAS driver:
     739 * Add support for treating wfs:Delete as a special Delete feature with typeName and FeatureId properties
     740 * Handle empty files gracefully (#3809)
     741 * Preliminary support for SRS in NAS files, including 3GKn SRS
     742 * Implement special treatement for <lage> to be zero passed and string (NAS #9)
     743 * Add special handling of punktkennung (NAS #12)
     744 * Add special handling for artDerFlurstuecksgrenze (#4255)
     745 * Add support for wfsext:Replace operations (PostNAS #11)
     746 * Correct NASHandler::dataHandler() to avoid trimming non-leading white space
     747
     748NTF driver:
     749 * Create and manage height field as floating point since some DTM products have floating point elevations.
     750
     751OCI driver:
     752 * Added TRUNCATE layer creation option (#4000)
     753 * Clear errors after speculative dimension calls (#4001)
     754 * Fix multithreading related problems (#4039)
     755 * Ensure that AllocAndBindForWrite does not mess up if there are no general attributes (#4063)
     756 * Implement DeleteLayer(int) method
     757 * Ensure extents updated by SyncToDisk(), and that new features are merged into existing extents (#4079)
     758
     759OGDI driver:
     760 * Fix GetFeature() that did not like switching between layers
     761   
     762PG driver:
     763 * Write geometries as EWKB by default to avoid precision loss (#4138)
     764 * Return the table columns in the order they are in the database (#4194)
     765 * Add a NONE_AS_UNKNOWN layer creation option that can be set to TRUE to force layers with geom type = wkbNone to be created as if it was wkbUnknown (PostGIS GEOMETRY type) to be able to revert to behaviour prior to GDAL 1.8.0 (#4012)
     766 * Add EXTRACT_SCHEMA_FROM_LAYER_NAME layer creation option that can be set to OFF to disable analysis of layer name as schema_name.table_name
     767 * Add FID layer creation option to specify the name of the FID column
     768 * ogr2ogr: make sure that for a PG datasource, -nln public.XXX can also be used with -append
     769 * Fix CreateFeatureViaInsert() to emit 'INSERT INTO xx DEFAULT VALUES'
     770 * Fix handling of Nan with fields with non-zero width (#2112)
     771 * Use wrapper for PQexec() to use PQexecParams() instead in most cases
     772 * Add proper escaping of table and column names
     773 * OGR SQL: add proper column name escaping and quoting for PostgreSQL datasources
     774 * Launder single quote character in table name
     775 * Better reporting of error in case of failed ExecuteSQL()
     776 * Create field of type OFTString and width > 0, as VARCHAR(width) (#4202)
     777 * Add more compat with Postgis 2.0SVN (geometry_columns- #4217, unknown SRID handling)
     778 * Better behaviour, in particular in error reporting, of ExecuteSQL() when passed with non-select statements, or with select statements that have side-effects such as AddGeometryColumn()
     779
     780PGDump driver:
     781 * fix handling of Nan with fields with non-zero width (#2112)
     782 * Add CREATE_SCHEMA and DROP_TABLE layer creation option (#4033)
     783 * Fix crash when inserting a feature with a geometry in a layer with a geom type of wkbNone;
     784 * PG and PGDump: fix insertion of features with first field being a 0-charachter string in a non-spatial table and without FID in COPY mode (#4040)
     785 * Add NONE_AS_UNKNOWN, FID, EXTRACT_SCHEMA_FROM_LAYER_NAME layer creation options
     786 * Better escaping of column and table names
     787 * Create field of type OFTString and width > 0, as VARCHAR(width) (#4202)
     788 
     789PGeo driver:
     790 * Move CreateFromShapeBin() method to an upper level
     791 * Only try to open .mdb files that have the GDB_GeomColumns string
     792 * Decode Z coordinate for a POINTZM shape
     793 * Aad support for decoding multipoint/multipointz geometries
     794 * Fix setting of the layer geometry type
     795 * Add support for zlib compressed streams
     796 * Implement MultiPatch decoding
     797
     798SDE driver:
     799 * Add support for decoding NSTRING fields (#4053)
     800 * Add support in CreateLayer() to clean up partially registered tables that aren't full spatial layers
     801 * Add logic to force envelope for geographic coordsys objects (#4054)
     802 * Add USE_STRING layer creation and configuration options information
     803 * Set SE_MULTIPART_TYPE_MASK for multipolygon layers (#4061).
     804 * Change how offset and precision are set for geographic coordinate systems to more closely match SDE
     805
     806SEGUKOOA driver:
     807 * New for GDAL/OGR 1.9.0
     808 * Read files in SEG-P1 and UKOOA P1/90 formats
     809 
     810SEGY driver:
     811 * New for GDAL/OGR 1.9.0
     812 * Read files in SEG-Y format
     813 
     814Shapefile driver:
     815 * Encoding support for shapefile/dbf (#882)
     816 * Allow managing datasources with several hundreds of layers (#4306)
     817 * Lazy loading of SRS and lazy initialization of attribute index support
     818 * Use VSI*L API to access .qix spatial index files
     819 * Add special SQL command 'RECOMPUTE EXTENT ON layer_name' to force recomputation of the layer extent (#4027)
     820 * Faster implementation of GetFeatureCount() in some circumstances.
     821 * Fix crash in CreateField() if there is no DBF file
     822 * Fix add field record flushing fix (#4073)
     823 * Fix decoding of triangle fan in a multipatch made of several parts (#4081)
     824 * Refuse to open a .shp in update mode if the matching .dbf exists but cannot be opened in update mode too (#4095)
     825 * Recognize blank values for Date fields as null values (#4265)
     826 * Recognize 'NULL' as a valid value for SHPT creation option as documented
     827 * Check that we are not trying to add too many fields.
     828 * Support reading measure values as Z coordinate.
     829
     830SQLite/Spatialite driver:
     831 * Spatialite: major write support improvements (creation/update of Spatialite DB now limited to GDAL builds with libspatialite linking)
     832 * Spatialite: add support for 3D geometries (#4092)
     833 * Spatialite: speed-up spatial filter on table layers by using spatial index table (#4212)
     834 * Spatialite: add support for reading Spatialite views registered in the views_geometry_columns
     835 * Spatialite: better support for building against amalgamated or not
     836 * Spatialite: when it exists, use srs_wkt column in spatial_ref_sys when retrieving/inserting SRS
     837 * Spatialite: add COMPRESS_GEOM=YES layer creation option to generate Spatialite compressed geometries
     838 * Spatialite: add support for VirtualXLS layers.
     839 * Spatialite: imported VirtualShape support, in particular it is now possible to open on-the-fly a shapefile as a VirtualShape with 'VirtualShape:shapefile.shp' syntax as a datasource
     840 * Implement RFC35 (DeleteField, AlterFieldDefn, ReorderFields)
     841 * Implement DeleteDataSource()
     842 * Implement DeleteFeature()
     843 * Implement SetFeature() by using UPDATE instead of DELETE / INSERT
     844 * Add capability to use VSI Virtual File API when needed (if SQLite >= 3.6.0)
     845 * Make CreateDataSource(':memory:') work
     846 * Enforce opening update/read-only mode to allow/forbid create/delete layers, create/update features (#4215)
     847 * Launder single quote character in table name; properly escape table name if no laundering (#1834)
     848 * Use ALTER TABLE ADD COLUMN by default to create a new field; older method can still be used by defining the OGR_SQLITE_USE_ADD_COLUMN config option to FALSE in order to provide read-compat by sqlite 3.1.3 or earlier
     849 * Fix bug in CreateField() : if there was already one record, the content of the table was not preserved, but filled with the column names, and not their values
     850 * Map 'DECIMAL' columns to OGR real type (#4346)
     851 * Add OGR_SQLITE_CACHE configuration option for performance enhancements
     852 * Try to reuse INSERT statement to speed up bulk loading.
     853
     854SVG driver:
     855 * New for GDAL/OGR 1.9.0
     856 * Read only driver for Cloudmade Vector Stream files
     857
     858S57 driver:
     859 * Add support for Dutch inland ENCs (#3881)
     860 * Allow up to 65536 attributes, use GUInt16 for iAttr (#3881)
     861 * Be cautious of case where end piont of a line segment has an invalid RCID
     862 * Correct handling of update that need to existing SG2D into an existing feature without it (#4332)
     863
     864VRT driver:
     865 * Do not try to read too big files
     866 * Lazy initialization of OGRVRTLayer
     867 * Don't set feature field when source feature field is unset
     868
     869WFS driver:
     870 * Add preliminary support for WFS 2.0.0, but for now don't request it by default.
     871 * Increase performance of layer definition building by issuing a DescribeFeatureType request for several layers at the same time
     872 * Better server error reporting
     873 * Use the layer bounding box for EPSG:4326 layers (restricted to GEOSERVER for now) (#4041)
     874 * Add capability of opening a on-disk Capabilities document
     875 * Add special (hidden) layer 'WFSLayerMetadata' to store layer metadata
     876 * Add special (hidden) layer 'WFSGetCapabilities' to get the raw XML result of the GetCapabilities request
     877 * CreateFeature()/SetFeature(): use GML3 geometries in WFS 1.1.0 (make TinyOWS happy when it validates against the schema)
     878 * Make spatial filtering work with strict Deegree 3 servers
     879 * Fix reading when layer names only differ by their prefix
     880
     881XLS driver:
     882 * New for GDAL/OGR 1.9.0
     883 * Read only driver for MS XLS files and relies on FreeXL library.
     884
     885XPlane driver:
     886 * Port to VSI*L API
     887
     888XYZ driver:
     889 * Ignore comment lines at the beginning of files
     890
     891== SWIG Language Bindings ==
     892
     893General :
     894 * RFC 30: Correct the signature of Datasource.CreateDataSource() and DeleteDataSource(),  gdal.Unlink() to accept UTF-8 filenames (#3766)
     895 * Add Band.GetCategoryNames() and Band.SetCategoryNames()
     896 * Add Geometry.GetPoints() (only for Python and Java) (#4016)
     897 * Add Geometry.GetEnvelope3D()
     898 * Add Geometry.SimplifyPreserveTopology()
     899 * Extend SWIG Geometry.ExportToJson() to accept a list of options (#4108)
     900 * Add (OGR)DataSource.SyncToDisk()
     901 * Add SpatialReference.SetVertCS(), IsSameVertCS(), IsVertical(), SetCompount(), IsCompound()
     902 * Add SpatialReference.SetIGH() (#4060)
     903 * RFC 35: Add OGRLayer.DeleteField(), ReorderField(), ReorderFields(), AlterFieldDefn()
     904 * Add gdal.VSIFTruncateL()
     905
     906CSharp bindings:
     907 * Implement the typemap for utf8_path in C# (#3766)
     908 * Correcting the signature of OGRDataSource.Open to make the utf8 typemap to work (#3766)
     909
     910Java bindings:
     911 * Turn the gdalJNI, gdalconstJNI and osrJNI into package private classes
     912 * Make Layer.GetExtent() return null when OGR_L_GetExtent() fails.
     913
     914Perl bindings:
     915 * The "Points" method of Geometry was not accepting its own output in the case of a single point. It accepted only a point as a list. Now it accepts a point both as a list containing one point (a ref to a point as a list) and a point as a list.
     916 * Fixed UTF-8 support in decoding names (datasource, layer, field etc.).
     917 * Assume all GDAL strings are UTF-8, handle all changes in typemaps.
     918 * Additions to Perl bindings due to new developments etc: Layer capabilities, GeometryType  method for Layer, improved create, new Export and Set methods for SpatialReference.
     919 * Detect context in a typemap which returns a array, this now returns a list in list context; the change affects at least GetExtent and GetEnvelope methods, which retain backward compatibility though new and/or changed methods: FeatureDefn::Name, FeatureDefn::GeometryIgnored, FeatureDefn::StyleIgnored, Feature::ReferenceGeometry, Feature::SetFrom, FieldDefn::Ignored, Geometry::AsJSON
     920 * Perl typemaps: more correct manipulation of the stack, more cases where a list is returned in a list context, better handling of callback_data @Band::COLORINTERPRETATIONS, Band methods Unit, ScaleAndOffset, GetBandNumber, RasterAttributeTable method LinearBinning
     921 * Typemaps for VSIF{Write|Read}L, tests and docs for some VSI* functions.
     922 * Perl bindings: better by name / by index logics, some checks for silent failures, return schema as a hash if wanted, support ->{field} syntax for features, return list attributes as lists or listrefs as wished so that ->{field} works for lists too (API change)
     923
     924Python bindings:
     925 * Improvements for ogr.Feature field get/set
     926 * Add hack to bring Python 3.2 compatibility
     927 * First argument of VSIFWriteL() should accept buffers for Python3 compat
     928 * Fix reference leak in 'typemap(in) char **dict'
     929 * Add gdal.VSIStatL()
     930 * swig/python/setup.py : fix for virtualenv setups (#4285)
     931 * Layer.GetExtent() : add optional parameter can_return_null that can be set to allow returning None when OGR_L_GetExtent() fails
     932 * Make gdal.VSIFSeekL(), gdal.VSIFTellL() and gdal.VSIFTruncateL() use GIntBig instead of long for compat with 32bit platforms
     933 * Add script to build the python extensions with Python 2.7 and a mingw32 cross-compiler under Linux/Unix
     934
     935Ruby bindings:
     936 * Build SWIG Ruby Bindings against modern Ruby versions (1.8.7 and 1.9.2) (#3999)
     937