Skip to content

[Feature]: Add a structured CHANGELOG.md and automate it with release-drafter so version history is transparent to users #35

Description

@divyanshim27

Summary

CamouChat is on v0.7.0 and has gone through significant architectural changes (notably the move from a monolithic package to the decoupled plugin ecosystem). However, there is no CHANGELOG.md in this repository. Users upgrading from older versions have no structured reference for what changed between releases, what was removed, and what new plugins are required. The README mentions the v0.7.0 update in an [!IMPORTANT] callout, but this is not a sustainable pattern as the project grows.

Problem
No CHANGELOG.md exists in the repository
The v0.7.0 architectural change (monolith → plugin ecosystem) is only documented in a single README callout, not in a versioned changelog entry
Users of v0.6.x and below have no clear migration guide beyond that one note
There is no automated process for generating release notes from PR titles and labels, meaning the maintainer must manually write release notes for every release
The pyproject.toml version field (version = "0.7.0") must be manually bumped with no guard against forgetting
Impact
Users upgrading from camouchat to camouchat-whatsapp have no structured migration path
The project's professionalism and trustworthiness is reduced without a changelog — users of security-sensitive automation tools want full transparency on what changed
Maintainer overhead grows with every release if notes are written manually
Proposed Solution

  1. Add a CHANGELOG.md following the Keep a Changelog format, starting with a hand-written entry for v0.7.0:

markdown

Changelog

All notable changes to this project will be documented in this file.

[0.7.0] — 2025-XX-XX

Breaking Changes

  • Monolithic camouchat package split into decoupled plugins. Install camouchat-whatsapp for WhatsApp automation.

Added

  • camouchat-core: Protocol contracts and AES-GCM-256 storage interfaces
  • camouchat-browser: Camoufox-based stealth browser engine with browserforge profiling
  • camouchat-whatsapp: WhatsApp Web automation via wa-js bridge

Removed

  • All-in-one WhatsApp automation from the camouchat umbrella package

[0.6.x] — Prior Releases

  • See git history for changes prior to the plugin ecosystem refactor.
  1. Add a Release Drafter config (.github/release-drafter.yml) to auto-generate future changelogs from PR labels:

yaml
name-template: 'v$RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'
categories:

  • title: '🚀 Features'
    labels: ['feature', 'enhancement']
  • title: '🐛 Bug Fixes'
    labels: ['bug', 'fix']
  • title: '🔒 Security'
    labels: ['security']
  • title: '📖 Documentation'
    labels: ['documentation']
    change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
  1. Add a GitHub Actions workflow that runs Release Drafter on every push to main.

I am happy to implement all of the above. Could you assign this issue to me?

Labels: documentation, enhancement, help wanted, GSSoC 2026

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions