explaingit

keymusicman/compose-bom-changelog

13SvelteAudience · developerComplexity · 2/5ActiveSetup · easy

TLDR

Static site that diffs any two Jetpack Compose BOM versions, showing per-library old to new version jumps with direct links to release notes. Data refreshed by scheduled GitHub Action.

Mindmap

mindmap
  root((compose-bom-changelog))
    Inputs
      Two BOM versions
      Official release pages
    Outputs
      Side by side diff
      Library version jumps
      Release note links
    Use Cases
      Plan a Compose upgrade
      See Material library jumps
      Audit Compose changes
    Tech Stack
      Python
      SvelteKit
      GitHubActions
      GitHubPages

Things people build with this

USE CASE 1

Compare two Jetpack Compose BOM versions before bumping an Android project's compose-bom dependency

USE CASE 2

Spot which Compose libraries (foundation, material, runtime, animation) jumped versions in a BOM release

USE CASE 3

Self-host the static site to track an internal fork of the Compose BOM

USE CASE 4

Re-use the Python collector to scrape BOM release pages for an audit

Tech stack

PythonSvelteKitGitHubActionsGitHubPages

Getting it running

Difficulty · easy Time to first run · 30min

Two pipelines to bring up locally, a Python collector and a SvelteKit site, though both are small and the live data is already committed in the repo.

In plain English

Compose BOM Changelog is a small website that helps Android developers see what changed between two versions of the Jetpack Compose BOM. Jetpack Compose is Google's modern toolkit for building Android user interfaces. The BOM, short for bill of materials, is a single Gradle dependency that pins one matching set of Compose library versions, so a project does not have to track foundation, material, runtime, animation, and other Compose libraries individually. When Google ships a new BOM, every library inside it can move to a new version, and developers often want to know exactly which libraries jumped and by how much before upgrading. The site at compose-bom.com solves that question. The user picks any two BOM versions from a dropdown, and the page lists the libraries inside the BOM along with their old version, their new version, and a direct link to each library's release notes. There is no backend, no signup, and no search field, just a side-by-side diff view between the chosen versions. The data pipeline is split into two parts in the repository. A small Python collector under collector/ scrapes the official Compose BOM release pages and writes the results into data/bom-data.json. A scheduled GitHub Actions job runs the collector on a timer and commits the refreshed JSON file back to the repository. The front-end is a SvelteKit static site under site/, which reads bom-data.json at build time and renders the comparison UI. The site is hosted on GitHub Pages, so there is no server cost and no API to call at runtime. The README also includes commands for running the collector and the site locally during development.

Copy-paste prompts

Prompt 1
Run the Python collector under collector/ locally and refresh data/bom-data.json without waiting for the GitHub Action
Prompt 2
Build the SvelteKit site under site/ and serve it locally to preview the BOM diff UI
Prompt 3
Add a search field that filters the library list on the diff view
Prompt 4
Extend the collector to also capture Google Maven release dates for each library version
Prompt 5
Adapt this project to diff Firebase BOM versions instead of Compose BOM
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.