Changelog

Every release of Synclet. A version is year.month.release — 2026.8.1 is the first release of August 2026 — so the number tells you how old your build is at a glance.

2026.10.3 — beta, 31 October 2026

Sign-in with Google, licences, and a weekly donation ask in the build from the F-Droid repository. Nothing that works today is locked, and nothing is sold yet.

Licences

Synclet Pro can now be given to an account by hand, to testers for example. The app checks for it when it starts and at most every ten minutes while it stays open, and Settings says so when there is one. Nothing is locked in this release: everything Synclet does stays free.

Sign in with Google (Google Play build)

The messages screen in the Info tab now signs you in with the Google account on your phone, in place of the emailed code; a phone with no Google account still gets the code. On the report screen, the same button fills in your address so that you can be answered. It is the account a licence is given to. The build from the F-Droid repository contains nothing from Google and keeps the emailed code.

A weekly donation ask (F-Droid repository build)

The build from the F-Droid repository has no paywall: everything in it is unlocked. Once a week it posts a notification asking for a donation, on a channel of its own that you can silence in two taps. Silencing it takes nothing away, and it stops for good once a donation is confirmed. A new support card in the Info tab says how to donate and how to put your name in the supporters list.

2026.10.2 — beta, 20 October 2026

A new icon. Your phone and your server are two places on one cycle, and the data goes round between them. The notification in the status bar shows the same mark, where it used to show a generic sync symbol. Nothing else changes.

2026.10.1 — beta

The release that adds two-way sync, deleting on request, several addresses per remote and widgets.

Two-way sync

A pair can now go both ways. After every run Synclet remembers what each side looked like, which is how it tells a new file from a deleted one. The first two-way run copies in both directions and deletes nothing. When both sides changed a file, both copies are kept by default; you can choose newest, largest, phone wins or remote wins instead.

Mirroring deletions, opt-in

A pair can delete on the other side, but only if you switch on mirror deletions, which is off by default. Some safeguards cannot be turned off: a pair’s first run never deletes and lists what it would; a run that would delete more than a threshold (25 % of the files on that side by default) stops and asks; deletions are always shown by name; and a one-way pair never deletes on its source side.

One remote, several addresses

A remote now carries an ordered list of address rules: if an address answers within 2 seconds (the default, no permission needed), any Wi-Fi, an unmetered network, mobile data, Ethernet, a VPN being active, or always. The first rule that matches the network you are on is used. If none does, the run waits instead of failing. Synclet asks for no location permission.

Tailscale

A remote can ask Synclet to start Tailscale when its Tailscale address does not answer, wait for it (20 seconds by default) and, if you want, disconnect it afterwards when Synclet was the one that started it. Tailscale has to be installed, signed in and connected by hand once, and Android runs one VPN at a time.

Scheduling and running

Pairs run on the deferred scheduler: about every 15 minutes, hour, 6 hours or day, with the conditions unmetered network, charging and battery not low. Times are approximate, as Android only promises that much. A precise scheduler is not in this release. You can also run a pair now, do a dry run that shows what would change, and cancel a sync that is running.

Widgets, notifications and logs

Two home-screen widgets: an overview of all pairs with a sync all button, and a single-pair widget with sync now. Notifications for progress, for failures and for a sync waiting for your OK. Every run keeps its own file log.

Filters

Include and exclude patterns, hidden files and a size limit per pair.

Language and theme

English and Italian, with a language switch inside the app, and a light and a dark theme.

2026.9.4 — beta, 20 September 2026

Rate the app from inside it

Synclet can now ask for a rating on the Play Store, and only when it has just earned one: after a run that actually finished syncing something, never on a cold launch and never on a run that only got as far as waiting for the network. The store-free build has no listing to be rated on, so it asks nothing there.

2026.9.2 — 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.1 — 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.8.6 — 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.5

A new look

This app is drawn in the design these apps now share: paper and slate, a single accent, one typeface, and thin rules where Android puts shadows. Nothing about what it does has changed.

The colours no longer come from your wallpaper — these apps have one look now — and everything reads a size larger, because the text was a step smaller than the rest of your phone.

2026.8.4 — beta, 28 August 2026

Appearance, and the same appearance as the other apps here. The Info tab and the cards every screen is drawn on are shared components now: the app’s own mark above its name, which build you are running beside the version, and the changelog folded to the last few releases. Nothing moved and nothing was renamed — from this version the look is defined in one place for all of these apps, so the next change reaches them together.

2026.8.3

The app opens again

If you installed 2026.8.2, tapping the icon did nothing: the app closed before it drew anything at all. Update and it works. Your remotes, pairs and history are untouched — it never got far enough to read them, let alone a schedule far enough to run one.

What happened is worth writing down. The published build is minified: a tool called R8 strips out everything the code does not visibly use, which is what keeps the download small. It cannot see code that is reached by name at run time, and the library Synclet uses to run pairs on a schedule reaches a constructor exactly that way. R8 removed it, and the app died while Android was still starting it up. The version developers run is not minified, so it worked perfectly on the bench.

The open tab stays open

Rotate the phone, or unfold it, and Synclet used to drop you back on Pairs. It now keeps the tab you were on. On a foldable that is every single time you open the thing, which is where it was most annoying and where it was found.

Tests that run the real thing

There is now a test that builds the released app, installs it on a phone, taps it and checks a screen appears — the only kind of test that can see the failure above at all. Alongside it the interface is walked automatically on two screen sizes, and two of the promises this app is built on are now asserted by a test rather than trusted: that the scheduler states Android’s fifteen-minute floor rather than pretending it can beat it, and that nothing is ever deleted.

2026.8.1

The first release, and an early one.

What it does

SFTP and WebDAV. An SFTP server’s host key is pinned the first time Synclet sees it, and if it ever changes the run stops rather than carrying on — on a home network, a key that changed by itself is exactly what an interception looks like. WebDAV covers Nextcloud, ownCloud and anything generic.

Pairs: a folder on the phone, a folder on the remote, and a direction — upload or download. The local folder is granted through the system picker, so Synclet never asks for a storage permission and the grant survives a reboot.

Addresses that follow the network. A remote is not one address: your NAS is one thing at home and another from outside. Synclet keeps a list and uses the first that answers, which it works out by trying to connect — no location permission, no reading the name of your Wi-Fi. When nothing answers, the run is postponed, not failed: a NAS you cannot reach from a café has not gone wrong.

A schedule that says what it means. Android’s floor for background work is fifteen minutes and Doze can stretch it to hours. Synclet tells you that where you pick the interval, instead of promising a cadence the phone will not honour.

A dry run, which is where you should start: it lists what would move before anything does.

What it deliberately does not do yet

Nothing is ever deleted — not on the phone, not on the remote, whatever you configure. Mirroring is only safe with the guards that go with it: a first run that never deletes, and a stop-and-ask when a run is about to remove a large part of the target. An unplugged drive and “I deleted everything on purpose” look identical to a sync engine, and only one of the two is recoverable. It arrives when those guards do.

Two-way sync waits for the same reason: telling new on this side from deleted on the other needs a memory of the last run, and without it two-way loses files.

Also not here yet: SMB, SCP, FTP, the cloud providers, and exact scheduling.

Small things that matter

A file modified in the last thirty seconds is skipped — it may still be being written. Uploads land under a temporary name and are renamed once complete, so a half-written file never appears under its real name. Passwords live in an encrypted store of their own and are left out of backups.