6.0 Release Plan

Authors

Project Steering Committee

Last Updated

2011-03-17

Background

The purpose of the following document is to outline the proposed changes for the upcoming MapServer 6.0 release. Users planning on upgrading to 6.0 are also recommended to review the - MapServer Migration Guide.

New Features and Major Bug Fixes

Core Changes in MapServer 6.0 Which Could Affect Existing Applications

New Features and Enhancements in MapServer 6.0

Other Notable Enhancements

  • Additional query improvements (such as being able to do XOR on queries (ask Steve) - RFC 65?)

  • Support for style objects within labels

  • Use of classObj title for legend drawing

  • PHP MapScript refactoring for PHP 5.2+ new object/API model

  • Support for PostGIS curves

Deprecations / Removals

  • Removal of GD non-PC256 support (replaced by AGG driver)

  • Removal of native SVG support (use Cairo instead, or re-implement using plugin API)

  • Removal of native PDF support (use Cairo instead)

  • Removal of SWF/Flash output (no alternative)

  • Deprecation of symbolObj GAP, LINECAP, LINEJOIN and PATTERN properties (now set in style instead)

  • Deprecation of redundant template tags (e.g. [mapext_esc]) (see http://trac.osgeo.org/mapserver/wiki/60RemoveTemplateTags)

  • Removal of native, non-GDAL, image drivers (EPPL7, TIFF, etc…)

  • Removal of MyGIS driver (use OGR MySQL driver instead)

6.2 Wishlist

  • SVG symbol support (not owned, RFC exists)

  • Named styles / labels

  • embedded XML mapfile parser

  • Support for a filterObj (based on OGC filter specification) at the driver level (RFC - Steve)

  • Projection AUTO support (RFC - Howard)

  • Explore supporting SLD and/or GSS within a layerObj, inline, external file or URL (Assefa, RFC needed)

  • Object string serialization (e.g. $layer->toString()) (not owned)

  • Reimplement Flash/SWF output with new rendering API (needs funding)

  • Hatch rendering speed (use AGG hatches?)

  • Small feature labels: use lead instead of skipping feature (Zak)

  • mod_mapserver - multi-threaded loaded mapserver module for Apache

  • Color ramping, dynamic statistics generation (SteveL/Frank)

Planned Dates

We will plan for 4 betas and 2 release candidate (RC) over a 6 week period after the code freeze (1 beta/RC per week each Wednesday). This will lead us to a final release sometime around 2011-04-20:

Release

Date

Feature freeze

Fri. March 4, 2011

6.0.0-beta1

Wed. March 9, 2011

6.0.0-beta2

Fri. March 18, 2011

6.0.0-beta3

Wed. March 23, 2011

6.0.0-beta4

Wed. March 30, 2011

6.0.0-rc1

Wed. April 6, 2011

6.0.0-rc2

Wed. April 13, 2011

6.0.0 (final)

Wed. April 20, 2011

Release Manager

Daniel Morissette will act as release Manager (MS RFC 34: MapServer Release Manager and Release Process). (‘’motion passed with +1 from DanielM, TomK, TamasS, SteveL, PericlesN, SteveW, FrankW, AssefaY, HowardB and ThomasB’’)

SVN Tags / Branches

  • The main trunk SVN is currently the 5.7 development version that we plan to release as 6.0 (browse)

  • The stable SVN branch for this release will be called “branch-6-0” (not created yet).

  • Current proposed date for creating “branch-6-0” is the date of the 6.0.0 release

  • If post-5.6 developments require earlier branching then please bring up your request for branching on the -dev list.

  • The betas will be tagged in SVN as “rel-6-0-0-beta1”, “rel-6-0-0-beta2”, … and the release candidates as “rel-6-0-rc1”, “rel-6-0-rc2”, etc…

Trac Conventions

In order to facilitate querying the Trac database for tickets that still need to be addressed for this release, we try to stick to the following conventions:

  • Tickets to be addressed for this release must have their target milestone set to “6.0 release”

  • Bugs/Enhancements that can’t make it in this release but that we may want to address at a later time should be marked with the “FUTURE” target milestone with a comment explaining that the bug is postponed and if possible a quick analysis

  • The target milestone on a ticket should be set by the developers (bug owners) and not by the users (reporters).

Other good practices when dealing with tickets:

  • Please file tickets for any non-trivial bugfix or change to the software. This is so that we keep a trace for future reference of all bugfixes and changes that were made (why and how).

  • Please mark bugs ASSIGNED as soon as you start working on them

  • Please when marking a bug fixed include a comment describing the fix, the version of the software in which it was done, the SVN changeset number (e.g. r1234) and any other relevant information. This will just make our lives easier in a few months/years when questions come up about this issue.

  • When committing to SVN, please include the bug number in your SVN change log comment e.g. (#1234).

  • Keep documentation in mind when fixing/changing things: if you cannot update the documentation yourself then please create a documentation bug describing the new feature/change and which document(s) should be updated.

The following query returns all currently open bugs that are tagged with the “6.0 release” target milestone:

Q/A

Feedback and testing is welcome anytime during the 6.0 release process.