All notable changes to this project will be documented here.
The format is based on Keep a Changelog, adheres to Semantic Versioning, and is generated by itself.
- #713 Support filepath globs in replacements
- #714 Clean up release notes files if any error takes place during the batch process
- #688 Validate kinds match config in fragment when batching release notes
- #702 Rework replacement to support grouping
- #706 KindKey and KindLabel values to Change data to be used in formats
- #675 New command can now properly create a fragment via custom CLI arguments if using a kind with custom choices.
- #651 Search upwards for a changie config file
- #612 Key option to kind configs to separate visual labels from file names and fragment values
- #591 Replacements can now be configured per project in a monorepo setup
- #597 Preview warning when using projects
- #586 VersionNoFormat can be used in the VersionFormat configuration
- #584 New command will create the unreleased folder if it does not already exist
- #582 Running changie through NPM did not redirect the input stream, rendering 'changie new' inoperable
- #571 Project prompt is now a multichoose prompt to allow one change to affect multiple projects without repeating the prompts
- #571 Project command line argument for new is now a list of projects and uses --projects instead of --project
- #569 Merge unreleased now only merges project-specific changes into each project.
- #561 Changie is now available as an NPM package.
- #552 Merge will merge all projects versions if projects are enabled.
- #554 Provide a better error message if a change file is invalid.
- #559 Slashes in FragmentFileFormat resulting in unexpected file paths.
- #530 Option to use "none" as auto level to skip changes when calculating bump version
- #536 customs template function returns an empty string instead of an error for missing keys.
- #505 Option to edit body messages with a text editor using
-e/--editor
- #503 Option to batch unreleased changes when merging changelogs
- #520 Allow usage of prefixed environment variables in post
- #512 Projects configuration options and command arguments for monorepo support. Currently in preview mode.
- #93 Support for multiline prompts and bodies
- #457 Switched prompt tool to cqroot/prompt, a bubbletea based prompt
- #453 Default auto level for deprecation is now minor to match semver
- #439 Auto mode to batch and new which uses kind configs to automatically determine the next bump level
- #430 Remove extra newline character from the output of
changie latest
- #404 Init command will exit if a changie config file already exists, a new force option exists if you want to reset your config
- #406 Batch command will exit if the version file already exists, a new force option was added if you want to override it
- #372 Environment variable loading based on prefix
- #368 Unable to create a change fragment using
--custom
if your custom prompt had a Label
- #339 Kind option to new command
- #338 Body option to new command
- #348 Component option to new command
- #340 Custom option to new command
- #355 Options for post processing at global and per kind levels
- #238 Options to add additional newlines before and after elements in batch files
- #323 Options to add additional newlines before and after elements when merging a changelog file
- #324 Header path is now optional when merging the changelog
- #311 Option to customize filename for change fragments
- #312 Option to specify custom choices are optional
- #297 Major, minor, patch, prerelease and metadata values for templates that include the latest version
- #292 Version should not include minor or patch values if not included as argument to batch
- #283 skip-prereleases option to latest command
- #284 next command enforces argument to be major, minor or patch
- #263 Includes option properly deletes files included
- #264 Includes option deletes the directory if no files remain
- #247 Prerelease and metadata options for next and batch
- #248 Option to move unreleased files after batching
- #249 Option to include additional directories of change files when batching versions
- #250 Option to remove prerelease versions when batching
- #225 Previous version field to version header template data
- #222 Footers can be inserted at the end of version files using version footer flag or version footer config
- #229 Allow for use of sprig functions in templates
- #230 Header and footer templates config options for batch command
- #240 Header and footer files can use go templates and sprig functions
- #240 Template functions for working with changes for header and footer files or templates
- #235 Create files without exec bit (+x)
- #243 Changes are sorted oldest first instead of newest first
- #228 Batch commands
--headerPath
argument, use--header-path
instead
- #203 dry-run option to merge command
- #202 dry-run option to new command
- #201 dry-run option to batch command
- #196 Keep option to batch command to not delete fragments
- #204 Default directory name to .changes for
init
command
- #180 Regular expression flag option for replacements
- #166 Option to use environment variable for config path
- #166 Try and load .changie.yml if .changie.yaml fails
With this release Changie aims to maintain compatibility for the CLI and options. Support for and use of Changie as an imported package is not recommended.
- #123 Option to customize body prompt similar to string choice
- #123 Min and max length checks for string choices
- #136 Option for additional choices per kind
- #136 Option to skip global choices per kind
- #136 Option to skip body prompts per kind
- #137 Change format option per kind
- #141 Default kind format does not have a newline to start
- #116 Optional component layer above kinds
- #118 Kinds can be extended with custom headers
- #116 Kind prompt can be toggled off
- #116 Kind headers are now optional
- #92 Option to include a header file when batching fragments into a version file.
- #98 Next command that echoes the latest version incremented by one.
- #100 Batch now supports bumping major, minor, and patch
- #34 Option to find and replace in files during merge command
- #33 Latest command when no releases exist will return v0.0.0 instead of panicking
- #29 Reference to changie in default header template
- #28 Custom choices is now an array of Custom instead of a map
- #25 Incorrect file permissions on init when creating unreleased directory
- #22 Remove prefix argument in latest command is now a bool
Initial release