Changelog

Changelog

Every release of dnsetter, newest first, described by what it does rather than by what changed in the code.

2026.10.1 — 2 October 2026

Rules for your Wi-Fi networks (Pro)

On the Rules tab, a new card lets you give a Wi-Fi network a rule of its own: turn Private DNS off there, set it to automatic, or use another resolver. Off at home, where your router already filters; a different resolver at the office; your own setting everywhere else. Leave the network and your own setting comes back exactly, hostname included — the same promise the app makes about VPNs. A VPN rule still comes first: while a tunnel the app switches for is up, its rule is the one in force.

To tell one network from another, dnsetter needs its name, and Android only gives that name to an app holding the location permission — “Allow all the time”, so the rules work while the app is closed. dnsetter asks for it only from the Wi-Fi card, after a screen saying what it is for. It reads the name of the network you are connected to and never your position, and nothing about it leaves the phone. Without the permission, or without Pro, the rules stay saved, do nothing, and the card says so. The privacy policy says the same.

A Pro licence is recognised straight away

If the developer gave you Pro, dnsetter only asked about it when the app started from scratch — and since the switching service keeps it running, that could mean days, or the next restart. It now asks as soon as you sign in on the report or messages screen, and again when you come back to the app.

Two crashes fixed

On some phones whose Android reports a newer version than it really is, dnsetter could close with an accessibility service on, or when starting a purchase. Both are fixed.

Reports and ideas

The reports and ideas screen has a new look and moves like the rest of the app, and switches now tell TalkBack whether they are on or off.

2026.9.13 — 29 September 2026

Buying Pro works on Android 14 and 15

On Android 14 and 15, dnsetter closed the moment Google Play’s payment screen should have opened, so Pro could not be bought there. The cause was the version of Google’s billing library the app used, which calls something those two Android versions do not have; dnsetter now uses the previous version, which does not. The app closed before Google Play showed anything, so nothing was bought or charged.

Reports and ideas, on a screen of their own

Reports and ideas, under Info, open on a full screen instead of a sheet. Your reports are listed with the latest message and a dot on the ones with a reply you have not read, and each opens as a conversation. Ideas have a vote button, can be sorted by most voted or most recent, and filtered by whether they are built yet. On a tablet or an unfolded phone, the list and the conversation sit side by side.

Once you are signed in, the menu at the top holds your account: sign out, or delete your account and its data. Deleting says exactly what goes and what stays — a report you already sent is kept but no longer tied to you, and a Google Play subscription is not cancelled by it.

Theme and colours

In Settings, Theme and Colours are ordinary rows that open a list of choices, instead of a box of their own. With “From your wallpaper”, only the accent colour follows your wallpaper and the rest keeps dnsetter’s own look; the accent now shows in dark mode too.

Smaller things

If you bought Pro on Google Play and want your name on the supporters list, you now sign in first, so the name stays yours after a reinstall or on a new phone. The list is simply called “Supporters”, and the licences screen says plainly what it lists.

2026.9.12 — 20 September 2026

Asked to rate dnsetter, right after it does its job

Once a tunnel goes away and dnsetter has just given you back your own resolver — verified by reading the device, not assumed, which is the one promise this app cannot afford to get wrong — it may ask you to rate it on Google Play. It never asks on a cold launch, never during onboarding, and never while a sheet or the messages screen is open. The FOSS build has no Play Store listing to rate, so it asks nothing and offers a donation instead, as it already did.

2026.9.10 — 4 September 2026

The same app as 2026.9.8 and 2026.9.9, neither of which reached Google Play. Nothing you can see has changed.

2026.9.9 — 4 September 2026

The same app as 2026.9.8, which reached the F-Droid repository and not Google Play: its release pipeline failed on one of the app’s own tests and stopped before the upload. Nothing you can see changed between the two.

2026.9.8 — 4 September 2026

The supporters screen asks the right question

It asked everybody for “the address you donated from”. If you subscribed through Google Play, you have not donated anything and there is no such address — so the one screen that could put your name in the credits was asking you to prove something that does not exist, and telling you afterwards that nothing was recorded.

It now asks about your subscription in the store build, and about your donation in the store-free one, which is the thing each of them actually has.

And you can sign in with Google

