Skip to content

Commit fcaaddf

Browse files
committed
chore(release): cut v1.1.0 — first tagged release
WHY: Hug SCM has shipped continuously to main without a single tagged release or version number — users had no way to answer "which Hug do I have?" and there were no release notes to read. The recent `hug dd` visual-diff family (#166) added a VERSION file (1.1.0-dev) and a `hug version` command, which finally made a real release both possible and worth doing. This commit turns the accumulated, never-released work into v1.1.0: the first point on the project's version timeline and the baseline every future bump compares against. WHAT: - VERSION: 1.1.0-dev → 1.1.0 (finalize the in-development marker). - CHANGELOG: promote the unreleased work into a single, dated `## [1.1.0] - 2026-06-04` section and open a fresh empty `## [Unreleased]`. Consolidation only — no entry content was rewritten or dropped: * merged a duplicated `### Added` header (two adjacent blocks → one); * folded a malformed second `## [Unreleased] - 2025-01-13` (the older Makefile-canonical-targets batch) into [1.1.0] as a dated `### Changed` subsection — with no prior release, every "unreleased" pile belongs to this first one; * dropped a now-stale "(currently `1.1.0-dev`)" parenthetical so the CHANGELOG and the VERSION file no longer contradict each other. HOW: Surgical header edits, not a rewrite. The ~110 lines of Makefile migration tables were left physically in place rather than reproduced — the safe way to restructure a CHANGELOG, because reordering big blocks by hand is exactly how content gets silently lost. Every bullet was verified present after the edits (header counts + per-feature grep probes). IMPACT: `hug version` now reports a real number (1.1.0) that maps to a dated, quotable release-notes section and a `v1.1.0` git tag / GitHub release. Semver note: the CHANGELOG lists "breaking changes" (Makefile target renames, worktree-indicator and stdout/stderr output-format shifts), but those are contributor- and script-author-facing, not breaks in the core CLI contract — and as the *first* tag there is no prior release to break compatibility with, so a 1.1.0 minor baseline is correct rather than 2.0.0. Known doc debt deferred out of this release (pre-existing, not introduced here): CLAUDE.md still claims "21 modular library functions" (actual: 35 lib files), and git-config/lib/README.md documents a curated ~9-module subset (both hug-git-diff and the new hug-git-difftool are absent). Cleaning those is a focused docs pass, not release-cut scope. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 184d1a2 commit fcaaddf

2 files changed

Lines changed: 5 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ All notable changes to the Hug SCM project will be documented in this file.
44

55
## [Unreleased]
66

7+
## [1.1.0] - 2026-06-04
8+
79
### Fixed
810

911
- **`hug-common` self-resolves `HUG_HOME` from `BASH_SOURCE[1]`.** On CI where `HUG_HOME` is unset, `hug-common` now derives it from the sourcing script's path instead of calling the undefined `error` function and `exit 1` (which killed the parent). Fixes `test_quality_corpus.py` failures on GitHub Actions — 12 of 17 keyword/intent search tests were failing because `--help` subprocess invocations returned empty metadata.
@@ -16,10 +18,8 @@ All notable changes to the Hug SCM project will be documented in this file.
1618

1719
- **Staged gitlinks (submodule pointers) now visible in `hug sls` and `hug sl`.** When `submodule.*.ignore` or `diff.ignoreSubmodules` is set, `git diff --cached` silently suppresses gitlink entries. `list_staged_files()` now passes `--ignore-submodules=none` so staged submodule pointer changes are never dropped, regardless of ignore settings.
1820

19-
### Added
20-
2121
- **`hug dd` — visual side-by-side diff command family.** Opens a configured difftool (e.g. kitty diff) instead of a text patch: `hug dd s` (staged), `hug dd u` (unstaged), `hug dd w` / bare `hug dd` (all uncommitted — *net* worktree-vs-HEAD), and `hug dd <ref|range>`. The visual counterpart to `ss`/`su`/`sw`. `dd w` is a net view, so it intentionally differs from `sw`'s two-section split (a staged-then-reverted hunk cancels out) — see `docs/commands/status-staging.md` → "Visual diff". Productizes the former `dd` gitconfig alias into a real `git-dd` command with difftool preflight (friendly error when unconfigured), no-changes and non-TTY guards, `--no-prompt`, and an interactive `--` file picker. `--help` works without a TTY or a configured difftool.
22-
- **`hug version` / `hug --version` now reports a version number.** Added a `VERSION` file at the repo root (currently `1.1.0-dev`) and wired the dispatcher to print it. Previously `hug version` printed only a description with no number. Scripts can read it via `hug version` or the `VERSION` file directly.
22+
- **`hug version` / `hug --version` now reports a version number.** Added a `VERSION` file at the repo root and wired the dispatcher to print it. Previously `hug version` printed only a description with no number. Scripts can read it via `hug version` or the `VERSION` file directly.
2323
- **`hug s -r, --remote` query flag:** Outputs the fetch URL of the tracking remote (empty when no upstream is configured). Part of the `hug s` query flag system for scripting. Use `hug s -r` alone or combine: `hug s -b -r -u`.
2424
- **Unified Selection Framework (`selection_core.py`).** Shared toolkit for all Python selection modules: `bash_escape`, `BashDeclareBuilder`, `parse_numbered_input`, `get_selection_input`, `add_common_cli_args`, and ANSI color constants. Adding a new selection domain now requires ~50 lines instead of ~200.
2525
- **Branch single-select Python migration.** `print_interactive_branch_menu()` now delegates formatting and numbered-list interaction to Python via `branch_select.py prepare` and `single-select` commands. Eval output validated before execution.
@@ -101,9 +101,7 @@ The Makefile targets have been renamed to align with the makefile-dev PRD canoni
101101
- `check-prd` → use `check`
102102
- `test-prd` → use `test`
103103

104-
## [Unreleased] - 2025-01-13
105-
106-
### Changed - Makefile Canonical Targets
104+
### Changed - Makefile Canonical Targets (2025-01-13)
107105

108106
The Makefile has been updated to comply with the canonical target taxonomy.
109107
**Breaking change:** Several make targets have been renamed.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.1.0-dev
1+
1.1.0

0 commit comments

Comments
 (0)