Skip to content

Patch Update v1.3.4#16

Merged
Artemonim merged 26 commits intomasterfrom
release/v1.3.4
Jul 7, 2025
Merged

Patch Update v1.3.4#16
Artemonim merged 26 commits intomasterfrom
release/v1.3.4

Conversation

@Artemonim
Copy link
Owner

Fixed

  • Deterministic Processing: Fixed a critical bug that caused line numbers in the table of contents to change on every run. This was due to inconsistent newline handling after removing an existing agent docstring. The process is now fully idempotent.
  • Robust Docstring Removal: Improved the detection logic to correctly find and remove all agent-generated docstrings, even when located in the middle of a file or when multiple (erroneous) docstrings were present. This prevents docstring duplication on repeated runs.
  • Manual Docstring Preservation: Ensured that manual docstrings are no longer reformatted or modified unless they are being merged with an agent-generated table of contents.
  • Version-Only Change Skipping: Fixed a bug where files were being unnecessarily modified when only the version number in the auto-generated header differed, while the actual content structure remained unchanged. The tool now performs normalized content comparison that ignores version differences, preventing unnecessary file modifications after Agent Docstrings version updates.

Documentation

  • Contribution Guide: Added a new CONTRIBUTING.md file with detailed guidelines for development workflow and the release process.
  • README Update: Updated README.md to link to the new contribution guide and reflect the automated release process.

CI/CD

  • Release Automation: Added a new release-automation.yml workflow that automatically creates Git tags, GitHub Releases, and back-merge PRs when release branches are merged to master.
  • CI Optimization: Optimized the main CI pipeline by removing redundant test runs on master branch pushes and adding caching for pip dependencies and Go modules to speed up workflow execution.
  • Workflow Efficiency: Changed CI triggers to run on pushes to dev instead of master, eliminating duplicate test runs while maintaining comprehensive coverage.
  • Version Check Precision: Improved the version bump detection in CI to specifically check version changes in pyproject.toml and agent_docstrings/__init__.py, preventing false positives from other file modifications.

Type of Change

  • 🐛 Bug Fix: A change that fixes an issue.
  • New Feature: A change that adds new functionality.
  • ♻️ Refactor: A code change that neither fixes a bug nor adds a feature.
  • 📚 Documentation: Changes to the documentation only.
  • ⚙️ CI/CD: Changes to our CI/CD configuration and scripts.
  • 🔨 Build: Changes that affect the build system or external dependencies.
  • 🎨 Style: Changes that do not affect the meaning of the code (white-space, formatting, etc.).
  • Revert: Reverts a previous commit.

Checklist

  • My changes follows the Contribution Guide.
  • I have updated CHANGELOG.md under the [NextRelease] section.
  • New unit tests have been added to cover the changes.
  • Manual testing has been performed to verify the changes.

