mirror of
https://github.com/PaulHatch/semantic-version.git
synced 2025-12-27 04:58:17 +00:00
Add changelog
This commit is contained in:
parent
c4f3793c16
commit
305899e7da
1 changed files with 281 additions and 0 deletions
281
CHANGELOG.md
Normal file
281
CHANGELOG.md
Normal file
|
|
@ -0,0 +1,281 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [5.4.0] - 2024-01-31
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Updated to Node.js v20 runtime
|
||||||
|
- Updated all dependencies to latest versions
|
||||||
|
|
||||||
|
## [5.3.0] - 2023-09-30
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **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
|
||||||
|
- Enhanced diagnostics documentation in contributing guide
|
||||||
|
- Improved warning messages to clarify when no tags are found vs when tags exist but don't match criteria
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- `GITHUB_REF_NAME` environment variable no longer causes failures during testing
|
||||||
|
- `bump_each_commit` now properly respects `enable_prerelease_mode` setting
|
||||||
|
- Non-version branches are properly ignored when using branch-based versioning
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Updated Jest configuration for better test isolation
|
||||||
|
- Rebuilt distribution files with latest changes
|
||||||
|
|
||||||
|
### Deprecated
|
||||||
|
- `use_branches` input is deprecated and will be removed in v6.0.0 - use `version_from_branch` instead
|
||||||
|
|
||||||
|
## [5.2.1] - 2023-08-24
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Diagnostic mode output was not being properly included in the action's output, preventing debugging
|
||||||
|
|
||||||
|
## [5.2.0] - 2023-08-20
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **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
|
||||||
|
|
||||||
|
## [5.1.0] - 2023-08-09
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **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`)
|
||||||
|
- **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
|
||||||
|
- `is_tagged` output - Boolean indicating if the current commit already has a version tag
|
||||||
|
- Previous version commit information outputs (`previous_commit`, `previous_version`) for better version tracking
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Corrected tag ordering when determining previous version (was using reverse order incorrectly)
|
||||||
|
- Increased test timeout for Windows environments to prevent CI failures
|
||||||
|
- Fixed test failures in environments with global GPG signing enabled
|
||||||
|
- Documentation typo: "version" output name was incorrectly documented
|
||||||
|
|
||||||
|
## [5.0.3] - 2023-01-10
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Pre-release tags on current commit were not being handled correctly when determining version increments
|
||||||
|
- Fixed incorrect parameter name mapping that was causing action failures
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Updated dependencies to latest versions
|
||||||
|
|
||||||
|
## [5.0.2] - 2022-12-31
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Build output mapping was incorrect, causing the action to fail when generating outputs
|
||||||
|
|
||||||
|
## [5.0.1] - 2022-12-27
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Tag prefix and namespace values are now properly escaped when constructing regex patterns, preventing regex errors with special characters
|
||||||
|
- Fixed unescaped dots in regex patterns that could cause incorrect matching
|
||||||
|
- Test suite now consistently uses 'master' as branch name to avoid CI failures
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Syntax highlighting for code examples in documentation
|
||||||
|
- Contributing.md guide for developers
|
||||||
|
- Test coverage for namespaces containing forward slashes
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Documentation updated to reflect correct input parameter names
|
||||||
|
- Version calculation no longer limits the number of tags retrieved, ensuring accurate version determination in repos with many tags
|
||||||
|
|
||||||
|
## [5.0.0] - 2022-12-20 - Major Rewrite
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Complete TypeScript rewrite** - Action rewritten from JavaScript to TypeScript with modular architecture
|
||||||
|
- **Author tracking** - New `authors` output lists all commit authors since last release, formatted as CSV (JSON option available via `user_format_type`)
|
||||||
|
- **Commit body searching** - `search_commit_body` input allows searching commit message bodies for version patterns, not just the subject line
|
||||||
|
- **Branch support** - Can now use branch names instead of tags for versioning with `use_branches` input
|
||||||
|
- **Improved outputs** - Additional metadata including `version_type`, commit hashes, and more detailed version information
|
||||||
|
- **Namespace support without tags** - Namespaces now work even when no existing tags match the namespace
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Pre-release tags (alpha, beta, rc) are now properly excluded from version calculations unless explicitly included
|
||||||
|
- Fixed issue where current commit's tag wasn't properly considered when calculating previous version
|
||||||
|
- Tag ordering now uses git's version sort instead of author date, providing more accurate version ordering
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Architecture completely redesigned with providers, resolvers, classifiers, and formatters for better extensibility
|
||||||
|
- Short tag support has been completely removed (was deprecated in v4)
|
||||||
|
- Updated to actions/core@1.10.0 and modernized all dependencies
|
||||||
|
- Node.js 16 compatibility
|
||||||
|
|
||||||
|
## [4.0.3] - 2021-10-29
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Version output now properly uses the user-supplied version format template combined with namespace
|
||||||
|
- Updated dependencies and improved test coverage
|
||||||
|
- Documentation clarifications for better user understanding
|
||||||
|
|
||||||
|
## [4.0.2] - 2021-04-22
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Tag prefixes can now contain forward slashes (e.g., `releases/v`), enabling more flexible tagging schemes
|
||||||
|
|
||||||
|
## [4.0.1] - 2021-02-25
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Fixed regex pattern for matching full version tags when `short_tags` is disabled
|
||||||
|
|
||||||
|
## [4.0.0] - 2021-02-08
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- **Breaking**: Branch parameter now defaults to `HEAD` instead of requiring explicit branch name
|
||||||
|
- Branch names no longer include `origin/` prefix, simplifying branch-based versioning
|
||||||
|
- Reintroduced support for using `HEAD` as branch parameter (was removed in v3)
|
||||||
|
|
||||||
|
### Deprecated
|
||||||
|
- `branch` input is now deprecated in favor of automatic HEAD detection
|
||||||
|
|
||||||
|
## [3.3.1] - 2021-01-28
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- `version_tag` output now includes namespace value, making it easier to identify versioned releases in multi-project repositories
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Improved documentation clarity for namespace feature
|
||||||
|
- Enhanced readme formatting and examples
|
||||||
|
|
||||||
|
## [3.3.0] - 2021-01-23
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Regular expression support** for `major_pattern` and `minor_pattern` - Wrap patterns in `/` to use regex (e.g., `/breaking:\s/i`)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Fixed logic that prevented version tags from being properly matched when calculating increments
|
||||||
|
|
||||||
|
## [3.2.1] - 2021-01-16
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Tagged commits now properly preserve their increment value instead of resetting to 0
|
||||||
|
- SVG diagrams now have proper background color for better visibility
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Updated dependencies
|
||||||
|
- Documentation improvements
|
||||||
|
|
||||||
|
## [3.2.0] - 2020-12-20
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **`bump_each_commit` mode** - Every commit creates a new patch version, useful for continuous deployment scenarios
|
||||||
|
- **`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)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Improved documentation with visual diagrams
|
||||||
|
- Removed deprecated parameters from documentation
|
||||||
|
- Enhanced readme clarity with better examples
|
||||||
|
|
||||||
|
## [3.1.2] - 2020-10-07
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- **Full Windows support** - Fixed line ending issues and command execution on Windows
|
||||||
|
- Action now properly exits when current commit already has a version tag
|
||||||
|
- Current commit's tag is now used as the version when applicable
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Complete Windows support in test suite with OS-specific temp directories
|
||||||
|
- Windows runner added to CI pipeline alongside Linux
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Commands now run silently to reduce log noise
|
||||||
|
- Improved error handling for command execution failures
|
||||||
|
- Added warning about actions/checkout@v2 shallow clone behavior that can affect version detection
|
||||||
|
|
||||||
|
## [3.1.1] - 2020-09-05
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Change detection now works correctly when no previous tags exist in the repository
|
||||||
|
|
||||||
|
## [3.1.0] - 2020-09-05
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **`version_tag` output** - Returns the complete version tag including prefix and namespace
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Improved logging for change detection to help with debugging
|
||||||
|
- Command execution failures are now logged as info rather than errors (they're handled gracefully)
|
||||||
|
- Updated package dependencies
|
||||||
|
|
||||||
|
## [3.0.0] - 2020-09-02 - Multi-Project Support
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Namespace support** (`namespace` input) - Enables multiple projects/components in same repo with isolated versioning
|
||||||
|
- **Improved mono-repo support** - Each namespace maintains its own version sequence
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- **Breaking**: `change_path` input now filters which paths trigger version changes rather than just detecting changes
|
||||||
|
- Removed verbose action output for cleaner logs
|
||||||
|
- Modernized codebase and dependencies for GitHub Actions runner compatibility
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
- Deprecated action inputs from v2
|
||||||
|
|
||||||
|
## [2.1.1] - 2020-02-07
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Release link generation now uses correct branch name format
|
||||||
|
|
||||||
|
## [2.1.0] - 2020-01-25
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **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
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Release link now uses branch name from action input rather than GitHub environment variable
|
||||||
|
- Release link is now output to action logs for visibility
|
||||||
|
|
||||||
|
## [2.0.0] - 2019-12-24
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- **Breaking**: Now uses `git describe` for more reliable tag detection instead of `git log`
|
||||||
|
- Added warning when repository has no tags, helping users understand why versioning starts at 0.0.0
|
||||||
|
|
||||||
|
## [1.0.1] - 2019-12-11
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Empty tag prefixes are now supported (useful for repos that use plain version numbers without 'v' prefix)
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Documentation for `version_format` input parameter
|
||||||
|
|
||||||
|
## [1.0.0] - 2019-12-11 - Initial Release
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Automatic semantic versioning based on git commit history
|
||||||
|
- Version bumping through commit message markers: `(MAJOR)` and `(MINOR)`
|
||||||
|
- Customizable version output format via `version_format` input
|
||||||
|
- Support for both short (v1) and full (v1.0.0) version tags
|
||||||
|
- Increment counter for commits since last version tag
|
||||||
|
- No manual version maintenance required - fully automated from git history
|
||||||
|
|
||||||
|
[5.4.0]: https://github.com/PaulHatch/semantic-version/compare/v5.3.0...v5.4.0
|
||||||
|
[5.3.0]: https://github.com/PaulHatch/semantic-version/compare/v5.2.1...v5.3.0
|
||||||
|
[5.2.1]: https://github.com/PaulHatch/semantic-version/compare/v5.2.0...v5.2.1
|
||||||
|
[5.2.0]: https://github.com/PaulHatch/semantic-version/compare/v5.1.0...v5.2.0
|
||||||
|
[5.1.0]: https://github.com/PaulHatch/semantic-version/compare/v5.0.3...v5.1.0
|
||||||
|
[5.0.3]: https://github.com/PaulHatch/semantic-version/compare/v5.0.2...v5.0.3
|
||||||
|
[5.0.2]: https://github.com/PaulHatch/semantic-version/compare/v5.0.1...v5.0.2
|
||||||
|
[5.0.1]: https://github.com/PaulHatch/semantic-version/compare/v5.0.0...v5.0.1
|
||||||
|
[5.0.0]: https://github.com/PaulHatch/semantic-version/compare/v4.0.3...v5.0.0
|
||||||
|
[4.0.3]: https://github.com/PaulHatch/semantic-version/compare/v4.0.2...v4.0.3
|
||||||
|
[4.0.2]: https://github.com/PaulHatch/semantic-version/compare/v4.0.1...v4.0.2
|
||||||
|
[4.0.1]: https://github.com/PaulHatch/semantic-version/compare/v4...v4.0.1
|
||||||
|
[4.0.0]: https://github.com/PaulHatch/semantic-version/compare/v3.3.1...v4
|
||||||
|
[3.3.1]: https://github.com/PaulHatch/semantic-version/compare/v3.3...v3.3.1
|
||||||
|
[3.3.0]: https://github.com/PaulHatch/semantic-version/compare/v3.2.1...v3.3
|
||||||
|
[3.2.1]: https://github.com/PaulHatch/semantic-version/compare/v3.2...v3.2.1
|
||||||
|
[3.2.0]: https://github.com/PaulHatch/semantic-version/compare/v3.1.2...v3.2
|
||||||
|
[3.1.2]: https://github.com/PaulHatch/semantic-version/compare/v3.1.1...v3.1.2
|
||||||
|
[3.1.1]: https://github.com/PaulHatch/semantic-version/compare/v3.1...v3.1.1
|
||||||
|
[3.1.0]: https://github.com/PaulHatch/semantic-version/compare/v3...v3.1
|
||||||
|
[3.0.0]: https://github.com/PaulHatch/semantic-version/compare/v2.1.1...v3
|
||||||
|
[2.1.1]: https://github.com/PaulHatch/semantic-version/compare/v2.1...v2.1.1
|
||||||
|
[2.1.0]: https://github.com/PaulHatch/semantic-version/compare/v2...v2.1
|
||||||
|
[2.0.0]: https://github.com/PaulHatch/semantic-version/compare/v1.0.1...v2
|
||||||
|
[1.0.1]: https://github.com/PaulHatch/semantic-version/compare/v1...v1.0.1
|
||||||
|
[1.0.0]: https://github.com/PaulHatch/semantic-version/releases/tag/v1
|
||||||
Loading…
Reference in a new issue