Skip to content
Fyndi docs
Polski

APK releases#

An APK release is one published build of the Android app. This page explains where to get it, how it is built, and what the version numbers mean.

Where to download the app#

The app is published under the fyndi.app domain, in the downloads directory:

WhatAddress
The newest buildhttps://fyndi.app/downloads/latest.apk
The release manifesthttps://fyndi.app/downloads/manifest.json
Older buildsthe same directory, by file name from the manifest

The manifest is the source of truth for the app's own updater: it lists the releases with their tag, file name, size and publication date, and marks the newest one. The Settings → Update entry in the app reads it, compares the version code with the installed one and installs the newer build. The same data is shown live on the website, so a number on a page is never a value typed in by hand (Installation, App updates).

How a release is made#

  1. A code change lands on the main branch, and the version number is raised in the Android build file: versionCode goes up by one, versionName gets the human-readable version.
  2. Gates before pushing. The quick check run must be green; the same run is what the pre-push hook triggers. A red gate stops the push (Quality and checks).
  3. Build and publish on our own server. One command compiles the release variant, checks its own gates, signs the APK with the release key and publishes it to the mirror — rewriting the manifest and latest.apk in the same step. The build takes a few minutes on the host.
  4. The build's own gates are part of that script: the signature must not be a debug key, the ARCore key must be present in the manifest, and the Mapbox token must be embedded — without them the app would start but AR anchoring and the map would not work.
  5. A tag vX.Y.Z is placed in the repository history. It is only a marker and a point of reference: it does not trigger any pipeline, because the releases are made on our server.
  6. The phone updates itself from the mirror: Settings → Update downloads the newer build and installs it over the current one.

The last step of the build verifies the release through the public address: the file is downloaded again and its size and checksum are compared with the one produced on disk, and the version read from the binary APK manifest has to match the version in the sources.

Signing and the release key#

Every APK is signed with a release key that lives on the server, outside the repository, in a directory that only the host account can read. The key is never committed, and it is not stored in any external service's secrets.

ItemValue
OwnerCN=Fyndi release, O=marionet1
Fingerprintstable since 0.113.8 (F9:5E:D4:41…:5B:FC)
Where it liveson the server, in a mode-600 secrets directory, plus a copy kept by the owner

Why it matters to a player:

  • The signature is the same between versions, so a newer release installs on top of the older one — no uninstalling, no losing data.
  • Changing the key would break that chain. Historically, the first install after a key change required removing the old app once; that is why the key is treated as something to preserve, and why a copy of it outside the server is a condition of continuity.
  • Nobody can fake an update. The system only accepts an update signed with the same key, so a file from an unknown source cannot be installed over the app.

Version numbering#

Two numbers describe the same build, and both are needed:

  • versionName — the version a human reads, like 0.120.1; it is also the release tag.
  • versionCode — a plain integer that grows by one with every release, like 265. Phones compare only this number, so it must never repeat and never go backwards.
ReleaseVersion codeDateHeadline change
0.120.126525.09.2026the player's pawn returned to the AR mini-map, at the main-map size
0.120.026425.09.2026one 3D layer for the pawn on the main map and the AR mini-map
0.119.026325.09.2026the pawn lands in its current position immediately after returning to the app
0.118.026225.09.202615 badges got real medallions instead of progress bars
0.117.026125.09.2026a newer Mapbox SDK — a technical change, nothing visible for the player
0.116.026025.09.2026AR: the guidance streak takes the colour of its target

The install file is around 80 MB (roughly 77 MiB). Most of that is the map SDK's native libraries — which is why a technical SDK upgrade grows the download noticeably even when nothing changes on screen.


Documented for app version 0.120.1 (updated 2026-09-26).

Machine translation — the Polish version prevails.

App version: 0.120.1 · API version: 0.35.0 ·

docs.fyndi.app · 2026-09-26