This is an automated email from the ASF dual-hosted git repository.

lprimak pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/shiro-site.git


The following commit(s) were added to refs/heads/asf-staging by this push:
     new 84ade7ad3 update
84ade7ad3 is described below

commit 84ade7ad33a73ff2470f91146263dfaa8d0764c4
Author: lprimak <[email protected]>
AuthorDate: Mon Feb 9 16:57:46 2026 -0600

    update
---
 10/index.html                                      |   8 +-
 11/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 +-
 authenticator.html                                 | 234 ++++++++++++++++--
 authorizer.html                                    | 264 +++++++++++++++++++--
 .../2026/02/apache-shiro-210-released.html         | 171 ++++++-------
 cas.html                                           |  12 +-
 community.html                                     |  12 +-
 documentation.html                                 |   4 +-
 download.html                                      | 136 +++++------
 feed.xml                                           | 173 ++++++--------
 forums.html                                        |  32 +--
 index.html                                         |   8 +-
 issues.html                                        |   7 +-
 news.html                                          |   7 +-
 release-archive.html                               |  50 ++--
 security-reports.html                              |  43 ++++
 sitemap.xml                                        |  82 ++++---
 spring-boot.html                                   |  24 +-
 26 files changed, 874 insertions(+), 461 deletions(-)

diff --git a/10/index.html b/10/index.html
index 4d5cd2f9e..d5cdc784e 100644
--- a/10/index.html
+++ b/10/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a 
href="../blog/2010/09/20/san-francisco-jug-presentation.html"><h4 
class="news-title">San Francisco JUG presentation</h4></a>
             <p><small>by Les Hazlewood on 2010-09-20</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/11/index.html b/11/index.html
index 1c890ce11..b59ec405b 100644
--- a/11/index.html
+++ b/11/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
diff --git a/2/index.html b/2/index.html
index 458fe4c73..50e3fb83c 100644
--- a/2/index.html
+++ b/2/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a href="../blog/2023/07/18/apache-shiro-1120-released.html"><h4 
class="news-title">1.12.0 available with fix CVE-2023-34478</h4></a>
             <p><small>by Francois Papon on 2023-07-18</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/3/index.html b/3/index.html
index dc4758c5a..ea8c30385 100644
--- a/3/index.html
+++ b/3/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a href="../blog/2022/06/30/jakarta-work.html"><h4 
class="news-title">Ongoing work on the Jakarta namespace transition</h4></a>
             <p><small>by Richard Zowalla on 2022-06-30</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/4/index.html b/4/index.html
index 987ba4503..2d88faf4a 100644
--- a/4/index.html
+++ b/4/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a href="../blog/2021/v1.7.1.html"><h4 class="news-title">1.7.1 
available with fix CVE-2020-17523</h4></a>
             <p><small>by Brian Demers on 2021-01-31</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/5/index.html b/5/index.html
index 4b8e3bee9..7c1670e38 100644
--- a/5/index.html
+++ b/5/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a href="../blog/2020/03/25/apache-shiro-152-released.html"><h4 
class="news-title">Apache Shiro 1.5.2 Released</h4></a>
             <p><small>by The Apache Shiro Team on 2020-03-25</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/6/index.html b/6/index.html
index 2fec7512c..ad8dd560f 100644
--- a/6/index.html
+++ b/6/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a href="../blog/2016/11/14/apache-shiro-140rc2-released.html"><h4 
class="news-title">Apache Shiro 1.4.0-RC2 Released</h4></a>
             <p><small>by Brian Demers on 2016-11-14</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/7/index.html b/7/index.html
index 6e6567fc2..b6cd2aa44 100644
--- a/7/index.html
+++ b/7/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a href="../blog/2016/05/26/apache-shiro-125-released.html"><h4 
class="news-title">Apache Shiro 1.2.4 Released</h4></a>
             <p><small>by Brian Demers on 2016-05-26</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/8/index.html b/8/index.html
index 165dcf995..69a29464f 100644
--- a/8/index.html
+++ b/8/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a href="../blog/2012/01/24/apache-shiro-120-released.html"><h4 
class="news-title">Apache Shiro 1.2.0 Released!</h4></a>
             <p><small>by Lez Hazelwood on 2012-01-24</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/9/index.html b/9/index.html
index 02f8b6c8c..0687cefae 100644
--- a/9/index.html
+++ b/9/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a 
href="../blog/2011/02/10/apache-shiro-integration-for-grails-113-released.html"><h4
 class="news-title">Apache Shiro integration for Grails 1.1.3 released</h4></a>
             <p><small>by Alex Salazar on 2011-02-10</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/authenticator.html b/authenticator.html
index a59591642..324efc10f 100644
--- a/authenticator.html
+++ b/authenticator.html
@@ -18,20 +18,26 @@
 <html lang="en">
   <head>
     <meta charset="utf-8"/>
-    <title>Authenticator | Apache Shiro</title>
+    <title>Apache Shiro Authenticators | Apache Shiro</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="keywords" content='documentation,todo,lend-a-hand'>
+    <meta name="description" content="Understanding Apache Shiro 
Authenticators - the component responsible for verifying user identity. Learn 
how Authenticators work with Realms and AuthenticationStrategies.">
+    <meta property="og:description" content="Understanding Apache Shiro 
Authenticators - the component responsible for verifying user identity. Learn 
how Authenticators work with Realms and AuthenticationStrategies.">
+    <meta name="keywords" 
content='authenticator,authentication,security,realms'>
     <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="Authenticator | Apache Shiro"/>
-    <meta property="og:type" content="website"/>
-    <meta property="article:tag" content='documentation'/>
-    <meta property="article:tag" content='todo'/>
-    <meta property="article:tag" content='lend-a-hand'/>
+    <meta property="og:title" content="Apache Shiro Authenticators | Apache 
Shiro"/>
+    <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='authenticator'/>
+    <meta property="article:tag" content='authentication'/>
+    <meta property="article:tag" content='security'/>
+    <meta property="article:tag" content='realms'/>
     <meta property="og:locale" content="en_US" />
     <meta property="og:url" 
content='https://shiro.apache.org/authenticator.html'/>
     <meta property="og:image" content='images/shiro-featured-image.png'/>
@@ -196,26 +202,208 @@
       </div>
     </nav>
 
-  <div class="page-header">
-    <h1>Authenticator</h1>
+       <div class="page-header">
+               <h1>Apache Shiro Authenticators</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>
 
+<div id="toc" class="toc">
+<div id="toctitle">Table of Contents</div>
+<ul class="sectlevel1">
+<li><a href="#Authenticator-Role">Role in the SecurityManager</a></li>
+<li><a 
href="#Authenticator-ModularRealmAuthenticator">ModularRealmAuthenticator</a></li>
+<li><a href="#Authenticator-SingleVsMultipleRealms">Single vs. Multiple 
Realms</a></li>
+<li><a 
href="#Authenticator-AuthenticationStrategy">AuthenticationStrategy</a></li>
+<li><a href="#Authenticator-Configuration">Configuration</a></li>
+<li><a href="#Authenticator-RealmInteraction">How Authenticators Work with 
Realms</a></li>
+</ul>
+</div>
+<div id="preamble">
+<div class="sectionbody">
 <div class="paragraph">
-<p>TODO</p>
+<p>An <code>Authenticator</code> is a component responsible for verifying that 
a user actually is who they claim to be.
+It is the core component that executes the authentication process on behalf of 
the <a href="/subject.html">Subject</a>.</p>
 </div>
-<hr />
-
-<h2><a id="Lendahandwithdocumentation"></a>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>
-
-<hr />
+<div class="paragraph">
+<p>While the <a href="/authentication.html">Authentication</a> documentation 
explains the concepts and workflow of authentication in Shiro,
+the Authenticator represents the actual implementation component that performs 
identity verification.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authenticator-Role">Role in the SecurityManager</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The <a href="/securitymanager.html">SecurityManager</a> does not perform 
authentication directly.
+Instead, it delegates authentication requests to its internal 
<code>Authenticator</code> instance.
+When a <a href="/subject.html">Subject</a> calls <a 
href="/static/current/apidocs/org/apache/shiro/subject/Subject.html#login(org.apache.shiro.authc.AuthenticationToken)"><code>login(token)</code></a>,
+the SecurityManager receives the request and immediately delegates to the 
Authenticator by calling
+<a 
href="/static/current/apidocs/org/apache/shiro/authc/Authenticator.html#authenticate(org.apache.shiro.authc.AuthenticationToken)"><code>authenticate(token)</code></a>.</p>
+</div>
+<div class="paragraph">
+<p>The Authenticator takes the submitted <a 
href="/static/current/apidocs/org/apache/shiro/authc/AuthenticationToken.html"><code>AuthenticationToken</code></a>
+and uses it to verify the Subject&#8217;s identity.
+If verification succeeds, it returns an <a 
href="/static/current/apidocs/org/apache/shiro/authc/AuthenticationInfo.html"><code>AuthenticationInfo</code></a>
 object.
