Skip to content

Releases: leeovery/mint

v0.0.11

Choose a tag to compare

@leeovery leeovery released this 18 Jun 13:18
v0.0.11
44d692b

✨ Added

  • --dry-run --autostash now previews a release against a dirty working tree — the real stash is skipped entirely and the clean-tree gate is bypassed for that combination, so the repo remains byte-for-byte unchanged while the preview still completes.

🔧 Changed

  • A dirty-tree dry run without --autostash still aborts at the clean-tree gate — the bypass is conditioned on --dry-run and --autostash together, never --dry-run alone.

v0.0.10

Choose a tag to compare

@leeovery leeovery released this 17 Jun 21:56
v0.0.10
5caa74c

🐛 Fixed

  • AI failure output now shows Claude's actual message (e.g. "Prompt is too long") in the failure block instead of a bare generic error.
  • Notes failure messages collapse to a single concise phrase instead of rendering the full nested error chain.

v0.0.9

Choose a tag to compare

@leeovery leeovery released this 17 Jun 11:34
v0.0.9
be24f08

🔧 Changed

  • Commits whose every changed file matches a diff_exclude glob now open the editor for a human-written message instead of failing with "nothing to commit" — the excluded files still get committed.
  • The empty-staging preflight no longer consults diff_exclude — it answers only whether git commit would create a commit, leaving exclusion logic solely to the AI diff step.

v0.0.8

Choose a tag to compare

@leeovery leeovery released this 17 Jun 10:43
v0.0.8
100fee4

🔧 Changed

  • .mint.toml trimmed to active settings only, directing readers to mint setup for the full key reference — removes the commented-out defaults that duplicated the built-in documentation.
  • Added a pre_tag hook that runs the full build/vet/test/lint suite before the irreversible tag-and-push, replacing the missing pre-release CI gate.
  • diff_exclude updated to also ignore .github trees in release-notes diffs.

v0.0.7

Choose a tag to compare

@leeovery leeovery released this 17 Jun 10:35
v0.0.7
3df25d4

✨ Added

  • mint setup now emits a self-contained overview of every mint command, the commit model, and the AI transport contract — the agent no longer needs to consult the README.

🔧 Changed

  • The setup guide no longer refers the configuring agent to mint's README; step 2 of the procedure routes it to the guide's own sections, which are version-matched to the installed binary.

v0.0.6

Choose a tag to compare

@leeovery leeovery released this 17 Jun 10:01
v0.0.6
8a0a258

✨ Added

  • mint setup — a new command that prints a version-matched AI-assisted configuration guide to stdout, usable from any directory without a git repo.
  • Config-metadata source of truth (config.MetadataRows()) — a single in-binary, drift-tested table of every config key, its level, compiled default, and description, enforced against the schema by a bijection test that fails the build on any mismatch.
  • internal/setupguide package — renders the setup guide from the config-metadata SoT, with stable section markers (<!-- mint:section:NAME -->) so structural tests key on anchors rather than prose.
  • internal/configtest package — a shared test-support seam for indexing the config-metadata SoT by (level, key) pair, consumed by both config_test and setupguide_test.

🔧 Changed

  • mint init now writes a minimal .mint.toml — an empty body plus a short header pointing to the GitHub docs and mint setup — instead of the previous commented template with every key shown at its default.
  • The README's Configuration section now documents every key in per-key reference tables and describes the minimal generated file rather than reproducing the old annotated template inline.
  • DefaultMaxDiffLines is now an exported constant so the config-metadata SoT and other derivation sites can reference it without re-typing the literal.

v0.0.5

Choose a tag to compare

@leeovery leeovery released this 15 Jun 20:19
v0.0.5
94a9ec0

✨ Added

  • New --source release option for mint release regenerate — reads the existing published GitHub release body verbatim, making it easy to backfill a CHANGELOG.md from releases you already have.

