Skip to content

Release 0.2.0 - #8

Merged
jwinarske merged 1 commit into
mainfrom
release/0.2.0
Aug 25, 2026
Merged

Release 0.2.0#8
jwinarske merged 1 commit into
mainfrom
release/0.2.0

Conversation

@jwinarske

@jwinarske jwinarske commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Prepares the 0.2.0 release: version bump and CHANGELOG entry. No code changes — everything being released already landed via #3.

Version

0.1.20.2.0. The API diff since v0.1.2 is 298 insertions and zero deletions across lib/, so nothing breaks. The minor bump reflects the new public surface rather than any incompatibility.

What's in the release

  • App lifecycle controlFlatpakClient.launch() returns the FlatpakInstance libflatpak created, so callers get the instance id and pids without polling; stop() terminates every running instance of an app id; listRunning() lists running sandboxes. Both stop() and listRunning() are host-wide, since flatpak instances are not scoped to an installation.
  • Launches run off the calling isolate on a dedicated serial thread, with the launched process reaped in the background rather than left as a zombie.
  • stop() uses pidfd where available — pinning the exact process rather than a pid that may have been recycled — and escalates SIGTERM to SIGKILL after a 1.5s grace period. Process identity is verified against /proc/<pid>/stat start time on both the pidfd and fallback paths.
  • FlatpakStopException, split out from FlatpakNotFoundException. Previously the two were conflated and a running app could be reported as not running.
  • Build hook: skip_native_build user-define for build systems that cross-compile the native library out of band (Yocto/meta-flutter), clear_ambient_flags for polluted host environments, Ninja detection, and no forced clang pin so the native library matches the target's libflatpak toolchain.

Validation

dart pub publish --dry-run clean · 72/72 Dart tests · dart analyze clean.

Adds app lifecycle control (launch/stop/listRunning + FlatpakInstance),
the FlatpakStopException split from FlatpakNotFoundException, and the
build-hook reworks (skip_native_build / clear_ambient_flags user-defines,
Ninja detection, no forced clang pin).

Purely additive to the public API: 298 insertions and no deletions across
lib/ since v0.1.2.

Signed-off-by: Joel Winarske <joel.winarske@linux.com>
@github-actions

Copy link
Copy Markdown

Coverage after merging release/0.2.0 into main will be

27.76%

Coverage Report for Changed Files
FileStmtsBranchesFuncsLinesUncovered Lines

@jwinarske
jwinarske merged commit e301a54 into main Aug 25, 2026
7 checks passed
@jwinarske
jwinarske deleted the release/0.2.0 branch August 25, 2026 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant