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
- Tapping the widget when it cannot switch opens the app instead of doing nothing.
- The widget follows your phone’s dark mode, has a name of its own in the widget picker, and shows something in the picker’s preview instead of an empty box.
- The setup command is readable rather than cut off mid-word.
- The three ways to get a shell are one list instead of three cards that looked like three different things.
- The app opens on Status once the permission has been granted.
- Adding a resolver: the field is one line high and stops jumping when you tap it.
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:
- A different rule on Wi-Fi than on mobile data. For the VPN you only want to suspend Private DNS for on one of them.
- History. The last fifty switches, each with what caused it — a VPN, the tile, you — and a button that writes them to a file you keep.
- A home screen widget. The current setting, switched in one tap. It shows you the setting whether or not you have Pro; only the tap is the paid part.
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:
- dnsetter reads the setting back a second time a few seconds after writing it, and writes it again if your phone quietly put its own value back. Some manufacturer skins do exactly that. This is not a feature, it is the app keeping the promise it already made.
- One saved resolver: keep the provider you use and apply it with a tap.
New, and Pro:
- Several saved resolvers, with a menu to move between them.
- A resolver of your own while a VPN is up, instead of turning Private DNS off — for a tunnel that carries a resolver you actually want.
- Switching from an automation app — Tasker and anything else that can send a broadcast.
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.
- Your setting is restored again. The bug was in the part that notices a tunnel going away: it never noticed. Fixed, and now covered by a test that brings a real VPN up and down and reads the system setting back.
- A notification when the switch happens. Changing your DNS is not something an app should do quietly. Silencing the notice does not stop the switching.
- After an update the app starts watching again on its own. It used to say “armed” and watch nothing until you toggled the switch by hand.
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.
- Every screen is drawn on the same blocks, with the same spacing and the same weights, as the rest of this family. Nothing moved and nothing was renamed; it simply looks like it was made by the same person, because from this version the look is defined in one place for all of them.
- The bar at the bottom names the tab you are on.
2026.8.5 — beta, 27 August 2026
If you use Tailscale, the previous build could not see it. This one can.
- Android hides an app from other apps unless something in it is exported, and a VPN service does not have to be — Tailscale’s is not. dnsetter was asking the system for VPN services, so it listed the apps that export theirs and missed the tunnel it was written about. It now asks differently, and Tailscale is in the rules list where it belongs.
- Anything you had set is untouched: the rules are stored per app and nothing was lost, there was simply no row to set one on.
- The changelog in the app shows the last five versions, folded, with the rest here.
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.
- Shizuku. If you have it — it is a separate app, started once, and many people who root or tinker already do — dnsetter can grant itself the permission with a single tap and no shell at all. Afterwards it holds the permission on its own: Shizuku can be stopped, or uninstalled, and nothing changes.
- The Setup tab now says exactly where you stand with it: not installed, installed but not running (it stops at every reboot), running but not allowed yet, or ready.
- It has not been proved on a phone. The state it can be checked in on an emulator is “not
installed”; whether
pm grantgoes through on your device is what this beta is asking. - The Info tab has the app’s own mark instead of an emoji, and names which build you are running beside the version — which is the answer to “why is there no purchase button in mine”.
2026.8.3 — beta, 27 August 2026
A small correction, and the tests that found it.
- The button on the Support dnsetter card now says See the options. It said Open, and so does the card next to it — one screen with two buttons and one word between them.
- The paywall, the supporters screen and the open source notices are now covered by tests that open them on a device, per build. They were the part of the app nothing checked.
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.
- dnsetter Pro, and the free version that stays free: the switching rule, the manual override, the Quick Settings tile and everything the Status tab shows are not for sale. What Pro adds today is a rule for a second VPN app and beyond.
- The build you install from here has no paywall in it at all — every feature is open, including that one. What it asks instead is a donation, once a week, on a notification you can silence in two taps; silencing it takes nothing away, because nothing was held back.
- A supporters list, in the app and on this site: whoever supported dnsetter can appear in it under any name, and take it back down in one tap.
- Open source notices under Info, listed per build: the Play one links Google’s billing library, and this one contains none of it.
- The app now asks for internet access, and uses it for one thing: the report screen and the messages screen. Nothing about your DNS, your VPN, your rules or your settings is sent anywhere, and nothing at all is sent unless you type it and press send. The first beta declared no internet permission; that is what changed, and why.
2026.8.1 — beta, 19 August 2026
The first build anyone else can install, on the F-Droid repository only.
- Private DNS goes off when a VPN comes up, and your setting comes back exactly — hostname included — when the VPN goes away.
- Change Private DNS by hand while the tunnel is up and dnsetter takes that as your new intent and stops switching until the VPN cycles.
- A rule per VPN app, plus a default for everything else: a commercial VPN with its own public resolver can be left alone while a tunnel with names of its own is not.
- A Quick Settings tile: Private DNS off from the shade, tap again and yours comes back.
- Every change is read back before it is reported. Some manufacturer skins ignore the write, and dnsetter says so rather than claiming a switch it did not make.
- No internet permission at all in this build.
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.