Releases: pragtical/plugin-manager
v1.5.5
Build static Linux release binaries Add a Meson option for statically linking only the final ppm executable and enable it for all Linux release artifacts. This preserves the old build.sh behavior without forcing helper binaries from fallback subprojects to link statically. Verify Linux release artifacts in CI by failing when readelf still reports an ELF program interpreter, which catches binaries that would require a missing musl loader on Ubuntu runners. Bump the plugin_manager manifest version for the packaging fix.
v1.5.4
Handle TLS tickets in mbedTLS streams Treat TLS 1.3 NewSessionTicket post-handshake notifications as transient mbedTLS stream results in the libgit2 package file. GitHub may send these while libgit2 is waiting for application data, and surfacing them as hard SSL failures breaks repository fetches on the Windows mbedTLS build. Keep retrying through the notification along with WANT_READ and WANT_WRITE so clean-cache repository fetches and plugin installs continue normally.
v1.5.3
Install plugin manager files with Meson When install_plugin is enabled, place the ppm binary in the plugin_manager plugin directory instead of the normal bindir. Install only the plugin_manager subdirectory and copy json.lua into Pragtical libraries so the Meson install layout matches the packaged plugin expectations.
latest
Build static Linux release binaries Add a Meson option for statically linking only the final ppm executable and enable it for all Linux release artifacts. This preserves the old build.sh behavior without forcing helper binaries from fallback subprojects to link statically. Verify Linux release artifacts in CI by failing when readelf still reports an ELF program interpreter, which catches binaries that would require a missing musl loader on Ubuntu runners. Bump the plugin_manager manifest version for the packaging fix.
Continuous Release
Build static Linux release binaries Add a Meson option for statically linking only the final ppm executable and enable it for all Linux release artifacts. This preserves the old build.sh behavior without forcing helper binaries from fallback subprojects to link statically. Verify Linux release artifacts in CI by failing when readelf still reports an ELF program interpreter, which catches binaries that would require a missing musl loader on Ubuntu runners. Bump the plugin_manager manifest version for the packaging fix.
v1.5.2
Build ppm release artifacts with Meson
Replace the build.sh release path in CI with Meson setup and
compile steps that use forcefallback wraps for static builds.
Add Meson options for release metadata, target arch, and
artifact names so ppm embeds the same version strings while
producing the expected platform-specific binary names directly.
Add cross files for the Linux, Windows, and Android targets from
the workflow, and provide pure Meson packagefiles for libgit2 and
libzip so forcefallback builds do not rely on CMake subprojects.
Embed the static Lua payload from source bytes with Python so CI
does not need a build-machine lua executable, and cross builds do
not try to run a target-machine Lua binary.
Probe libgit2 random and qsort helpers through their declaring
headers so macOS and Android SDK targets do not enable unavailable
libc entry points, and avoid linking librt on Android.
v1.5.1
Fix repository recovery after ppm purge Correct remote repository expansion when initializing default repositories so remotes declared by plugin-manager.git, such as plugins.git and colors.git, are added instead of skipped. This lets available addons be listed again after a purge. Classify datadir addons as bundled unless they are known core plugins. This prevents a missing repository cache from making bundled colors and plugins appear as core addons. Bump the plugin_manager manifest version to 1.5.1 for the ppm purge recovery fix.
v1.5.0
Improve plugin manager update handling Refresh repository data separately from upgrades, add progress feedback for install, uninstall, update, and archive extraction work, and support upgrading individual selected addons from the UI. Make ppm update remote stub repositories for installed addons and report available versions in list output. Handle bundled addons by comparing repository contents against the bundled copy, so bundled dependencies are not removed while user-installed copies can still shadow them. Pass the current Pragtical mod version and data directory through the pragtical pm wrapper so command-line dependency resolution matches the UI. Fix upgradable detection to avoid same-version rows. Improve Plugin Manager list interactions by filtering on addon ids and tags, showing differing ids in row names, and preventing the first row from accidentally triggering column sorting. Hide source and README actions for font rows, since fonts cannot be unstubbed like source addons. Harden unstub response handling so missing addon payloads reject cleanly and clear the UI loading state. Protect plugin_manager and json rows in the UI by marking installed, orphan, or upgradable copies as special and hiding repository candidates for those ids. This prevents the manager from offering to modify itself while it is running. Bump the plugin_manager addon version after the plugin manager and ppm behavior changes so repository metadata advertises the new package state.
v1.4.7.1
try fix macos build
v1.4.0
- Added in ability for
plugin_managerto sort and filter plugins easily. (Thank you "Big T" @takase1121!) - Added in ability to detect when ppm is being run not from a console on Windows, and added a pause mechanism.
- Support symbolic links in windows.
- Added in internal hashing mechanism, as libgit no longer provides, and mbedtls doesn't either.
- Added in significant amount of new swtiches to modify what's included in an ppm build, full list in
build.sh. - Allowed for unzipping of
.gzwhen not.tar.gz. - Fixed errors when handling chunked transfer encoding.
- Changed way that we construct bottles, so that we don't do as much copying. Will still copy executables in the case where it would not function if we symlinked.
- Properly symlink folders when
--symlinkspecified; we symlink folder contents, not the folder itself, so we no longer pollute source folders. - Added in the ability to create named bottles.
- Changed behaviour of
switchto simply deal withppmdefaults, rather than changing anything about the system itself. - Added the distinction of a
primarybottle (i.e. the one we've switched to), and thesystembottle (i.e. the one that has a userdir at~/.config/pragticaland is on the path). - Changed default location of
CACHEDIRfromUSERDIR/ppmto~/.cache/ppm. Which means that across many different user directories, we will keep a proper cache. - Changed the way we run bottles; we now specify
PRAGTICAL_USERDIRas an environment variable, rather than creating auserdirectory.