askill
prowler-changelog

prowler-changelogSafety 90Repository

Manages changelog entries for Prowler components following keepachangelog.com format. Trigger: When creating PRs, adding changelog entries, or working with any CHANGELOG.md file in ui/, api/, mcp_server/, or prowler/.

0 stars
1.2k downloads
Updated 2/5/2026

Package Files

Loading files...
SKILL.md

Changelog Locations

ComponentFileVersion PrefixCurrent Version
UIui/CHANGELOG.mdNone1.x.x
APIapi/CHANGELOG.mdNone1.x.x
MCP Servermcp_server/CHANGELOG.mdNone0.x.x
SDKprowler/CHANGELOG.mdNone5.x.x

Format Rules (keepachangelog.com)

Section Order (ALWAYS this order)

## [X.Y.Z] (Prowler vA.B.C) OR (Prowler UNRELEASED)

### Added
### Changed
### Deprecated
### Removed
### Fixed
### Security

Emoji Prefixes (REQUIRED for ALL components)

SectionEmojiUsage
Added### πŸš€ AddedNew features, checks, endpoints
Changed### πŸ”„ ChangedModifications to existing functionality
Deprecated### ⚠️ DeprecatedFeatures marked for removal
Removed### ❌ RemovedDeleted features
Fixed### 🐞 FixedBug fixes
Security### πŸ” SecuritySecurity patches, CVE fixes

Entry Format

### Added

- First entry [(#XXXX)](https://github.com/prowler-cloud/prowler/pull/XXXX)
- Second entry [(#YYYY)](https://github.com/prowler-cloud/prowler/pull/YYYY)

### Changed

- Another entry [(#ZZZZ)](https://github.com/prowler-cloud/prowler/pull/ZZZZ)

Rules:

  • Blank line after section header before first entry
  • Blank line between sections
  • Be specific: what changed, not why (that's in the PR)
  • One entry per PR (can link multiple PRs for related changes)
  • No period at the end
  • Do NOT start with redundant verbs (section header already provides the action)

Semantic Versioning Rules

Prowler follows semver.org:

Change TypeVersion BumpExample
Bug fixes, patchesPATCH (x.y.Z)1.16.1 β†’ 1.16.2
New features (backwards compatible)MINOR (x.Y.0)1.16.2 β†’ 1.17.0
Breaking changes, removalsMAJOR (X.0.0)1.17.0 β†’ 2.0.0

CRITICAL: ### ❌ Removed entries MUST only appear in MAJOR version releases. Removing features is a breaking change.

Released Versions Are Immutable

NEVER modify already released versions. Once a version is released (has a Prowler version tag like v5.16.0), its changelog section is frozen.

Common issue: A PR is created during release cycle X, includes a changelog entry, but merges after release. The entry is now in the wrong section.

## [1.16.0] (Prowler v5.16.0)    ← RELEASED, DO NOT MODIFY

### Added
- Feature from merged PR [(#9999)]   ← WRONG! PR merged after release

## [1.17.0] (Prowler UNRELEASED)  ← Move entry HERE

Fix: Move the entry from the released version to the UNRELEASED section.

Version Header Format

## [1.17.0] (Prowler UNRELEASED)    # For unreleased changes
## [1.16.0] (Prowler v5.16.0)       # For released versions

---                                  # Horizontal rule between versions

Adding a Changelog Entry

Step 1: Determine Affected Component(s)

# Check which files changed
git diff main...HEAD --name-only
Path PatternComponent
ui/**UI
api/**API
mcp_server/**MCP Server
prowler/**SDK
MultipleUpdate ALL affected changelogs

Step 2: Determine Change Type

ChangeSection
New feature, check, endpointπŸš€ Added
Behavior change, refactorπŸ”„ Changed
Bug fix🐞 Fixed
CVE patch, security improvementπŸ” Security
Feature removal❌ Removed
Deprecation notice⚠️ Deprecated

Step 3: Add Entry to UNRELEASED Section

# Example: Adding a fix to UI changelog
## [1.17.0] (Prowler UNRELEASED)

### 🐞 Fixed

- Button alignment in dashboard header [(#9999)](https://github.com/prowler-cloud/prowler/pull/9999)

Examples

Good Entries

### πŸš€ Added
- Search bar when adding a provider [(#9634)](https://github.com/prowler-cloud/prowler/pull/9634)

### 🐞 Fixed
- OCI update credentials form failing silently due to missing provider UID [(#9746)](https://github.com/prowler-cloud/prowler/pull/9746)

### πŸ” Security
- Node.js from 20.x to 24.13.0 LTS, patching 8 CVEs [(#9797)](https://github.com/prowler-cloud/prowler/pull/9797)

Bad Entries

- Fixed bug.                              # Too vague, has period
- Added new feature for users             # Missing PR link, redundant verb
- Add search bar [(#123)]                 # Redundant verb (section already says "Added")
- This PR adds a cool new thing (#123)    # Wrong link format, conversational

PR Changelog Gate

The pr-check-changelog.yml workflow enforces changelog entries:

  1. REQUIRED: PRs touching ui/, api/, mcp_server/, or prowler/ MUST update the corresponding changelog
  2. SKIP: Add no-changelog label to bypass (use sparingly for docs-only, CI-only changes)

Commands

# Check which changelogs need updates based on changed files
git diff main...HEAD --name-only | grep -E '^(ui|api|mcp_server|prowler)/' | cut -d/ -f1 | sort -u

# View current UNRELEASED section
head -50 ui/CHANGELOG.md
head -50 api/CHANGELOG.md
head -50 mcp_server/CHANGELOG.md
head -50 prowler/CHANGELOG.md

Migration Note

API, MCP Server, and SDK changelogs currently lack emojis. When editing these files, add emoji prefixes to section headers as you update them:

# Before (legacy)
### Added

# After (standardized)
### πŸš€ Added

Resources

Install

Download ZIP
Requires askill CLI v1.0+β–Ά

AI Quality Score

92/100Analyzed 2/11/2026

A comprehensive and highly actionable guide for maintaining changelogs in the Prowler project. It features strict formatting rules, emoji usage, semver guidance, and specific bash commands for verification.

90
100
60
98
95

Metadata

Licenseunknown
Version-
Updated2/5/2026
Publisheradbertram

Tags

apici-cdgithubgithub-actionssecurity