MapServer 4.10.0-beta1 Released

Daniel Morissette dmorissette at MAPGEARS.COM
Fri Aug 18 15:31:45 EDT 2006

Hi All,

Time has come for a MapServer 4.10 release, the development team has 
just started the release process and the plan is to have a final release 
at the end of September. For those interested the complete plan is 
available at

It is expected that this will be the last 4.x release and the next 
release should be version 5.0 likely sometimes in the first months of 2007.

Today we are pleased to announce the availability of MapServer 
4.10.0-beta1. The source package can be downloaded from

MapServer 4.10 introduces the following new features (and much more):

  - MS RFC 9: Item tag for query templates
  - MS RFC 11: Support for Curved Labels
  - MS RFC 13: SOS support
  - MS RFC 14: Relative Coordinates for INLINE features
  - MS RFC 16: MapScript WxS Services
  - MS RFC 18: Encryption of passwords in mapfilesCurved Labels
  - Web Map Context (WMC) 1.1 support
  - SLD support in Web Map Context
  - Mapfile includes
  - GEOS rewrite to use C API and new methods exposed
  - GEOS methods ported to PHP MapScript (only in SWIG MapScript before)

The complete RFC documents are available at

Of course, this release also brings a large number of small enhancements 
and bug fixes that didn't deserve their own RFC and aren't listed above. 
We have included a copy of the list of changes/fixes from the 
HISTORY.TXT at the end of this message.

We would like to invite all experienced users to test the betas in their 
respective environment and to report any issue they may find either via 
bugzilla or via the users list (complete bug reports in bugzilla are 
always better). Your feedback is important in order to get the best 
possible quality release.

We are also trying to get a number of volounteers to help by pre-testing 
the betas before we make them available to the public. If you are 
interested to help on that front, please see the QA/Tests Checklist 
section in the release plan at

Finally, we would like to thank all the developers, doc/website 
maintainers and other contributors who help make those releases 
possible, and special thanks to the new guys who just joined for their 
hard work: Tamas, Umberto, and Benj whose contribution of the curved 
labels is pretty cool. Not very often someone drops a feature like that 
in your lap. Also thanks for all the help to Sean who decided to take a 
smaller role in MapServer in June after being a very active contributor 
since the MapServer 3.7 days (2002?), including leading the efforts on 
Python and SWIG MapScript.

Best Regards,

Steve Lime and Daniel Morissette

Version 4.10.0-beta1 (2006-08-17)

- Marking the following SWIG object members immutable (bug 1803)
   layerObj.metadata, classObj.label, classObj.metadata,
   fontSetObj.fonts, legendObj.label, mapObj.symbolset,
   mapObj.fontset, mapObj.labelcache, mapObj.reference,
   mapObj.scalebar, mapObj.legend, mapObj.querymap
   mapObj.web, mapObj.configoptions, webObj.metadata,
   imageObj.format, classObj.layer,,,
   labelPathObj was made completely hidden (according to Steve's suggestion)

- Fixed problem with PHP MapScript's saveWebImage() filename collisions
   when mapscript was loaded in php.ini with PHP as an Apache DSO (bug 1322)

- Produce warning in WFS GetFeature output if ???_featureid is specified
   but corresponding item is not found in layer (bug 1781). Also produce
   a warning in GetCapabilities if ???_featureid not set (bug 1782)

- Removed the default preallocation of 4 values causing memory leaks.
   (related to bug 1801) Added initValues to achieve the similar
   functionality if needed.

- Fixed error in msAddImageSymbol() where a symbol's imagepath was not
   set (bug 1832).

- Added INCLUDE capability in mapfile parser (bug 279)

- Revert changes to mapzoom.i that swapped miny and maxy (Bug 1817).

- MapScript (swig) creation of an outputFormatObj will now set the inmapfile
   flag so that it gets written out to saved maps by default (Bug 1816).

- Converted GEOS support to use the GEOS C-API (versiopn 2.2.2 and higher).
   Wrapped remaining relevant GEOS functionality and exposed via SWIG-based

- If a layer has wms_timedefault metadata, make sure it is applied even
   if there is no TIME= item in the url.  (Bug 1810)

- Support for GEOS/ICONV/XML2 use flags in Java (related to
   bug 1801)

- Missing GEOS support caused heap corruption using shapeObj C# on linux
   (Bug 1801)

- Fix time filter propogation for raster layers to their tileindex layers.
   New code in maprasterquery.c (bug 1809)

- Added logic to collect LD_SHARED even if PHP not requested in configure.

- Fix problems with msio/rfc16 stuff on windows.  Don't depend on comparing
   function pointers or "stdio" handles.  (mapio.c, mapio.h, msio.i)

- Support WMC Min/Max scale in write mode (bug 1581)

- Fixed leak of shapefile handles (shp/shx/dbf) on tiled layers (bug 1802)

- Added webObj constructor and destructor to swig interface with
   calls to initWeb and freeWeb (bug 1798).

- mapows.c: ensure msOWSDispatch() is always available even if there are
   no services to dispatch.  This makes mapscript binding easier.

- FLTAddToLayerResultCache wasn't properly closing the layer after it
   was done with it.

- Added ability to encrypt tokens (passwords, etc.) in database connection
   strings (MS-RFC-18, bug 1792)

- Fixed zoomRectangle in mapscript: miny and maxy were swapped, making it
   impossible to zoom by rect; also the error message was referring to the
   wrong rect. There were no open issues on bugzilla. Reverted because 
of 1817.

- Implementation of RFC 16 mapio services (bug 1788).

- Use lp->layerinfo for OGR connections (instead of ogrlayerinfo) (bug 331)

- Support treating POLYGONZ as MS_SHAPE_POLYGON.  (bug 1784)

- Complete support for international languages in Java Mapscript
   (bug 1753)

- Output feature id as @fid instead of @gml:id in WFS 1.0.0 / GML 2.1.2
   GetFeature requests (bug 1759)

- Allow use of wms/ows_include_items and wms/ows_exclude_items to control
   which items to output in text/plain GetFeatureInfo. Making the behavior
   of this INFO_FORMAT consistent with the new behavior of GML 
   output introduced in v4.8. (bug 1761)
   IMPORTANT NOTE: With this change if the *_include_items metadata
   is not specified for a given layer then no items are output for that 
   (previous behavior was to always all items by default in text/plain)

- Make sure mappostgis.c closes MYCURSOR in layer close function so that
   CLOSE_CONNECTION=DEFER works properly.  (bug 1757)

- Support large (>2GB) raster files relative to SHAPEPATH. (bug 1748)

- Set User-Agent in HTTP headers of client WMS/WFS connections (bug 1749)

- Detection of os-dependent Java headers for Java mapscript (bug 1209)

- Preventing to take ownership of the memory when constructing objects
   with parent objects using C# mapscript (causing nullreference 
exception, Bug 1743)

