Skip to content

Releases: msutara/cm-plugin-update

v0.4.5 — Build-time version injection

22 Mar 18:02
69325e9

Choose a tag to compare

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-go bumped from v5 to v6
  • Plugin version string corrected to match the tagged release

CI Maintenance

  • Dependabot bumped actions/setup-go from v5 to v6 (#31)

Full Changelog: v0.4.4...v0.4.5

v0.4.4 — chi v5.2.5, workspace support

20 Mar 22:15

Choose a tag to compare

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.work and go.work.sum to .gitignore for Go workspace-based local development
  • Regenerated go.sum for CI compatibility (GOWORK=off)

v0.4.3

09 Mar 14:45
ebc914f

Choose a tag to compare

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 --upgradable with per-package version tracking
  • Security Classification — Auto-detects -security apt source availability; restricts operations accordingly
  • Security-Only Updates — Targeted apt-get upgrade restricted to security release pocket
  • Full System Upgradeapt-get dist-upgrade with 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-confold preserves 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-get handled 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