mirror of
https://github.com/PaulHatch/semantic-version.git
synced 2025-12-27 04:58:17 +00:00
12 KiB
12 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
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_branchinput) - 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_NAMEenvironment variable no longer causes failures during testingbump_each_commitnow properly respectsenable_prerelease_modesetting- 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_branchesinput is deprecated and will be removed in v6.0.0 - useversion_from_branchinstead
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 (
debuginput) - 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_patterninput) - When usingbump_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_modeinput) - 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_taggedoutput - 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
authorsoutput lists all commit authors since last release, formatted as CSV (JSON option available viauser_format_type) - Commit body searching -
search_commit_bodyinput 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_branchesinput - 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_tagsis disabled
4.0.0 - 2021-02-08
Changed
- Breaking: Branch parameter now defaults to
HEADinstead of requiring explicit branch name - Branch names no longer include
origin/prefix, simplifying branch-based versioning - Reintroduced support for using
HEADas branch parameter (was removed in v3)
Deprecated
branchinput is now deprecated in favor of automatic HEAD detection
3.3.1 - 2021-01-28
Added
version_tagoutput 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_patternandminor_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_commitmode - Every commit creates a new patch version, useful for continuous deployment scenariosshort_tagstoggle - When set tofalse, 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_tagoutput - 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 (
namespaceinput) - Enables multiple projects/components in same repo with isolated versioning - Improved mono-repo support - Each namespace maintains its own version sequence
Changed
- Breaking:
change_pathinput 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_pathinput) - 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 describefor more reliable tag detection instead ofgit 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_formatinput 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_formatinput - 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