Publish a changelog page from a Google Sheet
A changelog is a log: one row per release, each with a version, a date, a type, and a note. PasteSheet turns that Google Sheet into a live JSON API, so your release-notes page sorts newest-first and filters by version or type — and shipping an entry is a new row, not a deploy.
Last updated
Key facts
- A Google Sheet is capped at 10 million cells (or 18,278 columns), which is the real ceiling on using one as a database. source
- The history is capped by plan: 500 entries on Free, 5,000 on Starter ($9/mo), uncapped on Pro ($19/mo) — years of releases either way.
- Free serves a fixed 5-minute cache; paid plans set a custom TTL from 30 seconds to 1 hour, so a new entry lands on the page as fast as you want it to.
- Webhooks that ping Slack or rebuild your site when a release row is added are a Pro ($19/mo) feature.
Ship a changelog entry without a deploy
A public changelog is one of the highest-leverage pages you can run — and one of the most annoying to maintain if every entry means a pull request and a deploy. Keep the entries in a Google Sheet instead: one row per release, columns for version, date, type, and the note itself.
PasteSheet serves the sheet as typed JSON, so your release-notes page fetches the rows, sorts them newest-first, and renders them. Adding an entry is adding a row — anyone on the team can announce a fix without touching the codebase.
How the page reads the sheet
A few columns and the queries that build the page:
-
?sort=-date— show the newest releases first. -
?type=feature— filter to features, fixes, or breaking changes. -
?version=2.4.0— deep-link to a single release. -
?per_page=20— page through a long history instead of loading it all.
Fetch the release notes as JSON
Point your changelog page at the endpoint and read the releases, newest first:
curl "https://pastesheet.com/your-endpoint/Releases?type=feature&sort=-date"
{
"data": [
{
"version": "2.4.0",
"date": "2026-07-09",
"type": "feature",
"title": "Aggregation endpoints",
"body": "group_by, count, sum, and avg are live on Pro."
}
]
}Safe to publish, nothing to wire up
Because the endpoint is read-only by design, it is safe to expose publicly or hand to a teammate: consumers can read and query the data but can never change the sheet. And there is no Google Cloud project, OAuth screen, or service account to set up — you paste a share URL and get a live API.
What it costs
Free
For side projects and trying things out.
- Endpoints
- 3
- Requests / mo
- 2,000
- Row cap
- 500
- Fast cache for new entries
- Notify on new releases
- Guard your columns
Start free. A single endpoint and a 5-minute cache run a full changelog page. Paid plans add a custom cache TTL so a new entry appears fast, plus webhooks to notify your site or Slack the moment a release row lands.
Frequently asked questions
How do I add a changelog entry?
Add a row to the sheet. The API picks it up after the cache TTL — 5 minutes on Free, tunable on paid plans, or immediately after a manual refresh. No pull request, no deploy.
Can I sort newest-first and filter by type?
Yes. Use ?sort=-date to order newest-first and ?type=feature (or fix, breaking) to filter. Both are plain URL parameters, so the page can offer tabs and ordering without extra data.
Can I notify people when a release ships?
On a paid plan, webhooks fire when the sheet changes, so you can trigger a rebuild, ping Slack, or refresh a cache the moment a new release row is added.
Can visitors edit the changelog through the API?
No. PasteSheet is read-only by design. The endpoint only serves data, so it is safe to expose on a public release-notes page.
Sources
Related use cases
Build a Public Roadmap from Google Sheets
Ship a public product roadmap from a Google Sheet — items grouped by status: planned, in progress, shipped. Update a cell to move a card, no deploy required.
Google Sheets Feature Flags & Remote Config
Ship feature flags from a Google Sheet. Toggles are served as a live, read-only JSON API your app reads on launch — no deploy, no app-store review, no backend.
Run a Blog with Google Sheets as the CMS
Publish a blog from a Google Sheet — posts, slugs, dates, tags, and body text. Filter to published rows and sort by date over a fast, read-only JSON API.
Use Google Sheets as a Free Headless CMS
Run your website's content from a Google Sheet. PasteSheet publishes it as a live, read-only JSON API — no database, no backend, no Google Cloud setup.
Turn your sheet into an API in minutes
Paste a Google Sheet URL and get a live REST API and MCP server — no backend, no code, free to start.