- [SWF] Adding format option to turn off loading  movies automatically 
(Bug 1696)

- Fixed FP exception in mapgd.c when pixmap symbol 'sizey' not set (bug 

- Added config file for mapping the library file so the DllImport
   is looking for to its unix equivalent (Bug 1596) Thanks to Scott 

- Added /csharp/ for supporting the creation of Makefile
   during configuration with MONO/Linux (fix for bug 1595 and 1597)

- Added C# typemaps for char** and outputFormatObj**

- Support for dispatching multiple error messages to the MapScript 
interface (bug 1704).

- Fix inter-tile "cracking" problem (Bug 1715).

- [OGC FILTER] Correct bug when generating an sql expression containing 
an escape

- Allow a user to set a PROCESSING directive for an SDE layer to specify
   using the attributes or spatial index first.  (bug 1708).

- Cheap and easy way of fudging the boundary extents for msSDEWhichShapes
   in the case where the rectangle is really a point (bug 1699).

- Implement QUANTIZE options for GD/PNG driver (Bug 1690, Bug 1701).

- [WMS] Publish the GetStyles operation in the capabilities document.

- [PHP_MAPSCRIPT] Add antialias parameter in the style object (Bug 1685)

- [WFS] : Add the possiblity to set wfs_maxfeatures to 0 (Bug 1678)

- [SLD] : set the default color on the style when using default settings
   in PointSymbolizer. (bug 1681)

- Incorporate range coloring support for rasters (bug 1673)

- Fixed mapthread.c looking for the unix compiler symbol rather than just
   testing whether or not _WIN32 is defined for the usage of posix threads
   because unix is not defined on compilers like GCC 4.0.1 for OS X.

- Fixed the fuzzy brush support so that the transition between 1 pixel 
aa lines
   and brushes is less obvious. The old code would not allow for a 3x3 fuzzy
   brush to be built. (bug 1659)

- Added missing mapscript function msConnPoolCloseUnreferenced() (bug 1661)
   We need to make conn. pooling handling transparent to mapscript users
   so that they do not have to call this function once in a while, for 
   by creating an evictor thread.

- Added calls to msSetup/msCleanup() at MapScript load/unload time (bug 

- Reorganized nmake.opt to be more focused on functionality groups rather
   than the propensity of a section to be edited.  Default values are now
   all set to be pointed at the MapServer Build Kit, which can be obtained

- Use PROJ_LIBS instead of PROJ_LIB.  PROJ_LIB
   is sometimes defined in the environment, but points to $prefix/share/proj
   not the proj link libraries.

- Update Web Map Context to 1.1.0, add the dimension support. (bug 1581)

- Support SLD body in context document. (bug 887)

- When generating an ogc filter for class regex expressions, use
   the backslah as the default escape character (Bug 1637)

- Add connectiontype initialization logic when the layer's virtual
   table is initialized (Bug 1615)

- Added modulus operator to mapparser.y.

- Added new support for [item...] tag in CGI-based templates (bug 1636)

- Reverted behaviour to pre-1.61:
   do not allow for use of the FILTERITEM attribute (bug 1629)

- Treat classindex as an int instead of a char in resultCacheMemberObj to
   prevent problems with more than 128 classes (bug 1633)

- WMS : SLD / stretch images when using FE (Bug 1627)

- Add gml:lineStringMember in GML2 MultiLineString geometry (bug 1569).

- PHP : add shape->sontainsshape that uses geos lib (Bug 1623).

- Move gBYTE_ORDER inside the pg layerinfo structure to allow for 
   byte ordered connections (bug 1587).

- Fix the memory allocation bug in sdeShapeCopy (Bug 1606)

- Fixed OGR WKT support (Bug 1614).

- Added shapeObj::toWkt() and ms_shapeObjFromWkt() to PHP MapScript (bug 

- Finished implementation of OGR Shape2WKT function (Bug 1614).

- Detect/add -DHAVE_VSNPRINTF in configure script and prevent systematic
   buffer overflow in imagemap code when vsnprintf() not available (bug 

- Default layer->project to MS_TRUE even if no projection is set, to allow
   geotransforms (nonsquare pixels, etc) to be applied (bug 1645).

- Force stdin into binary mode on win32 when reading post bodies. (bug 1768)

More information about the mapserver-dev mailing list