Files
ServerKit/.github/PULL_REQUEST_TEMPLATE.md
Juan Denis f0b7ecabd9 Backfill changelog and tighten release-note policy
Reworked `CHANGELOG.md` into a Keep a Changelog-style release history backfilled from published GitHub releases (starting at 1.6.25), added a structured `Unreleased` section, and linked each version to release/comparison URLs. Updated contributor guidance and the PR template to require concise user-facing changelog notes (or justification when not needed), and added a direct changelog link in the README navigation to make release history easier to find.
2026-09-07 02:25:38 -04:00

2.7 KiB

Description

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • 🚀 New feature (non-breaking change which adds functionality)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update
  • 🎨 UI/UX improvement

How Has This Been Tested?

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added a concise user-facing note under Unreleased in CHANGELOG.md, or explained why this change needs no release note
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Shell scripts only (install.sh, uninstall.sh, serverkit, scripts/**)

  • Every new pipeline / command substitution can benignly fail (empty dir, missing conf, zero matches, dead service) without aborting the script — observations are guarded; halt is reserved for "cannot safely continue"
  • No [ … ] && cmd as a function's last statement (returns 1 when the test is false and kills unguarded callers) — use if
  • Bare x="$(cmd)" assignments only wrap infallible producers; anything that can fail sits inside if x="$(cmd)"; then
  • Functions whose stdout is captured send progress output to stderr
  • "Warn and continue" helpers are errexit-immune internally, and teardown/rollback paths never abort over a single failed step
  • Every new observation/discovery/snapshot/report function is appended to the fresh-box loop in its test suite, and I named which degenerate fixture covers the new failure mode
  • Multi-statement test bodies in tested contexts (if ( … ) subshells, the left side of ||) are &&-chained — bash suppresses set -e there even when re-armed inside, so sequential statements assert only the last one
  • The fix/feature ships with its proving test in the same commit