You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
What's New in 0.5.0
Added
Docker-based integration test CI (integration-test/test_dpm.py + .github/workflows/integration.yml) that spins up an OMCSI Spigot stack, deploys DPM, and asserts dpm list, dpm get, and dpm search produce the expected output; runs on workflow dispatch and nightly schedule
/dpm get now auto-downloads missing hard dependencies that are registered DPC plugins before downloading the requested plugin(s); transitive dependencies are resolved recursively and circular chains are handled safely
/dpm update [plugin-name ...] — when plugin names are provided, only those plugins are updated; tab-completion offers installed plugin names at every argument position
/dpm search <keyword> — searches registered plugin names and descriptions (case-insensitive substring match); results are colour-coded by install status
/dpm stats now shows installed plugin count alongside the total registered count
/dpm reload — reloads config.yml and re-applies live settings (e.g. githubToken) without a server restart
/dpm remove <plugin-name> [--confirm] — previews the JAR to be deleted; pass --confirm to actually remove it
Tab-completion for /dpm remove, /dpm clean, /dpm get, /dpm list, and /dpm update
One-line descriptions added to all 28 registered plugins; shown by /dpm info
Dependency declarations on ProjectRecord — hard and soft DPC-to-DPC relationships; /dpm info shows each dependency and install status
/dpm get accepts multiple plugin names
/dpm list installed and /dpm list available subcommands
Changed
PluginFolderService: O(1) batch directory scan via findAllConflictingJars and filterInstalled; eliminates O(N×M) loops across commands
GitHubReleaseService caches release responses for the session; /dpm reload clears the cache
/dpm clean previews deletions by default; pass --confirm to act