MapServer Revision History ========================== This is a human-readable revision history which will attempt to document required changes for users to migrate from one version of MapServer to the next. Developers are strongly encouraged to document their changes and their impacts on the users here. (Please add the most recent changes to the top of the list.) For a complete change history, please see the CVS log comments. A copy of the CVS logs is updated daily at the following URL: http://www2.dmsolutions.ca/mapserver/dl/mapserver_changelog.txt Version 4.0.2 (2004-04-06) -------------------------- - Modified tile4ms to check that all DBFs in tile index have the exact same set of fields - Fixed detection of OGRRegisterAll() with GDAL 1.1.9 in configure. We were looking for libgdal.1.1.so but the name changed to libgdal.so.x.y.z starting with GDAL 1.1.9 - Fixed the way PROCESSING directives are written in $map->save() (chameleon bug 154) - Added layer->dump property in PHP MapScript - Copied 4.1 mappostgis.c back with changes for pg7.4 support, error reporting, etc. Version 4.0.1 (2003-10-14) -------------------------- - Fixed problem with cloned mapObj's fontset->filename pointing to the original mapObj's fontset->filename - Fixed error in MapScript zoomRectangle method (bug 449) - Corrected use of error stack in Python MapScript exception handler - Fixed memory leaks in MapScript when using mapObj's clone, and in methods that return an imageObj - Fixed double free in SWIG imageObj's free method (bug 393) - Fixed seg fault with WMS GetFeatureInfo of type text/html - PostGIS: added postresql_NOTICE_HANDLER() sending output via msDebug() and only when layer->debug is set (bug 418) - Added Apache version detection in configure and added non-blocking flag on stderr in msDebug() to work around Apache 2.x bug (bug 458) Version 4.0 (2003-08-01) ------------------------ - Fixed problem with truncated expressions (bugs 242 and 340) - Attempt at fixing GD vs libiconv dependency problems (bug 348) - Fixed problem with invalid BoundingBox tag in WMS capabilities (bug 34) - Fixed problems with SIZEUNITS not working properly (bug 373) - Fixed MacOSX configure problems for linking php_mapscript (bug 208) - Fixed problem with reference map marker symbol not showing up (bug 378) - Use in WMS 1.0.0 capabilities instead of (bug 129) - One-to-one and one-to-many joins now work for Xbase files and are available to query templates. Low level one-to-one Xbase joins are available via OGR. Version 4.0-beta2 (2003-07-11) ------------------------------ - Added prototype of FastCGI support in mapserv_fcgi.c (not built by default). - Report full error stack in the mapserv CGI and PHP MapScript (bug 346) - Old index (.qix) format is deprecated (bug 273) - Fixed problem with embedded legend and scalebar that would result in layers being added to the HTML legends (bug 171) - Changed joins (XBase only at this point) over to the open-prepare-next... next-close way of doing things. Compiles fine, but needs more testing. One-to-many support should work now but it needs to be hooked into the template code yet. Last thing before a candidate 4.0 release. - Added ability to generate images in MapScript processQueryTemplate (bug 341) - Added saving of output formats in msSaveMap() - Fixed problem in PHP MapScript with variables that were not dereferenced before their values were changed by the MapScript wrappers (bug 323) - Added support for Web Map Context 1.0.0 - Treat zero-length template values as NULL so that it's possible to set("template", "") from MapScript to make layer non-queryable (bug 338) - Ditched the shapepath argument to the shapefileObj constructor - CARTOLINE join style default changed to MS_CJC_NONE - Tweaked code in legend builder to handle polygon layers slightly different. Now if a polygon layer contains only outlines and no fills (i.e. a polyline) then it is drawn using the zigzag legend shape rather than the box. I'll add legend outlines back in shortly. - Restored legend key outlines (triggered by setting OUTLINECOLOR). If an outline is requested then line symbols are clipped to the outline, otherwise lines are allowed to bleed a pixel or two beyond those boundaries- for most cases this looks fine but for fat lines it is gonna look goofy regardless. In those cases use the KEYIMAGE. - Fixed a bug in the scanline writer so that x coordinates can be in any order when passed in to the function. (bug 336) - Updated loadExpressionString in mapfile.c to be a bit more tolerant of input. Now if a string does not match the logical or regex pattern it is automatically cast as a string expression. Removes the need for silly quotes. Version 4.0-beta1 (2003-06-06) ------------------------------ - Added imagemap outputformat, which makes possible use of client-side imagemaps in browsers - Added MySQL support for non-spatial OpenGIS Simple Features SQL stored data - msQueryByShape and msQueryByFeature honor layer tolerances. In effect you can to buffered queries now. At the momoment only polygon select features are supported, but there's nothing inherent in the underlying computations that says lines won't work as well. - Simple one-to-one joins are working again. Reworked the join code so that table connections are persistant within a join (across joins is a todo). Joins, like layers are wrapped with a connection neutral front end, that sets us up to do MySQL or whatever in addition to XBase. - Removed shapepath argument to all layer access functions (affects MapScript). It's still used but we leverage the layer pointer back to the parent mapObj so the API is cleaner. - Changed default presentation of feature attributes to escape a few problematic characters for HTML display (eg. > becomes >). Added [itemname_raw] substitution to allow access to unaltered data. - Added initial version of Jan Hartman's connection pooling code. - Replaced libwww with libcurl for WMS/WFS client HTTP requests. (libcurl 7.10 required, see http://curl.haxx.se/libcurl/c/) - Added CONNECTION to the list of mapfile parameters that can accept %variable% substitutions when processed by the cgi version. This is useful for passing in username and/or passwords to database data sources. - Added support for DATA and TEMPLATE (header/footer/etc...) filtering using an regex declared in the mapfile (DATAPATTERN and TEMPLATEPATTERN). Certain parameters in a mapfile cannot be changed via a URL without first being filtered. - Added support for enviroment variable MS_MAPFILE_PATTERN. This allows you to override the default regex in favor of one more restrictive (I would hope) of your own. - Disabled CGI SAVEMAP option. - Removed CGI TEMPLATE option since you can use the map_web_template syntax. Simplifies security maintenance by only having to deal with this option in a single place. - Added offset support (styleObj) for raster based output (GD for sure, not quite sure how OGR output is created although I believe is uses GD anyway). This allows for feature drop shadows and support for cool linear symbols like used to be supported in pre-3.4 versions. These offsets are not scalable at the moment. - Null shapes (attributes but no vertices) are skipped for shapefiles using the msLayerNextShape interface. Otherwise applications should check the shapeObj type member for MS_SHAPE_NULL. - Changed where label cache is allocated and cleared. Now it isn't allocated until drawing takes place. Any old cache is cleared before a new one is allocated. The cache is still intact following rendering for post-processing using MapScript. - Fixed screw up in pre-processing of logical expressions for item lists. Under certain circumstances that list could get corrupted and expressions would fail. - Added NOT operator to expression parser. - Added layer and map level DEBUG options to map file. - Major changes to support vector output (PDF, SWF, GML, ...): - imageObj is used by all rendering functions instead of gdImagePtr - New msSaveImage() prototype - Support for GD-2.0, including 24 bits output. Dropped support for GD 1.x - Support for output to any GDAL-supported format via the new OUTPUTFORMAT object. - New styleObj to replace the OVERLAY* parameter in classes. - PostGIS: Added Sean Gillies 's patch for "using unique ". Added "using SRID=#" to specify a spatial reference for an arbitrary sql query. - ... and nuerous fixes not listed here... Version 3.6.0-beta1 (2002-04-30) -------------------------------- - MapScript: qitem and qstring params added to layer->queryByAttribute(). Instead of being driven by the layer's FILTER/FILTERITEM, the query by attribute is now driven by the values passed via qitem,qstring, and the layer's FILTER/FILTERITEM are ignored. - Symbol and MapFile changes: ANTIALIAS and FILLED keywords now take a boolean (TRUE/FALSE) argument i.e. ANTIALIAS becomes ANTIALIAS TRUE and FILLED becomes FILLED TRUE - Reference Map: Added options to show a different marker when the reference box becomes too small. See the mapfile reference docs for more details on the new reference object parameters (MARKER, MARKERSIZE, MAXBOXSIZE, MINBOXSIZE) - Added MINSCALE/MAXSCALE at the CLASS level. - Support for tiled OGR datasets. - PHP 4.1.2 and 4.2.0 support for PHP MapScript. - Added LAYER TRANSPARENCY, value between 1-100 - Fixes to the SWIG interface for clean Java build. - New HTML legend templates for CGI and MapScript. See HTML-Legend-HOWTO. - WMS server now supports query results using HTML query templates instead of just plain/text. - Added support functions for thread safety (--with-thread). Still not 100% thread-safe. Version 3.5.0 (2002-12-18) -------------------------- - No Revision history before version 3.5 --------- $Id$