Google Play tells an app that a purchase happened and never who made it, so “which address?” is a question a subscriber cannot answer from memory. Signing in is simply the answer to it.

It sits beside the six-digit code and never replaces it: the code works everywhere, needs nobody’s services, and is what the F-Droid build uses — that build carries none of Google’s code at all.

2026.9.7 — 4 September 2026

Housekeeping

Nothing in this release changes what the app does. It brings a years-out-of-date piece of Google’s own code up to date — a piece only the store build carries, and one Google had started warning about. The F-Droid build never carried it at all, and differs from the last one only by its version number.

2026.9.6 — 3 September 2026

It now says what it is for

dnsetter used to open on a shell command. If you had just installed it, the first thing you saw was an ADB line to paste and three ways to run it, with nothing anywhere saying what the app does or why you would want it.

There is a first run now: what the collision between Private DNS and a VPN actually is, the one permission — with the tick appearing on its own the moment you run the command — and what should happen when a tunnel comes up. Then it starts watching. You can skip it, and it does not come back.

Turning Private DNS off by hand now stays off

From the Quick Settings tile, the home-screen widget, an automation or the Status tab, the switch was undone within a hundredth of a second whenever dnsetter was armed and no VPN was up — which is most of the time. The app could not tell a switch it had made from one you had asked for, so it gave both of them back. It can now: what you turn off stays off until you put it back.

Your resolver’s name comes back with your setting

If you had dnsetter writing a resolver of its own while a tunnel was up, the hostname you had typed was left overwritten when the tunnel went away — and the app reported the restore as exact, because it was only checking the half of the setting that was in use. Both halves are checked and both are put back.

Smaller things

2026.9.5 — production, 3 September 2026

The free trial says what it costs

Seven days free, and until now the screen said little more than that. It says the rest now, in the place where you decide: that the free days are the whole of Pro with nothing held back, what it costs a month or a year once they end, that it renews on its own, and that cancelling in Google Play before the last free day costs you nothing.

Diagnostics, with a switch each

Settings has a Diagnostics section now, and the reason it exists is a mistake rather than a feature. The Play build has been sending crash reports and usage statistics from first launch, with no way to turn either off — and this page said there were none. The page was corrected; these are the switches that make the correction true.

Crash reports are on. A report carries a stack trace, a device model and an app version — never a DNS name, a rule or a VPN.

Usage statistics are off. They carry the Android advertising identifier, and dnsetter records no events of its own.

The F-Droid build has neither and cannot: it contains no Google libraries at all.

2026.9.4 — beta, 2 September 2026

A new look for the icon

The mark is one blue gradient from end to end now, where it used to be dark ink with a blue accent on it. And it sits where the eye reads it as centred: the family framed its icons by a rule worked out on paper until now, and that rule has been replaced by one measured against a person moving each mark until it looked right.

2026.9.3 — beta, 2 September 2026

Three ways your setting could be lost, and none of them left

dnsetter’s one promise is that whatever Private DNS you had comes back exactly. Three situations broke it, all found in one afternoon of testing this app against a real tunnel.

Turning the app off while it was holding your setting simply walked away: Private DNS stayed off, your resolver stayed recorded, and nothing was left running to put it back — not when the tunnel went away, not after a restart. Switching a utility off has to leave the phone as the utility found it. It does now.

A tunnel that dropped within a few seconds of a switch. Some phones quietly undo the change, so dnsetter looks again a moment later and writes it a second time if it has to. That second look could land just after your setting had already been given back, and write over it.

A resolver you deleted stayed the one written while a tunnel was up. The list on screen was empty and the app went on using a name it no longer showed you anywhere.

The icon, in dark mode

Installed on a phone in dark mode, half the mark — the outgoing arrow — was drawn in a colour meant for a dark background, on the white one the icon actually has. It was invisible, and it stayed invisible afterwards even in light mode, because a launcher decides an app’s icon once.

It says what it did in your language

Everything dnsetter writes into its own history — and reads out in the notification each time it switches — was English, whatever the phone was set to. An Italian phone had the whole app translated except the one line saying what had just been done to it, and the notification put the two languages in a single sentence. All of it is translated now.

Smaller things

