<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
    <!--
        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.
    -->
    <Project rdf:about="http://shiro.apache.org">
        <created>2010-12-11</created>
        <license rdf:resource="http://usefulinc.com/doap/licenses/asl20"/>
        <name>Apache Shiro</name>
        <homepage rdf:resource="http://shiro.apache.org"/>
        <asfext:pmc rdf:resource="http://shiro.apache.org"/>
        <shortdesc>Apache Shiro is an easy-to-use Java security framework that performs authentication, authorization,
            cryptography, and session management.
        </shortdesc>
        <description>Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication,
            authorization, cryptography, and session management. With Shiro’s easy-to-understand API, you can quickly
            and easily secure any JVM-based application – from the smallest mobile applications to the largest web
            and enterprise applications.
        </description>
        <bug-database rdf:resource="http://shiro.apache.org/issues.html"/>
        <mailing-list rdf:resource="http://shiro.apache.org/mailing-lists.html"/>
        <download-page rdf:resource="http://shiro.apache.org/download.html"/>
        <programming-language>Java</programming-language>
        <category rdf:resource="http://projects.apache.org/category/library"/>
        <category rdf:resource="http://projects.apache.org/category/web-framework"/>
        <release>
            <Version>
                <name>Apache Shiro 1.0.0-incubating</name>
                <created>2010-06-01</created>
                <revision>1.0.0-incubating</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.1.0</name>
                <created>2010-11-01</created>
                <revision>1.1.0</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.2.0</name>
                <created>2012-01-24</created>
                <revision>1.2.0</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.2.1</name>
                <created>2012-07-28</created>
                <revision>1.2.1</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.2.2</name>
                <created>2013-05-15</created>
                <revision>1.2.2</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.2.3</name>
                <created>2014-02-27</created>
                <revision>1.2.3</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.2.4</name>
                <created>2015-07-28</created>
                <revision>1.2.4</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.2.5</name>
                <created>2016-05-24</created>
                <revision>1.2.5</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.2.6</name>
                <created>2016-06-28</created>
                <revision>1.2.6</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.3.0</name>
                <created>2016-07-25</created>
                <revision>1.3.0</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.3.1</name>
                <created>2016-08-29</created>
                <revision>1.3.1</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.3.2</name>
                <created>2016-09-12</created>
                <revision>1.3.2</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.4.0-RC2</name>
                <created>2016-11-14</created>
                <revision>1.4.0-RC2</revision>
            </Version>
        </release>

        <repository>
          <GitRepository>
            <location rdf:resource="https://git.apache.org/shiro.git"/>
            <browse rdf:resource="https://git.apache.org/shiro.git"/>
          </GitRepository>
        </repository>
        <maintainer>
            <foaf:Person>
                <foaf:name>Les Hazlewood</foaf:name>
                <foaf:mbox rdf:resource="mailto:lhazlewood@apache.org"/>
            </foaf:Person>
        </maintainer>
    </Project>
</rdf:RDF>