This is an automated email from the ASF dual-hosted git repository.
lprimak pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/shiro-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 45324b7af 2.2.1 release content
45324b7af is described below
commit 45324b7afe2d60ca3d48f789d9204d418934b55c
Author: lprimak <[email protected]>
AuthorDate: Thu Jun 18 12:03:39 2026 -0500
2.2.1 release content
---
.well-known/security.txt | 2 +-
10-minute-tutorial.html | 6 +-
10/index.html | 8 +-
11/index.html | 8 +-
12/index.html | 4 +
2/index.html | 8 +-
3/index.html | 8 +-
4/index.html | 8 +-
5/index.html | 8 +-
6/index.html | 8 +-
7/index.html | 8 +-
8/index.html | 8 +-
9/index.html | 8 +-
authentication.html | 11 +
authorization.html | 2 +-
.../2026/06/apache-shiro-221-released.html | 226 +++++++++------------
cas.html | 12 +-
command-line-hasher.html | 10 +-
css/base.css | 2 +-
dependency-chain.html | 2 +-
documentation.html | 4 +-
download.html | 132 ++++++------
feed.xml | 149 ++++++++------
guice.html | 12 +-
index.html | 8 +-
jakarta-ee.html | 14 +-
jaxrs.html | 24 +--
migration-guide.html | 2 +-
news.html | 7 +-
release-archive.html | 2 +-
security-reports.html | 16 ++
sitemap.xml | 60 +++---
spring-boot.html | 24 +--
spring-framework.html | 36 ++--
troubleshooting.html | 24 +--
tutorial.html | 2 +-
v2/command-line-hasher.html | 10 +-
37 files changed, 458 insertions(+), 425 deletions(-)
diff --git a/.well-known/security.txt b/.well-known/security.txt
index 3792daa43..3dd21caed 100644
--- a/.well-known/security.txt
+++ b/.well-known/security.txt
@@ -1,5 +1,5 @@
Contact: mailto:[email protected]
-Expires: 2027-05-27T00:04:13Z
+Expires: 2027-06-18T17:02:24Z
Preferred-Languages: en
Canonical: https://shiro.apache.org/.well-known/security.txt
Policy: https://shiro.apache.org/security-reports.html
\ No newline at end of file
diff --git a/10-minute-tutorial.html b/10-minute-tutorial.html
index a86690972..3f7a3b0f3 100644
--- a/10-minute-tutorial.html
+++ b/10-minute-tutorial.html
@@ -289,13 +289,13 @@ Now let’s actually do something!</p>
</li>
<li>
<p>Download the latest "Source Code Distribution" from the <a
href="download.html">Download</a> page.
-In this example, we’re using the 2.2.0 release distribution.</p>
+In this example, we’re using the 2.2.1 release distribution.</p>
</li>
<li>
<p>Unzip the source package:</p>
<div class="listingblock">
<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ unzip shiro-root-2.2.0-source-release.zip</code></pre>
+<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ unzip shiro-root-2.2.1-source-release.zip</code></pre>
</div>
</div>
</li>
@@ -303,7 +303,7 @@ In this example, we’re using the 2.2.0 release
distribution.</p>
<p>Enter the quickstart directory:</p>
<div class="listingblock">
<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ cd shiro-root-2.2.0/samples/quickstart</code></pre>
+<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ cd shiro-root-2.2.1/samples/quickstart</code></pre>
</div>
</div>
</li>
diff --git a/10/index.html b/10/index.html
index bc7680275..9a6717960 100644
--- a/10/index.html
+++ b/10/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a
href="../blog/2011/05/24/the-new-rbac-resource-based-access-control.html"><h4
class="news-title">The new role-based vs resource-based access control</h4></a>
+ <p><small>by Les Hazlewood on 2011-05-24</small></p>
+ </div>
<div>
<a
href="../blog/2011/03/14/infoq-article-on-apache-shiro.html"><h4
class="news-title">infoq article on Apache Shiro</h4></a>
<p><small>by Les Hazlewood on 2011-03-14</small></p>
@@ -323,10 +327,6 @@
<a
href="../blog/2011/01/13/apache-shiro-support-for-mule.html"><h4
class="news-title">Apache Shiro support for mule</h4></a>
<p><small>by Alex Salazar on 2011-01-13</small></p>
</div>
- <div>
- <a
href="../blog/2011/01/06/apache-shiro-video-and-slide-from-sf-jug-presentation.html"><h4
class="news-title">Apache Shiro video and slide from SF JUG
(Presentation)</h4></a>
- <p><small>by Alex Salazar on 2011-01-06</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/11/index.html b/11/index.html
index 8b907417f..643fe342e 100644
--- a/11/index.html
+++ b/11/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a
href="../blog/2011/01/06/apache-shiro-video-and-slide-from-sf-jug-presentation.html"><h4
class="news-title">Apache Shiro video and slide from SF JUG
(Presentation)</h4></a>
+ <p><small>by Alex Salazar on 2011-01-06</small></p>
+ </div>
<div>
<a href="../blog/2010/11/03/apache-shiro-110-released.html"><h4
class="news-title">Apache Shiro 1.1.0 Released</h4></a>
<p><small>by Les Hazlewood on 2010-11-03</small></p>
@@ -323,10 +327,6 @@
<a
href="../blog/2010/09/14/ibm-developerworks-introduction-to-apache-shiro.html"><h4
class="news-title">IBM DeveloperWorks - Introduction to Apache Shiro</h4></a>
<p><small>by Les Hazlewood on 2010-09-14</small></p>
</div>
- <div>
- <a
href="../blog/2010/06/01/sdforum-java-sig-apache-shiro-presentation.html"><h4
class="news-title">SDForum Java SIG Apache Shiro Presentation</h4></a>
- <p><small>by Les Hazlewood on 2010-06-01</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/12/index.html b/12/index.html
index 8ace36e5c..6315ebbf6 100644
--- a/12/index.html
+++ b/12/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a
href="../blog/2010/06/01/sdforum-java-sig-apache-shiro-presentation.html"><h4
class="news-title">SDForum Java SIG Apache Shiro Presentation</h4></a>
+ <p><small>by Les Hazlewood on 2010-06-01</small></p>
+ </div>
<div>
<a
href="../blog/2010/06/01/apache-shiro-100-incubating-released.html"><h4
class="news-title">Apache Shiro 1.0.0-incubating Released!</h4></a>
<p><small>by Les Hazlewood on 2010-06-01</small></p>
diff --git a/2/index.html b/2/index.html
index 218023b43..cfb260574 100644
--- a/2/index.html
+++ b/2/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a href="../blog/2025/11/apache-shiro-206-released.html"><h4
class="news-title">2.0.6 available</h4></a>
+ <p><small>by Francois Papon on 2025-11-07</small></p>
+ </div>
<div>
<a href="../blog/2025/07/apache-shiro-205-released.html"><h4
class="news-title">2.0.5 available</h4></a>
<p><small>by Lenny Primak on 2025-07-07</small></p>
@@ -323,10 +327,6 @@
<a href="../blog/2024/11/apache-shiro-202-released.html"><h4
class="news-title">2.0.2 available</h4></a>
<p><small>by Lenny Primak on 2024-11-13</small></p>
</div>
- <div>
- <a href="../blog/2024/05/apache-shiro-201-released.html"><h4
class="news-title">2.0.1 available</h4></a>
- <p><small>by Lenny Primak on 2024-05-30</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/3/index.html b/3/index.html
index b1a271eb7..8ff9f29cb 100644
--- a/3/index.html
+++ b/3/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a href="../blog/2024/05/apache-shiro-201-released.html"><h4
class="news-title">2.0.1 available</h4></a>
+ <p><small>by Lenny Primak on 2024-05-30</small></p>
+ </div>
<div>
<a href="../blog/2024/02/apache-shiro-200-released.html"><h4
class="news-title">2.0.0 available</h4></a>
<p><small>by Lenny Primak on 2024-02-28</small></p>
@@ -323,10 +327,6 @@
<a
href="../blog/2023/05/04/apache-shiro-200-alpha-1-released.html"><h4
class="news-title">2.0.0-alpha available</h4></a>
<p><small>by Lenny Primak on 2023-05-04</small></p>
</div>
- <div>
- <a href="../blog/2023/01/13/apache-shiro-1110-released.html"><h4
class="news-title">1.11.0 available with fix CVE-2023-22602</h4></a>
- <p><small>by Brian Demers on 2023-01-13</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/4/index.html b/4/index.html
index fa2a3fd90..f29b001bf 100644
--- a/4/index.html
+++ b/4/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a href="../blog/2023/01/13/apache-shiro-1110-released.html"><h4
class="news-title">1.11.0 available with fix CVE-2023-22602</h4></a>
+ <p><small>by Brian Demers on 2023-01-13</small></p>
+ </div>
<div>
<a href="../blog/2022/11/19/apache-shiro-1101-released.html"><h4
class="news-title">Apache Shiro 1.10.1 available</h4></a>
<p><small>by Benjamin Marwell on 2022-11-19</small></p>
@@ -323,10 +327,6 @@
<a href="../blog/2022/06/28/apache-shiro-191-released.html"><h4
class="news-title">1.9.1 available with fix CVE-2022-32532</h4></a>
<p><small>by Brian Demers on 2022-06-28</small></p>
</div>
- <div>
- <a href="../blog/2022/03/22/apache-shiro-190-released.html"><h4
class="news-title">Apache Shiro 1.9.0 Released</h4></a>
- <p><small>by Benjamin Marwell on 2022-03-22</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/5/index.html b/5/index.html
index c652201d0..6d85829dc 100644
--- a/5/index.html
+++ b/5/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a href="../blog/2022/03/22/apache-shiro-190-released.html"><h4
class="news-title">Apache Shiro 1.9.0 Released</h4></a>
+ <p><small>by Benjamin Marwell on 2022-03-22</small></p>
+ </div>
<div>
<a href="../blog/2022/02/09/new-shiro-website.html"><h4
class="news-title">The new Apache Shiro website is live!</h4></a>
<p><small>by Benjamin Marwell on 2022-02-09</small></p>
@@ -323,10 +327,6 @@
<a href="../blog/2020/v1.7.0.html"><h4 class="news-title">1.7.0
available with fix CVE-2020-17510</h4></a>
<p><small>by François Papon on 2020-10-29</small></p>
</div>
- <div>
- <a href="../blog/2020/v1.6.0.html"><h4 class="news-title">Apache
Shiro 1.6.0 available</h4></a>
- <p><small>by François Papon on 2020-08-17</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/6/index.html b/6/index.html
index 43ed82d79..2a7cbf15a 100644
--- a/6/index.html
+++ b/6/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a href="../blog/2020/v1.6.0.html"><h4 class="news-title">Apache
Shiro 1.6.0 available</h4></a>
+ <p><small>by François Papon on 2020-08-17</small></p>
+ </div>
<div>
<a
href="../blog/2020/05/25/feathercast-with-brian-demers.html"><h4
class="news-title">Feathercast with Brian Demers</h4></a>
<p><small>by Benjamin Marwell on 2020-05-25</small></p>
@@ -323,10 +327,6 @@
<a href="../blog/2020/02/23/apache-shiro-151-released.html"><h4
class="news-title">Apache Shiro 1.5.1 Released</h4></a>
<p><small>by The Apache Shiro Team on 2020-02-23</small></p>
</div>
- <div>
- <a href="../blog/2020/01/25/apache-shiro-150-released.html"><h4
class="news-title">Apache Shiro 1.5.0 Released</h4></a>
- <p><small>by The Apache Shiro Team on 2020-01-25</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/7/index.html b/7/index.html
index e397dba12..a24f15c8e 100644
--- a/7/index.html
+++ b/7/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a href="../blog/2020/01/25/apache-shiro-150-released.html"><h4
class="news-title">Apache Shiro 1.5.0 Released</h4></a>
+ <p><small>by The Apache Shiro Team on 2020-01-25</small></p>
+ </div>
<div>
<a href="../blog/2019/11/18/apache-shiro-142-released.html"><h4
class="news-title">Apache Shiro 1.4.2 Released</h4></a>
<p><small>by François Papon on 2019-11-18</small></p>
@@ -323,10 +327,6 @@
<a href="../blog/2016/09/09/apache-shiro-132-released.html"><h4
class="news-title">Apache Shiro 1.3.2 Released</h4></a>
<p><small>by Brian Demers on 2016-09-09</small></p>
</div>
- <div>
- <a href="../blog/2016/08/29/apache-shiro-131-released.html"><h4
class="news-title">Apache Shiro 1.3.1 Released</h4></a>
- <p><small>by Brian Demers on 2016-08-29</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/8/index.html b/8/index.html
index 2f9513623..cfc6f6bb8 100644
--- a/8/index.html
+++ b/8/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a href="../blog/2016/08/29/apache-shiro-131-released.html"><h4
class="news-title">Apache Shiro 1.3.1 Released</h4></a>
+ <p><small>by Brian Demers on 2016-08-29</small></p>
+ </div>
<div>
<a href="../blog/2016/07/25/apache-shiro-130-released.html"><h4
class="news-title">Apache Shiro 1.3.0 Released</h4></a>
<p><small>by Brian Demers on 2016-07-25</small></p>
@@ -323,10 +327,6 @@
<a href="../blog/2015/08/03/apache-shiro-124-released.html"><h4
class="news-title">Apache Shiro 1.2.4 Released</h4></a>
<p><small>by Kalle Korhonen on 2015-08-03</small></p>
</div>
- <div>
- <a href="../blog/2013/05/30/apache-shiro-122-released.html"><h4
class="news-title">Apache Shiro 1.2.2 Released</h4></a>
- <p><small>by The Apache Shiro Team on 2013-05-30</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/9/index.html b/9/index.html
index 2ef92f71b..2251da9aa 100644
--- a/9/index.html
+++ b/9/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a href="../blog/2013/05/30/apache-shiro-122-released.html"><h4
class="news-title">Apache Shiro 1.2.2 Released</h4></a>
+ <p><small>by The Apache Shiro Team on 2013-05-30</small></p>
+ </div>
<div>
<a href="../blog/2012/07/29/apache-shiro-121-released.html"><h4
class="news-title">Apache Shiro 1.2.1 Released</h4></a>
<p><small>by Les Hazlewood on 2012-07-29</small></p>
@@ -323,10 +327,6 @@
<a href="../blog/2011/06/30/apache-shiro-login-demo.html"><h4
class="news-title">Apache Shiro Login Demo</h4></a>
<p><small>by Les Hazlewood on 2011-06-30</small></p>
</div>
- <div>
- <a
href="../blog/2011/05/24/the-new-rbac-resource-based-access-control.html"><h4
class="news-title">The new role-based vs resource-based access control</h4></a>
- <p><small>by Les Hazlewood on 2011-05-24</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/authentication.html b/authentication.html
index 6ec1cca59..06ac2e1a0 100644
--- a/authentication.html
+++ b/authentication.html
@@ -731,6 +731,17 @@ securityManager.authenticator.authenticationStrategy =
$authcStrategy
...</code></pre>
</div>
</div>
+<div class="paragraph">
+<p>Since Shiro 3.0.0, <code>AtLeastOneSuccessfulStrategy</code> will warn if
authentication attempt fails due to a system error (e.g. a database connection
failure) instead of an actual authentication failure (e.g. incorrect password).
This is because in a multi-realm environment, it can be difficult to determine
if an authentication failure was due to an actual authentication failure or a
system error. In addition to the warning, an
<code>AuthenticationExceptionEvent</code> will be publ [...]
+</div>
+<div class="listingblock">
+<div class="title">Here is an example of shiro.ini which works only when
<code>AtLeastOneSuccessfulStrategy</code> is used</div>
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-ini hljs"
data-lang="ini">[main]
+...
+securityManager.authenticator.authenticationStrategy.warnIfAuthenticatorFailed
= false</code></pre>
+</div>
+</div>
<div class="admonitionblock tip">
<table>
<tr>
diff --git a/authorization.html b/authorization.html
index c0da36207..2dd23271b 100644
--- a/authorization.html
+++ b/authorization.html
@@ -782,7 +782,7 @@ openBankAccount();</code></pre>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a
href="static/current/apidocs/org/apache/shiro/subject/Subject.html#checkPermission(java.lang.String)"><code>checkPermission(String
perm)</code></a></p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Returns
quietly if the <code>Subject</code> is is permitted to perform an action or
access a resource summarized by the specified <code>String</code> permission,
or throws an <code>AuthorizationException</code> if not.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Returns
quietly if the <code>Subject</code> is permitted to perform an action or access
a resource summarized by the specified <code>String</code> permission, or
throws an <code>AuthorizationException</code> if not.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a
href="static/current/apidocs/org/apache/shiro/subject/Subject.html#checkPermissions(java.util.Collection)"><code>checkPermissions(Collection<Permission>
perms)</code></a></p></td>
diff --git a/documentation.html b/blog/2026/06/apache-shiro-221-released.html
similarity index 56%
copy from documentation.html
copy to blog/2026/06/apache-shiro-221-released.html
index 1bf04fcaf..0428f8da0 100644
--- a/documentation.html
+++ b/blog/2026/06/apache-shiro-221-released.html
@@ -18,50 +18,49 @@
<html lang="en">
<head>
<meta charset="utf-8"/>
- <title>Apache Shiro Documentation | Apache Shiro</title>
+ <title>2.2.1 available | Apache Shiro</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="Apache Shiro documentation hub with
guides, tutorials, and reference materials for authentication, authorization,
session management, and cryptography.">
- <meta property="og:description" content="Apache Shiro documentation hub
with guides, tutorials, and reference materials for authentication,
authorization, session management, and cryptography.">
- <meta name="keywords" content='documentation,reference,manual,guides'>
+ <meta name="author" content="Francois Papon">
+ <meta name="keywords" content='blog,release'>
<meta name="generator" content="JBake">
<meta name="google-site-verification"
content="QIax6uT5UX3enoU0G8Pz2pXbQ45KaQuHZ3nCh9V27mw">
<meta name="google-site-verification"
content="ecFap6dWJgS_GCCtxmJQJ_nFYQhM6EgSpBPZDU7xsCE">
<meta name="google-site-verification"
content="gBTYOG8lMfNb_jrWrH3kFbudpEs_WrAJ2lb2-zLRaso"/>
<meta name="msvalidate.01" content="0B57EB46CBFAD8FD45008D2DB6B6C68C">
- <meta property="og:title" content="Apache Shiro Documentation | Apache
Shiro"/>
+ <meta property="og:title" content="2.2.1 available | Apache Shiro"/>
+ <meta property="article:published_time" content="2026-06-17T00:00:00Z"/>
+ <meta name="publish_date" property="og:publish_date"
content="2026-06-17T00:00:00Z"/>
<meta property="og:type" content="article"/>
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@ApacheShiro" />
- <meta property="article:modification_time" content="2010-03-18T00:00:00Z"/>
- <meta property="article:tag" content='documentation'/>
- <meta property="article:tag" content='reference'/>
- <meta property="article:tag" content='manual'/>
- <meta property="article:tag" content='guides'/>
+ <meta property="article:modification_time" content="2026-06-17T00:00:00Z"/>
+ <meta property="article:tag" content='blog'/>
+ <meta property="article:tag" content='release'/>
<meta property="og:locale" content="en_US" />
- <meta property="og:url"
content='https://shiro.apache.org/documentation.html'/>
- <meta property="og:image" content='images/shiro-featured-image.png'/>
+ <meta property="og:url"
content='https://shiro.apache.org/blog/2026/06/apache-shiro-221-released.html'/>
+ <meta property="og:image"
content='../../../images/shiro-featured-image.png'/>
<meta property="og:image:width" content='1200'/>
<meta property="og:image:height" content='628'/>
<meta property="og:site_name" content="Apache Shiro"/>
<!-- Le styles -->
- <link href="css/bootstrap.min.css" rel="stylesheet">
- <link href="bootstrap-icons-1.13.1/bootstrap-icons.css" rel="stylesheet">
- <link href="css/asciidoctor.css" rel="stylesheet">
- <link href="css/base.css" rel="stylesheet">
- <link href="highlight.js-11.11.1/styles/default.min.css" rel="stylesheet">
- <link href="css/gh-pages/gh-fork-ribbon.css" rel="stylesheet"/>
+ <link href="../../../css/bootstrap.min.css" rel="stylesheet">
+ <link href="../../../bootstrap-icons-1.13.1/bootstrap-icons.css"
rel="stylesheet">
+ <link href="../../../css/asciidoctor.css" rel="stylesheet">
+ <link href="../../../css/base.css" rel="stylesheet">
+ <link href="../../../highlight.js-11.11.1/styles/default.min.css"
rel="stylesheet">
+ <link href="../../../css/gh-pages/gh-fork-ribbon.css" rel="stylesheet"/>
<!-- Theme toggle script (loaded early to prevent flash) -->
- <script src="js/theme.js"></script>
+ <script src="../../../js/theme.js"></script>
<!-- Fav and touch icons -->
<!--<link rel="apple-touch-icon-precomposed" sizes="144x144"
href="../assets/ico/apple-touch-icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114"
href="../assets/ico/apple-touch-icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72"
href="../assets/ico/apple-touch-icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed"
href="../assets/ico/apple-touch-icon-57-precomposed.png">-->
- <link rel="shortcut icon" href="favicon.ico">
+ <link rel="shortcut icon" href="../../../favicon.ico">
<!-- Matomo -->
<script>
@@ -91,7 +90,7 @@
<div class="masthead">
<p class="lead">
- <a href="index.html"><img src="images/apache-shiro-logo.png"
style="height:100px; width:auto; vertical-align: bottom; margin-top: 20px;"
alt="Apache Shiro Logo"></a>
+ <a href="../../../index.html"><img
src="../../../images/apache-shiro-logo.png" style="height:100px; width:auto;
vertical-align: bottom; margin-top: 20px;" alt="Apache Shiro Logo"></a>
<span class="tagline">Simple. Java. Security.</span>
<a class="pull-right"
href="https://www.apache.org/events/current-event.html">
<img style="padding-top: 8px"
src="https://www.apache.org/events/current-event-125x125.png" alt="Apache
Software Foundation Event Banner"/>
@@ -109,10 +108,10 @@
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
- <a class="nav-link" href="get-started.html">Get Started</a>
+ <a class="nav-link" href="../../../get-started.html">Get
Started</a>
</li>
<li class="nav-item">
- <a class="nav-link" href="documentation.html">Docs</a>
+ <a class="nav-link" href="../../../documentation.html">Docs</a>
</li>
<li class="nav-item dropdown">
@@ -120,16 +119,16 @@
Web Apps
</a>
<ul class="dropdown-menu"
aria-labelledby="navbarDropdown-webapps">
- <li><a class="dropdown-item" href="web.html">General</a></li>
- <li><a class="dropdown-item" href="jaxrs.html">JAX-RS</a></li>
- <li><a class="dropdown-item" href="jakarta-ee.html">Jakarta
EE</a></li>
- <li><a class="dropdown-item"
href="dependency-chain.html">Jakarta EE with Dependency Chains</a></li>
+ <li><a class="dropdown-item"
href="../../../web.html">General</a></li>
+ <li><a class="dropdown-item"
href="../../../jaxrs.html">JAX-RS</a></li>
+ <li><a class="dropdown-item"
href="../../../jakarta-ee.html">Jakarta EE</a></li>
+ <li><a class="dropdown-item"
href="../../../dependency-chain.html">Jakarta EE with Dependency Chains</a></li>
<li><hr class="dropdown-divider"></li>
- <li><a class="dropdown-item"
href="web-features.html">Features</a></li>
+ <li><a class="dropdown-item"
href="../../../web-features.html">Features</a></li>
</ul>
</li>
- <li><a class="nav-link" href="features.html">Features</a></li>
+ <li><a class="nav-link"
href="../../../features.html">Features</a></li>
<!-- integrations -->
<li class="nav-item dropdown">
@@ -137,10 +136,10 @@
Integrations
</a>
<ul class="dropdown-menu"
aria-labelledby="navbarDropdown-integrations">
- <li><a class="dropdown-item"
href="spring-boot.html">Spring</a></li>
- <li><a class="dropdown-item" href="guice.html">Guice</a></li>
+ <li><a class="dropdown-item"
href="../../../spring-boot.html">Spring</a></li>
+ <li><a class="dropdown-item"
href="../../../guice.html">Guice</a></li>
<li><hr class="dropdown-divider"></li>
- <li><a class="dropdown-item"
href="integration.html">Third-Party Integrations</a></li>
+ <li><a class="dropdown-item"
href="../../../integration.html">Third-Party Integrations</a></li>
</ul>
</li>
@@ -150,16 +149,16 @@
Community
</a>
<ul class="dropdown-menu"
aria-labelledby="navbarDropdown-community">
- <li><a class="dropdown-item" href="forums.html">Community
Forums</a></li>
- <li><a class="dropdown-item" href="mailing-lists.html">Mailing
Lists</a></li>
- <li><a class="dropdown-item"
href="articles.html">Articles</a></li>
- <li><a class="dropdown-item" href="news.html">News</a></li>
- <li><a class="dropdown-item" href="events.html">Events</a></li>
- <li><a class="dropdown-item"
href="troubleshooting.html">Troubleshooting & FAQ</a></li>
- <li><a class="dropdown-item" href="support.html">Community
Support</a></li>
+ <li><a class="dropdown-item"
href="../../../forums.html">Community Forums</a></li>
+ <li><a class="dropdown-item"
href="../../../mailing-lists.html">Mailing Lists</a></li>
+ <li><a class="dropdown-item"
href="../../../articles.html">Articles</a></li>
+ <li><a class="dropdown-item"
href="../../../news.html">News</a></li>
+ <li><a class="dropdown-item"
href="../../../events.html">Events</a></li>
+ <li><a class="dropdown-item"
href="../../../troubleshooting.html">Troubleshooting & FAQ</a></li>
+ <li><a class="dropdown-item"
href="../../../support.html">Community Support</a></li>
<li><hr class="dropdown-divider"></li>
- <li><a class="dropdown-item"
href="commercial-support.html">Commercial Support</a></li>
- <li><a class="dropdown-item"
href="community.html">More</a></li>
+ <li><a class="dropdown-item"
href="../../../commercial-support.html">Commercial Support</a></li>
+ <li><a class="dropdown-item"
href="../../../community.html">More</a></li>
</ul>
</li>
@@ -169,10 +168,10 @@
About
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown-about">
- <li><a class="dropdown-item" href="about.html">About</a></li>
- <li><a class="dropdown-item"
href="privacy-policy.html">Privacy Policy</a></li>
- <li><a class="dropdown-item"
href="security-model.html">Security Model</a></li>
- <li><a class="dropdown-item"
href="security-reports.html">Vulnerability Reports</a></li>
+ <li><a class="dropdown-item"
href="../../../about.html">About</a></li>
+ <li><a class="dropdown-item"
href="../../../privacy-policy.html">Privacy Policy</a></li>
+ <li><a class="dropdown-item"
href="../../../security-model.html">Security Model</a></li>
+ <li><a class="dropdown-item"
href="../../../security-reports.html">Vulnerability Reports</a></li>
</ul>
</li>
</ul>
@@ -203,119 +202,90 @@
</nav>
<div class="page-header">
- <h1>Apache Shiro Documentation</h1>
+ <h1>2.2.1 available</h1>
</div>
- <div class="admonitionblock tip">
- <table>
- <tbody>
- <tr>
- <td class="icon">
- <div class="title">Handy Hint</div>
- </td>
- <td class="content">
- <div class="title">Shiro v1 version notice</div>
- <div class="paragraph">
- <p>As of February 28, 2024, Shiro v1 was superseded by v2.<p>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
+ <p>
+ <em>Published by Francois Papon on the
+ <time datetime="2026-06-17T00:00:00Z">17th of June,
2026</time>
+ </em>
+ </p>
-<div class="sect1">
-<h2 id="introduction">Introduction</h2>
+ <div id="preamble">
<div class="sectionbody">
<div class="paragraph">
-<p>Helpful if read in order:</p>
+<p>The Apache Shiro team is pleased to announce the release of Apache Shiro
version 2.2.1.</p>
</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://www.infoq.com/articles/apache-shiro">Application Security
with Apache Shiro</a> - full intro article on InfoQ.com</p>
-</li>
-<li>
-<p><a href="10-minute-tutorial.html">10 Minute Tutorial</a></p>
-</li>
-<li>
-<p><a href="webapp-tutorial.html">Beginner’s Webapp Tutorial: a
step-by-step tutorial to enable Shiro in a web application</a></p>
-</li>
-<li>
-<p><a href="https://start.flowlogix.com">Flowlogix Starter</a> - generate
Jakarta EE projects with Shiro support</p>
-</li>
-</ul>
+<div class="paragraph">
+<p>This release is available for download now.</p>
</div>
</div>
</div>
<div class="sect1">
-<h2 id="apache_shiro_reference_and_api">Apache Shiro Reference and API</h2>
+<h2 id="release_highlights">Release Highlights</h2>
<div class="sectionbody">
-<div class="sect2">
-<h3 id="reference_manual">Reference Manual</h3>
+<div class="paragraph">
+<p>This is a maintenance release that includes several bug fixes, improvements
and dependency updates. It is recommended for all users to upgrade to this
version.</p>
+</div>
+<div class="paragraph">
+<p>We have new contributors!</p>
+</div>
<div class="ulist">
<ul>
<li>
-<p><a href="reference.html">Reference Manual</a></p>
+<p><a href="https://github.com/potiuk">@potiuk</a></p>
</li>
</ul>
</div>
</div>
-<div class="sect2">
-<h3 id="guides_important_shiro_concepts">Guides - important Shiro
concepts:</h3>
+</div>
+<div class="sect1">
+<h2 id="security_enhancements">Security Enhancements</h2>
+<div class="sectionbody">
<div class="ulist">
<ul>
<li>
-<p><a href="10-minute-tutorial.html">10 Minute Tutorial</a></p>
-</li>
-<li>
-<p><a href="webapp-tutorial.html">Beginner’s Webapp Tutorial: a
step-by-step tutorial to enable Shiro in a web application</a></p>
-</li>
-<li>
-<p><a href="java-authentication-guide.html">Authentication Guide</a></p>
-</li>
-<li>
-<p><a href="java-authorization-guide.html">Authorization Guide</a></p>
-</li>
-<li>
-<p><a href="realm.html">Realm Guide</a></p>
-</li>
-<li>
-<p><a href="migration-guide.html">Migration Guide: Upgrading from Shiro 1.x to
2.x and 3.x</a></p>
+<p><a
href="https://shiro.apache.org/security-reports.html#cve_2026_48589">CVE-2026-48589</a></p>
</li>
<li>
-<p>Community-contributed <a href="articles.html">Articles</a></p>
+<p><a
href="https://shiro.apache.org/security-reports.html#cve_2026_49268">CVE-2026-49268</a></p>
</li>
</ul>
</div>
</div>
-<div class="sect2">
-<h3 id="current_release">Current Release</h3>
+</div>
+<div class="sect1">
+<h2 id="all_changes">All changes</h2>
+<div class="sectionbody">
<div class="paragraph">
-<p>Apache Shiro 2.2.0 (<a href="download.html">Download</a>)</p>
+<p>You can learn more on <a
href="https://github.com/apache/shiro/releases/tag/shiro-root-2.2.1">GitHub,
Release 2.2.1</a>.</p>
</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://javadoc.io/doc/org.apache.shiro">API</a> (Javadoc - Hosted
on javadoc.io)</p>
-</li>
-<li>
-<p><a href="https://github.com/apache/shiro/tree/shiro-root-2.2.0/">Browse
Source</a> (GitHub tag)</p>
-</li>
-<li>
-<p><a href="static/latest/">Maven Static Site</a></p>
-</li>
-</ul>
</div>
-<h2 id="Lendahandwithdocumentation">Lend a hand with documentation</h2>
-
-<p>While we hope this documentation helps you with the work you're doing with
Apache Shiro, the community is improving and expanding the documentation all
the time. If you'd like to help the Shiro project, please consider correcting,
expanding, or adding documentation where you see a need. Every little bit of
help you provide expands the community and in turn improves Shiro. </p>
-
-<p>The easiest way to contribute your documentation is to submit a
pull-request by clicking on the <code>Edit</code> link below, or send it to the
<a href="mailing-lists.html" title="Mailing Lists">User Mailing List</a>.</p>
</div>
+<div class="sect1">
+<h2 id="download">Download</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Download and verification instructions are available <a
href="/download.html">on our download page</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="documentation">Documentation</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>For more information on <a href="/documentation.html">Shiro, please read
the documentation.</a></p>
+</div>
+<div class="paragraph">
+<p>Enjoy!</p>
</div>
+<div class="paragraph">
+<p>The Apache Shiro Team</p>
</div>
+</div>
+</div>
+
<hr />
</div>
@@ -339,7 +309,7 @@
</div>
<div class="d-flex justify-content-end col-md-4" id="editThisPage">
- <input type="hidden" id="ghEditPage"
value="https://github.com/apache/shiro-site/edit/main/src/site/content/documentation.adoc"/>
+ <input type="hidden" id="ghEditPage"
value="https://github.com/apache/shiro-site/edit/main/src/site/content/blog/2026/06/apache-shiro-221-released.adoc"/>
</div>
<div class="d-flex col-md-2 justify-content-end" style="position:
relative">
@@ -352,9 +322,9 @@
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="js/bootstrap.min.js"></script>
- <script src="highlight.js-11.11.1/highlight.min.js"></script>
- <script src="js/shiro.js"></script>
+ <script src="../../../js/bootstrap.min.js"></script>
+ <script src="../../../highlight.js-11.11.1/highlight.min.js"></script>
+ <script src="../../../js/shiro.js"></script>
<script>
docReady(
diff --git a/cas.html b/cas.html
index c9ca7dafb..9eb551ce4 100644
--- a/cas.html
+++ b/cas.html
@@ -398,7 +398,7 @@ Generally, the CAS client forwards the user to the
originally called protected p
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-cas</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
</code></pre>
</div>
@@ -408,7 +408,7 @@ Generally, the CAS client forwards the user to the
originally called protected p
role="tabpanel"
aria-labelledby="gradle-casmain-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-cas:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-cas:2.2.1'
</code></pre>
</div>
<div
@@ -417,7 +417,7 @@ Generally, the CAS client forwards the user to the
originally called protected p
role="tabpanel"
aria-labelledby="sbt-casmain-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-cas" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-cas" % "2.2.1"
</code></pre>
</div>
<div
@@ -426,7 +426,7 @@ Generally, the CAS client forwards the user to the
originally called protected p
role="tabpanel"
aria-labelledby="ivy-casmain-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-cas" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-cas" rev="2.2.1"/>
</code></pre>
</div>
<div
@@ -435,7 +435,7 @@ Generally, the CAS client forwards the user to the
originally called protected p
role="tabpanel"
aria-labelledby="leiningen-casmain-tab"
>
- <pre><code class='clojure language-clojure'>[org.apache.shiro/shiro-cas
"2.2.0"]
+ <pre><code class='clojure language-clojure'>[org.apache.shiro/shiro-cas
"2.2.1"]
</code></pre>
</div>
<div
@@ -444,7 +444,7 @@ Generally, the CAS client forwards the user to the
originally called protected p
role="tabpanel"
aria-labelledby="buildr-casmain-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-cas:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-cas:jar:2.2.1'
</code></pre>
</div>
</div>
diff --git a/command-line-hasher.html b/command-line-hasher.html
index 574ee62fc..b9d611180 100644
--- a/command-line-hasher.html
+++ b/command-line-hasher.html
@@ -267,14 +267,14 @@ They are outdated and all considered insecure!</p>
<h2 id="CommandLineHasher-Usage">Usage</h2>
<div class="sectionbody">
<div class="paragraph">
-<p>Ensure you have access to the <code>shiro-tools-hasher-2.2.0-cli.jar</code>
file.
+<p>Ensure you have access to the <code>shiro-tools-hasher-2.2.1-cli.jar</code>
file.
You can either find this in a source build in the
<em>buildroot</em>`/tools/hasher/target` directory or via download through
Maven.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash"># Use the following to download from Maven Central into
-#
~/.m2/repository/org/apache/shiro/tools/shiro-tools-hasher/2.2.0/shiro-tools-hasher-2.2.0-cli.jar
-$ mvn dependency:get -DgroupId=org.apache.shiro.tools
-DartifactId=shiro-tools-hasher -Dclassifier=cli -Dversion=2.2.0</code></pre>
+#
~/.m2/repository/org/apache/shiro/tools/shiro-tools-hasher/2.2.1/shiro-tools-hasher-2.2.1-cli.jar
+$ mvn dependency:get -DgroupId=org.apache.shiro.tools
-DartifactId=shiro-tools-hasher -Dclassifier=cli -Dversion=2.2.1</code></pre>
</div>
</div>
<div class="paragraph">
@@ -282,7 +282,7 @@ $ mvn dependency:get -DgroupId=org.apache.shiro.tools
-DartifactId=shiro-tools-h
</div>
<div class="listingblock">
<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ java -jar shiro-tools-hasher-2.2.0-cli.jar</code></pre>
+<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ java -jar shiro-tools-hasher-2.2.1-cli.jar</code></pre>
</div>
</div>
<div class="paragraph">
@@ -315,7 +315,7 @@ Older algorithms such as MD5 and SHA-1 are no longer
available since Shiro 2.0+
</div>
<div class="listingblock">
<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ java -jar shiro-tools-hasher-2.2.0-cli.jar -p</code></pre>
+<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ java -jar shiro-tools-hasher-2.2.1-cli.jar -p</code></pre>
</div>
</div>
<div class="paragraph">
diff --git a/css/base.css b/css/base.css
index ba79ecd63..9055cdb93 100644
--- a/css/base.css
+++ b/css/base.css
@@ -114,7 +114,7 @@ a:hover {
}
/** ======================================================= */
-/** Github Ribbon */
+/** GitHub Ribbon */
/** ======================================================= **/
.github-fork-ribbon.right-top:before {
diff --git a/dependency-chain.html b/dependency-chain.html
index 86978ba83..db9b5a771 100644
--- a/dependency-chain.html
+++ b/dependency-chain.html
@@ -349,7 +349,7 @@
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-bom</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
diff --git a/documentation.html b/documentation.html
index 1bf04fcaf..f8ead3901 100644
--- a/documentation.html
+++ b/documentation.html
@@ -293,7 +293,7 @@
<div class="sect2">
<h3 id="current_release">Current Release</h3>
<div class="paragraph">
-<p>Apache Shiro 2.2.0 (<a href="download.html">Download</a>)</p>
+<p>Apache Shiro 2.2.1 (<a href="download.html">Download</a>)</p>
</div>
<div class="ulist">
<ul>
@@ -301,7 +301,7 @@
<p><a href="https://javadoc.io/doc/org.apache.shiro">API</a> (Javadoc - Hosted
on javadoc.io)</p>
</li>
<li>
-<p><a href="https://github.com/apache/shiro/tree/shiro-root-2.2.0/">Browse
Source</a> (GitHub tag)</p>
+<p><a href="https://github.com/apache/shiro/tree/shiro-root-2.2.1/">Browse
Source</a> (GitHub tag)</p>
</li>
<li>
<p><a href="static/latest/">Maven Static Site</a></p>
diff --git a/download.html b/download.html
index c6c49dd5a..28c2b6a0f 100644
--- a/download.html
+++ b/download.html
@@ -207,7 +207,7 @@
<p><div id="preamble">
<div class="sectionbody">
<div class="paragraph">
-<p>Apache Shiro 2.2.0 is the current stable release (Java 11+).</p>
+<p>Apache Shiro 2.2.1 is the current stable release (Java 11+).</p>
</div>
<div class="paragraph">
<p>To download Shiro please follow the instructions below.</p>
@@ -226,7 +226,7 @@
<h2 id="current_release">Current Release</h2>
<div class="sectionbody">
<div class="paragraph">
-<p>The current release is 2.2.0.
+<p>The current release is 2.2.1.
For older releases, please visit our <a href="release-archive.html">release
archive</a>.</p>
</div>
</div>
@@ -236,41 +236,41 @@ For older releases, please visit our <a
href="release-archive.html">release arch
<p>
<ul>
- <li><a href="#220">Apache Shiro Release v2.2.0</a></li>
+ <li><a href="#221">Apache Shiro Release v2.2.1</a></li>
<ul>
- <li><a href="#220Source">2.2.0 Source Code Distribution</a></li>
- <li><a href="#220Git">2.2.0 Git Source repository</a></li>
- <li><a href="#220Binary">2.2.0 Binaries</a></li>
+ <li><a href="#221Source">2.2.1 Source Code Distribution</a></li>
+ <li><a href="#221Git">2.2.1 Git Source repository</a></li>
+ <li><a href="#221Binary">2.2.1 Binaries</a></li>
</ul>
</ul>
</p>
- <section id="220">
- <h2>Release 2.2.0</h2>
+ <section id="221">
+ <h2>Release 2.2.1</h2>
- <h3 id="220Source">2.2.0 Source Code Distribution</h3>
+ <h3 id="221Source">2.2.1 Source Code Distribution</h3>
<p>The source bundle requires JDK 11+ and Maven 3.8+ to build:
- <code><a class="external-link"
href="https://www.apache.org/dyn/closer.lua/shiro/2.2.0/shiro-root-2.2.0-source-release.zip">shiro-root-2.2.0-source-release.zip</a></code>
+ <code><a class="external-link"
href="https://www.apache.org/dyn/closer.lua/shiro/2.2.1/shiro-root-2.2.1-source-release.zip">shiro-root-2.2.1-source-release.zip</a></code>
(<a class="external-link"
-
href="https://downloads.apache.org/shiro/2.2.0/shiro-root-2.2.0-source-release.zip.asc.txt">pgp</a>,
<a
+
href="https://downloads.apache.org/shiro/2.2.1/shiro-root-2.2.1-source-release.zip.asc.txt">pgp</a>,
<a
class="external-link"
-
href="https://downloads.apache.org/shiro/2.2.0/shiro-root-2.2.0-source-release.zip.sha512">sha512</a>)
+
href="https://downloads.apache.org/shiro/2.2.1/shiro-root-2.2.1-source-release.zip.sha512">sha512</a>)
</code>
<p>Associated documentation can be found <a href="documentation.html"
title="Documentation">here</a></p>
- <h3 id="220Git">2.2.0 Git Source repository</h3>
+ <h3 id="221Git">2.2.1 Git Source repository</h3>
<p>The source can be cloned anonymously from Git with this command:</p>
<pre><code class="language-bash bash">git clone
https://github.com/apache/shiro.git
-git checkout shiro-root-2.2.0
+git checkout shiro-root-2.2.1
</code>
</pre>
- <h3 id="220Binary">2.2.0 Binaries</h3>
+ <h3 id="221Binary">2.2.1 Binaries</h3>
<p>If you don't want to build yourself, you can download pre-built binaries
from Maven Central, just click the link in the "Artifact" column. If you would
like
acquire Shiro through Maven, then please use the markup listed under
"Maven Usage"</p>
@@ -291,15 +291,15 @@ git checkout shiro-root-2.2.0
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-core/2.2.0/shiro-core-2.2.0.jar">shiro-core</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-core/2.2.0/shiro-core-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-core/2.2.1/shiro-core-2.2.1.jar">shiro-core</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-core/2.2.1/shiro-core-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -313,15 +313,15 @@ and one of its binding jars is required.
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-web/2.2.0/shiro-web-2.2.0.jar">shiro-web</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-web/2.2.0/shiro-web-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-web/2.2.1/shiro-web-2.2.1.jar">shiro-web</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-web/2.2.1/shiro-web-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -331,15 +331,15 @@ and one of its binding jars is required.
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-servlet-plugin/2.2.0/shiro-servlet-plugin-2.2.0.jar">shiro-servlet-plugin</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-servlet-plugin/2.2.0/shiro-servlet-plugin-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-servlet-plugin/2.2.1/shiro-servlet-plugin-2.2.1.jar">shiro-servlet-plugin</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-servlet-plugin/2.2.1/shiro-servlet-plugin-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-servlet-plugin</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -349,15 +349,15 @@ and one of its binding jars is required.
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cdi/2.2.0/shiro-cdi-2.2.0.jar">shiro-cdi</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cdi/2.2.0/shiro-cdi-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cdi/2.2.1/shiro-cdi-2.2.1.jar">shiro-cdi</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cdi/2.2.1/shiro-cdi-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-cdi</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -367,15 +367,15 @@ and one of its binding jars is required.
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jakarta-ee/2.2.0/shiro-jakarta-ee-2.2.0.jar">shiro-jakarta-ee</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jakarta-ee/2.2.0/shiro-jakarta-ee-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jakarta-ee/2.2.1/shiro-jakarta-ee-2.2.1.jar">shiro-jakarta-ee</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jakarta-ee/2.2.1/shiro-jakarta-ee-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-jakarta-ee</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -385,15 +385,15 @@ and one of its binding jars is required.
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jaxrs/2.2.0/shiro-jaxrs-2.2.0.jar">shiro-jaxrs</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jaxrs/2.2.0/shiro-jaxrs-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jaxrs/2.2.1/shiro-jaxrs-2.2.1.jar">shiro-jaxrs</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jaxrs/2.2.1/shiro-jaxrs-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-jaxrs</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -403,15 +403,15 @@ and one of its binding jars is required.
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/2.2.0/shiro-aspectj-2.2.0.jar">shiro-aspectj</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/2.2.0/shiro-aspectj-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/2.2.1/shiro-aspectj-2.2.1.jar">shiro-aspectj</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/2.2.1/shiro-aspectj-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-aspectj</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -422,15 +422,15 @@ and one of its binding jars is required.
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/2.2.0/shiro-cas-2.2.0.jar">shiro-cas</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/2.2.0/shiro-cas-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/2.2.1/shiro-cas-2.2.1.jar">shiro-cas</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/2.2.1/shiro-cas-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-cas</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -444,15 +444,15 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/2.2.0/shiro-ehcache-2.2.0.jar">shiro-ehcache</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/2.2.0/shiro-ehcache-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/2.2.1/shiro-ehcache-2.2.1.jar">shiro-ehcache</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/2.2.1/shiro-ehcache-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -462,15 +462,15 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-hazelcast/2.2.0/shiro-hazelcast-2.2.0.jar">shiro-hazelcast</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-hazelcast/2.2.0/shiro-hazelcast-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-hazelcast/2.2.1/shiro-hazelcast-2.2.1.jar">shiro-hazelcast</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-hazelcast/2.2.1/shiro-hazelcast-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-hazelcast</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -480,15 +480,15 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-features/2.2.0/shiro-features-2.2.0-features.xml">shiro-features</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-features/2.2.0/shiro-features-2.2.0-features.xml.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-features/2.2.1/shiro-features-2.2.1-features.xml">shiro-features</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-features/2.2.1/shiro-features-2.2.1-features.xml.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-features</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -498,15 +498,15 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/2.2.0/shiro-guice-2.2.0.jar">shiro-guice</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/2.2.0/shiro-guice-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/2.2.1/shiro-guice-2.2.1.jar">shiro-guice</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/2.2.1/shiro-guice-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-guice</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -516,15 +516,15 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/2.2.0/shiro-quartz-2.2.0.jar">shiro-quartz</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/2.2.0/shiro-quartz-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/2.2.1/shiro-quartz-2.2.1.jar">shiro-quartz</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/2.2.1/shiro-quartz-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-quartz</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -535,15 +535,15 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/2.2.0/shiro-spring-2.2.0.jar">shiro-spring</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/2.2.0/shiro-spring-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/2.2.1/shiro-spring-2.2.1.jar">shiro-spring</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/2.2.1/shiro-spring-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -553,15 +553,15 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-starter/2.2.0/shiro-spring-boot-starter-2.2.0.jar">shiro-spring-boot-starter</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-starter/2.2.0/shiro-spring-boot-starter-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-starter/2.2.1/shiro-spring-boot-starter-2.2.1.jar">shiro-spring-boot-starter</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-starter/2.2.1/shiro-spring-boot-starter-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-starter</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -571,15 +571,15 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-web-starter/2.2.0/shiro-spring-boot-web-starter-2.2.0.jar">shiro-spring-boot-web-starter</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-web-starter/2.2.0/shiro-spring-boot-web-starter-2.2.0.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-web-starter/2.2.1/shiro-spring-boot-web-starter-2.2.1.jar">shiro-spring-boot-web-starter</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-web-starter/2.2.1/shiro-spring-boot-web-starter-2.2.1.jar.asc">pgp</a>)
</td>
<td>
<pre><code class="xml language-xml"><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-web-starter</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency></code></pre>
</td>
@@ -589,8 +589,8 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<tr>
<td style="white-space: nowrap;">
- <a
href="https://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/2.2.0/shiro-tools-hasher-2.2.0-cli.jar">shiro-tools-hasher</a><br/>
- (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/2.2.0/shiro-tools-hasher-2.2.0-cli.jar.asc">pgp</a>)
+ <a
href="https://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/2.2.1/shiro-tools-hasher-2.2.1-cli.jar">shiro-tools-hasher</a><br/>
+ (<a
href="https://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/2.2.1/shiro-tools-hasher-2.2.1-cli.jar.asc">pgp</a>)
</td>
<td>
@@ -600,7 +600,7 @@ to the Apache Shiro based <a
href='https://github.com/bujiio/buji-pac4j'>buji-pa
<td>A command-line program to perform hashing (MD5, SHA, etc) for files,
streams and passwords.
Note that this is a command line program and not intended to be used as a
Maven/program dependency.
It is intended to be downloaded and executed:
-<pre><code class='bash'> java -jar
shiro-tools-hasher-2.2.0-cli.jar</code></pre>
+<pre><code class='bash'> java -jar
shiro-tools-hasher-2.2.1-cli.jar</code></pre>
</td>
</tr>
diff --git a/feed.xml b/feed.xml
index 087dceab9..64bf3cce7 100644
--- a/feed.xml
+++ b/feed.xml
@@ -4,7 +4,7 @@
<subtitle>Simple. Java. Security.</subtitle>
<link href="https://shiro.apache.org/"/>
<link rel="self" href="https://shiro.apache.org/feed.xml" />
- <updated>2026-05-27T00:04:14Z</updated>
+ <updated>2026-06-18T17:02:25Z</updated>
<author>
<name>Les Hazlewood</name>
@@ -35,6 +35,91 @@
<icon>/images/favicon128.png</icon>
<logo>/images/apache-shiro-logo.png</logo>
+ <entry>
+ <title>2.2.1 available</title>
+ <link
href="https://shiro.apache.org/blog/2026/06/apache-shiro-221-released.html"/>
+
<id>https://shiro.apache.org/blog/2026/06/apache-shiro-221-released.html</id>
+ <updated>2026-06-17T00:00:00Z</updated>
+ <author>
+ <name>Francois Papon</name>
+ </author>
+ <content type="html">
+ <div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Apache Shiro team is pleased to announce the release of Apache
Shiro version 2.2.1.</p>
+</div>
+<div class="paragraph">
+<p>This release is available for download now.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="release_highlights">Release Highlights</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This is a maintenance release that includes several bug fixes,
improvements and dependency updates. It is recommended for all users to upgrade
to this version.</p>
+</div>
+<div class="paragraph">
+<p>We have new contributors!</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a
href="https://github.com/potiuk">@potiuk</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="security_enhancements">Security Enhancements</h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a
href="https://shiro.apache.org/security-reports.html#cve_2026_48589">CVE-2026-48589</a></p>
+</li>
+<li>
+<p><a
href="https://shiro.apache.org/security-reports.html#cve_2026_49268">CVE-2026-49268</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="all_changes">All changes</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>You can learn more on <a
href="https://github.com/apache/shiro/releases/tag/shiro-root-2.2.1">GitHub,
Release 2.2.1</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="download">Download</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Download and verification instructions are available <a
href="/download.html">on our download page</a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="documentation">Documentation</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>For more information on <a
href="/documentation.html">Shiro, please read the
documentation.</a></p>
+</div>
+<div class="paragraph">
+<p>Enjoy!</p>
+</div>
+<div class="paragraph">
+<p>The Apache Shiro Team</p>
+</div>
+</div>
+</div>
+ </content>
+ </entry>
+
<entry>
<title>2.2.0 available</title>
<link
href="https://shiro.apache.org/blog/2026/05/apache-shiro-220-released.html"/>
@@ -890,67 +975,5 @@ This is the first major release for Shiro 2.x</p>
</content>
</entry>
- <entry>
- <title>1.13.0 available with fix CVE-2023-46750</title>
- <link
href="https://shiro.apache.org/blog/2023/11/10/apache-shiro-1130-released.html"/>
-
<id>https://shiro.apache.org/blog/2023/11/10/apache-shiro-1130-released.html</id>
- <updated>2023-11-10T00:00:00Z</updated>
- <author>
- <name>Francois Papon</name>
- </author>
- <content type="html">
- <div id="preamble">
-<div class="sectionbody">
-<div class="paragraph">
-<p>The Apache Shiro team is pleased to announce the release of Apache
Shiro version 1.13.0.
-This is a feature release for 1.x.</p>
-</div>
-<div class="paragraph">
-<p>This release solves 2 issues since the 1.13.0 release and is
available for download now.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="all_changes">All changes</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>You can learn more on <a
href="https://github.com/apache/shiro/releases/tag/shiro-root-1.13.0">GitHub,
Release 1.13.0</a>.</p>
-</div>
-<div class="sect2">
-<h3 id="cve_2023_46750"><a
href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-46750">CVE-2023-46750</a></h3>
-<div class="paragraph">
-<p>URL Redirection to Untrusted Site ('Open Redirect')
vulnerability when "form" authentication is used in Apache
Shiro.</p>
-</div>
-<div class="paragraph">
-<p><strong>Mitigation:</strong> Update to Apache Shiro
1.13.0+ or 2.0.0-alpha-4+.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="download">Download</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Download and verification instructions are available <a
href="/download.html">on our download page</a>.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="documentation">Documentation</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>For more information on <a
href="/documentation.html">Shiro, please read the
documentation.</a></p>
-</div>
-<div class="paragraph">
-<p>Enjoy!</p>
-</div>
-<div class="paragraph">
-<p>The Apache Shiro Team</p>
-</div>
-</div>
-</div>
- </content>
- </entry>
-
</feed>
diff --git a/guice.html b/guice.html
index aae5afa67..687ee30bc 100644
--- a/guice.html
+++ b/guice.html
@@ -385,7 +385,7 @@
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-guice</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
</code></pre>
</div>
@@ -395,7 +395,7 @@
role="tabpanel"
aria-labelledby="gradle-cli-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-guice:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-guice:2.2.1'
</code></pre>
</div>
<div
@@ -404,7 +404,7 @@
role="tabpanel"
aria-labelledby="sbt-cli-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-guice" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-guice" % "2.2.1"
</code></pre>
</div>
<div
@@ -413,7 +413,7 @@
role="tabpanel"
aria-labelledby="ivy-cli-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-guice" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-guice" rev="2.2.1"/>
</code></pre>
</div>
<div
@@ -422,7 +422,7 @@
role="tabpanel"
aria-labelledby="leiningen-cli-tab"
>
- <pre><code class='clojure language-clojure'>[org.apache.shiro/shiro-guice
"2.2.0"]
+ <pre><code class='clojure language-clojure'>[org.apache.shiro/shiro-guice
"2.2.1"]
</code></pre>
</div>
<div
@@ -431,7 +431,7 @@
role="tabpanel"
aria-labelledby="buildr-cli-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-guice:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-guice:jar:2.2.1'
</code></pre>
</div>
</div>
diff --git a/index.html b/index.html
index 3f565c209..55b68f33d 100644
--- a/index.html
+++ b/index.html
@@ -307,6 +307,10 @@
</div>
<div class="card-body">
+ <div>
+ <a href="blog/2026/06/apache-shiro-221-released.html"><h4
class="news-title">2.2.1 available</h4></a>
+ <p><small>by Francois Papon on 2026-06-17</small></p>
+ </div>
<div>
<a href="blog/2026/05/apache-shiro-220-released.html"><h4
class="news-title">2.2.0 available</h4></a>
<p><small>by Francois Papon on 2026-05-26</small></p>
@@ -323,10 +327,6 @@
<a href="blog/2026/02/apache-shiro-210-released.html"><h4
class="news-title">2.1.0 available</h4></a>
<p><small>by Francois Papon on 2026-02-08</small></p>
</div>
- <div>
- <a href="blog/2025/11/apache-shiro-206-released.html"><h4
class="news-title">2.0.6 available</h4></a>
- <p><small>by Francois Papon on 2025-11-07</small></p>
- </div>
<hr/>
<nav class="" aria-label="News Pagination">
diff --git a/jakarta-ee.html b/jakarta-ee.html
index 7b93e410a..035113648 100644
--- a/jakarta-ee.html
+++ b/jakarta-ee.html
@@ -338,7 +338,7 @@ The module is compatible with Java EE 8 through Jakarta EE
10 or later. It may w
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-jakarta-ee</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
</code></pre>
</div>
@@ -348,7 +348,7 @@ The module is compatible with Java EE 8 through Jakarta EE
10 or later. It may w
role="tabpanel"
aria-labelledby="gradle-cli-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-jakarta-ee:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-jakarta-ee:2.2.1'
</code></pre>
</div>
<div
@@ -357,7 +357,7 @@ The module is compatible with Java EE 8 through Jakarta EE
10 or later. It may w
role="tabpanel"
aria-labelledby="sbt-cli-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-jakarta-ee" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-jakarta-ee" % "2.2.1"
</code></pre>
</div>
<div
@@ -366,7 +366,7 @@ The module is compatible with Java EE 8 through Jakarta EE
10 or later. It may w
role="tabpanel"
aria-labelledby="ivy-cli-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-jakarta-ee" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-jakarta-ee" rev="2.2.1"/>
</code></pre>
</div>
<div
@@ -375,7 +375,7 @@ The module is compatible with Java EE 8 through Jakarta EE
10 or later. It may w
role="tabpanel"
aria-labelledby="leiningen-cli-tab"
>
- <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-jakarta-ee "2.2.0"]
+ <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-jakarta-ee "2.2.1"]
</code></pre>
</div>
<div
@@ -384,7 +384,7 @@ The module is compatible with Java EE 8 through Jakarta EE
10 or later. It may w
role="tabpanel"
aria-labelledby="buildr-cli-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-jakarta-ee:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-jakarta-ee:jar:2.2.1'
</code></pre>
</div>
</div>
@@ -511,7 +511,7 @@ The BOM is needed if you are using Spring / SpringBoot.</p>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-bom</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
diff --git a/jaxrs.html b/jaxrs.html
index 6c810b105..cec45140c 100644
--- a/jaxrs.html
+++ b/jaxrs.html
@@ -324,12 +324,12 @@
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-servlet-plugin</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-jaxrs</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
</code></pre>
</div>
@@ -339,8 +339,8 @@
role="tabpanel"
aria-labelledby="gradle-cli-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-servlet-plugin:2.2.0'
-compile 'org.apache.shiro:shiro-jaxrs:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-servlet-plugin:2.2.1'
+compile 'org.apache.shiro:shiro-jaxrs:2.2.1'
</code></pre>
</div>
<div
@@ -349,8 +349,8 @@ compile 'org.apache.shiro:shiro-jaxrs:2.2.0'
role="tabpanel"
aria-labelledby="sbt-cli-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-servlet-plugin" % "2.2.0"
-libraryDependencies += "org.apache.shiro" % "shiro-jaxrs" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-servlet-plugin" % "2.2.1"
+libraryDependencies += "org.apache.shiro" % "shiro-jaxrs" % "2.2.1"
</code></pre>
</div>
<div
@@ -359,8 +359,8 @@ libraryDependencies += "org.apache.shiro" % "shiro-jaxrs" %
"2.2.0"
role="tabpanel"
aria-labelledby="ivy-cli-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-servlet-plugin" rev="2.2.0"/>
-<dependency org="org.apache.shiro" name="shiro-jaxrs" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-servlet-plugin" rev="2.2.1"/>
+<dependency org="org.apache.shiro" name="shiro-jaxrs" rev="2.2.1"/>
</code></pre>
</div>
<div
@@ -369,8 +369,8 @@ libraryDependencies += "org.apache.shiro" % "shiro-jaxrs" %
"2.2.0"
role="tabpanel"
aria-labelledby="leiningen-cli-tab"
>
- <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-servlet-plugin "2.2.0"]
-[org.apache.shiro/shiro-jaxrs "2.2.0"]
+ <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-servlet-plugin "2.2.1"]
+[org.apache.shiro/shiro-jaxrs "2.2.1"]
</code></pre>
</div>
<div
@@ -379,8 +379,8 @@ libraryDependencies += "org.apache.shiro" % "shiro-jaxrs" %
"2.2.0"
role="tabpanel"
aria-labelledby="buildr-cli-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-servlet-plugin:jar:2.2.0'
-'org.apache.shiro:shiro-jaxrs:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-servlet-plugin:jar:2.2.1'
+'org.apache.shiro:shiro-jaxrs:jar:2.2.1'
</code></pre>
</div>
</div>
diff --git a/migration-guide.html b/migration-guide.html
index eab888cf1..666457945 100644
--- a/migration-guide.html
+++ b/migration-guide.html
@@ -345,7 +345,7 @@
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-bom</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
diff --git a/news.html b/news.html
index 6eaf53c79..5f94266e4 100644
--- a/news.html
+++ b/news.html
@@ -196,9 +196,14 @@
</div>
<!--<ul>-->
- <h4>May 2026</h4>
+ <h4>June 2026</h4>
<ul>
+ <li>17 - <a href="blog/2026/06/apache-shiro-221-released.html">2.2.1
available</a></li>
+ </ul>
+ <h4>May 2026</h4>
+ <ul>
+
<li>26 - <a href="blog/2026/05/apache-shiro-220-released.html">2.2.0
available</a></li>
</ul>
<h4>April 2026</h4>
diff --git a/release-archive.html b/release-archive.html
index 6b48cfade..2bd5e73e6 100644
--- a/release-archive.html
+++ b/release-archive.html
@@ -211,7 +211,7 @@
</div>
<div class="paragraph">
<p>To download archived versions of Apache Shiro please follow the
instructions below.
-Please note that the current version of Apache Shiro is 2.2.0.
+Please note that the current version of Apache Shiro is 2.2.1.
We recommend to stick to the latest version.</p>
</div>
</div>
diff --git a/security-reports.html b/security-reports.html
index 831971726..35a0a79ce 100644
--- a/security-reports.html
+++ b/security-reports.html
@@ -232,6 +232,7 @@
<li><a href="#vulnerability_handling_process">Vulnerability Handling
Process</a></li>
<li><a href="#apache_shiro_vulnerability_reports">Apache Shiro Vulnerability
Reports</a>
<ul class="sectlevel2">
+<li><a href="#cve_2026_49268">CVE-2026-49268</a></li>
<li><a href="#cve_2026_48589">CVE-2026-48589</a></li>
<li><a href="#cve_2026_44598">CVE-2026-44598</a></li>
<li><a href="#cve_2026_43827">CVE-2026-43827</a></li>
@@ -305,6 +306,21 @@ We cannot accept regular bug reports or other queries at
this address.</p>
<h2 id="apache_shiro_vulnerability_reports">Apache Shiro Vulnerability
Reports</h2>
<div class="sectionbody">
<div class="sect2">
+<h3 id="cve_2026_49268"><a
href="https://www.cve.org/CVERecord?id=CVE-2026-49268">CVE-2026-49268</a></h3>
+<div class="paragraph">
+<p>A remote attacker can inject LDAP special characters into the Distinguished
Name (DN) construction in <code>DefaultLdapRealm</code> class. User-supplied
username input is directly concatenated into the LDAP DN template without any
escaping of RFC 2253 special characters. This allows an attacker to manipulate
the DN structure used for LDAP bind authentication, potentially bypassing
authentication or impersonating other users.
+This issue affects all Apache Shiro versions through 2.2.0, and 3.0.0-alpha-1
when using <code>DefaultLdapRealm</code>.</p>
+</div>
+<div class="paragraph">
+<p><strong>Mitigation:</strong>
+Upgrade to version 2.2.1, or 3.0.0-alpha-2 or later, which fixes the issue by
escaping user-supplied DN.</p>
+</div>
+<div class="paragraph">
+<p><strong>Credit:</strong>
+Apache Shiro would like to thank <strong>zhaokaifei</strong> for reporting
this issue.</p>
+</div>
+</div>
+<div class="sect2">
<h3 id="cve_2026_48589"><a
href="https://www.cve.org/CVERecord?id=CVE-2026-48589">CVE-2026-48589</a></h3>
<div class="paragraph">
<p>Apache Shiro’s Jakarta EE module used the HTTP Referer header in certain
cases to issue redirect after a user login. In affected versions, insufficient
validation of this client-controlled value could allow an attacker to influence
the redirect target in applications using the Jakarta EE module.
diff --git a/sitemap.xml b/sitemap.xml
index 1f75ea863..00a3b1872 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -28,18 +28,6 @@
<loc>https://shiro.apache.org/10-minute-tutorial.html</loc>
<lastmod>2016-10-23</lastmod>
</url>
- <url>
- <loc>https://shiro.apache.org/session-management-features.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
- <url>
- <loc>https://shiro.apache.org/how-to-contribute.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
- <url>
- <loc>https://shiro.apache.org/cryptography-features.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
<url>
<loc>https://shiro.apache.org/tools.html</loc>
<lastmod>2010-03-18</lastmod>
@@ -76,10 +64,6 @@
<loc>https://shiro.apache.org/guice.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
- <url>
- <loc>https://shiro.apache.org/authorization.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
<url>
<loc>https://shiro.apache.org/terminology.html</loc>
<lastmod>2010-03-18</lastmod>
@@ -97,7 +81,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/authorization-features.html</loc>
+ <loc>https://shiro.apache.org/authorization.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -113,15 +97,15 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/java-cryptography-guide.html</loc>
+ <loc>https://shiro.apache.org/authorization-features.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/forums.html</loc>
+ <loc>https://shiro.apache.org/java-cryptography-guide.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/authentication.html</loc>
+ <loc>https://shiro.apache.org/forums.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -144,6 +128,10 @@
<loc>https://shiro.apache.org/community.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
+ <url>
+ <loc>https://shiro.apache.org/authentication.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
<url>
<loc>https://shiro.apache.org/subject.html</loc>
<lastmod>2010-03-18</lastmod>
@@ -164,10 +152,6 @@
<loc>https://shiro.apache.org/commercial-support.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
- <url>
- <loc>https://shiro.apache.org/authentication-features.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
<url>
<loc>https://shiro.apache.org/what-is-shiro.html</loc>
<lastmod>2010-03-18</lastmod>
@@ -185,7 +169,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/articles.html</loc>
+ <loc>https://shiro.apache.org/authentication-features.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -205,7 +189,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/architecture.html</loc>
+ <loc>https://shiro.apache.org/articles.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -229,7 +213,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/adoption.html</loc>
+ <loc>https://shiro.apache.org/architecture.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -253,7 +237,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/about.html</loc>
+ <loc>https://shiro.apache.org/adoption.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -268,6 +252,10 @@
<loc>https://shiro.apache.org/cachemanager.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
+ <url>
+ <loc>https://shiro.apache.org/about.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
<url>
<loc>https://shiro.apache.org/tutorial.html</loc>
<lastmod>2010-03-18</lastmod>
@@ -284,6 +272,22 @@
<loc>https://shiro.apache.org/integration.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
+ <url>
+ <loc>https://shiro.apache.org/session-management-features.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
+ <url>
+ <loc>https://shiro.apache.org/how-to-contribute.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
+ <url>
+ <loc>https://shiro.apache.org/cryptography-features.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
+ <url>
+
<loc>https://shiro.apache.org/blog/2026/06/apache-shiro-221-released.html</loc>
+ <lastmod>2026-06-17</lastmod>
+ </url>
<url>
<loc>https://shiro.apache.org/blog/2026/05/apache-shiro-220-released.html</loc>
<lastmod>2026-05-26</lastmod>
diff --git a/spring-boot.html b/spring-boot.html
index d4614e72b..3b72c3c2f 100644
--- a/spring-boot.html
+++ b/spring-boot.html
@@ -340,7 +340,7 @@
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-web-starter</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
</code></pre>
</div>
@@ -350,7 +350,7 @@
role="tabpanel"
aria-labelledby="gradle-web-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring-boot-web-starter:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring-boot-web-starter:2.2.1'
</code></pre>
</div>
<div
@@ -359,7 +359,7 @@
role="tabpanel"
aria-labelledby="sbt-web-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring-boot-web-starter" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring-boot-web-starter" % "2.2.1"
</code></pre>
</div>
<div
@@ -368,7 +368,7 @@
role="tabpanel"
aria-labelledby="ivy-web-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring-boot-web-starter" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring-boot-web-starter" rev="2.2.1"/>
</code></pre>
</div>
<div
@@ -377,7 +377,7 @@
role="tabpanel"
aria-labelledby="leiningen-web-tab"
>
- <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-spring-boot-web-starter "2.2.0"]
+ <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-spring-boot-web-starter "2.2.1"]
</code></pre>
</div>
<div
@@ -386,7 +386,7 @@
role="tabpanel"
aria-labelledby="buildr-web-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring-boot-web-starter:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring-boot-web-starter:jar:2.2.1'
</code></pre>
</div>
</div>
@@ -716,7 +716,7 @@ protected CacheManager cacheManager() {
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-starter</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
</code></pre>
</div>
@@ -726,7 +726,7 @@ protected CacheManager cacheManager() {
role="tabpanel"
aria-labelledby="gradle-cli-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring-boot-starter:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring-boot-starter:2.2.1'
</code></pre>
</div>
<div
@@ -735,7 +735,7 @@ protected CacheManager cacheManager() {
role="tabpanel"
aria-labelledby="sbt-cli-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring-boot-starter" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring-boot-starter" % "2.2.1"
</code></pre>
</div>
<div
@@ -744,7 +744,7 @@ protected CacheManager cacheManager() {
role="tabpanel"
aria-labelledby="ivy-cli-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring-boot-starter" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring-boot-starter" rev="2.2.1"/>
</code></pre>
</div>
<div
@@ -753,7 +753,7 @@ protected CacheManager cacheManager() {
role="tabpanel"
aria-labelledby="leiningen-cli-tab"
>
- <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-spring-boot-starter "2.2.0"]
+ <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-spring-boot-starter "2.2.1"]
</code></pre>
</div>
<div
@@ -762,7 +762,7 @@ protected CacheManager cacheManager() {
role="tabpanel"
aria-labelledby="buildr-cli-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring-boot-starter:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring-boot-starter:jar:2.2.1'
</code></pre>
</div>
</div>
diff --git a/spring-framework.html b/spring-framework.html
index 7b499065a..5f8ef4c6f 100644
--- a/spring-framework.html
+++ b/spring-framework.html
@@ -337,7 +337,7 @@
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
@@ -352,7 +352,7 @@
role="tabpanel"
aria-labelledby="gradle-cli-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring:2.2.1'
compile 'org.springframework:spring-context:${spring.version}'
</code></pre>
</div>
@@ -362,7 +362,7 @@ compile
'org.springframework:spring-context:${spring.version}'
role="tabpanel"
aria-labelledby="sbt-cli-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring" % "2.2.1"
libraryDependencies += "org.springframework" % "spring-context" %
"${spring.version}"
</code></pre>
</div>
@@ -372,7 +372,7 @@ libraryDependencies += "org.springframework" %
"spring-context" % "${spring.vers
role="tabpanel"
aria-labelledby="ivy-cli-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring" rev="2.2.1"/>
<dependency org="org.springframework" name="spring-context"
rev="${spring.version}"/>
</code></pre>
</div>
@@ -382,7 +382,7 @@ libraryDependencies += "org.springframework" %
"spring-context" % "${spring.vers
role="tabpanel"
aria-labelledby="leiningen-cli-tab"
>
- <pre><code class='clojure language-clojure'>[org.apache.shiro/shiro-spring
"2.2.0"]
+ <pre><code class='clojure language-clojure'>[org.apache.shiro/shiro-spring
"2.2.1"]
[org.springframework/spring-context "${spring.version}"]
</code></pre>
</div>
@@ -392,7 +392,7 @@ libraryDependencies += "org.springframework" %
"spring-context" % "${spring.vers
role="tabpanel"
aria-labelledby="buildr-cli-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring:jar:2.2.1'
'org.springframework:spring-context:jar:${spring.version}'
</code></pre>
</div>
@@ -573,12 +573,12 @@ private SecurityManager securityManager;
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
@@ -593,8 +593,8 @@ private SecurityManager securityManager;
role="tabpanel"
aria-labelledby="gradle-web-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring:2.2.0'
-compile 'org.apache.shiro:shiro-web:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring:2.2.1'
+compile 'org.apache.shiro:shiro-web:2.2.1'
compile 'org.springframework:spring-webmvc:${spring.version}'
</code></pre>
</div>
@@ -604,8 +604,8 @@ compile
'org.springframework:spring-webmvc:${spring.version}'
role="tabpanel"
aria-labelledby="sbt-web-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring" % "2.2.0"
-libraryDependencies += "org.apache.shiro" % "shiro-web" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring" % "2.2.1"
+libraryDependencies += "org.apache.shiro" % "shiro-web" % "2.2.1"
libraryDependencies += "org.springframework" % "spring-webmvc" %
"${spring.version}"
</code></pre>
</div>
@@ -615,8 +615,8 @@ libraryDependencies += "org.springframework" %
"spring-webmvc" % "${spring.versi
role="tabpanel"
aria-labelledby="ivy-web-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring" rev="2.2.0"/>
-<dependency org="org.apache.shiro" name="shiro-web" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring" rev="2.2.1"/>
+<dependency org="org.apache.shiro" name="shiro-web" rev="2.2.1"/>
<dependency org="org.springframework" name="spring-webmvc"
rev="${spring.version}"/>
</code></pre>
</div>
@@ -626,8 +626,8 @@ libraryDependencies += "org.springframework" %
"spring-webmvc" % "${spring.versi
role="tabpanel"
aria-labelledby="leiningen-web-tab"
>
- <pre><code class='clojure language-clojure'>[org.apache.shiro/shiro-spring
"2.2.0"]
-[org.apache.shiro/shiro-web "2.2.0"]
+ <pre><code class='clojure language-clojure'>[org.apache.shiro/shiro-spring
"2.2.1"]
+[org.apache.shiro/shiro-web "2.2.1"]
[org.springframework/spring-webmvc "${spring.version}"]
</code></pre>
</div>
@@ -637,8 +637,8 @@ libraryDependencies += "org.springframework" %
"spring-webmvc" % "${spring.versi
role="tabpanel"
aria-labelledby="buildr-web-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring:jar:2.2.0'
-'org.apache.shiro:shiro-web:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring:jar:2.2.1'
+'org.apache.shiro:shiro-web:jar:2.2.1'
'org.springframework:spring-webmvc:jar:${spring.version}'
</code></pre>
</div>
diff --git a/troubleshooting.html b/troubleshooting.html
index 7d53a3732..9135072ce 100644
--- a/troubleshooting.html
+++ b/troubleshooting.html
@@ -642,7 +642,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-web-starter</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
</code></pre>
</div>
@@ -652,7 +652,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="gradle-web-starter-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring-boot-web-starter:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring-boot-web-starter:2.2.1'
</code></pre>
</div>
<div
@@ -661,7 +661,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="sbt-web-starter-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring-boot-web-starter" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring-boot-web-starter" % "2.2.1"
</code></pre>
</div>
<div
@@ -670,7 +670,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="ivy-web-starter-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring-boot-web-starter" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring-boot-web-starter" rev="2.2.1"/>
</code></pre>
</div>
<div
@@ -679,7 +679,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="leiningen-web-starter-tab"
>
- <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-spring-boot-web-starter "2.2.0"]
+ <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-spring-boot-web-starter "2.2.1"]
</code></pre>
</div>
<div
@@ -688,7 +688,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="buildr-web-starter-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring-boot-web-starter:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring-boot-web-starter:jar:2.2.1'
</code></pre>
</div>
</div>
@@ -780,7 +780,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
<pre><code class='xml language-xml'><dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-starter</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
</code></pre>
</div>
@@ -790,7 +790,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="gradle-cli-starter-tab"
>
- <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring-boot-starter:2.2.0'
+ <pre><code class='groovy language-groovy'>compile
'org.apache.shiro:shiro-spring-boot-starter:2.2.1'
</code></pre>
</div>
<div
@@ -799,7 +799,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="sbt-cli-starter-tab"
>
- <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring-boot-starter" % "2.2.0"
+ <pre><code class='scala language-scala'>libraryDependencies +=
"org.apache.shiro" % "shiro-spring-boot-starter" % "2.2.1"
</code></pre>
</div>
<div
@@ -808,7 +808,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="ivy-cli-starter-tab"
>
- <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring-boot-starter" rev="2.2.0"/>
+ <pre><code class='xml language-xml'><dependency org="org.apache.shiro"
name="shiro-spring-boot-starter" rev="2.2.1"/>
</code></pre>
</div>
<div
@@ -817,7 +817,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="leiningen-cli-starter-tab"
>
- <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-spring-boot-starter "2.2.0"]
+ <pre><code class='clojure
language-clojure'>[org.apache.shiro/shiro-spring-boot-starter "2.2.1"]
</code></pre>
</div>
<div
@@ -826,7 +826,7 @@ protected AuthorizationInfo
doGetAuthorizationInfo(PrincipalCollection principal
role="tabpanel"
aria-labelledby="buildr-cli-starter-tab"
>
- <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring-boot-starter:jar:2.2.0'
+ <pre><code class='groovy
language-groovy'>'org.apache.shiro:shiro-spring-boot-starter:jar:2.2.1'
</code></pre>
</div>
</div>
diff --git a/tutorial.html b/tutorial.html
index 97b7866e4..1b450d3c4 100644
--- a/tutorial.html
+++ b/tutorial.html
@@ -358,7 +358,7 @@ OS name: "linux", version: "5.10.89-1-manjaro", arch:
"amd64", family: "unix"</c
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
- <version>2.2.0</version>
+ <version>2.2.1</version>
</dependency>
<!-- Shiro uses SLF4J for logging. We'll use the 'simple' binding
in this example app. See https://www.slf4j.org for more info.
-->
diff --git a/v2/command-line-hasher.html b/v2/command-line-hasher.html
index 4cd95080b..6eeb744fd 100644
--- a/v2/command-line-hasher.html
+++ b/v2/command-line-hasher.html
@@ -247,14 +247,14 @@ They are outdated and all considered insecure!</p>
<h2 id="CommandLineHasher-Usage">Usage</h2>
<div class="sectionbody">
<div class="paragraph">
-<p>Ensure you have access to the <code>shiro-tools-hasher-2.2.0-cli.jar</code>
file.
+<p>Ensure you have access to the <code>shiro-tools-hasher-2.2.1-cli.jar</code>
file.
You can either find this in a source build in the
<em>buildroot</em>`/tools/hasher/target` directory or via download through
Maven.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash"># Use the following to download from Maven Central into
-#
~/.m2/repository/org/apache/shiro/tools/shiro-tools-hasher/2.2.0/shiro-tools-hasher-2.2.0-cli.jar
-$ mvn dependency:get -DgroupId=org.apache.shiro.tools
-DartifactId=shiro-tools-hasher -Dclassifier=cli -Dversion=2.2.0</code></pre>
+#
~/.m2/repository/org/apache/shiro/tools/shiro-tools-hasher/2.2.1/shiro-tools-hasher-2.2.1-cli.jar
+$ mvn dependency:get -DgroupId=org.apache.shiro.tools
-DartifactId=shiro-tools-hasher -Dclassifier=cli -Dversion=2.2.1</code></pre>
</div>
</div>
<div class="paragraph">
@@ -262,7 +262,7 @@ $ mvn dependency:get -DgroupId=org.apache.shiro.tools
-DartifactId=shiro-tools-h
</div>
<div class="listingblock">
<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ java -jar shiro-tools-hasher-2.2.0-cli.jar</code></pre>
+<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ java -jar shiro-tools-hasher-2.2.1-cli.jar</code></pre>
</div>
</div>
<div class="paragraph">
@@ -285,7 +285,7 @@ However, we’ve provided some quick reference
usages/scenarios below for co
</div>
<div class="listingblock">
<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ java -jar shiro-tools-hasher-2.2.0-cli.jar -p</code></pre>
+<pre class="highlightjs highlight"><code class="language-bash hljs"
data-lang="bash">$ java -jar shiro-tools-hasher-2.2.1-cli.jar -p</code></pre>
</div>
</div>
<div class="paragraph">