<h1><a name="ApacheShiro1.0.0-incubatingReleased%21-ApacheShiro1.0.0incubatingReleased%21"></a>Apache Shiro 1.0.0-incubating Released!</h1>

<div class="addthis_toolbox addthis_default_style">
<a class="addthis_button_compact" href="http://www.addthis.com/bookmark.php?v=250&amp;pubid=ra-4d66ef016022c3bd">Share</a>
<span class="addthis_separator">|</span>
<a class="addthis_button_preferred_1"></a>
<a class="addthis_button_preferred_2"></a>
<a class="addthis_button_preferred_3"></a>
<a class="addthis_button_preferred_4"></a>
</div>
<script type="text/javascript">var addthis_config = {"data_track_clickback":true};</script>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4d66ef016022c3bd"></script>

<p>Dear Apache Shiro Community,</p>

<p>We are proud and excited to offer Apache Shiro's first stable release as an Apache Incubator podling!</p>

<p>Version 1.0.0-incubating 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?projectId=12310950&amp;styleName=Html&amp;version=12314078">Release Notes</a>.</p>

<p>Thank you so much to the Apache community and the Apache Incubator for helping us move toward our first release.  A very special thanks goes to our user community and early adopters for helping us refine our first stable release.</p>

<p>Best Regards,</p>

<p>Les Hazlewood</p>