MapServer 4.6 released

Daniel Morissette dmorissette at DMSOLUTIONS.CA
Tue Jun 14 19:27:59 EDT 2005


MapServer 4.6.0 has just been released, just in time for MUM3. This new 
release represents the culmination of over two months of beta releases 
and six months of development. Highlights of new features include:

   * GEOS support
   * GML 3.1.0 support from WFS server
   * Improved threading support when using various MapScript flavors
   * SVG output support
   * Several enhancements to Oracle Spatial support (3D data, geodetic 
queries, getextent and Oracle compound polygons)
   * Unix and Windows build improvements
   * Can now build PHP/MapScript without the PHP source (PHP regex 
issues have been resolved)
   * Various MapScript bug fixes and improvments (very few API changes)
   * Gobs of other bug fixes and improvements.

I included below a more detailed list of improvements and fixes since 
version 4.4 (excerpt from the HISTORY.TXT).

The source package is available at 
http://mapserver.gis.umn.edu/dload.html. Prebuilt binaries for the 
various platforms, as well as the final version of the MapServer 4.6 
documentation will be available shortly at the usual locations.

Congrats and thanks to all of the developers, testers and doc 
contributors who helped make this release possible.

Daniel



Version 4.6.0 (2005-06-14)
--------------------------

- Bug 1163 : Filter Encoding spatial operator is Intersects
   and not Intersect.

- Fixed GEOS to shapeObj for multipolgon geometries.


Version 4.6.0-rc1 (2005-06-09)
------------------------------

- Bug 1375: Fixed seg fault in mapscript caused by the USE_POINT_Z_M flag.
   This flag was not carried to the mapscript Makefile(s).

- Bug 1367: Fixed PHP MapScript's symbolObj->setPoints() to correctly
   set symbolObj->sizex/sizey

- Bug 1373: Added $layerObj->removeClass() to PHP MapScript (was already
   in SWIG MapScript)


Version 4.6.0-beta3 (2005-05-27)
--------------------------------

- Bug 1298 : enable Attribution element in wms Capabilities XML

- Bug 1354: Added a regex wrapper, allowing MapServer to build with PHP
   compiled with its builtin regex

- Bug 1364: HTML legend templates: support [if] tests on "group_name" in
   leg_group_html blocks, and for "class_name" in leg_class_html blocks.

- Bug 1149: From WMS 1.1.1, SRS are given in individual tags in root Layer
   element.

- First pass at properly handling XML exceptions from CONNECTIONTYPE WMS
   layers. Still needs some work. (bug 1246)

- map.h/mapdraw.c: removed MAX/MIN macros in favour of MS_MAX/MS_MIN.

- Bug 1341, 1342 : Parse the unit parameter for DWithin filter request.
   Set the layer tolerance and toleranceunit with paramaters parsed.

- Bug 1277 : Support of multiple logical operators in Filter Encoding.

- mapwcs.c: If msDrawRasterLayerLow() fails, ensure that the error message
   is posted as a WCS exception.

- Added experimental support for "labelcache_map_edge_buffer" metadata to
   define a buffer area with no labels around the edge of a map (bug 1353)


Version 4.6.0-beta2 (2005-05-11)
--------------------------------

- Bug 179 :  add a small buffer around the cliping rectangle to
   avoid lines around the edges.

- Finished code to convert back and forth between GEOS geometries. 
Buffer and
   convex hull operations are exposed in mapscript.

- fontset.fonts hash now exposed in mapscript (bug 1345).

- Bug 1336 : Retreive distance value for DWithin filter request
   done with line and polygon shapes/

- Bug 985 / 1015: Don't render raster layers as classified if none of
   the classes has an expression set (gdal renderer only).

- Bug 1344: Fixed several issues in writing of inline SYMBOLS when saving
   mapfile (missing quotes around CHARACTER and other string members of 
SYMBOL
   object, check for NULLs, and write correct identifiers for POSITION,
   LINECAP and LINEJOIN).


Version 4.6.0-beta1 (2005-04-26)
--------------------------------

- Bug 1305: Added support for gradient coloring in class styles

- Bug 1335 : missing call to msInitShape in function msQueryByShape

- Bug 804 : SWF output : Make sure that the layer index is consistent
   when saving movies if some of the layers are not drawn (because the
   status is off or out of scale ...)

- Bug 1332 - shptreevis.c: fixed setting of this_rec, as the output dbf
   file was not getting any records at all.

- Fixed Makefile.vc to make .exe files depend on the DLL, so if the DLL
   fails to build, things will stop.  Avoids the need for unnecessary
   cleans on win32.  Also fixed the rule for MS_VERSION for mapscriptvars.

- Bug 1262 : the SERVICE parameter is now required for wms and wfs
   GetCapbilities request. It is not required for other WMS requests.
   It is required for all WFS requests.

- Bug 1302 : the wfs/ows_service parameter is not used any more. The
   service is always set to WFS for WFS layers.

- Bug 791: initialize some fields in msDBFCreate() - avoids crashes in
   some circumstances.

- Bug 1329 : Apply sld named layer on all layers of the same group

- Bug 1328 : support style's width parameter for line and polygon layers.

- Bug 564: Fixed old problem with labels occasionally drawn upside down

- Bug 1325: php mapscript function $class->settext needs only 1 argument.

- Bug 1319: Fixed mutex creation (was creator-owned) in mapthread.c. win32
   issue only.

