PHPackages                             eminos/statamic-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. eminos/statamic-changelog

ActiveStatamic-addon[Utility &amp; Helpers](/categories/utility)

eminos/statamic-changelog
=========================

Display recent git commits as a changelog in the Statamic control panel.

v1.0.0(3mo ago)118MITPHPPHP ^8.3

Since Feb 12Pushed 3mo agoCompare

[ Source](https://github.com/eminos/statamic-changelog)[ Packagist](https://packagist.org/packages/eminos/statamic-changelog)[ RSS](/packages/eminos-statamic-changelog/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (2)Used By (0)

Statamic Changelog
==================

[](#statamic-changelog)

Display recent git commits as a changelog in the Statamic control panel.

Features
--------

[](#features)

- **Automatic changelog** — reads directly from your project's git history, no manual entries needed
- **Unread badge** — shows a count of new commits since you last checked
- **Per-user tracking** — each CP user has their own "last seen" state
- **Configurable filtering** — limit commits, exclude merges, filter by path, author, or message pattern
- **Statamic Git integration aware** — one toggle to hide auto-commits from Statamic's Git addon

Screenshots
-----------

[](#screenshots)

Dark — badgeDark — popoverLight — popover[![Dark badge](screenshots/dark-badge-full.png)](screenshots/dark-badge-full.png)[![Dark popover](screenshots/dark-popover-full.png)](screenshots/dark-popover-full.png)[![Light popover](screenshots/light-popover-full.png)](screenshots/light-popover-full.png)Requirements
------------

[](#requirements)

- PHP 8.3+
- Statamic 6.0+
- Git available on the server

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

[](#installation)

```
composer require eminos/statamic-changelog
```

Configuration
-------------

[](#configuration)

Publish the config file:

```
php artisan vendor:publish --tag=statamic-changelog-config
```

This creates `config/statamic-changelog.php` with the following options:

### General

[](#general)

OptionDefaultDescription`max_commits``50`Maximum number of recent commits to display`exclude_merge_commits``false`Filter out merge commits`path_filters``[]`Limit to commits touching specific paths (e.g. `['app/', 'config/']`)`git_binary``null`Custom path to the git binary (`null` uses system default)### Author Filters

[](#author-filters)

Filter commits by author name. Supports partial matching (case-insensitive).

OptionDefaultDescription`authors.include``[]`Only show commits from these authors. Leave empty to show all.`authors.exclude``[]`Hide commits from these authors.### Message Filters

[](#message-filters)

Filter commits by their commit message using regex patterns.

OptionDefaultDescription`messages.include``[]`Only show commits matching at least one pattern. Leave empty for all.`messages.exclude``[]`Hide commits matching any of these patterns.### Statamic Git Integration

[](#statamic-git-integration)

OptionDefaultDescription`exclude_statamic_commits``false`Automatically exclude commits made by Statamic's built-in Git integration`statamic_git_user``null`Override the git user name used to identify Statamic commits. When `null`, auto-detects from `statamic.git.user.name` config (defaults to `Spock`).When `exclude_statamic_commits` is enabled, the addon will:

1. Exclude commits authored by the Statamic git user (default: `Spock`)
2. Exclude commits with the message `Content saved`

### Examples

[](#examples)

**Hide Statamic auto-commits (simplest):**

```
'exclude_statamic_commits' => true,
```

**Only show conventional commits:**

```
'messages' => [
    'include' => ['/^(feat|fix|refactor|perf|docs|test|chore)(\(.+\))?:/'],
    'exclude' => [],
],
```

**Only show commits from specific developers:**

```
'authors' => [
    'include' => ['Emin', 'Jane'],
    'exclude' => [],
],
```

**Hide bot commits and dependency updates:**

```
'authors' => [
    'include' => [],
    'exclude' => ['dependabot', 'renovate'],
],
'messages' => [
    'include' => [],
    'exclude' => ['/^chore\(deps\):/'],
],
```

**Only show commits affecting app code:**

```
'path_filters' => ['app/', 'config/', 'routes/'],
'exclude_merge_commits' => true,
```

> Under the hood, path filters are passed directly to `git log -- `, so filtering is handled natively by git and adds no overhead.

Usage
-----

[](#usage)

Once installed, a changelog icon appears in the CP top navigation. Click it to see recent commits with author, message, and relative timestamp. New commits since your last visit are highlighted with an unread badge.

The changelog automatically marks commits as seen when you open the dropdown.

How It Works
------------

[](#how-it-works)

The addon runs `git log` on your project root to fetch recent commits. Per-user read state is tracked by timestamp and stored in `storage/statamic/addons/changelog/seen.json` — each user's last-seen timestamp is compared against commit dates to determine the unseen count. This approach survives git rebases and history rewrites.

Roadmap
-------

[](#roadmap)

Some ideas for future versions:

- **Commit detail panel** — click a commit to see the full diff or changed files
- **Slack/email notifications** — get notified about new deployments outside the CP
- **Release grouping** — group commits by tag/release instead of a flat list
- **Commit avatars** — show author avatars from Gravatar or GitHub
- **Webhook trigger** — fire a webhook when new commits are detected
- **Custom commit parsers** — support Conventional Commits with icons per type (feat, fix, etc.)

Have an idea? [Open an issue](https://github.com/eminos/statamic-changelog/issues) — contributions are welcome!

Other Statamic Addons
---------------------

[](#other-statamic-addons)

Check out more from [eminos](https://github.com/eminos):

AddonDescription[Tabs](https://github.com/eminos/statamic-tabs)Add a Tab fieldtype — organize fields into tabs anywhere in your blueprints[Consent Manager](https://github.com/eminos/statamic-consent-manager)GDPR-compliant cookie consent banner with full control over tracking scripts and user privacy[Iconify](https://github.com/eminos/statamic-iconify)Browse and pick from 200,000+ Iconify icons directly in the control panel[Field Item Relationship](https://github.com/eminos/statamic-field-item-relationship)A fieldtype that lets you create relationships between individual field items[Cloudflare Cache](https://github.com/eminos/statamic-cloudflare-cache)Automatically purge your Cloudflare cache when content changes[Group](https://github.com/eminos/statamic-group)Inline Group fieldtype — group fields together without affecting scope, with visibility conditions and optional header/toggle[Set Header Toggle](https://github.com/eminos/statamic-set-header-toggle)Add mini toggles to Replicator and Bard set headers for quick on/off controls[Element Picker](https://github.com/eminos/statamic-element-picker)Pick any element on your site and generate a unique CSS selector for it---

Built by [Emin](https://github.com/eminos) at [kiwikiwi](https://kiwikiwi.se?utm_source=github&utm_medium=readme&utm_campaign=statamic-changelog) for the Statamic community ❤️

License
-------

[](#license)

MIT

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance82

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

95d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5f7b9b5acefc797c0c0cf24b4b05ce1f55e50a0c20e5bdbf647eae53b0a16fab?d=identicon)[eminos](/maintainers/eminos)

---

Top Contributors

[![eminos](https://avatars.githubusercontent.com/u/1682784?v=4)](https://github.com/eminos "eminos (1 commits)")

---

Tags

gitstatamicstatamic-addonstatamic-v6gitaddonstatamicchangelogcommits

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/eminos-statamic-changelog/health.svg)

```
[![Health](https://phpackages.com/badges/eminos-statamic-changelog/health.svg)](https://phpackages.com/packages/eminos-statamic-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

2511.3M109](/packages/marcocesarato-php-conventional-changelog)[visuellverstehen/statamic-classify

A useful helper to add CSS classes to all HTML tags generated by the bard editor.

20116.8k](/packages/visuellverstehen-statamic-classify)[marcorieser/statamic-livewire

A Laravel Livewire integration for Statamic.

2381.5k10](/packages/marcorieser-statamic-livewire)[withcandour/aardvark-seo

Save time and get your Statamic site to rank better with the SEO addon for Statamic.

13128.3k](/packages/withcandour-aardvark-seo)[aerni/livewire-forms

A Statamic forms framework powered by Laravel Livewire

2912.8k](/packages/aerni-livewire-forms)[mitydigital/feedamic

A fully-featured RSS and Atom feed generator for Statamic.

1064.0k](/packages/mitydigital-feedamic)

PHPackages © 2026

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