<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">










<html>
  <head>
    <title>Archiva Base - Change Log Report</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
                            <?xml version="1.0" encoding="UTF-8"?>
<script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
                                <?xml version="1.0" encoding="UTF-8"?>
<script type="text/javascript">var pageTracker = _gat._getTracker("UA-140879-5");
pageTracker._initData();
pageTracker._trackPageview();</script>
                    </head>
  <body class="composite">
    <div id="banner">
                  <a href="../../" id="bannerLeft">
    
                                            <img src="../../images/archiva.png" alt="" />
    
            </a>
                        <a href="http://www.apache.org/" id="bannerRight">
    
                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
  
  
            <div class="xleft">
          
          <a href="http://www.apache.org/">Apache</a>
              &gt;
      
          <a href="../../">Archiva</a>
              &gt;
      
          <a href="../">Archiva :: Modules</a>
                </div>
            <div class="xright">      
  

  
    
  
  
            &nbsp;| Last Published: 27 May 2011
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
  
  
                   <h5>Modules</h5>
        <ul>
              
    <li class="none">
              <a href="archiva-checksum/index.html">Archiva Checksum</a>
        </li>
              
    <li class="none">
              <a href="archiva-common/index.html">Archiva Base :: Common</a>
        </li>
              
    <li class="none">
              <a href="archiva-policies/index.html">Archiva Base :: Policies</a>
        </li>
              
    <li class="none">
              <a href="archiva-configuration/index.html">Archiva Base :: Configuration</a>
        </li>
              
    <li class="none">
              <a href="archiva-consumers/index.html">Archiva Consumers</a>
        </li>
              
    <li class="none">
              <a href="archiva-model/index.html">Archiva Base :: Model</a>
        </li>
              
    <li class="none">
              <a href="archiva-xml-tools/index.html">Archiva Base :: XML Tools</a>
        </li>
              
    <li class="none">
              <a href="archiva-repository-layer/index.html">Archiva Repository Interface Layer</a>
        </li>
              
    <li class="none">
              <a href="archiva-indexer/index.html">Archiva Base :: Indexer</a>
        </li>
              
    <li class="none">
              <a href="archiva-dependency-graph/index.html">Archiva Base :: Dependency Graph</a>
        </li>
              
    <li class="none">
              <a href="archiva-proxy/index.html">Archiva Base :: Proxy</a>
        </li>
              
    <li class="none">
              <a href="archiva-transaction/index.html">Archiva Transactions</a>
        </li>
              
    <li class="none">
              <a href="archiva-artifact-converter/index.html">Archiva Artifact Converter</a>
        </li>
              
    <li class="none">
              <a href="archiva-converter/index.html">Archiva Base :: Repository Converter</a>
        </li>
          </ul>
          <h5>Project Documentation</h5>
        <ul>
              
                
              
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
              
        <li class="collapsed">
              <a href="project-info.html">Project Information</a>
              </li>
              
                
              
            
            
      
            
      
            
      
              
            <li class="expanded">
              <a href="project-reports.html">Project Reports</a>
                <ul>
                  
    <li class="none">
              <strong>changelog</strong>
        </li>
                  
    <li class="none">
              <a href="dev-activity.html">dev-activity</a>
        </li>
                  
    <li class="none">
              <a href="file-activity.html">file-activity</a>
        </li>
                  
    <li class="none">
              <a href="surefire-report.html">Maven Surefire Report</a>
        </li>
              </ul>
        </li>
          </ul>
                                       <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
            <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
          </a>
                       
  

  
    
  
  
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2>Change Log Report</h2><p>No sources found to create a report.</p></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2006-2011
    
          The Apache Software Foundation
          
  

  
    
  
  
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
