PHPackages                             epicarrow/git-changelog - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. epicarrow/git-changelog

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

epicarrow/git-changelog
=======================

A simple service to parse the git log of an application to a readable changelog.

v1.2(9y ago)169MITPHPPHP &gt;=5.6.4

Since Jan 13Pushed 9y ago1 watchersCompare

[ Source](https://github.com/ferdinandfrank/git-changelog)[ Packagist](https://packagist.org/packages/epicarrow/git-changelog)[ RSS](/packages/epicarrow-git-changelog/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (1)Versions (4)Used By (0)

Git ChangeLog
=============

[](#git-changelog)

A simple service to parse the git log of an application to a readable changelog.

Requirements
------------

[](#requirements)

#### Mandatory Requirements

[](#mandatory-requirements)

- [PHP](https://php.net) &gt;= 5.6.4
- [Carbon](http://carbon.nesbot.com/) &gt;= 1.18: Used to format the date of the git commits

#### Optional Requirements

[](#optional-requirements)

- An existing [&gt;= Laravel 5.3](https://laravel.com/docs/master/installation) project to use the global view variable `$gitVersion`

Installation
------------

[](#installation)

1. To get started, install the Git ChangeLog service via the Composer package manager:

    ```
    composer require epicarrow/git-changelog
    ```
2. Optional: If you are using Laravel and you want to use the global view variable `$gitVersion` add the following entry to your providers array in `config/app.php`:

    ```
    'providers' => [
       ...
       ...
       EpicArrow\GitChangeLog\Providers\GitChangeLogServiceProvider::class
    ]
    ```

Documentation
-------------

[](#documentation)

### Services

[](#services)

The following services are currently available:

---

```
EpicArrow\GitChangeLog\GitChangeLog::get([int $count = null])
```

Fetches the latest unique git commits. If two contiguous commits have the same commit message only one commit will be retrieved.

**Parameters:**

- `$count` (*int*): The number of results to retrieve.

**Return Values:**

The retrieved commits as an `array` of `EpicArrow\GitChangeLog\Models\Commit`s.

---

```
EpicArrow\GitChangeLog\GitChangeLog::version()
```

Gets the latest version of the git repository.

**Return Values:**

The retrieved latest version of the git repository as a `string` or `null` if no version exists.

---

### Global Variables

[](#global-variables)

If you are using Laravel and you've registered the `GitChangeLogServiceProvider` within your `config/app.php` providers array you can access the following variables from every blade view:

- `$gitVersion`: Corresponds to the service `EpicArrow\GitChangeLog\GitChangeLog::version()` and gets you the latest version of the git repository.

### The commit model `EpicArrow\GitChangeLog\Models\Commit`

[](#the-commit-model-epicarrowgitchangelogmodelscommit)

When retrieving the latest git commit through this service you will get an `array` of `EpicArrow\GitChangeLog\Models\Commit`s. This model has the following properties:

- `$id`(*string*): The commit hash/id
- `$date`(*Carbon\\Carbon*): The date of the commit
- `$message`(*string*): The commit message
- `$version`(*string|null*): The version (tag) the commit belongs to
- `$author`(*string*): The author of the commit
- `$email`(*string*): The author's email address of the commit
- `$merge`(*string|null*): The merge info of the commit

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

3

Last Release

3445d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/19409640?v=4)[Ferdinand Frank](/maintainers/ferdinandfrank)[@ferdinandfrank](https://github.com/ferdinandfrank)

---

Top Contributors

[![ferdinandfrank](https://avatars.githubusercontent.com/u/19409640?v=4)](https://github.com/ferdinandfrank "ferdinandfrank (14 commits)")

---

Tags

laravelgitversionchangelogcommits

### Embed Badge

![Health badge](/badges/epicarrow-git-changelog/health.svg)

```
[![Health](https://phpackages.com/badges/epicarrow-git-changelog/health.svg)](https://phpackages.com/packages/epicarrow-git-changelog)
```

###  Alternatives

[marcocesarato/php-conventional-changelog

Generate changelogs and release notes from a project's commit messages and metadata and automate versioning with semver.org and conventionalcommits.org

2521.4M117](/packages/marcocesarato-php-conventional-changelog)[gitscrum-community-edition/laravel-gitscrum

GitScrum is a project to help developer team. Git + Scrum = Team More Productive

2.9k2.0k](/packages/gitscrum-community-edition-laravel-gitscrum)[erlandmuchasaj/laravel-gzip

Gzip your responses.

40140.4k2](/packages/erlandmuchasaj-laravel-gzip)[japanese-date/japanese-date

日本の暦、祝日を取り扱うライブラリ

169.9k](/packages/japanese-date-japanese-date)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
