Skip to content

docs/changelog: Deduplicate old technical changelog page, redirect releases to their records of truth - #1888

Closed
marcleblanc2 wants to merge 1 commit into
mainfrom
remove-technical-changelog
Closed

docs/changelog: Deduplicate old technical changelog page, redirect releases to their records of truth#1888
marcleblanc2 wants to merge 1 commit into
mainfrom
remove-technical-changelog

Conversation

@marcleblanc2

@marcleblanc2 marcleblanc2 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Linear FE-499: Fix doc site issues

Summary

docs/technical-changelog.mdx (12,646 lines, 783 KB) has not been updated since v6.12.1271 in January; the changelog moved to sourcegraph.com. This PR stops the docs site from being a stale mirror while keeping every release's notes reachable.

Record of truth per version range

Range Record of truth Verified
5.7.0 and newer https://sourcegraph.com/changelog/releases/<version> all 66 versions from the old page return 200
5.4.5099 – 5.6.2535 (12 releases) this docs pageCHANGELOG.md stops at 5.4.2198, sourcegraph.com/changelog/releases/5.6.* is 404, and the GitHub Releases for these tags are stubs that link back to sourcegraph.com/docs/CHANGELOG#<version>
5.4.2198 and older (4.0 – 5.4) CHANGELOG.md in sourcegraph-public-snapshot, #<version-slug> anchors all 49 versions have a heading
3.x CHANGELOG.md (unchanged; /releases already linked there)

Changes

  • Trim docs/technical-changelog.mdx to the 12 releases that exist nowhere else, with a notice pointing at the other two records.
  • Add TechnicalChangelogRedirect, a client component on that page that forwards version fragments to the right record: #v6121271 → sourcegraph.com, #v5312303 → GitHub CHANGELOG.md#5312303, and GitHub-style #56185 → the #v56185 heading on the page. Fragments never reach the server, so this cannot be a middleware redirect.
  • Repoint the /releases deprecated table rows for 4.0 – 5.3 at CHANGELOG.md, matching the existing 3.x rows. The 5.4 – 5.6 rows keep their docs anchors.
  • Redirect /CHANGELOG/technical-changelog. The GitHub release notes for v5.4.0 through v5.6.185 link to sourcegraph.com/docs/CHANGELOG#<version>, which currently soft-404s.

Open question

If losing the 5.4.5099 – 5.6.2535 notes is acceptable (all pre-6.0, out of support), the page can be deleted outright and /technical-changelog* redirected to sourcegraph.com/changelog in middleware instead. This PR keeps them because deleting removes the only public copy.

Verification

  • npx tsc --noEmit, node dev/check-links.mjs (no dead links), git diff --check, Prettier on touched files
  • Dev server + headless Chromium: #v6121271https://sourcegraph.com/changelog/releases/6.12.1271; #v570.../releases/5.7.0; #v5312303 and #v401CHANGELOG.md#5312303 / #401; #56185 → rewritten to #v56185 and scrolled to the heading; #v547765 stays and scrolls; unknown #v543500 and no fragment stay on the page
  • curl against middleware: /CHANGELOG → 307 /docs/technical-changelog; /technical-changelog.rss still → sourcegraph.com/changelog/technical-changelog.rss
  • /releases renders 4.0 – 5.3 "Notes" links to CHANGELOG.md#… and 5.4 – 5.6 to /technical-changelog#v…

Amp threads

…record of truth

Every Sourcegraph release has exactly one public record of its notes:

- 5.7.0 and newer: sourcegraph.com/changelog/releases/<version>
- 5.4.5099 through 5.6.2535: this docs page (published nowhere else)
- 5.4.2198 and older: CHANGELOG.md in sourcegraph-public-snapshot

Trim docs/technical-changelog.mdx (12,646 lines, frozen since January) to
the 12 releases that only exist here, and add a client component that
forwards version fragments (#v6121271, #v401, GitHub-style #56185) to the
matching record. Point the /releases table rows for 4.0 through 5.3 at
CHANGELOG.md, matching the 3.x rows. Redirect /CHANGELOG, which the GitHub
release notes for 5.4 through 5.6 link to, onto the forwarding page.

Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-01a07e67-73b3-779f-8880-7ba770fe7ade
@vercel

vercel Bot commented Sep 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
sourcegraph-docs Ready Ready Preview Sep 9, 2026 4:47am UTC

Request Review

@marcleblanc2 marcleblanc2 changed the title docs: retire the technical changelog page, forward releases to their record of truth docs: deduplicate old technical changelog page, redirect releases to their records of truth Sep 9, 2026
@marcleblanc2 marcleblanc2 changed the title docs: deduplicate old technical changelog page, redirect releases to their records of truth docs: Deduplicate old technical changelog page, redirect releases to their records of truth Sep 9, 2026
@marcleblanc2 marcleblanc2 changed the title docs: Deduplicate old technical changelog page, redirect releases to their records of truth docs/changelog: Deduplicate old technical changelog page, redirect releases to their records of truth Sep 9, 2026
marcleblanc2 added a commit that referenced this pull request Sep 11, 2026
…#1899)

## What

Rewrites every link to this site that was written as an absolute URL
(`https://sourcegraph.com/docs/…`, `http://sourcegraph.com/docs/…`,
`https://docs.sourcegraph.com/…`) as a relative link
(`/admin/config/site-config`), in 15 files.

- 32 pointed at the current route: prefix dropped.
- 31 pointed at a moved page and only worked through
`src/data/redirects.ts`: now link straight to the destination.
- 4 needed a hand fix: the `commands#commands-id-mode` and
`features#shard-merging` anchors no longer exist,
`github#github-com-rate-limits` became `#rate-limits`, and the deleted
gRPC guide now links to its archived 5.3 page.

## Why

Absolute links leave the Vercel preview and the local dev server, and
hide moved pages behind redirects. #1858 makes `dev/check-links.mjs`
fail PRs that add them; this PR clears the backlog so that check starts
from zero.

## Verification

`node dev/check-links.mjs --check-anchors --root <this branch>` with the
checker from #1858: 0 absolute self-links left, and no new findings
against `main` (317 → 250 pre-existing findings; the 67 removed are all
self-links).

## Notes for reviewers

- Bare URLs in prose and code blocks (e.g. the `See
https://docs.sourcegraph.com/admin/observability/tracing` cells in
`docs/cli/references/*`) are not links and are untouched; #1851 covers
those.
- `docs/admin/repo/perforce.mdx`,
`docs/self-hosted/observability/alerts.mdx` and `dashboards.mdx` are
synced from sourcegraph/sourcegraph (#1883); the same links need the
same fix upstream or the next sync reverts them.
- `docs/technical-changelog.mdx` holds 31 of the links and is retired by
#1888; if that lands first, take the deletion.

Co-authored-by: Amp <amp@ampcode.com>
@marcleblanc2

Copy link
Copy Markdown
Contributor Author

Moved to #1937 (branch renamed to marc/remove-technical-changelog).

@marcleblanc2
marcleblanc2 deleted the remove-technical-changelog branch September 11, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant