diff --git a/fern/products/docs/pages/changelog/2026-07-02-a.mdx b/fern/products/docs/pages/changelog/2026-07-02-a.mdx
new file mode 100644
index 000000000..021385855
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-a.mdx
@@ -0,0 +1,9 @@
+## Bulk content import — entry A
+
+writing-content, cli
+
+You can now import multiple markdown pages in a single CLI command, preserving folder structure and frontmatter.
+
+> **Anchor stress test:** this entry is authored in its own file `2026-07-02-a.mdx` and shares the date `2026-07-02` with nine sibling files. Its timeline card should deep-link to `#2026-07-02-a`, not the top of the shared date page.
+
+
diff --git a/fern/products/docs/pages/changelog/2026-07-02-b.mdx b/fern/products/docs/pages/changelog/2026-07-02-b.mdx
new file mode 100644
index 000000000..a2f89ef21
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-b.mdx
@@ -0,0 +1,18 @@
+## Nested tabs in components — entry B
+
+components, writing-content
+
+Tabs can now be nested inside other tabs and accordions without losing keyboard focus or breaking anchor scrolling.
+
+> **Anchor stress test:** authored in `2026-07-02-b.mdx`; expected deep-link anchor is `#2026-07-02-b`.
+
+```mdx
+
+
+
+ Content
+ Content
+
+
+
+```
diff --git a/fern/products/docs/pages/changelog/2026-07-02-c.mdx b/fern/products/docs/pages/changelog/2026-07-02-c.mdx
new file mode 100644
index 000000000..27b5f50a6
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-c.mdx
@@ -0,0 +1,7 @@
+## Search keyboard shortcuts — entry C
+
+search, navigation
+
+Press / to focus the search bar from anywhere, and use arrow keys plus Enter to jump straight to a result.
+
+> **Anchor stress test:** authored in `2026-07-02-c.mdx`; expected deep-link anchor is `#2026-07-02-c`.
diff --git a/fern/products/docs/pages/changelog/2026-07-02-d.mdx b/fern/products/docs/pages/changelog/2026-07-02-d.mdx
new file mode 100644
index 000000000..bac36e1d0
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-d.mdx
@@ -0,0 +1,21 @@
+## Per-language code sample tabs — entry D
+
+api-reference, sdks
+
+API Reference code samples now remember the reader's last-selected language across pages, so switching to Python once keeps every endpoint on Python.
+
+> **Anchor stress test:** authored in `2026-07-02-d.mdx`; expected deep-link anchor is `#2026-07-02-d`. This is a deliberately longer entry so its timeline card has a different height than its siblings — anchor scrolling must land on this card regardless of the offset introduced by the entries above it.
+
+```python
+import petstore
+client = petstore.Client(token="...")
+client.plants.list()
+```
+
+```typescript
+import { Client } from "petstore";
+const client = new Client({ token: "..." });
+await client.plants.list();
+```
+
+
diff --git a/fern/products/docs/pages/changelog/2026-07-02-e.mdx b/fern/products/docs/pages/changelog/2026-07-02-e.mdx
new file mode 100644
index 000000000..02e75bca7
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-e.mdx
@@ -0,0 +1,7 @@
+## Redirect validation — entry E
+
+docs.yml, cli
+
+`fern check` now flags redirects whose destination does not resolve to a real page, catching broken `redirects` config before it ships.
+
+> **Anchor stress test:** authored in `2026-07-02-e.mdx`; expected deep-link anchor is `#2026-07-02-e`.
diff --git a/fern/products/docs/pages/changelog/2026-07-02-f.mdx b/fern/products/docs/pages/changelog/2026-07-02-f.mdx
new file mode 100644
index 000000000..d41107591
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-f.mdx
@@ -0,0 +1,13 @@
+## Dark-mode logo override — entry F
+
+customization, docs.yml
+
+You can now set a separate logo for dark mode with `logo.dark`, alongside the existing `logo.light`.
+
+> **Anchor stress test:** authored in `2026-07-02-f.mdx`; expected deep-link anchor is `#2026-07-02-f`.
+
+```yaml docs.yml
+logo:
+ light: ./logo-light.svg
+ dark: ./logo-dark.svg
+```
diff --git a/fern/products/docs/pages/changelog/2026-07-02-g.mdx b/fern/products/docs/pages/changelog/2026-07-02-g.mdx
new file mode 100644
index 000000000..90aca1ebd
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-g.mdx
@@ -0,0 +1,7 @@
+## Feedback reactions — entry G
+
+analytics
+
+Readers can now leave a thumbs-up or thumbs-down on any page, and the aggregated reactions surface in your analytics dashboard.
+
+> **Anchor stress test:** authored in `2026-07-02-g.mdx`; expected deep-link anchor is `#2026-07-02-g`.
diff --git a/fern/products/docs/pages/changelog/2026-07-02-h.mdx b/fern/products/docs/pages/changelog/2026-07-02-h.mdx
new file mode 100644
index 000000000..debdceca5
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-h.mdx
@@ -0,0 +1,11 @@
+## Snippet includes — entry H
+
+writing-content, reuse
+
+Reuse a shared markdown snippet across pages with the `` component, so common warnings and setup steps live in one place.
+
+> **Anchor stress test:** authored in `2026-07-02-h.mdx`; expected deep-link anchor is `#2026-07-02-h`.
+
+```mdx
+
+```
diff --git a/fern/products/docs/pages/changelog/2026-07-02-i.mdx b/fern/products/docs/pages/changelog/2026-07-02-i.mdx
new file mode 100644
index 000000000..966bd396a
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-i.mdx
@@ -0,0 +1,7 @@
+## Sticky table headers — entry I
+
+components
+
+Long tables now keep their header row pinned while you scroll, so column meanings stay visible in dense reference tables.
+
+> **Anchor stress test:** authored in `2026-07-02-i.mdx`; expected deep-link anchor is `#2026-07-02-i`.
diff --git a/fern/products/docs/pages/changelog/2026-07-02-j.mdx b/fern/products/docs/pages/changelog/2026-07-02-j.mdx
new file mode 100644
index 000000000..1d2f0bfac
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-02-j.mdx
@@ -0,0 +1,9 @@
+## Last entry of the day — entry J
+
+navigation
+
+This is the tenth and final same-day entry for `2026-07-02`, placed last so we can verify that deep-linking to the *bottom* card of a large same-day group still scrolls correctly.
+
+> **Anchor stress test:** authored in `2026-07-02-j.mdx`; expected deep-link anchor is `#2026-07-02-j`. Because this is the last card in a ten-entry group, its target offset is the furthest from the top of the shared date page — the strongest test that the anchor overrides the "scroll to top of page" fallback.
+
+
diff --git a/fern/products/docs/pages/changelog/2026-07-03-a.mdx b/fern/products/docs/pages/changelog/2026-07-03-a.mdx
new file mode 100644
index 000000000..715b8b308
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-03-a.mdx
@@ -0,0 +1,7 @@
+## Suffixed sibling of a bare date — entry A
+
+navigation
+
+Authored in `2026-07-03-a.mdx`, this entry shares its date with the bare `2026-07-03.mdx` file above.
+
+> **Anchor stress test:** expected deep-link anchor is `#2026-07-03-a`. Verifies that suffixed and bare files on the same date each get distinct anchors without colliding.
diff --git a/fern/products/docs/pages/changelog/2026-07-03-b.mdx b/fern/products/docs/pages/changelog/2026-07-03-b.mdx
new file mode 100644
index 000000000..2a44fa0be
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-03-b.mdx
@@ -0,0 +1,7 @@
+## Suffixed sibling of a bare date — entry B
+
+navigation
+
+Authored in `2026-07-03-b.mdx`, the second suffixed sibling of the bare `2026-07-03.mdx` file.
+
+> **Anchor stress test:** expected deep-link anchor is `#2026-07-03-b`.
diff --git a/fern/products/docs/pages/changelog/2026-07-03.mdx b/fern/products/docs/pages/changelog/2026-07-03.mdx
new file mode 100644
index 000000000..367cf355d
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-03.mdx
@@ -0,0 +1,7 @@
+## Bare date file (no suffix)
+
+navigation
+
+This entry uses the classic bare filename `2026-07-03.mdx`, with no `-suffix`. It shares the date `2026-07-03` with two suffixed siblings (`-a` and `-b`).
+
+> **Anchor stress test:** this is the edge case where a bare date file coexists with suffixed files on the same date. The bare file's card should still deep-link correctly to its own entry (anchor `#2026-07-03`) and not get swallowed by, or collide with, the suffixed siblings below it.
diff --git a/fern/products/docs/pages/changelog/2026-07-04-a.mdx b/fern/products/docs/pages/changelog/2026-07-04-a.mdx
new file mode 100644
index 000000000..755bb0eb6
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-04-a.mdx
@@ -0,0 +1,7 @@
+## Slug-less same-day entry — entry A
+
+writing-content
+
+Authored in `2026-07-04-a.mdx` with no frontmatter `slug`, so it falls back to the date-derived slug and must be disambiguated by a filename anchor.
+
+> **Anchor stress test:** expected deep-link anchor is `#2026-07-04-a`. Shares the date with a slug-less sibling (`-b`) and a slug'd sibling (`-c`).
diff --git a/fern/products/docs/pages/changelog/2026-07-04-b.mdx b/fern/products/docs/pages/changelog/2026-07-04-b.mdx
new file mode 100644
index 000000000..970dc094c
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-04-b.mdx
@@ -0,0 +1,7 @@
+## Slug-less same-day entry — entry B
+
+writing-content
+
+Authored in `2026-07-04-b.mdx`, also with no frontmatter `slug`.
+
+> **Anchor stress test:** expected deep-link anchor is `#2026-07-04-b`. This card and `-a` share the same date-derived slug and are separated only by their filename anchors.
diff --git a/fern/products/docs/pages/changelog/2026-07-04-c.mdx b/fern/products/docs/pages/changelog/2026-07-04-c.mdx
new file mode 100644
index 000000000..e29a7b1c7
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-04-c.mdx
@@ -0,0 +1,11 @@
+---
+slug: custom-slug-2026-07-04
+---
+
+## Same-day entry with an explicit frontmatter slug — entry C
+
+writing-content, docs.yml
+
+Authored in `2026-07-04-c.mdx` with an explicit `slug: custom-slug-2026-07-04` in frontmatter.
+
+> **Anchor stress test:** because this entry declares its own `slug`, it should be **left untouched** — it gets its own dedicated URL (`.../changelog/custom-slug-2026-07-04`) and should NOT be forced into the shared date page or given a filename-derived anchor. Verifies the slug-collision fix does not disturb entries that opt into a distinct slug, even when they share a date with slug-less siblings (`-a`, `-b`).
diff --git a/fern/products/docs/pages/changelog/2026-07-05-a.mdx b/fern/products/docs/pages/changelog/2026-07-05-a.mdx
new file mode 100644
index 000000000..9aec31073
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-05-a.mdx
@@ -0,0 +1,19 @@
+## Multiple headings in one file — first release
+
+navigation
+
+This is the *old* same-day pattern: several releases authored as multiple `##` headings inside a single file (`2026-07-05-a.mdx`). This path already wired up heading anchors before the fix.
+
+> **Anchor stress test:** the entry card should deep-link to `#2026-07-05-a`, and the individual headings below should keep their own in-page heading anchors.
+
+## Multiple headings in one file — second release
+
+navigation, search
+
+A second `##` heading within the same file. Verifies that a file carrying multiple headings still resolves to a single entry anchor for the card while preserving per-heading anchors within the entry.
+
+## Multiple headings in one file — third release
+
+components
+
+A third heading, added to make this a tall entry so scroll positioning has to account for its height when linking to the separate-file sibling (`-b`) below it.
diff --git a/fern/products/docs/pages/changelog/2026-07-05-b.mdx b/fern/products/docs/pages/changelog/2026-07-05-b.mdx
new file mode 100644
index 000000000..94e1ee0bb
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-05-b.mdx
@@ -0,0 +1,7 @@
+## Separate file for the same day — entry B
+
+navigation
+
+This is the *new* same-day pattern: a distinct file (`2026-07-05-b.mdx`) sharing the date with the multi-heading file `2026-07-05-a.mdx`.
+
+> **Anchor stress test:** expected deep-link anchor is `#2026-07-05-b`. Verifies the two same-day mechanisms — multiple headings in one file (`-a`) and multiple files for one day (`-b`) — coexist and produce non-colliding anchors.
diff --git a/fern/products/docs/pages/changelog/2026-07-06-1.mdx b/fern/products/docs/pages/changelog/2026-07-06-1.mdx
new file mode 100644
index 000000000..3ddddb08d
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-06-1.mdx
@@ -0,0 +1,7 @@
+## Numeric suffix — entry 1
+
+cli
+
+Authored in `2026-07-06-1.mdx`. Uses a numeric suffix instead of a letter.
+
+> **Anchor stress test:** expected deep-link anchor is `#2026-07-06-1`. Verifies the anchor derivation handles a purely numeric suffix (which visually resembles a date part) without truncating the date or mangling the anchor.
diff --git a/fern/products/docs/pages/changelog/2026-07-06-2.mdx b/fern/products/docs/pages/changelog/2026-07-06-2.mdx
new file mode 100644
index 000000000..98ce82ff8
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-06-2.mdx
@@ -0,0 +1,7 @@
+## Numeric suffix — entry 2
+
+cli
+
+Authored in `2026-07-06-2.mdx`, a second numeric-suffixed sibling.
+
+> **Anchor stress test:** expected deep-link anchor is `#2026-07-06-2`.
diff --git a/fern/products/docs/pages/changelog/2026-07-06-feature-x.mdx b/fern/products/docs/pages/changelog/2026-07-06-feature-x.mdx
new file mode 100644
index 000000000..35ebc8999
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-06-feature-x.mdx
@@ -0,0 +1,7 @@
+## Multi-word hyphenated suffix
+
+writing-content
+
+Authored in `2026-07-06-feature-x.mdx`. The suffix itself contains a hyphen (`feature-x`).
+
+> **Anchor stress test:** expected deep-link anchor is `#2026-07-06-feature-x`. The hardest case for the derivation regex: the date has hyphens *and* the suffix has hyphens, so the split must keep the full `feature-x` suffix intact rather than stopping at the first hyphen after the date.
diff --git a/fern/products/docs/pages/changelog/2026-07-06-hotfix.mdx b/fern/products/docs/pages/changelog/2026-07-06-hotfix.mdx
new file mode 100644
index 000000000..b902afd31
--- /dev/null
+++ b/fern/products/docs/pages/changelog/2026-07-06-hotfix.mdx
@@ -0,0 +1,7 @@
+## Word suffix
+
+cli
+
+Authored in `2026-07-06-hotfix.mdx`, using a descriptive word as the suffix.
+
+> **Anchor stress test:** expected deep-link anchor is `#2026-07-06-hotfix`. Confirms alphabetic word suffixes work alongside numeric (`-1`, `-2`) and hyphenated (`-feature-x`) siblings on the same date.