thunderbird / thunderbird/thunderbird-android

Changelog system replacement

Open
#11,079 0 comments 0 reactions 1 assignee View on GitHub

@shamim-emon is already working on this.

Since Jun 2, 2026.

Dominant language
Kotlin
Stars
14k
Forks
2.8k
Avg merge
3d 3h
Merged PRs (30d)
57

Description

🎯 The objective

Replace the unmaintained ckChangeLog XML changelog system with a project-owned, schema-validated JSON changelog system for Thunderbird for Android and K-9 Mail.

This includes preserving the current Changelog screen and Recent Changes behavior, delivering validated JSON changelog assets for each app target, migrating the required historical data, updating release documentation, and removing the ckChangeLog dependency.

🎒 Resources
  • RFC and technical design: #XXXX
  • scripts/ci/render-notes.py
  • feature/changelog/internal
  • docs/release/RELEASE.md
  • thunderbird-notes

🦮 Rules of the Road

🟢 In Scope
  • Generate schema-validated JSON changelog index and per-release files.
  • Extend existing release-note tooling.
  • Migrate required historical XML changelog data.
  • Replace the changelog runtime reader with a feature-owned JSON reader.
  • Preserve Changelog and Recent Changes UX.
  • Add debug dummy JSON changelog assets.
  • Remove ckChangeLog and obsolete XML runtime references.
  • Update release documentation.
🔴 Out of Scope
  • Runtime/network-delivered changelog data.
  • Markdown rendering.
  • Changelog screen redesign or new display fields.
  • Inferring metadata from note text.
  • Broad module restructuring.
🚧 Technical and/or Business Requirements
  • Use schema version 1 and JSON Schema draft 2020-12.
  • Package one changelog_index.json per app target and one JSON file per release.
  • Use R.raw.changelog_index; do not scan res/raw.
  • Preserve release and note ordering.
  • Match Recent Changes by full app version; daily builds also match date.
  • Validate schemas, generation, migration, runtime mapping, and Recent Changes behavior.
  • Resolve open questions: seen-state migration and required historical XML migration scope.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.