Skip to content

Releases: SimTimms/deploynope

v2.1.0

14 Mar 21:39
4e2491e

Choose a tag to compare

What's New

Global Hook Installer

  • Added install.sh — one-command installer that symlinks commands and hooks to ~/.claude/, merges hook config into ~/.claude/settings.json with backup
  • Added uninstall.sh — paired cleanup script that only removes DeployNOPE symlinks and config
  • Updated README quick start to lead with ./install.sh, manual steps in collapsible details block
  • /deploynope-configure now warns if hooks aren't installed globally

Worktree CWD Fix

  • Added hook-helpers.sh — shared helper for CWD resolution and config reading across all hooks
  • All 9 hooks now resolve the effective working directory from cd prefixes in commands, fixing false positives when working in git worktrees
  • Push hook correctly parses explicit branch targets from command arguments, handling flags like --force-with-lease between push and remote/branch

Full Changelog

v2.0.0...v2.1.0

v2.0.0

14 Mar 20:24

Choose a tag to compare

What's New

Hook Hardening (Breaking)

  • JSON safety: All 9 hooks now use jq -n for output — commands with quotes, backslashes, and special characters no longer produce invalid JSON
  • Config-driven branches: Removed hardcoded master/main assumptions from merge, tag, reset, and push hooks — all branch names read from .deploynope.json
  • False positive fix: echo git commit no longer triggers the commit hook

Merged from 1.9.0+

  • Protection-unlock state tracking: Reset hook hard-blocks production resets unless .deploynope-protection-unlocked state file exists (created automatically by the API protection hook)
  • Protected branch deletion guard: Cannot delete production/staging/development branches via Claude Code
  • Commit warnings: Warns when committing directly to protected branches
  • Force-push escalation: Escalated warnings for force-pushes to staging and other branches
  • Configure options: Team size and commit prefix settings added to /deploynope-configure

Test Suite

  • 116 assertions across all 9 hooks (up from 109 in 1.8.0)
  • Tests verify fixed behavior, not document bugs
  • Coverage matrix updated

Run Tests

./tests/run-tests.sh

v1.12.0

14 Mar 20:32

Choose a tag to compare

What's Changed

  • Added mandatory branch sync step after manifest/changelog — syncs staging and development with master before clearing staging
  • Added automatic post-deploy checks at end of every deployment
  • Updated changelog to run automatically when enabled, before branch sync
  • Replaced README version history with link to GitHub Releases
  • Reordered all three deployment checklists with correct step sequence

v1.11.0

14 Mar 20:07
c317c2f

Choose a tag to compare

What's Changed

  • Added teamSize and commitPrefixes prompts to /deploynope-configure
  • These options existed in the deploy ruleset since v1.2.0 but were never prompted for during configuration

v1.10.0

14 Mar 19:26

Choose a tag to compare

What's Changed

  • Restored 1.6.0 review fixes to production (hook improvements, configure validation, branch delete protection, commit warnings for protected branches, force-push escalation, production reset state tracking)
  • Increased hook timeouts for reliability
  • Added .deploynope-protection-unlocked state file tracking

v1.9.0

14 Mar 18:48
f81809d

Choose a tag to compare

What's Changed

  • Added stale release branch guard — before resetting staging, verifies the release branch contains all commits currently on production, preventing production rewind
  • Updated preflight check with stale branch detection as a blocker
  • Updated all deployment checklists (feature, hotfix, chore) to include the new check

v1.8.0

14 Mar 18:38

Choose a tag to compare

What's New

Hook Test Suite

  • Added a comprehensive bash test suite (tests/) with 109 assertions covering all 9 DeployNOPE hooks
  • Test helpers create disposable git repos, simulate hook JSON input, and assert decisions (deny/ask/passthrough)
  • Coverage matrix documenting every rule's enforcement mechanism and identifying gaps
  • Discovered two bugs: quotes-in-JSON hook output and false positive on echo git commit

Run Tests

./tests/run-tests.sh           # all tests
./tests/run-tests.sh push merge # filter by hook name

v1.7.0

14 Mar 18:15
6c58c37

Choose a tag to compare

What's Changed

  • Added stage tags table to README documenting all 🤓 DeployNOPE @ <Stage> labels
  • Added /deploynope-stale-check to the commands table
  • Added version history section covering v1.0.0 through v1.5.0

v1.6.0

14 Mar 18:10
b9bac97

Choose a tag to compare

Critical Review Fixes (W1-W10)

Hook Safety Upgrades

  • W1: Hard-block git reset --hard on production without verified protection unlock
  • W2: Detect force-pushes (--force, -f) with escalated warnings for staging
  • W3: Track branch protection unlock/relock state via .deploynope-protection-unlocked file
  • W6: Hard-block deletion of production, staging, and development branches
  • W8: Warn when committing directly to protected branches

Command Improvements

  • W9: Config validation in /deploynope-configure — tests repo access, branch existence, API access
  • W10: Auto-detect previousVersion in release manifests

Configuration

  • W7: Increased hook timeout to 15s for network-dependent push/reset hooks

v1.5.0

14 Mar 17:44
5e590a7

Choose a tag to compare

v1.5.0

Added

  • Contextual stage labels: replaced static Protected by DeployNOPE tag with DeployNOPE @ <Stage> tags across all commands
  • Release branch validation before suggesting base branch or PR target — prevents branching off or targeting already-deployed release branches

Changed

  • Framework Visibility section now includes a full stage label lookup table
  • Commit and push confirmation blocks use dynamic stage labels