Skip to content

Releases: ExponentiallyDigital/cfg-pia-wg

v0.7.08 (build 368)

Choose a tag to compare

@github-actions github-actions released this 04 Aug 23:53

2026-08-05 v0.7.08 build 368

  • REL: Updated ./scripts/update-shas.sh to stop using API returned "latest" SHA version (setup java's tag was touched today returning v1.4.5 instead of v5.7.0!), now pulls all versions, sorts, and picks highest release.
  • REL: release.yml now uses pubspec.yaml to parse current build and release.

2026-08-05 v0.7.07 build 367

  • DOC: Added "GB" to "...8, 16, 32, 64 RAM configuations..." in BUILDING.md
  • DOC: Split out backlog from CHANGELOG.md to BACKLOG.md.
  • REL: Added URL redirect from https://exponentiallydigital.com/cfg-pia-wg/changelog to https://github.com/ExponentiallyDigital/cfg-pia-wg/blob/main/CHANGELOG.md
  • REL: Added promote.yml, promotes PS aab from internal track to production.
  • REL: Parse changelog entries by matching against the pushed tag, sort by type and insert as GH release text.
  • REL: Updated release.yal to push aab to PS via API.
  • REL: Updated scripts/update-shas.sh
  • TST: Added test/release/release-notes.sh to test new automated GH release notes, run from repo root.

2026-08-03 v0.7.06 build 366

  • REL: Buildchain updated with flutter pub upgrade --major-versions & .\android\gradlew -p android :dependencies :app:dependencies --write-locks
  • REL: Upgraded Flutter to 3.44.8 from 3.44.5 with flutter upgrade --force

v0.7.05 build 365

Choose a tag to compare

@github-actions github-actions released this 03 Aug 13:28

2026-08-03 v0.7.05 build 365

  • CHG: updated SHAs.
  • CHG: updated android\app\build.gradle.kts to base.archivesName.set("cfg_pia_wg") // this sets the name of the .AAB output file.
  • CHG: removed postscript from in-app LICENSE display.
  • DOC: updated CHANGELOG format.
  • DOC: added how to upgrade dependency versions in BUILDING.md "4.1.2. When to regenerate lockfiles"
  • REL: updated dependencies: dartssh2 2.22.5 & jni 1.0.3
  • REL: tagged for release.

2026-08-03 v0.7.04 build 364

  • REL: renamed app from cfg_pia_wireguard -> cfg_pia_wg (must use underscores, cannot use hyphens)
    1. update pubspec.yaml -> name: cfg_pia_wg
    2. search and replace in .dart files -> "import 'package:cfg_pia_wg/"
    3. update android/settings.gradle.kts -> rootProject.name = "cfg_pia_wg"
    4. check tests run and app compiles
    5. update .github\workflows\release.yml -> mv build/app/outputs/bundle/release/cfg_pia_wg-release.aab
    6. update scripts\build.ps1
      1. $TARGET_APK = "build/cfg_pia_wg-v${VERSION}_release.apk"
      2. $APK_RELEASE = "build/cfg_pia_wg-v${VERSION}_release.apk"
      3. $AAB_RELEASE = "build/app/outputs/bundle/release/cfg_pia_wg-release.aab"
    7. update scripts\build.sh
      1. TARGET_APK="build/cfg_pia_wg-v${VERSION}_release.apk"
      2. APK_RELEASE="build/cfg_pia_wg-v${VERSION}_release.apk"
      3. AAB_RELEASE="build/app/outputs/bundle/release/cfg_pia_wg-release.aab"
    8. save and exit VS Code, check tests run and app compiles with .\scripts\build all
    9. check app builds on GitHub dev branch
  • FIX: can't paste into password fields, and can't "q"uit debug running in any screen showing password fields, also causing screen D/EGL_emulation(24795): app_time_stats: avg=499.58ms min=498.77ms max=500.27ms count=3 count to increment; revert build 363 changes to lib\widgets\common_fields.dart and lib\watchdog_dialog.dart. Tested and now operating correctly: can "q"uit debugger, no incrementing count and can paste.

2026-08-03 v0.7.03 build 363

  • FIX: Disabled ability to copy a password when the field is revealed. (Didn't check could paste, which is now broken when testing build 364, reverted changes in build 364)

2026-08-03 v0.7.02 build 362

  • DOC: Update readme with the new name of the command-line tool - cfg-pia-wg.
  • FIX: Updated pubspec.yaml - app name was showing incorrectly in launchers, updated from "Configure PIA WireGuard" to "cfg-pia-wg".
  • DOC: Spellcheck ARCHITECTURE, CHANGELOG, and README.md.
  • DOC: Replace ipv4.icanhazip.com in architecture.md, now using ping targets.
  • DOC: Add to README.md that screenshots are disabled.
  • DOC: Update security.md hotlink for reporting an issue, fix US spellings, remove Inactivity session self-destruct.
  • CHG: Router IP address, 192.168.1.1 by default (matches SVG examples) and retained when entered.
  • DOC: Add copies of all Claude plans to repo.
  • GUI: Display the quad 9 default DNS addresses next to the Cloudflare ones in generate.
  • GUI: Suggested DNS address help text is truncated.
  • BLD: Added a warning to understand what the build optimisation script does before use.
  • DOC: clarified README.md reason for JFFS partition enablement for storage of the watchdog script and settings between reboots.
  • REL: Drop debug and release builds from Actions workflows, update README.md to account for this
  • DOC: added TOC and section numbering to TESTING.md
  • ARC: per TESTING.md, the architecture only deploys /jffs/scripts/services-start and /jffs/scripts/watchdog_wgcN.sh to NVRAM. Other files are written to volatile storage: /tmp/watchdog_wgcN.log, /tmp/watchdog_last_ping_success_wgcN, and /tmp/watchdog_backoff_wgcN. This reduces NVRAM write wear. The watchdog log is not persistent and is rotated at midnight to reduce volatile storage.
  • DOC: added note to test that VPN is active after a firmware update (JFFS may be recreated by flashing process).
  • GUI: enlarge WireGuard Configuration prompt for PIA credentials so that you can see the example DNS addresses; display is truncated.
  • DOC: Update privacy.html to note that URLs in About screen go to locations on the Internet.
  • INF: log message "kernel: jffs2: warning: (27325) jffs2_sum_write_data: Summary too big (-32 data, -877 pad) in eraseblock at 00280000", only seen once. No activity from app or script around that time. Checked deployed artifact sizes: 8,346 bytes (watchdog script), 205 bytes (services-start), 2,719 bytes (pia_ca.rsa.4096.crt), 181 bytes (cron entries) -> 11,451 bytes total used by app (typical). Web searches show that this can be ignored: created during NVRAM housekeeping. Likely occurred as a result of extensive app testing.
  • ARC: check all non-critical data written to tmp, not JFFS

v0.7.01 build 361

Choose a tag to compare

@github-actions github-actions released this 30 Jul 15:38

Changes:

  • REL: deploy to 'production' on Google Play Store
  • CHG: add updated watchdog modal screenshot to Play Store
  • REL: create a GitHub Actions release and verify build data in the new "About" screen
  • CHG: removed Watchdog DISABLE and ENABLE menu options + services, rolled capability to CREATE/EDIT
  • CHG: renamed watchdog "EDIT" button to "CREATE/EDIT"
  • CHG: PIA username/password now cached while the app is running, no need to keep entering it (this matches the router username/pwd caching)
  • CHG: pdated text displayed when editing a watchdog slot
  • GUI: app name had reverted from yesterday's backed-out changes -> cfg-pia-wg
  • DOC: updated app name in README
  • GUI: updated text when deleting a watchdog
  • CHG: updated watchdog modal screenshot in docs
  • DOC: updated Watchdog functionality changes
  • CHG: no message is written to the router log if you edit and save the watchdog's cronIntervalMinutes - the cron job is updated, cosmetic
  • DOC: updated (FLAG_SECURE) entry in README
  • DOC: updated Privacy Policy noting in-app links to the app's source code & documentation

v0.6.28

Choose a tag to compare

@github-actions github-actions released this 30 Jul 02:40
release build 358

v0.6.21 build 351

Choose a tag to compare

@github-actions github-actions released this 27 Jul 12:16

2026-07-27 v0.6.21 build 351

  • ADD: update-shas.ps1 now uses a 24-hour cache
  • ADD: update-shas.ps1 added -ForceRefresh switch
  • FIX: update-shas.ps1 trailing comments

Full Changelog: v0.6.20...v0.6.21

v0.6.20 build 350

Choose a tag to compare

@github-actions github-actions released this 20 Jul 13:24

2026-07-20 v0.6.20 build 350

  • ADD: added updating of dependencies to build.ps1/.sh (NB major versions are not upgraded automatically)
  • ADD: allow copy/paste from router log
  • ADD: COPY button to the router log display screen
  • MOD: optimised, and reduced size of kWatchdogScriptTemplate by 123 chars
  • ADD: watchdog shell script now checks for Internet access before attempting repair
  • CHG: router watchdog shell script does not ping secondary target if primary is successful
  • FIX: updating the watchdog timeout in the UI did not update a pre-existing cron schedule
  • FIX: if you created a VPN via the watchdog interface, it was showing as enabled when it was not. Removed reminder to set it to active; when saving, the watchdog script is deployed and runs immediately.

v0.6.18

Choose a tag to compare

@github-actions github-actions released this 08 Jul 07:02

2026-07-06 v0.6.18 build 348

  • set minSdk = 24 (Android 24, Android 7.0 Nougat) in android\app\build.gradle.kts
  • source code grammer and spelling (non functional changes)
  • reverted internal name space to "com.exponentiallydigital.pia_wireguard_cfga" in MainActivity.kt, proguard-rules.pro, build.gradle.kts, and settings.gradle.kts. This was part of the rename several commits ago but I found that this would have forced a complete restart of the Google Play closed test.
  • updated actions/setup-java SHA to latest version
  • updated dependency locks with "cd android; ./gradlew dependencies --write-locks"
  • updated BUILDING.md to note how to upgrade flutter packages to their latest compatible build

v0.6.17

Choose a tag to compare

@github-actions github-actions released this 06 Jul 14:07

v0.6.17 build 347 temporary change to allow screenshots to be taken (to allow Android testers to prove that they have the app installed and are testing it - "SwapTest - 12 Testers" & "Testnest")

v0.6.16 build 346

Choose a tag to compare

@github-actions github-actions released this 29 Jun 14:10
43840fb
  • updated GitHub actions dependency versions
  • modified readme formatting, added build chain details, normalised brand name convention

v0.6.14 build 344 security FIX

Choose a tag to compare

@github-actions github-actions released this 26 Jun 18:59

After auditing the router's file system, it was found that /usr/sbin/curl writes a command-line history to /jffs/curllst with 666 (!) file permissions. This log file is also rotated and may exist as /jffs/curllst.1. There appears to be no way to stop this file from being generated/used, so the bash script empties the file after every curl execution with an echo -n > /jffs/curllst ;)