🔧 Changed

  • --reuse and --fresh flags replaced by a single --source <fresh|tag|release> flag — --source tag is the equivalent of the old --reuse, and fresh remains the default.
  • Source and target axes are now fully independent — any source (fresh, tag, release) can write any target (release, changelog, both); the old constraint that --reuse implied --target release is removed.
  • --target is now required with -y for every source, not just fresh; no source has a safe default surface to guess unattended.
  • A skipped version with no recorded changelog section is silently omitted from the rebuilt file rather than aborting the entire batch — fixes a bug where one body-less version in a --all run discarded every other regenerated section.
  • Post-push publish failure heal message updated to regenerate --source tag.

v0.0.4

Choose a tag to compare

@leeovery leeovery released this 15 Jun 14:36
v0.0.4
dd234f2

✨ Added

  • mint regenerate now displays the generated notes before the review gate — previously the "Use these notes?" prompt could appear over a blank preview.

🔧 Changed

  • The plan block no longer adds a double blank line when it follows the brand header directly — the extra gap is collapsed to a single blank.

🗑️ Removed

  • Deleted the internal design handoff document and skills lock file, which were development artifacts no longer needed in the repository.

v0.0.3

Choose a tag to compare

@leeovery leeovery released this 14 Jun 16:51
v0.0.3
e55293f

✨ Added

  • Per-verb ai_command and timeout overrides — set [release].ai_command, [release].timeout, [commit].ai_command, or [commit].timeout to repoint either key for one verb without affecting the other.
  • timeout config key (integer seconds) — sets the per-attempt AI deadline at the shared top level or per verb; 0 disables the deadline entirely for operators running slow or local models.

🔧 Changed

  • Default ai_command is now claude -p --model sonnet — the model is pinned so zero-config behaviour is predictable regardless of which model your Claude CLI defaults to.
  • Per-attempt AI deadline defaults to 60 seconds and is now configurable; a timeout is fatal and never retried (the single retry covers bad content only).
  • Setting timeout = 0 disables the per-attempt deadline entirely — the AI call runs unbounded, which is a deliberate operator choice that overrides mint's "fail loud, never hang" posture.
  • diff_exclude default in the scaffold is now shown as [] with a descriptive comment; mint's own workflow artifact directories are excluded in the project's own .mint.toml.

v0.0.2

Choose a tag to compare

@leeovery leeovery released this 13 Jun 13:13
v0.0.2
abdde25

✨ Added

  • Confirm the version and bump before any work begins — a real release now opens with a "Release v1.3.2 → v1.4.0 (minor)?" gate that aborts cleanly with nothing to unwind.
  • Single-keypress review gates — press y/n/e/r to decide with no Enter, Esc to decline, and Ctrl-C to abort cleanly.
  • The release-notes cache is shared across runs and offers to reuse a matching note from a prior dry run, so an unchanged diff skips the AI on the next real run.

🔧 Changed

  • The release notes prompt now asks for concise one-line bullets per change with no TL;DR, so changelogs read at a glance.
  • Dry runs are pure previews — they show the version, plan, and notes, prompt for nothing, and end with a clear "no changes made" line.
  • Review gates now spell out their consequence — accepting the final release gate reads "[y] release", not a vague "accept & proceed".
  • Pretty output was redesigned flush-left with a dim gutter for notes, a one-line hotkey bar, animated activity spinners, and per-stage narration of what each step did.
  • The note cache now lives under your user cache directory instead of a .mint/cache folder inside the repo, so no project is polluted with an in-repo cache.
  • A spinner now animates while the AI writes a commit message, with a clear note when it falls back to your editor.

🐛 Fixed

  • Failures no longer print twice when stdout and stderr share a terminal.
  • A first-time release with an empty cache no longer prints a misleading "diff changed since dry-run preview" notice.
  • The AI prompt now repeats the output contract after the diff, stopping the model from prefacing notes or commit messages with stray narration.