+If verification fails, it throws an <a 
href="/static/current/apidocs/org/apache/shiro/authc/AuthenticationException.html"><code>AuthenticationException</code></a>.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authenticator-ModularRealmAuthenticator">ModularRealmAuthenticator</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Shiro uses the <a 
href="/static/current/apidocs/org/apache/shiro/authc/pam/ModularRealmAuthenticator.html"><code>ModularRealmAuthenticator</code></a>
+by default.
+This implementation supports coordinating one or more <a 
href="/realm.html">Realms</a> during the authentication process.</p>
+</div>
+<div class="paragraph">
+<p>When an authentication token is submitted, the 
ModularRealmAuthenticator:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Iterates through configured Realms</p>
+</li>
+<li>
+<p>Calls each Realm&#8217;s <a 
href="/static/current/apidocs/org/apache/shiro/realm/Realm.html#supports(org.apache.shiro.authc.AuthenticationToken)"><code>supports(token)</code></a>
 method to determine if the Realm can process the token</p>
+</li>
+<li>
+<p>If a Realm supports the token, its <a 
href="/static/current/apidocs/org/apache/shiro/realm/Realm.html#getAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)"><code>getAuthenticationInfo(token)</code></a>
 method is invoked</p>
+</li>
+<li>
+<p>Returns authentication information if successful, or throws an exception if 
failed</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authenticator-SingleVsMultipleRealms">Single vs. Multiple Realms</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The ModularRealmAuthenticator supports both configurations:</p>
+</div>
+<div class="paragraph">
+<p><strong>Single Realm</strong>:
+When only one Realm is configured, the Authenticator directly invokes that 
Realm to verify the Subject&#8217;s credentials.</p>
+</div>
+<div class="paragraph">
+<p><strong>Multiple Realms</strong>:
+When multiple Realms are configured, the Authenticator uses an <a 
href="/static/current/apidocs/org/apache/shiro/authc/pam/AuthenticationStrategy.html"><code>AuthenticationStrategy</code></a>
+to determine how to coordinate authentication across the Realms.
+This is a <a 
href="https://en.wikipedia.org/wiki/Pluggable_Authentication_Modules";>PAM</a>-style
 approach where each Realm can be consulted in sequence.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authenticator-AuthenticationStrategy">AuthenticationStrategy</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When multiple Realms are configured, the Authenticator must determine if 
the overall authentication attempt succeeds or fails.
+The <a 
href="/static/current/apidocs/org/apache/shiro/authc/pam/AuthenticationStrategy.html"><code>AuthenticationStrategy</code></a>
 makes this determination.</p>
+</div>
+<div class="paragraph">
+<p>Shiro provides three built-in strategies:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>FirstSuccessfulStrategy</strong>: Consults Realms in order until 
one succeeds. Remaining Realms are not consulted.</p>
+</li>
+<li>
+<p><strong>AtLeastOneSuccessfulStrategy</strong>: Returns success if at least 
one Realm succeeds. Other Realms continue to be consulted.</p>
+</li>
+<li>
+<p><strong>AllSuccessfulStrategy</strong>: All Realms must succeed for 
authentication to succeed. This is the most restrictive.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>You can configure which strategy the Authenticator uses, or implement your 
own strategy for custom behavior.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authenticator-Configuration">Configuration</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>You can configure a custom Authenticator in your Shiro configuration if 
needed:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-ini hljs" 
data-lang="ini">authenticator = com.foo.bar.CustomAuthenticator
+securityManager.authenticator = $authenticator</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can also configure the AuthenticationStrategy:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-ini hljs" 
data-lang="ini">authenticationStrategy = 
org.apache.shiro.authc.pam.FirstSuccessfulStrategy
+authenticator.authenticationStrategy = $authenticationStrategy</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>However, in most cases, the default ModularRealmAuthenticator with the 
default strategy is sufficient for typical applications.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authenticator-RealmInteraction">How Authenticators Work with 
Realms</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Authenticator does not directly know how to verify credentials.
+Instead, it coordinates with configured Realms to perform the actual 
verification.</p>
+</div>
+<div class="paragraph">
+<p>A <a href="/realm.html">Realm</a> is a security-specific data access object 
that can locate and validate user credentials from a data source
+(database, LDAP, file system, etc.).
+The Realm is responsible for:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Determining if it understands the submitted AuthenticationToken via its 
<code>supports(token)</code> method</p>
+</li>
+<li>
+<p>Looking up the user in the data source</p>
+</li>
+<li>
+<p>Comparing submitted credentials with those stored in the data source</p>
+</li>
+<li>
+<p>Returning the user&#8217;s authentication information if credentials 
match</p>
+</li>
+<li>
+<p>Throwing an exception if credentials do not match</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The Authenticator simply orchestrates this process by delegating to Realms 
in order and handling the results according to its configured strategy.</p>
+</div>
+</div>
+</div>
+       <hr />
 
 </div> 
 
diff --git a/authorizer.html b/authorizer.html
index bb137290e..2be009b68 100644
--- a/authorizer.html
+++ b/authorizer.html
@@ -18,20 +18,27 @@
 <html lang="en">
   <head>
     <meta charset="utf-8"/>
-    <title>Authorizer | Apache Shiro</title>
+    <title>Apache Shiro Authorizers | Apache Shiro</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="keywords" content='documentation,todo,lend-a-hand'>
+    <meta name="description" content="Understanding Apache Shiro Authorizers - 
the component that determines what authenticated users are allowed to do. Learn 
how Authorizers work with Realms to evaluate permissions and roles.">
+    <meta property="og:description" content="Understanding Apache Shiro 
Authorizers - the component that determines what authenticated users are 
allowed to do. Learn how Authorizers work with Realms to evaluate permissions 
and roles.">
+    <meta name="keywords" 
content='authorizer,authorization,access-control,permissions,roles'>
     <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="Authorizer | Apache Shiro"/>
-    <meta property="og:type" content="website"/>
-    <meta property="article:tag" content='documentation'/>
-    <meta property="article:tag" content='todo'/>
-    <meta property="article:tag" content='lend-a-hand'/>
+    <meta property="og:title" content="Apache Shiro Authorizers | Apache 
Shiro"/>
+    <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='authorizer'/>
+    <meta property="article:tag" content='authorization'/>
+    <meta property="article:tag" content='access-control'/>
+    <meta property="article:tag" content='permissions'/>
+    <meta property="article:tag" content='roles'/>
     <meta property="og:locale" content="en_US" />
     <meta property="og:url" 
content='https://shiro.apache.org/authorizer.html'/>
     <meta property="og:image" content='images/shiro-featured-image.png'/>
@@ -196,26 +203,241 @@
       </div>
     </nav>
 
-  <div class="page-header">
-    <h1>Authorizer</h1>
+       <div class="page-header">
+               <h1>Apache Shiro Authorizers</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>
 
+<div id="toc" class="toc">
+<div id="toctitle">Table of Contents</div>
+<ul class="sectlevel1">
+<li><a href="#Authorizer-Role">Role in the SecurityManager</a></li>
+<li><a 
href="#Authorizer-ModularRealmAuthorizer">ModularRealmAuthorizer</a></li>
+<li><a href="#Authorizer-PermissionAndRoleChecks">Permission and Role 
Checks</a>
+<ul class="sectlevel2">
+<li><a href="#Authorizer-PermissionChecks">Permission Checks</a></li>
+<li><a href="#Authorizer-RoleChecks">Role Checks</a></li>
+</ul>
+</li>
+<li><a href="#Authorizer-Configuration">Configuration</a></li>
+<li><a href="#Authorizer-RealmInteraction">How Authorizers Work with 
Realms</a></li>
+<li><a href="#Authorizer-MultipleRealms">Authorization with Multiple 
Realms</a></li>
+</ul>
+</div>
+<div id="preamble">
+<div class="sectionbody">
 <div class="paragraph">
-<p>TODO</p>
+<p>An <code>Authorizer</code> is a component responsible for determining 
whether a user is allowed to perform a certain action.
+It evaluates whether a <code>Subject</code> has the necessary permissions or 
roles to access a resource or perform an operation.</p>
 </div>
