Skip to content

Releases

v0.1.48

Choose a tag to compare

@github-actions github-actions released this 13 Nov 18:31
Immutable release. Only release title and notes can be modified.
v0.1.48
92c2f8c

The Overview now tells you when something on your server needs you, and the Docker tab can search and group containers by Compose project. A new "Needs attention" card at the top of the Overview lists what needs you, most urgent first; on a healthy server it is not there, so a quiet Overview is normal. The Docker tab has a search field with a clear button, and a new "Compose" option for the Docker view (Settings, Layout) groups containers by their Compose project. The 0.1.48 beta confirmed the search, the Compose option and the quiet Overview on a real phone. Some groundwork in this release has no visible change yet (detecting the server's API version and what the API key may do, and the rules for later opt-in alerts). As in 0.1.47, NOVA does not install updates itself: "Download" opens the release file in your browser.

Added

  • A "Needs attention" card on the Overview — when something needs you, a
    card at the top lists it, most urgent first: an array that is not started or is
    degraded, a parity check that is running, paused or failed, disks with errors,
    disks at or above their warning or critical temperature, and unread alert and
    warning notifications. Tap a row to open the Array tab or the notifications.
    The card is hidden when all is well and while the server is offline. It uses
    only data NOVA already loads, and it flags only what it knows: a sleeping disk
    or a missing value is never reported as a problem.

  • Search and Compose grouping on the Docker tab — the search field now has a
    clear button, says so when nothing matches, and keeps what you typed when you
    switch tabs or rotate the phone. A new "Compose" option for the Docker view
    (Settings, Layout) groups containers by their Docker Compose project, with
    containers that don't belong to one listed under "No Compose project". Updates
    and the start, restart and stop buttons work in every layout.

What's Changed

  • feat: search containers and group them by Compose project by @nofuturekid in #335
  • feat: a needs-attention summary on the Overview by @nofuturekid in #336
  • test: keep every GraphQL operation within the request limits of Unraid 7.4 by @nofuturekid in #337
  • docs: the minimal API key permissions for each feature by @nofuturekid in #339
  • docs: store listing assets and texts ready for Google Play by @nofuturekid in #341
  • ci: sign the release at the tag in a protected environment by @nofuturekid in #340
  • feat: decide which server events raise an alert and remember what was already reported by @nofuturekid in #342
  • feat: detect the API version of the server and what the API key may do by @nofuturekid in #343
  • release: v0.1.48-beta1 — Needs-attention card, container search and Compose grouping by @nofuturekid in #344
  • release: 0.1.48 — Needs-attention card, container search and Compose grouping (Stable) by @nofuturekid in #349

Full Changelog: v0.1.47...v0.1.48

v0.1.47

Choose a tag to compare

@github-actions github-actions released this 13 Nov 16:04
Immutable release. Only release title and notes can be modified.
v0.1.47
4461de4

NOVA no longer installs updates itself. It still tells you when a new version is out and shows the release notes, the file size and its SHA-256; "Download" now lets your browser download the release file, and you install it by opening the downloaded file. The "Update available" notice and Settings now always show the same latest version. The 0.1.47 betas confirmed this on a real phone: the download and the install from the downloaded file work, and Google Play Protect offered a scan of the new file and then rated it as seeming safe. Play Protect can still offer to scan every new file before it installs; that is expected. If you update from 0.1.46 or older, that one last update still goes through the old installer and can show the old warning once more.

Added

  • The Play Protect notice is documented — the README and the website now
    explain what Google Play Protect shows when you install or update NOVA, why, and
    how to check a download (SHA-256 and signing certificate).

Changed

  • Updates are now downloaded in your browser instead of being installed inside
    NOVA
    — NOVA still tells you when a new version is out and shows its release
    notes, the file size and its SHA-256. "Download" now lets your browser download
    the new APK; you install it by opening the downloaded file, and Android may ask
    you once to allow your browser or file manager to install apps. NOVA no longer
    asks for, or holds, the permission to install apps itself. Why: on a real phone
    Google Play Protect stopped every earlier NOVA build with "Harmful app blocked"
    (you could only continue through "More details > Install anyway"), while a build
    of this version without that permission was rated "This app seems safe". Play
    Protect may still offer to scan each new version before it installs; that is
    expected. Versions up to 0.1.46 still install updates themselves, so the update
    to this version can show the warning one last time (#306, #307).

Fixed

  • The "Update available" notice and Settings now always show the same
    version
    — after "Check now" in Settings the Overview notice could still
    offer an older release (for example the stable v0.1.46 while Settings offered
    a newer pre-release), and reopening Settings could show the older release
    again. NOVA now keeps one latest-version result that the notice, the update
    sheet and Settings all show. It follows the "Include pre-releases" switch:
    turning it off never leaves a beta on screen, and turning it on offers the
    newest beta again as soon as the check is done. A check that fails keeps the
    version found before, and Settings says that the check failed. Settings shows
    the progress of a check again. When several releases are newer than yours, the
    newest one is offered (#331).

What's Changed

  • chore: saved workflows find the pull request themselves and stop closing umbrella issues by @nofuturekid in #313
  • feat: offer updates as a browser download instead of installing them inside the app by @nofuturekid in #312
  • release: v0.1.47-beta1 — updates download in the browser instead of installing inside NOVA by @nofuturekid in #314
  • fix: the update notice and Settings show the same latest version after a check by @nofuturekid in #332
  • release: v0.1.47-beta2 — the update notice and Settings show the same latest version by @nofuturekid in #333
  • release: 0.1.47 — updates download in the browser instead of installing inside NOVA (Stable) by @nofuturekid in #334

Full Changelog: v0.1.46...v0.1.47

v0.1.46

Choose a tag to compare

@github-actions github-actions released this 13 Nov 13:06
Immutable release. Only release title and notes can be modified.
v0.1.46
c61a20b

Adding a self-signed server now asks about its certificate only once, and the Overview shows dashes instead of zeros when it has no data. The 0.1.46 beta confirmed this on a real phone: the trust question appears once, the Overview shows dashes while offline, Uptime is a duration and disk rows have no dangling separator.

Fixed

  • The Overview shows a dash instead of zeros when it has no data — after the
    connection to your server dropped, the Array card read "0,0 / 0 TB used" with a
    half-filled bar, and CPU and Memory read "0,0%" and "0,0 GB". Values the app does
    not know now show a dash with an empty bar, like the Network and Temperature
    cards, and the graphs no longer draw zeros for them. A value your server really
    reports as zero is still shown as zero. For a few seconds after the connection
    drops the last values stay on screen on purpose: the app waits for a few failed
    polls before it calls the server offline (#303).
  • Uptime on the Overview shows how long the server has been running — the
    System card showed a raw timestamp such as "2026-11-12T13:56:22.425Z", which is
    when the server started. It now shows the time since then, for example
    "22h 4m" or "3d 4h", and a dash when the server sends nothing readable (#304).
  • Disk rows on the Array tab no longer end in a lonely "·" — a row showed
    "sdb ·" when the server sends no model for the disk. The second line now
    lists only what is known ("sdb") and is left out when nothing is (#305).
  • A new self-signed server asks you to trust its certificate only once —
    when you added a server with "Trust self-signed certificate", confirmed the
    certificate during Test and then saved, the same "Trust this certificate?"
    dialog appeared a second time on the main screen. The certificate you accept
    is now stored together with the server, so it is already trusted when the
    server first connects. A certificate that later changes still asks (#292).

What's Changed

  • fix: ask to trust the certificate of a new server only once by @nofuturekid in #298
  • ci: harden the build gate (dispatch check name, merge-base diff, lint and release checks) by @nofuturekid in #297
  • fix: placeholders when offline, readable uptime, no dangling separator in disk rows by @nofuturekid in #308
  • ci: release only pull-request-green commits, changelog section required, publish draft-first by @nofuturekid in #309
  • release: v0.1.46-beta1 — certificate trust asked once, Overview placeholders offline by @nofuturekid in #310
  • release: 0.1.46 — certificate trust asked once, Overview placeholders offline (Stable) by @nofuturekid in #311

Full Changelog: v0.1.45...v0.1.46

v0.1.45

Choose a tag to compare

@github-actions github-actions released this 13 Nov 11:26
v0.1.45
3f20886

Live values on the Overview and the container numbers now recover by themselves after the connection to your server drops or goes quiet. The 0.1.45 beta confirmed this on a real phone with a real Wi-Fi change.

Fixed

  • Live values recover by themselves after a connection drop — when the
    connection to your server broke or went quiet (Wi-Fi switched off and on, the
    Unraid API restarted), the live cards on the Overview and the container
    numbers could freeze or stay on slow polling until you left the screen. They
    now show the offline state, reconnect on their own and return to live values
    without leaving the screen (#245).

What's Changed

  • fix: reconnect live data after a dropped or silent WebSocket by @nofuturekid in #286
  • release: v0.1.45-beta1 — live values recover after a connection drop by @nofuturekid in #291
  • docs: land pull requests by fast-forward push instead of squash merge by @nofuturekid in #293
  • ci: weekly cold full build that opens an issue on failure by @nofuturekid in #296
  • release: 0.1.45 — live values recover after a connection drop (Stable) by @nofuturekid in #299

Full Changelog: v0.1.44...v0.1.45

v0.1.44

Choose a tag to compare

@github-actions github-actions released this 13 Nov 06:04
v0.1.44
0bf6e07

Nothing new in the app. The build tools and libraries behind it were brought up to date, and the 0.1.44 beta confirmed that nothing looks or behaves differently.

Changed

  • Build tools and libraries updated — Kotlin 2.4, Android Gradle Plugin 9.5, Jetpack Compose, okhttp 5.5, Apollo 5.2 and Tink 1.24 (among others) are newer. Nothing should look or behave differently.

What's Changed

  • chore: name model and effort in the agent role files and add a read-only scout by @nofuturekid in #275
  • ci: keep the release signing key away from bot-authored pull requests by @nofuturekid in #274
  • build: compileSdk 37 with AndroidX, Compose and okhttp updates by @nofuturekid in #276
  • build: Tink, Apollo, Hilt and KSP updates by @nofuturekid in #277
  • build: AGP 9.5.1 and Gradle wrapper update by @nofuturekid in #278
  • build: Kotlin 2.4 with coil, markdown renderer, AboutLibraries and serialization by @nofuturekid in #281
  • release: v0.1.44-beta1 — toolchain and library updates, no app changes by @nofuturekid in #283
  • docs: follow-ups after the repository move and the toolchain update by @nofuturekid in #285
  • chore: switch dependency updates from Dependabot to Renovate by @nofuturekid in #287
  • docs: replace the Dependabot badge after the switch to Renovate by @nofuturekid in #289
  • release: 0.1.44 — toolchain and library updates, no app changes (Stable) by @nofuturekid in #290

Full Changelog: v0.1.43...v0.1.44

v0.1.43

Choose a tag to compare

@github-actions github-actions released this 12 Nov 22:18
v0.1.43
afab231

The parity card appears on a real server, a server that cannot be reached says so in plain words, and a robustness batch (double-tap Install, missing install-permission screen, VM list without zeros). It is also the first version that looks for updates at the project's new home, github.com/hellwand/nova.

Changed

  • The project moved to github.com/hellwand/nova — the app now looks
    for updates there, and the links in Settings (source code, releases,
    privacy policy) point to the new address (#270).

Fixed

  • The parity card now appears while a parity operation runs or is
    paused
    — on the Array and Overview screens it used to stay hidden on
    a real server. Because the server reports a parity check, a parity
    sync and a disk rebuild the same way, the card is now titled "Parity
    operation", the button that starts a parity check is hidden while one
    is active, and cancelling asks first and says it stops the running
    operation. The server does not report an error count or the remaining
    time, so the card no longer shows them (#244).
  • Tapping Install twice no longer starts the update twice — a double
    tap on "Install" in the update dialog now starts exactly one download
    and one install (#241).
  • Settings no longer crashes when the install-permission screen is
    missing
    — on a phone without the "install unknown apps" screen, the
    update dialog in Settings now shows "Can't open the install-permission
    screen on this device" instead of closing the app (#242).
  • VMs no longer show "0 vCPU · 0 GB" — the VM list and the VM details
    hide the CPU, memory and GPU values while the server does not report
    them, instead of showing zeros (#243).
  • A server that cannot be reached now says so in plain words — the
    error screen shows "Check that the server is online and the address is
    correct." instead of a long technical error text. The technical text is
    still available under "Show details" (#266).

What's Changed

  • chore: Claude Code working rules, builder/reviewer roles and saved workflows by @nofuturekid in #264
  • fix: robustness batch for 0.1.43 by @nofuturekid in #267
  • docs: point links and tooling at hellwand/nova after the repository move by @nofuturekid in #269
  • fix: parity card and new repository address by @nofuturekid in #271
  • release: v0.1.43-beta1 — parity card fix, plain-words unreachable-server message, robustness batch by @nofuturekid in #272
  • release: 0.1.43 — parity card fix, plain-words unreachable-server message, robustness batch (Stable) by @nofuturekid in #273

Full Changelog: v0.1.42...v0.1.43

v0.1.42

Choose a tag to compare

@github-actions github-actions released this 12 Nov 19:59
v0.1.42
b41625a

Actions that fail now tell you why, safer VM and container controls, live
network speed on current Unraid API versions, a hardened self-signed
certificate and key-storage path, and an icon and screenshots for the
store listing.

Added

  • Icon and screenshots in the store listing — the F-Droid listing now
    shows the NOVA icon and six screenshots (Overview, Array, Docker, VMs,
    container details and notifications) (#212, thanks @licaon-kter).

Changed

  • Container details tabs are accessible — the Info/Logs/Ports/Volumes
    tabs now use the standard Material tab bar, so screen readers announce
    them as tabs with the selected one marked and the touch targets are at
    least 48 dp high.
  • Memory and network values no longer cut off in the Docker tab and
    container details
    — the container list shows memory used, the detail
    view shows used with "of " below, and long values wrap instead of
    being truncated on narrow phones. The notifications header now reads
    "1 alert · 1 warning" instead of "1 alerts · 1 warnings" (#226).
  • Logs tab explains an empty log — a running container with no log
    lines now says it may be logging to stderr, which the Unraid API does not
    return yet, instead of a bare "No log lines." (#225).
  • Confirmation before Restart, Update and VM Reboot — restarting or
    updating a single container and rebooting a VM now ask first, like Stop
    already did (#229).
  • VM "Stop" asks the guest to shut down first — it used to cut the
    power (#228). Stop now asks for confirmation, sends a shutdown request and
    Unraid powers the VM off if the guest has not shut down within about 10
    seconds. "Force stop" powers off immediately, as before, behind its own
    confirmation.
  • Privacy policy updated — the policy (effective 2026-11-10) now also
    says that the certificate fingerprint you pin for a self-signed server is
    stored on your device per server and left out of backups; that the app
    checks for updates when it starts as well as in Settings (direct
    download version only); that container icons are loaded straight from
    the addresses your own Unraid server provides, usually third-party hosts
    that can see your IP address; and its list of Android permissions now
    names the internet and network-state permissions (the notification
    permission is no longer listed because the app does not declare it).

Fixed

  • Network interfaces screen no longer shows blank hardware fields —
    vendor, model, link speed and the virtual flag are only available with a
    third-party API plugin; rows without data are now left out instead of
    shown empty. On a stock API the Hardware block still shows the MAC
    address (#223).
  • No more background polling — Settings → Server plugins, Network
    interfaces and the container Logs tab kept refreshing from the server
    while the app was in the background; they now pause until you return.
  • Failed actions now tell you why — stopping a container or VM, array and
    parity actions and notification actions failed silently when the server was
    unreachable or refused them (for example an API key without permission):
    nothing happened and no message appeared. They now show the reason. A failed
    container stop no longer starts the container again on "Restart", and a
    failed notification action no longer triggers a refresh as if it had worked.
  • Container logs keep the last good lines on a hiccup — one failed refresh
    of the live log tail replaced the logs with "no logs".
  • Pull-to-refresh actually refreshes — pulling down now reloads the data
    that is on screen, and the spinner stops as soon as the first refreshed data
    has arrived (or the server did not answer) instead of after a series of
    timeouts.
  • Notification list updates after an action during a refresh — archiving
    or deleting a notification while a refresh was already running could leave
    the list and the bell badge stale for up to a minute.
  • Live stats for every container (#224) — on current Unraid API versions
    one container per refresh never got live CPU/memory/IO numbers because the
    server sent its id with terminal control characters attached.
  • Network card shows speed on Unraid 4.35 and newer — the Overview's
    network card showed no speed on Unraid API 4.35 and newer; it now does.
    Live network speed needs Unraid API 4.35 or newer. Servers below 4.35
    that relied on a third-party API patch for this no longer show network
    speed until the API is updated (#217, thanks @lcadhd).
  • Local self-signed trust hardened — the server name is now checked for every certificate except the one you pinned, so this no longer depends on other app settings.
  • "Reset certificate" now sticks — saving or testing a server after resetting its certificate no longer brings the old certificate back; the next connection asks for confirmation again.
  • Saving a server no longer crashes when key storage is broken — if Android's secure key storage was reset, saving a server used to crash the app every time. It now shows an error with a "Reset key storage" button (after confirmation it deletes all saved API keys, which you then enter again). A save that fails in key storage also no longer leaves a duplicate server, and changing only the API key now takes effect immediately.

What's Changed

  • docs: match the stable release title to practice, intro for 0.1.41 by @nofuturekid in #220
  • ci: Bump the github-actions group across 1 directory with 2 updates by @dependabot[bot] in #216
  • docs: F-Droid store screenshots rendered from the real UI (+ icon) by @nofuturekid in #221
  • fix: read network throughput from the upstream metrics.network shape by @nofuturekid in #222
  • ci: harden release pipeline (guard, SHA pins, token hygiene, doc drift) by @nofuturekid in #227
  • ci: verify the release APK's own version, package and signer before publishing by @nofuturekid in #237
  • docs: draw status bar and gesture pill in store screenshots by @nofuturekid in #232
  • fix: surface failed actions, make pull-to-refresh refresh, stop losing nudges, normalise docker stats ids by @nofuturekid in #233
  • fix: UI review package (VM stop, confirms, polling, memory text, tabs, network hardware, privacy policy) by @nofuturekid in #235
  • fix: harden local self-signed trust, certificate reset and API-key storage recovery by @nofuturekid in #231
  • release: v0.1.42-beta1 — failed actions explain themselves, trust hardening, fresh screenshots by @nofuturekid in #238
  • release: v0.1.42-beta2 — failed actions explain themselves, trust hardening (APK verify fix) by @nofuturekid in #239
  • ci: Bump the github-actions group across 1 directory with 3 updates by @dependabot[bot] in #234
  • docs: reconcile HANDOFF, ADR index, CHANGELOG and tooling docs with 0.1.42-beta2 by @nofuturekid in #261
  • chore: drop the stale token-budget rule from the project CLAUDE.md by @nofuturekid in #240
  • docs: project website on GitHub Pages by @nofuturekid in #262
  • release: 0.1.42 — failed actions explain themselves, safer VM controls, trust hardening (Stable) by @nofuturekid in #265

Full Changelog: v0.1.41...v0.1.42

v0.1.41

Choose a tag to compare

@github-actions github-actions released this 06 Oct 19:14
v0.1.41
55bd196

Small fix release: connection errors now name their actual cause, and the
connection pill keeps showing Local/Remote when the server is unreachable
(#217).

Changed

  • Connection pill keeps the mode when offline — when the server
    can't be reached, the top-bar pill now reads "Local · Offline" or
    "Remote · Offline" instead of just "Offline", so you can see which
    address the app is using. Tap it to switch.

Fixed

  • Error messages name the actual cause — "Can't reach the server"
    errors now show the underlying reason next to the generic message
    (e.g. "Error while reading JSON response (EOFException: …)"),
    which makes connection problems much easier to report and pin down.

What's Changed

  • ci: Bump the github-actions group across 1 directory with 4 updates by @dependabot[bot] in #213
  • ci: Bump the github-actions group with 2 updates by @dependabot[bot] in #214
  • chore: check in the Claude release, ADR and GraphQL-smoke tooling by @nofuturekid in #215
  • fix: show the cause of request errors and keep the mode on the pill by @nofuturekid in #218
  • release: v0.1.41 (stable) — error messages name the cause, pill keeps the mode by @nofuturekid in #219

New Contributors

Full Changelog: v0.1.40...v0.1.41

v0.1.40

Choose a tag to compare

@github-actions github-actions released this 30 May 17:46
2e483a7

Stable promotion of the whole 0.1.40 cycle (beta1…beta10), maintainer
device-accepted. This release brings live, real-time server metrics to
the dashboard and Docker tab, a new temperature card, per-container
resource stats, and a batch of Array-tab accuracy improvements.

Added

  • Live, real-time server metrics — the dashboard's CPU and Memory
    cards, the Network card's upload/download speed, and per-container
    CPU/memory on the Docker tab now update live in real time via the
    server, instead of refreshing every couple of seconds. If the live
    connection drops, every card automatically falls back to the usual
    periodic refresh, so nothing goes blank.
  • Temperature card on the dashboard — shows your server's current
    CPU and system temperature live on two separate lines, with the hottest
    sensor highlighted; it turns amber or red when a sensor crosses your
    warning or critical threshold.
  • Per-container resource stats — the container detail view now shows
    live CPU and memory usage plus cumulative Network and Disk I/O totals
    (labelled as running totals, since they are counted since the container
    started).

Changed

  • Array tab separates Array from Cache/pool disks — array disks and
    cache/pool disks now appear in distinct "Array" and "Cache" sections
    in both List and Grid layouts.

Fixed

  • Sleeping disks show "Standby" — spun-down array disks now show a
    moon icon and "Standby" instead of a misleading "0°" temperature.
  • Disk errors are surfaced — each disk card now shows its I/O error
    count as a danger pill in both grid and list layouts.
  • Temperature warnings use your Unraid thresholds — disk and CPU
    temperature warnings now respect your Unraid global thresholds (and
    per-disk overrides) instead of fixed defaults, so a disk within your
    configured limits is no longer flagged as overheating.
  • ZFS pool members shown correctly — a ZFS mirror's second disk now
    appears as a pool member (with a "Pool" label and its raw size) instead
    of an empty disk with a misleading 0% usage bar.

What's Changed

  • feat: live network throughput card — subscription test balloon (0.1.40-beta1) by @nofuturekid in #200
  • feat: live CPU/mem/temperature + per-container docker stats via subscriptions (0.1.40-beta2) by @nofuturekid in #201
  • fix: temperature card filters out mislabeled voltage/fan sensors (0.1.40-beta3) by @nofuturekid in #202
  • feat: temperature card plots CPU and system as two lines (0.1.40-beta4) by @nofuturekid in #203
  • feat: network card gains a 2s poll fallback (metrics.network query path now exists) (0.1.40-beta5) by @nofuturekid in #204
  • fix: container detail shows live CPU/Mem + adds Network/Disk I/O (0.1.40-beta6) by @nofuturekid in #205
  • fix: label container Network/Disk I/O as cumulative totals (0.1.40-beta7) by @nofuturekid in #206
  • feat: array sleeping disks show Standby + richer disk data (0.1.40-beta8) by @nofuturekid in #207
  • feat: use Unraid global temperature thresholds for disk + CPU coloring (0.1.40-beta9) by @nofuturekid in #208
  • feat: Array tab separates Array/Cache + shows ZFS pool members correctly (0.1.40-beta10) by @nofuturekid in #209
  • release: 0.1.40 (Stable) by @nofuturekid in #210

Full Changelog: v0.1.39...v0.1.40

v0.1.39

Choose a tag to compare

@github-actions github-actions released this 29 May 20:37
1afdfba

Stable promotion of the 0.1.39 cycle (beta1…beta3), maintainer
device-accepted. This release reworks how you add and connect to a server
— a clean host-entry form replaces the free-text URL field — and adds
opt-in trust for local servers running HTTPS with a self-signed certificate
(ADR-0041).

Added

  • Add a server by entering just its address and flipping an SSL switch — the old free-text URL field (where you had to type http:// or https:// yourself) is replaced with a host/IP field, an optional port field, and a simple SSL toggle. The app composes the URL for you. Existing saved servers are unaffected — no re-entry needed. You can also paste a full address (with http:// or https://) and the app strips the scheme for you.
  • Connect to a local server that uses a self-signed HTTPS certificate — a new "Trust self-signed certificate (local only)" switch appears in the Local connection settings when SSL is on. Enable it, tap Test Local, and the app shows you the certificate's SHA-256 fingerprint; tap Trust once and the app remembers it. Re-testing a server reuses the stored pin automatically — no re-confirmation needed. If the certificate ever changes (e.g. you regenerated it), the app blocks and asks you to review and re-accept the new fingerprint. A "Reset certificate" button in settings forgets the stored pin. This trust is local-endpoint-only — remote connections always require a valid CA-signed certificate.

What's Changed

  • feat(metadata): add Fastlane structure for F-Droid catalog by @nofuturekid in #195
  • feat: host+SSL connection entry & self-signed local-cert trust (0.1.39-beta1) by @nofuturekid in #196
  • fix: cert prompt (Apollo-5 resp.exception) + per-endpoint Test (0.1.39-beta2) by @nofuturekid in #197
  • chore: 0.1.39-beta3 — re-test cert reuse, drop rename banner, URL-paste tolerance by @nofuturekid in #198
  • release: 0.1.39 — host+SSL & self-signed local-cert trust (Stable) by @nofuturekid in #199

Full Changelog: v0.1.38...v0.1.39