This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/gh-pages by this push:
new 6ba1514c5 Deployed 4400c809a with MkDocs version: 1.6.1
6ba1514c5 is described below
commit 6ba1514c52d93fe241c4c5be2c6cf2de8590f8da
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Jan 15 01:18:47 2026 +0000
Deployed 4400c809a with MkDocs version: 1.6.1
---
assets/images/social/project/release-process.png | Bin 31511 -> 37570 bytes
project/contributing/index.html | 120 ++-
project/cve-list/index.html | 899 ++++++++++++++++-
project/java-code-style/index.html | 737 +++++++++++++-
project/release-process/index.html | 1161 +++++++++++++++++++++-
search/search_index.json | 2 +-
sitemap.xml | 38 +-
sitemap.xml.gz | Bin 382 -> 382 bytes
8 files changed, 2907 insertions(+), 50 deletions(-)
diff --git a/assets/images/social/project/release-process.png
b/assets/images/social/project/release-process.png
index 01013c49d..ca2ad0f21 100644
Binary files a/assets/images/social/project/release-process.png and
b/assets/images/social/project/release-process.png differ
diff --git a/project/contributing/index.html b/project/contributing/index.html
index 6427662cc..dcea852d6 100644
--- a/project/contributing/index.html
+++ b/project/contributing/index.html
@@ -869,6 +869,24 @@
+ <label class="md-nav__link md-nav__link--active" for="__toc">
+
+
+
+ <span class="md-ellipsis">
+
+
+ Contributing
+
+
+
+ </span>
+
+
+
+ <span class="md-nav__icon md-icon"></span>
+ </label>
+
<a href="./" class="md-nav__link md-nav__link--active">
@@ -886,6 +904,47 @@
</a>
+
+
+<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
+
+
+
+
+
+
+ <label class="md-nav__title" for="__toc">
+ <span class="md-nav__icon md-icon"></span>
+ Table of contents
+ </label>
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
+
+ <li class="md-nav__item">
+ <a href="#pull-request-recommended" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Pull Request recommended
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#review-board-legacy" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Review Board legacy
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+
+</nav>
+
</li>
@@ -1210,6 +1269,36 @@
+ <label class="md-nav__title" for="__toc">
+ <span class="md-nav__icon md-icon"></span>
+ Table of contents
+ </label>
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
+
+ <li class="md-nav__item">
+ <a href="#pull-request-recommended" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Pull Request recommended
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#review-board-legacy" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Review Board legacy
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+
</nav>
</div>
</div>
@@ -1292,8 +1381,35 @@
- See the License for the specific language governing permissions and
- limitations under the License.
-->
-
<h1 id="contributing">Contributing<a class="headerlink" href="#contributing"
title="Permanent link">¶</a></h1>
+<p>In this page, you will find some guidelines on contributing to Apache
Ranger.</p>
+<p>If you are thinking of contributing but first would like to discuss the
change you wish to make, we welcome you to
+raise a <a href="https://issues.apache.org/jira/browse/RANGER">Jira Issue</a>.
You can also subscribe to the <a
href="mailto:[email protected]">Dev List</a> and join us on <a
href="https://the-asf.slack.com/archives/C4SC5NXAA">Slack</a>
+to connect with the community.</p>
+<p>The Ranger Project is hosted on GitHub at <a
href="https://github.com/apache/ranger">https://github.com/apache/ranger</a>.</p>
+<h2 id="pull-request-recommended">Pull Request <small>recommended</small><a
class="headerlink" href="#pull-request-recommended" title="Permanent
link">¶</a></h2>
+<p>The Ranger community prefers to receive contributions as <a
href="https://help.github.com/articles/about-pull-requests/">Github pull
requests</a>.</p>
+<p><a href="https://github.com/apache/ranger/pulls">View open pull
requests</a></p>
+<p>When you are ready to submit your pull request, please keep the following
in mind:</p>
+<ul>
+<li>PRs should be associated with a <a
href="https://issues.apache.org/jira/browse/RANGER">Jira Issue</a></li>
+<li>PRs should include a clear and descriptive title and summary of the
change</li>
+<li>Please ensure that your code adheres to the existing coding style</li>
+<li>Please ensure that your code is well tested</li>
+<li>Please ensure that your code is well documented</li>
+</ul>
+<h2 id="review-board-legacy">Review Board <small>legacy</small><a
class="headerlink" href="#review-board-legacy" title="Permanent
link">¶</a></h2>
+<p>The <a href="https://reviews.apache.org/">Review Board</a> may be used for
Ranger code reviews as well.</p>
+<p>To submit a patch for review, please follow these steps:</p>
+<ul>
+<li>Create a <a href="https://issues.apache.org/jira/browse/RANGER">Jira
Issue</a> for the change you wish to make.</li>
+<li>Create a patch file using <code>git format-patch</code> or <code>git diff
> my_patch.patch</code>.</li>
+<li>Upload the patch to <a href="https://reviews.apache.org/">Review Board</a>
and associate it with the Jira issue you created earlier.</li>
+<li>Request a review from the Ranger committers.</li>
+<li>Address any feedback you receive and update the patch as necessary.</li>
+<li>Once your patch has been approved, a committer will merge it into the main
codebase.</li>
+<li>Close the associated Jira issue.</li>
+</ul>
@@ -1314,7 +1430,7 @@ <h1 id="contributing">Contributing<a class="headerlink"
href="#contributing" tit
<span class="md-icon" title="Last update">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21
13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6
0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4
2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10
9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1
7.5 7.1 7.9l-.1.2z"/></svg>
</span>
- <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-date" title="January 13, 2026 13:08:42
PST">January 13, 2026</span>
+ <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-date" title="January 14, 2026 17:17:15
PST">January 14, 2026</span>
</span>
diff --git a/project/cve-list/index.html b/project/cve-list/index.html
index 4d5254557..c20e3ce00 100644
--- a/project/cve-list/index.html
+++ b/project/cve-list/index.html
@@ -1134,6 +1134,133 @@
</span>
</a>
+ <nav class="md-nav" aria-label="Introduction">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-260" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 2.6.0
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-250" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 2.5.0
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-200" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 2.0.0
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-120" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 1.2.0
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-071" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.7.1
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-063" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.6.3
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-062" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.6.2
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-061" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.6.1
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-053" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.5.3
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-051" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.5.1
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-050" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.5.0
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
</li>
</ul>
@@ -1305,6 +1432,133 @@
</span>
</a>
+ <nav class="md-nav" aria-label="Introduction">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-260" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 2.6.0
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-250" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 2.5.0
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-200" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 2.0.0
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-120" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 1.2.0
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-071" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.7.1
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-063" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.6.3
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-062" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.6.2
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-061" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.6.1
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-053" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.5.3
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-051" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.5.1
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#fixed-in-ranger-050" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Fixed in Ranger 0.5.0
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
</li>
</ul>
@@ -1414,6 +1668,649 @@ <h1>Vulnerabilities Found</h1>
<h2 id="introduction">Introduction<a class="headerlink" href="#introduction"
title="Permanent link">¶</a></h2>
<p>This page contains a list of security vulnerabilities that have been found
in Apache Ranger. For each vulnerability, the following information is
provided:</p>
+<h3 id="fixed-in-ranger-260">Fixed in Ranger <a
href="../release-notes/2.6.0.md">2.6.0</a><a class="headerlink"
href="#fixed-in-ranger-260" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2024-55532</th>
+<th>Improper Neutralization of Formula Elements in a CSV File in Export to CSV
feature of Apache Ranger</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Low</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td>Apache Ranger versions prior to <code>2.6.0</code></td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Improper Neutralization issue in Export to CSV functionality</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Added logic to properly sanitize the exported content</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>2.6.0</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+<tr>
+<td>Credit</td>
+<td>김도균 ([email protected])</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-250">Fixed in Ranger <a
href="../release-notes/2.5.0.md">2.5.0</a><a class="headerlink"
href="#fixed-in-ranger-250" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2024-45478</th>
+<th>Stored XSS vulnerability in Edit Service Page of Apache Ranger UI</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Moderate</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td>Apache Ranger versions prior to <code>2.5.0</code></td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool UI</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Apache Ranger was found to be vulnerable to a Stored XSS issue in Edit
Service functionality</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Added logic to validate the user input</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>2.5.0</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+<tr>
+<td>Credit</td>
+<td>Gyujin</td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>CVE-2024-45479</th>
+<th>SSRF vulnerability in Edit Service Page of Apache Ranger UI</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Moderate</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td>Apache Ranger versions prior to <code>2.5.0</code></td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool UI</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Apache Ranger was found to be vulnerable to a SSRF issue in Edit Service
functionality</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Added logic to validate the user input</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>2.5.0</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+<tr>
+<td>Credit</td>
+<td>Gyujin</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-200">Fixed in Ranger 2.0.0<a class="headerlink"
href="#fixed-in-ranger-200" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2019-12397</th>
+<th>Apache Ranger cross site scripting issue</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td><code>0.7.0</code> to <code>1.2.0</code> versions of Apache Ranger, prior
to <code>2.0.0</code></td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Apache Ranger was found to be vulnerable to a Cross-Site Scripting in
policy import functionality</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Added logic to sanitize the user input</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>2.0.0</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+<tr>
+<td>Credit</td>
+<td>Jan Kaszycki from STM Solutions</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-120">Fixed in Ranger 1.2.0<a class="headerlink"
href="#fixed-in-ranger-120" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2018-11778</th>
+<th>Apache Ranger Stack based buffer overflow</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Critical</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td>Apache Ranger versions prior to <code>1.2.0</code></td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>Unix Authentication Service users</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Apache Ranger UnixAuthenticationService should properly handle user input
to avoid Stack-based buffer overflow</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>UnixAuthenticationService was updated to correctly handle user input</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>1.2.0</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+<tr>
+<td>Credit</td>
+<td>Alexander Klink</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-071">Fixed in Ranger 0.7.1<a class="headerlink"
href="#fixed-in-ranger-071" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2017-7676</th>
+<th>Apache Ranger policy evaluation ignores characters after ‘*’ wildcard
character</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Critical</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td><code>0.6.x</code>/<code>0.7.0</code> versions of Apache Ranger</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>Environments that use Ranger policies with characters after \‘*\’ wildcard
character – like my*test, test*.txt</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Policy resource matcher effectively ignores characters after \‘*\’
wildcard character. This can result in affected policies to apply to resources
where they should not be applied</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Ranger policy resource matcher was updated to correctly handle wildcard
matches.</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>0.7.1</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>CVE-2017-7677</th>
+<th>Apache Ranger Hive Authorizer should check for RWX permission when
external location is specified</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Critical</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td><code>0.5.x</code>/<code>0.6.x</code>/<code>0.7.0</code> versions of
Apache Ranger</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>Environments that use external location for hive tables</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Without Ranger Hive Authorizer checking RWX permission when external
location is specified, there is a possibility that right permissions are not
required to create the table</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Ranger Hive Authorizer was updated to correctly handle permission check
with external location</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>0.7.1</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-063">Fixed in Ranger 0.6.3<a class="headerlink"
href="#fixed-in-ranger-063" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2016-8746</th>
+<th>Apache Ranger path matching issue in policy evaluation</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Normal</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td><code>0.6.0</code>/<code>0.6.1</code>/<code>0.6.2</code> versions of
Apache Ranger</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Ranger policy engine incorrectly matches paths in certain conditions when
policy does not contain wildcards and has recursion flag set to true</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Fixed policy evaluation logic</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>0.6.3</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>CVE-2016-8751</th>
+<th>Apache Ranger stored cross site scripting issue</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Normal</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td><code>0.5.x</code> and
<code>0.6.0</code>/<code>0.6.1</code>/<code>0.6.2</code> versions of Apache
Ranger</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Apache Ranger was found to be vulnerable to a Stored Cross-Site Scripting
in when entering custom policy conditions. Admin users can store some arbitrary
javascript code to be executed when normal users login and access policies</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Added logic to sanitize the user input</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>0.6.3</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-062">Fixed in Ranger 0.6.2<a class="headerlink"
href="#fixed-in-ranger-062" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2016-6815</th>
+<th>Apache Ranger user privilege vulnerability</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Normal</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td>All <code>0.5.x</code> versions or <code>0.6.0</code>/<code>0.6.1</code>
versions of Apache Ranger</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Users with "keyadmin" role should not be allowed to change password for
users with <code>admin</code> role</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Added logic to validate the user privilege in the backend</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>0.6.2</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-061">Fixed in Ranger 0.6.1<a class="headerlink"
href="#fixed-in-ranger-061" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2016-5395</th>
+<th>Apache Ranger Stored Cross Site Scripting vulnerability</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Normal</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td>All <code>0.5.x</code> versions of Apache Ranger and version
<code>0.6.0</code></td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Apache Ranger was found to be vulnerable to a Stored Cross-Site Scripting
in the create user functionality. Admin users can store some arbitrary
javascript code to be executed when normal users login and access policies</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Added logic to sanitize the user input</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>0.6.1</code> or later version of Apache
Ranger with the fix</td>
+</tr>
+<tr>
+<td>Credit</td>
+<td>Thanks to Victor Hora from Securus Global for reporting this issue</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-053">Fixed in Ranger 0.5.3<a class="headerlink"
href="#fixed-in-ranger-053" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2016-2174</th>
+<th>Apache Ranger sql injection vulnerability</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Normal</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td>All versions of Apache Ranger from <code>0.5.0</code> (up to
<code>0.5.3</code>)</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All admin users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>SQL Injection vulnerability in Audit > Access tab. When the user clicks
an element from <code>policyId</code> row of the list, there is a call made
underneath with eventTime parameter which contains the vulnerability. Admin
users can send some arbitrary sql code to be executed along with eventTime
parameter using <code>/service/plugins/policies/eventTime url</code></td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Replaced native queries with JPA named queries</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>0.5.3</code> version of Apache Ranger with
the fix</td>
+</tr>
+<tr>
+<td>Credit</td>
+<td>Thanks to Mateusz Olejarka from SecuRing for reporting this issue</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-051">Fixed in Ranger 0.5.1<a class="headerlink"
href="#fixed-in-ranger-051" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2015-5167</th>
+<th>Restrict REST API data access for non-admin users</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Important</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td><code>0.4.0</code> and <code>0.5.0</code> version of Apache Ranger</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Data access restrictions via REST API are not consistent with restrictions
in policy admin UI</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to Ranger <code>0.5.1</code> version</td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>CVE-2016-0733</th>
+<th>Ranger Admin authentication issue</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Important</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td><code>0.4.0</code> and <code>0.5.0</code> version of Apache Ranger</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Malicious Users can gain access to ranger admin UI without proper
authentication</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to Ranger <code>0.5.1</code> version</td>
+</tr>
+</tbody>
+</table>
+<h3 id="fixed-in-ranger-050">Fixed in Ranger 0.5.0<a class="headerlink"
href="#fixed-in-ranger-050" title="Permanent link">¶</a></h3>
+<table>
+<thead>
+<tr>
+<th>CVE-2015-0265</th>
+<th>Apache Ranger code injection vulnerability</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Important</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td><code>0.4.0</code> version of Apache Ranger</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All admin users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Unauthorized users can send some javascript code to be executed in ranger
policy admin tool admin sessions</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Added logic to sanitize the user input</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>0.5.0+</code> version of Apache Ranger with
the fix</td>
+</tr>
+<tr>
+<td>Credit</td>
+<td>Thanks to Jakub Kałużny from SecuRing for reporting this issue</td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>CVE-2015-0266</th>
+<th>Apache Ranger direct url access vulnerability</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Severity</td>
+<td>Important</td>
+</tr>
+<tr>
+<td>Vendor</td>
+<td>The Apache Software Foundation</td>
+</tr>
+<tr>
+<td>Versions Affected</td>
+<td><code>0.4.0</code> version of Apache Ranger</td>
+</tr>
+<tr>
+<td>Users affected</td>
+<td>All users of ranger policy admin tool</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Regular users can type in the URL of modules that are accessible only to
admin users</td>
+</tr>
+<tr>
+<td>Fix detail</td>
+<td>Added logic in the backend to verify user access</td>
+</tr>
+<tr>
+<td>Mitigation</td>
+<td>Users should upgrade to <code>0.5.0+</code> version of Apache Ranger with
the fix</td>
+</tr>
+<tr>
+<td>Credit</td>
+<td>Thanks to Jakub Kałużny from SecuRing for reporting this issue</td>
+</tr>
+</tbody>
+</table>
@@ -1434,7 +2331,7 @@ <h2 id="introduction">Introduction<a class="headerlink"
href="#introduction" tit
<span class="md-icon" title="Last update">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21
13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6
0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4
2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10
9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1
7.5 7.1 7.9l-.1.2z"/></svg>
</span>
- <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-date" title="January 13, 2026 13:08:42
PST">January 13, 2026</span>
+ <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-date" title="January 14, 2026 17:17:15
PST">January 14, 2026</span>
</span>
diff --git a/project/java-code-style/index.html
b/project/java-code-style/index.html
index 5f34bb808..58bb1820f 100644
--- a/project/java-code-style/index.html
+++ b/project/java-code-style/index.html
@@ -897,6 +897,24 @@
+ <label class="md-nav__link md-nav__link--active" for="__toc">
+
+
+
+ <span class="md-ellipsis">
+
+
+ Code Style Guide
+
+
+
+ </span>
+
+
+
+ <span class="md-nav__icon md-icon"></span>
+ </label>
+
<a href="./" class="md-nav__link md-nav__link--active">
@@ -914,6 +932,325 @@
</a>
+
+
+<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
+
+
+
+
+
+
+ <label class="md-nav__title" for="__toc">
+ <span class="md-nav__icon md-icon"></span>
+ Table of contents
+ </label>
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
+
+ <li class="md-nav__item">
+ <a href="#source-file-structure" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Source File Structure
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#import-statements" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Import Statements
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Import Statements">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#no-wildcard-imports" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ No wildcard imports
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#no-line-wrapping" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ No line-wrapping
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#ordering-and-spacing" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Ordering and Spacing
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#class-declaration" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Class Declaration
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Class Declaration">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#exactly-one-top-level-class-declaration" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Exactly one top-level class declaration
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#ordering-of-class-contents" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Ordering of class contents
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#formatting" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Formatting
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Formatting">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#use-of-braces" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Use of Braces
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#nonempty-blocks-k-r-style" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Nonempty blocks: K & R style
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#column-limit-set-to-512" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Column Limit: Set to 512
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#whitespace" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Whitespace
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Whitespace">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#vertical-whitespace" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Vertical Whitespace
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#horizontal-alignment-recommended-not-enforced"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Horizontal Alignment: Recommended (not enforced)
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#naming" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Naming
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Naming">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#package-names" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Package Names
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#class-names" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Class Names
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#method-names" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Method Names
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#constant-names" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Constant Names
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#programming-practices" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Programming Practices
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Programming Practices">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#string-concatenation" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ String Concatenation
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#loggerisdebugenabled" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ logger.isDebugEnabled()
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#use-intellij-suggestions-highly-recommended" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Use IntelliJ suggestions - highly recommended
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
+
+</nav>
+
</li>
@@ -1210,6 +1547,314 @@
+ <label class="md-nav__title" for="__toc">
+ <span class="md-nav__icon md-icon"></span>
+ Table of contents
+ </label>
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
+
+ <li class="md-nav__item">
+ <a href="#source-file-structure" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Source File Structure
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#import-statements" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Import Statements
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Import Statements">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#no-wildcard-imports" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ No wildcard imports
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#no-line-wrapping" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ No line-wrapping
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#ordering-and-spacing" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Ordering and Spacing
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#class-declaration" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Class Declaration
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Class Declaration">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#exactly-one-top-level-class-declaration" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Exactly one top-level class declaration
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#ordering-of-class-contents" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Ordering of class contents
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#formatting" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Formatting
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Formatting">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#use-of-braces" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Use of Braces
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#nonempty-blocks-k-r-style" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Nonempty blocks: K & R style
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#column-limit-set-to-512" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Column Limit: Set to 512
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#whitespace" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Whitespace
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Whitespace">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#vertical-whitespace" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Vertical Whitespace
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#horizontal-alignment-recommended-not-enforced"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Horizontal Alignment: Recommended (not enforced)
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#naming" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Naming
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Naming">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#package-names" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Package Names
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#class-names" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Class Names
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#method-names" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Method Names
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#constant-names" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Constant Names
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#programming-practices" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Programming Practices
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Programming Practices">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#string-concatenation" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ String Concatenation
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#loggerisdebugenabled" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ logger.isDebugEnabled()
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#use-intellij-suggestions-highly-recommended" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Use IntelliJ suggestions - highly recommended
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
+
</nav>
</div>
</div>
@@ -1294,6 +1939,96 @@
-->
<h1 id="java-code-style-guide">Java Code Style Guide<a class="headerlink"
href="#java-code-style-guide" title="Permanent link">¶</a></h1>
+<p>Every major open-source project has its own style guide: a set of
conventions (sometimes arbitrary) about how to write code for that project. It
is much easier to understand a large codebase when all the code in it is in a
consistent style.</p>
+<p>"Style" covers a lot of ground, from "use camelCase for variable names" to
"never use global variables" to "never use exceptions".</p>
+<p>Ranger also contains checkstyle rules in <a
href="https://github.com/apache/ranger/blob/master/dev-support/checkstyle.xml">dev-support/checkstyle.xml</a>,
and a maven plugin associated with it - <code>maven-checkstyle-plugin</code>
to assist with style guide compliance. There are other code style guidelines
which the rules do not capture but are recommended to follow. Below is a list
of rules which were followed as part of implementing <a
href="https://issues.apache.org/jira/browse/RA [...]
+<h2 id="source-file-structure">Source File Structure<a class="headerlink"
href="#source-file-structure" title="Permanent link">¶</a></h2>
+<p>A source file consists of, <strong>in order</strong>:</p>
+<ul>
+<li>Apache License</li>
+<li>Package statement</li>
+<li>Import statements</li>
+<li>Exactly one top-level class</li>
+</ul>
+<p><strong>Exactly one blank line</strong> separates each section that is
present.</p>
+<h2 id="import-statements">Import Statements<a class="headerlink"
href="#import-statements" title="Permanent link">¶</a></h2>
+<h3 id="no-wildcard-imports">No wildcard imports<a class="headerlink"
href="#no-wildcard-imports" title="Permanent link">¶</a></h3>
+<p><strong>Wildcard imports</strong>, static or otherwise, <strong>are not
used</strong>.</p>
+<h3 id="no-line-wrapping">No line-wrapping<a class="headerlink"
href="#no-line-wrapping" title="Permanent link">¶</a></h3>
+<p>Import statements are <strong>not line-wrapped</strong>.</p>
+<h3 id="ordering-and-spacing">Ordering and Spacing<a class="headerlink"
href="#ordering-and-spacing" title="Permanent link">¶</a></h3>
+<p>Imports are ordered as follows:</p>
+<ul>
+<li>All non-static imports in a single block.</li>
+<li>All static imports in a single block.</li>
+</ul>
+<p>If there are both static and non-static imports, a single blank line
separates the two blocks. There are no other blank lines between import
statements.</p>
+<p>Within each block the imported names appear in ASCII sort order.</p>
+<h2 id="class-declaration">Class Declaration<a class="headerlink"
href="#class-declaration" title="Permanent link">¶</a></h2>
+<h3 id="exactly-one-top-level-class-declaration">Exactly one top-level class
declaration<a class="headerlink"
href="#exactly-one-top-level-class-declaration" title="Permanent
link">¶</a></h3>
+<p>Each top-level class resides in a source file of its own.</p>
+<h3 id="ordering-of-class-contents">Ordering of class contents<a
class="headerlink" href="#ordering-of-class-contents" title="Permanent
link">¶</a></h3>
+<ul>
+<li>Loggers if present are always at the top.</li>
+<li>Static members are in a single block followed by non-static members.</li>
+<li>Final members come before non-final members.</li>
+<li>The order of access modifiers is: <code>public protected private
default</code></li>
+</ul>
+<h2 id="formatting">Formatting<a class="headerlink" href="#formatting"
title="Permanent link">¶</a></h2>
+<h3 id="use-of-braces">Use of Braces<a class="headerlink"
href="#use-of-braces" title="Permanent link">¶</a></h3>
+<p>Braces are used with <code>if, else, for, do</code> and <code>while</code>
statements, even when the body is empty or contains only a single statement.</p>
+<h3 id="nonempty-blocks-k-r-style">Nonempty blocks: K & R style<a
class="headerlink" href="#nonempty-blocks-k-r-style" title="Permanent
link">¶</a></h3>
+<p>Braces follow the <code>Kernighan and Ritchie</code> style (<a
href="https://blog.codinghorror.com/new-programming-jargon/#3">Egyptian
brackets</a>) for nonempty blocks and block-like constructs:</p>
+<ul>
+<li>No line break before the opening brace, except as detailed below.</li>
+<li>Line break after the opening brace.</li>
+<li>No empty line after the opening brace.</li>
+<li>Line break before the closing brace.</li>
+<li>Line break after the closing brace, <em>only</em> if that brace terminates
a statement or terminates the body of a method, constructor, or named class.
For example, there is <em>no</em> line break after the brace if it is followed
by <code>else</code> or a comma.</li>
+</ul>
+<h3 id="column-limit-set-to-512">Column Limit: Set to 512<a class="headerlink"
href="#column-limit-set-to-512" title="Permanent link">¶</a></h3>
+<h3 id="whitespace">Whitespace<a class="headerlink" href="#whitespace"
title="Permanent link">¶</a></h3>
+<h4 id="vertical-whitespace">Vertical Whitespace<a class="headerlink"
href="#vertical-whitespace" title="Permanent link">¶</a></h4>
+<p>A single blank line may also appear anywhere it improves readability, for
example between statements to organize the code into logical subsections.</p>
+<p><em>Multiple</em> consecutive blank lines are <strong>NOT</strong>
permitted.</p>
+<h4 id="horizontal-alignment-recommended-not-enforced">Horizontal Alignment:
Recommended (not enforced)<a class="headerlink"
href="#horizontal-alignment-recommended-not-enforced" title="Permanent
link">¶</a></h4>
+<div class="highlight"><span class="filename">Horizontal
Alignment</span><pre><span></span><code><span class="kd">private</span><span
class="w"> </span><span class="kt">int</span><span class="w"> </span><span
class="n">x</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="mi">5</span><span class="p">;</span><span
class="w"> </span><span class="c1">// this is fine</span>
+<span class="kd">private</span><span class="w"> </span><span
class="n">String</span><span class="w"> </span><span
class="n">color</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="n">blue</span><span class="p">;</span><span
class="w"> </span><span class="c1">// this too</span>
+
+<span class="kd">private</span><span class="w"> </span><span
class="kt">int</span><span class="w"> </span><span
class="n">x</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="mi">5</span><span class="p">;</span><span
class="w"> </span><span class="c1">// permitted, but future edits</span>
+<span class="kd">private</span><span class="w"> </span><span
class="n">String</span><span class="w"> </span><span
class="n">color</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="s">"blue"</span><span
class="p">;</span><span class="w"> </span><span class="c1">// may leave it
unaligned</span>
+</code></pre></div>
+<h2 id="naming">Naming<a class="headerlink" href="#naming" title="Permanent
link">¶</a></h2>
+<h3 id="package-names">Package Names<a class="headerlink"
href="#package-names" title="Permanent link">¶</a></h3>
+<p>Package names use only lowercase letters and digits (no underscores).
Consecutive words are simply concatenated together. For example:
org.apache.ranger.rangerdb, <strong>not</strong> org.apache.ranger.rangerDb
<strong>or</strong> org.apache.ranger.ranger_db</p>
+<h3 id="class-names">Class Names<a class="headerlink" href="#class-names"
title="Permanent link">¶</a></h3>
+<p>Class names are written in <a
href="https://google.github.io/styleguide/javaguide.html#s5.3-camel-case">UpperCamelCase</a>.</p>
+<h3 id="method-names">Method Names<a class="headerlink" href="#method-names"
title="Permanent link">¶</a></h3>
+<p>Method names are written in <a
href="https://google.github.io/styleguide/javaguide.html#s5.3-camel-case">lowerCamelCase</a>.</p>
+<h3 id="constant-names">Constant Names<a class="headerlink"
href="#constant-names" title="Permanent link">¶</a></h3>
+<p>Constant names use UPPER_SNAKE_CASE : all uppercase letters, with each word
separated from the next by a single underscore.</p>
+<h2 id="programming-practices">Programming Practices<a class="headerlink"
href="#programming-practices" title="Permanent link">¶</a></h2>
+<h3 id="string-concatenation">String Concatenation<a class="headerlink"
href="#string-concatenation" title="Permanent link">¶</a></h3>
+<p><strong>NOT</strong> allowed in log statements.</p>
+<p><em>Exceptions</em>: allowed in <code>Exception/System.out.println</code>
statements. for ex:</p>
+<div class="highlight"><pre><span></span><code><span class="c1">//
allowed</span>
+<span class="n">LOG</span><span class="p">.</span><span
class="na">debug</span><span class="p">(</span><span
class="s">"revokeAccess as user {}"</span><span
class="p">,</span><span class="w"> </span><span class="n">user</span><span
class="p">);</span>
+<span class="n">LOG</span><span class="p">.</span><span
class="na">error</span><span class="p">(</span><span class="s">"Failed to
get response, Error is : {}"</span><span class="p">,</span><span
class="w"> </span><span class="n">e</span><span class="p">.</span><span
class="na">getMessage</span><span class="p">());</span>
+<span class="c1">// not allowed</span>
+<span class="n">LOG</span><span class="p">.</span><span
class="na">debug</span><span class="p">(</span><span
class="s">"revokeAccess as user "</span><span class="w"> </span><span
class="o">+</span><span class="w"> </span><span class="n">user</span><span
class="p">);</span>
+<span class="n">LOG</span><span class="p">.</span><span
class="na">error</span><span class="p">(</span><span class="s">"Failed to
get response, Error is : "</span><span class="w"> </span><span
class="o">+</span><span class="w"> </span><span class="n">e</span><span
class="p">.</span><span class="na">getMessage</span><span class="p">());</span>
+<span class="c1">// allowed</span>
+<span class="k">throw</span><span class="w"> </span><span
class="k">new</span><span class="w"> </span><span
class="n">Exception</span><span class="p">(</span><span class="s">"HTTP
"</span><span class="w"> </span><span class="o">+</span><span class="w">
</span><span class="n">response</span><span class="p">.</span><span
class="na">getStatus</span><span class="p">()</span><span class="w">
</span><span class="o">+</span><span class="w"> </span><span class="s">"
Error: "< [...]
+<span class="c1">// allowed</span>
+<span class="n">System</span><span class="p">.</span><span
class="na">out</span><span class="p">.</span><span
class="na">println</span><span class="p">(</span><span class="s">"Unknown
callback ["</span><span class="w"> </span><span class="o">+</span><span
class="w"> </span><span class="n">cb</span><span class="p">.</span><span
class="na">getClass</span><span class="p">().</span><span
class="na">getName</span><span class="p">()</span><span class="w"> </span><span
class="o">+</sp [...]
+</code></pre></div>
+<h3 id="loggerisdebugenabled">logger.isDebugEnabled()<a class="headerlink"
href="#loggerisdebugenabled" title="Permanent link">¶</a></h3>
+<p>logger.debug statements may be preceded by isDebugEnabled() only if debug
statements involve heavy operations, for ex:</p>
+<div class="highlight"><pre><span></span><code><span class="k">if</span><span
class="w"> </span><span class="p">(</span><span class="n">LOG</span><span
class="p">.</span><span class="na">isDebugEnabled</span><span
class="p">())</span><span class="w"> </span><span class="p">{</span>
+<span class="w"> </span><span class="n">LOG</span><span
class="p">.</span><span class="na">debug</span><span class="p">(</span><span
class="s">"User found from principal [{}] => user:[{}],
groups:[{}]"</span><span class="p">,</span><span class="w"> </span><span
class="n">user</span><span class="p">.</span><span
class="na">getName</span><span class="p">(),</span><span class="w">
</span><span class="n">userName</span><span class="p">,</span><span class="w">
</span><span cla [...]
+<span class="p">}</span>
+</code></pre></div>
+<h3 id="use-intellij-suggestions-highly-recommended">Use IntelliJ suggestions
- highly recommended<a class="headerlink"
href="#use-intellij-suggestions-highly-recommended" title="Permanent
link">¶</a></h3>
@@ -1314,7 +2049,7 @@ <h1 id="java-code-style-guide">Java Code Style Guide<a
class="headerlink" href="
<span class="md-icon" title="Last update">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21
13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6
0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4
2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10
9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1
7.5 7.1 7.9l-.1.2z"/></svg>
</span>
- <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-date" title="January 13, 2026 13:08:42
PST">January 13, 2026</span>
+ <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-date" title="January 14, 2026 17:17:15
PST">January 14, 2026</span>
</span>
diff --git a/project/release-process/index.html
b/project/release-process/index.html
index f668f752e..ee6ffb6f6 100644
--- a/project/release-process/index.html
+++ b/project/release-process/index.html
@@ -25,7 +25,7 @@
- <title>Release Process - Apache Ranger</title>
+ <title>Ranger Release Guidelines - Apache Ranger</title>
@@ -63,14 +63,14 @@
<meta property="og:type" content="website" />
-<meta property="og:title" content="Release Process - Apache Ranger" />
+<meta property="og:title" content="Ranger Release Guidelines - Apache Ranger"
/>
<meta property="og:image"
content="https://apache.github.io/ranger/assets/images/social/project/release-process.png"
/>
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url"
content="https://apache.github.io/ranger/project/release-process/" />
<meta property="twitter:card" content="summary_large_image" />
-<meta property="twitter:title" content="Release Process - Apache Ranger" />
+<meta property="twitter:title" content="Ranger Release Guidelines - Apache
Ranger" />
<meta property="twitter:image"
content="https://apache.github.io/ranger/assets/images/social/project/release-process.png"
/>
</head>
@@ -91,7 +91,7 @@
<div data-md-component="skip">
- <a href="#release-process" class="md-skip">
+ <a href="#introduction" class="md-skip">
Skip to content
</a>
@@ -124,7 +124,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
- Release Process
+ Ranger Release Guidelines
</span>
</div>
@@ -922,8 +922,24 @@
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
-
+ <label class="md-nav__link md-nav__link--active" for="__toc">
+
+
+
+ <span class="md-ellipsis">
+
+
+ Release Process
+
+
+
+ </span>
+
+
+
+ <span class="md-nav__icon md-icon"></span>
+ </label>
<a href="./" class="md-nav__link md-nav__link--active">
@@ -942,6 +958,378 @@
</a>
+
+
+<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
+
+
+
+
+ <label class="md-nav__title" for="__toc">
+ <span class="md-nav__icon md-icon"></span>
+ Table of contents
+ </label>
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
+
+ <li class="md-nav__item">
+ <a href="#introduction" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Introduction
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Introduction">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#prerequisite" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Prerequisite
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Prerequisite">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#setup-for-first-time-release-managers" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Setup for first time release managers
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-your-key" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish your key
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#pre-vote" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Pre-Vote
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Pre-Vote">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#create-a-parent-jira-for-the-release" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Create a parent Jira for the release
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#notify-the-community-in-advance-of-the-release"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Notify the community in advance of the release
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#branching" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Branching
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#update-the-versions" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Update the versions
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#commit-the-changes" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Commit the changes
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#build-and-publish-source-artifacts" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Build and Publish Source Artifacts
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Build and Publish Source Artifacts">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#set-up-local-environment" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Set up local environment
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#reset-the-git-repository" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Reset the git repository
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#create-the-release-artifacts" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Create the release artifacts
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#calculate-the-checksum-and-sign-the-artifacts"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Calculate the checksum and sign the artifacts
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-source-artifacts-to-dev" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish source artifacts to dev
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#vote" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Vote
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Vote">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#send-the-voting-email-as-described-below" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Send the voting email as described below
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#post-vote" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Post-Vote
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Post-Vote">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#publish-the-source-artifacts-to-distapacheorg"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish the source artifacts to dist.apache.org
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-the-source-artifacts-to-maven-central"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish the source artifacts to Maven Central
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-build-artifacts" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish build artifacts
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#add-the-final-git-tag-and-push-it" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Add the final git tag and push it
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#create-a-sub-page-in-confluence" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Create a sub-page in Confluence
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#update-the-ranger-website" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Update the Ranger website
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-docker-images-for-the-release" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish docker images for the release
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#send-an-announcement-mail" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Send an announcement mail
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#branching_1" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Branching
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#other-tasks" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Other Tasks
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
+
+</nav>
+
</li>
@@ -1207,8 +1595,369 @@
-
+ <label class="md-nav__title" for="__toc">
+ <span class="md-nav__icon md-icon"></span>
+ Table of contents
+ </label>
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
+
+ <li class="md-nav__item">
+ <a href="#introduction" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Introduction
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Introduction">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#prerequisite" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Prerequisite
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Prerequisite">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#setup-for-first-time-release-managers" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Setup for first time release managers
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-your-key" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish your key
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#pre-vote" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Pre-Vote
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Pre-Vote">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#create-a-parent-jira-for-the-release" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Create a parent Jira for the release
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#notify-the-community-in-advance-of-the-release"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Notify the community in advance of the release
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#branching" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Branching
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#update-the-versions" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Update the versions
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#commit-the-changes" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Commit the changes
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#build-and-publish-source-artifacts" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Build and Publish Source Artifacts
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Build and Publish Source Artifacts">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#set-up-local-environment" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Set up local environment
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#reset-the-git-repository" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Reset the git repository
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#create-the-release-artifacts" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Create the release artifacts
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#calculate-the-checksum-and-sign-the-artifacts"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Calculate the checksum and sign the artifacts
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-source-artifacts-to-dev" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish source artifacts to dev
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#vote" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Vote
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Vote">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#send-the-voting-email-as-described-below" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Send the voting email as described below
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#post-vote" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Post-Vote
+
+ </span>
+ </a>
+
+ <nav class="md-nav" aria-label="Post-Vote">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#publish-the-source-artifacts-to-distapacheorg"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish the source artifacts to dist.apache.org
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-the-source-artifacts-to-maven-central"
class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish the source artifacts to Maven Central
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-build-artifacts" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish build artifacts
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#add-the-final-git-tag-and-push-it" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Add the final git tag and push it
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#create-a-sub-page-in-confluence" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Create a sub-page in Confluence
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#update-the-ranger-website" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Update the Ranger website
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#publish-docker-images-for-the-release" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Publish docker images for the release
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#send-an-announcement-mail" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Send an announcement mail
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#branching_1" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Branching
+
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#other-tasks" class="md-nav__link">
+ <span class="md-ellipsis">
+
+ Other Tasks
+
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ </ul>
</nav>
</div>
@@ -1276,24 +2025,384 @@
-<!---
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<h1 id="release-process">Release Process<a class="headerlink"
href="#release-process" title="Permanent link">¶</a></h1>
+ <h1>Release Process</h1>
+
+<!--
+ - Licensed to the Apache Software Foundation (ASF) under one or more
+ - contributor license agreements. See the NOTICE file distributed with
+ - this work for additional information regarding copyright ownership.
+ - The ASF licenses this file to You under the Apache License, Version 2.0
+ - (the "License"); you may not use this file except in compliance with
+ - the License. You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+ -->
+
+<h2 id="introduction">Introduction<a class="headerlink" href="#introduction"
title="Permanent link">¶</a></h2>
+<p>This page walks you through the release process of the Ranger project. <a
href="https://www.apache.org/legal/release-policy.html">Here</a> you can read
about the release process in general for an Apache project.</p>
+<p>Decisions about releases are made by three groups:</p>
+<ul>
+<li>Release Manager: Does the work of creating the release, signing it,
counting votes, announcing the release and so on.</li>
+<li>The Community: Performs the discussion of whether it is the right time to
create a release and what that release should contain. The community can also
cast non-binding votes on the release.</li>
+<li>PMC: Gives binding votes on the release.</li>
+</ul>
+<p>This page describes the procedures that the release manager and voting PMC
members take during the release process.</p>
+<h3 id="prerequisite">Prerequisite<a class="headerlink" href="#prerequisite"
title="Permanent link">¶</a></h3>
+<p>The release manager should have a gpg key setup to sign the artifacts. For
more details, please <a
href="https://www.apache.org/dev/new-committers-guide.html#set-up-security-and-pgp-keys">see</a></p>
+<h4 id="setup-for-first-time-release-managers">Setup for first time release
managers<a class="headerlink" href="#setup-for-first-time-release-managers"
title="Permanent link">¶</a></h4>
+<div class="highlight"><span class="filename">Generate OpenPPG
Key</span><pre><span></span><code><span class="c1"># create a key</span>
+gpg<span class="w"> </span>--gen-key
+
+<span class="c1"># If you have multiple keys present, select the key id you
want to use, let's say it is - your_gpg_key_id then do:</span>
+<span class="nb">export</span><span class="w"> </span><span
class="nv">CODESIGNINGKEY</span><span class="o">=</span>your_gpg_key_id
+
+gpg<span class="w"> </span>--list-keys<span class="w"> </span><span
class="si">${</span><span class="nv">CODESIGNINGKEY</span><span
class="si">}</span>
+
+<span class="c1"># to upload the key to a key server</span>
+gpg<span class="w"> </span>--keyserver<span class="w">
</span>hkp://keyserver.ubuntu.com<span class="w"> </span>--send-key<span
class="w"> </span><span class="si">${</span><span
class="nv">CODESIGNINGKEY</span><span class="si">}</span>
+</code></pre></div>
+<h4 id="publish-your-key">Publish your key<a class="headerlink"
href="#publish-your-key" title="Permanent link">¶</a></h4>
+<p>The key is supposed to be published together with the release. If it
doesn't exist already, append it to the end of <a
href="https://dist.apache.org/repos/dist/release/ranger/KEYS">keys</a> file.</p>
+<div class="highlight"><span class="filename">Publish Key
(PMC)</span><pre><span></span><code>svn<span class="w"> </span>co<span
class="w"> </span>https://dist.apache.org/repos/dist/release/ranger
+<span class="nb">cd</span><span class="w"> </span>ranger
+gpg<span class="w"> </span>--list-sigs<span class="w"> </span><span
class="nv">$CODESIGNINGKEY</span><span class="w"> </span>>><span
class="w"> </span>KEYS
+gpg<span class="w"> </span>--armor<span class="w"> </span>--export<span
class="w"> </span><span class="nv">$CODESIGNINGKEY</span><span class="w">
</span>>><span class="w"> </span>KEYS
+
+svn<span class="w"> </span>commit<span class="w"> </span>-m<span class="w">
</span><span class="s2">"Adding key of XXXX to the KEYS"</span><span
class="w"> </span>
+</code></pre></div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>In case you are a Committer and not a PMC member, you can add your key to
the dev <code>KEYS</code> file and a PMC member can move it to the final
destination.</p>
+</div>
+<div class="highlight"><span class="filename">Publish Key
(Committer)</span><pre><span></span><code>svn<span class="w"> </span>co<span
class="w"> </span>https://dist.apache.org/repos/dist/dev/ranger
+<span class="nb">cd</span><span class="w"> </span>ranger
+gpg<span class="w"> </span>--list-sigs<span class="w"> </span><span
class="nv">$CODESIGNINGKEY</span><span class="w"> </span>>><span
class="w"> </span>KEYS
+gpg<span class="w"> </span>--armor<span class="w"> </span>--export<span
class="w"> </span><span class="nv">$CODESIGNINGKEY</span><span class="w">
</span>>><span class="w"> </span>KEYS
+svn<span class="w"> </span>commit<span class="w"> </span>-m<span class="w">
</span><span class="s2">"Adding key of XXXX to the KEYS"</span>
+</code></pre></div>
+<h2 id="pre-vote">Pre-Vote<a class="headerlink" href="#pre-vote"
title="Permanent link">¶</a></h2>
+<h4 id="create-a-parent-jira-for-the-release">Create a parent Jira for the
release<a class="headerlink" href="#create-a-parent-jira-for-the-release"
title="Permanent link">¶</a></h4>
+<p>This provides visibility into the progress of the release for the
community. Tasks mentioned in this guide like changing snapshot versions,
updating the Ranger website, publishing the artifacts, publishing the docker
image, etc can be added as subtasks. Here is an example: <a
href="https://issues.apache.org/jira/browse/RANGER-5098">RANGER-5098</a></p>
+<h4 id="notify-the-community-in-advance-of-the-release">Notify the community
in advance of the release<a class="headerlink"
href="#notify-the-community-in-advance-of-the-release" title="Permanent
link">¶</a></h4>
+<p>The below details should be included when sending out an email to:
<code>[email protected]</code></p>
+<ul>
+<li>The release branch to be used for the release.</li>
+<li>The release branch lockdown date, the branch will be closed for commits
after this date. Commits after this date will require approval from PMC
Members.</li>
+<li>Tentative date for the availability of release-candidate #0, after which
voting begins. A minimum of 72 hours needs to pass before the voting can
close.</li>
+<li>Tentative release date.</li>
+</ul>
+<h4 id="branching">Branching<a class="headerlink" href="#branching"
title="Permanent link">¶</a></h4>
+<p>A release branch should already be available as a post-release activity
from the previous release. All release related changes will go to this branch
until the release is complete.</p>
+<ul>
+<li>Ensure that there is no <code>OPEN</code> Jira associated with the
release.</li>
+</ul>
+<h4 id="update-the-versions">Update the versions<a class="headerlink"
href="#update-the-versions" title="Permanent link">¶</a></h4>
+<div class="highlight"><span class="filename">Update
Versions</span><pre><span></span><code><span class="c1"># Use below command or
use IDE to replace "${RANGER_VERSION}-SNAPSHOT" with
"${RANGER_VERSION}".</span>
+<span class="nb">export</span><span class="w"> </span><span
class="nv">RANGER_VERSION</span><span class="o">=</span><span
class="s2">"2.7.0"</span>
+
+mvn<span class="w"> </span>versions:set<span class="w">
</span>-DnewVersion<span class="o">=</span><span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span><span class="w">
</span>-DgenerateBackupPoms<span class="o">=</span><span class="nb">false</span>
+
+<span class="c1"># Also, manually update versions in:</span>
+<span class="c1"># - dev-support/ranger-docker/.env</span>
+<span class="c1"># - docs/pom.xml</span>
+<span class="c1"># - unixauthnative/pom.xml</span>
+<span class="c1"># - ranger-trino-plugin-shim/pom.xml</span>
+</code></pre></div>
+<h4 id="commit-the-changes">Commit the changes<a class="headerlink"
href="#commit-the-changes" title="Permanent link">¶</a></h4>
+<p><div class="highlight"><span class="filename">Commit version changes to
release branch</span><pre><span></span><code><span
class="nb">export</span><span class="w"> </span><span
class="nv">RANGER_VERSION</span><span class="o">=</span><span
class="s2">"2.7.0"</span><span class="w"> </span><span class="c1">#
Set to the version of Ranger being released.</span>
+
+git<span class="w"> </span>commit<span class="w"> </span>-am<span class="w">
</span><span class="s2">"RANGER-XXXX: Updated version from </span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="s2">-SNAPSHOT to </span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="s2">"</span>
+
+git<span class="w"> </span>push<span class="w"> </span>origin
+
+<span class="c1"># for ex:
https://github.com/apache/ranger/commit/81f3d2f</span>
+</code></pre></div>
+<div class="highlight"><span class="filename">Tag the RC and
Push</span><pre><span></span><code>git<span class="w"> </span>tag<span
class="w"> </span>-a<span class="w"> </span>release-<span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>-rc<span class="si">${</span><span
class="nv">RANGER_RC</span><span class="si">}</span><span class="w">
</span>-m<span class="w"> </span><span class="s2">"Ranger </span><span
class="si">${</span><span class="nv">RA [...]
+
+<span class="c1"># example: git tag -a release-2.6.0-rc0 -m "Ranger
2.6.0-rc0 release"</span>
+
+<span class="c1"># and then push to the release branch like this</span>
+git<span class="w"> </span>push<span class="w"> </span>origin<span class="w">
</span>release-<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>-rc<span
class="si">${</span><span class="nv">RANGER_RC</span><span class="si">}</span>
+</code></pre></div></p>
+<h3 id="build-and-publish-source-artifacts">Build and Publish Source
Artifacts<a class="headerlink" href="#build-and-publish-source-artifacts"
title="Permanent link">¶</a></h3>
+<h4 id="set-up-local-environment">Set up local environment<a
class="headerlink" href="#set-up-local-environment" title="Permanent
link">¶</a></h4>
+<p>It is probably best to clone a fresh Ranger repository locally to work on
the release, and leave your existing repository intact for dev tasks you may be
working on simultaneously.<br />
+After cloning, make sure the <code>apache/ranger</code> upstream repo is named
origin.<br />
+This is required for release build metadata to be correctly populated.<br />
+Assume all following commands are executed from within this repo with your
release branch checked out.</p>
+<div class="highlight"><pre><span></span><code><span
class="nb">export</span><span class="w"> </span><span
class="nv">RANGER_RC</span><span class="o">=</span><span
class="m">0</span><span class="w"> </span><span class="c1"># Set to the number
of the current release candidate, starting at 0.</span>
+<span class="nb">export</span><span class="w"> </span><span
class="nv">CODESIGNINGKEY</span><span class="o">=</span>your_gpg_key_id
+</code></pre></div>
+<h4 id="reset-the-git-repository">Reset the git repository<a
class="headerlink" href="#reset-the-git-repository" title="Permanent
link">¶</a></h4>
+<div class="highlight"><span class="filename">Reset the git
repo</span><pre><span></span><code>git<span class="w"> </span>reset<span
class="w"> </span>--hard
+git<span class="w"> </span>clean<span class="w"> </span>-dfx
+</code></pre></div>
+<h4 id="create-the-release-artifacts">Create the release artifacts<a
class="headerlink" href="#create-the-release-artifacts" title="Permanent
link">¶</a></h4>
+<div class="highlight"><span class="filename">Build
Ranger</span><pre><span></span><code><span class="c1"># run with unit
tests</span>
+mvn<span class="w"> </span>clean<span class="w"> </span>install<span
class="w"> </span>-Dmaven.javadoc.skip<span class="o">=</span><span
class="nb">true</span>
+</code></pre></div>
+<ul>
+<li>Verify <code>LICENSE</code> and <code>NOTICE</code> files for the release
are updated based on changes in the release.</li>
+<li>Go through all commits in this particular release and create Release
Notes. for example: <a
href="https://cwiki.apache.org/confluence/display/RANGER/Apache+Ranger+2.6.0+-+Release+Notes">Apache
Ranger 2.6.0 - Release Notes</a></li>
+<li>Also, ensure the fix versions are appropriately added for all the jiras
related to the commits.</li>
+</ul>
+<h4 id="calculate-the-checksum-and-sign-the-artifacts">Calculate the checksum
and sign the artifacts<a class="headerlink"
href="#calculate-the-checksum-and-sign-the-artifacts" title="Permanent
link">¶</a></h4>
+<div class="highlight"><span class="filename">Sign and checksum the
artifacts</span><pre><span></span><code><span class="nb">export</span><span
class="w"> </span><span class="nv">GPG_TTY</span><span class="o">=</span><span
class="k">$(</span>tty<span class="k">)</span>
+ant<span class="w"> </span>-f<span class="w"> </span>release-build.xml<span
class="w"> </span>-Dranger-release-version<span class="o">=</span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="w"> </span>-Dsigning-key<span
class="o">=</span><span class="si">${</span><span
class="nv">CODESIGNINGKEY</span><span class="si">}</span>
+
+<span class="c1"># on successful run, the above command generates 4 files in
target:</span>
+<span class="c1"># - apache-ranger-${RANGER_VERSION}.tar.gz</span>
+<span class="c1"># - apache-ranger-${RANGER_VERSION}.tar.gz.asc</span>
+<span class="c1"># - apache-ranger-${RANGER_VERSION}.tar.gz.sha512</span>
+<span class="c1"># - apache-ranger-${RANGER_VERSION}.tar.gz.sha256</span>
+
+<span class="c1"># verify the signed tarball and checksum file using below
command</span>
+<span class="nb">cd</span><span class="w"> </span>target
+gpg<span class="w"> </span>--verify<span class="w"> </span>apache-ranger-<span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>.tar.gz.asc<span class="w"> </span>apache-ranger-<span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>.tar.gz
+sha512sum<span class="w"> </span>-c<span class="w"> </span>apache-ranger-<span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>.tar.gz.sha512
+sha256sum<span class="w"> </span>-c<span class="w"> </span>apache-ranger-<span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>.tar.gz.sha256
+</code></pre></div>
+<h4 id="publish-source-artifacts-to-dev">Publish source artifacts to dev<a
class="headerlink" href="#publish-source-artifacts-to-dev" title="Permanent
link">¶</a></h4>
+<div class="highlight"><span class="filename">publish dev
artifacts</span><pre><span></span><code>svn<span class="w"> </span>co<span
class="w"> </span>https://dist.apache.org/repos/dist/dev/ranger<span class="w">
</span>ranger-dev
+
+mkdir<span class="w"> </span>ranger-dev/<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>-rc<span
class="si">${</span><span class="nv">RANGER_RC</span><span class="si">}</span>
+
+cp<span class="w"> </span>target/apache-ranger-<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>.tar.gz<span
class="w"> </span>ranger-dev/<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>-rc<span
class="si">${</span><span class="nv">RANGER_RC</span><span class="si">}</span>/
+cp<span class="w"> </span>target/apache-ranger-<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>.tar.gz.asc<span
class="w"> </span>ranger-dev/<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>-rc<span
class="si">${</span><span class="nv">RANGER_RC</span><span class="si">}</span>/
+cp<span class="w"> </span>target/apache-ranger-<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>.tar.gz.sha256<span
class="w"> </span>ranger-dev/<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>-rc<span
class="si">${</span><span class="nv">RANGER_RC</span><span class="si">}</span>/
+cp<span class="w"> </span>target/apache-ranger-<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>.tar.gz.sha512<span
class="w"> </span>ranger-dev/<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>-rc<span
class="si">${</span><span class="nv">RANGER_RC</span><span class="si">}</span>/
+
+svn<span class="w"> </span>add<span class="w"> </span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>-rc<span class="si">${</span><span
class="nv">RANGER_RC</span><span class="si">}</span>
+svn<span class="w"> </span>commit<span class="w"> </span>-m<span class="w">
</span><span class="s2">"RANGER-XXXX: Upload </span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="s2">-rc</span><span class="si">${</span><span
class="nv">RANGER_RC</span><span class="si">}</span><span
class="s2">"</span><span class="w"> </span><span class="c1"># requires ASF
authentication</span>
+</code></pre></div>
+<h2 id="vote">Vote<a class="headerlink" href="#vote" title="Permanent
link">¶</a></h2>
+<h4 id="send-the-voting-email-as-described-below">Send the voting email as
described below<a class="headerlink"
href="#send-the-voting-email-as-described-below" title="Permanent
link">¶</a></h4>
+<ul>
+<li>
+<p>Send release voting request to <code>[email protected]</code> and
<code>[email protected]</code> with the subject
+<div class="highlight"><pre><span></span><code>[VOTE] Release Apache Ranger
${RANGER_VERSION} ${RANGER_RC}
+</code></pre></div></p>
+</li>
+<li>
+<p>Include the following in the email:</p>
+<ul>
+<li>Link to a Jira query showing all resolved issues for this release.
Something like this.</li>
+<li>Link to the release candidate tag on GitHub.</li>
+<li>Location of the source and binary tarballs. This link will look something
like https://dist.apache.org/repos/dist/dev/ranger/2.6.0-rc0/</li>
+<li>Link to the public key used to sign the artifacts. This should always be
in the <a
href="https://dist.apache.org/repos/dist/release/ranger/KEYS">keys</a>
file.</li>
+</ul>
+</li>
+<li>The vote will be open for at least 72 hours or until necessary votes are
reached.
+<div class="highlight"><pre><span></span><code> [] +1 approve
+ [] +0 no opinion
+ [] -1 disapprove (and reason why)
+</code></pre></div></li>
+<li>Review <a
href="https://www.apache.org/legal/release-policy.html#release-approval">release-policy</a>
for the ASF wide release voting policy.</li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Note what is required of binding voters, and that binding votes can only
come from PMC members. Check <a
href="https://people.apache.org/committer-index.html">https://people.apache.org/committer-index.html</a>,
users whose group membership includes <code>ranger-pmc</code> can cast binding
votes.</p>
+</div>
+<ul>
+<li>If VOTE did not go through:<ul>
+<li>Apply fixes to the release branch and repeat the steps starting from
tagging the commit for the release candidate with the <code>$RANGER_RC</code>
variable incremented by 1 for all steps.</li>
+</ul>
+</li>
+<li>Once voting is finished, email <code>[email protected]</code> and
<code>[email protected]</code>summarizing the results with subject:
+<div class="highlight"><pre><span></span><code>[RESULT] [VOTE] Apache Ranger
${RANGER_VERSION} ${RANGER_RC}
+</code></pre></div>
+Include names of all PMC members, followed by committers/contributors who cast
their votes. Here is a reference <a
href="https://lists.apache.org/thread/sonr9mmjv8ot9kzwh66royv0pblnn41c">link</a>.</li>
+</ul>
+<h2 id="post-vote">Post-Vote<a class="headerlink" href="#post-vote"
title="Permanent link">¶</a></h2>
+<h3 id="publish-the-source-artifacts-to-distapacheorg">Publish the source
artifacts to dist.apache.org<a class="headerlink"
href="#publish-the-source-artifacts-to-distapacheorg" title="Permanent
link">¶</a></h3>
+<p>You should commit the artifacts to the SVN repository. If you are not a PMC
member you can commit it to the dev ranger first and ask a PMC member for the
final move. PMC members can move it to the final location:</p>
+<p><div class="highlight"><span
class="filename">Move</span><pre><span></span><code>svn<span class="w">
</span>co<span class="w">
</span>https://dist.apache.org/repos/dist/dev/ranger<span class="w">
</span>ranger-dev<span class="w"> </span><span class="o">&&</span><span
class="w"> </span><span class="nb">cd</span><span class="w"> </span>ranger-dev
+
+svn<span class="w"> </span>co<span class="w">
</span>https://dist.apache.org/repos/dist/release/ranger<span class="w">
</span>ranger-release<span class="w"> </span><span
class="o">&&</span><span class="w"> </span><span
class="nb">cd</span><span class="w"> </span>ranger-release
+
+mkdir<span class="w"> </span>ranger-release/<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+
+cp<span class="w"> </span>ranger-dev/<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>-rc<span
class="si">${</span><span class="nv">RANGER_RC</span><span
class="si">}</span>/*<span class="w"> </span>ranger-release/<span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="w"> </span><span class="c1"># copy release
artifacts from dev to release</span>
+
+<span class="nb">cd</span><span class="w"> </span>ranger-release
+
+svn<span class="w"> </span>add<span class="w"> </span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>
+
+svn<span class="w"> </span>commit<span class="w"> </span>-m<span class="w">
</span><span class="s2">"Uploading Apache Ranger </span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="s2"> release src artifacts"</span><span
class="w"> </span><span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+</code></pre></div>
+Now the <code>.tar.gz</code> artifact should have an associated
<code>.asc</code> file, <code>.sha512</code> and <code>.sha256</code> file at
the destination, so a total of 4 files.</p>
+<h3 id="publish-the-source-artifacts-to-maven-central">Publish the source
artifacts to Maven Central<a class="headerlink"
href="#publish-the-source-artifacts-to-maven-central" title="Permanent
link">¶</a></h3>
+<ol>
+<li>Setup <code>~/.m2/settings-security.xml</code> as per the <a
href="https://maven.apache.org/guides/mini/guide-encryption.html">guidelines</a>.</li>
+<li>Encrypt your Apache account password using above guidelines, and enter it
in <code>~/.m2/settings.xml</code> in the following entry
+ <div class="highlight"><span class="filename">Update
settings.xml</span><pre><span></span><code><span
class="nt"><server></span>
+<span class="w"> </span><span
class="nt"><id></span>apache.staging.https<span
class="nt"></id></span>
+<span class="w"> </span><span
class="nt"><username></span>username<span
class="nt"></username></span>
+<span class="w"> </span><span
class="nt"><password></span>encrypted_password<span
class="nt"></password></span>
+<span class="nt"></server></span>
+</code></pre></div></li>
+<li>Run the following:
+ <div class="highlight"><span class="filename">checkout and
deploy</span><pre><span></span><code><span class="c1"># checkout the relevant
git tag</span>
+
+git<span class="w"> </span>checkout<span class="w">
</span>release-ranger-<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+<span class="c1"># eg: git checkout release-ranger-2.6.0</span>
+
+<span class="c1"># deploy the release</span>
+mvn<span class="w"> </span>clean<span class="w"> </span>deploy<span class="w">
</span>-Papache-release<span class="w"> </span>-DskipTests<span class="w">
</span>-DskipDocs
+</code></pre></div></li>
+<li>Go to <a
href="https://repository.apache.org/">https://repository.apache.org/</a> and
log in using your Apache account.</li>
+<li>Click on <code>Staging Repositories</code> on the left-hand side.</li>
+<li>Select the entry that starts with orgapacheranger and click on
<code>close</code>.</li>
+<li>Verify via the URL that should appear after refresh that the artifacts
look as expected.</li>
+<li>After approval, click on <code>release</code>.</li>
+</ol>
+<h3 id="publish-build-artifacts">Publish build artifacts<a class="headerlink"
href="#publish-build-artifacts" title="Permanent link">¶</a></h3>
+<div class="highlight"><span class="filename">build ranger release and push
artifacts to svn</span><pre><span></span><code><span class="c1"># build ranger
from the release branch</span>
+
+<span class="c1"># create parent directory before build</span>
+<span class="nv">RELEASE_DIR</span><span class="o">=</span>/tmp/release-<span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>
+mkdir<span class="w"> </span>-p<span class="w"> </span><span
class="si">${</span><span class="nv">RELEASE_DIR</span><span
class="si">}</span><span class="w"> </span><span
class="o">&&</span><span class="w"> </span><span
class="nb">cd</span><span class="w"> </span><span class="si">${</span><span
class="nv">RELEASE_DIR</span><span class="si">}</span>
+
+git<span class="w"> </span>clone<span class="w">
</span>https://github.com/apache/ranger.git<span class="w"> </span><span
class="o">&&</span><span class="w"> </span><span
class="nb">cd</span><span class="w"> </span>ranger
+
+git<span class="w"> </span>checkout<span class="w">
</span>release-ranger-<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+
+<span class="c1"># after successful build, artifacts should be present in
target</span>
+mvn<span class="w"> </span>clean<span class="w"> </span>package<span
class="w"> </span>-DskipTests
+
+<span class="c1"># checkout svn repo</span>
+<span class="nb">cd</span><span class="w"> </span>~
+svn<span class="w"> </span>co<span class="w">
</span>https://dist.apache.org/repos/dist/dev/ranger<span class="w">
</span>ranger-dev<span class="w"> </span><span class="o">&&</span><span
class="w"> </span><span class="nb">cd</span><span class="w"> </span>ranger-dev
+<span class="nb">cd</span><span class="w"> </span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>-rc<span class="si">${</span><span
class="nv">RANGER_RC</span><span class="si">}</span>
+cp<span class="w"> </span><span class="si">${</span><span
class="nv">RELEASE_DIR</span><span
class="si">}</span>/ranger/target/ranger-*<span class="w"> </span>.
+
+<span class="c1"># generate signature and checksums for all</span>
+<span class="k">for</span><span class="w"> </span>file<span class="w">
</span><span class="k">in</span><span class="w"> </span><span
class="sb">`</span>find<span class="w"> </span>.<span class="w">
</span>-name<span class="w"> </span><span
class="s2">"ranger-*"</span><span class="sb">`</span>
+<span class="k">do</span>
+<span class="w"> </span>gpg<span class="w"> </span>--armor<span class="w">
</span>--output<span class="w"> </span><span class="si">${</span><span
class="nv">file</span><span class="si">}</span>.asc<span class="w">
</span>--detach-sig<span class="w"> </span><span class="si">${</span><span
class="nv">file</span><span class="si">}</span><span class="w"> </span><span
class="o">&&</span><span class="w"> </span>sha512sum<span class="w">
</span><span class="si">${</span><span class="nv [...]
+<span class="k">done</span>
+
+svn<span class="w"> </span>add<span class="w"> </span>ranger-*
+svn<span class="w"> </span>commit<span class="w"> </span>-m<span class="w">
</span><span class="s2">"upload build artifacts for </span><span
class="si">${</span><span class="nv">RANGER_RELEASE</span><span
class="si">}</span><span class="s2"> release"</span>
+
+<span class="c1"># PMC Members may selectively move these artifacts to
https://dist.apache.org/repos/dist/release/ranger/${RANGER_RELEASE} under
respective directories</span>
+</code></pre></div>
+<h3 id="add-the-final-git-tag-and-push-it">Add the final git tag and push it<a
class="headerlink" href="#add-the-final-git-tag-and-push-it" title="Permanent
link">¶</a></h3>
+<div class="highlight"><span class="filename">Add final release
tag</span><pre><span></span><code>git<span class="w"> </span>checkout<span
class="w"> </span><span class="s2">"release-</span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="s2">-rc</span><span class="si">${</span><span
class="nv">RANGER_RC</span><span class="si">}</span><span
class="s2">"</span>
+
+git<span class="w"> </span>tag<span class="w"> </span>-a<span class="w">
</span><span class="s2">"release-ranger-</span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="s2">"</span><span class="w">
</span>-m<span class="w"> </span><span class="s2">"Apache Ranger
</span><span class="nv">$RANGER_VERSION</span><span class="s2">"</span>
+
+git<span class="w"> </span>push<span class="w"> </span>origin<span class="w">
</span><span class="s2">"release-ranger-</span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="s2">"</span>
+</code></pre></div>
+<h3 id="create-a-sub-page-in-confluence">Create a sub-page in Confluence<a
class="headerlink" href="#create-a-sub-page-in-confluence" title="Permanent
link">¶</a></h3>
+<p>Add a sub-page under Release Folders for this release and add links for the
following:</p>
+<ul>
+<li>Link to the release notes</li>
+<li>Link to the release artifacts</li>
+<li>Link to the release tag</li>
+</ul>
+<p>Something like <a
href="https://cwiki.apache.org/confluence/display/RANGER/2.6.0+release+-+Apache+Ranger">this</a>.</p>
+<h3 id="update-the-ranger-website">Update the Ranger website<a
class="headerlink" href="#update-the-ranger-website" title="Permanent
link">¶</a></h3>
+<ul>
+<li>Create a <a href="https://github.com/apache/ranger/pull/532">PR</a>
targeted for master branch to update the docs with the new release.</li>
+<li>Update the ranger website with the release artifacts (use master branch to
do this!) and push the changes in the master branch.</li>
+</ul>
+<h3 id="publish-docker-images-for-the-release">Publish docker images for the
release<a class="headerlink" href="#publish-docker-images-for-the-release"
title="Permanent link">¶</a></h3>
+<p>Build the following docker images:</p>
+<ul>
+<li>ranger</li>
+<li>ranger-db</li>
+<li>ranger-solr</li>
+<li>ranger-zk</li>
+</ul>
+<p>with the release checked out and upload them to <a
href="https://hub.docker.com/r/apache/ranger">DockerHub</a>.<br />
+Instructions to build the images can be found <a
href="https://github.com/apache/ranger/blob/master/dev-support/ranger-docker/README.md">here</a>.
+<div class="highlight"><span class="filename">tag and push docker
images</span><pre><span></span><code><span class="c1"># tag the images</span>
+docker<span class="w"> </span>tag<span class="w"> </span>ranger:latest<span
class="w"> </span>apache/ranger:<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+docker<span class="w"> </span>tag<span class="w"> </span>ranger-db:latest<span
class="w"> </span>apache/ranger-db:<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+docker<span class="w"> </span>tag<span class="w">
</span>ranger-solr:latest<span class="w"> </span>apache/ranger-solr:<span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>
+docker<span class="w"> </span>tag<span class="w"> </span>ranger-zk:latest<span
class="w"> </span>apache/ranger-zk:<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+
+<span class="c1"># do docker login</span>
+docker<span class="w"> </span>login
+
+<span class="c1"># push the images</span>
+docker<span class="w"> </span>push<span class="w"> </span>apache/ranger:<span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span>
+docker<span class="w"> </span>push<span class="w">
</span>apache/ranger-db:<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+docker<span class="w"> </span>push<span class="w">
</span>apache/ranger-solr:<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+docker<span class="w"> </span>push<span class="w">
</span>apache/ranger-zk:<span class="si">${</span><span
class="nv">RANGER_VERSION</span><span class="si">}</span>
+</code></pre></div></p>
+<h3 id="send-an-announcement-mail">Send an announcement mail<a
class="headerlink" href="#send-an-announcement-mail" title="Permanent
link">¶</a></h3>
+<p>to <code>[email protected]</code>,
<code>[email protected]</code>, <code>[email protected]</code>.
Something like <a
href="https://lists.apache.org/thread/4ssdwwpdcd8381k09otjfsydb47z1ygm">this</a>.</p>
+<div class="highlight"><pre><span></span><code>Subject: [ANNOUNCE] Apache
Ranger ${RANGER_VERSION}
+</code></pre></div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Only PMC members can send the email to <code>[email protected]</code></p>
+</div>
+<ul>
+<li>Include the following in the email:<ul>
+<li>Download <a href="https://ranger.apache.org/download.html">link</a></li>
+<li>Release notes: example - <a
href="https://cwiki.apache.org/confluence/display/RANGER/Apache+Ranger+2.6.0+-+Release+Notes">Apache
Ranger 2.6.0 - Release Notes</a></li>
+<li>When downloading binaries from the site, please remember to verify the
downloads using signatures at: <a
href="https://www.apache.org/dist/ranger/KEYS">KEYS</a></li>
+</ul>
+</li>
+</ul>
+<h3 id="branching_1">Branching<a class="headerlink" href="#branching_1"
title="Permanent link">¶</a></h3>
+<p>Create a new release branch, for ex: ranger-2.7 from ranger-2.6. In this
release branch, do the following and commit it.
+<div class="highlight"><span class="filename">Update to SNAPSHOT version and
Push</span><pre><span></span><code><span
class="nv">NEXT_RANGER_VERSION</span><span class="o">=</span><span
class="m">2</span>.7.0-SNAPSHOT
+mvn<span class="w"> </span>versions:set<span class="w">
</span>-DnewVersion<span class="o">=</span><span class="si">${</span><span
class="nv">NEXT_RANGER_VERSION</span><span class="si">}</span>
+
+git<span class="w"> </span>commit<span class="w"> </span>-am<span class="w">
</span><span class="s2">"RANGER-XXXX: Updated version from </span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="s2"> to </span><span class="si">${</span><span
class="nv">NEXT_RANGER_VERSION</span><span class="si">}</span><span
class="s2">"</span>
+
+<span class="c1"># Also, manually update versions in:</span>
+<span class="c1"># - dev-support/ranger-docker/.env</span>
+<span class="c1"># - docs/pom.xml</span>
+
+git<span class="w"> </span>push<span class="w"> </span>origin
+</code></pre></div>
+Now, update the previous release branch with newer SNAPSHOT version and commit
it, something like this:</p>
+<div class="highlight"><span class="filename">Update to SNAPSHOT version and
Push</span><pre><span></span><code><span
class="nv">NEXT_RANGER_VERSION</span><span class="o">=</span><span
class="s2">"2.6.1-SNAPSHOT"</span>
+mvn<span class="w"> </span>versions:set<span class="w">
</span>-DnewVersion<span class="o">=</span><span class="si">${</span><span
class="nv">NEXT_RANGER_VERSION</span><span class="si">}</span>
+
+git<span class="w"> </span>commit<span class="w"> </span>-am<span class="w">
</span><span class="s2">"RANGER-XXXX: Updated version from </span><span
class="si">${</span><span class="nv">RANGER_VERSION</span><span
class="si">}</span><span class="s2"> to </span><span class="si">${</span><span
class="nv">NEXT_RANGER_VERSION</span><span class="si">}</span><span
class="s2">"</span>
+
+<span class="c1"># Also, manually update versions in:</span>
+<span class="c1"># - dev-support/ranger-docker/.env</span>
+<span class="c1"># - docs/pom.xml</span>
+
+git<span class="w"> </span>push<span class="w"> </span>origin
+</code></pre></div>
+<h3 id="other-tasks">Other Tasks<a class="headerlink" href="#other-tasks"
title="Permanent link">¶</a></h3>
+<ul>
+<li>In Apache JIRA admin, mark the release as complete and create a next
version for tracking the changes to the next (major|minor) version</li>
+<li>Update release data in <a
href="https://reporter.apache.org/?ranger">https://reporter.apache.org/?ranger</a></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Only PMC members can do this step.</p>
+</div>
+<ul>
+<li>If the release resolved any CVE<ul>
+<li>update <a href="../cve-list/">Vulnerabilities Found</a></li>
+<li>send notification to<ul>
+<li><code>[email protected]</code></li>
+<li><code>[email protected]</code></li>
+<li><code>[email protected]</code></li>
+<li><code>[email protected]</code></li>
+<li><code>[email protected]</code></li>
+</ul>
+</li>
+<li>Follow <a
href="https://www.apache.org/security/committers.html">https://www.apache.org/security/committers.html</a>
for publishing the CVE</li>
+</ul>
+</li>
+</ul>
@@ -1314,7 +2423,7 @@ <h1 id="release-process">Release Process<a
class="headerlink" href="#release-pro
<span class="md-icon" title="Last update">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21
13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6
0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4
2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10
9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1
7.5 7.1 7.9l-.1.2z"/></svg>
</span>
- <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-date" title="January 13, 2026 13:08:42
PST">January 13, 2026</span>
+ <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-date" title="January 14, 2026 17:17:15
PST">January 14, 2026</span>
</span>
diff --git a/search/search_index.json b/search/search_index.json
index e65ab0d97..ae9c19722 100644
--- a/search/search_index.json
+++ b/search/search_index.json
@@ -1 +1 @@
-{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Apache
Ranger - the open source authz framework for data processing
services","text":""},{"location":"#goals-overview","title":"Goals
Overview","text":"<ul> <li>Centralized security administration to manage all
authorization related tasks in a central UI or using REST APIs.</li>
<li>Fine-grained [...]
\ No newline at end of file
+{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Apache
Ranger - the open source authz framework for data processing
services","text":""},{"location":"#goals-overview","title":"Goals
Overview","text":"<ul> <li>Centralized security administration to manage all
authorization related tasks in a central UI or using REST APIs.</li>
<li>Fine-grained [...]
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index 6bdac32a4..43dc80081 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,78 +2,78 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://apache.github.io/ranger/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/arch/architecture/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/blog/blog/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/features/client-interface/intro/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/features/gds/gds_intro/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/features/sec-zone/intro/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/getting-started/install/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/getting-started/trino-with-ranger/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/plugins/trino/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/project/asf-index/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/project/contributing/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/project/cve-list/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/project/java-code-style/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/project/release-process/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/release-notes/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/services/admin/service/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/services/kms/service/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/services/tagsync/service/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
<url>
<loc>https://apache.github.io/ranger/services/usersync/service/</loc>
- <lastmod>2026-01-14</lastmod>
+ <lastmod>2026-01-15</lastmod>
</url>
</urlset>
\ No newline at end of file
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index a1676afa1..a2ef4faf6 100644
Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