Applying a resolver by hand is recorded like every other change, and tells you when it cannot work instead of doing nothing. A resolver name is checked before it is saved — one with no dot, a scheme or a port takes the phone’s DNS away. The home-screen widget keeps up with switches made from the tile or from the app. The clock stays readable when the app is pinned to light or dark against the phone’s setting. In landscape the fifth tab is no longer cut in half. And the paywall now says what Pro actually is: it called the Quick Settings tile free two lines above selling it.

Without Pro, tapping the Quick Settings tile did nothing whatsoever — Android does not deliver a tap to a tile drawn as unavailable, so the paywall it meant to open never could. In the store-free build the weekly donation notice brought the app forward and stopped there if dnsetter was already open. A resolver name that is an address, like 1.1.1.1, is refused now: it is not a name a DNS-over-TLS certificate can be checked against.

2026.9.2 — beta, 1 September 2026

A new icon

The mark is the same one. What changed is how it is placed: every app in this family now frames its mark by a single rule — centred so the space around it is even all the way round, and stopping the same distance short of the circle a launcher masks with. Ten icons that were each framed by hand now line up with one another on a home screen.

The blue is a gradient rather than a flat tone, and there is a dark copy of the icon for dark surfaces. Nothing else changed in this release.

2026.9.1 — beta, 1 September 2026

A crash on Android 10, on the screen the app opens on

Whenever a VPN came up, dnsetter asked Android which app owned it — a question Android only learned to answer in Android 11. On Android 10 that call reached a method that is not there and the app went down, on the Status tab, which is the first thing you see. Fixed by asking only where the answer exists. Nothing else changes: that answer is almost always useless anyway.

Settings said three built things were not built

A notice named the home-screen widget, the rules per network type and the history of what was switched, and called all three unbuilt. All three have been there for a while — and the notice sat directly underneath the history, drawing the very thing it said did not exist, on a screen whose Pro card sells two of the three. It is gone. A screen that denies what it is showing you costs more than one that promises too much.

2026.8.20 — beta, 31 August 2026

Crash reports, on the Play build

A crash on somebody else’s phone used to be a crash nobody could see. The Play build now sends one when it happens. The F-Droid build sends nothing — it has the report screen, which asks first, and that is the whole of it there.

2026.8.19 — beta, 31 August 2026

The icon is on white again

It spent a few hours that day on the pale grey the rest of the family uses, and came back. Beside the white tile Android draws around an icon the grey read as dirt — the kind of thing you settle by looking at a home screen rather than by reading a palette. The drawing itself did not move.

2026.8.18 — beta, 31 August 2026

The icon joins the family

Same pale ground as the other nine apps here, and the mark is the size theirs are.

Pro is monthly or yearly

The one-off — pay once, keep forever — is no longer offered, here or in any of these apps. Nothing is taken back: an install that already owns one keeps Pro for good. The offer went, not the purchase.

The prices, and they came down

Monthly €0.79, yearly €5.99, VAT included. Nothing is sold yet.

2026.8.17 — beta, 29 August 2026

The choosers on the Settings screen

Two of the three were Android’s own: a label that floats up when you tap them, a filled background, and a solid black triangle for an arrow — next to two of dnsetter’s, a few rows above, which look like the rest of the app. They are all the app’s now, with the same quiet arrow.

The radio buttons on the Rules screen also have room around them: the circle was almost touching the edge of the card, and the words were almost touching the circle.

2026.8.16 — beta, 29 August 2026

No byline on the Info tab

The author’s name and their personal site have come out of the Info card. What it says now is what the app is, which version you have, and where its own site is — which is what anybody opens that screen for.

2026.8.14 — beta, 28 August 2026

The bar at the top is just the app’s name now. It used to carry the name of the tab under it as well, which the app was already telling you twice: the bar at the bottom marks the tab you are on and writes it beside the icon, and every screen opens with the same word as its own heading. The line it took back goes to the screen you were reading.

Nothing else moved.

2026.8.13 — beta, 28 August 2026

Each VPN can have its own answer (Pro). Writing one of your own resolvers while a tunnel is up was already there, but it had to be the same one for every VPN. Now Tailscale can get a resolver that reaches its names while everything else simply has Private DNS turned off — the choice sits in the same menu as the rule, one line per resolver you keep.

