Skip to content

Latest commit

 

History

History
201 lines (169 loc) · 9.75 KB

File metadata and controls

201 lines (169 loc) · 9.75 KB

Changelog

All notable changes to server-scripts-cli will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.3.3 - 2026-08-12

Fixed

  • ssc.sh, install.sh, and generate-manifest.sh were not executable in the repository. All three carry a shebang line, but were tracked with mode 644, so running them directly (./ssc.sh list, as shown in the README) failed with Permission denied — the exact symptom already documented as a workaround in docs/TROUBLESHOOTING.md. Mode is now 755 in the repository, so a fresh clone works without a manual chmod +x step.

1.3.2 - 2026-08-09

Added

  • GitHub issue template configuration (.github/ISSUE_TEMPLATE/config.yml): disables blank issues and routes security reports to GitHub Security Advisories and general questions to Discussions.

Changed

  • ShellCheck now runs at warning severity in CI, up from error. This is the threshold the project always intended; see the note under Fixed for why it was never in effect. All existing findings were resolved first, so the stricter gate starts green.
  • Release workflow builds its release notes from the matching CHANGELOG.md section instead of from commit messages, and moves from softprops/action-gh-release@v1 to @v2. Because this project's commit messages are bare vX.Y.Z lines, generated notes carried no information.

Fixed

  • severity=warning in .shellcheckrc never had any effect. ShellCheck has no severity directive for its configuration file and discards unknown keys without a diagnostic, so the line read as the project's binding threshold while doing nothing. Verified by substituting an invented key, which behaved identically. The threshold now lives in .github/workflows/lint.yml, and the configuration file documents why it cannot live there.
  • Six ShellCheck findings that the previous error threshold hid: SC2155 in ssc.sh, generate-manifest.sh and examples/demo-scripts/backup-example.sh (declare and assign separately), SC2034 for an unused CYAN in generate-manifest.sh, SC2088 for a tilde inside a quoted message in install.sh, and three SC2295 quoting findings in generate-manifest.sh. The tree is now clean at ShellCheck's default severity, not merely at warning.
  • SC2064 on the trap in generate-manifest.sh is suppressed with a stated reason rather than "fixed": the suggested single-quoted form defers expansion until the trap fires, by which time the local temp_file is out of scope, so it would delete nothing and leak the temporary file.
  • Four dead links in this changelog. compare/v1.3.0...HEAD, compare/v1.0.0...v1.1.0 and releases/tag/v1.0.0 all pointed at tags that were never created. Version headings without a tag are now deliberately unlinked, with an HTML comment above the link block explaining why.
  • Version strings across ssc.sh, generate-manifest.sh, install.sh, the README badge and manifest.yaml are synchronised again. They had drifted to four different values, with ssc --version reporting 1.2.0 while the newest release commit was v1.3.1.
  • .shellcheckrc no longer carries a header describing unrelated private infrastructure.

Documentation

  • CONTRIBUTING.md names the exact ShellCheck invocation CI uses, including the note that the threshold is set in the workflow rather than in .shellcheckrc.
  • docs/MANIFEST_SCHEMA.md: metadata.version is the version of generate-manifest.sh that wrote the file, not a schema version.
  • CHANGELOG.md: the 1.3.1 entry is in English, matching the rest of the file.

[1.3.1] - 2026-07-26

Added

  • README.md: Last-Commit badge.

[1.3.0] - 2026-01-21

Added

  • CI/CD pipeline with GitHub Actions
  • ShellCheck linting workflow (severity: error)
  • Bash syntax validation workflow
  • Automated release workflow (tag-triggered)
  • .shellcheckrc configuration (Best Practices 2025)
  • CI status badge in README.md

Changed

  • All bash scripts now validated on every push to main branch
  • Automated GitHub Releases on version tags

1.2.0 - 2026-01-20

