https://github.com/ctf0/packagechangelog
Show Package Changelog On Composer Install/update
https://github.com/ctf0/packagechangelog
changelog composer laravle notifications php
Last synced: 12 months ago
JSON representation
Show Package Changelog On Composer Install/update
- Host: GitHub
- URL: https://github.com/ctf0/packagechangelog
- Owner: ctf0
- License: mit
- Created: 2017-09-13T23:35:34.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2025-05-31T07:35:26.000Z (about 1 year ago)
- Last Synced: 2025-07-01T14:47:52.676Z (12 months ago)
- Topics: changelog, composer, laravle, notifications, php
- Language: PHP
- Homepage:
- Size: 161 KB
- Stars: 16
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
PackageChangeLog
usually when a package gets updated, the package owner could possibly add/change/remove something from the configuration file,
or could add a new feature that he/she didn't have time to add to the read me yet,
or for whatever reason that could potentially effect how the user consume the package.
Therefor **PackageChangeLog** was made, to help developers keep their packages as user friendly as possible and keep the users up-to-date with new changes as releases gets published.
## Installation
- `composer require ctf0/package-changelog`
- after installation, package will auto-register the below to `composer.json`
+ check [composer docs](https://getcomposer.org/doc/articles/scripts.md#what-is-a-script-) for more info
```json
"scripts": {
"post-install-cmd": [
"@php artisan pcl:post-install"
],
"post-update-cmd": [
"@php artisan pcl:post-update"
]
}
```
## Upgrading to v2
- remove `'App\\Providers\\EventServiceProvider::postAutoloadDump'` from `composer.json`
- remove
```php
/**
* "ctf0/package-changelog".
*/
public static function postAutoloadDump(\Composer\Script\Event $event)
{
if (class_exists('ctf0\PackageChangeLog\Ops')) {
return \ctf0\PackageChangeLog\Ops::postAutoloadDump($event);
}
}
```
from `app\Providers\EventServiceProvider`
- clear the cache `php artisan cache:clear`
## Usage
- inside your **"package"** composer.json
+ add the package as a dependency
+ add `"changeLog": "log_folder_name"` to extra
```js
"require": {
// ...
"ctf0/package-changelog": "^2.0"
},
"extra": {
// ...
"changeLog": "logs"
}
```
- inside that folder add the log files
- install `post-install-cmd`
> if you want to show a log on installation only, then add a file name `install.txt` and we will display it only when the package gets installed for the first time.
| release tag | log file name |
| ----------- | ------------- |
| * | install.txt |
- update `post-update-cmd`
> the version have to be equal "==" to the release tag because we check against that version b4 showing the log.
>
> this is useful in-case you didn't add a changeLog for the current published version.
| release tag | log file name |
| ----------- | ------------- |
| v1.0.0 | v1.0.0.txt |
## Uninstall
- for whatever reason you decided to remove the package, make sure to remove all the package scripts under `composer.json` before uninstall
```json
"scripts": {
"post-install-cmd": [
"@php artisan pcl:post-install"
],
"post-update-cmd": [
"@php artisan pcl:post-update"
]
}
```
## Notes
- we don't use any parser for the log file, so whatever you write in the file will be displayed to the user as it is.
- This is more of a **utility** package directed towards developers & to get the best of it you have to add it to your package, however to test it you can install it like any other package & you would get a message like the screenshot above.
### Security
If you discover any security-related issues, please email [ctf0-dev@protonmail.com](mailto:ctf0-dev@protonmail.com).