Conversation
A Conductor-style release feed at /changelog plus shareable per-version
pages at /changelog/{version}. Stable releases only. The feed shows
human highlights; the full git-cliff changelog lives behind a disclosure
on each version page so releases read as announcements, not commit sediment.
Built on the existing blog machinery: MDX in content/changelog with rich
frontmatter, a lib/changelog.ts loader parallel to lib/blog.ts, the dark
blog layout, and the dynamic OG generator. Entries key on a clean version
(2.5.1) or a grouped minor (2.4); coversVersions drives patch-to-canonical
redirects, so /changelog/2.4.1 lands on /changelog/2.4 even across the
nightly-induced version gaps.
Backfills 2.1 through 2.5.1 (individual 2.5.0/2.5.1, grouped 2.1-2.4) from
the real GitHub release notes. Backfill entries ship published: false:
visible in dev, hidden in prod, until each headline, summary, and hero are
seasoned. Nav, footer, sitemap, and an RSS feed are wired in.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Gate unpublished entries on a shared `includeDrafts` flag: true in local dev and on Vercel preview deployments (VERCEL_ENV=preview), false in production. A PR's preview URL now shows the unseasoned backfill so it can be reviewed without flipping published, while nteract.io stays clean.
VERCEL_ENV is only reliably available at runtime, not during the Vercel build, so the statically prerendered changelog evaluated the draft gate as production and hid everything. force-dynamic moves the gate to request time: preview deploys list drafts, production serves only published entries.
This project does not expose VERCEL_ENV to app code, so the env-based gate resolved to "hide" everywhere. Switch to the request host: drafts show in dev and on any non-production host (Vercel preview at *.vercel.app), and stay hidden on nteract.io. No Vercel project setting required.
Match Conductor: the feed shows each release in full, not a teaser that links away. Version and date link to the permalink; the exhaustive technical changelog stays inside its collapsed disclosure so the page stays scannable.
…er story 2.5.1 was a one-line same-day patch; it folds into 2.5 as a technical-changelog subsection rather than its own announcement. /changelog/2.5.0 and /changelog/2.5.1 redirect to /changelog/2.5. The 2.5 hero leads with the real headline that git-cliff can't see: the nteract launcher flipped to default-on, which is what ships rich tracebacks, Sift DataFrame rendering, and output redaction to everyone.
Match the desktop app's cream palette (telemetry already wears it) so the changelog reads as the product's own release diary, distinct from the dark blog. Conductor's structure is unchanged; only the skin moves: paper background, serif headings, brown accent, outlined tags, light prose, and a cream per-version OG card. Drives everything off the scoped cream-page vars.
Each backfill entry gets a real first draft: the buried user-facing headline pulled to the front (agent-mode-by-default in 2.1, dx/Sift + conda hot-sync in 2.2, rich tracebacks in 2.3, the @nteract/pi REPL in 2.4), feature sections in plain terms, human highlights, and tags from the fixed taxonomy. Still published: false; these are drafts to refine. Also normalizes the version subheaders in the technical changelogs off em-dashes.
- 2.1: lead with repr-llm (agent-readable output summaries), drop runtime agent-mode framing (internal plumbing). Verified: 7 repr-llm commits land here. - 2.2: drop dx and Sift (dx deleted, Sift not yet public); headline ephemeral on-demand runtimes for agents, conda hot-sync, and the cream theme. - 2.3: lead with the environment work; rich tracebacks demoted to a behind-a-flag note since they do not default on until 2.5. - 2.4: start of @runtimed/node (Node bindings for runtimed); elevate @nteract/pi with its real tools (pi.dev agent harness). Keep Sift out, it debuts in 2.5.
Each entry now has a heroImage so the feed and version pages show a hero instead of an empty slot. These are clearly-labeled cream placeholder cards (version + title + "PLACEHOLDER"), uploaded to r2, meant to be swapped for real screenshots or clips. heroVideo stays commented as the alternative.
Split the output story into "for humans" (native Plotly/Vega/Leaflet/GeoJSON rendering) and "for agents" (the start of the repr-llm crate, text/llm+plain summaries over MCP). Tighten the pixi section.
HTML comments are not valid in MDX. Convert the screenshot TODO to {/* */}
so the entry compiles.
Lead with the cross-filtering data explorer (pretext + Apache Arrow) across pandas, polars, datasets, narwhals, duckdb, and drop the launcher-flag framing for the three user-facing wins. Tighten the secret-scrubbing section around the agent-context-window risk. Add TODO markers for hero media.
Punchier "IPython in your pi agent" hook, reframe @runtimed/node around Node/ Deno/Bun FFI, and move the DataFrame table viewer behind the dx feature flag as experimental. Library-style tags. Work in progress.
Ink-on-paper view for editing the marketing copy by hand: black serif, one release per page, loose line spacing to write between lines, and the auto-generated technical changelog hidden. Linked from the changelog header. Cmd/Ctrl+P prints or saves to PDF.
…page One-per-page left short releases trailing a blank page. Entries now flow with a thin rule between them, titles avoid breaking away from their content, and inline images are capped so they don't dominate the sheet.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A Conductor-style release feed at
/changelog, plus shareable, deep-linked pages at/changelog/{version}. The goal is release-shaped storytelling: every stable becomes an announcement instead of disappearing into GitHub gravity.How it works
Built on the existing blog machinery so there's nothing exotic to maintain. Entries are MDX in
content/changelog/with rich frontmatter;lib/changelog.tsis a parallel oflib/blog.ts. The dark blog layout and the dynamic OG generator are reused.The feed shows human-written highlights and a hero image or clip. The exhaustive git-cliff changelog (hundreds of bullets per release) lives behind a collapsed disclosure on each version page, so the feed reads as a story and the full record is still one click away.
Design decisions
2.5.1) or a grouped minor (2.4).coversVersionslists the exact releases an entry absorbs and drives patch-to-canonical redirects, so/changelog/2.4.1lands on/changelog/2.4even across the gaps left by nightly version burn.-stable.<timestamp>tag suffix scheme.published: false. Visible inpnpm dev, hidden in production, until each entry's headline, summary, highlights, and hero are seasoned. Nothing reaches the public feed with placeholder text.Backfill coverage
2.5.1,2.5.02.42.32.22.1Technical changelogs are transcribed faithfully from the real
nteract/nteractrelease notes.content/changelog/_raw-release-notes.mdis the provenance scratch file (per-version URLs and raw bullets); the loader ignores_-prefixed files.Remaining before publish
Draft because the backfill still needs seasoning: real headlines, one-sentence summaries, reworded highlights (currently raw commit messages), and a hero image or clip per entry, then flip
published: true. Recommend seasoning 2.5.0 and 2.5.1 first and publishing those, then backfilling the older grouped entries as the social assets surface.Build passes, full test suite green (includes new
lib/changelog.test.tscovering ordering, the publish gate, redirects, and static params).