v1.2.0
·
16 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Overview
This release enable single-file NativeAOT publish on Linux and macOS by statically linking the Unix native shim, so consumers no longer need to ship libminipty_unix.so / .dylib alongside their app.
Why?
In v1.1.0, Unix targets always used shared native libraries (.so / .dylib) copied into the publish output. v1.2.0 adds libminipty_unix.a for linux-x64, linux-arm64, osx-x64, and osx-arm64, plus buildTransitive/MiniPty.targets that automatically static-links the archive when PublishAot=true on those RIDs.
- Linux: The PTY shim is linked into the executable; publish output is a single binary (no .so / .a sidecar).
- macOS: The shim is statically linked, but minipty_spawn_helper is still required at runtime (posix_spawn) and is copied from the package / runtimes/ tree.
- Windows: Unchanged — ConPTY remains in-process with no native shim.
Other RIDs (e.g. linux-musl-x64) continue to use the shared-library path via the runtime graph. CI now includes NativeAOT publish smoke tests on release, with clearer errors when native artifacts are missing.
What's Changed
- chore(deps): bump actions/checkout from 6.0.2 to 7.0.0 in the dependencies group by @dependabot[bot] in #37
- feat: Support NativeAOT static linking on Linux and macOS by @guitarrapc in #38
Full Changelog: v1.1.0...v1.2.0