{"_id":"@bonvoy/plugin-changelog","_rev":"4-eb8b68db37bbca4a3136319bdc028179","name":"@bonvoy/plugin-changelog","dist-tags":{"latest":"0.12.0"},"versions":{"0.0.0":{"name":"@bonvoy/plugin-changelog","version":"0.0.0","keywords":["release","automation","changelog","plugin","markdown"],"author":{"name":"Zweer","email":"n.olivieriachille@gmail.com"},"license":"MIT","_id":"@bonvoy/plugin-changelog@0.0.0","maintainers":[{"name":"zweer","email":"n.olivieriachille@gmail.com"}],"homepage":"https://github.com/Zweer/bonvoy#readme","bugs":{"url":"https://github.com/Zweer/bonvoy/issues"},"dist":{"shasum":"3c305b01268b9545af626e810fb32882d7a1a772","tarball":"https://registry.npmjs.org/@bonvoy/plugin-changelog/-/plugin-changelog-0.0.0.tgz","fileCount":5,"integrity":"sha512-sewfeO6NtR1pv9Umu1arwL+N6KIBJcjulkeEEPyJRDdhAW7tAL+oZcj4QEZZcIdVfwkmO/YFn2VMdgZeuwKL6A==","signatures":[{"sig":"MEYCIQCxF/AzjsgWHs+t6bsrCGvqCcMvyxWwG3qG8G76YusaqwIhAPK61qF9mVsDIQL5ctE1semEbWihl7C0Bu5h4tHh0u7f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22477},"type":"module","types":"./dist/index.d.mts","engines":{"node":">=20.5"},"exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"gitHead":"0f85dffdaf16dc39c08678e6fef92d704610ce26","_npmUser":{"name":"zweer","email":"n.olivieriachille@gmail.com"},"repository":{"url":"git+https://github.com/Zweer/bonvoy.git","type":"git","directory":"packages/plugin-changelog"},"_npmVersion":"11.6.2","description":"🚢 Changelog generation plugin for bonvoy","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@bonvoy/core":"0.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/plugin-changelog_0.0.0_1769687304400_0.30663939249917305","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@bonvoy/plugin-changelog","version":"0.1.0","keywords":["release","automation","changelog","plugin","markdown"],"author":{"name":"Zweer","email":"n.olivieriachille@gmail.com"},"license":"MIT","_id":"@bonvoy/plugin-changelog@0.1.0","maintainers":[{"name":"zweer","email":"n.olivieriachille@gmail.com"}],"homepage":"https://github.com/Zweer/bonvoy#readme","bugs":{"url":"https://github.com/Zweer/bonvoy/issues"},"dist":{"shasum":"3b67cdfebb11be503b37c2cdeb152bfc078a749e","tarball":"https://registry.npmjs.org/@bonvoy/plugin-changelog/-/plugin-changelog-0.1.0.tgz","fileCount":5,"integrity":"sha512-ZnstKqCrJ94tAfepCtSWDh4uyo3UhiWnZYrQwg/DVZ7/jU0xRN+rRFzRqgxAjmP9ieeLm5hmb8Pk0rJ2WtUT/Q==","signatures":[{"sig":"MEUCIQCu+pCj7lnxpt1wRZVYq9bdbizoAnwZE+ndrwjQ1sFaKQIgSHv7WNmJhxyFV/GN/YrejCwmILgQMQSuvdy9coDynbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bonvoy%2fplugin-changelog@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22205},"type":"module","types":"./dist/index.d.mts","engines":{"node":">=20.5"},"exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"gitHead":"850299f976d7a17601ba1198379a001c53ba1b30","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb122299-c7a4-4274-a1b3-347b215cc26f"}},"repository":{"url":"git+https://github.com/Zweer/bonvoy.git","type":"git","directory":"packages/plugin-changelog"},"_npmVersion":"11.6.2","description":"🚢 Changelog generation plugin for bonvoy","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@bonvoy/core":"0.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/plugin-changelog_0.1.0_1769859087231_0.26392079184479544","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bonvoy/plugin-changelog","version":"0.1.1","keywords":["release","automation","changelog","plugin","markdown"],"author":{"name":"Zweer","email":"n.olivieriachille@gmail.com"},"license":"MIT","_id":"@bonvoy/plugin-changelog@0.1.1","maintainers":[{"name":"zweer","email":"n.olivieriachille@gmail.com"}],"homepage":"https://github.com/Zweer/bonvoy#readme","bugs":{"url":"https://github.com/Zweer/bonvoy/issues"},"dist":{"shasum":"debb8dbf260c18a5e63c2f3230c1ea7a968d56bf","tarball":"https://registry.npmjs.org/@bonvoy/plugin-changelog/-/plugin-changelog-0.1.1.tgz","fileCount":5,"integrity":"sha512-MuPpWpyY10nDdBpF+TZtD524/G+43efidHkFgdYSuT0KV3gT4j//jHLZ2gZaLDiWnyk/JjoAYcYOLfqKdOe1JA==","signatures":[{"sig":"MEQCIGF515VLTpuXECjYm/qjLVycztkmpfODrW5xQHCQU9GOAiBCLZxcxQdOrb7ttr9bBUrqzcSOeMsY+k1Pfq5Q17ciRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bonvoy%2fplugin-changelog@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22173},"type":"module","engines":{"node":">=20.5"},"exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"gitHead":"a9946ca7dd5e365cbb554a4eae1904dbc5aecba4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb122299-c7a4-4274-a1b3-347b215cc26f"}},"repository":{"url":"git+https://github.com/Zweer/bonvoy.git","type":"git","directory":"packages/plugin-changelog"},"_npmVersion":"11.6.2","description":"🚢 Changelog generation plugin for bonvoy","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@bonvoy/core":"^0.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/plugin-changelog_0.1.1_1770042270442_0.7651212850726101","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@bonvoy/plugin-changelog","version":"0.12.0","description":"🚢 Changelog generation plugin for bonvoy","keywords":["release","automation","changelog","plugin","markdown"],"homepage":"https://github.com/Zweer/bonvoy#readme","bugs":{"url":"https://github.com/Zweer/bonvoy/issues"},"repository":{"type":"git","url":"git+https://github.com/Zweer/bonvoy.git","directory":"packages/plugin-changelog"},"license":"MIT","author":{"name":"Zweer","email":"n.olivieriachille@gmail.com"},"type":"module","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"dependencies":{"@bonvoy/core":"^0.12.0"},"engines":{"node":">=20.5"},"gitHead":"38496eed00ff8e1600452b78fcb71acf4ae00312","_id":"@bonvoy/plugin-changelog@0.12.0","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-tk+hTJu+dkuga6IizsvqGTMDYZ+p+wqD5QUzaQyZJIoPPdTuYGLa7UF+/M7VcaR+TRDE2mlyoy5KCyRCXY7e9w==","shasum":"1c0c8ec95ffc6cfa7dd7940712b3c5b4695f7657","tarball":"https://registry.npmjs.org/@bonvoy/plugin-changelog/-/plugin-changelog-0.12.0.tgz","fileCount":5,"unpackedSize":22175,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bonvoy%2fplugin-changelog@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEOpGGb/gz1HEga5WPQ0vgKwtk6nrmnYc1p7YOEoWL/PAiAk7Jaz/U8kp9PF/64Z+S2IhPdpf2dk2fNECWogxHlQfQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb122299-c7a4-4274-a1b3-347b215cc26f"}},"directories":{},"maintainers":[{"name":"zweer","email":"n.olivieriachille@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plugin-changelog_0.12.0_1770822415487_0.37433727357785274"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-29T11:48:24.326Z","modified":"2026-02-11T15:06:55.928Z","0.0.0":"2026-01-29T11:48:24.544Z","0.1.0":"2026-01-31T11:31:27.380Z","0.1.1":"2026-02-02T14:24:30.587Z","0.12.0":"2026-02-11T15:06:55.616Z"},"bugs":{"url":"https://github.com/Zweer/bonvoy/issues"},"author":{"name":"Zweer","email":"n.olivieriachille@gmail.com"},"license":"MIT","homepage":"https://github.com/Zweer/bonvoy#readme","keywords":["release","automation","changelog","plugin","markdown"],"repository":{"type":"git","url":"git+https://github.com/Zweer/bonvoy.git","directory":"packages/plugin-changelog"},"description":"🚢 Changelog generation plugin for bonvoy","maintainers":[{"name":"zweer","email":"n.olivieriachille@gmail.com"}],"readme":"# @bonvoy/plugin-changelog 🚢\n\n> Changelog generation plugin for bonvoy\n\nAutomatically generates and maintains CHANGELOG.md files for your packages based on conventional commit messages.\n\n## Features\n\n- 📝 **Per-package Changelogs** - Each package gets its own CHANGELOG.md\n- 🌍 **Global Changelog** - Optional aggregated changelog at repo root\n- 🎨 **Customizable Sections** - Configure section titles and commit types\n- 📅 **Standard Format** - Follows [Keep a Changelog](https://keepachangelog.com/) format\n- 🔄 **Incremental Updates** - Preserves existing changelog history\n- 🎯 **Conventional Commits** - Only includes semantic commit types\n\n## Installation\n\n```bash\nnpm install @bonvoy/plugin-changelog\n```\n\nThis plugin is included by default in bonvoy, so you typically don't need to install it separately.\n\n## Usage\n\n### Default Configuration\n\nThe plugin works out of the box with sensible defaults:\n\n```javascript\n// bonvoy.config.js\nexport default {\n  plugins: [\n    '@bonvoy/plugin-changelog', // Uses default configuration\n  ],\n};\n```\n\n### Custom Configuration\n\n```javascript\n// bonvoy.config.js\nexport default {\n  plugins: [\n    ['@bonvoy/plugin-changelog', {\n      global: true, // Generate global changelog at repo root\n      includeCommitHash: true, // Include commit hashes in entries\n      sections: {\n        feat: '🚀 New Features',\n        fix: '🔧 Bug Fixes',\n        perf: '⚡ Performance Improvements',\n        docs: '📚 Documentation',\n        breaking: '💥 Breaking Changes',\n      }\n    }]\n  ],\n};\n```\n\n## Generated Format\n\n### Per-package CHANGELOG.md\n\n```markdown\n# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [1.2.0] - 2026-01-09\n\n### ✨ Features\n- feat: add new API endpoint\n- feat(auth): implement OAuth2 support\n\n### 🐛 Bug Fixes\n- fix: resolve memory leak in parser\n- fix(api): handle edge case in validation\n\n### ⚡ Performance\n- perf: optimize database queries\n\n## [1.1.0] - 2026-01-08\n\n### ✨ Features\n- feat: add user management\n```\n\n### Global Changelog (optional)\n\nWhen `global: true` is enabled, a global changelog is created at the repo root:\n\n```markdown\n# Changelog\n\n## @myorg/core\n\n### ✨ Features\n- feat: add new API endpoint\n\n### 🐛 Bug Fixes\n- fix: resolve memory leak\n\n## @myorg/utils\n\n### ✨ Features\n- feat: add utility functions\n```\n\n## Configuration Options\n\n```typescript\ninterface ChangelogConfig {\n  // Generate global changelog at repo root\n  global?: boolean; // default: false\n  \n  // Section titles for different commit types\n  sections?: Record<string, string>; // default: emoji sections\n  \n  // Include commit hashes in changelog entries\n  includeCommitHash?: boolean; // default: false\n}\n```\n\n### Default Sections\n\n```javascript\n{\n  feat: '✨ Features',\n  fix: '🐛 Bug Fixes', \n  perf: '⚡ Performance',\n  docs: '📚 Documentation',\n  breaking: '💥 Breaking Changes',\n}\n```\n\n## Commit Filtering\n\nThe plugin automatically filters commits based on:\n\n1. **Conventional format**: Only `type: description` commits are included\n2. **Package relevance**: Commits are assigned to packages based on modified files\n3. **Semantic types**: Only configured commit types generate changelog entries\n\n### Examples\n\n```bash\n# These commits will appear in changelog:\ngit commit -m \"feat: add new feature\"        # → ✨ Features\ngit commit -m \"fix: resolve bug\"             # → 🐛 Bug Fixes\ngit commit -m \"feat!: breaking change\"       # → 💥 Breaking Changes\n\n# These commits will NOT appear:\ngit commit -m \"chore: update dependencies\"   # → ignored (not configured)\ngit commit -m \"docs: update README\"          # → ignored (unless docs configured)\ngit commit -m \"random commit message\"        # → ignored (not conventional)\n```\n\n## Monorepo Support\n\nIn monorepos, each package gets its own changelog with only relevant commits:\n\n```bash\n# This commit affects both packages\ngit commit -m \"feat: add shared utility\" packages/core/src/util.ts packages/cli/src/util.ts\n\n# This commit only affects @myorg/core\ngit commit -m \"fix(core): resolve parsing issue\" packages/core/src/parser.ts\n```\n\nThe changelog plugin will:\n- Add the shared commit to both package changelogs\n- Add the core-specific commit only to @myorg/core changelog\n\n## File Management\n\nThe plugin intelligently manages changelog files:\n\n- **New files**: Creates complete changelog with header and format explanation\n- **Existing files**: Prepends new entries while preserving history\n- **Custom headers**: Preserves existing changelog titles and descriptions\n- **Incremental**: Only adds new version entries, never overwrites existing ones\n\n## Integration with Other Plugins\n\nWorks seamlessly with other bonvoy plugins:\n\n- **@bonvoy/plugin-conventional**: Provides commit parsing and type detection\n- **@bonvoy/plugin-git**: Commits the generated changelog files\n- **@bonvoy/plugin-github**: Includes changelog content in GitHub releases\n\n## API\n\n```typescript\nimport ChangelogPlugin from '@bonvoy/plugin-changelog';\n\nconst plugin = new ChangelogPlugin({\n  global: true,\n  sections: {\n    feat: '🚀 Features',\n    fix: '🔧 Fixes',\n  },\n  includeCommitHash: true,\n});\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}