Added

  • Automated Installer (install.sh): One-liner installation with 3 modes
    • --local: Add alias to ~/.bashrc (default)
    • --user: Symlink to ~/.local/bin
    • --system: Install to /usr/local/bin (requires sudo)
    • Prerequisites check (Bash 4.0+, yq, git)
    • Color-coded logging and idempotent execution
  • Contributing Guide (CONTRIBUTING.md): Fork → Branch → PR workflow
  • Security Policy (SECURITY.md): Vulnerability disclosure process
  • Code of Conduct (CODE_OF_CONDUCT.md): Contributor Covenant v2.1
  • GitHub Issue Templates: Bug Report and Feature Request templates
  • GitHub PR Template: Standardized pull request format
  • Subdir Navigation: docs/README.md and examples/README.md index files

Changed

  • README.md: Complete overhaul
    • Added 7 professional badges (Version, License, Bash, Platform, Maintenance, YAML, Contributions)
    • One-liner installation as primary method
    • Manual installation moved to collapsible <details> section
    • New "Contributing" section with links to community docs
    • Updated Documentation and Examples sections with index links

Documentation

  • Added docs/README.md - Documentation index with file descriptions
  • Added examples/README.md - Demo scripts overview with usage guide

1.1.1 - 2026-01-17

Fixed

  • HIGH: Generator now supports examples/demo-scripts/ directory as fallback when scripts/ doesn't exist (#codex-high)
    • Enables testing generator in standalone demo repository without manual setup
    • Priority-based directory search: scripts/ first, then examples/demo-scripts/
  • MEDIUM: Fixed type taxonomy inconsistency - removed cli-tool default type, changed to admin (#codex-medium)
    • Default type changed from cli-tool to admin (Tier 1 type)
    • Updated CLI help text to show valid type examples
  • MEDIUM: Added auto-migration for deprecated cli-tool type → admin with warnings (#codex-medium)
    • Non-breaking change: existing scripts with type: cli-tool auto-migrate
    • Warning messages guide users to update YAML frontmatter
  • LOW: Synchronized version strings across all files to v1.1.1 (#codex-low)

Changed

  • Generator now scans directories in priority order: scripts/ first, then examples/demo-scripts/
  • Default type for scripts without frontmatter changed from cli-tool to admin
  • Updated CLI help text (ssc list --help) to remove cli-tool references

Deprecated

  • Type cli-tool is now deprecated - use deployment: cli-tool field instead
  • See MANIFEST_SCHEMA.md for migration guide

Documentation

  • Added "Deprecated Types" section to MANIFEST_SCHEMA.md
  • Added migration examples and behavior documentation

1.1.0 - 2026-01-16

Added

  • 4-Tier Type System: Organize scripts by usage pattern
    • Tier 1 (Interactive): report, admin, diagnostic, check, orchestrator
    • Tier 2 (One-time): deploy, setup, migration, generator, benchmark
    • Tier 3 (Background): daemon, scheduled, exporter
    • Tier 4 (Internal): library, helper
  • Smart Default Filtering: ssc list shows only Interactive types (Tier 1) by default
  • New --all flag: Show complete script list including all tiers
  • Enhanced Help Text: Detailed type hierarchy documentation in ssc list --help
  • Color-Coded Types: Visual distinction between tiers (Green/Yellow/Cyan/Magenta)
  • New Type: benchmark: Performance testing scripts (Tier 2)

Changed

  • Demo Scripts Updated: Migrated to new type system
    • backup-example.sh: backupadmin
    • monitoring-example.sh: monitoringcheck
    • health-check.sh: validationcheck
    • deploy-example.sh: automationdeploy
  • Manifest Schema: Updated with complete type hierarchy documentation
  • README: Enhanced feature list and examples

Deprecated

  • Legacy types (automation, backup, monitoring, validation) still supported but superseded by new types

[1.0.0] - 2026-01-02

Added

  • Initial public release
  • Core commands: list, run, info, status, logs, validate, generate
  • YAML manifest-based script discovery
  • systemd integration for status and logs
  • Category and status filtering
  • Search functionality
  • Security: Input validation, safe execution, requires_root detection
  • Demo scripts: 4 examples (backup, monitoring, health-check, deployment)
  • Complete documentation suite
  • MIT License