Skip to content

v0.5.0

Choose a tag to compare

@dmccoystephenson dmccoystephenson released this 17 May 05:44
· 11 commits to main since this release
a62fe84

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
  • Removed Javadoc blocks project-wide; kept non-obvious algorithm notes as single-line comments