chore: release v0.7.1

This commit is contained in:
okhsunrog 2026-04-21 16:45:04 +03:00
parent 1da843c643
commit 7f22875e6b
15 changed files with 76 additions and 61 deletions

View file

@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## v0.7.1
### Added
- Expanded Russian app detection: Anixart, ePN Cashback, TNT Premier, Swoo (Кошелёк), Макси, Ростелеком Личный кабинет, Проверка чеков ФНС
### Changed
- Reduced APK size by ~93% (47 MB → 3.37 MB) by enabling R8 minification, resource shrinking, and replacing the com.google.android.material dependency with AndroidX SplashScreen; the splash screen now holds through startup until the Dashboard is ready, removing transient loading spinners on cold launch
- Show profile names (Work, Second Space, ...) next to apps installed in other user profiles, instead of raw user IDs
### Fixed
- Kmod install recommendation no longer falsely pushes users to Zygisk on custom kernels whose `uname -r` lacks the GKI KMI tag (e.g. `android12`, `android13`). The heuristic now matches only the parsed KMI — not the phone's Android OS release, which is an unrelated label — and falls back on kernel series when the KMI is missing: 6.1 / 6.6 / 6.12 each ship a single KMI variant and are still unambiguous; 5.10 and 5.15 each have two candidates, both of which the app now surfaces (primary + alternative), with a dedicated banner when the installed variant fails to load so the user knows to try the other. An active kmod — `/proc/vpnhide_targets` present — also overrides any remaining heuristic-driven warning.
- Polish multi-profile app list: the Show system filter now classifies apps installed only in a secondary profile correctly, and the user-ID suffix no longer appears on every row for users without a secondary profile
## v0.7.0
### Added

View file

@ -1 +1 @@
0.7.0
0.7.1

View file

@ -1,9 +0,0 @@
_2026-04-20_
## English
Expanded Russian app detection: Anixart, ePN Cashback, TNT Premier, Swoo (Кошелёк), Макси, Ростелеком Личный кабинет, Проверка чеков ФНС
## Русский
Расширено определение российских приложений: Anixart, ePN Cashback, ТНТ Premier, Swoo (Кошелёк), Макси, Ростелеком Личный кабинет, Проверка чеков ФНС

View file

@ -1,9 +0,0 @@
_2026-04-20_
## English
Reduced APK size by ~93% (47 MB → 3.37 MB) by enabling R8 minification, resource shrinking, and replacing the com.google.android.material dependency with AndroidX SplashScreen; the splash screen now holds through startup until the Dashboard is ready, removing transient loading spinners on cold launch
## Русский
Размер APK уменьшен на ~93% (47 МБ → 3.37 МБ) — включена минификация R8 и шринкинг ресурсов, зависимость com.google.android.material заменена на AndroidX SplashScreen; splash-экран теперь держится всю инициализацию до готовности Dashboard, промежуточные спиннеры при холодном запуске больше не мелькают

View file

@ -1,9 +0,0 @@
_2026-04-21_
## English
Show profile names (Work, Second Space, ...) next to apps installed in other user profiles, instead of raw user IDs
## Русский
Рядом с приложениями, установленными в других профилях, теперь отображается имя профиля (Work, Second Space, …) вместо числового ID

View file

@ -1,9 +0,0 @@
_2026-04-20_
## English
Kmod install recommendation no longer falsely pushes users to Zygisk on custom kernels whose `uname -r` lacks the GKI KMI tag (e.g. `android12`, `android13`). The heuristic now matches only the parsed KMI — not the phone's Android OS release, which is an unrelated label — and falls back on kernel series when the KMI is missing: 6.1 / 6.6 / 6.12 each ship a single KMI variant and are still unambiguous; 5.10 and 5.15 each have two candidates, both of which the app now surfaces (primary + alternative), with a dedicated banner when the installed variant fails to load so the user knows to try the other. An active kmod — `/proc/vpnhide_targets` present — also overrides any remaining heuristic-driven warning.
## Русский
Рекомендация установки модуля ядра больше не подталкивает ложно к Zygisk на кастомных ядрах, в `uname -r` которых нет GKI KMI-метки (`android12`, `android13` и т.д.). Эвристика теперь сопоставляет только распарсенный KMI — версия Android OS телефона к этому не относится — и при отсутствии KMI делает fallback по серии ядра: для 6.1, 6.6 и 6.12 существует по одному KMI-варианту, рекомендация однозначна; у 5.10 и 5.15 по два кандидата, приложение теперь показывает оба (основной + альтернативный) и отдельный баннер, когда установленный вариант не загрузился — чтобы было понятно, что нужно попробовать второй. Активный kmod (`/proc/vpnhide_targets` существует) также имеет приоритет над любыми эвристическими предупреждениями.

