This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/cordova-docs.git
The following commit(s) were added to refs/heads/asf-staging by this push:
new c380d3d262 Deploying to asf-staging from @
apache/cordova-docs@c75c31428e9d199e5b86383991bdba39d11b0170 🚀
c380d3d262 is described below
commit c380d3d262402c8da88eec5b8224212182a4748e
Author: erisu <[email protected]>
AuthorDate: Wed Jul 22 07:22:19 2026 +0000
Deploying to asf-staging from @
apache/cordova-docs@c75c31428e9d199e5b86383991bdba39d11b0170 🚀
---
announcements/2026/07/07/cordova-ios-8.1.1.html | 20 +
.../2026/07/22/cordova-android-15.1.0.html | 411 +++++++++++++++++++++
blog/index.html | 127 ++++++-
downloads/index.html | 20 +-
feed.xml | 272 +++++++++-----
sitemap.xml | 5 +
static/js/index.js | 1 +
7 files changed, 758 insertions(+), 98 deletions(-)
diff --git a/announcements/2026/07/07/cordova-ios-8.1.1.html
b/announcements/2026/07/07/cordova-ios-8.1.1.html
index c0ef63cfa9..9ff00d72d6 100644
--- a/announcements/2026/07/07/cordova-ios-8.1.1.html
+++ b/announcements/2026/07/07/cordova-ios-8.1.1.html
@@ -203,6 +203,26 @@ cordova platform add [email protected]
</div>
<div class="col-sm-6">
+ <a
href="/announcements/2026/07/22/cordova-android-15.1.0.html">Next</a>
+ <br>
+ <br>
+ <a class="title"
href="/announcements/2026/07/22/cordova-android-15.1.0.html">Cordova Android
15.1.0 Released!</a>
+ <div class="date"> 22 Jul 2026 - By Bryan Ellis </div>
+ <p class="content">
+ <!--
+ NOTE:
+ the markdownify filter is used here
+ because posts are rendered in sequence;
+ that is, the next post's content isn't
+ yet rendered at the time that this post
+ is being rendered, so page.next.excerpt
+ is still in Markdown and not HTML
+
+ Reference:
https://github.com/jekyll/jekyll/issues/2860
+ -->
+ We are happy to announce that we have just released
Cordova Android...
+ </p>
+
</div>
</div>
</footer>
diff --git a/announcements/2026/07/22/cordova-android-15.1.0.html
b/announcements/2026/07/22/cordova-android-15.1.0.html
new file mode 100644
index 0000000000..f1bde88e7f
--- /dev/null
+++ b/announcements/2026/07/22/cordova-android-15.1.0.html
@@ -0,0 +1,411 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta name="format-detection" content="telephone=no">
+ <meta name="viewport" content="user-scalable=no, initial-scale=1,
maximum-scale=1, minimum-scale=1, width=device-width" />
+ <meta name="description" content="We are happy to announce that we have
just released Cordova Android 15.1.0! This is one of Cordova's supported
platforms for building Android application...">
+
+ <title>
+
+
+ Cordova Android 15.1.0 Released! - Apache Cordova
+
+
+ </title>
+
+ <link rel="SHORTCUT ICON" href="/favicon.ico"/>
+
+
+
+
+
+
+ <link rel="canonical"
href="https://cordova.apache.org/announcements/2026/07/22/cordova-android-15.1.0.html">
+
+ <!-- CSS -->
+ <link rel="stylesheet" type="text/css" href="/static/css/main.css">
+ <link rel="stylesheet" type="text/css" href="/static/css/fonts.css">
+ <link rel="stylesheet" type="text/css" href="/static/css/lib/syntax.css">
+
+ <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media
queries -->
+ <!--[if lt IE 9]>
+ <script
src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+ <script
src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+ <![endif]-->
+
+ <!-- JS -->
+ <script defer type="text/javascript"
src="/static/js/lib/jquery-2.1.1.min.js"></script>
+ <script defer type="text/javascript"
src="/static/js/lib/bootstrap.min.js"></script>
+
+ <!-- Matomo -->
+<script>
+ var _paq = window._paq = window._paq || [];
+ /* tracker methods like "setCustomDimension" should be called before
"trackPageView" */
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '16']);
+ var d=document, g=d.createElement('script'),
s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+ </script>
+ <!-- End Matomo Code -->
+
+
+</head>
+
+<body>
+ <header>
+ <a class="scroll-point pt-top" name="top"></a>
+ <nav class="navbar navbar-inverse navbar-fixed-top">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#navbar" aria-expanded="false"
aria-controls="navbar">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/"><img id="logo_top"
src="/static/img/cordova-logo-newbrand.svg"/></a>
+ </div>
+ <div id="navbar" class="navbar-collapse collapse">
+ <div class="nav_bar_center">
+ <ul class="nav navbar-nav">
+ <li >
+ <a href="/docs/en/latest/">Documentation</a>
+ </li>
+ <li >
+ <a href="/plugins">Plugins</a>
+ </li>
+ <li class="active">
+ <a href="/blog" id="blog_button">Blog<span
class="badge" id="new_blog_count"></span></a>
+ </li>
+ <li >
+ <a href="/contribute">Contribute</a>
+ </li>
+ <li >
+ <a href="/contribute/team.html">Team</a>
+ </li>
+ <li>
+ <a href="/#getstarted">Get Started</a>
+ </li>
+ <li>
+ <form class="navbar-form navbar-right"
id="header-search-form" role="search">
+ <div class="input-group">
+
+ </div>
+ </form>
+ </li>
+ </ul>
+ </div>
+ </div><!--/.navbar-collapse -->
+ </div>
+ </nav>
+ <div id="_fixed_navbar_spacer" style="padding-top:50px"></div>
+</header>
+
+<div class="page container">
+ <div class="blog">
+ <h1 class="blogHeader">
+ Blog
+ <span class="rss">
+ <img src="/static/img/subscribe.png"><a href="/feed.xml">RSS Feed</a>
+ </span>
+</h1>
+
+<div class="post">
+ <header>
+ <div class="title">Cordova Android 15.1.0 Released!</div>
+ <div class="author">By:
+
+ Bryan Ellis
+
+ </div>
+ <div class="date">22 Jul 2026</div>
+ </header>
+ <section>
+ <div>
+ <p>We are happy to announce that we have just released
<code>Cordova Android 15.1.0</code>! This is one of Cordova's supported
platforms for building Android applications.</p>
+
+<ul>
+ <li><a
href="https://www.npmjs.com/package/cordova-android">[email protected]</a></li>
+</ul>
+
+<p><strong>To upgrade:</strong></p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>cordova platform remove android
+cordova platform add [email protected]
+</code></pre></div></div>
+
+<p><strong>To install:</strong></p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>cordova platform add [email protected]
+</code></pre></div></div>
+
+<h2>Release Highlights</h2>
+
+<h3>Features</h3>
+
+<ul>
+ <li>
+ <p><strong>Deprecation of <code>PermissionHelper</code></strong></p>
+
+ <p>The <code>PermissionHelper</code> class has been deprecated.</p>
+
+ <p>Plugin developers that relied on the <code>PermissionHelper</code>
class should migrate their plugins to use the permission APIs available through
the <code>CordovaInterface</code> of the <code>CordovaPlugin</code>.</p>
+
+ <p><strong>Before:</strong></p>
+
+ <div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> <span class="c1">// Requesting a Permission</span>
+ <span class="nc">PermissionHelper</span><span class="o">.</span><span
class="na">requestPermission</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="n">requestCode</span><span class="o">,</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span><span class="o">);</span>
+
+ <span class="c1">// Requesting a Collection of Permissions</span>
+ <span class="nc">PermissionHelper</span><span class="o">.</span><span
class="na">requestPermissions</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="n">requestCode</span><span class="o">,</span> <span class="k">new</span>
<span class="nc">String</span><span class="o">[]{</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span> <span cla [...]
+
+ <span class="c1">// Checking if the App has a Permission</span>
+ <span class="nc">PermissionHelper</span><span class="o">.</span><span
class="na">hasPermission</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span><span class="o">);</span>
+</code></pre></div> </div>
+
+ <p><strong>After:</strong></p>
+
+ <div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> <span class="c1">// Requesting a Permission</span>
+ <span class="n">cordova</span><span class="o">.</span><span
class="na">requestPermission</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="n">requestCode</span><span class="o">,</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span><span class="o">);</span>
+
+ <span class="c1">// Requesting a Collection of Permissions</span>
+ <span class="n">cordova</span><span class="o">.</span><span
class="na">requestPermissions</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="n">requestCode</span><span class="o">,</span> <span class="k">new</span>
<span class="nc">String</span><span class="o">[]{</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span> <span class="o">});</span>
+
+ <span class="c1">// Checking if the App has a Permission</span>
+ <span class="n">cordova</span><span class="o">.</span><span
class="na">hasPermission</span><span class="o">(</span><span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span><span class="o">);</span>
+</code></pre></div> </div>
+ </li>
+ <li>
+ <p><strong>Calling of
<code>CordovaPlugin.onRequestPermissionsResult</code></strong></p>
+
+ <p>Updated <code>CordovaInterfaceImpl.onRequestPermissionsResult</code> to
call the new <code>CordovaPlugin.onRequestPermissionsResult</code> method in
addition to the exisiting
<code>CordovaPlugin.onRequestPermissionResult</code>.</p>
+ </li>
+</ul>
+
+<h3>Fixes</h3>
+
+<ul>
+ <li>
+ <p><strong>Keyboard Layout and Page Scrolling when Input Fields Receive
Focus</strong></p>
+
+ <p>Fixes a UI layout and scrolling bug, that was introduced in
<code>[email protected]</code>, where focusing on an input field while the
soft keyboard was open could cause the WebView to shift upwards, leaving an
unrendered space at the bottom of the Activity, and prevent the page from
scrolling. This update restores the expected layout and scrolling behavior when
interacting with input fields.</p>
+ </li>
+ <li>
+ <p><strong>Handle Permissions for <code>getUserMedia</code></strong></p>
+
+ <p>Fixes <code>getUserMedia()</code> permission handling to correctly
check for and request the required native camera and microphone permissions
before proceeding. This aligns the WebView permission flow with the native
platform, improving compatibility and ensuring media requests behave as
expected.</p>
+ </li>
+ <li>
+ <p><strong>Back Button Handling After App Launch</strong></p>
+
+ <p>Fixes an issue where the back button would not respond immediately
after the app launched. Back button events are now handled consistently from
startup, including on devices that support the Android back gesture, ensuring
expected navigation behavior throughout the app.</p>
+ </li>
+ <li>
+ <p><strong>Properly Handle CSS Color with Alpha</strong></p>
+
+ <p>Fixes an issue where <code>window.statusbar.setBackgroundColor()</code>
incorrectly interpreted 8-digit hexadecimal CSS color values, which could
result in the wrong status bar color being applied.</p>
+ </li>
+ <li>
+ <p><strong>Status Bar Appearance Styling for Edge-to-Edge</strong></p>
+
+ <p>When Edge-to-Edge was enabled, apps could not adjust the status bar
text and icon appearance, which could make them difficult to see against
certain backgrounds.</p>
+
+ <p>This release exposes the exisiting
<code>window.statusbar.setBackgroundColor()</code> JS API for Edge-to-Edge
layouts. Although the API is used to set the status bar background color, it
also determines the appropriate status bar text and icon appearance, allowing
apps to maintain proper contrast. In Edge-to-Edge layouts, the background color
itself is not applied as there is no status bar, but the calculated appearance
is still applied.</p>
+ </li>
+ <li>
+ <p><strong>Fix Status Bar Background Color Handling for Opaque
White</strong></p>
+
+ <p>Fixes an issue where the valid color <code>#FFFFFFFF</code> was
incorrectly treated as an invalid status bar color, preventing fully opaque
white from being applied. This restores support for all valid status bar
background colors.</p>
+ </li>
+</ul>
+
+<!--more-->
+<h1>Changes include:</h1>
+
+<p><strong>Features:</strong></p>
+
+<ul>
+ <li>feat: call new method
<code>CordovaPlugin.onRequestPermissionsResult</code> (<a
href="https://github.com/apache/cordova-android/pull/1855">#1855</a>) [<a
href="https://github.com/apache/cordova-android/commit/b66f0f33">b66f0f33</a>]</li>
+ <li>feat: deprecate <code>PermissionHelper</code> (<a
href="https://github.com/apache/cordova-android/pull/1857">#1857</a>) [<a
href="https://github.com/apache/cordova-android/commit/8c839764">8c839764</a>]</li>
+ <li>feat: remove unused private Method
<code>PermissionHelper.deliverPermissionResult</code> (<a
href="https://github.com/apache/cordova-android/pull/1858">#1858</a>) [<a
href="https://github.com/apache/cordova-android/commit/9c3d8268">9c3d8268</a>]</li>
+</ul>
+
+<p><strong>Fixes:</strong></p>
+
+<ul>
+ <li>fix: webview loses scrollability and creates empty bottom space (<a
href="https://github.com/apache/cordova-android/pull/1924">#1924</a>) [<a
href="https://github.com/apache/cordova-android/commit/b91144c0">b91144c0</a>]</li>
+ <li>fix: handle permissions for getUserMedia (<a
href="https://github.com/apache/cordova-android/pull/1895">#1895</a>) [<a
href="https://github.com/apache/cordova-android/commit/24502178">24502178</a>]</li>
+ <li>fix: overwritten backbutton not firing on first time by hardware button
and never on back gesture (<a
href="https://github.com/apache/cordova-android/pull/1910">#1910</a>) [<a
href="https://github.com/apache/cordova-android/commit/0bfbc20b">0bfbc20b</a>]</li>
+ <li>fix(android): use AndroidX <code>OnBackPressedCallback</code> instead of
<code>OnBackInvokedCallback</code> (<a
href="https://github.com/apache/cordova-android/pull/1903">#1903</a>) [<a
href="https://github.com/apache/cordova-android/commit/9064bc07">9064bc07</a>]</li>
+ <li>fix(gradle-9): unable to resolve class XmlParser for Groovy 4.x (<a
href="https://github.com/apache/cordova-android/pull/1896">#1896</a>) [<a
href="https://github.com/apache/cordova-android/commit/9ae489bd">9ae489bd</a>]</li>
+ <li>fix(statusbar.js): remove trailing whitespace in comment for lint (<a
href="https://github.com/apache/cordova-android/pull/1970">#1970</a>) [<a
href="https://github.com/apache/cordova-android/commit/cdbeb603">cdbeb603</a>]</li>
+ <li>fix(statusbar): Properly handle CSS colours (<a
href="https://github.com/apache/cordova-android/pull/1955">#1955</a>) [<a
href="https://github.com/apache/cordova-android/commit/dd3fd357">dd3fd357</a>]</li>
+ <li>fix(SystemBarPlugin): remove <code>canEdgeToEdge</code> check for
<code>execute</code> method (<a
href="https://github.com/apache/cordova-android/pull/1971">#1971</a>) [<a
href="https://github.com/apache/cordova-android/commit/61ebdcde">61ebdcde</a>]</li>
+ <li>fix(SystemBarPlugin): remove sentinel value <code>INVALID_COLOR</code>,
use <code>null</code> instead (<a
href="https://github.com/apache/cordova-android/pull/1939">#1939</a>) [<a
href="https://github.com/apache/cordova-android/commit/f4ecf997">f4ecf997</a>]</li>
+</ul>
+
+<p><strong>Others</strong></p>
+
+<ul>
+ <li>chore: cleanup PermissionHelper (<a
href="https://github.com/apache/cordova-android/pull/1925">#1925</a>) [<a
href="https://github.com/apache/cordova-android/commit/7dd7f504">7dd7f504</a>]</li>
+ <li>chore: bump package 15.1.0-dev.0 & update package-lock (<a
href="https://github.com/apache/cordova-android/pull/1964">#1964</a>) [<a
href="https://github.com/apache/cordova-android/commit/929f2054">929f2054</a>]</li>
+ <li>chore: remove redundant Hello World template files (<a
href="https://github.com/apache/cordova-android/pull/1926">#1926</a>) [<a
href="https://github.com/apache/cordova-android/commit/56e263fe">56e263fe</a>]</li>
+ <li>chore: simplify edge-to-edge preference logic in CordovaActivity and
SystemBarPlugin (<a
href="https://github.com/apache/cordova-android/pull/1902">#1902</a>) [<a
href="https://github.com/apache/cordova-android/commit/190076ba">190076ba</a>]</li>
+ <li>chore: ignore gradle build artificat <code>problems-report.html</code>
(<a href="https://github.com/apache/cordova-android/pull/1912">#1912</a>) [<a
href="https://github.com/apache/cordova-android/commit/b1705d83">b1705d83</a>]</li>
+ <li>chore: more license header updates (<a
href="https://github.com/apache/cordova-android/pull/1909">#1909</a>) [<a
href="https://github.com/apache/cordova-android/commit/1f70d396">1f70d396</a>]</li>
+ <li>chore: update package-lock (<a
href="https://github.com/apache/cordova-android/pull/1905">#1905</a>) [<a
href="https://github.com/apache/cordova-android/commit/af56a003">af56a003</a>]</li>
+ <li>chore(ci): update & clean workflow (<a
href="https://github.com/apache/cordova-android/pull/1966">#1966</a>) [<a
href="https://github.com/apache/cordova-android/commit/654b03a3">654b03a3</a>]</li>
+ <li>chore(ci): improve workflows & dependabot (<a
href="https://github.com/apache/cordova-android/pull/1928">#1928</a>) [<a
href="https://github.com/apache/cordova-android/commit/08c4fd1e">08c4fd1e</a>]</li>
+ <li>chore(deps-dev): bump js-yaml from 4.1.1 to 4.2.0 (<a
href="https://github.com/apache/cordova-android/pull/1960">#1960</a>) [<a
href="https://github.com/apache/cordova-android/commit/ebccedf6">ebccedf6</a>]</li>
+ <li>chore(deps-dev): bump tmp from 0.2.6 to 0.2.7 (<a
href="https://github.com/apache/cordova-android/pull/1956">#1956</a>) [<a
href="https://github.com/apache/cordova-android/commit/d90eeecb">d90eeecb</a>]</li>
+ <li>chore(deps-dev): bump tmp from 0.2.5 to 0.2.6 (<a
href="https://github.com/apache/cordova-android/pull/1945">#1945</a>) [<a
href="https://github.com/apache/cordova-android/commit/a63c1e18">a63c1e18</a>]</li>
+ <li>chore(deps-dev): bump c8 from 10.1.3 to 11.0.0 (<a
href="https://github.com/apache/cordova-android/pull/1941">#1941</a>) [<a
href="https://github.com/apache/cordova-android/commit/74fbbdce">74fbbdce</a>]</li>
+ <li>chore(deps-dev): bump jasmine from 6.1.0 to 6.2.0 (<a
href="https://github.com/apache/cordova-android/pull/1932">#1932</a>) [<a
href="https://github.com/apache/cordova-android/commit/90b4b057">90b4b057</a>]</li>
+ <li>chore(deps): bump github/codeql-action/analyze from 4.36.3 to 4.37.0 (<a
href="https://github.com/apache/cordova-android/pull/1973">#1973</a>) [<a
href="https://github.com/apache/cordova-android/commit/80658ea4">80658ea4</a>]</li>
+ <li>chore(deps): bump github/codeql-action/init from 4.36.3 to 4.37.0 (<a
href="https://github.com/apache/cordova-android/pull/1972">#1972</a>) [<a
href="https://github.com/apache/cordova-android/commit/89771e64">89771e64</a>]</li>
+ <li>chore(deps): bump actions/setup-java from 5.4.0 to 5.5.0 (<a
href="https://github.com/apache/cordova-android/pull/1974">#1974</a>) [<a
href="https://github.com/apache/cordova-android/commit/065a99d8">065a99d8</a>]</li>
+ <li>chore(deps): bump github/codeql-action/analyze from 4.36.2 to 4.36.3 (<a
href="https://github.com/apache/cordova-android/pull/1969">#1969</a>) [<a
href="https://github.com/apache/cordova-android/commit/d830222e">d830222e</a>]</li>
+ <li>chore(deps): bump github/codeql-action/init from 4.36.2 to 4.36.3 (<a
href="https://github.com/apache/cordova-android/pull/1968">#1968</a>) [<a
href="https://github.com/apache/cordova-android/commit/1e2f0ca6">1e2f0ca6</a>]</li>
+ <li>chore(deps): bump codecov/codecov-action from 4.6.0 to 7.0.0 (<a
href="https://github.com/apache/cordova-android/pull/1954">#1954</a>) [<a
href="https://github.com/apache/cordova-android/commit/acbc5b48">acbc5b48</a>]</li>
+ <li>chore(deps): bump actions/setup-java from 5.3.0 to 5.4.0 (<a
href="https://github.com/apache/cordova-android/pull/1965">#1965</a>) [<a
href="https://github.com/apache/cordova-android/commit/cb52fb8d">cb52fb8d</a>]</li>
+ <li>chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (<a
href="https://github.com/apache/cordova-android/pull/1959">#1959</a>) [<a
href="https://github.com/apache/cordova-android/commit/79771499">79771499</a>]</li>
+ <li>chore(deps): bump actions/setup-java from 5.2.0 to 5.3.0 (<a
href="https://github.com/apache/cordova-android/pull/1958">#1958</a>) [<a
href="https://github.com/apache/cordova-android/commit/e53dc373">e53dc373</a>]</li>
+ <li>chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (<a
href="https://github.com/apache/cordova-android/pull/1952">#1952</a>) [<a
href="https://github.com/apache/cordova-android/commit/703ebeae">703ebeae</a>]</li>
+ <li>chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2 (<a
href="https://github.com/apache/cordova-android/pull/1953">#1953</a>) [<a
href="https://github.com/apache/cordova-android/commit/363a9a77">363a9a77</a>]</li>
+ <li>chore(deps): bump github/codeql-action from 4.35.5 to 4.36.0 (<a
href="https://github.com/apache/cordova-android/pull/1944">#1944</a>) [<a
href="https://github.com/apache/cordova-android/commit/a1f75a3e">a1f75a3e</a>]</li>
+ <li>chore(deps): bump erisu/apache-rat-action from 2.0.0 to 3.0.0 (<a
href="https://github.com/apache/cordova-android/pull/1937">#1937</a>) [<a
href="https://github.com/apache/cordova-android/commit/4ce731da">4ce731da</a>]</li>
+ <li>chore(deps): bump semver from 7.7.4 to 7.8.0 (<a
href="https://github.com/apache/cordova-android/pull/1934">#1934</a>) [<a
href="https://github.com/apache/cordova-android/commit/c636f8bb">c636f8bb</a>]</li>
+ <li>chore(deps): bump erisu/license-checker-action from 2.0.1 to 2.1.0 (<a
href="https://github.com/apache/cordova-android/pull/1930">#1930</a>) [<a
href="https://github.com/apache/cordova-android/commit/0baa901d">0baa901d</a>]</li>
+ <li>chore(deps): bump @xmldom/xmldom from 0.8.12 to 0.8.13 (<a
href="https://github.com/apache/cordova-android/pull/1918">#1918</a>) [<a
href="https://github.com/apache/cordova-android/commit/0d6fdd17">0d6fdd17</a>]</li>
+ <li>chore(deps): bump lodash from 4.17.23 to 4.18.1 (<a
href="https://github.com/apache/cordova-android/pull/1914">#1914</a>) [<a
href="https://github.com/apache/cordova-android/commit/7b33c5dd">7b33c5dd</a>]</li>
+ <li>chore(deps): bump @xmldom/xmldom from 0.8.11 to 0.8.12 (<a
href="https://github.com/apache/cordova-android/pull/1911">#1911</a>) [<a
href="https://github.com/apache/cordova-android/commit/c44a4627">c44a4627</a>]</li>
+ <li>chore(deps): bump picomatch (<a
href="https://github.com/apache/cordova-android/pull/1908">#1908</a>) [<a
href="https://github.com/apache/cordova-android/commit/2868f93a">2868f93a</a>]</li>
+ <li>chore(deps): bump minimatch (<a
href="https://github.com/apache/cordova-android/pull/1898">#1898</a>) [<a
href="https://github.com/apache/cordova-android/commit/31f3d57c">31f3d57c</a>]</li>
+ <li>chore(gh-action): improve draft-release workflow (<a
href="https://github.com/apache/cordova-android/pull/1906">#1906</a>) [<a
href="https://github.com/apache/cordova-android/commit/340eade2">340eade2</a>]</li>
+ <li>chore(INFRA): Set up default protection ruleset for default and release
branches (<a
href="https://github.com/apache/cordova-android/pull/1927">#1927</a>) [<a
href="https://github.com/apache/cordova-android/commit/f490531d">f490531d</a>]</li>
+ <li>chore(post-release): bump v15.0.1-dev.0 (<a
href="https://github.com/apache/cordova-android/pull/1899">#1899</a>) [<a
href="https://github.com/apache/cordova-android/commit/c02d1b03">c02d1b03</a>]</li>
+ <li>doc: improve documentation of <code>onRequestPermissionResult</code> and
<code>onRequestPermissionsResult</code> (<a
href="https://github.com/apache/cordova-android/pull/1920">#1920</a>) [<a
href="https://github.com/apache/cordova-android/commit/1d01ea1f">1d01ea1f</a>]</li>
+ <li>doc(CordovaPreferences): Improve documentation for using Long.decode
instead of Integer.decode (<a
href="https://github.com/apache/cordova-android/pull/1943">#1943</a>) [<a
href="https://github.com/apache/cordova-android/commit/661fadd0">661fadd0</a>]</li>
+ <li>doc(statusbar.js): document <code>visible</code> property and
<code>setBackgroundColor</code> method (<a
href="https://github.com/apache/cordova-android/pull/1961">#1961</a>) [<a
href="https://github.com/apache/cordova-android/commit/50ee09e4">50ee09e4</a>]</li>
+ <li>refactor: address warnings in SystemWebChromeClient.java (<a
href="https://github.com/apache/cordova-android/pull/1951">#1951</a>) [<a
href="https://github.com/apache/cordova-android/commit/80491e9a">80491e9a</a>]</li>
+</ul>
+
+ </div>
+ </section>
+ <footer>
+ <div class="row">
+ <div class="col-sm-6">
+
+ <a
href="/announcements/2026/07/07/cordova-ios-8.1.1.html">Previous</a>
+ <br>
+ <br>
+ <a class="title"
href="/announcements/2026/07/07/cordova-ios-8.1.1.html">Cordova iOS 8.1.1
Released!</a>
+ <div class="date"> 07 Jul 2026 - By Bryan Ellis </div>
+ <p class="content">
+ We are happy to announce that we have just released
Cordova iOS...
+ </p>
+
+ </div>
+ <div class="col-sm-6">
+
+ </div>
+ </div>
+ </footer>
+</div>
+
+</div>
+
+</div>
+
+<div class="blue-divider"></div>
+<footer>
+ <div class="container">
+ <div class="row">
+ <div class="col-sm-9">
+ <h1>More Resources</h1>
+ <div class="row">
+ <div class="col-sm-4">
+ <h2>General</h2>
+ <ul class="nav">
+ <li>
+ <a target="_blank"
href="https://projects.apache.org/project.html?cordova">Apache Project Page</a>
+ </li>
+ <li>
+ <a href="/downloads">Downloads</a>
+ </li>
+ <li>
+ <a target="_blank"
href="https://www.apache.org/licenses">License</a>
+ </li>
+ <li>
+ <a href="/artwork">Artwork</a>
+ </li>
+ </ul>
+ </div>
+ <div class="col-sm-4">
+ <h2>Development</h2>
+ <ul class="nav">
+ <li><a target="_blank"
href="https://github.com/apache?utf8=%E2%9C%93&q=cordova-">Source
Code</a></li>
+ <li><a target="_blank"
href="https://github.com/apache/cordova#filing-a-bug">Issue Tracker</a></li>
+ <li><a target="_blank"
href="https://stackoverflow.com/questions/tagged/cordova">Stack
Overflow</a></li>
+ <li><a href="/contact">Mailing List</a></li>
+ <li><a href="/contribute/nightly_builds.html">Nightly
builds</a></li>
+ </ul>
+ </div>
+ <div class="col-sm-4">
+ <h2>Apache Software Foundation</h2>
+ <ul class="nav">
+ <li>
+ <a target="_blank"
href="https://www.apache.org/">About ASF</a>
+ </li>
+ <li>
+ <a target="_blank"
href="https://www.apache.org/events/current-event">Events</a>
+ </li>
+ <li>
+ <a target="_blank"
href="https://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a>
+ </li>
+ <li>
+ <a target="_blank"
href="https://www.apache.org/foundation/thanks.html">Thanks</a>
+ </li>
+ <li>
+ <a target="_blank"
href="https://www.apache.org/security/">Security</a>
+ </li>
+ <li>
+ <a target="_blank"
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy
policy</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="col-sm-3">
+ <h1>Contribute</h1>
+ <p style="padding-top:20px"><strong>Help Cordova move
forward!</strong></p>
+ <p>Report bugs, improve the docs, or contribute to the code.</p>
+ <a href="/contribute" class="btn btn-lg btn-primary">
+ Learn More
+ </a>
+ <p style="padding-top:20px"> <a
href="https://twitter.com/apachecordova" class="twitter-follow-button"
data-show-count="false">Follow @apachecordova</a></p>
+ </div>
+</div>
+<p class="copyright_text">
+ Copyright © 2026 <a href="https://apache.org">The Apache Software
Foundation</a>, Licensed under the <a target="_blank"
href="https://www.apache.org/licenses/">Apache License, Version 2.0</a>.<br/>
+ Apache and the Apache feather logos are <a target="_blank"
href="https://www.apache.org/foundation/marks/list/">trademarks</a> of The
Apache Software Foundation.
+ <br/>
+ <p>See the <a href="/attributions/">attributions page</a> for other
copyright & trademark notices.</p>
+</p>
+
+ </div>
+</footer>
+
+
+ <script defer type="text/javascript" src="/static/js/index.js"></script>
+ <script defer type="text/javascript" src="/static/js/twitter.js"></script>
+</body>
+</html>
diff --git a/blog/index.html b/blog/index.html
index 949be4f2f9..7410250b1a 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -121,6 +121,131 @@
</h1>
<ul class="posts">
+ <li>
+ <header>
+ <div class="adorner" blogTime="Wed, 22 Jul 2026 00:00:00
+0000"></div>
+
+
+ <h2 class="title">
+ <a
href="/announcements/2026/07/22/cordova-android-15.1.0.html">Cordova Android
15.1.0 Released!</a>
+ </h2>
+ <div class="details">
+ <span class="date">22 Jul 2026</span>
+ - by
+ <span class="author">
+
+ Bryan Ellis
+
+ </span>
+ </div>
+
+
+ </header>
+ <section class="post-excerpt">
+ <p><p>We are happy to announce that we have just released
<code>Cordova Android 15.1.0</code>! This is one of Cordova's supported
platforms for building Android applications.</p>
+
+<ul>
+ <li><a
href="https://www.npmjs.com/package/cordova-android">[email protected]</a></li>
+</ul>
+
+<p><strong>To upgrade:</strong></p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>cordova platform remove android
+cordova platform add [email protected]
+</code></pre></div></div>
+
+<p><strong>To install:</strong></p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>cordova platform add [email protected]
+</code></pre></div></div>
+
+<h2>Release Highlights</h2>
+
+<h3>Features</h3>
+
+<ul>
+ <li>
+ <p><strong>Deprecation of <code>PermissionHelper</code></strong></p>
+
+ <p>The <code>PermissionHelper</code> class has been deprecated.</p>
+
+ <p>Plugin developers that relied on the <code>PermissionHelper</code>
class should migrate their plugins to use the permission APIs available through
the <code>CordovaInterface</code> of the <code>CordovaPlugin</code>.</p>
+
+ <p><strong>Before:</strong></p>
+
+ <div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> <span class="c1">// Requesting a Permission</span>
+ <span class="nc">PermissionHelper</span><span class="o">.</span><span
class="na">requestPermission</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="n">requestCode</span><span class="o">,</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span><span class="o">);</span>
+
+ <span class="c1">// Requesting a Collection of Permissions</span>
+ <span class="nc">PermissionHelper</span><span class="o">.</span><span
class="na">requestPermissions</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="n">requestCode</span><span class="o">,</span> <span class="k">new</span>
<span class="nc">String</span><span class="o">[]{</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span> <span cla [...]
+
+ <span class="c1">// Checking if the App has a Permission</span>
+ <span class="nc">PermissionHelper</span><span class="o">.</span><span
class="na">hasPermission</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span><span class="o">);</span>
+</code></pre></div> </div>
+
+ <p><strong>After:</strong></p>
+
+ <div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> <span class="c1">// Requesting a Permission</span>
+ <span class="n">cordova</span><span class="o">.</span><span
class="na">requestPermission</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="n">requestCode</span><span class="o">,</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span><span class="o">);</span>
+
+ <span class="c1">// Requesting a Collection of Permissions</span>
+ <span class="n">cordova</span><span class="o">.</span><span
class="na">requestPermissions</span><span class="o">(</span><span
class="k">this</span><span class="o">,</span> <span
class="n">requestCode</span><span class="o">,</span> <span class="k">new</span>
<span class="nc">String</span><span class="o">[]{</span> <span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span> <span class="o">});</span>
+
+ <span class="c1">// Checking if the App has a Permission</span>
+ <span class="n">cordova</span><span class="o">.</span><span
class="na">hasPermission</span><span class="o">(</span><span
class="nc">Manifest</span><span class="o">.</span><span
class="na">permission</span><span class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span><span class="o">);</span>
+</code></pre></div> </div>
+ </li>
+ <li>
+ <p><strong>Calling of
<code>CordovaPlugin.onRequestPermissionsResult</code></strong></p>
+
+ <p>Updated <code>CordovaInterfaceImpl.onRequestPermissionsResult</code> to
call the new <code>CordovaPlugin.onRequestPermissionsResult</code> method in
addition to the exisiting
<code>CordovaPlugin.onRequestPermissionResult</code>.</p>
+ </li>
+</ul>
+
+<h3>Fixes</h3>
+
+<ul>
+ <li>
+ <p><strong>Keyboard Layout and Page Scrolling when Input Fields Receive
Focus</strong></p>
+
+ <p>Fixes a UI layout and scrolling bug, that was introduced in
<code>[email protected]</code>, where focusing on an input field while the
soft keyboard was open could cause the WebView to shift upwards, leaving an
unrendered space at the bottom of the Activity, and prevent the page from
scrolling. This update restores the expected layout and scrolling behavior when
interacting with input fields.</p>
+ </li>
+ <li>
+ <p><strong>Handle Permissions for <code>getUserMedia</code></strong></p>
+
+ <p>Fixes <code>getUserMedia()</code> permission handling to correctly
check for and request the required native camera and microphone permissions
before proceeding. This aligns the WebView permission flow with the native
platform, improving compatibility and ensuring media requests behave as
expected.</p>
+ </li>
+ <li>
+ <p><strong>Back Button Handling After App Launch</strong></p>
+
+ <p>Fixes an issue where the back button would not respond immediately
after the app launched. Back button events are now handled consistently from
startup, including on devices that support the Android back gesture, ensuring
expected navigation behavior throughout the app.</p>
+ </li>
+ <li>
+ <p><strong>Properly Handle CSS Color with Alpha</strong></p>
+
+ <p>Fixes an issue where <code>window.statusbar.setBackgroundColor()</code>
incorrectly interpreted 8-digit hexadecimal CSS color values, which could
result in the wrong status bar color being applied.</p>
+ </li>
+ <li>
+ <p><strong>Status Bar Appearance Styling for Edge-to-Edge</strong></p>
+
+ <p>When Edge-to-Edge was enabled, apps could not adjust the status bar
text and icon appearance, which could make them difficult to see against
certain backgrounds.</p>
+
+ <p>This release exposes the exisiting
<code>window.statusbar.setBackgroundColor()</code> JS API for Edge-to-Edge
layouts. Although the API is used to set the status bar background color, it
also determines the appropriate status bar text and icon appearance, allowing
apps to maintain proper contrast. In Edge-to-Edge layouts, the background color
itself is not applied as there is no status bar, but the calculated appearance
is still applied.</p>
+ </li>
+ <li>
+ <p><strong>Fix Status Bar Background Color Handling for Opaque
White</strong></p>
+
+ <p>Fixes an issue where the valid color <code>#FFFFFFFF</code> was
incorrectly treated as an invalid status bar color, preventing fully opaque
white from being applied. This restores support for all valid status bar
background colors.</p>
+ </li>
+</ul>
+
+</p>
+ <div><a
href="/announcements/2026/07/22/cordova-android-15.1.0.html">More...</a></div>
+
+
+ </section>
+ </li>
+
<li>
<header>
<div class="adorner" blogTime="Tue, 07 Jul 2026 00:00:00
+0000"></div>
@@ -17517,7 +17642,7 @@ just around the corner (July 19, 2013), and we are
really excited about it!</p>
<script>
window.onload = function(){
setTimeout(function(){
- var lastPostTime = new Date("Tue, 07 Jul 2026 00:00:00
+0000").getTime();
+ var lastPostTime = new Date("Wed, 22 Jul 2026 00:00:00
+0000").getTime();
setCookie("visitTime", lastPostTime, 365);
}, 2000);
};
diff --git a/downloads/index.html b/downloads/index.html
index 30d65812f7..0d36d0a613 100644
--- a/downloads/index.html
+++ b/downloads/index.html
@@ -421,7 +421,7 @@
<section class="release-card">
<header class="release-header">
- <h2>[email protected]</h2>
+ <h2>[email protected]</h2>
</header>
<ul class="download-list">
@@ -430,14 +430,14 @@
<li class="download-row">
<span class="download-name">
- <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.0.0.tar.gz">
+ <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.1.0.tar.gz">
source (tar.gz)
</a>
</span>
<span class="download-actions">
- <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.0.0.tar.gz.asc">ASC</a>
- <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.0.0.tar.gz.sha512">SHA512</a>
+ <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.1.0.tar.gz.asc">ASC</a>
+ <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.1.0.tar.gz.sha512">SHA512</a>
</span>
</li>
@@ -445,14 +445,14 @@
<li class="download-row">
<span class="download-name">
- <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.0.0.zip">
+ <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.1.0.zip">
source (zip)
</a>
</span>
<span class="download-actions">
- <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.0.0.zip.asc">ASC</a>
- <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.0.0.zip.sha512">SHA512</a>
+ <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.1.0.zip.asc">ASC</a>
+ <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-source-15.1.0.zip.sha512">SHA512</a>
</span>
</li>
@@ -460,14 +460,14 @@
<li class="download-row">
<span class="download-name">
- <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-npm-15.0.0.tgz">
+ <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-npm-15.1.0.tgz">
npm (tgz)
</a>
</span>
<span class="download-actions">
- <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-npm-15.0.0.tgz.asc">ASC</a>
- <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-npm-15.0.0.tgz.sha512">SHA512</a>
+ <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-npm-15.1.0.tgz.asc">ASC</a>
+ <a
href="https://dlcdn.apache.org/cordova/platforms/cordova-android-npm-15.1.0.tgz.sha512">SHA512</a>
</span>
</li>
diff --git a/feed.xml b/feed.xml
index 1172533f02..7e4208f0a0 100644
--- a/feed.xml
+++ b/feed.xml
@@ -6,10 +6,193 @@
</description>
<link>https://cordova.apache.org/</link>
<atom:link href="https://cordova.apache.org/feed.xml" rel="self"
type="application/rss+xml"/>
- <pubDate>Wed, 22 Jul 2026 02:53:51 +0000</pubDate>
- <lastBuildDate>Wed, 22 Jul 2026 02:53:51 +0000</lastBuildDate>
+ <pubDate>Wed, 22 Jul 2026 07:22:09 +0000</pubDate>
+ <lastBuildDate>Wed, 22 Jul 2026 07:22:09 +0000</lastBuildDate>
<generator>Jekyll v4.4.1</generator>
+ <item>
+ <title>Cordova Android 15.1.0 Released!</title>
+ <description><p>We are happy to announce that we have just
released <code>Cordova Android 15.1.0</code>! This is one of
Cordova&#39;s supported platforms for building Android
applications.</p>
+
+<ul>
+ <li><a
href="https://www.npmjs.com/package/cordova-android">[email protected]</a></li>
+</ul>
+
+<p><strong>To upgrade:</strong></p>
+
+<div class="language-bash highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>cordova platform remove android
+cordova platform add [email protected]
+</code></pre></div></div>
+
+<p><strong>To install:</strong></p>
+
+<div class="language-bash highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>cordova platform add [email protected]
+</code></pre></div></div>
+
+<h2>Release Highlights</h2>
+
+<h3>Features</h3>
+
+<ul>
+ <li>
+ <p><strong>Deprecation of
<code>PermissionHelper</code></strong></p>
+
+ <p>The <code>PermissionHelper</code> class has been
deprecated.</p>
+
+ <p>Plugin developers that relied on the
<code>PermissionHelper</code> class should migrate their plugins to
use the permission APIs available through the
<code>CordovaInterface</code> of the
<code>CordovaPlugin</code>.</p>
+
+ <p><strong>Before:</strong></p>
+
+ <div class="language-java highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code> <span
class="c1">// Requesting a Permission</span>
+ <span class="nc">PermissionHelper</span><span
class="o">.</span><span
class="na">requestPermission</span><span
class="o">(</span><span
class="k">this</span><span
class="o">,</span> <span
class="n">requestCode</span><span
class="o">,</span> <span
class="nc">Manifest</span><span class=" [...]
+
+ <span class="c1">// Requesting a Collection of
Permissions</span>
+ <span class="nc">PermissionHelper</span><span
class="o">.</span><span
class="na">requestPermissions</span><span
class="o">(</span><span
class="k">this</span><span
class="o">,</span> <span
class="n">requestCode</span><span
class="o">,</span> <span
class="k">new</span> <span class="nc& [...]
+
+ <span class="c1">// Checking if the App has a
Permission</span>
+ <span class="nc">PermissionHelper</span><span
class="o">.</span><span
class="na">hasPermission</span><span
class="o">(</span><span
class="k">this</span><span
class="o">,</span> <span
class="nc">Manifest</span><span
class="o">.</span><span
class="na">permission</span><span class="o&qu [...]
+</code></pre></div> </div>
+
+ <p><strong>After:</strong></p>
+
+ <div class="language-java highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code> <span
class="c1">// Requesting a Permission</span>
+ <span class="n">cordova</span><span
class="o">.</span><span
class="na">requestPermission</span><span
class="o">(</span><span
class="k">this</span><span
class="o">,</span> <span
class="n">requestCode</span><span
class="o">,</span> <span
class="nc">Manifest</span><span class="o"&g
[...]
+
+ <span class="c1">// Requesting a Collection of
Permissions</span>
+ <span class="n">cordova</span><span
class="o">.</span><span
class="na">requestPermissions</span><span
class="o">(</span><span
class="k">this</span><span
class="o">,</span> <span
class="n">requestCode</span><span
class="o">,</span> <span
class="k">new</span> <span class="nc">S [...]
+
+ <span class="c1">// Checking if the App has a
Permission</span>
+ <span class="n">cordova</span><span
class="o">.</span><span
class="na">hasPermission</span><span
class="o">(</span><span
class="nc">Manifest</span><span
class="o">.</span><span
class="na">permission</span><span
class="o">.</span><span
class="na">READ_MEDIA_IMAGES</span><span class="o
[...]
+</code></pre></div> </div>
+ </li>
+ <li>
+ <p><strong>Calling of
<code>CordovaPlugin.onRequestPermissionsResult</code></strong></p>
+
+ <p>Updated
<code>CordovaInterfaceImpl.onRequestPermissionsResult</code> to
call the new <code>CordovaPlugin.onRequestPermissionsResult</code>
method in addition to the exisiting
<code>CordovaPlugin.onRequestPermissionResult</code>.</p>
+ </li>
+</ul>
+
+<h3>Fixes</h3>
+
+<ul>
+ <li>
+ <p><strong>Keyboard Layout and Page Scrolling when Input
Fields Receive Focus</strong></p>
+
+ <p>Fixes a UI layout and scrolling bug, that was introduced in
<code>[email protected]</code>, where focusing on an input
field while the soft keyboard was open could cause the WebView to shift
upwards, leaving an unrendered space at the bottom of the Activity, and prevent
the page from scrolling. This update restores the expected layout and scrolling
behavior when interacting with input fields.</p>
+ </li>
+ <li>
+ <p><strong>Handle Permissions for
<code>getUserMedia</code></strong></p>
+
+ <p>Fixes <code>getUserMedia()</code> permission handling
to correctly check for and request the required native camera and microphone
permissions before proceeding. This aligns the WebView permission flow with the
native platform, improving compatibility and ensuring media requests behave as
expected.</p>
+ </li>
+ <li>
+ <p><strong>Back Button Handling After App
Launch</strong></p>
+
+ <p>Fixes an issue where the back button would not respond
immediately after the app launched. Back button events are now handled
consistently from startup, including on devices that support the Android back
gesture, ensuring expected navigation behavior throughout the app.</p>
+ </li>
+ <li>
+ <p><strong>Properly Handle CSS Color with
Alpha</strong></p>
+
+ <p>Fixes an issue where
<code>window.statusbar.setBackgroundColor()</code> incorrectly
interpreted 8-digit hexadecimal CSS color values, which could result in the
wrong status bar color being applied.</p>
+ </li>
+ <li>
+ <p><strong>Status Bar Appearance Styling for
Edge-to-Edge</strong></p>
+
+ <p>When Edge-to-Edge was enabled, apps could not adjust the status
bar text and icon appearance, which could make them difficult to see against
certain backgrounds.</p>
+
+ <p>This release exposes the exisiting
<code>window.statusbar.setBackgroundColor()</code> JS API for
Edge-to-Edge layouts. Although the API is used to set the status bar background
color, it also determines the appropriate status bar text and icon appearance,
allowing apps to maintain proper contrast. In Edge-to-Edge layouts, the
background color itself is not applied as there is no status bar, but the
calculated appearance is still applied.</p>
+ </li>
+ <li>
+ <p><strong>Fix Status Bar Background Color Handling for Opaque
White</strong></p>
+
+ <p>Fixes an issue where the valid color
<code>#FFFFFFFF</code> was incorrectly treated as an invalid status
bar color, preventing fully opaque white from being applied. This restores
support for all valid status bar background colors.</p>
+ </li>
+</ul>
+
+<!--more-->
+<h1>Changes include:</h1>
+
+<p><strong>Features:</strong></p>
+
+<ul>
+ <li>feat: call new method
<code>CordovaPlugin.onRequestPermissionsResult</code> (<a
href="https://github.com/apache/cordova-android/pull/1855">#1855</a>)
[<a
href="https://github.com/apache/cordova-android/commit/b66f0f33">b66f0f33</a>]</li>
+ <li>feat: deprecate <code>PermissionHelper</code> (<a
href="https://github.com/apache/cordova-android/pull/1857">#1857</a>)
[<a
href="https://github.com/apache/cordova-android/commit/8c839764">8c839764</a>]</li>
+ <li>feat: remove unused private Method
<code>PermissionHelper.deliverPermissionResult</code> (<a
href="https://github.com/apache/cordova-android/pull/1858">#1858</a>)
[<a
href="https://github.com/apache/cordova-android/commit/9c3d8268">9c3d8268</a>]</li>
+</ul>
+
+<p><strong>Fixes:</strong></p>
+
+<ul>
+ <li>fix: webview loses scrollability and creates empty bottom space
(<a
href="https://github.com/apache/cordova-android/pull/1924">#1924</a>)
[<a
href="https://github.com/apache/cordova-android/commit/b91144c0">b91144c0</a>]</li>
+ <li>fix: handle permissions for getUserMedia (<a
href="https://github.com/apache/cordova-android/pull/1895">#1895</a>)
[<a
href="https://github.com/apache/cordova-android/commit/24502178">24502178</a>]</li>
+ <li>fix: overwritten backbutton not firing on first time by hardware
button and never on back gesture (<a
href="https://github.com/apache/cordova-android/pull/1910">#1910</a>)
[<a
href="https://github.com/apache/cordova-android/commit/0bfbc20b">0bfbc20b</a>]</li>
+ <li>fix(android): use AndroidX
<code>OnBackPressedCallback</code> instead of
<code>OnBackInvokedCallback</code> (<a
href="https://github.com/apache/cordova-android/pull/1903">#1903</a>)
[<a
href="https://github.com/apache/cordova-android/commit/9064bc07">9064bc07</a>]</li>
+ <li>fix(gradle-9): unable to resolve class XmlParser for Groovy 4.x
(<a
href="https://github.com/apache/cordova-android/pull/1896">#1896</a>)
[<a
href="https://github.com/apache/cordova-android/commit/9ae489bd">9ae489bd</a>]</li>
+ <li>fix(statusbar.js): remove trailing whitespace in comment for lint
(<a
href="https://github.com/apache/cordova-android/pull/1970">#1970</a>)
[<a
href="https://github.com/apache/cordova-android/commit/cdbeb603">cdbeb603</a>]</li>
+ <li>fix(statusbar): Properly handle CSS colours (<a
href="https://github.com/apache/cordova-android/pull/1955">#1955</a>)
[<a
href="https://github.com/apache/cordova-android/commit/dd3fd357">dd3fd357</a>]</li>
+ <li>fix(SystemBarPlugin): remove
<code>canEdgeToEdge</code> check for
<code>execute</code> method (<a
href="https://github.com/apache/cordova-android/pull/1971">#1971</a>)
[<a
href="https://github.com/apache/cordova-android/commit/61ebdcde">61ebdcde</a>]</li>
+ <li>fix(SystemBarPlugin): remove sentinel value
<code>INVALID_COLOR</code>, use <code>null</code>
instead (<a
href="https://github.com/apache/cordova-android/pull/1939">#1939</a>)
[<a
href="https://github.com/apache/cordova-android/commit/f4ecf997">f4ecf997</a>]</li>
+</ul>
+
+<p><strong>Others</strong></p>
+
+<ul>
+ <li>chore: cleanup PermissionHelper (<a
href="https://github.com/apache/cordova-android/pull/1925">#1925</a>)
[<a
href="https://github.com/apache/cordova-android/commit/7dd7f504">7dd7f504</a>]</li>
+ <li>chore: bump package 15.1.0-dev.0 &amp; update package-lock
(<a
href="https://github.com/apache/cordova-android/pull/1964">#1964</a>)
[<a
href="https://github.com/apache/cordova-android/commit/929f2054">929f2054</a>]</li>
+ <li>chore: remove redundant Hello World template files (<a
href="https://github.com/apache/cordova-android/pull/1926">#1926</a>)
[<a
href="https://github.com/apache/cordova-android/commit/56e263fe">56e263fe</a>]</li>
+ <li>chore: simplify edge-to-edge preference logic in CordovaActivity
and SystemBarPlugin (<a
href="https://github.com/apache/cordova-android/pull/1902">#1902</a>)
[<a
href="https://github.com/apache/cordova-android/commit/190076ba">190076ba</a>]</li>
+ <li>chore: ignore gradle build artificat
<code>problems-report.html</code> (<a
href="https://github.com/apache/cordova-android/pull/1912">#1912</a>)
[<a
href="https://github.com/apache/cordova-android/commit/b1705d83">b1705d83</a>]</li>
+ <li>chore: more license header updates (<a
href="https://github.com/apache/cordova-android/pull/1909">#1909</a>)
[<a
href="https://github.com/apache/cordova-android/commit/1f70d396">1f70d396</a>]</li>
+ <li>chore: update package-lock (<a
href="https://github.com/apache/cordova-android/pull/1905">#1905</a>)
[<a
href="https://github.com/apache/cordova-android/commit/af56a003">af56a003</a>]</li>
+ <li>chore(ci): update &amp; clean workflow (<a
href="https://github.com/apache/cordova-android/pull/1966">#1966</a>)
[<a
href="https://github.com/apache/cordova-android/commit/654b03a3">654b03a3</a>]</li>
+ <li>chore(ci): improve workflows &amp; dependabot (<a
href="https://github.com/apache/cordova-android/pull/1928">#1928</a>)
[<a
href="https://github.com/apache/cordova-android/commit/08c4fd1e">08c4fd1e</a>]</li>
+ <li>chore(deps-dev): bump js-yaml from 4.1.1 to 4.2.0 (<a
href="https://github.com/apache/cordova-android/pull/1960">#1960</a>)
[<a
href="https://github.com/apache/cordova-android/commit/ebccedf6">ebccedf6</a>]</li>
+ <li>chore(deps-dev): bump tmp from 0.2.6 to 0.2.7 (<a
href="https://github.com/apache/cordova-android/pull/1956">#1956</a>)
[<a
href="https://github.com/apache/cordova-android/commit/d90eeecb">d90eeecb</a>]</li>
+ <li>chore(deps-dev): bump tmp from 0.2.5 to 0.2.6 (<a
href="https://github.com/apache/cordova-android/pull/1945">#1945</a>)
[<a
href="https://github.com/apache/cordova-android/commit/a63c1e18">a63c1e18</a>]</li>
+ <li>chore(deps-dev): bump c8 from 10.1.3 to 11.0.0 (<a
href="https://github.com/apache/cordova-android/pull/1941">#1941</a>)
[<a
href="https://github.com/apache/cordova-android/commit/74fbbdce">74fbbdce</a>]</li>
+ <li>chore(deps-dev): bump jasmine from 6.1.0 to 6.2.0 (<a
href="https://github.com/apache/cordova-android/pull/1932">#1932</a>)
[<a
href="https://github.com/apache/cordova-android/commit/90b4b057">90b4b057</a>]</li>
+ <li>chore(deps): bump github/codeql-action/analyze from 4.36.3 to
4.37.0 (<a
href="https://github.com/apache/cordova-android/pull/1973">#1973</a>)
[<a
href="https://github.com/apache/cordova-android/commit/80658ea4">80658ea4</a>]</li>
+ <li>chore(deps): bump github/codeql-action/init from 4.36.3 to 4.37.0
(<a
href="https://github.com/apache/cordova-android/pull/1972">#1972</a>)
[<a
href="https://github.com/apache/cordova-android/commit/89771e64">89771e64</a>]</li>
+ <li>chore(deps): bump actions/setup-java from 5.4.0 to 5.5.0 (<a
href="https://github.com/apache/cordova-android/pull/1974">#1974</a>)
[<a
href="https://github.com/apache/cordova-android/commit/065a99d8">065a99d8</a>]</li>
+ <li>chore(deps): bump github/codeql-action/analyze from 4.36.2 to
4.36.3 (<a
href="https://github.com/apache/cordova-android/pull/1969">#1969</a>)
[<a
href="https://github.com/apache/cordova-android/commit/d830222e">d830222e</a>]</li>
+ <li>chore(deps): bump github/codeql-action/init from 4.36.2 to 4.36.3
(<a
href="https://github.com/apache/cordova-android/pull/1968">#1968</a>)
[<a
href="https://github.com/apache/cordova-android/commit/1e2f0ca6">1e2f0ca6</a>]</li>
+ <li>chore(deps): bump codecov/codecov-action from 4.6.0 to 7.0.0
(<a
href="https://github.com/apache/cordova-android/pull/1954">#1954</a>)
[<a
href="https://github.com/apache/cordova-android/commit/acbc5b48">acbc5b48</a>]</li>
+ <li>chore(deps): bump actions/setup-java from 5.3.0 to 5.4.0 (<a
href="https://github.com/apache/cordova-android/pull/1965">#1965</a>)
[<a
href="https://github.com/apache/cordova-android/commit/cb52fb8d">cb52fb8d</a>]</li>
+ <li>chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (<a
href="https://github.com/apache/cordova-android/pull/1959">#1959</a>)
[<a
href="https://github.com/apache/cordova-android/commit/79771499">79771499</a>]</li>
+ <li>chore(deps): bump actions/setup-java from 5.2.0 to 5.3.0 (<a
href="https://github.com/apache/cordova-android/pull/1958">#1958</a>)
[<a
href="https://github.com/apache/cordova-android/commit/e53dc373">e53dc373</a>]</li>
+ <li>chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (<a
href="https://github.com/apache/cordova-android/pull/1952">#1952</a>)
[<a
href="https://github.com/apache/cordova-android/commit/703ebeae">703ebeae</a>]</li>
+ <li>chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2
(<a
href="https://github.com/apache/cordova-android/pull/1953">#1953</a>)
[<a
href="https://github.com/apache/cordova-android/commit/363a9a77">363a9a77</a>]</li>
+ <li>chore(deps): bump github/codeql-action from 4.35.5 to 4.36.0
(<a
href="https://github.com/apache/cordova-android/pull/1944">#1944</a>)
[<a
href="https://github.com/apache/cordova-android/commit/a1f75a3e">a1f75a3e</a>]</li>
+ <li>chore(deps): bump erisu/apache-rat-action from 2.0.0 to 3.0.0
(<a
href="https://github.com/apache/cordova-android/pull/1937">#1937</a>)
[<a
href="https://github.com/apache/cordova-android/commit/4ce731da">4ce731da</a>]</li>
+ <li>chore(deps): bump semver from 7.7.4 to 7.8.0 (<a
href="https://github.com/apache/cordova-android/pull/1934">#1934</a>)
[<a
href="https://github.com/apache/cordova-android/commit/c636f8bb">c636f8bb</a>]</li>
+ <li>chore(deps): bump erisu/license-checker-action from 2.0.1 to 2.1.0
(<a
href="https://github.com/apache/cordova-android/pull/1930">#1930</a>)
[<a
href="https://github.com/apache/cordova-android/commit/0baa901d">0baa901d</a>]</li>
+ <li>chore(deps): bump @xmldom/xmldom from 0.8.12 to 0.8.13 (<a
href="https://github.com/apache/cordova-android/pull/1918">#1918</a>)
[<a
href="https://github.com/apache/cordova-android/commit/0d6fdd17">0d6fdd17</a>]</li>
+ <li>chore(deps): bump lodash from 4.17.23 to 4.18.1 (<a
href="https://github.com/apache/cordova-android/pull/1914">#1914</a>)
[<a
href="https://github.com/apache/cordova-android/commit/7b33c5dd">7b33c5dd</a>]</li>
+ <li>chore(deps): bump @xmldom/xmldom from 0.8.11 to 0.8.12 (<a
href="https://github.com/apache/cordova-android/pull/1911">#1911</a>)
[<a
href="https://github.com/apache/cordova-android/commit/c44a4627">c44a4627</a>]</li>
+ <li>chore(deps): bump picomatch (<a
href="https://github.com/apache/cordova-android/pull/1908">#1908</a>)
[<a
href="https://github.com/apache/cordova-android/commit/2868f93a">2868f93a</a>]</li>
+ <li>chore(deps): bump minimatch (<a
href="https://github.com/apache/cordova-android/pull/1898">#1898</a>)
[<a
href="https://github.com/apache/cordova-android/commit/31f3d57c">31f3d57c</a>]</li>
+ <li>chore(gh-action): improve draft-release workflow (<a
href="https://github.com/apache/cordova-android/pull/1906">#1906</a>)
[<a
href="https://github.com/apache/cordova-android/commit/340eade2">340eade2</a>]</li>
+ <li>chore(INFRA): Set up default protection ruleset for default and
release branches (<a
href="https://github.com/apache/cordova-android/pull/1927">#1927</a>)
[<a
href="https://github.com/apache/cordova-android/commit/f490531d">f490531d</a>]</li>
+ <li>chore(post-release): bump v15.0.1-dev.0 (<a
href="https://github.com/apache/cordova-android/pull/1899">#1899</a>)
[<a
href="https://github.com/apache/cordova-android/commit/c02d1b03">c02d1b03</a>]</li>
+ <li>doc: improve documentation of
<code>onRequestPermissionResult</code> and
<code>onRequestPermissionsResult</code> (<a
href="https://github.com/apache/cordova-android/pull/1920">#1920</a>)
[<a
href="https://github.com/apache/cordova-android/commit/1d01ea1f">1d01ea1f</a>]</li>
+ <li>doc(CordovaPreferences): Improve documentation for using
Long.decode instead of Integer.decode (<a
href="https://github.com/apache/cordova-android/pull/1943">#1943</a>)
[<a
href="https://github.com/apache/cordova-android/commit/661fadd0">661fadd0</a>]</li>
+ <li>doc(statusbar.js): document <code>visible</code>
property and <code>setBackgroundColor</code> method (<a
href="https://github.com/apache/cordova-android/pull/1961">#1961</a>)
[<a
href="https://github.com/apache/cordova-android/commit/50ee09e4">50ee09e4</a>]</li>
+ <li>refactor: address warnings in SystemWebChromeClient.java (<a
href="https://github.com/apache/cordova-android/pull/1951">#1951</a>)
[<a
href="https://github.com/apache/cordova-android/commit/80491e9a">80491e9a</a>]</li>
+</ul>
+</description>
+ <pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate>
+
<link>https://cordova.apache.org/announcements/2026/07/22/cordova-android-15.1.0.html</link>
+ <guid
isPermaLink="true">https://cordova.apache.org/announcements/2026/07/22/cordova-android-15.1.0.html</guid>
+
+ <category>news</category>
+
+ <category>releases</category>
+
+
+ <category>announcements</category>
+
+ </item>
+
<item>
<title>Cordova iOS 8.1.1 Released!</title>
<description><p>We are happy to announce that we have just
released <code>Cordova iOS 8.1.1</code>! This is one of
Cordova&#39;s supported platforms for building iOS applications.</p>
@@ -1041,91 +1224,6 @@ This resolves numerous issues around CocoaPods,
multi-target projects, and Info.
<category>releases</category>
- <category>announcements</category>
-
- </item>
-
- <item>
- <title>Cordova Lib 13.0.0 Released!</title>
- <description><p>We are happy to announce that
<code>[email protected]</code> has been released. This is the main
library behind the Cordova CLI, handling project and build operations.</p>
-
-<ul>
- <li><a
href="https://www.npmjs.com/package/cordova-lib/v/13.0.0">[email protected]</a></li>
-</ul>
-
-<h2>Release Highlights</h2>
-
-<p>The most notable changes in this major release are:</p>
-
-<ul>
- <li>Updated the library&#39;s npm dependencies.</li>
- <li>Increased the Node.js engine requirement to
<code>&gt;=20.17.0 || &gt;=22.9.0</code>.</li>
- <li>Dropped support for the <code>cordova serve</code>
command.</li>
- <li>Dropped support for the <code>create plugin</code>
command.</li>
- <li>Added support for listing available emulators with the
<code>cordova emulate &lt;platform&gt; --list</code>
command.</li>
-</ul>
-
-<p>Please report any issues you find by following the <a
href="https://github.com/apache/cordova#filing-a-bug">How to File
a Bug</a> guide!</p>
-
-<!--more-->
-<h1>Changes include:</h1>
-
-<p><strong>Breaking Changes:</strong></p>
-
-<ul>
- <li><a
href="https://github.com/apache/cordova-lib/pull/964">GH-964</a>
chore(npm)!: bump <code>[email protected]</code></li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/961">GH-961</a>
chore!: update dependencies &amp; node requirement</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/957">GH-957</a>
feat!: remove <code>cordova serve</code> command</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/955">GH-955</a>
chore(npm)!: bump various packages</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/953">GH-953</a>
feat(plugman)!: remove <code>create plugin</code>
support</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/949">GH-949</a>
chore!: bump node requirement &amp; npm dependencies</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/958">GH-958</a>
chore!: remove deprecated platform data</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/959">GH-959</a>
chore!: remove unused templates</li>
-</ul>
-
-<p><strong>Features:</strong></p>
-
-<ul>
- <li><a
href="https://github.com/apache/cordova-lib/pull/952">GH-952</a>
feat: replace <code>dep-graph</code> dependency w/ custom
class</li>
-</ul>
-
-<p><strong>Fixes:</strong></p>
-
-<ul>
- <li><a
href="https://github.com/apache/cordova-lib/pull/944">GH-944</a>
fix(emulator): Support listing emulators with
<code>--list</code></li>
-</ul>
-
-<p><strong>Chores:</strong></p>
-
-<ul>
- <li><a
href="https://github.com/apache/cordova-lib/pull/963">GH-963</a>
chore: update <code>package-lock.json</code></li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/960">GH-960</a>
chore: various updates to the root files</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/956">GH-956</a>
chore(npm): bump
<code>@cordova/[email protected]</code></li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/946">GH-946</a>
chore(deps-dev): bump <code>brace-expansion</code> from 1.1.11 to
1.1.12</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/939">GH-939</a>
chore(deps): bump <code>path-to-regexp</code> and
express</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/937">GH-937</a>
chore(deps): bump <code>cross-spawn</code> from 7.0.3 to
7.0.6</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/938">GH-938</a>
chore(ci): Fix failing dependabot PRs</li>
-</ul>
-
-<p><strong>CI &amp; Others:</strong></p>
-
-<ul>
- <li><a
href="https://github.com/apache/cordova-lib/pull/954">GH-954</a>
ci: various workflow improvements</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/950">GH-950</a>
ci(workflow): update release-audit &amp; license config</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/945">GH-945</a>
ci: Add node 22 and 24 to CI testing matrix</li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/941">GH-941</a>
Keep final new line in <code>package.json</code></li>
- <li><a
href="https://github.com/apache/cordova-lib/pull/942">GH-942</a>
Persist relative paths on disk</li>
-</ul>
-</description>
- <pubDate>Wed, 05 Nov 2025 00:00:00 +0000</pubDate>
-
<link>https://cordova.apache.org/announcements/2025/11/05/cordova-lib-13.0.0.html</link>
- <guid
isPermaLink="true">https://cordova.apache.org/announcements/2025/11/05/cordova-lib-13.0.0.html</guid>
-
- <category>news</category>
-
- <category>releases</category>
-
-
<category>announcements</category>
</item>
diff --git a/sitemap.xml b/sitemap.xml
index e924efd6ad..21ddde3b19 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -3,6 +3,11 @@
<!-- posts -->
+<url>
+
<loc>https://cordova.apache.org/announcements/2026/07/22/cordova-android-15.1.0.html</loc>
+</url>
+
+
<url>
<loc>https://cordova.apache.org/announcements/2026/07/07/cordova-ios-8.1.1.html</loc>
</url>
diff --git a/static/js/index.js b/static/js/index.js
index 29472f4936..2617c25855 100644
--- a/static/js/index.js
+++ b/static/js/index.js
@@ -47,6 +47,7 @@ function checkNotification() {
var dates = [];
if (lastVisit != "") {
+ dates.push('Wed, 22 Jul 2026 00:00:00 +0000');
dates.push('Tue, 07 Jul 2026 00:00:00 +0000');
dates.push('Tue, 16 Jun 2026 00:00:00 +0000');
dates.push('Sun, 07 Jun 2026 00:00:00 +0000');
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]