Download the PHP package automattic/jetpack-changelogger without Composer

On this page you can find all versions of the php package automattic/jetpack-changelogger. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package jetpack-changelogger

Jetpack Changelogger

This tool allows for managing a changelog for your project by having each PR drop a specially-formatted "change file" into a changelog directory, which the tool can then process when you make a release.

Why?

Traditional changelog files have one major disadvantage in a project with many things going on at once: merge conflicts! Multiple PRs are likely to be inserting changelog entries at the same place in the file, so when one is merged the other needs to be rebased. And, unfortunately, GitHub and other hosts seldom offer support for custom merge engines that might mitigate this.

The use of "change files" in a directory works around this, since file creation won't conflict unless two people happen to choose the same filename for their PRs. This tool defaults to basing the filename on the git branch name, which again people usually choose to be unique enough.

The use of change files also allows us to include additional metadata about the change, in particular the semantic versioning "significance". This means the release manager no longer has to determine on their own whether the new version should have a patch, minor, or major bump as the change files themselves already specify the kind of bump that's needed.

Installation

Require using composer require --dev automattic/jetpack-changelogger.

This will install the changelogger tool into vendor/bin/, which you might add to your PATH, or you might run it via composer exec -- changelogger.

If you're using git, it's recommended to also create changelog/.gitkeep in your repository so the directory will always be present.

Configuration

Changelogger is configured via entries in composer.json, under extra.changelogger. In most cases you can set the configuration using composer config extra.changelogger.$setting $value.

Usage

Adding a change file

The changelog file consists of named fields, a blank line, and the changelog entry content.

The filename in the changelog directory does not matter, as long as it does not begin with a dot.

A changelog file may be created interactively using changelogger add. You may also specify all the needed fields non-interactively with command line options; see changelogger add --help for details.

Significance field

This field specifies the significance of the change in the style of semantic versioning. Valid values are

Depending on the versioning configuration setting, this may be used to determine the version when rolling the change files into a new changelog version.

Type field

This specifies the type of the change, which in turn is used to place the entry in a proper subheading when rolling the change files into a new changelog version.

Valid types are defined in the types configuration setting. If that setting is empty, the Type field should be omitted.

Comment field

This field contains arbitrary text that might be useful in communicating to other developers. It is not used by Changelogger.

Changelog entry

The changelog entry comes after all the fields, separated from them by a blank line. This is the text that is included in the changelog file when the change files are combined into a changelog version.

When the significance is "patch", the entry may be left empty. It is not valid to leave it empty when the significance is "minor" or "major".

Validating change files

Change files may be validated using changelogger validate. By default it will check all non-dotfiles in the configured changes-dir, but a list of specific files may be passed instead.

When errors or warnings are encountered, by default the full path to the file is reported. This may be overridden using --basedir, which will cause paths inside that directory to be reported relative to it.

Checking versions

To allow easier integration of changelogger into other tooling, the current, previous, and next versions based on the current may be printed with changelogger version.

When fetching the next version, the same flags accepted by changelogger write to control the versioning are accepted here too.

Updating the changelog

The change files may be combined into a new changelog entry using changelogger write. Note that this operation will delete the change files, so you're encouraged to have checked them into git beforehand in case something goes wrong.

Command line options allow for specifying prerelease suffixes (like -dev or -beta), overriding the version determination entirely, or amending the latest changelog entry.

Plugins

Plugins are used to parse the changelog file and to determine the next version from a current version.

A plugin is specified by a JSON string, or an object with one of the following keys:

The plugin may take additional keys as configuration. See the plugin documentation for details.

If a string is given, it is assumed to be the name.

Included plugins

One formatting plugin and two versioning plugins are included.

"keepachangelog" formatting plugin

This formatter parses a changelog in markdown format as documented at https://keepachangelog.com/en/1.0.0/.

Configuration options are:

"semver" versioning plugin

Determines the next version using the semantic versioning.

"wordpress" versioning plugin

WordPress, and some of its plugins such as Jetpack, give normal releases decimal version numbers such as 9.4, incrementing it by 0.1 with each release. There is no special significance to going from 8.9 to 9.0. Bugfix "point releases" add a suffix like 9.4.1.

When this plugin is in use, the write commands will accept a --point-release option to indicate that a point release increment should be done rather than a major release.

Writing plugins

A formatting plugin must implement the Automattic\Jetpack\Changelogger\FormatterPlugin interface.

A versioning plugin must implement the Automattic\Jetpack\Changelogger\VersioningPlugin interface.

If you want your plugin to be available via a name, create an alias to it from Automattic\Jetpack\Changelogger\Plugins\{Name}Formatter or Automattic\Jetpack\Changelogger\Plugins\{Name}Versioning as appropriate for its type, and make sure that alias can be loaded via the autoloader. There are two common ways to do this correctly:

  1. Using PSR-0 or PSR-4, put the class_alias() in the same file as the target class, and create a dummy file at the aliased name with a class_exists() call for the target name to trigger loading.
  2. Use .autoload.files in composer.json to load a file with the necessary class_alias() calls. Note this will load all aliases classes on every request.

All versions of jetpack-changelogger with dependencies

PHP Build Version
Package Version
Requires php Version >=7.2
symfony/console Version ^3.4 || ^4.4 || ^5.2 || ^6.0 || ^7.0
symfony/process Version ^3.4 || ^4.4 || ^5.2 || ^6.0 || ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package automattic/jetpack-changelogger contains the following files

Loading the files please wait ....