Appendix Release Notes Release 2.0.0 Release date: 2012/04/03 This is a major release. A hard upgrade is required. Yes this means a full dump reload and some special preparations if you are using obsolete functions. Refer to for details on upgrading. Refer to for more details and changed/new functions. Testers - Our unsung heroes We are most indebted to the numerous members in the PostGIS community who were brave enough to test out the new features in this release. No major release can be successful without these folk. Below are those who have been most valiant, provided very detailed and thorough bug reports, and detailed analysis. Andrea Peri - Lots of testing on topology, checking for correctness Andreas Forø Tollefsen - raster testing Chris English - topology stress testing loader functions Salvatore Larosa - topology robustness testing Brian Hamlin - Benchmarking (also experimental experimental branches before they are folded into core) , general testing of various pieces including Tiger and Topology. Testing on various server VMs Mike Pease - Tiger geocoder testing - very detailed reports of issues Tom van Tilburg - raster testing Important / Breaking Changes #722, #302, Most deprecated functions removed (over 250 functions) (Regina Obe, Paul Ramsey) Unknown SRID changed from -1 to 0. (Paul Ramsey) -- (most deprecated in 1.2) removed non-ST variants buffer, length, intersects (and internal functions renamed) etc. -- If you have been using deprecated functions CHANGE your apps or suffer the consequences. If you don't see a function documented -- it ain't supported or it is an internal function. Some constraints in older tables were built with deprecated functions. If you restore you may need to rebuild table constraints with populate_geometry_columns(). If you have applications or tools that rely on deprecated functions, please refer to for more details. #944 geometry_columns is now a view instead of a table (Paul Ramsey, Regina Obe) for tables created the old way reads (srid, type, dims) constraints for geometry columns created with type modifiers reads rom column definition #1081, #1082, #1084, #1088 - Mangement functions support typmod geometry column creation functions now default to typmod creation (Regina Obe) #1083 probe_geometry_columns(), rename_geometry_table_constraints(), fix_geometry_columns(); removed - now obsolete with geometry_column view (Regina Obe) #817 Renaming old 3D functions to the convention ST_3D (Nicklas Avén) #548 (sorta), ST_NumGeometries,ST_GeometryN now returns 1 (or the geometry) instead of null for single geometries (Sandro Santilli, Maxime van Noppen) New Features KNN Gist index based centroid (<->) and box (<#>) distance operators (Paul Ramsey / funded by Vizzuality) Support for TIN and PolyHedralSurface and enhancement of many functions to support 3D (Olivier Courtin / Oslandia) Raster support integrated and documented (Pierre Racine, Jorge Arévalo, Mateusz Loskot, Sandro Santilli, David Zwarg, Regina Obe, Bborie Park) (Company developer and funding: University Laval, Deimos Space, CadCorp, Michigan Tech Research Institute, Azavea, Paragon Corporation, UC Davis Center for Vectorborne Diseases) Making spatial indexes 3D aware - in progress (Paul Ramsey, Mark Cave-Ayland) Topology support improved (more functions), documented, testing (Sandro Santilli / Faunalia for RT-SIGTA), Andrea Peri, Regina Obe, Jose Carlos Martinez Llari 3D relationship and measurement support functions (Nicklas Avén) ST_3DDistance, ST_3DClosestPoint, ST_3DIntersects, ST_3DShortestLine and more... N-Dimensional spatial indexes (Paul Ramsey / OpenGeo) ST_Split (Sandro Santilli / Faunalia for RT-SIGTA) ST_IsValidDetail (Sandro Santilli / Faunalia for RT-SIGTA) ST_MakeValid (Sandro Santilli / Faunalia for RT-SIGTA) ST_RemoveRepeatedPoints (Sandro Santilli / Faunalia for RT-SIGTA) ST_GeometryN and ST_NumGeometries support for non-collections (Sandro Santilli) ST_IsCollection (Sandro Santilli, Maxime van Noppen) ST_SharedPaths (Sandro Santilli / Faunalia for RT-SIGTA) ST_Snap (Sandro Santilli) ST_RelateMatch (Sandro Santilli / Faunalia for RT-SIGTA) ST_ConcaveHull (Regina Obe and Leo Hsu / Paragon Corporation) ST_UnaryUnion (Sandro Santilli / Faunalia for RT-SIGTA) ST_AsX3D (Regina Obe / Arrival 3D funding) ST_OffsetCurve (Sandro Santilli, Rafal Magda) ST_GeomFromGeoJSON (Kashif Rasul, Paul Ramsey / Vizzuality funding) Enhancements Made shape file loader tolerant of truncated multibyte values found in some free worldwide shapefiles (Sandro Santilli) Lots of bug fixes and enhancements to shp2pgsql Beefing up regression tests for loaders Reproject support for both geometry and geography during import (Jeff Adams / Azavea, Mark Cave-Ayland) pgsql2shp conversion from predefined list (Loic Dachary / Mark Cave-Ayland) Shp-pgsql GUI loader - support loading multiple files at a time. (Mark Leslie) Extras - upgraded tiger_geocoder from using old TIGER format to use new TIGER shp and file structure format (Stephen Frost) Extras - revised tiger_geocoder to work with TIGER census 2010 data, addition of reverse geocoder function, various bug fixes, accuracy enhancements, limit max result return, speed improvements, loading routines. (Regina Obe, Leo Hsu / Paragon Corporation / funding provided by Hunter Systems Group) Overall Documentation proofreading and corrections. (Kasif Rasul) Cleanup PostGIS JDBC classes, revise to use Maven build. (Maria Arias de Reyna, Sandro Santilli) Bug Fixes #1335 ST_AddPoint returns incorrect result on Linux (Even Rouault) Release specific credits We thank U.S Department of State Human Information Unit (HIU) and Vizzuality for general monetary support to get PostGIS 2.0 out the door. Release 1.5.4 Release date: 2012/05/07 This is a bug fix release, addressing issues that have been filed since the 1.5.3 release. Bug Fixes #547, ST_Contains memory problems (Sandro Santilli) #621, Problem finding intersections with geography (Paul Ramsey) #627, PostGIS/PostgreSQL process die on invalid geometry (Paul Ramsey) #810, Increase accuracy of area calculation (Paul Ramsey) #852, improve spatial predicates robustness (Sandro Santilli, Nicklas Avén) #877, ST_Estimated_Extent returns NULL on empty tables (Sandro Santilli) #1028, ST_AsSVG kills whole postgres server when fails (Paul Ramsey) #1056, Fix boxes of arcs and circle stroking code (Paul Ramsey) #1121, populate_geometry_columns using deprecated functions (Regin Obe, Paul Ramsey) #1135, improve testsuite predictability (Andreas 'ads' Scherbaum) #1146, images generator crashes (bronaugh) #1170, North Pole intersection fails (Paul Ramsey) #1179, ST_AsText crash with bad value (kjurka) #1184, honour DESTDIR in documentation Makefile (Bryce L Nordgren) #1227, server crash on invalid GML #1252, SRID appearing in WKT (Paul Ramsey) #1264, st_dwithin(g, g, 0) doesn't work (Paul Ramsey) #1344, allow exporting tables with invalid geometries (Sandro Santilli) #1389, wrong proj4text for SRID 31300 and 31370 (Paul Ramsey) #1406, shp2pgsql crashes when loading into geography (Sandro Santilli) #1595, fixed SRID redundancy in ST_Line_SubString (Sandro Santilli) #1596, check SRID in UpdateGeometrySRID (Mike Toews, Sandro Santilli) #1602, fix ST_Polygonize to retain Z (Sandro Santilli) #1697, fix crash with EMPTY entries in GiST index (Paul Ramsey) #1772, fix ST_Line_Locate_Point with collapsed input (Sandro Santilli) #1799, Protect ST_Segmentize from max_length=0 (Sandro Santilli) Alter parameter order in 900913 (Paul Ramsey) Support builds with "gmake" (Greg Troxel) Release 1.5.3 Release date: 2011/06/25 This is a bug fix release, addressing issues that have been filed since the 1.5.2 release. If you are running PostGIS 1.3+, a soft upgrade is sufficient otherwise a hard upgrade is recommended. Bug Fixes #1056, produce correct bboxes for arc geometries, fixes index errors (Paul Ramsey) #1007, ST_IsValid crash fix requires GEOS 3.3.0+ or 3.2.3+ (Sandro Santilli, reported by Birgit Laggner) #940, support for PostgreSQL 9.1 beta 1 (Regina Obe, Paul Ramsey, patch submitted by stl) #845, ST_Intersects precision error (Sandro Santilli, Nicklas Avén) Reported by cdestigter #884, Unstable results with ST_Within, ST_Intersects (Chris Hodgson) #779, shp2pgsql -S option seems to fail on points (Jeff Adams) #666, ST_DumpPoints is not null safe (Regina Obe) #631, Update NZ projections for grid transformation support (jpalmer) #630, Peculiar Null treatment in arrays in ST_Collect (Chris Hodgson) Reported by David Bitner #624, Memory leak in ST_GeogFromText (ryang, Paul Ramsey) #609, Bad source code in manual section 5.2 Java Clients (simoc, Regina Obe) #604, shp2pgsql usage touchups (Mike Toews, Paul Ramsey) #573 ST_Union fails on a group of linestrings Not a PostGIS bug, fixed in GEOS 3.3.0 #457 ST_CollectionExtract returns non-requested type (Nicklas Avén, Paul Ramsey) #441 ST_AsGeoJson Bbox on GeometryCollection error (Olivier Courtin) #411 Ability to backup invalid geometries (Sando Santilli) Reported by Regione Toscana #409 ST_AsSVG - degraded (Olivier Courtin) Reported by Sdikiy #373 Documentation syntax error in hard upgrade (Paul Ramsey) Reported by psvensso Release 1.5.2 Release date: 2010/09/27 This is a bug fix release, addressing issues that have been filed since the 1.5.1 release. If you are running PostGIS 1.3+, a soft upgrade is sufficient otherwise a hard upgrade is recommended. Bug Fixes Loader: fix handling of empty (0-verticed) geometries in shapefiles. (Sandro Santilli) #536, Geography ST_Intersects, ST_Covers, ST_CoveredBy and Geometry ST_Equals not using spatial index (Regina Obe, Nicklas Aven) #573, Improvement to ST_Contains geography (Paul Ramsey) Loader: Add support for command-q shutdown in Mac GTK build (Paul Ramsey) #393, Loader: Add temporary patch for large DBF files (Maxime Guillaud, Paul Ramsey) #507, Fix wrong OGC URN in GeoJSON and GML output (Olivier Courtin) spatial_ref_sys.sql Add datum conversion for projection SRID 3021 (Paul Ramsey) Geography - remove crash for case when all geographies are out of the estimate (Paul Ramsey) #469, Fix for array_aggregation error (Greg Stark, Paul Ramsey) #532, Temporary geography tables showing up in other user sessions (Paul Ramsey) #562, ST_Dwithin errors for large geographies (Paul Ramsey) #513, shape loading GUI tries to make spatial index when loading DBF only mode (Paul Ramsey) #527, shape loading GUI should always append log messages (Mark Cave-Ayland) #504, shp2pgsql should rename xmin/xmax fields (Sandro Santilli) #458, postgis_comments being installed in contrib instead of version folder (Mark Cave-Ayland) #474, Analyzing a table with geography column crashes server (Paul Ramsey) #581, LWGEOM-expand produces inconsistent results (Mark Cave-Ayland) #513, Add dbf filter to shp2pgsql-gui and allow uploading dbf only (Paul Ramsey) Fix further build issues against PostgreSQL 9.0 (Mark Cave-Ayland) #572, Password whitespace for Shape File (Mark Cave-Ayland) #603, shp2pgsql: "-w" produces invalid WKT for MULTI* objects. (Mark Cave-Ayland) Release 1.5.1 Release date: 2010/03/11 This is a bug fix release, addressing issues that have been filed since the 1.4.1 release. If you are running PostGIS 1.3+, a soft upgrade is sufficient otherwise a hard upgrade is recommended. Bug Fixes #410, update embedded bbox when applying ST_SetPoint, ST_AddPoint ST_RemovePoint to a linestring (Paul Ramsey) #411, allow dumping tables with invalid geometries (Sandro Santilli, for Regione Toscana-SIGTA) #414, include geography_columns view when running upgrade scripts (Paul Ramsey) #419, allow support for multilinestring in ST_Line_Substring (Paul Ramsey, for Lidwala Consulting Engineers) #421, fix computed string length in ST_AsGML() (Olivier Courtin) #441, fix GML generation with heterogeneous collections (Olivier Courtin) #443, incorrect coordinate reversal in GML 3 generation (Olivier Courtin) #450, #451, wrong area calculation for geography features that cross the date line (Paul Ramsey) Ensure support for upcoming 9.0 PgSQL release (Paul Ramsey) Release 1.5.0 Release date: 2010/02/04 This release provides support for geographic coordinates (lat/lon) via a new GEOGRAPHY type. Also performance enhancements, new input format support (GML,KML) and general upkeep. API Stability The public API of PostGIS will not change during minor (0.0.X) releases. The definition of the =~ operator has changed from an exact geometric equality check to a bounding box equality check. Compatibility GEOS, Proj4, and LibXML2 are now mandatory dependencies The library versions below are the minimum requirements for PostGIS 1.5 PostgreSQL 8.3 and higher on all platforms GEOS 3.1 and higher only (GEOS 3.2+ to take advantage of all features) LibXML2 2.5+ related to new ST_GeomFromGML/KML functionality Proj4 4.5 and higher only New Features Added Hausdorff distance calculations (#209) (Vincent Picavet) Added parameters argument to ST_Buffer operation to support one-sided buffering and other buffering styles (Sandro Santilli) Addition of other Distance related visualization and analysis functions (Nicklas Aven) ST_ClosestPoint ST_DFullyWithin ST_LongestLine ST_MaxDistance ST_ShortestLine ST_DumpPoints (Maxime van Noppen) KML, GML input via ST_GeomFromGML and ST_GeomFromKML (Olivier Courtin) Extract homogeneous collection with ST_CollectionExtract (Paul Ramsey) Add measure values to an existing linestring with ST_AddMeasure (Paul Ramsey) History table implementation in utils (George Silva) Geography type and supporting functions Spherical algorithms (Dave Skea) Object/index implementation (Paul Ramsey) Selectivity implementation (Mark Cave-Ayland) Serializations to KML, GML and JSON (Olivier Courtin) ST_Area, ST_Distance, ST_DWithin, ST_GeogFromText, ST_GeogFromWKB, ST_Intersects, ST_Covers, ST_Buffer (Paul Ramsey) Enhancements Performance improvements to ST_Distance (Nicklas Aven) Documentation updates and improvements (Regina Obe, Kevin Neufeld) Testing and quality control (Regina Obe) PostGIS 1.5 support PostgreSQL 8.5 trunk (Guillaume Lelarge) Win32 support and improvement of core shp2pgsql-gui (Mark Cave-Ayland) In place 'make check' support (Paul Ramsey) Bug fixes http://trac.osgeo.org/postgis/query?status=closed&milestone=PostGIS+1.5.0&order=priority Release 1.4.0 Release date: 2009/07/24 This release provides performance enhancements, improved internal structures and testing, new features, and upgraded documentation. If you are running PostGIS 1.1+, a soft upgrade is sufficient otherwise a hard upgrade is recommended. API Stability As of the 1.4 release series, the public API of PostGIS will not change during minor releases. Compatibility The versions below are the *minimum* requirements for PostGIS 1.4 PostgreSQL 8.2 and higher on all platforms GEOS 3.0 and higher only PROJ4 4.5 and higher only New Features ST_Union() uses high-speed cascaded union when compiled against GEOS 3.1+ (Paul Ramsey) ST_ContainsProperly() requires GEOS 3.1+ ST_Intersects(), ST_Contains(), ST_Within() use high-speed cached prepared geometry against GEOS 3.1+ (Paul Ramsey / funded by Zonar Systems) Vastly improved documentation and reference manual (Regina Obe & Kevin Neufeld) Figures and diagram examples in the reference manual (Kevin Neufeld) ST_IsValidReason() returns readable explanations for validity failures (Paul Ramsey) ST_GeoHash() returns a geohash.org signature for geometries (Paul Ramsey) GTK+ multi-platform GUI for shape file loading (Paul Ramsey) ST_LineCrossingDirection() returns crossing directions (Paul Ramsey) ST_LocateBetweenElevations() returns sub-string based on Z-ordinate. (Paul Ramsey) Geometry parser returns explicit error message about location of syntax errors (Mark Cave-Ayland) ST_AsGeoJSON() return JSON formatted geometry (Olivier Courtin) Populate_Geometry_Columns() -- automatically add records to geometry_columns for TABLES and VIEWS (Kevin Neufeld) ST_MinimumBoundingCircle() -- returns the smallest circle polygon that can encompass a geometry (Bruce Rindahl) Enhancements Core geometry system moved into independent library, liblwgeom. (Mark Cave-Ayland) New build system uses PostgreSQL "pgxs" build bootstrapper. (Mark Cave-Ayland) Debugging framework formalized and simplified. (Mark Cave-Ayland) All build-time #defines generated at configure time and placed in headers for easier cross-platform support (Mark Cave-Ayland) Logging framework formalized and simplified (Mark Cave-Ayland) Expanded and more stable support for CIRCULARSTRING, COMPOUNDCURVE and CURVEPOLYGON, better parsing, wider support in functions (Mark Leslie & Mark Cave-Ayland) Improved support for OpenSolaris builds (Paul Ramsey) Improved support for MSVC builds (Mateusz Loskot) Updated KML support (Olivier Courtin) Unit testing framework for liblwgeom (Paul Ramsey) New testing framework to comprehensively exercise every PostGIS function (Regine Obe) Performance improvements to all geometry aggregate functions (Paul Ramsey) Support for the upcoming PostgreSQL 8.4 (Mark Cave-Ayland, Talha Bin Rizwan) Shp2pgsql and pgsql2shp re-worked to depend on the common parsing/unparsing code in liblwgeom (Mark Cave-Ayland) Use of PDF DbLatex to build PDF docs and preliminary instructions for build (Jean David Techer) Automated User documentation build (PDF and HTML) and Developer Doxygen Documentation (Kevin Neufeld) Automated build of document images using ImageMagick from WKT geometry text files (Kevin Neufeld) More attractive CSS for HTML documentation (Dane Springmeyer) Bug fixes http://trac.osgeo.org/postgis/query?status=closed&milestone=PostGIS+1.4.0&order=priority Release 1.3.6 Release date: 2009/05/04 If you are running PostGIS 1.1+, a soft upgrade is sufficient otherwise a hard upgrade is recommended. This release adds support for PostgreSQL 8.4, exporting prj files from the database with shape data, some crash fixes for shp2pgsql, and several small bug fixes in the handling of "curve" types, logical error importing dbf only files, improved error handling of AddGeometryColumns. Release 1.3.5 Release date: 2008/12/15 If you are running PostGIS 1.1+, a soft upgrade is sufficient otherwise a hard upgrade is recommended. This release is a bug fix release to address a failure in ST_Force_Collection and related functions that critically affects using MapServer with LINE layers. Release 1.3.4 Release date: 2008/11/24 This release adds support for GeoJSON output, building with PostgreSQL 8.4, improves documentation quality and output aesthetics, adds function-level SQL documentation, and improves performance for some spatial predicates (point-in-polygon tests). Bug fixes include removal of crashers in handling circular strings for many functions, some memory leaks removed, a linear referencing failure for measures on vertices, and more. See the NEWS file for details. Release 1.3.3 Release date: 2008/04/12 This release fixes bugs shp2pgsql, adds enhancements to SVG and KML support, adds a ST_SimplifyPreserveTopology function, makes the build more sensitive to GEOS versions, and fixes a handful of severe but rare failure cases. Release 1.3.2 Release date: 2007/12/01 This release fixes bugs in ST_EndPoint() and ST_Envelope, improves support for JDBC building and OS/X, and adds better support for GML output with ST_AsGML(), including GML3 output. Release 1.3.1 Release date: 2007/08/13 This release fixes some oversights in the previous release around version numbering, documentation, and tagging. Release 1.3.0 Release date: 2007/08/09 This release provides performance enhancements to the relational functions, adds new relational functions and begins the migration of our function names to the SQL-MM convention, using the spatial type (SP) prefix. Added Functionality JDBC: Added Hibernate Dialect (thanks to Norman Barker) Added ST_Covers and ST_CoveredBy relational functions. Description and justification of these functions can be found at http://lin-ear-th-inking.blogspot.com/2007/06/subtleties-of-ogc-covers-spatial.html Added ST_DWithin relational function. Performance Enhancements Added cached and indexed point-in-polygon short-circuits for the functions ST_Contains, ST_Intersects, ST_Within and ST_Disjoint Added inline index support for relational functions (except ST_Disjoint) Other Changes Extended curved geometry support into the geometry accessor and some processing functions Began migration of functions to the SQL-MM naming convention; using a spatial type (ST) prefix. Added initial support for PostgreSQL 8.3 Release 1.2.1 Release date: 2007/01/11 This release provides bug fixes in PostgreSQL 8.2 support and some small performance enhancements. Changes Fixed point-in-polygon shortcut bug in Within(). Fixed PostgreSQL 8.2 NULL handling for indexes. Updated RPM spec files. Added short-circuit for Transform() in no-op case. JDBC: Fixed JTS handling for multi-dimensional geometries (thanks to Thomas Marti for hint and partial patch). Additionally, now JavaDoc is compiled and packaged. Fixed classpath problems with GCJ. Fixed pgjdbc 8.2 compatibility, losing support for jdk 1.3 and older. Release 1.2.0 Release date: 2006/12/08 This release provides type definitions along with serialization/deserialization capabilities for SQL-MM defined curved geometries, as well as performance enhancements. Changes Added curved geometry type support for serialization/deserialization Added point-in-polygon shortcircuit to the Contains and Within functions to improve performance for these cases. Release 1.1.6 Release date: 2006/11/02 This is a bugfix release, in particular fixing a critical error with GEOS interface in 64bit systems. Includes an updated of the SRS parameters and an improvement in reprojections (take Z in consideration). Upgrade is encouraged. Upgrading If you are upgrading from release 1.0.3 or later follow the soft upgrade procedure. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. Bug fixes fixed CAPI change that broke 64-bit platforms loader/dumper: fixed regression tests and usage output Fixed setSRID() bug in JDBC, thanks to Thomas Marti Other changes use Z ordinate in reprojections spatial_ref_sys.sql updated to EPSG 6.11.1 Simplified Version.config infrastructure to use a single pack of version variables for everything. Include the Version.config in loader/dumper USAGE messages Replace hand-made, fragile JDBC version parser with Properties Release 1.1.5 Release date: 2006/10/13 This is an bugfix release, including a critical segfault on win32. Upgrade is encouraged. Upgrading If you are upgrading from release 1.0.3 or later follow the soft upgrade procedure. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. Bug fixes Fixed MingW link error that was causing pgsql2shp to segfault on Win32 when compiled for PostgreSQL 8.2 fixed nullpointer Exception in Geometry.equals() method in Java Added EJB3Spatial.odt to fulfill the GPL requirement of distributing the "preferred form of modification" Removed obsolete synchronization from JDBC Jts code. Updated heavily outdated README files for shp2pgsql/pgsql2shp by merging them with the manpages. Fixed version tag in jdbc code that still said "1.1.3" in the "1.1.4" release. New Features Added -S option for non-multi geometries to shp2pgsql Release 1.1.4 Release date: 2006/09/27 This is an bugfix release including some improvements in the Java interface. Upgrade is encouraged. Upgrading If you are upgrading from release 1.0.3 or later follow the soft upgrade procedure. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. Bug fixes Fixed support for PostgreSQL 8.2 Fixed bug in collect() function discarding SRID of input Added SRID match check in MakeBox2d and MakeBox3d Fixed regress tests to pass with GEOS-3.0.0 Improved pgsql2shp run concurrency. Java changes reworked JTS support to reflect new upstream JTS developers' attitude to SRID handling. Simplifies code and drops build depend on GNU trove. Added EJB2 support generously donated by the "Geodetix s.r.l. Company" http://www.geodetix.it/ Added EJB3 tutorial / examples donated by Norman Barker <nbarker@ittvis.com> Reorganized java directory layout a little. Release 1.1.3 Release date: 2006/06/30 This is an bugfix release including also some new functionalities (most notably long transaction support) and portability enhancements. Upgrade is encouraged. Upgrading If you are upgrading from release 1.0.3 or later follow the soft upgrade procedure. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. Bug fixes / correctness BUGFIX in distance(poly,poly) giving wrong results. BUGFIX in pgsql2shp successful return code. BUGFIX in shp2pgsql handling of MultiLine WKT. BUGFIX in affine() failing to update bounding box. WKT parser: forbidden construction of multigeometries with EMPTY elements (still supported for GEOMETRYCOLLECTION). New functionalities NEW Long Transactions support. NEW DumpRings() function. NEW AsHEXEWKB(geom, XDR|NDR) function. JDBC changes Improved regression tests: MultiPoint and scientific ordinates Fixed some minor bugs in jdbc code Added proper accessor functions for all fields in preparation of making those fields private later Other changes NEW regress test support for loader/dumper. Added --with-proj-libdir and --with-geos-libdir configure switches. Support for build Tru64 build. Use Jade for generating documentation. Don't link pgsql2shp to more libs then required. Initial support for PostgreSQL 8.2. Release 1.1.2 Release date: 2006/03/30 This is an bugfix release including some new functions and portability enhancements. Upgrade is encouraged. Upgrading If you are upgrading from release 1.0.3 or later follow the soft upgrade procedure. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. Bug fixes BUGFIX in SnapToGrid() computation of output bounding box BUGFIX in EnforceRHR() jdbc2 SRID handling fixes in JTS code Fixed support for 64bit archs New functionalities Regress tests can now be run *before* postgis installation New affine() matrix transformation functions New rotate{,X,Y,Z}() function Old translating and scaling functions now use affine() internally Embedded access control in estimated_extent() for builds against pgsql >= 8.0.0 Other changes More portable ./configure script Changed ./run_test script to have more sane default behaviour Release 1.1.1 Release date: 2006/01/23 This is an important Bugfix release, upgrade is highly recommended. Previous version contained a bug in postgis_restore.pl preventing hard upgrade procedure to complete and a bug in GEOS-2.2+ connector preventing GeometryCollection objects to be used in topological operations. Upgrading If you are upgrading from release 1.0.3 or later follow the soft upgrade procedure. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. Bug fixes Fixed a premature exit in postgis_restore.pl BUGFIX in geometrycollection handling of GEOS-CAPI connector Solaris 2.7 and MingW support improvements BUGFIX in line_locate_point() Fixed handling of postgresql paths BUGFIX in line_substring() Added support for localized cluster in regress tester New functionalities New Z and M interpolation in line_substring() New Z and M interpolation in line_interpolate_point() added NumInteriorRing() alias due to OpenGIS ambiguity Release 1.1.0 Release date: 2005/12/21 This is a Minor release, containing many improvements and new things. Most notably: build procedure greatly simplified; transform() performance drastically improved; more stable GEOS connectivity (CAPI support); lots of new functions; draft topology support. It is highly recommended that you upgrade to GEOS-2.2.x before installing PostGIS, this will ensure future GEOS upgrades won't require a rebuild of the PostGIS library. Credits This release includes code from Mark Cave Ayland for caching of proj4 objects. Markus Schaber added many improvements in his JDBC2 code. Alex Bodnaru helped with PostgreSQL source dependency relief and provided Debian specfiles. Michael Fuhr tested new things on Solaris arch. David Techer and Gerald Fenoy helped testing GEOS C-API connector. Hartmut Tschauner provided code for the azimuth() function. Devrim GUNDUZ provided RPM specfiles. Carl Anderson helped with the new area building functions. See the credits section for more names. Upgrading If you are upgrading from release 1.0.3 or later you DO NOT need a dump/reload. Simply sourcing the new lwpostgis_upgrade.sql script in all your existing databases will work. See the soft upgrade chapter for more information. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. New functions scale() and transscale() companion methods to translate() line_substring() line_locate_point() M(point) LineMerge(geometry) shift_longitude(geometry) azimuth(geometry) locate_along_measure(geometry, float8) locate_between_measures(geometry, float8, float8) SnapToGrid by point offset (up to 4d support) BuildArea(any_geometry) OGC BdPolyFromText(linestring_wkt, srid) OGC BdMPolyFromText(linestring_wkt, srid) RemovePoint(linestring, offset) ReplacePoint(linestring, offset, point) Bug fixes Fixed memory leak in polygonize() Fixed bug in lwgeom_as_anytype cast functions Fixed USE_GEOS, USE_PROJ and USE_STATS elements of postgis_version() output to always reflect library state. Function semantic changes SnapToGrid doesn't discard higher dimensions Changed Z() function to return NULL if requested dimension is not available Performance improvements Much faster transform() function, caching proj4 objects Removed automatic call to fix_geometry_columns() in AddGeometryColumns() and update_geometry_stats() JDBC2 works Makefile improvements JTS support improvements Improved regression test system Basic consistency check method for geometry collections Support for (Hex)(E)wkb Autoprobing DriverWrapper for HexWKB / EWKT switching fix compile problems in ValueSetter for ancient jdk releases. fix EWKT constructors to accept SRID=4711; representation added preliminary read-only support for java2d geometries Other new things Full autoconf-based configuration, with PostgreSQL source dependency relief GEOS C-API support (2.2.0 and higher) Initial support for topology modelling Debian and RPM specfiles New lwpostgis_upgrade.sql script Other changes JTS support improvements Stricter mapping between DBF and SQL integer and string attributes Wider and cleaner regression test suite old jdbc code removed from release obsoleted direct use of postgis_proc_upgrade.pl scripts version unified with release version Release 1.0.6 Release date: 2005/12/06 Contains a few bug fixes and improvements. Upgrading If you are upgrading from release 1.0.3 or later you DO NOT need a dump/reload. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. Bug fixes Fixed palloc(0) call in collection deserializer (only gives problem with --enable-cassert) Fixed bbox cache handling bugs Fixed geom_accum(NULL, NULL) segfault Fixed segfault in addPoint() Fixed short-allocation in lwcollection_clone() Fixed bug in segmentize() Fixed bbox computation of SnapToGrid output Improvements Initial support for postgresql 8.2 Added missing SRID mismatch checks in GEOS ops Release 1.0.5 Release date: 2005/11/25 Contains memory-alignment fixes in the library, a segfault fix in loader's handling of UTF8 attributes and a few improvements and cleanups. Return code of shp2pgsql changed from previous releases to conform to unix standards (return 0 on success). Upgrading If you are upgrading from release 1.0.3 or later you DO NOT need a dump/reload. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. Library changes Fixed memory alignment problems Fixed computation of null values fraction in analyzer Fixed a small bug in the getPoint4d_p() low-level function Speedup of serializer functions Fixed a bug in force_3dm(), force_3dz() and force_4d() Loader changes Fixed return code of shp2pgsql Fixed back-compatibility issue in loader (load of null shapefiles) Fixed handling of trailing dots in dbf numerical attributes Segfault fix in shp2pgsql (utf8 encoding) Other changes Schema aware postgis_proc_upgrade.pl, support for pgsql 7.2+ New "Reporting Bugs" chapter in manual Release 1.0.4 Release date: 2005/09/09 Contains important bug fixes and a few improvements. In particular, it fixes a memory leak preventing successful build of GiST indexes for large spatial tables. Upgrading If you are upgrading from release 1.0.3 you DO NOT need a dump/reload. If you are upgrading from a release between 1.0.0RC6 and 1.0.2 (inclusive) and really want a live upgrade read the upgrade section of the 1.0.3 release notes chapter. Upgrade from any release prior to 1.0.0RC6 requires an hard upgrade. Bug fixes Memory leak plugged in GiST indexing Segfault fix in transform() handling of proj4 errors Fixed some proj4 texts in spatial_ref_sys (missing +proj) Loader: fixed string functions usage, reworked NULL objects check, fixed segfault on MULTILINESTRING input. Fixed bug in MakeLine dimension handling Fixed bug in translate() corrupting output bounding box Improvements Documentation improvements More robust selectivity estimator Minor speedup in distance() Minor cleanups GiST indexing cleanup Looser syntax acceptance in box3d parser Release 1.0.3 Release date: 2005/08/08 Contains some bug fixes - including a severe one affecting correctness of stored geometries - and a few improvements. Upgrading Due to a bug in a bounding box computation routine, the upgrade procedure requires special attention, as bounding boxes cached in the database could be incorrect. An hard upgrade procedure (dump/reload) will force recomputation of all bounding boxes (not included in dumps). This is required if upgrading from releases prior to 1.0.0RC6. If you are upgrading from versions 1.0.0RC6 or up, this release includes a perl script (utils/rebuild_bbox_caches.pl) to force recomputation of geometries' bounding boxes and invoke all operations required to propagate eventual changes in them (geometry statistics update, reindexing). Invoke the script after a make install (run with no args for syntax help). Optionally run utils/postgis_proc_upgrade.pl to refresh postgis procedures and functions signatures (see Soft upgrade). Bug fixes Severe bugfix in lwgeom's 2d bounding box computation Bugfix in WKT (-w) POINT handling in loader Bugfix in dumper on 64bit machines Bugfix in dumper handling of user-defined queries Bugfix in create_undef.pl script Improvements Small performance improvement in canonical input function Minor cleanups in loader Support for multibyte field names in loader Improvement in the postgis_restore.pl script New rebuild_bbox_caches.pl util script Release 1.0.2 Release date: 2005/07/04 Contains a few bug fixes and improvements. Upgrading If you are upgrading from release 1.0.0RC6 or up you DO NOT need a dump/reload. Upgrading from older releases requires a dump/reload. See the upgrading chapter for more informations. Bug fixes Fault tolerant btree ops Memory leak plugged in pg_error Rtree index fix Cleaner build scripts (avoided mix of CFLAGS and CXXFLAGS) Improvements New index creation capabilities in loader (-I switch) Initial support for postgresql 8.1dev Release 1.0.1 Release date: 2005/05/24 Contains a few bug fixes and some improvements. Upgrading If you are upgrading from release 1.0.0RC6 or up you DO NOT need a dump/reload. Upgrading from older releases requires a dump/reload. See the upgrading chapter for more informations. Library changes BUGFIX in 3d computation of length_spheroid() BUGFIX in join selectivity estimator Other changes/additions BUGFIX in shp2pgsql escape functions better support for concurrent postgis in multiple schemas documentation fixes jdbc2: compile with "-target 1.2 -source 1.2" by default NEW -k switch for pgsql2shp NEW support for custom createdb options in postgis_restore.pl BUGFIX in pgsql2shp attribute names unicity enforcement BUGFIX in Paris projections definitions postgis_restore.pl cleanups Release 1.0.0 Release date: 2005/04/19 Final 1.0.0 release. Contains a few bug fixes, some improvements in the loader (most notably support for older postgis versions), and more docs. Upgrading If you are upgrading from release 1.0.0RC6 you DO NOT need a dump/reload. Upgrading from any other precedent release requires a dump/reload. See the upgrading chapter for more informations. Library changes BUGFIX in transform() releasing random memory address BUGFIX in force_3dm() allocating less memory then required BUGFIX in join selectivity estimator (defaults, leaks, tuplecount, sd) Other changes/additions BUGFIX in shp2pgsql escape of values starting with tab or single-quote NEW manual pages for loader/dumper NEW shp2pgsql support for old (HWGEOM) postgis versions NEW -p (prepare) flag for shp2pgsql NEW manual chapter about OGC compliancy enforcement NEW autoconf support for JTS lib BUGFIX in estimator testers (support for LWGEOM and schema parsing) Release 1.0.0RC6 Release date: 2005/03/30 Sixth release candidate for 1.0.0. Contains a few bug fixes and cleanups. Upgrading You need a dump/reload to upgrade from precedent releases. See the upgrading chapter for more informations. Library changes BUGFIX in multi() early return [when noop] from multi() Scripts changes dropped {x,y}{min,max}(box2d) functions Other changes BUGFIX in postgis_restore.pl scrip BUGFIX in dumper's 64bit support Release 1.0.0RC5 Release date: 2005/03/25 Fifth release candidate for 1.0.0. Contains a few bug fixes and a improvements. Upgrading If you are upgrading from release 1.0.0RC4 you DO NOT need a dump/reload. Upgrading from any other precedent release requires a dump/reload. See the upgrading chapter for more informations. Library changes BUGFIX (segfaulting) in box3d computation (yes, another!). BUGFIX (segfaulting) in estimated_extent(). Other changes Small build scripts and utilities refinements. Additional performance tips documented. Release 1.0.0RC4 Release date: 2005/03/18 Fourth release candidate for 1.0.0. Contains bug fixes and a few improvements. Upgrading You need a dump/reload to upgrade from precedent releases. See the upgrading chapter for more informations. Library changes BUGFIX (segfaulting) in geom_accum(). BUGFIX in 64bit architectures support. BUGFIX in box3d computation function with collections. NEW subselects support in selectivity estimator. Early return from force_collection. Consistency check fix in SnapToGrid(). Box2d output changed back to 15 significant digits. Scripts changes NEW distance_sphere() function. Changed get_proj4_from_srid implementation to use PL/PGSQL instead of SQL. Other changes BUGFIX in loader and dumper handling of MultiLine shapes BUGFIX in loader, skipping all but first hole of polygons. jdbc2: code cleanups, Makefile improvements FLEX and YACC variables set *after* pgsql Makefile.global is included and only if the pgsql *stripped* version evaluates to the empty string Added already generated parser in release Build scripts refinements improved version handling, central Version.config improvements in postgis_restore.pl Release 1.0.0RC3 Release date: 2005/02/24 Third release candidate for 1.0.0. Contains many bug fixes and improvements. Upgrading You need a dump/reload to upgrade from precedent releases. See the upgrading chapter for more informations. Library changes BUGFIX in transform(): missing SRID, better error handling. BUGFIX in memory alignment handling BUGFIX in force_collection() causing mapserver connector failures on simple (single) geometry types. BUGFIX in GeometryFromText() missing to add a bbox cache. reduced precision of box2d output. prefixed DEBUG macros with PGIS_ to avoid clash with pgsql one plugged a leak in GEOS2POSTGIS converter Reduced memory usage by early releasing query-context palloced one. Scripts changes BUGFIX in 72 index bindings. BUGFIX in probe_geometry_columns() to work with PG72 and support multiple geometry columns in a single table NEW bool::text cast Some functions made IMMUTABLE from STABLE, for performance improvement. JDBC changes jdbc2: small patches, box2d/3d tests, revised docs and license. jdbc2: bug fix and testcase in for pgjdbc 8.0 type autoregistration jdbc2: Removed use of jdk1.4 only features to enable build with older jdk releases. jdbc2: Added support for building against pg72jdbc2.jar jdbc2: updated and cleaned makefile jdbc2: added BETA support for jts geometry classes jdbc2: Skip known-to-fail tests against older PostGIS servers. jdbc2: Fixed handling of measured geometries in EWKT. Other changes new performance tips chapter in manual documentation updates: pgsql72 requirement, lwpostgis.sql few changes in autoconf BUILDDATE extraction made more portable fixed spatial_ref_sys.sql to avoid vacuuming the whole database. spatial_ref_sys: changed Paris entries to match the ones distributed with 0.x. Release 1.0.0RC2 Release date: 2005/01/26 Second release candidate for 1.0.0 containing bug fixes and a few improvements. Upgrading You need a dump/reload to upgrade from precedent releases. See the upgrading chapter for more informations. Library changes BUGFIX in pointarray box3d computation BUGFIX in distance_spheroid definition BUGFIX in transform() missing to update bbox cache NEW jdbc driver (jdbc2) GEOMETRYCOLLECTION(EMPTY) syntax support for backward compatibility Faster binary outputs Stricter OGC WKB/WKT constructors Scripts changes More correct STABLE, IMMUTABLE, STRICT uses in lwpostgis.sql stricter OGC WKB/WKT constructors Other changes Faster and more robust loader (both i18n and not) Initial autoconf script Release 1.0.0RC1 Release date: 2005/01/13 This is the first candidate of a major postgis release, with internal storage of postgis types redesigned to be smaller and faster on indexed queries. Upgrading You need a dump/reload to upgrade from precedent releases. See the upgrading chapter for more informations. Changes Faster canonical input parsing. Lossless canonical output. EWKB Canonical binary IO with PG>73. Support for up to 4d coordinates, providing lossless shapefile->postgis->shapefile conversion. New function: UpdateGeometrySRID(), AsGML(), SnapToGrid(), ForceRHR(), estimated_extent(), accum(). Vertical positioning indexed operators. JOIN selectivity function. More geometry constructors / editors. PostGIS extension API. UTF8 support in loader.