<?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="Ross Gardler" email="rgardler@apache.org" id="RDG" />
    <person name="Volunteer needed" email="dev@forrest.apache.org" id="open"/>
  </developers>
  <changes>
    <release version="0.2-dev" date="not-released">
      <action type="add" context="code" dev="RDG">
        Added handling of Google Code wiki format. See <a href="site:sample/google">sample</a>.
      </action>
      <action type="fix" context="code" dev="RDG" fixes-bug="680"
        due-to="Sjur N. Moshagen, Gavin">
        Corrected processing of nested lists so that sub-lists are properly
        nested within the LI of the outer list, thus bringing the output in
        accordance with the HTML DTD.
      </action>
      <action type="add" context="code" dev="RDG" importance="high">
        Use locationmap for resolution of resources and files. Resources are exposed via
        {lm:wiki.*}
      </action>
    </release>
    <release version="0.1" date="not-released">
      <action type="fix" context="code" dev="DB" due-to="Evrim ULU" due-to-email="evrim@core.gen.tr">
        Handle quoted links.
      </action>
      <action type="add" context="docs" dev="DB" fixes-bug="283">
        Added sample for MoinMoin format documents.
      </action>
      <action dev="RDG" type="add" context="admin">
        Initial plugin code extracted from Forrest core.
      </action>
    </release>
  </changes>
  <todo>
    <actions priority="high">
      <actions context="src">
        Address http://issues.apache.org/jira/browse/FOR-283
      </actions>
    </actions>
  </todo>
</status>
