
<h1><a name="News-ApacheShiroNews"></a>Apache Shiro News</h1>

<p>Stay up to date with the latest news on the Apache Shiro Security Framework</p>

<p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.

For more information on Shiro, please read the documentation.</p>

<p>Enjoy!</p>

<p>The Apache Shiro Team</p>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.7.1-released" href="#1.7.1-released">Apache Shiro 1.7.0 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.7.1. This is a feature release for 1.x.</p>

        <p>This security release contains 1 fix since the 1.7.0 release and is available for Download now.</p>

        You can learn more on <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12348679" target="_blank">Jira</a>
        </p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.7.0-released" href="#1.7.0-released">Apache Shiro 1.7.0 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.7.0. This is a feature release for 1.x.</p>

        <p>This release includes 7 issues resolved since the 1.6.0 release and is available for Download now.</p>

        <p>Of Note:
        <ul>
            <li>Disable session path rewriting by default.</li>
            <li>Add system property to enable backslash path normalization.</li>
            <li>DeleteMe cookie should use the defined "sameSite".</li>
            <li>Also add cookie SameSite option to Spring.</li>
            <li>SslFilter with HTTP Strict Transport Security (HSTS).</li>
        </ul>

        You can learn more on <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20SHIRO%20AND%20fixVersion%20%3D%201.7.0" target="_blank">Jira</a>
        </p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.6.0-released" href="#1.6.0-released">Apache Shiro 1.6.0 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.6.0. This is a feature release for 1.x.</p>

        <p>This release includes 3 issues resolved since the 1.5.3 release and is available for Download now.</p>

        <p>Of Note:
        <ul>
            <li>Incorrect filterchainResolver.</li>
            <li>SecurityUtils.securityManager should be volatile.</li>
            <li>ArrayIndexOutOfBoundsException in Base64#decode.</li>
            <li>Add support for Global Filters.</li>
            <li>Dependency upgrade.</li>
        </ul>

        You can learn more on <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12348623" target="_blank">Jira</a>
        </p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.5.3-released" href="#1.5.3-released">Apache Shiro 1.5.3 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.5.3. This is a feature release for 1.x.</p>

        <p>This release includes 3 issues resolved since the 1.5.2 release and is available for Download now.</p>

        <p>Of Note:
        <ul>
            <li>INI parser does not properly handled backslashes at end of values.</li>
            <li>Regression in URI parsing in Shiro 1.5.2.</li>
            <li>SimplePrincipalMap and SimplePrincipalCollection throw different exceptions for the same problem.</li>
            <li>Dependency upgrade.</li>
        </ul>

        You can learn more on <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12346916" target="_blank">Jira</a>
        </p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.5.2-released" href="#1.5.2-released">Apache Shiro 1.5.2 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.5.2. This is a feature release for 1.x.</p>

        <p>This release includes 3 issues resolved since the 1.5.1 release and is available for Download now.</p>

        <p>Of Note:
        <ul>
            <li>Fixes authentication bypass issue: <a href="security-reports.html">CVE-2020-1957</a></li>
            <li>FirstSuccessfulStrategy will short circuit correctly now.</li>
        </ul>

        You can learn more on <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12346483" target="_blank">Jira</a>
        </p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.5.1-released" href="#1.5.1-released">Apache Shiro 1.5.1 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.5.1. This is a feature release for 1.x.</p>

        <p>This release includes 5 issues resolved since the 1.5.0 release and is available for Download now.</p>

        <p>Of Note:
        <ul>
            <li>DefaultCipherInstance is an alias which is not available in every JVM or JCA Provider.</li>
            <li>Bean reflection property failed with Enum values.</li>
            <li>Matching of / (root) is broken.</li>
        </ul>

        You can learn more on <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12346483" target="_blank">Jira</a>
        </p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.5.0-released" href="#1.5.0-released">Apache Shiro 1.5.0 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.5.0. This is a feature release for 1.x.</p>

        <p>This release includes 52 issues resolved since the 1.4.2 release and is available for Download now.</p>

        <p>Of Note:
        <ul>
            <li>Update to compiler Java 8 min.</li>
            <li>Validate Java 11 build.</li>
            <li>Dependency upgrade.</li>
        </ul>

        You can learn more on <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12344991" target="_blank">Jira</a>
        </p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.4.2-released" href="#1.4.2-released">Apache Shiro 1.4.2 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.4.2. This is a feature release for 1.x.</p>

        <p>This release includes 1 issue resolved since the 1.4.1 release and is available for Download now.</p>

        <p>Of Note:
        <ul>
            <li>Updates the default Cipher mode to GCM in AesCipherService (<a href="security-reports.html">CVE-2019-12422</a>)</li>
        </ul>

        You can learn more on <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12345454" target="_blank">Jira</a>
        </p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.4.1-released" href="#1.4.1-released">Apache Shiro 1.4.1 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.4.1. This is a feature release for 1.x.</p>

        <p>This release includes 27 issues resolved since the 1.4.0 release and is available for Download now.</p>

        <p>Of Note:
        <ul>
            <li>Fix some OGSi and Apache Karaf feature issues.</li>
            <li>Refresh cached session in HTTP request after user logs out</li>
            <li>Upgrade to Spring 4.3.22.RELEASE</li>
            <li>Upgrade to Springboot 1.5.19.RELEASE</li>
            <li>Maven plugins upgrade</li>
        </ul>

        You can learn more on <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12344826" target="_blank">Jira</a>
        </p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.4.0-RC2-released" href="#1.4.0-RC2-released">Apache Shiro 1.4.0-RC2 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.4.0-RC2. This is a feature release for 1.x.</p>

        <p>This release includes 15 issues resolved since the 1.3.2 release and is available for Download now.</p>

        <p>Of Note:
            <ul>
                <li>The core has been broken up into a fewer smaller modules (lang, crypto, config), but package names remain the same. Maven, Gradle, and Ivy users will NOT be effected.</li>
                <li>New <a href="https://github.com/apache/shiro/tree/shiro-root-1.4.0-RC2/support/spring-boot">modules</a> for Spring Boot</li>
                <li>New <a href="http://search.maven.org/#artifactdetails%7Corg.apache.shiro%7Cshiro-servlet-plugin%7C1.4.0-RC2%7Cjar">servlet fragment module</a></li>
                <li>New module for JAX-RS (based off <a href="https://github.com/silb/shiro-jersey">https://github.com/silb/shiro-jersey</a>)</li>
                <li>Guice 4 support</li>
                <li>Shiro.ini string interpolation</li>
            </ul>
        </p>

        <p>This release is an release candidate, so we encourage feedback on the new modules above.</p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>


<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.3.2-released" href="#1.3.2-released">Apache Shiro 1.3.2 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.3.2.</p>

        <p>This security release contains 1 fix since the 1.3.1 release.</p>

        <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6802">CVE-2016-6802</a>:
        <p>Apache Shiro before 1.3.2,  when using a non-root servlet context path,
        specifically crafted requests can be used to by pass some security servlet
        filters, resulting in unauthorized access.</p>

        <p>Release binaries (.jars) are also available through Maven Central and
        source bundles through Apache distribution mirrors.</p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.3.1-released" href="#1.3.1-released">Apache Shiro 1.3.1 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.3.1. This is a bug fix release for 1.3.x.</p>

        <p>This release includes <a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12338099&styleName=Text&projectId=12310950">2 issues resolved</a> since the 1.3.0 release and is available for <a href="download.html" title="Download">Download</a> now.</p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors. </p>

        <p>For more information on <a href="documentation.html">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">

    <div class="logo-heading-block">
        <a class="blogHeading" id="1.3.0-released" href="#1.3.0-released">Apache Shiro 1.3.0 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.3.0. This is a feature release for 1.3.x.</p>

        <p>This release includes <a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12317961&styleName=Text&projectId=12310950">26 issues resolved</a> since the 1.2.6 release and is available for <a href="download.html" title="Download">Download</a> now.</p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors. </p>

        <p>For more information on <a class="external-link" href="http://shiro.apache.org/documentation.html" rel="nofollow">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" id="1.2.6-released" href="#1.2.6-released">Apache Shiro 1.2.6 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.2.6. This is a bug fix release for 1.2.x.</p>

        <p>This release includes <a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12335836&projectId=12310950">2 bug fixes</a> since the 1.2.5 release and is available for <a href="download.html" title="Download">Download</a> now.</p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors. </p>

        <p>For more information on <a class="external-link" href="http://shiro.apache.org/documentation.html" rel="nofollow">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>


<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" id="1.2.5-released" href="#1.2.5-released">Apache Shiro 1.2.5 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.2.5. This is a bug fix release for 1.2.x.</p>

        <p>This release includes <a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12332994">7 bug fixes</a> since the 1.2.4 release and is available for <a href="download.html" title="Download">Download</a> now.</p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors. </p>

        <p>For more information on <a class="external-link" href="http://shiro.apache.org/documentation.html" rel="nofollow">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" id="1.2.4-released" href="#1.2.4-released">Apache Shiro 1.2.4 Released</a>
    </div>

    <div class="news-content">
        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.2.4. This is a bug fix release for 1.2.x.</p>

        <p>This release includes <a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12329682">5 bug fixes</a> since the 1.2.3 release and is available for <a href="download.html" title="Download">Download</a> now.</p>

        <p>Release binaries (.jars) are also available through Maven Central and source bundles through Apache distribution mirrors. </p>

        <p>For more information on <a class="external-link" href="http://shiro.apache.org/documentation.html" rel="nofollow">Shiro, please read the documentation.</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" href="2013/05/30/apache-shiro-122-released.html">Apache Shiro 1.2.2 Released</a>
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on May 30, 2013</div>
    </div>

    <div class="news-content">
        <p>Dear Apache Shiro Community,</p>

        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.2.2.  This is the second bug fix point release after 1.2.0.</p>

        <p>This release includes <a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&version=12323469">18 bug fixes</a> since the 1.2.1 release and is available for <a href="download.html" title="Download">Download</a> now.</p>

        <p>All binaries (.jars) are available in Maven Central already.  Please note that the Apache mirrors are still updating to reflect the source distribution, but some mirrors may not be updated yet.  If a mirror download link does not work, please try another or wait another 12 to 24 hours.</p>

        <p>For more information on Shiro 1.2, please read the "<a class="external-link" href="https://stormpath.com/blog/whats-new-apache-shiro-12" rel="nofollow">What's new in Apache Shiro 1.2?</a>" article or the previous <a class="external-link" href="2012/01/24/apache-shiro-120-released.html">1.2 release announcement</a>.</p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>

<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" href="2012/07/29/apache-shiro-121-released.html">Apache Shiro 1.2.1 Released</a>
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Jul 29, 2012</div>

    </div>

    <div class="news-content">
        <p>Dear Apache Shiro Community,</p>

        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.2.1.  This is the first bug fix point release after 1.2.0.</p>

        <p>This release includes <a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&amp;version=12319511">11 bug fixes</a> since the 1.2.0 release and is available for <a href="download.html" title="Download">Download</a> now.</p>

        <p>All binaries (.jars) are available in Maven Central already.  Please note that the Apache mirrors are still updating to reflect the source distribution, but some mirrors may not be updated yet.  If a mirror download link does not work, please try another or wait another 12 to 24 hours.</p>

        <p>For more information on Shiro 1.2, please read the "<a class="external-link" href="https://stormpath.com/blog/whats-new-apache-shiro-12" rel="nofollow">What's new in Apache Shiro 1.2?</a>" article or the previous <a class="external-link" href="2012/01/24/apache-shiro-120-released.html">1.2 release announcement</a>.</p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>


<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" href="https://stormpath.com/blog/whats-new-apache-shiro-12">What's New in Apache Shiro 1.2?</a>
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Mar 13, 2012</div>
    </div>

    <div class="news-content">
        <p>Here's an article covering some of the main features and enhancements in Apache Shiro 1.2:</p>

        <p><a class="external-link" href="https://stormpath.com/blog/whats-new-apache-shiro-12" rel="nofollow">https://stormpath.com/blog/whats-new-apache-shiro-12</a></p>
    </div>
</div>


<div class="blog-post-listing">

    <span class="blogHeading"><a class="blogHeading" href="2012/01/24/apache-shiro-120-released.html">Apache Shiro 1.2.0 Released!</a></span>
    <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Jan 24, 2012</div>


    <div class="news-content">
        <p>Dear Apache Shiro Community,</p>

        <p>The Shiro team is pleased to announce the release of Apache Shiro version 1.2.0!</p>

        <p>This release includes a number of bug fixes and new features since the&#160;1.1.0 release. &#160;The 1.2.0 release is available from <a href="download.html" title="Download">the Download page</a>.</p>

        <p>All binaries (.jars) are available in Maven Central already. &#160;Please&#160;note that the Apache mirrors are still updating to reflect the source&#160;distribution, but some mirrors may not be updated yet. &#160;If a mirror&#160;download link does not work, please try another or wait another 12 to&#160;24 hours.</p>

        <h3><a name="ApacheShiro1.2.0Released%21-NewFeatures"></a>New Features</h3>

        <ul><li>The ability to disable sessions per filter chain or entirely for an&#160;application.</li><li>Servlet Context Listener initialization in web apps (to allow&#160;components to utilize Shiro before Filter initialization)</li><li>A command line program to securely hash passwords (or any url, file&#160;or stream input for that matter).</li><li>New secure password hash formats that adhere to Modular Crypt Format&#160;conventions. &#160;These secure password hashes can be computed with the&#160;above named command line program and saved in text config (e.g.&#160;shiro.ini) directly. &#160;Plaintext passwords should never be stored. &#160;For&#160;those familiar with the Apache HTTPD passwd program, this achieves the&#160;same benefits.</li><li>A new LogoutFilter, as many apps don't need to show a view during&#160;logout (just logout and redirect to some known location).</li><li>Shiro filters can be enabled or disabled without removing them from&#160;the filter chain - useful in development (e.g. turn ssl requirement&#160;off in dev, but keep it on in production).</li><li>A lot of work has gone into making secure password hash storage and&#160;comparison a much simpler task in Shiro, focused around the new&#160;concept of a PasswordService. &#160;You can use a PasswordService directly&#160;in your application code to hash passwords securely. &#160;You can then&#160;configure a PasswordMatcher on your Realm(s) to use the same&#160;PasswordService for password comparisons. &#160;See the PasswordService&#160;JavaDoc for example .ini configuration:
            <ul><li>PasswordService:&#160;<a class="external-link" href="static/current/apidocs/org/apache/shiro/authc/credential/PasswordService.html">static/current/apidocs/org/apache/shiro/authc/credential/PasswordService.html</a></li><li>PasswordMatcher:&#160;<a class="external-link" href="static/current/apidocs/org/apache/shiro/authc/credential/PasswordMatcher.html">static/current/apidocs/org/apache/shiro/authc/credential/PasswordMatcher.html</a></li></ul>
            </li></ul>


        <p>More complete PasswordService and related config documentation will be&#160;added to the Shiro website in the next few days - it was better to&#160;release now for the many who are waiting on the release, and follow up&#160;with this part of the documentation shortly.</p>
        <ul><li>Three new 'support' modules:
            <ul><li>Apache Karaf features (shiro-features-1.2.0.jar)</li><li>Google Guice:&#160;<a class="external-link" href="guice.html">guice.html</a></li><li>Jasig CAS:&#160;<a class="external-link" href="cas.html">cas.html</a></li></ul>
            </li></ul>


        <p>And even more new features! &#160;See the 'Resolved Issues' below for a&#160;complete list.</p>

        <h3><a name="ApacheShiro1.2.0Released%21-Backwardsincompatibleorpotentialbreakingchanges"></a>Backwards-incompatible or potential breaking changes</h3>

        <p>There are only a few small cases where breakage could occur - please&#160;view the release notes to ensure you mitigate any potential breaking&#160;change - particularly if you are using the SecureRandomNumberGenerator<br clear="none">
        or Shiro's Block Cipher Services (AES, Blowfish):</p>

        <p><a class="external-link" href="https://raw.githubusercontent.com/apache/shiro/shiro-root-1.2.0/RELEASE-NOTES">https://raw.githubusercontent.com/apache/shiro/shiro-root-1.2.0/RELEASE-NOTES</a></p>

        <h3><a name="ApacheShiro1.2.0Released%21-ResolvedIssues"></a>Resolved Issues</h3>

        <p>Jira resolved issue report:</p>

        <p><a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&amp;version=12315478">https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&amp;version=12315478</a></p>

        <p>Enjoy!</p>

        <p>The Apache Shiro Team</p>
    </div>
</div>


<div class="blog-post-listing">
        <div class="logo-heading-block">

            <a class="blogHeading" href="2011/06/30/apache-shiro-login-demo.html">Apache Shiro Login Demo</a>
            <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Jun 30, 2011</div>

        </div>

    <div class="news-content">
        <p><a class="external-link" href="http://raibledesigns.com/" rel="nofollow">Matt Raible</a> has posted a really nice blog article and video demonstrating a login use case with Apache Shiro.  Check out the <a class="external-link" href="http://raibledesigns.com/rd/entry/java_web_application_security_part2" rel="nofollow">Java Web Application Security - Part III: Apache Shiro Login Demo</a> blog post and the video:</p>


        <object width="480" height="390"><param valuetype="data" name="movie" value="http://www.youtube.com/v/4LD4mF5ex2U?version=3&amp;hl=en_US&amp;rel=0"><param valuetype="data" name="allowFullScreen" value="true"><param valuetype="data" name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/4LD4mF5ex2U?version=3&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" width="480" height="390" allowscriptaccess="always" allowfullscreen="true"></embed></object>

    </div>
</div>


<div class="blog-post-listing">
        <div class="logo-heading-block">
            <a class="blogHeading" href="2011/05/24/the-new-rbac-resource-based-access-control.html">The New RBAC - Resource-Based Access Control</a>
            <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on May 24, 2011</div>
        </div>

    <div class="news-content">
        <p>Hi Shiro community,</p>

        <p>The following article helps explain the differences in role-based vs resource-based access control and why Shiro's permission construct (which is based on resources) can be much better for an application:</p>

        <p><a class="external-link" href="https://stormpath.com/blog/new-rbac-resource-based-access-control" rel="nofollow">The New RBAC: Resource-Based Access Control</a></p>
    </div>
</div>


<div class="blog-post-listing">
        <div class="logo-heading-block">
            <a class="blogHeading" href="2011/03/14/infoq-article-on-apache-shiro.html">InfoQ article on Apache Shiro</a>
            <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Mar 14, 2011</div>
        </div>

    <div class="news-content">
        <p><a class="external-link" href="https://www.infoq.com/articles/apache-shiro" rel="nofollow">https://www.infoq.com/articles/apache-shiro</a></p>
    </div>
</div>


<div class="blog-post-listing">
        <div class="logo-heading-block">
            <a class="blogHeading" href="2011/02/28/java-authorization-guide-with-apache-shiro-posted.html">Java Authorization Guide with Apache Shiro posted</a>
            <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/alex">Alex Salazar</a> posted on Feb 28, 2011</div>
        </div>

    <div class="news-content">
        <p>In our effort to improve the documentation you need to get started with Shiro, we've written a quick <a href="java-authorization-guide.html" title="Java Authorization Guide">Java Authorization Guide</a> for your review.  Check out and tell us what you think.  And if you haven't already, check out our previous post, the <a href="java-authentication-guide.html" title="Java Authentication Guide">Java Authentication Guide</a>.</p>

    </div>
</div>


<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" href="2011/02/10/apache-shiro-integration-for-grails-113-released.html">Apache Shiro Integration for Grails 1.1.3 released</a>
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/alex">Alex Salazar</a> posted on Feb 09, 2011</div>
    </div>

    <div class="news-content">
        <p>Secure your Grails application quickly and easily using the Apache Shiro security framework. Although easy to get started with, this framework gives you a great deal of flexibility and will support your application as it grows.</p>

        <p><a class="external-link" href="https://grails.org/plugin/shiro" rel="nofollow">https://grails.org/plugin/shiro</a></p>
    </div>
</div>


<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" href="2011/01/13/apache-shiro-support-for-mule.html">Apache Shiro Support for Mule</a>
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/alex">Alex Salazar</a> posted on Jan 13, 2011</div>
    </div>

    <div class="news-content">
        <p>Mule now has integration with Apache Shiro.  Thanks to Dan Diephouse at <a class="external-link" href="https://developer.mulesoft.com" rel="nofollow">MuleSoft</a> for the great blog post.  </p>

        <p><a class="external-link" href="http://blogs.mulesoft.com/dev/mule-dev/apache-shiro-support-for-mule/" rel="nofollow">http://blogs.mulesoft.com/dev/mule-dev/apache-shiro-support-for-mule/</a></p>
    </div>
</div>


<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" href="2011/01/06/apache-shiro-video-and-slide-from-sf-jug-presentation.html">Apache Shiro Video and Slide from SF JUG Presentation</a>
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/alex">Alex Salazar</a> posted on Jan 06, 2011</div>
    </div>

    <div class="news-content">
        <p>Check out the video from the San Francisco Java User Group presentation on Apache Shiro.</p>

        <h2><a name="ApacheShiroVideoandSlidefromSFJUGPresentation-Video"></a>Video</h2>

        <object width="640" height="385"><param valuetype="data" name="movie" value="http://www.youtube.com/v/5ZepGFzYHpE?fs=1&amp;hl=en_US"><param valuetype="data" name="allowFullScreen" value="true"><param valuetype="data" name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/5ZepGFzYHpE?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>

        <p>Courtesy of Aleksandar and Max at the <a class="external-link" href="http://www.sfjava.org/" rel="nofollow">SF JUG</a></p>

    </div>
</div>


<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" href="2010/11/03/apache-shiro-110-released.html">Apache Shiro 1.1.0 Released</a>
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Nov 03, 2010</div>
    </div>

    <div class="news-content">
        <p>Dear Apache Shiro Community,</p>

        <p>We are proud and excited to offer Apache Shiro's first release as an Apache Top Level Project, Apache Shiro version 1.1.0.</p>

        <p>This release includes a number of bug fixes, new features and one important security vulnerability fix - it is recommended that users upgrade to 1.1.0 as soon as possible.</p>

        <p>Version 1.1.0 is available immediately for download <a href="download.html" title="Download">here</a> accompanied by <a href="documentation.html" title="Documentation">associated documentation</a> and <a class="external-link" href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12314742&amp;styleName=Html&amp;projectId=12310950">Release Notes</a>.</p>

        <p>All binaries are available in Maven Central already.  Please note that most of the Apache mirrors have been updated to reflect the source distribution, but some mirrors may not be updated yet.  If a mirror download link does not work, please try another or wait another 12 to 24 hours.</p>

        <p>Enjoy!</p>
    </div>
</div>


<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" href="2010/09/24/apache-shiro-becomes-an-apache-top-level-project.html">Apache Shiro becomes an Apache Top Level Project</a>
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Sep 24, 2010</div>
    </div>

    <div class="news-content">
        <p>On Wednesday, September 22nd 2010, the Apache Software Foundation Board voted unanimously to accept Apache Shiro's graduation out of the Incubator and to become a Apache Top Level Project.</p>

        <p>Many thanks to the entire community for the continued growth and support, and especially to our Mentors, for helping us navigate the project through the incubation process.  Everything is much appreciated and it has been well worth it.</p>

        <p>Next steps:  It will take us a bit of time to migrate our infrastructure to non-Incubator resources (shiro.apache.org subdomain, Subversion move, etc), so please stay tuned.  Hopefully that can be done in the next two weeks.  Shortly thereafter, we hope to release Shiro 1.1.</p>

        <p>Thanks again to all, and please keep contributing to the project and the mailing lists to continually better the project for everyone!</p>

        <p>Best regards,</p>

        <p>Les</p>
    </div>
</div>


<div class="blog-post-listing">
    <div class="logo-heading-block">
        <a class="blogHeading" href="2010/09/20/san-francisco-jug-presentation.html">San Francisco JUG presentation</a>
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Sep 20, 2010</div>
    </div>

    <div class="news-content">
        <p>On 12 October 2010 at 6:30 pm PDT, Les Hazlewood will present <a class="external-link" href="http://www.sfjava.org/calendar/13539905/" rel="nofollow">Super Simple Application Security with Apache Shiro</a> to the San Francisco Java User Group.  Please RSVP if you wish to attend - seats are limited!</p>
    </div>
    </div>


<div class="blog-post-listing">
        <div class="logo-heading-block">
            <a class="blogHeading" href="2010/09/14/ibm-developerworks-introduction-to-apache-shiro.html">IBM DeveloperWorks - Introduction to Apache Shiro</a>
            <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Sep 14, 2010</div>
        </div>

    <div class="news-content">
        <p>Nathan Good wrote <a class="external-link" href="http://www.ibm.com/developerworks/web/library/wa-apacheshiro/" rel="nofollow">an article</a> introducing some of Apache Shiro's capabilities.  Thanks Nathan!</p>
    </div>
</div>


<div class="blog-post-listing">
    <div class="logo-heading-block">
        <div class="page-metadata"><a class="url fn news-userlink" href="https://stormpath.com/blog/author/les">Les Hazlewood</a> posted on Jun 01, 2010</div>
        <a class="blogHeading" href="2010/06/01/sdforum-java-sig-apache-shiro-presentation.html">SDForum Java SIG Apache Shiro Presentation</a>

    </div>

    <div class="news-content">
        <p>Tonight, 1 June 2010, Les Hazlewood <a class="external-link" href="http://www.sdforum.org/index.cfm?fuseaction=Calendar.eventDetail&amp;eventID=13671&amp;pageId=471" rel="nofollow">will present</a> Apache Shiro to the SDForum Java SIG in Palo Alto, California.  Please come if you can!</p>
    </div>
</div>

<input type="hidden" id="ghEditPage" value="news.html"></input>
