Skip to content

Commit 305899e

Browse files
committed
Add changelog
1 parent c4f3793 commit 305899e

File tree

1 file changed

+281
-0
lines changed

1 file changed

+281
-0
lines changed

CHANGELOG.md

Lines changed: 281 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,281 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [5.4.0] - 2024-01-31
9+
10+
### Changed
11+
- Updated to Node.js v20 runtime
12+
- Updated all dependencies to latest versions
13+
14+
## [5.3.0] - 2023-09-30
15+
16+
### Added
17+
- **Branch-based versioning mode** (`version_from_branch` input) - Major/minor versions can now be derived from branch names (e.g., `release/v1`, `release/1.2`). Only considers tags matching the branch version, useful for maintaining multiple release lines
18+
- Enhanced diagnostics documentation in contributing guide
19+
- Improved warning messages to clarify when no tags are found vs when tags exist but don't match criteria
20+
21+
### Fixed
22+
- `GITHUB_REF_NAME` environment variable no longer causes failures during testing
23+
- `bump_each_commit` now properly respects `enable_prerelease_mode` setting
24+
- Non-version branches are properly ignored when using branch-based versioning
25+
26+
### Changed
27+
- Updated Jest configuration for better test isolation
28+
- Rebuilt distribution files with latest changes
29+
30+
### Deprecated
31+
- `use_branches` input is deprecated and will be removed in v6.0.0 - use `version_from_branch` instead
32+
33+
## [5.2.1] - 2023-08-24
34+
35+
### Fixed
36+
- Diagnostic mode output was not being properly included in the action's output, preventing debugging
37+
38+
## [5.2.0] - 2023-08-20
39+
40+
### Added
41+
- **Debug/diagnostic mode** (`debug` input) - Captures and outputs diagnostic information for troubleshooting version calculations. Useful when the source repository isn't available for direct inspection
42+
43+
## [5.1.0] - 2023-08-09
44+
45+
### Added
46+
- **Patch pattern filtering** (`bump_each_commit_patch_pattern` input) - When using `bump_each_commit`, patch version only increments if commit matches specified pattern. Supports JavaScript regex syntax with flags (e.g., `/fix\(.*\)/i`)
47+
- **Pre-release mode** (`enable_prerelease_mode` input) - Prevents automatic major version bumps for 0.x.x versions. When enabled, "major" changes become "minor" and "minor" become "patch", preventing premature 1.0.0 releases
48+
- `is_tagged` output - Boolean indicating if the current commit already has a version tag
49+
- Previous version commit information outputs (`previous_commit`, `previous_version`) for better version tracking
50+
51+
### Fixed
52+
- Corrected tag ordering when determining previous version (was using reverse order incorrectly)
53+
- Increased test timeout for Windows environments to prevent CI failures
54+
- Fixed test failures in environments with global GPG signing enabled
55+
- Documentation typo: "version" output name was incorrectly documented
56+
57+
## [5.0.3] - 2023-01-10
58+
59+
### Fixed
60+
- Pre-release tags on current commit were not being handled correctly when determining version increments
61+
- Fixed incorrect parameter name mapping that was causing action failures
62+
63+
### Changed
64+
- Updated dependencies to latest versions
65+
66+
## [5.0.2] - 2022-12-31
67+
68+
### Fixed
69+
- Build output mapping was incorrect, causing the action to fail when generating outputs
70+
71+
## [5.0.1] - 2022-12-27
72+
73+
### Fixed
74+
- Tag prefix and namespace values are now properly escaped when constructing regex patterns, preventing regex errors with special characters
75+
- Fixed unescaped dots in regex patterns that could cause incorrect matching
76+
- Test suite now consistently uses 'master' as branch name to avoid CI failures
77+
78+
### Added
79+
- Syntax highlighting for code examples in documentation
80+
- Contributing.md guide for developers
81+
- Test coverage for namespaces containing forward slashes
82+
83+
### Changed
84+
- Documentation updated to reflect correct input parameter names
85+
- Version calculation no longer limits the number of tags retrieved, ensuring accurate version determination in repos with many tags
86+
87+
## [5.0.0] - 2022-12-20 - Major Rewrite
88+
89+
### Added
90+
- **Complete TypeScript rewrite** - Action rewritten from JavaScript to TypeScript with modular architecture
91+
- **Author tracking** - New `authors` output lists all commit authors since last release, formatted as CSV (JSON option available via `user_format_type`)
92+
- **Commit body searching** - `search_commit_body` input allows searching commit message bodies for version patterns, not just the subject line
93+
- **Branch support** - Can now use branch names instead of tags for versioning with `use_branches` input
94+
- **Improved outputs** - Additional metadata including `version_type`, commit hashes, and more detailed version information
95+
- **Namespace support without tags** - Namespaces now work even when no existing tags match the namespace
96+
97+
### Fixed
98+
- Pre-release tags (alpha, beta, rc) are now properly excluded from version calculations unless explicitly included
99+
- Fixed issue where current commit's tag wasn't properly considered when calculating previous version
100+
- Tag ordering now uses git's version sort instead of author date, providing more accurate version ordering
101+
102+
### Changed
103+
- Architecture completely redesigned with providers, resolvers, classifiers, and formatters for better extensibility
104+
- Short tag support has been completely removed (was deprecated in v4)
105+
- Updated to actions/[email protected] and modernized all dependencies
106+
- Node.js 16 compatibility
107+
108+
## [4.0.3] - 2021-10-29
109+
110+
### Changed
111+
- Version output now properly uses the user-supplied version format template combined with namespace
112+
- Updated dependencies and improved test coverage
113+
- Documentation clarifications for better user understanding
114+
115+
## [4.0.2] - 2021-04-22
116+
117+
### Fixed
118+
- Tag prefixes can now contain forward slashes (e.g., `releases/v`), enabling more flexible tagging schemes
119+
120+
## [4.0.1] - 2021-02-25
121+
122+
### Fixed
123+
- Fixed regex pattern for matching full version tags when `short_tags` is disabled
124+
125+
## [4.0.0] - 2021-02-08
126+
127+
### Changed
128+
- **Breaking**: Branch parameter now defaults to `HEAD` instead of requiring explicit branch name
129+
- Branch names no longer include `origin/` prefix, simplifying branch-based versioning
130+
- Reintroduced support for using `HEAD` as branch parameter (was removed in v3)
131+
132+
### Deprecated
133+
- `branch` input is now deprecated in favor of automatic HEAD detection
134+
135+
## [3.3.1] - 2021-01-28
136+
137+
### Added
138+
- `version_tag` output now includes namespace value, making it easier to identify versioned releases in multi-project repositories
139+
140+
### Changed
141+
- Improved documentation clarity for namespace feature
142+
- Enhanced readme formatting and examples
143+
144+
## [3.3.0] - 2021-01-23
145+
146+
### Added
147+
- **Regular expression support** for `major_pattern` and `minor_pattern` - Wrap patterns in `/` to use regex (e.g., `/breaking:\s/i`)
148+
149+
### Fixed
150+
- Fixed logic that prevented version tags from being properly matched when calculating increments
151+
152+
## [3.2.1] - 2021-01-16
153+
154+
### Fixed
155+
- Tagged commits now properly preserve their increment value instead of resetting to 0
156+
- SVG diagrams now have proper background color for better visibility
157+
158+
### Changed
159+
- Updated dependencies
160+
- Documentation improvements
161+
162+
## [3.2.0] - 2020-12-20
163+
164+
### Added
165+
- **`bump_each_commit` mode** - Every commit creates a new patch version, useful for continuous deployment scenarios
166+
- **`short_tags` toggle** - When set to `false`, only full semantic version tags (e.g., v1.2.3) are considered, ignoring short tags (e.g., v1)
167+
168+
### Changed
169+
- Improved documentation with visual diagrams
170+
- Removed deprecated parameters from documentation
171+
- Enhanced readme clarity with better examples
172+
173+
## [3.1.2] - 2020-10-07
174+
175+
### Fixed
176+
- **Full Windows support** - Fixed line ending issues and command execution on Windows
177+
- Action now properly exits when current commit already has a version tag
178+
- Current commit's tag is now used as the version when applicable
179+
180+
### Added
181+
- Complete Windows support in test suite with OS-specific temp directories
182+
- Windows runner added to CI pipeline alongside Linux
183+
184+
### Changed
185+
- Commands now run silently to reduce log noise
186+
- Improved error handling for command execution failures
187+
- Added warning about actions/checkout@v2 shallow clone behavior that can affect version detection
188+
189+
## [3.1.1] - 2020-09-05
190+
191+
### Fixed
192+
- Change detection now works correctly when no previous tags exist in the repository
193+
194+
## [3.1.0] - 2020-09-05
195+
196+
### Added
197+
- **`version_tag` output** - Returns the complete version tag including prefix and namespace
198+
199+
### Changed
200+
- Improved logging for change detection to help with debugging
201+
- Command execution failures are now logged as info rather than errors (they're handled gracefully)
202+
- Updated package dependencies
203+
204+
## [3.0.0] - 2020-09-02 - Multi-Project Support
205+
206+
### Added
207+
- **Namespace support** (`namespace` input) - Enables multiple projects/components in same repo with isolated versioning
208+
- **Improved mono-repo support** - Each namespace maintains its own version sequence
209+
210+
### Changed
211+
- **Breaking**: `change_path` input now filters which paths trigger version changes rather than just detecting changes
212+
- Removed verbose action output for cleaner logs
213+
- Modernized codebase and dependencies for GitHub Actions runner compatibility
214+
215+
### Removed
216+
- Deprecated action inputs from v2
217+
218+
## [2.1.1] - 2020-02-07
219+
220+
### Fixed
221+
- Release link generation now uses correct branch name format
222+
223+
## [2.1.0] - 2020-01-25
224+
225+
### Added
226+
- **Path-based change detection** (`change_path` input) - Specify paths to monitor for changes, useful for mono-repos where not all changes should trigger version bumps
227+
228+
### Changed
229+
- Release link now uses branch name from action input rather than GitHub environment variable
230+
- Release link is now output to action logs for visibility
231+
232+
## [2.0.0] - 2019-12-24
233+
234+
### Changed
235+
- **Breaking**: Now uses `git describe` for more reliable tag detection instead of `git log`
236+
- Added warning when repository has no tags, helping users understand why versioning starts at 0.0.0
237+
238+
## [1.0.1] - 2019-12-11
239+
240+
### Fixed
241+
- Empty tag prefixes are now supported (useful for repos that use plain version numbers without 'v' prefix)
242+
243+
### Added
244+
- Documentation for `version_format` input parameter
245+
246+
## [1.0.0] - 2019-12-11 - Initial Release
247+
248+
### Added
249+
- Automatic semantic versioning based on git commit history
250+
- Version bumping through commit message markers: `(MAJOR)` and `(MINOR)`
251+
- Customizable version output format via `version_format` input
252+
- Support for both short (v1) and full (v1.0.0) version tags
253+
- Increment counter for commits since last version tag
254+
- No manual version maintenance required - fully automated from git history
255+
256+
[5.4.0]: https://github.com/PaulHatch/semantic-version/compare/v5.3.0...v5.4.0
257+
[5.3.0]: https://github.com/PaulHatch/semantic-version/compare/v5.2.1...v5.3.0
258+
[5.2.1]: https://github.com/PaulHatch/semantic-version/compare/v5.2.0...v5.2.1
259+
[5.2.0]: https://github.com/PaulHatch/semantic-version/compare/v5.1.0...v5.2.0
260+
[5.1.0]: https://github.com/PaulHatch/semantic-version/compare/v5.0.3...v5.1.0
261+
[5.0.3]: https://github.com/PaulHatch/semantic-version/compare/v5.0.2...v5.0.3
262+
[5.0.2]: https://github.com/PaulHatch/semantic-version/compare/v5.0.1...v5.0.2
263+
[5.0.1]: https://github.com/PaulHatch/semantic-version/compare/v5.0.0...v5.0.1
264+
[5.0.0]: https://github.com/PaulHatch/semantic-version/compare/v4.0.3...v5.0.0
265+
[4.0.3]: https://github.com/PaulHatch/semantic-version/compare/v4.0.2...v4.0.3
266+
[4.0.2]: https://github.com/PaulHatch/semantic-version/compare/v4.0.1...v4.0.2
267+
[4.0.1]: https://github.com/PaulHatch/semantic-version/compare/v4...v4.0.1
268+
[4.0.0]: https://github.com/PaulHatch/semantic-version/compare/v3.3.1...v4
269+
[3.3.1]: https://github.com/PaulHatch/semantic-version/compare/v3.3...v3.3.1
270+
[3.3.0]: https://github.com/PaulHatch/semantic-version/compare/v3.2.1...v3.3
271+
[3.2.1]: https://github.com/PaulHatch/semantic-version/compare/v3.2...v3.2.1
272+
[3.2.0]: https://github.com/PaulHatch/semantic-version/compare/v3.1.2...v3.2
273+
[3.1.2]: https://github.com/PaulHatch/semantic-version/compare/v3.1.1...v3.1.2
274+
[3.1.1]: https://github.com/PaulHatch/semantic-version/compare/v3.1...v3.1.1
275+
[3.1.0]: https://github.com/PaulHatch/semantic-version/compare/v3...v3.1
276+
[3.0.0]: https://github.com/PaulHatch/semantic-version/compare/v2.1.1...v3
277+
[2.1.1]: https://github.com/PaulHatch/semantic-version/compare/v2.1...v2.1.1
278+
[2.1.0]: https://github.com/PaulHatch/semantic-version/compare/v2...v2.1
279+
[2.0.0]: https://github.com/PaulHatch/semantic-version/compare/v1.0.1...v2
280+
[1.0.1]: https://github.com/PaulHatch/semantic-version/compare/v1...v1.0.1
281+
[1.0.0]: https://github.com/PaulHatch/semantic-version/releases/tag/v1

0 commit comments

Comments
 (0)