-<hr />
-
-<h2><a id="Lendahandwithdocumentation"></a>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>
+<div class="paragraph">
+<p>While the <a href="/authorization.html">Authorization</a> documentation 
explains the concepts and workflow of access control in Shiro,
+the Authorizer represents the actual implementation component that performs 
access control decisions.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authorizer-Role">Role in the SecurityManager</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The <a href="/securitymanager.html">SecurityManager</a> does not perform 
authorization checks directly.
+Instead, it delegates authorization decisions to its internal 
<code>Authorizer</code> instance.
+When a <a href="/subject.html">Subject</a> calls authorization methods such as
+<a 
href="/static/current/apidocs/org/apache/shiro/subject/Subject.html#hasRole(java.lang.String)"><code>hasRole(role)</code></a>,
+<a 
href="/static/current/apidocs/org/apache/shiro/subject/Subject.html#isPermitted(org.apache.shiro.authz.Permission)"><code>isPermitted(permission)</code></a>,
+or their variants, the SecurityManager delegates to the Authorizer.</p>
+</div>
+<div class="paragraph">
+<p>The Authorizer determines whether the Subject is permitted to perform the 
requested action by checking the Subject&#8217;s roles and permissions.
+If the Subject has the necessary role or permission, the authorization check 
passes.
+If not, an <a 
href="/static/current/apidocs/org/apache/shiro/authz/AuthorizationException.html"><code>AuthorizationException</code></a>
 may be thrown.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authorizer-ModularRealmAuthorizer">ModularRealmAuthorizer</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Shiro uses the <a 
href="/static/current/apidocs/org/apache/shiro/authz/ModularRealmAuthorizer.html"><code>ModularRealmAuthorizer</code></a>
+by default.
+This implementation supports coordinating one or more <a 
href="/realm.html">Realms</a> during the authorization process.</p>
+</div>
+<div class="paragraph">
+<p>When an authorization check is performed, the ModularRealmAuthorizer:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Iterates through configured Realms</p>
+</li>
+<li>
+<p>For each Realm that implements the <code>Authorizer</code> interface, calls 
the corresponding authorization method
+(<code>hasRole*</code>, <code>checkRole*</code>, <code>isPermitted*</code>, or 
<code>checkPermission*</code>)</p>
+</li>
+<li>
+<p>Aggregates and evaluates the results according to Shiro&#8217;s 
authorization semantics</p>
+</li>
+<li>
+<p>Returns the authorization decision to the caller</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>It is important to note that the ModularRealmAuthorizer treats Realms 
differently depending on whether they implement the <code>Authorizer</code> 
interface.
+If a Realm does not implement <code>Authorizer</code>, it is not consulted for 
authorization checks.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authorizer-PermissionAndRoleChecks">Permission and Role Checks</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Authorizer performs two types of authorization checks:</p>
+</div>
+<div class="sect2">
+<h3 id="Authorizer-PermissionChecks">Permission Checks</h3>
+<div class="paragraph">
+<p>Permission checks verify whether a Subject is allowed to perform a specific 
action on a specific resource.
+Methods for permission checks include:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a 
href="/static/current/apidocs/org/apache/shiro/subject/Subject.html#isPermitted(org.apache.shiro.authz.Permission)"><code>isPermitted(permission)</code></a>
 - returns <code>true</code> or <code>false</code></p>
+</li>
+<li>
+<p><a 
href="/static/current/apidocs/org/apache/shiro/subject/Subject.html#checkPermission(org.apache.shiro.authz.Permission)"><code>checkPermission(permission)</code></a>
 - throws an exception on failure</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-java hljs" 
data-lang="java">if (subject.isPermitted("account:read")) {
+    //User can read accounts
+}
 
-<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>
+subject.checkPermission("document:delete:report123");</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="Authorizer-RoleChecks">Role Checks</h3>
+<div class="paragraph">
+<p>Role checks verify whether a Subject has a specific role. Methods for role 
checks include:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a 
href="/static/current/apidocs/org/apache/shiro/subject/Subject.html#hasRole(java.lang.String)"><code>hasRole(role)</code></a>
 - returns <code>true</code> or <code>false</code></p>
+</li>
+<li>
+<p><a 
href="/static/current/apidocs/org/apache/shiro/subject/Subject.html#checkRole(java.lang.String)"><code>checkRole(role)</code></a>
 - throws an exception on failure</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For example:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-java hljs" 
data-lang="java">if (subject.hasRole("admin")) {
+    //User is an administrator
+}
 
-<hr />
+subject.checkRole("user");</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authorizer-Configuration">Configuration</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>You can configure a custom Authorizer in your Shiro configuration if 
needed:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-ini hljs" 
data-lang="ini">authorizer = com.foo.bar.CustomAuthorizer
+securityManager.authorizer = $authorizer</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>However, in most cases, the default ModularRealmAuthorizer is sufficient 
for typical applications.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authorizer-RealmInteraction">How Authorizers Work with Realms</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Authorizer does not directly know where to retrieve authorization data.
+Instead, it coordinates with configured Realms to perform the actual 
authorization checks.</p>
+</div>
+<div class="paragraph">
+<p>A <a href="/realm.html">Realm</a> is a security-specific data access object 
that knows how to retrieve authorization data from a data source
+(database, LDAP, file system, etc.).
+The Realm is responsible for:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Determining if it implements the <code>Authorizer</code> interface (which 
indicates it can perform authorization checks)</p>
+</li>
+<li>
+<p>Retrieving the Subject&#8217;s roles and permissions from the data 
source</p>
+</li>
+<li>
+<p>Evaluating whether the Subject has the requested role or permission</p>
+</li>
+<li>
+<p>Returning the results of the authorization check</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The Authorizer simply orchestrates this process by delegating to Realms and 
aggregating their results.
+This allows you to use multiple Realms where authorization data may come from 
different sources,
+and Shiro will coordinate the results appropriately.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Authorizer-MultipleRealms">Authorization with Multiple Realms</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>When multiple Realms are configured, the ModularRealmAuthorizer consults 
all Realms that implement the <code>Authorizer</code> interface.
+The results are aggregated to determine the final authorization decision.</p>
+</div>
+<div class="paragraph">
+<p>Typically, if any Realm grants permission or role membership, the 
authorization check succeeds.
+However, the exact behavior depends on the authorization data model and how 
the Realms are configured.
+Custom Authorizer implementations can be used to implement different 
aggregation strategies if needed.</p>
+</div>
+</div>
+</div>
+       <hr />
 
 </div> 
 
diff --git a/forums.html b/blog/2026/02/apache-shiro-210-released.html
similarity index 62%
copy from forums.html
copy to blog/2026/02/apache-shiro-210-released.html
index 150400190..23623e68f 100644
--- a/forums.html
+++ b/blog/2026/02/apache-shiro-210-released.html
@@ -18,50 +18,49 @@
 <html lang="en">
   <head>
     <meta charset="utf-8"/>
-    <title>Apache Shiro Community Forums | Apache Shiro</title>
+    <title>2.1.0 available | Apache Shiro</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="description" content="Access Apache Shiro community forums and 
mailing list archives via ASF Pony Mail for user and developer discussions.">
-    <meta property="og:description" content="Access Apache Shiro community 
forums and mailing list archives via ASF Pony Mail for user and developer 
discussions.">
-    <meta name="keywords" content='forums,community,support,discussions'>
+    <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 Community Forums | Apache 
Shiro"/>
+    <meta property="og:title" content="2.1.0 available | Apache Shiro"/>
+    <meta property="article:published_time" content="2026-02-08T00:00:00Z"/>
+    <meta name="publish_date" property="og:publish_date" 
content="2026-02-08T00: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='forums'/>
-    <meta property="article:tag" content='community'/>
-    <meta property="article:tag" content='support'/>
-    <meta property="article:tag" content='discussions'/>
+    <meta property="article:modification_time" content="2026-02-08T00: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/forums.html'/>
-    <meta property="og:image" content='images/shiro-featured-image.png'/>
+    <meta property="og:url" 
content='https://shiro.apache.org/blog/2026/02/apache-shiro-210-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,76 +202,78 @@
     </nav>
 
        <div class="page-header">
-               <h1>Apache Shiro Community Forums</h1>
+               <h1>2.1.0 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&nbsp;on the
+                       <time datetime="2026-02-08T00:00:00Z">08th of February, 
2026</time>
+               </em>
+       </p>
 
-<div class="sect1">
-<h2 id="mailing_lists">Mailing Lists</h2>
+       <div id="preamble">
 <div class="sectionbody">
 <div class="paragraph">