Artemonim added 26 commits July 6, 2025 13:12
### Fixed
- **Kotlin Header Preservation**: Fixed a bug where multi-line block comments (`/** ... */`) in Kotlin files were not correctly preserved, leading to malformed docstrings. The header parsing logic now correctly identifies and preserves these comment blocks. (Fixes #9)

### Added
- Added a new test to verify the preservation of multi-line comments in Kotlin files.
### Fixed
-   **Kotlin Header Preservation**
### Changed
- Updated the description of Agent Docstrings to clarify its role in solving the "cold start" problem for AI agents navigating large codebases.
- Added a new section detailing the advantages of using Agent Docstrings, contrasting the "Blind" approach with the "Map-First" approach.
- Introduced a "Support the Project" section to encourage contributions and support for the ongoing development of the tool.

### Improved
- Enhanced clarity and engagement in the README to better communicate the tool's benefits and encourage community involvement.
another day, another fix
### Fixed
-   **Python Docstring Cleaning**: (fixes #11)
-   **C-Style Comment Handling**:
### Fixed
-   **Python Docstring Cleaning**: (fixes #11)
-   **C-Style Comment Handling**:
### Changed
- Updated the test for existing auto docstring replacement to dynamically check the version of Agent Docstrings using the `__version__` variable instead of a hardcoded string.
### Changed
- Updated the video tag in README.md to include `playsinline` and added styling for improved presentation, including `border-radius` and `box-shadow` for a more polished look.
### Changed
- Replaced the video tag with an image tag for the demo in README.md, using a WebP format and added a fallback message for unsupported browsers.
- Introduced a new WebP image file for the demo presentation.
### Changed
- Added a new function `_normalize_content_for_version_comparison` to remove version-specific information from content, allowing for version-independent comparisons.
- Updated the `process_file` function to utilize the normalization function, ensuring that files are only modified when content changes, excluding version-only differences.
- Introduced a new test `test_version_only_change_skips_modification` to verify that files are not modified when only the version number differs in the auto-generated header.
### Changed
- Adjusted the test cases in `test_docstring_duplication.py` to reflect the new versioning and ensure proper functionality.
- Introduced a new test file `test_version_change.py` to verify that files are not modified when only the version number differs in the auto-generated header.
- Enhanced the logic in `process_file` to handle version comparisons more effectively, ensuring that only meaningful content changes trigger file modifications.
### Changed
- Fixed a critical bug causing line numbers in the table of contents to change on every run due to inconsistent newline handling, ensuring deterministic processing.
- Improved detection logic for removing agent-generated docstrings, allowing for robust handling even with multiple erroneous docstrings present.
- Ensured manual docstrings are preserved and not modified unless merging with an agent-generated table of contents.
- Added a test to verify that files with only manual docstrings remain unchanged after processing.
- Enhanced tests to ensure trailing whitespace and blank lines are preserved during docstring removal.
### Changed
- Modified the CI workflow to trigger tests on pushes to the `dev` branch instead of `master`.
- Added caching for Go modules and pip dependencies in the CI workflow to improve build performance.
- Introduced a new release automation workflow that creates a GitHub release upon merging pull requests from `release/*` branches into `master`, extracts version information, and generates changelog notes.
- Implemented a back-merge PR to sync `master` back into `dev` after a release.
### Added
- Introduced a `CONTRIBUTING.md` file with comprehensive guidelines for contributing to the project.
- Updated `README.md` to link to the new contribution guide and clarify the automated release process.
- Implemented a new `release-automation.yml` workflow for automatic Git tagging, GitHub Releases, and back-merging PRs upon merging release branches into master.
- Optimized the CI pipeline by removing redundant test runs on master branch pushes and adding caching for pip dependencies and Go modules.

### Changed
- Adjusted CI triggers to run on pushes to `dev` instead of `master`, improving workflow efficiency.
### Changed
- Enhanced the `CONTRIBUTING.md` file to include instructions for linking issues in the changelog entries.
- Streamlined the `.github/PULL_REQUEST_TEMPLATE.md` by removing unnecessary sections and clarifying the checklist items for contributors.

### Added
- Included a Contribution Guide link and a reminder for contributors to update the `CHANGELOG.md` under the `[NextRelease]` section in the pull request template.
Fixed
- Deterministic Processing
- Robust Docstring Removal
- Manual Docstring Preservation
- Version-Only Change Skipping
Documentation
- Contribution Guide
- README Update

CI/CD
- Release Automation
- CI Optimization
- Workflow Efficiency
- Version Check Precision
@codecov
Copy link

codecov bot commented Jul 7, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.52%. Comparing base (df6542d) to head (55658f9).
Report is 27 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #16      +/-   ##
==========================================
+ Coverage   89.73%   90.52%   +0.79%     
==========================================
  Files          12       12              
  Lines         711      718       +7     
==========================================
+ Hits          638      650      +12     
+ Misses         73       68       -5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Artemonim Artemonim merged commit 0476965 into master Jul 7, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant