<?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>
<!-- FIFO order -->
    <person name="Rick Tessner" email="rick@apache.org" id="RFT"/>
    <person name="Ross Gardler" email="rgardler@apache.org" id="RDG"/>
    <person name="Gavin McDonald" email="gmcdonald@apache.org" id="GM"/>
    <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="not-released">
      <action type="add" context="code" dev="RDG" importance="high">
        Use locationmap for resolution of resources and files. Resources are exposed via
        {lm:pod.*}
      </action>
      <action dev="GM" type="update" context="docs">
       Updated docs to reflect new naming conventions.
      </action>
    </release>
    <release version="0.1" date="not-released">
      <action dev="RDG" type="update" context="admin">
        Changed name to bring into line with new naming conventions.
      </action>
      <action dev="RFT" type="add" context="admin">
        Initial pod output plugin.  Just removed the functionality from
        the Forrest core and added as a plugin.
      </action>
    </release>
  </changes>
  <todo>
    <actions priority="high">
      <action context="docs" dev="open">
        Create the documentation with lots of examples and samples.  
        XML content goes in
        <code>src/documentation/content/xdocs</code>.
      </action>
    </actions>
  </todo>
</status>
