Skip to content

Releases: phly/keep-a-changelog

keep-a-changelog 2.6.0

28 Jul 18:51
2.6.0
Compare
Choose a tag to compare

2.6.0 - 2020-07-28

Added

  • #76 adds "milestone" commands for listing, creating, and closing milestones:

    • milestone:list will list milestones.
    • milestone:create will create a milestone, optionally with a description.
    • milestone:close will close a milestone.
  • #76 adds --create-milestone and --create-milestone-with-name options to the bump:* and unreleased:promote commands, allowing them to optionally create a milestone on completion.

  • #76 adds a new provider interface, MilestoneAwareProviderInterface, for indicating that a provider is capable of manipulating project milestones.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

keep-a-changelog 2.5.0

16 Jul 20:35
2.5.0
Compare
Choose a tag to compare

2.5.0 - 2020-07-16

Added

  • #75 adds the ability to correctly parse, show, and manipulate a changelog marked Unreleased in your changelog file, per the 1.0.0 version of the Keep-A-Changelog spec.

  • #75 adds the command unreleased:create, allowing you to create an Unreleased release in your changelog.

  • #75 adds the command unreleased:promote <version> [--date|-d], allowing you to rename an Unreleased release to the given version, and set the release date (defaulting to the current date).

Changed

  • #73 adds a new listener to the version:tag command, VerifyVersionHasReleaseDateListener. This listener ensures that you cannot tag a release that has not had its release date set in the changelog yet, aborting if the date is not present.

  • #74 changes the behavior of version:tag slightly, by adding a check to see if we have a clean checkout currently. If not, it will abort the operation. Users can pass a new --force option to force the operation to continue.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

keep-a-changelog 2.4.0

01 May 17:33
2.4.0
Compare
Choose a tag to compare

2.4.0 - 2020-05-01

Added

  • Nothing.

Changed

  • #72 expands the regexp used to validate a version string to allow including a hyphen (-) between the version and stability, as well as a period (.) between the stability and revision identifier. As an example, the version "1.2.3-rc.1" will now be considered valid by the keep-a-changelog tool.

  • #71 changes the values of the constants BumpCommand::BUMP_BUGFIX and ::BUMP_PATCH to be "patch" instead of "bugfix", making them better align with the verbiage in version 2.0 of the Keep A Changelog specification. Usage of the tool does not change, however.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

keep-a-changelog 2.3.0

30 Jan 22:27
2.3.0
Compare
Choose a tag to compare

2.3.0 - 2020-01-30

Added

  • #67 adds self-contained PHAR files to new releases.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

keep-a-changelog 2.2.0

03 Dec 22:28
2.2.0
Compare
Choose a tag to compare

Added

  • Adds PHP 7.4 support.

Changed

  • #63 adds support for symfony/console v5 releases.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

keep-a-changelog 2.1.2

07 Nov 21:13
2.1.2
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #62 fixes how the command handles the return value when prompting for a remote to use. Previously, it was using the index, instead of looking up the remote name by the index, which would lead to errors.

keep-a-changelog 2.1.1

16 Oct 18:47
2.1.1
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #61 fixes an issue that presented when the tag name associated with a release differs from the version.

keep-a-changelog 2.1.0

06 Jun 17:36
Compare
Choose a tag to compare

Added

  • #56 adds a new command, changelog:edit-links, to allow editing reference
    links in the changelog file.

  • #57 [DEVELOPERS] This patch adds two traits for listeners that use the
    Editor or ChangelogEditor; these traits facilitate testing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #56 / #38 fixes parsing of the changelog file to ensure it recognizes versions
    using the reference link format.

keep-a-changelog 2.0.0

04 Jun 22:38
Compare
Choose a tag to compare

Added

  • Configuration is now a first-class citizen within the tooling, and is merged
    (in order of ascending priority) from each of package defaults,
    $XDG_CONFIG_HOME/keep-a-changelog.ini (usually $HOME/.config/keep-a-changelog.ini),
    $PWD/.keep-a-changelog.ini (the directory in which you run the command), and
    command options. Configuration has the following format:

    [defaults]
    changelog_file = CHANGELOG.md
    provider = github
    remote = origin
    package = some/package ; local ($PWD) config only
    
    [providers]
    github[class] = Phly\KeepAChangelog\Provider\GitHub
    github[token] = authorization-token ; global config only
    github[url] = https://some-custom-install.github.com
    gitlab[class] = Phly\KeepAChangelog\Provider\GitLab
    gitlab[token] = authorization-token ; global config only
    gitlab[url] = https://some-custom-install.gitlab.com

    Full details can be found in the README.md
    file.

  • Adds the command config:edit, which allows editing a global or local
    configuration file within your specified editor (either $EDITOR or the value
    of the --editor option).

  • Adds the command config:remove, which allows removing either a global or local
    configuration file.

  • Adds the command config:show, which allows showing the contents of either a
    global or local configuration file, or the merged values of the two.

  • The version:edit command now allows you to specify the specific changelog
    version you wish to edit. If you do not specify a version, it assumes the most
    recent listed.

  • The various entry:* commands now allow you to specify the specific changelog
    version (via --version) to which to add the new entry, instead of only
    allowing adding to the most recent.

Changed

  • The tooling now requires PHP 7.2, as it consumes and implements
    PSR-14 (Event Dispatcher) internally.

  • Configuration has changed, including where it is stored. If you were using
    configuration previously, generate new configuration using keep-a-changelog config:create --global, and then copy relevant details from your
    $HOME/.keep-a-changelog/config.ini to the new configuration file (you can use
    keep-a-changelog config:edit --global to edit the new file).

  • When calling version:release or the various entry:* commands, package
    names can now be autodiscovered via one of:

    • The local configuration file.
    • A Composer composer.json file (via the name key).
    • An NPM package.json file (via the name key).

    This means you likely no longer need to specify the package name when pushing
    a release via the tooling.

  • When calling version:tag, git remote names can now be specified via one of:

    • The global configuration file.
    • The local configuration file.
    • Command-line option.
    • Autodiscovery via .git/config, using the configured provider and package name.
  • The --file|-f global option for specifying a changelog file is now
    --changelog|-c.

  • The version:release command now makes the <package> argument a --package option.

  • The version:release command now allows releasing any version; this can be useful
    when creating historical releases.

  • The internals were completely rewritten. If you were extending or consuming
    any classes previously, they are likely either removed, renamed, or rewritten
    at this time. In particular, all commands are now under sub-namespaces, and
    dispatch events instead of performing logic internally. This approach should
    make understanding the workflow of individual commands simpler.

Deprecated

  • Nothing.

Removed

  • Removes the config command; use config:create instead.

  • Removes the edit command; use version:edit instead.

  • Removes the new command; use changelog:new instead.

  • Removes the ready command; use version:ready instead.

  • Removes the release command; use version:release instead.

  • Removes the tag command; use version:tag instead.

Fixed

  • Nothing.

keep-a-changelog 1.6.1

14 May 16:52
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • #48 adds the string : to then end of all question prompts to make them more readable.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #52 removes the Throwable $e argument to MissingTagException::forUnverifiedTagOnGithub()
    as no Throwable was available in the context in which it was called.

  • #47 fixes a bug during global configuration file creation that occurs when the
    configuration directory does not exist.