Add expanded project overview and formatting updates.
- New Features: Expanded overview and richer description of AI-powered commits and customizable templates.
- Enhancements: Added extra badge images and improved formatting across sections.
- Bug Fixes: None.
Add dependabot configuration to automate weekly updates of GitHub Actions and pip packages.
New Features
- Add Dependabot configuration for GitHub Actions and pip ecosystems with weekly schedule.
Enhancements
-
Bug Fixes
-
Enhancements:
- Extend error message parsing to capture additional throttling indicators such as "RESOURCE_EXHAUSTED", "QUOTA_EXCEEDED", and "THROTTLED".
- Refactor the conditional logic for better readability and maintainability.
- Keep existing retry behavior while increasing resilience to API rate‑limit errors.
The update changes the default model, refactors imports, and implements robust retry logic with exponential back‑off and clearer error messages. This improves resilience and clarifies usage.
New Features
- Exponential back‑off retry on 429/quota exhausted responses.
- Configurable max_retries and retry_delay parameters.
Enhancements
- Default model set to gemini-2.5-flash.
- Improved error output with actionable troubleshooting steps.
- New Features:
- Added `check` parameter to enable interactive commit message review
- Implemented user confirmation/editing/abort workflow using questionary
- Added smart file grouping with configurable max_groups limit
- Files are now merged into parent directories when group count exceeds limit
- Enhancements:
- Improved `group_files()` method with hierarchical merging logic
- Added graceful KeyboardInterrupt handling during user review
- Enhanced logging for group merging operations
```
- New Features:
- Added `_get_manifest_context()` to extract project metadata from manifest files (pyproject.toml, package.json, etc.) for richer commit message context.
- Added support for custom commit message templates via `custom_template` config.
- Added emoji instruction toggle based on global `use_emoji` setting.
- Enhancements:
- Improved error handling for git push failures with specific hints for "no upstream branch" scenarios.
- Optimized manifest context extraction by truncating large files to avoid token bloat.
- Refactored prompt generation to dynamically include manifest context and custom templates.
```
- New Features:
- Added `{{ context }}` variable to the commit message template to provide additional context.
- Enhancements:
- Removed the emoji usage line from the template to simplify the output.
```
- Add shell completion support for bash/zsh/fish via `devgen --install-completion`
- Introduce `devgen commit undo` to revert the last AI-generated commit while preserving staged changes
- Implement context-aware commit generation by analyzing project manifests (`package.json`, `pyproject.toml`, etc.) and lock files for accurate dependency updates
- Add support for custom Jinja2 templates in `~/.devgen.yaml` with `custom_template` configuration
- Update documentation to reflect new features and provide template variable reference
This release significantly improves commit accuracy by leveraging project context and offers greater customization through templates and shell integration.
```
- New Features:
- Introduced `render_custom_template()` function to render Jinja2 templates from strings.
- Enables dynamic template rendering without requiring file-based templates.
```
- Improve header detection by stripping bolding and cleaning labels like "1. Title:", "### Message:", etc.
- Stop processing lines when encountering a sponsor section
```
- Simplify and clarify the structure of commit message generation guidelines.
- Replace "Format" with "Guidelines" for better readability.
- Remove redundant section numbering.
- Streamline emoji usage instruction into a single line.
- Clarify that the output should exclude labels like "Title:" or "Format:".
**Enhancements:**
- Improved template structure for better maintainability.
- More concise and direct instructions for users.