saeidsharafi/changelog

a package to show CHANGELOG.md to users

v1.1 2025-05-03 13:58 UTC

This package is auto-updated.

Last update: 2025-05-03 14:01:15 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

This is where your description should go. Try and limit it to a paragraph or two, and maybe throw in a mention of what PSRs you support to avoid any confusion with users and contributors.

Installation

You can install the package via composer:

composer require saeidsharafi/changelog

Usage

// Usage description here

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Changelog File Formats

This package supports changelogs in Markdown, YAML, or JSON formats. The file is auto-detected in this order: changelog.yaml, changelog.json, CHANGELOG.md.

YAML Example

- version: 1.2.0
  date: 2025-05-03
  title: "Release Title"
  changes:
    - title: "Added new feature X"
      subtitles:
        - "Subfeature 1"
        - "Subfeature 2"
    - title: "Fixed bug Y"
      subtitles:
        - "Bugfix details"
  notes:
    - "Release note 1"
- version: 1.1.0
  date: 2025-04-01
  title: "Previous Release"
  changes:
    - title: "Improved performance"
      subtitles:
        - "Performance details"
  notes:
    - "Welcome!"

JSON Example

[
  {
    "version": "1.2.0",
    "date": "2025-05-03",
    "title": "Release Title",
    "changes": [
      { "title": "Added new feature X", "subtitles": ["Subfeature 1", "Subfeature 2"] },
      { "title": "Fixed bug Y", "subtitles": ["Bugfix details"] }
    ],
    "notes": ["Release note 1"]
  },
  {
    "version": "1.1.0",
    "date": "2025-04-01",
    "title": "Previous Release",
    "changes": [
      { "title": "Improved performance", "subtitles": ["Performance details"] }
    ],
    "notes": ["Welcome!"]
  }
]

Markdown Example

# Changelog

## 1.2.0 - 2025-05-03
**Release Title**

> [!NOTE] Please fill in the following structure manually.
```yaml
version: 1.2.0
date: 2025-05-03
title: Release Title
changes:
  - title: Added new feature X
    subtitles:
      - Subfeature 1
      - Subfeature 2
  - title: Fixed bug Y
    subtitles:
      - Bugfix details
notes:
  - Release note 1

1.1.0 - 2025-04-01

Previous Release

[!NOTE] Please fill in the following structure manually.

version: 1.1.0
date: 2025-04-01
title: Previous Release
changes:
  - title: Improved performance
    subtitles:
      - Performance details
notes:
  - Welcome!

## Artisan Command: changelog:entry

You can scaffold a new changelog entry using:

```bash
php artisan changelog:entry --app-version=1.3.0 --date=2025-06-01 --silent

Options:

  • --file Specify a custom changelog file path (overrides autodetect, e.g. --file=/path/to/changelog.yaml)
  • --app-version Version number (e.g. 1.3.0)
  • --date Release date (YYYY-MM-DD)
  • --silent Silently create a placeholder entry without prompts

If options are omitted, you will be prompted interactively for version, date, title, changes (with subtitles), and notes.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email saeidsharafi263@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Laravel Package Boilerplate

This package was generated using the Laravel Package Boilerplate.