<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<status>
  <developers>
    <person name="David Crossley" email="crossley@apache.org" id="DC" />
    <person name="Ross Gardler" email="rgardler@apache.org" id="RDG"/>
    <person name="Volunteer needed" email="dev@forrest.apache.org" id="open"/>
  </developers>
  <contexts>
    <context id="code" title="Changes to the Code Base"/>
    <context id="docs" title="Changes to Documentation"/>
    <context id="admin" title="Changes to Project Administration"/>
    <context id="design" title="Changes to Design"/>
    <context id="build" title="Changes to Build"/>
  </contexts>
  <changes>
    <release version="0.2" date="2011-01-10">
      <action dev="DC" type="update" context="code" fixes-bug="FOR-1190">
       Rendered element "sections" now have a title, so will show properly
       in the table of contents. Also sorted the list of elements alphabetically.
      </action>
      <action dev="RDG" type="update" context="code" importance="high">
       Use the locationmap to expose internal resources.
      </action>
    </release>
    <release version="0.1" date="2005-04-14">
      <action dev="RDG" type="update" context="admin">
       Renamed to bring into line with our naming conventions.
      </action>
      <action dev="DC" type="add" context="code">
       Added better sitemap match using regexp to deal
       with sub-directories too.
      </action>
      <action dev="DC" type="add" context="docs">
        Added samples for xdoc-v2.0 and xdoc-v1.3 collections of DTDs.
      </action>
      <action dev="DC" type="add" context="admin">
        Initial plugin, moving stuff out of forrest core.
      </action>
    </release>
  </changes>
  <todo>
    <actions priority="high">
      <action context="docs" dev="open">
        The java files for this plugin are still in core - need to move them
        into the plugin.
      </action>
      <action context="docs" dev="open">
        The sitemap generators are very specific to the filesystem of
        the Forrest core DTDs. Need to aslo enable it for project DTDs.
      </action>
      <action context="docs" dev="open">
        Some enhancements are listed at
        <a href="http://issues.apache.org/jira/browse/FOR-221">FOR-221</a>
      </action>
      <action context="docs" dev="open">
        Add an example of a local project DTD.
      </action>
    </actions>
  </todo>
</status>