- Bug 1103: Set the default tolerance value based on the layer type.
   The default is now 3 for point and line layers and 0 for all the others.

- Bug 1244: Removing Z and M parameter from pointObj by default. A new
   compilation option is available to active those option 
--enable-point-z-m.
   This gives an overall performance gain around 7 to 10%.

- Bug 1225: MapServer now requires GD 2.0.16 or more recent

- MapScript: shapeObj allocates memory for 4 value strings, 
shapeObj.setValue()
   lets users set values of a shapeObj.

- MapScript: imageObj.getBytes() replaces imageObj.write() (bugs 1176, 
1064).

- Bug 1308: Correction of SQL expression generated on wfs filters for
   postgis/oracle layers.

- Bug 1304: Avoid extra white space in gml:coordinates for gml:Box.

- mapogr.c: Insure that tile index reading is restarted in
   msOGRLayerInitItemInfo() or else fastcgi repeat requests for a layer may
   fail on subsequent renders.

- mapogr.c: Set a real OGRPolygon spatial filter, not just an OGRLinearRing.
             Otherwise GEOS enabled OGR builds will do expensive, and
             incorrect Intersects() tests.

- mapogr.cpp / mapprimitive.c: Optimize msAddLine() and add 
msAddLineDirectly()

- mapprimitive.c: Optimizations in msTransformShapeToPixel() (avoid 
division)

- map.h: Made MS_NINT inline assembly for win32, linux/i86.

- mapprimitive.c: optimized msClipPolygonRect and msClipPolylineRect for
   case where the shape is completely inside the clip rect.

- Add support for SVG output. See Bug 1281 for details.

- Bug 1231: use mimetype "image/png; mode=24bits" for 24bit png format.
   This makes it seperately selectable by WMS.

- Bug 1206: Applied locking patch for expression parser for rasters.

- Bug 1273: Fixed case in msProjectPoint() were in or out are NULL and
   a failure occurs to return NULL.  Fixed problem of WMS capabilities with
   'inf' in it.

- SLD generation bug 1150 : replacing <AND> tag to <ogc:And>

- Fixed bug 1118 in msOWSGetLayerExtent() (mapows.c).

- Fixed ogcfilter bug #1252

- Turned all C++ (//) comments into C comments (bug 1238)

- mapproject.h/configure.in: Don't check for USE_PROJ_API_H anymore. 
Assume
   we have a modern PROJ.4.

- Bug 839: Fix memory leak of font name in label cache (in mapfile.c).

- Added msForceTmpFileBase() and mapserv -tmpbase switch to allow overriding
   temporary file naming conventions.  Mainly intended to make writing
   testscripts using mapserv easier. FrankW.

- maporaclespatil.c: Bug fix for: #1109, #1110, #1111, #1112, #1136, #1210,
   #1211, #1212, #1213.  Support for compound polygons, fixed internal 
sql to
   stay more accurate for geodetic data, added the support for getextent
   function.  Added VERSION token for layer data string.

- mapimagemap.c: Preliminary implementation of support for emitting
   MS_SYMBOL_VECTOR symbols in msDrawMarkerSymbolIM().

- Bug 1204: Added multi-threading support in mapthread.c.  List of 
connections
   is managed within a mutex lock, and connections are only allowed to 
be used
   by one thread at a time.

- Bug 1185 : php/mapscript : add constant MS_GD_ALPHA

- Bug 1173: In HTML legend, added opt_flag support for layer groups.

- Bug 1179: added --with-warnings configure switch, overhauled warning 
logic.

- Bug 1168: Improve autoscaling through classification rounding issues.

- Fixed bug writing RGB/RGBA images via GDAL output on bigendian systems.

- Bug 1152 : Fix WMS style capabilities output for FastCGI enabled builds.

- Bug 1135 : Added support for rotating labels with the map if they were
   rendered with some particular angle already.

- Bug 1143 : Missing call to msInitShape.

- Fixed PHP5 support for windows : Bug 1100.

- Correct bug 1151 : generates twice a </Mark> tag when generating an SLD.
   This was happening the style did not have a size set.

- Oracle Spatial.  Fixed problem with LayerClose function.  Added token NONE
   for DATA statement.  Thanks Valik with the hints about the LayerClose 
problem
   and Francois with the hints about NONE token.

- numpoints and stylelength memebers of the symbol object needs to be in 
sync
   with the low level values after calles to setpoints ans setstyle (Bug 
1137).

- Use doubles instead of integers in function php3_ms_symbol_setPoints
   (Bug 1137).

- Change the output of the expression when using a wild card for
   PropertyIsLike (Bug 1107).

- Delete temporary sld file created on disk (Bug 1123)

- Fixed msFreeFileCtx() to call free() instead of gdFree() as per bug 1125.
   Also renamed gdFreeFileCtx() to msFreeFileCtx().

- Ensure error stack is cleared before accepting another call in FastCGI
   mode in mapserv.c.  Bug 1122

- Support translation of all geometry types to points in mapogr.cpp (now
   also supports multipolygon, multilinestring and geometrycollection.
   bug 1124.

- Added support for passing OGR layer FILTER queries down to OGR via the
   SetAttributeFilter() method if prefixed with WHERE keyword.  Bug 1126.

- Fixed support for SIZEUNITS based scaling of text when map is rotated.
   Bug 1127.



More information about the mapserver-dev mailing list