1- # @since Tag Update Implementation Plan
1+ # @since Tag and Deprecated Version Placeholder Update Implementation Plan
22
33## Overview
44
5- This document outlines the plan for implementing automated ` @since ` tag updates during the release process. The system will update placeholder version tags (such as ` @since todo ` , ` @since next-version ` , and ` @since tbd ` ) with the actual version number during releases.
5+ This document outlines the plan for implementing automated version placeholder updates during the release process. The system will update both ` @since ` tags and deprecated version placeholders (such as ` @since todo ` , ` @since next-version ` , ` @since tbd ` ) with the actual version number during releases.
66
77## Implementation Checklist
88
@@ -17,33 +17,72 @@ This document outlines the plan for implementing automated `@since` tag updates
1717- [x] Add documentation for supported placeholders (` todo ` , ` next-version ` , ` tbd ` )
1818- [x] Add error handling for file operations
1919- [x] Add validation for version number input
20+ - [x] Add directory-specific scanning (root, /src, /tests)
21+ - [x] Add comprehensive ignore patterns for common directories
22+ - [x] Add dry-run mode for PR previews
2023
2124### 3. Testing ✅
2225- [x] Test script locally with various scenarios
23- - [x] Test with multiple @ since tags in single file
24- - [x] Test with no @ since tags present
25- - [ ] Test workflow with actual PR and release
26- - [ ] Test error scenarios in workflow context
26+ - [x] Test with multiple placeholders in single file
27+ - [x] Test with no placeholders present
28+ - [x ] Test workflow with actual PR and release
29+ - [x ] Test error scenarios in workflow context
2730
28- ### 4. Release Management Workflow Updates (Next Steps) 🚀
31+ ### 4. Release Management Workflow Updates ✅
2932- [x] Add new step in release-management.yml after version bump
30- - [x] Integrate since-tag updates into the workflow
33+ - [x] Integrate placeholder updates into the workflow
3134- [x] Add logging output to release notes
3235- [x] Handle potential errors gracefully
3336- [x] Ensure changes are committed with version bump
3437
35- ### 5. Changeset Integration
36- - [ ] Modify generate-changeset.yml to detect files with @ since placeholders
37- - [ ] Add @ since placeholder information to changeset content
38- - [ ] Update release PR template to include @ since placeholder information
39- - [ ] Ensure this information flows through to final release notes
38+ ### 5. Changeset Integration ✅
39+ - [x ] Modify generate-changeset.yml to detect files with version placeholders
40+ - [x ] Add placeholder information to changeset content
41+ - [x ] Update release PR template to include placeholder information
42+ - [x ] Ensure this information flows through to final release notes
4043
41- ### 6. Documentation Updates
44+ ### 6. Documentation Updates 🚀
4245- [ ] Update SUMMARY.md with new functionality
43- - [ ] Update main README.md with @ since tag information
46+ - [ ] Update main README.md with placeholder information
4447- [ ] Update workflow documentation
45- - [ ] Add examples of using @since placeholders
46- - [ ] Document supported file types (PHP only for now)
48+ - [ ] Add examples of using version placeholders
49+ - [ ] Document supported file types and scanning patterns
50+ - [ ] Document directory-specific scanning
51+ - [ ] Document ignore patterns configuration
52+ - [ ] Document dry-run mode usage
53+
54+ ## Enhanced Features ✅
55+
56+ ### Directory-Specific Scanning
57+ The script now intelligently scans specific directories:
58+ - Root directory (* .php)
59+ - src directory (src/** /* .php)
60+ - tests directory (tests/** /* .php)
61+
62+ ### Comprehensive Ignore Patterns
63+ Automatically ignores common directories:
64+ - vendor/
65+ - node_modules/
66+ - wp-content/
67+ - .wordpress-org/
68+ - .git/
69+ - .github/
70+ - bin/
71+ - build/
72+ - dist/
73+ - assets/
74+ - docs/
75+ - languages/
76+ - logs/
77+ - temp/
78+ - tmp/
79+ - cache/
80+
81+ ### Dry-Run Mode
82+ - Preview which files will be updated during release
83+ - Shows count of placeholders per file
84+ - Generates summary for release PR
85+ - No files are modified in this mode
4786
4887## Script Enhancements Completed ✅
4988
@@ -55,46 +94,61 @@ The `update-since-tags.js` script has been enhanced with:
5594- Error handling for file operations
5695- Support for counting and reporting the number of updates per file
5796- Temporary file creation for workflow integration
97+ - Directory-specific scanning
98+ - Comprehensive ignore patterns
99+ - Dry-run mode for previews
58100
59- ## Local Testing Results ✅
101+ ## Workflow Integration ✅
60102
61- The script has been successfully tested locally with:
62- - Multiple files containing @since placeholders
63- - Files with multiple placeholders
64- - Files with no placeholders
65- - Proper version number validation
66- - Summary generation for release notes
67- - Colored console output for better readability
103+ The script is now fully integrated with:
104+ - release-management.yml for actual updates
105+ - generate-changeset.yml for PR previews
106+ - Proper error handling and reporting
107+ - Clear summary generation for PR descriptions
68108
69109## Supported Placeholders
70110
71111The following placeholders will be automatically updated during release:
72112- ` @since todo `
73113- ` @since next-version `
74114- ` @since tbd `
115+ - Deprecated version placeholders following the same pattern
75116
76117## File Types
77118
78- Currently, the system only scans PHP files for @ since placeholders. This may be expanded in future versions.
119+ Currently, the system scans PHP files in specific directories for version placeholders. This may be expanded in future versions.
79120
80- ## Notes
121+ ## Documentation Plan 🚀
81122
82- - The script currently works as-is with CommonJS modules
83- - We're focusing on PHP files only for the initial implementation
84- - Changes are being made incrementally to avoid disrupting existing workflows
85- - Each change is tested thoroughly before moving to the next item
123+ 1 . SUMMARY.md Updates
124+ - Overview of version placeholder system
125+ - Explanation of supported placeholders
126+ - Directory scanning patterns
127+ - Ignore patterns
128+ - Dry-run mode usage
86129
87- ## Next Steps 🚀
130+ 2 . README.md Updates
131+ - Quick start guide for using placeholders
132+ - Examples of supported formats
133+ - Link to detailed documentation
88134
89- 1 . Integrate the script into release-management.yml workflow
90- 2 . Test the integration with a real PR and release
91- 3 . Implement changeset integration for @since placeholder tracking
92- 4 . Update all documentation
135+ 3 . Workflow Documentation
136+ - Integration with release process
137+ - PR preview functionality
138+ - Error handling and troubleshooting
139+ - Configuration options
140+
141+ 4 . Examples and Tutorials
142+ - Common usage patterns
143+ - Best practices
144+ - Troubleshooting guide
93145
94146## Future Considerations
95147
96148- Support for additional file types (js, jsx, tsx, etc.)
97149- Support for additional placeholder formats
98150- Integration with other documentation tools
99151- Automated testing for the script
100- - Performance optimization for large codebases
152+ - Performance optimization for large codebases
153+ - Customizable ignore patterns
154+ - Customizable directory scanning patterns
0 commit comments