Books

Growth 365

Tomas Laurinavicius

ChaptersThe Changelog Tail

The Changelog Tail

Clock their velocity and roadmap off the public changelog.

Most companies will not tell you how fast they ship or what they are working on next. Then they publish a changelog, because customers expect one, and the changelog is a dated, timestamped record of exactly that. No login, no API key, just a page they built for their own users that happens to hand you their operating cadence too.

What to do: Pull the changelog page with curl, grep out the dated entries, and bucket them by month.

Why it works: A changelog is a company grading its own delivery in public. The dates are the tempo. The titles are the roadmap they never announced.

Example: Linear's changelog handed me 13 dated entries from February through July 2026, running 2 a month in early spring and jumping to 3 a month, roughly weekly, from April onward. The jump itself is the story.

Walk it through

I ran this against linear.app in July 2026. Here is exactly what came back.

1. Pull the changelog and grep for dated entries.

curl -s -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" https://linear.app/changelog -o linear.html
grep -oE 'changelog/[0-9]{4}-[0-9]{2}-[0-9]{2}-[a-z0-9-]+' linear.html | sort -u

Terminal showing curl fetching linear.app/changelog then grep pulling 13 dated changelog slugs from 2026-02 through 2026-07, followed by a month-bucket count of 2, 1, 3, 3, 3, 1

200 back, about 2.9MB. It is a React bundle, not clean HTML, but the dated entries are baked into the page's data payload as plain text, so a raw grep against the file still pulls them out cleanly. Thirteen dated slugs came back for 2026, plus three older ones the same grep surfaced from 2023 and 2025, which tells you the changelog page itself has been live a while even if the pace only picked up recently.

2. Bucket the dates by month and read the tempo.

grep -oE 'changelog/[0-9]{4}-[0-9]{2}-[0-9]{2}' linear.html | sort -u | cut -c11-17 | uniq -c

Same terminal, second command, bottom line of the screenshot above. February carries 2 entries, March 1, then April, May, and June each land exactly 3, and July has 1 with the month barely two weeks old at the time I pulled this. That is not a flat cadence. Two-ish a month in Q1, three a month and roughly weekly from Q2 on, is a team that visibly picked up speed. You did not need an earnings call or a LinkedIn post to know that. You needed one grep.

3. Open the real changelog page and confirm the tail matches.

https://linear.app/changelog

Linear's public changelog page, "Now" section, showing the July 2, 2026 entry "Initiative properties" as the newest item

The newest entry rendered on the page is "Initiative properties," dated July 2, 2026, the exact same slug the grep pulled as the most recent one. That match is the whole point of this step. The grep tells you the shape of the pattern, the live page confirms you read the raw data correctly and did not just grep out a stale cache or a dev fixture.

The read

  • Cadence is operating tempo. Two releases a month versus three a month, roughly weekly, is the difference between a team coasting and a team that just found a shipping rhythm. The step-change is more informative than the raw count.
  • The titles are the roadmap. "Linear agent," "agent MCP support," "coding sessions," "agent-assisted project updates" is not a random list. It is a company telling you, one dated entry at a time, exactly which surface it is betting on this year.
  • Recency tells you if the bet is still on. A burst of entries on one theme that stops appearing is a signal the initiative shipped and moved to maintenance, or got quietly deprioritized. Keep watching the next few months to tell which.

Steal it

Run this against every competitor that publishes a changelog, once a month, and keep the output in a spreadsheet. You are not just counting releases. You are building a timeline of when they shipped what, which you can lay next to your own roadmap to see where you are ahead and where you are exposed.

If you publish your own changelog, assume competitors are running this same grep against you. That is fine, most of them already know your roadmap from your own marketing anyway, but do not name unreleased features in changelog entries before launch. The dated slug will out them the same day it goes live.

Gotchas

  • There is no real feed to shortcut this. I checked /feed and /changelog.xml on linear.app and both returned 200 with content-type: text/html, the exact same 23,484-byte SPA shell as every other route, not a feed document. Do not waste time parsing them as RSS.
  • The dates live in a data blob, not markup. Because the page is client-rendered, you will not find tidy <time> tags to parse. Grep the raw text for the date pattern instead of trying to walk the DOM.
  • A short pull is reconnaissance, a scraper is not. Pulling a changelog page once a month to track a competitor's pace is normal diligence. Hitting it on a cron job every few minutes to build a live feed nobody offered you is a different thing, and it is where you start showing up in their server logs as a problem instead of a visitor.