-<p>For those that may prefer mailing lists, please see the <a 
href="mailing-lists.html">Mailing Lists</a> information.</p>
+<p>The Apache Shiro team is pleased to announce the release of Apache Shiro 
version 2.1.0.</p>
 </div>
-<div class="quoteblock">
-<blockquote>
 <div class="paragraph">
-<p><strong>NOTE:</strong> The primary forums for Apache Shiro are the mailing 
lists, which can be accessed via the <a href="mailing-lists.html">Mailing 
Lists</a> page. This is per the Apache Software Foundation&#8217;s community 
guidelines.</p>
-</div>
-</blockquote>
+<p>This release is available for download now.</p>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="mailing_list_archives">Mailing List Archives</h2>
+<h2 id="release_highlights">Release Highlights</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>For users that prefer to browse the mailing lists with a browser can use <a 
href="https://lists.apache.org/";>ASF Lists</a> (Pony Mail).</p>
+<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://lists.apache.org/[email protected]";>Shiro 
User Forum</a></p>
+<p><a href="https://github.com/celikfatih";>@celikfatih</a></p>
 </li>
 <li>
-<p><a href="https://lists.apache.org/[email protected]";>Shiro 
Developer Forum</a></p>
+<p><a href="https://github.com/haster";>@haster</a></p>
 </li>
 </ul>
 </div>
-<div class="quoteblock">
-<blockquote>
+</div>
+</div>
+<div class="sect1">
+<h2 id="all_changes">All changes</h2>
+<div class="sectionbody">
 <div class="paragraph">
-<p><strong>NOTE:</strong> Previously, <code>nabble.com</code> was used as an 
alternative to the mailing list, this service is no longer hosting the mailing 
list archive.</p>
+<p>You can learn more on <a 
href="https://github.com/apache/shiro/releases/tag/shiro-root-2.1.0";>GitHub, 
Release 2.1.0</a>.</p>
+</div>
 </div>
-</blockquote>
+</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="github_discussions">GitHub Discussions</h2>
+<h2 id="documentation">Documentation</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>For questions, ideas, and general community discussion, please use <a 
href="https://github.com/apache/shiro/discussions";>GitHub Discussions</a>.</p>
+<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> 
@@ -296,7 +297,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/forums.adoc"/>
+          <input type="hidden" id="ghEditPage" 
value="https://github.com/apache/shiro-site/edit/main/src/site/content/blog/2026/02/apache-shiro-210-released.adoc"/>
         </div>
 
         <div class="d-flex col-md-2 justify-content-end" style="position: 
relative">
@@ -309,9 +310,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 401cc9edf..b2e7843b0 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'>&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-cas&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;
 </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.0.6'
+    <pre><code class='groovy language-groovy'>compile 
'org.apache.shiro:shiro-cas:2.1.0'
 </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.0.6"
+    <pre><code class='scala language-scala'>libraryDependencies += 
"org.apache.shiro" % "shiro-cas" % "2.1.0"
 </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'>&lt;dependency org="org.apache.shiro" 
name="shiro-cas" rev="2.0.6"/&gt;
+    <pre><code class='xml language-xml'>&lt;dependency org="org.apache.shiro" 
name="shiro-cas" rev="2.1.0"/&gt;
 </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.0.6"]
+    <pre><code class='clojure language-clojure'>[org.apache.shiro/shiro-cas 
"2.1.0"]
 </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.0.6'
+    <pre><code class='groovy 
language-groovy'>'org.apache.shiro:shiro-cas:jar:2.1.0'
 </code></pre>
   </div>
 </div>
diff --git a/community.html b/community.html
index c033a251c..15a2b6340 100644
--- a/community.html
+++ b/community.html
@@ -20,9 +20,7 @@
     <meta charset="utf-8"/>
     <title>Welcome to the Apache Shiro Community! | Apache Shiro</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="description" content="Join the Apache Shiro community to get 
help, share knowledge, and contribute. Access forums, mailing lists, articles, 
and community events.">
-    <meta property="og:description" content="Join the Apache Shiro community 
to get help, share knowledge, and contribute. Access forums, mailing lists, 
articles, and community events.">
-    <meta name="keywords" content='community,support,forums,mailing-lists'>
+    <meta name="keywords" content='community'>
     <meta name="generator" content="JBake">
     <meta name="google-site-verification" 
content="QIax6uT5UX3enoU0G8Pz2pXbQ45KaQuHZ3nCh9V27mw">
     <meta name="google-site-verification" 
content="ecFap6dWJgS_GCCtxmJQJ_nFYQhM6EgSpBPZDU7xsCE">
@@ -35,9 +33,6 @@
     <meta name="twitter:site" content="@ApacheShiro" />
     <meta property="article:modification_time" content="2010-03-18T00:00:00Z"/>
     <meta property="article:tag" content='community'/>
-    <meta property="article:tag" content='support'/>
-    <meta property="article:tag" content='forums'/>
-    <meta property="article:tag" content='mailing-lists'/>
     <meta property="og:locale" content="en_US" />
     <meta property="og:url" content='https://shiro.apache.org/community.html'/>
     <meta property="og:image" content='images/shiro-featured-image.png'/>
@@ -272,10 +267,7 @@
 <p><strong><a href="developer-resources.html">Developer Resources</a></strong> 
- Helpful information for anyone providing project help as a committer or 
contributor</p>
 </li>
 <li>
-<p><strong><a href="https://github.com/apache/shiro/discussions";>GitHub 
Discussions</a></strong> - For questions, ideas, and community discussion</p>
-</li>
-<li>
-<p><strong><a href="https://github.com/apache/shiro/issues";>GitHub 
Issues</a></strong> - For bug reports and feature requests</p>
+<p><strong><a href="https://github.com/apache/shiro/issues";>Issue 
Tracker</a></strong> - Once you&#8217;re ready to contribute, this is a good 
place to see what needs to get done</p>
 </li>
 <li>
 <p><strong><a href="https://www.apache.org/foundation/sponsorship.html";>Donate 
to ASF</a></strong> - Shiro is a project under the Apache Software Foundation, 
a non-profit that relies on donations and community support</p>
diff --git a/documentation.html b/documentation.html
index 29530e81e..799a2b284 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.0.6 (<a href="download.html">Download</a>)</p>
+<p>Apache Shiro 2.1.0 (<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.0.6/";>Browse 
Source</a> (GitHub tag)</p>
+<p><a href="https://github.com/apache/shiro/tree/shiro-root-2.1.0/";>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 4191967c8..c43fa051f 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.0.6 is the current stable release (Java 11+).</p>
+<p>Apache Shiro 2.1.0 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.0.6.
+<p>The current release is 2.1.0.
 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="#206">Apache Shiro Release v2.0.6</a></li>
+    <li><a href="#210">Apache Shiro Release v2.1.0</a></li>
     <ul>
-      <li><a href="#206Source">2.0.6 Source Code Distribution</a></li>
-      <li><a href="#206Git">2.0.6 Git Source repository</a></li>
-      <li><a href="#206Binary">2.0.6 Binaries</a></li>
+      <li><a href="#210Source">2.1.0 Source Code Distribution</a></li>
+      <li><a href="#210Git">2.1.0 Git Source repository</a></li>
+      <li><a href="#210Binary">2.1.0 Binaries</a></li>
     </ul>
   </ul>
 </p>
 
 
-  <section id="206">
-  <h2>Release 2.0.6</h2>
+  <section id="210">
+  <h2>Release 2.1.0</h2>
 
-  <h3 id="206Source">2.0.6 Source Code Distribution</h3>
+  <h3 id="210Source">2.1.0 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.0.6/shiro-root-2.0.6-source-release.zip";>shiro-root-2.0.6-source-release.zip</a></code>
+  <code><a class="external-link" 
href="https://www.apache.org/dyn/closer.lua/shiro/2.1.0/shiro-root-2.1.0-source-release.zip";>shiro-root-2.1.0-source-release.zip</a></code>
     (<a class="external-link"
-        
href="https://downloads.apache.org/shiro/2.0.6/shiro-root-2.0.6-source-release.zip.asc.txt";>pgp</a>,
 <a
+        
href="https://downloads.apache.org/shiro/2.1.0/shiro-root-2.1.0-source-release.zip.asc.txt";>pgp</a>,
 <a
             class="external-link"
-            
href="https://downloads.apache.org/shiro/2.0.6/shiro-root-2.0.6-source-release.zip.sha512";>sha512</a>)
+            
href="https://downloads.apache.org/shiro/2.1.0/shiro-root-2.1.0-source-release.zip.sha512";>sha512</a>)
   </code>
 
   <p>Associated documentation can be found <a href="documentation.html" 
