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.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.