Releases: msutara/cm-plugin-update
Releases · msutara/cm-plugin-update
v0.4.5 — Build-time version injection
What's New in cm-plugin-update v0.4.5
Build-Time Version Injection (#33)
Version() no longer returns a hard-coded string. It now reads from a
package-level variable (var version = "dev") that core's Makefile and
CI workflow set via -ldflags -X at build time. Local dev builds
report "dev"; release builds report the tagged version.
CI and Version Fix (#32)
actions/setup-gobumped from v5 to v6- Plugin version string corrected to match the tagged release
CI Maintenance
- Dependabot bumped
actions/setup-gofrom v5 to v6 (#31)
Full Changelog: v0.4.4...v0.4.5
v0.4.4 — chi v5.2.5, workspace support
What's new in v0.4.4
Dependencies
- Bumped go-chi/chi from v5.2.1 to v5.2.5 (bug fixes and performance improvements)
Infrastructure
- Added
go.workandgo.work.sumto.gitignorefor Go workspace-based local development - Regenerated
go.sumfor CI compatibility (GOWORK=off)
v0.4.3
Update Plugin v0.4.3
System package update management for Debian-based nodes. Detects pending upgrades,
classifies security vs. regular updates, and executes apt-get operations with
execution history and log retention.
Features
- Update Listing — Query
apt list --upgradablewith per-package version tracking - Security Classification — Auto-detects
-securityapt source availability; restricts operations accordingly - Security-Only Updates — Targeted
apt-get upgraderestricted to security release pocket - Full System Upgrade —
apt-get dist-upgradewith all configured sources - Smart Security Detection — Probes system once via
apt-cache policy, caches result (handles Debian/Raspberry Pi OS differences) - Run History — Tracks status, duration, package count, and log output per execution (truncated to 64 KB)
- Concurrency Control — Mutex prevents overlapping update runs; returns clear "already running" error
- Non-Blocking Execution — Supports sync (progress reporting) and async (scheduled jobs) modes
API Endpoints
| Method | Path | Description |
|---|---|---|
GET |
/status |
List pending updates with security flag |
POST |
/run |
Trigger update ({type: "security"|"full"}) |
GET |
/logs |
Last run's combined apt output |
GET |
/config |
Plugin configuration (schedule, etc.) |
Implementation Details
DEBIAN_FRONTEND=noninteractive+--force-confoldpreserves local config files- Log output truncated to last 64 KB with
...(truncated)marker - Regex-based parsing of apt summary lines and upgrade counts
- Non-Linux environments gracefully return empty update lists
- Missing
apt/apt-gethandled with clear error messages
Infrastructure
- golangci-lint v2.1.6 with proper v2 config schema
- CI: checkout v6, markdownlint-cli2-action v22, golangci-lint-action v9
- Community files: CODE_OF_CONDUCT (Contributor Covenant v2.1), issue/PR templates, dependabot