github tis24dev/proxsave v0.13.3

13 hours ago

ProxSave v0.13.3

🧩 Cleaner config upgrade diffs, smarter key insertion, and clearer upgrade reporting

This maintenance release improves the configuration upgrade experience by making upgrades more readable and less disruptive: missing template keys are inserted in a way that respects the user’s existing ordering, unanchored keys are grouped into a dedicated upgrade section, and upgrade results expose clearer summaries (including case-only conflicts). It also improves operator visibility by logging exactly which keys were added, and completes additional Italian → English comment/template text translations.

  • Better visibility after upgrades: When an upgrade adds missing keys, ProxSave now logs an Info message showing the count and a comma-separated list of newly introduced keys (cfgUpgradeResult.MissingKeys).
  • Insert missing template keys without reshuffling user config:
    • Config upgrade logic now preserves user key positions and inserts missing template entries near related “anchor” keys to avoid unnecessary rewrites.
    • parseEnvValues records per-key source ranges and computeConfigUpgrade builds ordered insert operations (sorted) to merge template lines into the original file with minimal diffs.
    • Improved handling for block (multi-line) values while preserving extra keys and casing-related warnings.
  • Dedicated upgrade section for unanchored keys:
    • Missing entries that have no nearby anchor are collected and appended under a single # Added by upgrade section (with appropriate spacing) instead of being inserted arbitrarily.
    • Template order is tracked via an index field to keep appended entries stable and predictable.
  • Clearer casing conflict behavior and reporting:
    • Improved warning wording for case-only differences (“preserved with original casing”).
    • Added CaseConflictKeys to the upgrade result and preserved case-conflict keys in place instead of treating them as extra keys.
    • Updated CLI output to print case-conflict summaries for dry-run and upgrade flows.
  • Consistent upgrade result state: MissingKeys is now always populated (empty slice when none are missing) to avoid inconsistent result handling by callers.
  • Documentation and comment language consistency: Translated remaining Italian comments and user-facing template/docs text to English (including backup.env template comments), with no functional behavior changes.

Overall: config upgrades are now more predictable and operator-friendly—minimal diffs, stable ordering, clearer summaries (including case conflicts), and better post-upgrade visibility of what changed.

Changelog

Don't miss a new proxsave release

NewReleases is sending notifications on new releases.