Without Pro nothing changes: a VPN comes up, Private DNS goes off, and it comes back exactly as it was. That is what the app has always done for free and still does.

2026.8.12 — beta, 28 August 2026

A dark mode you can choose. Settings → Appearance: light, dark, or whatever the phone is doing. And if you would rather have your wallpaper’s colours than the app’s, that is there too — only the colours change, everything else stays as it is.

The permanent notification is out of the status bar. No icon up there, no sound, folded at the bottom of the shade. It cannot be removed entirely while dnsetter is watching — Android has no other way to let an app hear about a VPN — but this is as far out of the way as it goes.

The app also starts on white instead of flashing dark grey first, and there is more room at the edges of every screen.

2026.8.11 — beta, 28 August 2026

A new icon: two arrows passing each other, one going and one coming back, which is the whole of what dnsetter does. It is the same drawing everywhere the app appears — the launcher, the Quick Settings tile, the notification.

Everything reads a size larger. The text was a step smaller than the rest of your phone, and it felt like squinting.

Two things that were plainly wrong are fixed: a long line — what dnsetter last did, with the time — no longer breaks the layout, it sits under its label; and the bar at the bottom no longer crowds the gesture handle.

The Info tab speaks Italian. Parts of it were in English inside an Italian app: those words came from components shared with the other apps and had never been translated. Now they are, for all of them.

The colours no longer follow your wallpaper, and that is settled rather than switchable now: these apps have one look. F-Droid also shows screenshots of the app at last.

2026.8.10 — beta, 28 August 2026

dnsetter looks different. It is the first of these apps on a design of their own: paper and slate, a single cyan accent, one typeface doing the work, and thin rules where Android’s default look puts shadows. The bar at the top carries the app’s name and where you are; each screen says its own name in words you can read at a glance; and what the app is reporting — your Private DNS, what is in force on this network, what it last did — is set in a monospace face, so its answers no longer look like its questions.

Two screens changed shape as well as colour. The default rule now says what each choice does instead of offering two buttons. The per-app rule is a proper menu that fits beside the app’s name rather than squeezing it.

One thing is taken away and it is worth saying plainly: the colours no longer come from your wallpaper. If that is what you liked about it, the old behaviour still exists in the code and can come back as a setting — ask, and it will.

2026.8.9 — beta, 28 August 2026

Two things the last release said it did, it did not do. The automation hook — switching from Tasker and the like — went out without being registered, so nothing could reach it; and on F-Droid the tile and the widget asked for Pro in a build that has nothing to sell, because the app only worked out that it was free once you opened it. Both are fixed, and the app now checks at build time that no part of it can go missing that way again.

New in Pro:

2026.8.8 — beta, 28 August 2026

The Quick Settings tile is now part of Pro. It was free in every build until this one, so if you were using it, this update takes it away unless you pay — said plainly, because a release note that called this an improvement would be lying. Everything the app is for stays free: the switching rule, the manual override, the status and its history.

New, and free:

New, and Pro:

Also: the per-VPN rules are a menu instead of a row of buttons.

2026.8.7 — beta, 28 August 2026

If you installed an earlier beta, this is the one to have. The app turned Private DNS off when a VPN came up and then never put it back — so you were left resolving in the clear, which is the exact outcome it exists to prevent.

If you had it armed and your Private DNS is currently off, set it back yourself once — from this version on, dnsetter does it for you.

2026.8.6 — beta, 28 August 2026

Appearance only, and the same appearance as the other apps here.

2026.8.5 — beta, 27 August 2026

If you use Tailscale, the previous build could not see it. This one can.

2026.8.4 — beta, 27 August 2026

The setup without a computer, which is the one thing that stood between this app and being installable by anybody.

2026.8.3 — beta, 27 August 2026

A small correction, and the tests that found it.

2026.8.2 — beta, 27 August 2026

Still a beta, and for the same reason as the first one: the collision this app exists for has been seen on one phone with one tunnel.

2026.8.1 — beta, 19 August 2026

The first build anyone else can install, on the F-Droid repository only.

Not a release. The premise is one first-hand observation on one device, and this build has not been run against any other tunnel. A stable version is what happens after it has.

Not built yet: Shizuku, a resolver other than off while the tunnel is up, and the widget.