View file

@ -1,9 +0,0 @@
_2026-04-21_
## English
Polish multi-profile app list: the Show system filter now classifies apps installed only in a secondary profile correctly, and the user-ID suffix no longer appears on every row for users without a secondary profile
## Русский
Полировка мультипрофильного списка: фильтр System теперь корректно классифицирует приложения, установленные только во втором пространстве; суффикс user-ID больше не показывается в каждой строке у пользователей без второго пространства

View file

@ -1,6 +1,6 @@
id=vpnhide_kmod
name=VPN Hide (kernel)
version=v0.7.0
versionCode=700
version=v0.7.1
versionCode=701
author=okhsunrog
description=Hides VPN interfaces from selected apps at the kernel level via kretprobe. Invisible to anti-tamper SDKs. Manage targets via VPN Hide app.

View file

@ -30,7 +30,7 @@ android {
applicationId = "dev.okhsunrog.vpnhide"
minSdk = 29
targetSdk = 35
versionCode = 700
versionCode = 701
versionName = buildVersion
ndk {

View file

@ -1,5 +1,45 @@
{
"history": [
{
"version": "0.7.1",
"sections": [
{
"type": "added",
"items": [
{
"en": "Expanded Russian app detection: Anixart, ePN Cashback, TNT Premier, Swoo (Кошелёк), Макси, Ростелеком Личный кабинет, Проверка чеков ФНС",
"ru": "Расширено определение российских приложений: Anixart, ePN Cashback, ТНТ Premier, Swoo (Кошелёк), Макси, Ростелеком Личный кабинет, Проверка чеков ФНС"
}
]
},
{
"type": "changed",
"items": [
{
"en": "Reduced APK size by ~93% (47 MB → 3.37 MB) by enabling R8 minification, resource shrinking, and replacing the com.google.android.material dependency with AndroidX SplashScreen; the splash screen now holds through startup until the Dashboard is ready, removing transient loading spinners on cold launch",
"ru": "Размер APK уменьшен на ~93% (47 МБ → 3.37 МБ) — включена минификация R8 и шринкинг ресурсов, зависимость com.google.android.material заменена на AndroidX SplashScreen; splash-экран теперь держится всю инициализацию до готовности Dashboard, промежуточные спиннеры при холодном запуске больше не мелькают"
},
{
"en": "Show profile names (Work, Second Space, ...) next to apps installed in other user profiles, instead of raw user IDs",
"ru": "Рядом с приложениями, установленными в других профилях, теперь отображается имя профиля (Work, Second Space, …) вместо числового ID"
}
]
},
{
"type": "fixed",
"items": [
{
"en": "Kmod install recommendation no longer falsely pushes users to Zygisk on custom kernels whose `uname -r` lacks the GKI KMI tag (e.g. `android12`, `android13`). The heuristic now matches only the parsed KMI — not the phone's Android OS release, which is an unrelated label — and falls back on kernel series when the KMI is missing: 6.1 / 6.6 / 6.12 each ship a single KMI variant and are still unambiguous; 5.10 and 5.15 each have two candidates, both of which the app now surfaces (primary + alternative), with a dedicated banner when the installed variant fails to load so the user knows to try the other. An active kmod — `/proc/vpnhide_targets` present — also overrides any remaining heuristic-driven warning.",
"ru": "Рекомендация установки модуля ядра больше не подталкивает ложно к Zygisk на кастомных ядрах, в `uname -r` которых нет GKI KMI-метки (`android12`, `android13` и т.д.). Эвристика теперь сопоставляет только распарсенный KMI — версия Android OS телефона к этому не относится — и при отсутствии KMI делает fallback по серии ядра: для 6.1, 6.6 и 6.12 существует по одному KMI-варианту, рекомендация однозначна; у 5.10 и 5.15 по два кандидата, приложение теперь показывает оба (основной + альтернативный) и отдельный баннер, когда установленный вариант не загрузился — чтобы было понятно, что нужно попробовать второй. Активный kmod (`/proc/vpnhide_targets` существует) также имеет приоритет над любыми эвристическими предупреждениями."
},
{
"en": "Polish multi-profile app list: the Show system filter now classifies apps installed only in a secondary profile correctly, and the user-ID suffix no longer appears on every row for users without a secondary profile",
"ru": "Полировка мультипрофильного списка: фильтр System теперь корректно классифицирует приложения, установленные только во втором пространстве; суффикс user-ID больше не показывается в каждой строке у пользователей без второго пространства"
}
]
}
]
},
{
"version": "0.7.0",
"sections": [

View file

@ -1,6 +1,6 @@
[package]
name = "vpnhide_checks"
version = "0.7.0"
version = "0.7.1"
edition = "2024"
rust-version = "1.85"
license = "MIT"

View file

@ -1,6 +1,6 @@
id=vpnhide_ports
name=VPN Hide (Ports)
version=v0.7.0
versionCode=700
version=v0.7.1
versionCode=701
author=okhsunrog
description=Blocks selected apps from reaching localhost ports — hides locally-bound VPN/proxy from probe attempts via netfilter. Manage observers via VPN Hide app.

View file

@ -1,3 +1,16 @@
## v0.7.1
### Added
- Expanded Russian app detection: Anixart, ePN Cashback, TNT Premier, Swoo (Кошелёк), Макси, Ростелеком Личный кабинет, Проверка чеков ФНС
### Changed
- Reduced APK size by ~93% (47 MB → 3.37 MB) by enabling R8 minification, resource shrinking, and replacing the com.google.android.material dependency with AndroidX SplashScreen; the splash screen now holds through startup until the Dashboard is ready, removing transient loading spinners on cold launch
- Show profile names (Work, Second Space, ...) next to apps installed in other user profiles, instead of raw user IDs
### Fixed
- Kmod install recommendation no longer falsely pushes users to Zygisk on custom kernels whose `uname -r` lacks the GKI KMI tag (e.g. `android12`, `android13`). The heuristic now matches only the parsed KMI — not the phone's Android OS release, which is an unrelated label — and falls back on kernel series when the KMI is missing: 6.1 / 6.6 / 6.12 each ship a single KMI variant and are still unambiguous; 5.10 and 5.15 each have two candidates, both of which the app now surfaces (primary + alternative), with a dedicated banner when the installed variant fails to load so the user knows to try the other. An active kmod — `/proc/vpnhide_targets` present — also overrides any remaining heuristic-driven warning.
- Polish multi-profile app list: the Show system filter now classifies apps installed only in a secondary profile correctly, and the user-ID suffix no longer appears on every row for users without a secondary profile
## v0.7.0
### Added
@ -61,9 +74,3 @@
- Fixed LinkProperties filtering so VPN routes are stripped more reliably from app-visible network snapshots.
- Fixed SIOCGIFCONF filtering on some Android 12/13 5.10 kernels where the previous hook could succeed but never fire.
- Fixed debug log collection so app logcat entries are captured reliably on devices where logcat via su misses them.
## v0.5.3
### Added
- Debug log export — open the Diagnostics tab and tap "Collect debug log" at the bottom. The app gathers dmesg, check results, device info, module status, kernel symbols, targets, interfaces, routing tables, and logcat into a zip. Save to disk or share directly.
- Kernel module debug logging toggle — all 6 kretprobe hooks now log detailed info (UID, target status, interface name, filter decisions) when debug mode is active. Enabled automatically during debug log collection.

View file

@ -1,6 +1,6 @@
[package]
name = "vpnhide_zygisk"
version = "0.7.0"
version = "0.7.1"
edition = "2024"
rust-version = "1.85"
license = "MIT"

View file

@ -1,6 +1,6 @@
id=vpnhide_zygisk
name=VPN Hide (Zygisk native)
version=v0.7.0
versionCode=700
version=v0.7.1
versionCode=701
author=okhsunrog
description=Hides active VPN interfaces from selected apps by inline-hooking libc ioctl via shadowhook. Covers the native detection path (Flutter, JNI, raw C/C++) that Java-level LSPosed modules can't reach. Manage targets via VPN Hide app.