title="Documentation">here</a></p>
 
-  <h3 id="206Git">2.0.6 Git Source repository</h3>
+  <h3 id="210Git">2.1.0 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.0.6
+git checkout shiro-root-2.1.0
 </code>
 </pre>
 
-  <h3 id="206Binary">2.0.6 Binaries</h3>
+  <h3 id="210Binary">2.1.0 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.0.6
   <tr>
 
     <td style="white-space: nowrap;">
-      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-core/2.0.6/shiro-core-2.0.6.jar";>shiro-core</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-core/2.0.6/shiro-core-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-core/2.1.0/shiro-core-2.1.0.jar";>shiro-core</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-core/2.1.0/shiro-core-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-core&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-web-2.0.6.jar";>shiro-web</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-web/2.0.6/shiro-web-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-web/2.1.0/shiro-web-2.1.0.jar";>shiro-web</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-web/2.1.0/shiro-web-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-web&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-servlet-plugin-2.0.6.jar";>shiro-servlet-plugin</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-servlet-plugin/2.0.6/shiro-servlet-plugin-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-servlet-plugin/2.1.0/shiro-servlet-plugin-2.1.0.jar";>shiro-servlet-plugin</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-servlet-plugin/2.1.0/shiro-servlet-plugin-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-servlet-plugin&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-cdi-2.0.6.jar";>shiro-cdi</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cdi/2.0.6/shiro-cdi-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cdi/2.1.0/shiro-cdi-2.1.0.jar";>shiro-cdi</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cdi/2.1.0/shiro-cdi-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-cdi&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-jakarta-ee-2.0.6.jar";>shiro-jakarta-ee</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jakarta-ee/2.0.6/shiro-jakarta-ee-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jakarta-ee/2.1.0/shiro-jakarta-ee-2.1.0.jar";>shiro-jakarta-ee</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jakarta-ee/2.1.0/shiro-jakarta-ee-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-jakarta-ee&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-jaxrs-2.0.6.jar";>shiro-jaxrs</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jaxrs/2.0.6/shiro-jaxrs-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jaxrs/2.1.0/shiro-jaxrs-2.1.0.jar";>shiro-jaxrs</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-jaxrs/2.1.0/shiro-jaxrs-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-jaxrs&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-aspectj-2.0.6.jar";>shiro-aspectj</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/2.0.6/shiro-aspectj-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/2.1.0/shiro-aspectj-2.1.0.jar";>shiro-aspectj</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/2.1.0/shiro-aspectj-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-aspectj&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-cas-2.0.6.jar";>shiro-cas</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/2.0.6/shiro-cas-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/2.1.0/shiro-cas-2.1.0.jar";>shiro-cas</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/2.1.0/shiro-cas-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-cas&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</code></pre>
     </td>
 
@@ -444,51 +444,51 @@ 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.0.6/shiro-ehcache-2.0.6.jar";>shiro-ehcache</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/2.0.6/shiro-ehcache-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/2.1.0/shiro-ehcache-2.1.0.jar";>shiro-ehcache</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/2.1.0/shiro-ehcache-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-ehcache&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
 
     <td style="white-space: nowrap;">
-      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-hazelcast/2.0.6/shiro-hazelcast-2.0.6.jar";>shiro-hazelcast</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-hazelcast/2.0.6/shiro-hazelcast-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-hazelcast/2.1.0/shiro-hazelcast-2.1.0.jar";>shiro-hazelcast</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-hazelcast/2.1.0/shiro-hazelcast-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-hazelcast&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
 
     <td style="white-space: nowrap;">
-      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-features/2.0.6/shiro-features-2.0.6-features.xml";>shiro-features</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-features/2.0.6/shiro-features-2.0.6-features.xml.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-features/2.1.0/shiro-features-2.1.0-features.xml";>shiro-features</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-features/2.1.0/shiro-features-2.1.0-features.xml.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-features&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-guice-2.0.6.jar";>shiro-guice</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/2.0.6/shiro-guice-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/2.1.0/shiro-guice-2.1.0.jar";>shiro-guice</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/2.1.0/shiro-guice-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-guice&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-quartz-2.0.6.jar";>shiro-quartz</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/2.0.6/shiro-quartz-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/2.1.0/shiro-quartz-2.1.0.jar";>shiro-quartz</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/2.1.0/shiro-quartz-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-quartz&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-spring-2.0.6.jar";>shiro-spring</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/2.0.6/shiro-spring-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/2.1.0/shiro-spring-2.1.0.jar";>shiro-spring</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/2.1.0/shiro-spring-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-spring&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-spring-boot-starter-2.0.6.jar";>shiro-spring-boot-starter</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-starter/2.0.6/shiro-spring-boot-starter-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-starter/2.1.0/shiro-spring-boot-starter-2.1.0.jar";>shiro-spring-boot-starter</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-starter/2.1.0/shiro-spring-boot-starter-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-spring-boot-starter&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-spring-boot-web-starter-2.0.6.jar";>shiro-spring-boot-web-starter</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-web-starter/2.0.6/shiro-spring-boot-web-starter-2.0.6.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/shiro-spring-boot-web-starter/2.1.0/shiro-spring-boot-web-starter-2.1.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.1.0/shiro-spring-boot-web-starter-2.1.0.jar.asc";>pgp</a>)
     </td>
 
     <td>
         <pre><code class="xml language-xml">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-spring-boot-web-starter&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;</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.0.6/shiro-tools-hasher-2.0.6-cli.jar";>shiro-tools-hasher</a><br/>
