Releases: Alejandro-M-P/git-courer
v9.9.9-test
Changelog
This change introduces NumParallel and Operations fields to the application configuration to enable concurrent processing and define specific operational modes. These additions enhance the systems scalability and flexibility without altering existing functionality or breaking current interfaces.
Changelog
- 8779c31 Merge perf/llm-params: per-operation LLM parameter defaults
- 2359072 chore(dependencies): update indirect dependencies
- 1eaba14 chore(go): update go.sum
- 89d7e78 eliminated tests
- 1d3f7ad feat(ci): add e2e test target and refactor full suite
- 915aedf feat(commit-service): add tests for massive file counts, concurrency, and chunk integrity
- 26aece9 feat(config)!: Add explicit model requirement and operation validation
- 032564b feat(config): Added mandatory model configuration and parallel request support
- 4658777 feat(core): Adds new Git diff and reset methods to the Git port interface.
- 452f4aa feat(core): add PRCommit type, GitHubAPI port, RemoteURL to Git interface
- ff7a78c feat(core): add context config support and structured changelog generation
- 6ff66b2 feat(core): enhance changelog generation with context injection and structured parsing
- 6efc4b6 feat(core): initiate test suite
- 2e4e6d5 feat(gcourer-report): add report CLI command
- 984fa91 feat(git): Added comprehensive branch and tag management commands including rename, create/delete, and remote operations
- 6bb6ab2 feat(git): add diff methods
- 6e5d831 feat(git): feat: Add robust push retry logic, soft reset, and remote deletion support
- 976153c feat(internal): Adds LLM test helper and refactors Workflow struct to internal type
- c586d96 feat(internal/adapters/llm/openai_standard): add operation params and ollama config support
- 3ecba29 feat(internal/adapters/llm/openai_standard): add prompt rendering and verification tests
- 10bbf93 feat(internal/config): add per-operation LLM overrides and remove default model
- c2bac0d feat(internal/infra/telemetry): add telemetry domain models and console report generator
- 891b331 feat(internal/shared/prompts): add context support to commit message generation
- f3ea691 feat(internal/workflow): add project context configuration
- 73126dc feat(llm): add provider operations and extended chat request fields
- 2be3617 feat(llm): support reasoning models with no_think injection
- d2b5ca2 feat(mcp): Adds token sanitization and pagination for MCP tool outputs.
- 8f7e2e7 feat(mcp): add commit regeneration test coverage
- 8f5e4d9 feat(prompts): perf-llm-prompts — truncate prompts, migrate direct ops to Go, JSON output for commits and changelog
- b89e3df feat(telemetry): add console report generator for telemetry data
- 30a6359 feat(telemetry): add json collector and decorator for llm calls
- 1ddd36b feat(telemetry): add quality evaluator for commit message scoring
- f7c8ee4 feat(telemetry): add telemetry domain models and quality evaluator
- a8e34ac feat(telemetry): instrument all LLM calls with detailed prompts and responses
- f478d00 feat(testutil): add Ollama test utilities
- 17a15e8 feat:
- 72c9b46 feat: Added parallel execution support and operation configuration
- d099764 feat: add chunk-level failure detection and skip logic in parallel commit execution to prevent staged b.go during LLM generation
- 9e4c0ac feat: add default parallelism to ReleaseServiceConfig to prevent crashes on empty config
- e83dc30 feat: add error handling and concurrency control for chunk generation to prevent crashes and improve reliability
- 6ab69f5 feat: add error handling for nil diff chunks in prepare commit
- b1ebe2f feat: add num parallelism support to LLM adapter factory config
- 1f66e81 feat: add num_parallel config and parallel LLM call support in OpenAIStandardAdapter BREAKING CHANGE: Added num_parallel field to OpenAIStandardAdapter and parallel LLM call support via SetNumParallel and regenerateChunk methods. Default value for num_parallel is 1.
- 277d0c4 feat: add parallel LLM message generation with error handling and concurrency control
- 5663d39 feat: unify all LLM backends under OpenAI Standard API
- 4e7481a fix(adapter): remove redundant system prompt, use prompt.txt instructions only
- 01bbb68 fix(cmd): handle LLM config resolution errors
- 4bbb2b8 fix(delivery): handle LLM config resolution errors gracefully
- dc11692 fix(git): fix trailing whitespace in git adapter files
- f675bfd fix(installer):
- 49a36d4 fix(installer): prevent panic when binary not found
- 1ad234b fix(internal/adapters/llm): handle ResolveLLMConfig errors in tests
- 6d71cef fix(internal/adapters/llm/openai_standard): Fixes a false positive test assertion that incorrectly expected the literal string '! Project: X' instead of the intended 'Project context: Project: X', ensuring tests validate the actual context injection logic.
- 13ceed8 fix(internal/shared/prompts): Update commit message prompt validation and template formatting
- 6ecd444 fix(ollama): eliminate triple warm-up with idempotent PreWarm
- 2f37d5f fix(secrets): prevent false positives on text files
- 6a9b579 fix(security): fix false positive handling in LLM verification
- 41ae85c refactor(Makefile): Restructure test targets and add telemetry reporting
- a6af818 refactor(chunkers): split diff.go into 3 focused files
- ff94edf refactor(config): standardize config struct field alignment and formatting
- 7bf8de8 refactor(delivery/mcp): improve robustness and configuration for release workflow
- d032b3a refactor(domain): add changelog struct and json support
- fff460a refactor(domain): align field ordering and formatting in domain structs
- a4e37d6 refactor(e2e): simplify e2e test helpers and add telemetry summary
- 5e46abe refactor(git): split exec.go into 4 focused files
- 18f522f refactor(installer): fix trailing whitespace and formatting inconsistencies
- 77e0303 refactor(installer): split mcp_config.go into 2 focused files
- e08caf9 refactor(internal/delivery/mcp): reorder mock lifecycle methods
- eb6cdfc refactor(internal/delivery/mcp/handlers_json.go): standardize JSON key alignment in response marshaling
- 67b48e5 refactor(internal/infra/chunkers): Improve diff chunking by splitting large clusters and absorbing small files
- 9bfbd26 refactor(internal/infra/chunkers): add option pattern and noise filtering
- 33a30aa refactor(internal/infra/telemetry): Replace interactive table UI with plain-text ANSI report
- c003192 refactor(internal/integration/workflow_matrix_test.go): replace custom LLM adapter with test utility helper
- 33e430c refactor(internal/workflow): Add mutex locking to parallel-safe stub methods
- 66ba6f7 refactor(internal/workflow): merge parallel changelog chunks into unified markdown
- cdaa715 refactor(internal/workflow): refactor test structure to use subtests
- 0801cdd refactor(internal/workflow): remove redundant whitespace in return statement
- 2f76651 refactor(internal/workflow): reorder mockGitForRelease methods
- ab5c706 refactor(internal/workflow): reorder stub methods
- dd903ca refactor(llm): decouple LLM infrastructure for backend-agnostic layer (#43)
- f866e72 refactor(mcp): split handlers.go into 4 files and deduplicate gatherFilesFromChunks
- 0a52dac refactor(mcp): standardize operation type constants and formatting
- 625480c ...
v1.5.1
Changelog
Summary
Tag(name string)→Tag(name, message string): git tags now carry
the generated changelog as annotation body- GoReleaser reads
{{ .TagBody }}directly from annotated tags — no
file workaround needed - Removed deprecated config fields:
CreateGitHubRelease,
ChangelogOutputPath(obsoleted by tag annotation approach) - All tests passing (
go test ./...,go test -race ./...)
Changes
| File | Change |
|---|---|
internal/core/ports/git.go |
Tag(name, message string) signature |
internal/adapters/git/exec.go |
Annotated tag creation with `git tag |
| -a -m` | |
internal/workflow/release.go |
Pass changelog to Tag(), remove |
writeChangelogFile, remove CreateGitHubRelease block |
|
internal/config/config.go |
Remove CreateGitHubRelease, |
ChangelogOutputPath fields |
|
.goreleaser.yaml |
release: header: "{{ .TagBody }}" |
docs/config.md |
Updated GoReleaser integration docs |
Test Plan
-
go test ./...passes (17 packages, 0 failures) -
go test -race ./...passes -
go vet ./...clean - Build compiles successfully
- All mock/stub signatures updated
Changelog
- e94db75 Merge branch 'develop' of github.com:Alejandro-M-P/git-courer into develop
- 55591fd Merge branch 'main' of github.com:Alejandro-M-P/git-courer
- df55179 Merge branch 'main' of github.com:Alejandro-M-P/git-courer
- 2099d4a Merge branch 'main' of github.com:Alejandro-M-P/git-courer
- d0dc3a9 Merge branch 'main' of github.com:Alejandro-M-P/git-courer
- 77131ff Merge fix/release-changelog-bugs: pass CreateGitHubRelease from config
- 08a614d Sync: merge all changes to main (#37)
- 1182e97 feat(release): universal release compatibility (fix #31) (#33)
- c8f93bb feat: add configurable GitHub release creation and changelog output path
- 4f58fb8 fix: always push tag, not only when creating GitHub release (#41)
- 0c9671c fix: handle dirty tags and validate semver format in version detection
- ae67b2c fix: pass CreateGitHubRelease from config to ReleaseService
- 0747a57 fix: pass CreateGitHubRelease from config to ReleaseService (#39)
- 56714c0 fix: use CreateGitHubRelease from ReleaseService config (#40)
- d4400c2 refactor: annotated git tags with changelog body for vendor-agnostic releases (#42)
- 4cab3a8 refactor: remove GitHub CLI authentication check for release creation
- 0aaf0e5 refactor: rename CreateRelease parameter from name to tagName in stub implementations
v1.4.3
What's Changed in v1.4.3
Features
- Added structured previews for commit, release, and ready operations
- Improved notification JSON responses with standardized schemas
- Added validation configuration and release assets
Bug Fixes
- Fixed auto-stashing during previews
- Resolved tree loss and improved commit performance
- Updated update mechanism to use go-selfupdate library
- Fixed confirmation prompts when previews are disabled
Breaking Changes
- None
Full Changelog
v1.4.1
🚀 Features
Added structured previews for commit, release, and ready operations to enhance workflow visibility.
🐞 Bug Fixes
Improved commit performance and resolved issues causing data loss during tree operations.
Fixed notification JSON generation to ensure accurate previews and standardized UI strings.
Updated the update mechanism to use the standard go-selfupdate library for more reliable version management.
Removed the requirement for manual confirmation when previews are explicitly disabled.
v1.4.0
⚠ Breaking Changes
- MCP Client Support: We have expanded support to include 10 different MCP clients, specifically adding official support for the Gemini CLI. If you were previously unable to connect Gemini to your workflow, this is now fully supported.
What's New
- Connect Gemini AI: You can now seamlessly integrate the Gemini CLI as an MCP client to enhance your AI capabilities.
- Faster, More Accurate Releases: We've improved how we handle different computer types (like Apple Silicon vs. standard PCs). You will no longer see errors where the wrong file is downloaded for your specific device.
- Better Installation Guides: The setup instructions have been rewritten to be clearer and easier to follow, ensuring you get the tool running on your machine without confusion.
Bug Fixes
- App Won't Crash on Empty Lists: The application no longer crashes or freezes when viewing a project that has no users assigned to it.
- Correct Files for Your Computer: Fixed an issue where the installer might try to download the wrong file for your computer's architecture (e.g., trying to install an Intel file on an Apple M1/M2 chip). Your downloads now match your device perfectly.
- Installation Paths Fixed: Corrected the installation guide and installer so it points to the right location on your computer, preventing "file not found" errors during setup.
v1.3.2
⚠ Breaking Changes
- Installation script updated: The installation process has changed. If you are currently installing the software manually, please run the new installation script to ensure your system is set up correctly.
What's New
- Easier setup: We've updated the installation instructions to make getting started faster and more reliable.
- Better documentation: You can now find a dedicated section in our docs with clear commands to help you get the most out of the app.
Bug Fixes
- App won't crash unexpectedly: The application now handles empty projects gracefully, so you won't see errors or crashes when viewing a project with no users.
- Installation works correctly: Fixed an issue where the setup process might have failed to detect your system version or install necessary tools properly.
v1.3.1
1.3.1
Fixed
handleRelease now respects preview.operations.release from config, same as commit
Confirmations flow through MCP notifications — leftover file-based lock/plan/blocker paths removed from config
Commit workflow always runs synchronously — background execution path was broken and unused
git-courer install command removed — was dead code, the curl | sh installer is fully self-contained
validation.require_confirmation, BackgroundThreshold, MaxPlanRetries removed — were never read by any logic
mcp and ui blocks removed from config — mcp is internal, no UI exists
config.example.yaml and docs/config.md updated to match actual user-editable options
v1.1.0
What's New
- Manage tags remotely — You can now perform tag operations on remote repositories without needing to download everything locally first.
- Preview your configuration — See exactly how your settings will apply before you commit to changes, preventing configuration errors.
- Easier setup with MCP — A new setup command simplifies the installation process and automatically configures your paths.
v1.0.2
What's New-
Automatic Claude Configuration Detection —