# Shapelib Release Notes

To get notification of new releases of Shapelib subscribe to the project at www.freshmeat.net. This is currently the only reliable way of finding out about new releases since there is no shapelib specific mailing list.

Release 1.4.1:

- Fix a regression regarding re-writing the last shape of a file (GDAL #7031)

Release 1.4.0:

- Old Makefile build replaced by autoconf/automake (by Sandro Mani)
- CMake build system added (by Alan W. Irwin)
- Added read support for ESRI .sbn spatial index
- Resynchronization with GDAL's Shapefile driver. Mostly cleanups. SHPObject and DBFInfo structures extended with new members
- Add DBFSetLastModifiedDate() to modify the update date in the .dbf
- Add SHPSetFastModeReadObject() to read faster (but shapes got that way share state in the handle, so only one shape at a time can be used)
- Add SHPRestoreSHX() to recreate a missing .shx from the .shp and SHPOpenLLEx().
- Write DBF end-of-file character 0x1A by default. This behaviour can be controlled with the DBFSetWriteEndOfFileChar() function.

Release 1.3.0:

- Major rework to us application provided hooks for file io, and error reporting (SAHooks).
- Added contrib/Shape_PointInPoly.cpp from Marko Podgorsek.
- Added shapelib tools documentation from Eduardo Patto Kanegae.
- Added dbf deletion support.
- Added DBFAddNativeFieldType().
- Added DBFDeleteField(), DBFReorderFields() and DBFAlterFields() to rework DBF schema.
- likely a variety of other changes - it has been eight years since 1.2.10!

Release 1.2.10: Added SHPRewindObject() function, and shprewind utility program. Added FTLogical, DBFReadLogicalAttribute() and DBFWriteLogicalAttribute() (thanks to Olek Neyman).

Release 1.2.9: Good support for reading and writing NULL fields in .dbf files, good support for NULL shapes and addition of the DBFGetFieldIndex() functions (all contributed by Jim Matthews).

An upgraded shputils.c has been contributed by Bill Miller. Daniel Morissette contributed DBFGetNativeFieldType(). Better error checking for disk errors in dbfopen.c. Various other bug fixes and safety improvements.

Release 1.2.8: Added hacked libtool support (supplied by Jan) and "rpm ready" install logic.

Release 1.2.7: Fix record size (was 4 bytes too long). Modify SHPReadObject() to handle null shapes properly. Use atof() instead of sscanf(). Support .DBF as well as .dbf.

Release 1.2.6: Now available under old MIT style license, or at the users option, LGPL. Added the contrib directory of stuff from Carl Anderson and the shptree.c API for quadtree based spatial searches.

Release 1.2.5: SHPOpen() now forcably uses "rb" or "r+b" access string to avoid common mistakes on Windows. Also fixed a serious bug with .dbf files with a 'F' field type.

Release 1.2.4: DBFOpen() will now automatically translate a .shp extension to .dbf for convenience. SHPOpen() will try datasets with lower and uppercase extension. DBFAddField() now returns the field number, not TRUE/FALSE.

Release 1.2.3: Disable writing measures to multi-patches as ArcView seems to puke on them (as reported by Monika Sester). Add white space trimming, and string/numeric attribute interchangability in DBF API as suggested by Steve Lime. Dbfdump was updated to include several reporting options.

Release 1.2.2: Added proper support for multipatch (reading and writing) - this release just for testing purposes.

Release 1.2 is mostly a rewrite of the .shp/.shx access API to account for ArcView 3.x 3D shapes, and to encapsulate the shapes in a structure. Existing code using the shapefile library will require substantial changes to use release 1.2.

Release V1.1 has been built on a number of platforms, and used by a number of people successfully. V1.1 is the first release with the xBase API documentation.