-      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/2.0.6/shiro-tools-hasher-2.0.6-cli.jar.asc";>pgp</a>)
+      <a 
href="https://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/2.1.0/shiro-tools-hasher-2.1.0-cli.jar";>shiro-tools-hasher</a><br/>
+      (<a 
href="https://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/2.1.0/shiro-tools-hasher-2.1.0-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.0.6-cli.jar</code></pre>
+<pre><code class='bash'> java -jar 
shiro-tools-hasher-2.1.0-cli.jar</code></pre>
 </td>
 
   </tr>
diff --git a/feed.xml b/feed.xml
index 2850ecd3c..51e0f7187 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-01-31T16:57:31Z</updated>
+  <updated>2026-02-09T22:57:11Z</updated>
 
   <author>
     <name>Les Hazlewood</name>
@@ -35,6 +35,79 @@
   <icon>/images/favicon128.png</icon>
   <logo>/images/apache-shiro-logo.png</logo>
 
+  <entry>
+    <title>2.1.0 available</title>
+    <link 
href="https://shiro.apache.org/blog/2026/02/apache-shiro-210-released.html"/>
+    
<id>https://shiro.apache.org/blog/2026/02/apache-shiro-210-released.html</id>
+    <updated>2026-02-08T00:00:00Z</updated>
+    <author>
+      <name>Francois Papon</name>
+    </author>
+    <content type="html">
+      &lt;div id=&quot;preamble&quot;&gt;
+&lt;div class=&quot;sectionbody&quot;&gt;
+&lt;div class=&quot;paragraph&quot;&gt;
+&lt;p&gt;The Apache Shiro team is pleased to announce the release of Apache 
Shiro version 2.1.0.&lt;/p&gt;
+&lt;/div&gt;
+&lt;div class=&quot;paragraph&quot;&gt;
+&lt;p&gt;This release is available for download now.&lt;/p&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;sect1&quot;&gt;
+&lt;h2 id=&quot;release_highlights&quot;&gt;Release Highlights&lt;/h2&gt;
+&lt;div class=&quot;sectionbody&quot;&gt;
+&lt;div class=&quot;paragraph&quot;&gt;
+&lt;p&gt;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.&lt;/p&gt;
+&lt;/div&gt;
+&lt;div class=&quot;paragraph&quot;&gt;
+&lt;p&gt;We have new contributors!&lt;/p&gt;
+&lt;/div&gt;
+&lt;div class=&quot;ulist&quot;&gt;
+&lt;ul&gt;
+&lt;li&gt;
+&lt;p&gt;&lt;a 
href=&quot;https://github.com/celikfatih&quot;&gt;@celikfatih&lt;/a&gt;&lt;/p&gt;
+&lt;/li&gt;
+&lt;li&gt;
+&lt;p&gt;&lt;a 
href=&quot;https://github.com/haster&quot;&gt;@haster&lt;/a&gt;&lt;/p&gt;
+&lt;/li&gt;
+&lt;/ul&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;sect1&quot;&gt;
+&lt;h2 id=&quot;all_changes&quot;&gt;All changes&lt;/h2&gt;
+&lt;div class=&quot;sectionbody&quot;&gt;
+&lt;div class=&quot;paragraph&quot;&gt;
+&lt;p&gt;You can learn more on &lt;a 
href=&quot;https://github.com/apache/shiro/releases/tag/shiro-root-2.1.0&quot;&gt;GitHub,
 Release 2.1.0&lt;/a&gt;.&lt;/p&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;sect1&quot;&gt;
+&lt;h2 id=&quot;download&quot;&gt;Download&lt;/h2&gt;
+&lt;div class=&quot;sectionbody&quot;&gt;
+&lt;div class=&quot;paragraph&quot;&gt;
+&lt;p&gt;Download and verification instructions are available &lt;a 
href=&quot;/download.html&quot;&gt;on our download page&lt;/a&gt;.&lt;/p&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;sect1&quot;&gt;
+&lt;h2 id=&quot;documentation&quot;&gt;Documentation&lt;/h2&gt;
+&lt;div class=&quot;sectionbody&quot;&gt;
+&lt;div class=&quot;paragraph&quot;&gt;
+&lt;p&gt;For more information on &lt;a 
href=&quot;/documentation.html&quot;&gt;Shiro, please read the 
documentation.&lt;/a&gt;&lt;/p&gt;
+&lt;/div&gt;
+&lt;div class=&quot;paragraph&quot;&gt;
+&lt;p&gt;Enjoy!&lt;/p&gt;
+&lt;/div&gt;
+&lt;div class=&quot;paragraph&quot;&gt;
+&lt;p&gt;The Apache Shiro Team&lt;/p&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+    </content>
+  </entry>
+
   <entry>
     <title>2.0.6 available</title>
     <link 
href="https://shiro.apache.org/blog/2025/11/apache-shiro-206-released.html"/>
@@ -1291,103 +1364,5 @@ Apache Shiro would like to thank v3ged0ge and Adamytd 
for reporting this issue.&
     </content>
   </entry>
 
-  <entry>
-    <title>Apache Shiro 1.10.1 available</title>
-    <link 
href="https://shiro.apache.org/blog/2022/11/19/apache-shiro-1101-released.html"/>
-    
<id>https://shiro.apache.org/blog/2022/11/19/apache-shiro-1101-released.html</id>
-    <updated>2022-11-19T00:00:00Z</updated>
-    <author>
-      <name>Benjamin Marwell</name>
-    </author>
-    <content type="html">
-      &lt;div id=&quot;preamble&quot;&gt;
-&lt;div class=&quot;sectionbody&quot;&gt;
-&lt;div class=&quot;paragraph&quot;&gt;
-&lt;p&gt;The Apache Shiro team is pleased to announce the release of Apache 
Shiro version 1.10.1.
-This is a feature release for 1.x.&lt;/p&gt;
-&lt;/div&gt;
-&lt;div class=&quot;paragraph&quot;&gt;
-&lt;p&gt;This release solves 5 issues since the 1.10.0 release and is 
available for download now.&lt;/p&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;div class=&quot;sect1&quot;&gt;
-&lt;h2 id=&quot;all_changes&quot;&gt;All changes&lt;/h2&gt;
-&lt;div class=&quot;sectionbody&quot;&gt;
-&lt;div class=&quot;paragraph&quot;&gt;
-&lt;p&gt;You can learn more on &lt;a 
href=&quot;https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310950&amp;amp;version=12352460&quot;&gt;Jira,
 Release 1.10.1&lt;/a&gt;.&lt;/p&gt;
-&lt;/div&gt;
-&lt;div class=&quot;paragraph&quot;&gt;
-&lt;p&gt;This release does not include classifiers for the Jakarta namespace, 
yet.&lt;/p&gt;
-&lt;/div&gt;
-&lt;div class=&quot;sect2&quot;&gt;
-&lt;h3 id=&quot;bug&quot;&gt;Bug&lt;/h3&gt;
-&lt;div class=&quot;ulist&quot;&gt;
-&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;[&lt;a 
href=&quot;https://issues.apache.org/jira/browse/SHIRO-892&quot;&gt;SHIRO-892&lt;/a&gt;]
 - No Guice binding for newly introduced ShiroFilterConfiguration&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;[&lt;a 
href=&quot;https://issues.apache.org/jira/browse/SHIRO-893&quot;&gt;SHIRO-893&lt;/a&gt;]
 - NPE caused by lack of default ShiroFilterConfiguration&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;div class=&quot;sect2&quot;&gt;
-&lt;h3 id=&quot;test&quot;&gt;Test&lt;/h3&gt;
-&lt;div class=&quot;ulist&quot;&gt;
-&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;[&lt;a 
href=&quot;https://issues.apache.org/jira/browse/SHIRO-895&quot;&gt;SHIRO-895&lt;/a&gt;]
 - Work around Guice 4&amp;#8217;s Java 17 compatibliity for Java 17-based 
tests&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;div class=&quot;sect2&quot;&gt;
-&lt;h3 id=&quot;dependency_upgrade&quot;&gt;Dependency upgrade&lt;/h3&gt;
-&lt;div class=&quot;ulist&quot;&gt;
-&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;[&lt;a 
href=&quot;https://issues.apache.org/jira/browse/SHIRO-894&quot;&gt;SHIRO-894&lt;/a&gt;]
 - EasyMock 5.0.1 for Java 17 compatibility&lt;/p&gt;
-&lt;/li&gt;
-&lt;li&gt;
-&lt;p&gt;[&lt;a 
href=&quot;https://issues.apache.org/jira/browse/SHIRO-896&quot;&gt;SHIRO-896&lt;/a&gt;]
 - HSQLDB 2.7.1&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;div class=&quot;sect2&quot;&gt;
-&lt;h3 id=&quot;behavior_changes&quot;&gt;Behavior Changes&lt;/h3&gt;
-&lt;div class=&quot;paragraph&quot;&gt;
-&lt;p&gt;As of 1.10.1, the Guice injection will be fixed as we introduced a 
regression with 1.10.0 when using Guice with 
&lt;code&gt;binder().requireExplicitBindings();&lt;/code&gt;.&lt;/p&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;div class=&quot;sect1&quot;&gt;
-&lt;h2 id=&quot;download&quot;&gt;Download&lt;/h2&gt;
-&lt;div class=&quot;sectionbody&quot;&gt;
-&lt;div class=&quot;paragraph&quot;&gt;
-&lt;p&gt;Download and verification instructions are available &lt;a 
href=&quot;/download.html&quot;&gt;on our download page&lt;/a&gt;.&lt;/p&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;div class=&quot;sect1&quot;&gt;
-&lt;h2 id=&quot;documentation&quot;&gt;Documentation&lt;/h2&gt;
-&lt;div class=&quot;sectionbody&quot;&gt;
-&lt;div class=&quot;paragraph&quot;&gt;
-&lt;p&gt;For more information on &lt;a 
href=&quot;/documentation.html&quot;&gt;Shiro, please read the 
documentation.&lt;/a&gt;&lt;/p&gt;
-&lt;/div&gt;
-&lt;div class=&quot;paragraph&quot;&gt;
-&lt;p&gt;Enjoy!&lt;/p&gt;
-&lt;/div&gt;
-&lt;div class=&quot;paragraph&quot;&gt;
-&lt;p&gt;The Apache Shiro Team&lt;/p&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-&lt;/div&gt;
-    </content>
-  </entry>
-
 
 </feed>
diff --git a/forums.html b/forums.html
index 150400190..757054853 100644
--- a/forums.html
+++ b/forums.html
@@ -20,9 +20,7 @@
     <meta charset="utf-8"/>
     <title>Apache Shiro Community Forums | Apache Shiro</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="description" content="Access Apache Shiro community forums and 
mailing list archives via ASF Pony Mail for user and developer discussions.">
-    <meta property="og:description" content="Access Apache Shiro community 
forums and mailing list archives via ASF Pony Mail for user and developer 
discussions.">
-    <meta name="keywords" content='forums,community,support,discussions'>
+    <meta name="keywords" content='documentation,community'>
     <meta name="generator" content="JBake">
     <meta name="google-site-verification" 
content="QIax6uT5UX3enoU0G8Pz2pXbQ45KaQuHZ3nCh9V27mw">
     <meta name="google-site-verification" 
content="ecFap6dWJgS_GCCtxmJQJ_nFYQhM6EgSpBPZDU7xsCE">
@@ -34,10 +32,8 @@
       <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='forums'/>
+    <meta property="article:tag" content='documentation'/>
     <meta property="article:tag" content='community'/>
-    <meta property="article:tag" content='support'/>
-    <meta property="article:tag" content='discussions'/>
     <meta property="og:locale" content="en_US" />
     <meta property="og:url" content='https://shiro.apache.org/forums.html'/>
     <meta property="og:image" content='images/shiro-featured-image.png'/>
@@ -225,26 +221,10 @@
     </table>
   </div>
 
-<div class="sect1">
-<h2 id="mailing_lists">Mailing Lists</h2>
+<div id="preamble">
 <div class="sectionbody">
 <div class="paragraph">
-<p>For those that may prefer mailing lists, please see the <a 
href="mailing-lists.html">Mailing Lists</a> information.</p>
-</div>
-<div class="quoteblock">
-<blockquote>
-<div class="paragraph">
-<p><strong>NOTE:</strong> The primary forums for Apache Shiro are the mailing 
lists, which can be accessed via the <a href="mailing-lists.html">Mailing 
Lists</a> page. This is per the Apache Software Foundation&#8217;s community 
guidelines.</p>
-</div>
-</blockquote>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="mailing_list_archives">Mailing List Archives</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>For users that prefer to browse the mailing lists with a browser can use <a 
href="https://lists.apache.org/";>ASF Lists</a> (Pony Mail).</p>
+<p>For users that prefer to use browse the mailing lists with a browser can 
use <a href="https://lists.apache.org/";>ASF Lists</a> (Pony Mail).</p>
 </div>
 <div class="ulist">
 <ul>
@@ -266,10 +246,10 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="github_discussions">GitHub Discussions</h2>
+<h2 id="mailing_lists">Mailing Lists</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>For questions, ideas, and general community discussion, please use <a 
href="https://github.com/apache/shiro/discussions";>GitHub Discussions</a>.</p>
+<p>For those that may prefer mailing lists, please see the <a 
href="mailing-lists.html">Mailing Lists</a> information.</p>
 </div>
 </div>
 </div>
diff --git a/index.html b/index.html
index 88f6a128f..7393098bb 100644
--- a/index.html
+++ b/index.html
@@ -307,6 +307,10 @@
         </div>
 
         <div class="card-body">
+          <div>
+            <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>
@@ -323,10 +327,6 @@
             <a href="blog/2025/04/apache-shiro-203-released.html"><h4 
class="news-title">2.0.3 available</h4></a>
             <p><small>by Lenny Primak on 2025-04-06</small></p>
           </div>
-          <div>
-            <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>
           <hr/>
 
           <nav class="" aria-label="News Pagination">
diff --git a/issues.html b/issues.html
index 9a2e498f6..bf708573b 100644
--- a/issues.html
+++ b/issues.html
@@ -20,9 +20,9 @@
     <meta charset="utf-8"/>
     <title>Apache Shiro Bug &amp; Issue Tracking | Apache Shiro</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="description" content="Report bugs, request features, and track 
issues for Apache Shiro using GitHub Issues tracking system.">
-    <meta property="og:description" content="Report bugs, request features, 
and track issues for Apache Shiro using GitHub Issues tracking system.">
-    <meta name="keywords" content='issues,bugs,jira,bug-tracking,support'>
+    <meta name="description" content="Report bugs, request features, and track 
issues for Apache Shiro using GitHub Issues.">
+    <meta property="og:description" content="Report bugs, request features, 
and track issues for Apache Shiro using GitHub Issues.">
+    <meta name="keywords" content='issues,bugs,bug-tracking,support'>
     <meta name="generator" content="JBake">
     <meta name="google-site-verification" 
content="QIax6uT5UX3enoU0G8Pz2pXbQ45KaQuHZ3nCh9V27mw">
     <meta name="google-site-verification" 
content="ecFap6dWJgS_GCCtxmJQJ_nFYQhM6EgSpBPZDU7xsCE">
@@ -36,7 +36,6 @@
     <meta property="article:modification_time" content="2010-03-18T00:00:00Z"/>
     <meta property="article:tag" content='issues'/>
     <meta property="article:tag" content='bugs'/>
-    <meta property="article:tag" content='jira'/>
     <meta property="article:tag" content='bug-tracking'/>
     <meta property="article:tag" content='support'/>
     <meta property="og:locale" content="en_US" />
diff --git a/news.html b/news.html
index 58091190b..3744d3678 100644
--- a/news.html
+++ b/news.html
@@ -196,9 +196,14 @@
 </div>
 
 <!--<ul>-->
-      <h4>November 2025</h4>
+      <h4>February 2026</h4>
       <ul>
 
+  <li>08 - <a href="blog/2026/02/apache-shiro-210-released.html">2.1.0 
available</a></li>
+          </ul>
+          <h4>November 2025</h4>
+          <ul>
+
   <li>07 - <a href="blog/2025/11/apache-shiro-206-released.html">2.0.6 
available</a></li>
           </ul>
           <h4>July 2025</h4>
diff --git a/release-archive.html b/release-archive.html
index 36f2308a0..78646a06f 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.0.6.
+Please note that the current version of Apache Shiro is 2.1.0.
 We recommend to stick to the latest version.</p>
 </div>
 </div>
@@ -513,7 +513,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -531,7 +531,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -859,7 +859,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -877,7 +877,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -1205,7 +1205,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -1223,7 +1223,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -1551,7 +1551,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -1569,7 +1569,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -1897,7 +1897,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -1915,7 +1915,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -2243,7 +2243,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -2261,7 +2261,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -2589,7 +2589,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -2607,7 +2607,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -2935,7 +2935,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -2953,7 +2953,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -3281,7 +3281,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -3299,7 +3299,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -3627,7 +3627,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -3645,7 +3645,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -3937,7 +3937,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -3955,7 +3955,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://hazelcast.org";>Hazelcast</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -4211,7 +4211,7 @@ to the Apache Shiro based <a 
href='https://github.com/bujiio/buji-pac4j'>buji-pa
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
@@ -4445,7 +4445,7 @@ and one of its binding jars is required.
 &lt;/dependency&gt;</code></pre>
     </td>
 
-    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based famework caching.</td>
+    <td>Enables <a class="external-link" 
href="https://www.ehcache.org";>Ehcache</a>-based framework caching.</td>
 
   </tr>
   <tr>
diff --git a/security-reports.html b/security-reports.html
index 8c63fd357..3438bce79 100644
--- a/security-reports.html
+++ b/security-reports.html
@@ -232,6 +232,8 @@
 <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_23903">CVE-2026-23903</a></li>
+<li><a href="#cve_2026_23901">CVE-2026-23901</a></li>
 <li><a href="#cve_2023_46749">CVE-2023-46749</a></li>
 <li><a href="#cve_2023_46750">CVE-2023-46750</a></li>
 <li><a href="#cve_2023_34478">CVE-2023-34478</a></li>
@@ -299,6 +301,47 @@ 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_23903"><a 
href="https://www.cve.org/CVERecord?id=CVE-2026-23903";>CVE-2026-23903</a></h3>
+<div class="paragraph">
+<p>If static files are served from a case-insensitive filesystem,
+such as default macOS setup, static files may be accessed by varying the case 
of the filename in the request.
+If only lower-case (common default) filters are present in Shiro, they may be 
bypassed this way.
+The issue only effects static files.</p>
+</div>
+<div class="paragraph">
+<p>Shiro 2.1.0 and later has a new parameters to remediate this issue
+shiro.ini: <code>filterChainResolver.caseInsensitive = true</code>
+application.properties: <code>shiro.caseInsensitive=true</code></p>
+</div>
+<div class="paragraph">
+<p>Shiro 3.0.0 and later (upcoming) makes this the default.</p>
+</div>
+<div class="paragraph">
+<p><strong>Mitigation:</strong> Upgrade to version 2.1.0 or later, which fixes 
the issue.</p>
+</div>
+<div class="paragraph">
+<p><strong>Credit:</strong>
+Apache Shiro would like to thank <strong>Jesse Yang</strong> for reporting 
this issue.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="cve_2026_23901"><a 
href="https://www.cve.org/CVERecord?id=CVE-2026-23901";>CVE-2026-23901</a></h3>
+<div class="paragraph">
+<p>Prior to Shiro 2.1.0, code paths for non-existent vs. existing users are 
different enough,
+that a brute-force attack may be able to tell, by timing the requests only, 
determine if
+the request failed because of a non-existent user vs. wrong password.<br>
+The most likely attack vector is a local attack only.</p>
+</div>
+<div class="paragraph">
+<p><strong>Mitigation:</strong> Upgrade to version 2.1.0 or later, which fixes 
the issue, or ensure that
+the infrastructure-level mitigations are in place to prevent brute-force 
attacks, such as rate-limiting or account lockout.</p>
+</div>
+<div class="paragraph">
+<p><strong>Credit:</strong>
+Apache Shiro would like to thank <strong>4ra1n</strong> and 
<strong>Y4tacker</strong> for reporting this issue.</p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="cve_2023_46749"><a 
href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-46749";>CVE-2023-46749</a></h3>
 <div class="paragraph">
 <p>Apache Shiro before 1.13.0 or 2.0.0-alpha-4, may be susceptible to a path 
traversal attack that results in an authentication bypass when used together 
with path rewriting</p>
diff --git a/sitemap.xml b/sitemap.xml
index fe76d2ddc..c88334051 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -28,26 +28,6 @@
         <loc>https://shiro.apache.org/10-minute-tutorial.html</loc>
         <lastmod>2016-10-23</lastmod>
     </url>
-    <url>
-        <loc>https://shiro.apache.org/web.html</loc>
-        <lastmod>2010-03-18</lastmod>
-    </url>
-    <url>
-        <loc>https://shiro.apache.org/spring-boot.html</loc>
-        <lastmod>2010-03-18</lastmod>
-    </url>
-    <url>
-        <loc>https://shiro.apache.org/powered-by-shiro.html</loc>
-        <lastmod>2010-03-18</lastmod>
-    </url>
-    <url>
-        <loc>https://shiro.apache.org/developers.html</loc>
-        <lastmod>2010-03-18</lastmod>
-    </url>
-    <url>
-        <loc>https://shiro.apache.org/cas.html</loc>
-        <lastmod>2010-03-18</lastmod>
-    </url>
     <url>
         <loc>https://shiro.apache.org/web-features.html</loc>
         <lastmod>2010-03-18</lastmod>
@@ -81,7 +61,7 @@
         <lastmod>2010-03-18</lastmod>
     </url>
     <url>
-        <loc>https://shiro.apache.org/authorization.html</loc>
+        <loc>https://shiro.apache.org/authorizer.html</loc>
         <lastmod>2010-03-18</lastmod>
     </url>
     <url>
@@ -101,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>
@@ -116,6 +96,10 @@
         <loc>https://shiro.apache.org/cryptography-features.html</loc>
         <lastmod>2010-03-18</lastmod>
     </url>
+    <url>
+        <loc>https://shiro.apache.org/authorization-features.html</loc>
+        <lastmod>2010-03-18</lastmod>
+    </url>
     <url>
         <loc>https://shiro.apache.org/tools.html</loc>
         <lastmod>2010-03-18</lastmod>
@@ -137,7 +121,7 @@
         <lastmod>2010-03-18</lastmod>
     </url>
     <url>
-        <loc>https://shiro.apache.org/authentication.html</loc>
+        <loc>https://shiro.apache.org/authenticator.html</loc>
         <lastmod>2010-03-18</lastmod>
     </url>
     <url>
@@ -156,6 +140,10 @@
         <loc>https://shiro.apache.org/guice.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/terminology.html</loc>
         <lastmod>2010-03-18</lastmod>
@@ -172,10 +160,6 @@
         <loc>https://shiro.apache.org/configuration.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/roadmap.html</loc>
         <lastmod>2010-03-18</lastmod>
@@ -189,7 +173,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>
@@ -201,7 +185,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>
@@ -225,7 +209,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>
@@ -249,7 +233,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/command-line-hasher.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/webapp-tutorial.html</loc>
         <lastmod>2010-03-18</lastmod>
@@ -284,6 +272,30 @@
         <loc>https://shiro.apache.org/documentation.html</loc>
         <lastmod>2010-03-18</lastmod>
     </url>
+    <url>
+        <loc>https://shiro.apache.org/web.html</loc>
+        <lastmod>2010-03-18</lastmod>
+    </url>
+    <url>
+        <loc>https://shiro.apache.org/spring-boot.html</loc>
+        <lastmod>2010-03-18</lastmod>
+    </url>
+    <url>
+        <loc>https://shiro.apache.org/powered-by-shiro.html</loc>
+        <lastmod>2010-03-18</lastmod>
+    </url>
+    <url>
+        <loc>https://shiro.apache.org/developers.html</loc>
+        <lastmod>2010-03-18</lastmod>
+    </url>
+    <url>
+        <loc>https://shiro.apache.org/cas.html</loc>
+        <lastmod>2010-03-18</lastmod>
+    </url>
+    <url>
+        
<loc>https://shiro.apache.org/blog/2026/02/apache-shiro-210-released.html</loc>
+        <lastmod>2026-02-08</lastmod>
+    </url>
     <url>
         
<loc>https://shiro.apache.org/blog/2025/11/apache-shiro-206-released.html</loc>
         <lastmod>2025-11-07</lastmod>
@@ -552,14 +564,6 @@
         <loc>https://shiro.apache.org/codec.html</loc>
         <lastmod>2023-02-08</lastmod>
     </url>
-    <url>
-        <loc>https://shiro.apache.org/authorizer.html</loc>
-        <lastmod>2023-02-08</lastmod>
-    </url>
-    <url>
-        <loc>https://shiro.apache.org/authenticator.html</loc>
-        <lastmod>2023-02-08</lastmod>
-    </url>
     <url>
         <loc>https://shiro.apache.org/cryptography.html</loc>
         <lastmod>2010-03-18</lastmod>
diff --git a/spring-boot.html b/spring-boot.html
index 3cc5d5aeb..e9750dc50 100644
--- a/spring-boot.html
+++ b/spring-boot.html
@@ -340,7 +340,7 @@
     <pre><code class='xml language-xml'>&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-spring-boot-web-starter&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;
 </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.0.6'
+    <pre><code class='groovy language-groovy'>compile 
'org.apache.shiro:shiro-spring-boot-web-starter:2.1.0'
 </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.0.6"
+    <pre><code class='scala language-scala'>libraryDependencies += 
"org.apache.shiro" % "shiro-spring-boot-web-starter" % "2.1.0"
 </code></pre>
   </div>
   <div
@@ -368,7 +368,7 @@
     role="tabpanel"
     aria-labelledby="ivy-web-tab"
     >
-    <pre><code class='xml language-xml'>&lt;dependency org="org.apache.shiro" 
name="shiro-spring-boot-web-starter" rev="2.0.6"/&gt;
+    <pre><code class='xml language-xml'>&lt;dependency org="org.apache.shiro" 
name="shiro-spring-boot-web-starter" rev="2.1.0"/&gt;
 </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.0.6"]
+    <pre><code class='clojure 
language-clojure'>[org.apache.shiro/shiro-spring-boot-web-starter "2.1.0"]
 </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.0.6'
+    <pre><code class='groovy 
language-groovy'>'org.apache.shiro:shiro-spring-boot-web-starter:jar:2.1.0'
 </code></pre>
   </div>
 </div>
@@ -716,7 +716,7 @@ protected CacheManager cacheManager() {
     <pre><code class='xml language-xml'>&lt;dependency&gt;
   &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt;
   &lt;artifactId&gt;shiro-spring-boot-starter&lt;/artifactId&gt;
-  &lt;version&gt;2.0.6&lt;/version&gt;
+  &lt;version&gt;2.1.0&lt;/version&gt;
 &lt;/dependency&gt;
 </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.0.6'
+    <pre><code class='groovy language-groovy'>compile 
'org.apache.shiro:shiro-spring-boot-starter:2.1.0'
 </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.0.6"
+    <pre><code class='scala language-scala'>libraryDependencies += 
"org.apache.shiro" % "shiro-spring-boot-starter" % "2.1.0"
 </code></pre>
   </div>
   <div
@@ -744,7 +744,7 @@ protected CacheManager cacheManager() {
     role="tabpanel"
     aria-labelledby="ivy-cli-tab"
     >
-    <pre><code class='xml language-xml'>&lt;dependency org="org.apache.shiro" 
name="shiro-spring-boot-starter" rev="2.0.6"/&gt;
+    <pre><code class='xml language-xml'>&lt;dependency org="org.apache.shiro" 
name="shiro-spring-boot-starter" rev="2.1.0"/&gt;
 </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.0.6"]
+    <pre><code class='clojure 
language-clojure'>[org.apache.shiro/shiro-spring-boot-starter "2.1.0"]
 </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.0.6'
+    <pre><code class='groovy 
language-groovy'>'org.apache.shiro:shiro-spring-boot-starter:jar:2.1.0'
 </code></pre>
   </div>
 </div>

Reply via email to