diff --git a/_data/images.yml b/_data/images.yml
index 86e06eff..d50a1562 100644
--- a/_data/images.yml
+++ b/_data/images.yml
@@ -90,4 +90,12 @@ froscon:
type: jpg
size: 500
author: Stypox
- attributeAuthor: false
\ No newline at end of file
+ attributeAuthor: false
+
+altered_deal:
+ url: altered-deal.png
+ type: jpg
+ size: 500
+ author: marcprux
+ attributeAuthor: false
+
diff --git a/_includes/head.html b/_includes/head.html
index db6beead..94b590c3 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -123,4 +123,7 @@
+
+
+
{% if include.page == "False" %}{% else %}{% endif %}
diff --git a/_includes/release_data.html b/_includes/release_data.html
index 071cac85..163a4a4c 100644
--- a/_includes/release_data.html
+++ b/_includes/release_data.html
@@ -10,12 +10,12 @@
}}
{%- capture releaseChangelog -%}
- - [YouTube] Support more channel URL formats
- - [YouTube] Support more video metainfo formats
- - Fixed resuming streams at the last playback position
- - Updated translations
+ - Warning about ongoing google certification
+ - Fixed not stacking comment pages
+ - Fixed click through clicks though unavailable content screen
{%- endcapture -%}
{%- capture releasePostUrl -%}
+{{ site.baseurl }}/blog/pinned/announcement/keepAndroidOpen/
{%- endcapture -%}
diff --git a/_posts/2026-02-23-keepAndroidOpen.md b/_posts/2026-02-23-keepAndroidOpen.md
new file mode 100644
index 00000000..467ef675
--- /dev/null
+++ b/_posts/2026-02-23-keepAndroidOpen.md
@@ -0,0 +1,30 @@
+---
+layout: post
+title: "Google will lock-down Android in September 2026 and NewPipe 0.28.4 release"
+short: "Google will lock-down Android"
+date: 2026-02-23 21:00:00 + 01:00
+categories: [pinned, announcement]
+author:
@poolitzer
+image: altered_deal
+excerpt_separator:
+---
+
+As you have no doubt noticed, we have a banner with an ominous countdown now prominent on our website: Google will lock-down Android, and we need to raise awareness.
+
+Coinciding with this blog posts, we released a new update to NewPipe, where we introduced a pop up also notifying users there that they will need to take steps in order to keep using NewPipe.
+
+## About Google
+This is not a fun blog post to write, believe me. Androids future is dear to our heart, and we believe that one of its main aspects was its openness, clearly separating it from Apple's iOS as the better choice for every tinkerer and developer. For the past few years Google has continuously taken steps to remove this openness, and now it hit us. Google plans to force developers to become registered developers and submit their personal data during the registration process. By doing so, Google does no only collect data, but more importantly can decide who is allowed to create and publish apps for "registered" devices or not.
+
+We will not enroll in this privacy violating program and give up the anonymity of our developers. We do not want to be at the mercy of Google to allow our app to work. And you should not be content with this restriction either. Follow the steps outlined at [keepandroidopen.com](https://keepandroidopen.org/) and resist this further lock-down of your device.
+
+## Highlights of the new release
+Getting back to the fun part of having a new NewPipe version, we have on our hand, lets have a look at the highlights of this release. In order to improve the loading of the subscription feed, the order in which they are fetched is now randomized. That should also help against fingerprinting users. Comment pages which could be stacked infinitely via reopening videos from channels, not anymore. And in certain parts of the app, e.g. the _content unavailable_ screen, click throughs could happen through that screen in whatever lies underneath. This was done by [@jpds](https://github.com/), [@aivelon](https://github.com/aivelon) and [@dustdfg](https://github.com/dustdfg) respectively thank you very much.
+
+## Wanna Contribute?
+
+If you like the app enough to want to make it even better, or you noticed some glaring error that you can't help but want to fix, you can [read our contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md#bug-fixing) and do a Fix-It Felix.
+
+Or, if you're bilingual (or even multilingual), you could help [translate the app](https://hosted.weblate.org/engage/newpipe/).
+
+**Feature additions** to the old codebase have been put on hold for now. We're pretty swamped as it is, and are working to clear our large (and critical) backlog first. Our next priority is to finish the rewrite of the codebase. We are making progress - slowly, but steadily - and you can help out on that too (and learn modern Android development practices along the way).
diff --git a/css/style.css b/css/style.css
index 2b11b1be..075f3d03 100644
--- a/css/style.css
+++ b/css/style.css
@@ -745,4 +745,8 @@ div.fdroid-col-right .break-line {
.break-line {
word-wrap: anywhere;
line-break: anywhere;
-}
\ No newline at end of file
+}
+
+.kao-banner {
+ z-index: 2000;
+}
diff --git a/img/altered-deal.png b/img/altered-deal.png
new file mode 100644
index 00000000..76ae3543
Binary files /dev/null and b/img/altered-deal.png differ
diff --git a/js/keepAndroidOpenHelper.js b/js/keepAndroidOpenHelper.js
new file mode 100644
index 00000000..88f37ad4
--- /dev/null
+++ b/js/keepAndroidOpenHelper.js
@@ -0,0 +1,27 @@
+let kaoBanner, navbar;
+document.addEventListener('DOMContentLoaded', () => {
+ kaoBanner = document.getElementsByClassName('kao-banner');
+ navbar = document.getElementById('header');
+ if (kaoBanner.length === 0 || navbar === null || !navbar.classList.contains('navbar-fixed-top')) {
+ return;
+ }
+ kaoBanner = kaoBanner[0];
+ if (kaoBanner.style.display === 'none') {
+ return;
+ }
+ document.addEventListener('scroll', scrollSpy);
+
+ kaoBanner.getElementsByClassName('kao-banner-close')[0].addEventListener('click', () => {
+ document.removeEventListener('scroll', scrollSpy);
+ navbar.style.top = '0';
+ });
+ scrollSpy()
+
+})
+function scrollSpy() {
+ if (window.scrollY < kaoBanner.offsetHeight) {
+ navbar.style.top = kaoBanner.offsetHeight - window.scrollY + 'px';
+ } else {
+ navbar.style.top = '0';
+ }
+}
\ No newline at end of file