wiki:60ReleasePlan

Version 26 (modified by aboudreault, 13 years ago) ( diff )

added quote escaping support

MapServer 6.0 Release Plan

This is the MapServer 6.0 release plan adopted by the MapServer PSC on 2011-03-03.

New Features and Major Bug Fixes

Core Changes in MapServer 6.0 which could affect existing applications:

  • MS RFC 54: Rendering Interface API
  • MS RFC 64: MapServer Expression Parser Overhaul
  • MS RFC 65: Single-pass Query Changes for 6.0

New Features and Enhancements in MapServer 6.0:

  • MS RFC 58: Kml Output
  • MS RFC 60: Labeling enhancement: ability to skip ANGLE FOLLOW labels with too much character overlap
  • MS RFC 61: Enhance MapServer Feature Style Support
  • MS RFC 62: Support Additional WFS GetFeature Output Formats
  • MS RFC 63: Built-in OpenLayers map viewer
  • MS RFC 66: Better handling of temporary files
  • MS RFC 67: Enable/Disable Layers in OGC Web Services
  • MS RFC 68: Support for combining features from multiple layers
  • MS RFC 69: Support for clustering of features in point layers

TODO: This free-form list needs to be polished

New features in 6.0:

  • full pluggable renderer support (Thomas/Frank)
  • Expanded expression syntax support + OGC filter encoding -> MapServer filterObj support (RFC - Steve)
  • Output formats:
    • KML from Google SOC project (Assefa)
    • Any OGR Format (Frank)
    • GML3 (Steve - maybe during sprint?)
    • Cairo (PDF, SVG)
  • XML mapfile consumption:
    • run-time compilation (XML/XSLT => .map) or
  • Built in OpenLayers Map Viewer (RFC 63)
  • Labeling improvements (label precision (numeric format) and along curved lines - WMS Benchmarking contours)
  • Label MAXOVERLAPANGLE
  • Label Styles (needs examples / docs + migration guide)
  • Shapefile (dbf file >2Gb) Enhancement (WMS Benchmarking)
  • WCS 2.0 + POST support in WCS 1.1
  • Ability to escape single/double quotes inside a string and/or a logical expression

Other notable enhancements include:

  • 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:

  • Feature freeze - Fri. March 4, 2011
  • 6.0.0-beta1 - Wed. March 9, 2011
  • 6.0.0-beta2 - Wed. March 16, 2011 (coincides with Montreal Code Sprint, date may change)
  • 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 (see MS RFC 34). (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
  • 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 (TBD)
  • 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:

http://trac.osgeo.org/mapserver/query?status=new&status=assigned&status=reopened&milestone=6.0+release

QA

TODO...

Open Tasks

None.

Note: See TracWiki for help on using the wiki.