Changelog

Every change, written down.

What changed in each version of Arivna Browser, in plain words. The newest release is at the top. The same notes ship with every APK on GitHub Releases.

Latest releasev1.0.0

  • Latest
  • versionCode 1
  • Android 8.0+

First public release

One APK for all supported CPUs (10.9 MB). Check the file against the SHA-256 below before you install it.

SHA-256
050c18063aa6c916107d18bf508152f76a42e7ae4e13ce725474c180ab5819b5

Release history

Version by version.

"Changed" and "Removed" in 1.0.0 compare with earlier internal test builds that were never published.

  1. 1.0.0versionCode 1

    1.0.0: first public release

    Android 8.0 or newer (minSdk 26), built for Android 16 (API 36). Pages are drawn by the Android System WebView (Chromium); the interface and the Arivna Shield ad-block engine are Arivna's own.

    Added 12 items

    • Arivna Shield, a native ad and tracker blocker. Written in Rust and called from the app through JNI. It reads the uBlock Origin / Adblock Plus filter syntax: network rules, cosmetic (element hiding) rules, scriptlets, $redirect, $removeparam, $badfilter, $important and procedural cosmetic filters. Requests are blocked before they load, and leftover ad boxes are hidden.
    • 13 bundled filter lists. uBlock Origin filters, privacy, badware, quick fixes and unbreak; EasyList; EasyPrivacy; Peter Lowe's list; URLhaus malicious URL list; AdGuard Mobile; AdGuard Tracking Protection; and, in strict mode, uBlock cookie notices and EasyList Cookie. On top of these: Arivna's built-in rules and your own rules.
    • Daily filter list updates. When the app opens, or when you come back after 24 hours, the lists download in parallel using HTTP conditional requests, so an unchanged list costs almost nothing. The engine is rebuilt only if a list changed. Settings shows "Last updated", an "Update now" button and how many lists changed.
    • Binary cache of the compiled engine. The built engine is saved to a file so the next start does not have to compile the lists again.
    • Per-tab network request log. Every request a page makes, marked allowed, blocked or redirected, with the filter that matched.
    • Element picker and My filters. "Block element" lets you tap anything on a page to hide it; it is saved as your own rule, and all your rules are listed under My filters.
    • More protection controls. A per-site protection switch in the site info sheet, popup blocking, third-party cookie blocking, YouTube ad cleanup, and "Tell websites not to sell or share my data" (sends Do Not Track and Global Privacy Control).
    • New interface, inspired by Firefox for Android. A pill-shaped address bar at the top or bottom, full-screen search with suggestions, recent searches and a clipboard link, the site info sheet, main and page menus, and a home screen.
    • Tabs. A tab tray as grid or list; private tabs with separate cookies and storage where nothing is saved; recently closed tabs with Undo; tabs that close themselves after a day, a week or a month.
    • Settings and library. A full settings tree; bookmarks with folders; history with search and delete by time range.
    • Downloads manager. Arivna's own downloader runs in a foreground service with three parallel transfers and a live notification showing progress, speed and time left, and keeps working in the background.
    • Page tools and privacy controls. Reader view, find in page, desktop site, save page as PDF, add page to home screen, open in app, voice search, night mode for websites, text size and zoom on all websites, pull to refresh. Delete browsing data (tabs, history, cookies, cache, site permissions, downloads), delete on quit, site permissions (camera, microphone, location, notifications, autoplay) with per-site exceptions, open links in apps (always / ask / never), and a remote debugging switch that is off by default.

    Changed 4 items

    • One file per screen. The large MainActivity was split up so each screen lives in its own file, which makes the code easier to read and review.
    • Targets API 36 (Android 16). The app is built for the newest Android version while still running on Android 8.0 and up.
    • Smaller, tighter release builds. Release builds are minified with R8 using narrower keep rules.
    • Signing. Google Play bundles are signed with a dedicated upload key; locally built release APKs keep the debug key so they install over test builds.

    Removed 3 items

    • 32-bit x86 native library. It was only used by emulators. The engine ships for arm64-v8a, armeabi-v7a and x86_64.
    • Unused bundled assets, including a Readability script that nothing used.
    • Icon and wallpaper choosers, and dead debug code.

    Security 4 items

    • allowBackup is off. Your history, cookies and downloads are not copied to cloud backup.
    • Only trusted lists may run trusted-* scriptlets. Filters from third-party lists cannot use them; only uBlock Origin's own lists, Arivna's built-in rules and your own rules are trusted.
    • Remote WebView debugging is off by default. You can switch it on in Settings if you need it.
    • No analytics, no telemetry, no account.

    Performance 6 items

    • 16 KB page-size alignment. Native libraries are linked with max-page-size=16384, as Google Play requires.
    • Engine loads from cache in 58 ms. Measured on a real phone with a release build.
    • Smooth scrolling. Scrolling a news page on a real phone (release build): 0 to 2 % janky frames, median frame time 8 ms.
    • Less time in Shield per page. On the first page load (BBC, about 75 requests) time spent in Shield fell from 199 ms to 33 ms: regex filters compile as ASCII byte regexes, and a per-page exception cache is shared across WebView threads. Details and method in PERFORMANCE.md in the source repository.
    • Matches uBlock Origin. The engine gives the same answer as uBlock Origin's own network engine on 99.995 % of 83,631 test requests, and is about 5x faster to build and 9x faster to restore from cache (desktop benchmark). Method in bench/REPORT.md in the source repository.
    • Cheaper tab switching. At most four tabs keep a live WebView, so memory stays in check with many tabs open.

Future releases will appear here, at the top, and on GitHub Releases with their checksums.

How we version

Three numbers, one meaning each.

Arivna versions are written vMAJOR.MINOR.PATCH, following Semantic Versioning.

MAJOR

A big change in how the app works or looks, or one that drops support for something (for example an Android version).

MINOR

New features that do not break anything you already use.

PATCH

Bug fixes and small improvements.

Filter lists do not need an app update. Arivna checks its 13 lists once a day (when the app opens, or when you return after 24 hours) and downloads only the ones that changed. New blocking rules reach you between app releases, so they are not listed in this changelog.

Try version 1.0.0.

Free, no ads, no account. Android 8.0 or newer.