In this episode, co-founders Boris and Geoff recap last month's feature releases. Episode highlights: Fix broken links automatically. Broken internal-link warnings with an unambiguous target — typo'd anchors and cross-locale anchor drift — can now be fixed with one command. Run jamdesk fix --dry-run to preview planned changes, then jamdesk fix to apply them; only warnings where the correct anchor resolves to a real heading are touched, leaving ambiguous cases for manual review. CLI overview → Announce anything with a banner. Add a banner to your docs.json and a message bar pins to the top of every page — above the header, in your theme's accent color. Use links, bold, and italic inline, and set dismissible: true to give readers a close button (it stays closed until you change the message). Banner → Show when each page was last updated. Set metadata.timestamp: true in your docs.json and every page gets a "Last updated on June 15, 2026"-style line in its footer. The date comes from the last Git commit that changed the page, so it stays accurate automatically on each build — no manual dates to maintain. Page Metadata → Style your navigation icons. Sidebar, group, tab, anchor, and search icons now honor the style on an icon object ({ "name": "rocket", "style": "duotone" }) or a style prefix (duotone/rocket) — light, thin, duotone, and the sharp family, not just solid. Icons → Customize the search bar. Choose your own placeholder text with search.prompt, and curate the quick links visitors see in the empty search panel with search.popularPages — each with a title, a page slug, and a Font Awesome icon. Search configuration → Collect email signups, no embed required. Connect Resend, Mailchimp, Kit, Loops, beehiiv, Brevo, or SendGrid in Settings → Email Signups, and a Jamdesk-hosted form adds readers straight to your own audience — your API key stays on our backend, never in your published site. Add the EmailSubscribe component to any page, or set placement: changelog to put a signup box on every changelog page automatically. Email Signups → Gate analytics behind cookie consent. Add an integrations.cookies key to your docs.json and Jamdesk withholds every analytics and tracking script — Google Analytics, GTM, Plausible, Crisp, custom JavaScript, and its own built-in analytics — until a visitor consents, read from a localStorage flag your consent banner sets. Load an Osano or Termly banner straight from docs.json too; a short bridge snippet flips the flag the moment a reader accepts, and scripts load with no page reload. Cookie Consent → llms.txt, organized. Every site's llms.txt now follows the llmstxt.org structure — your navigation tabs and groups become ## sections, so AI agents see your docs the way your sidebar organizes them. Multilingual sites get one index per language: the root file lists your default language and links each translated index (for example /fr/llms.txt), keeping each one small enough that no agent truncates it. llms.txt → Agents find your docs faster. Every page now carries an invisible, screen-reader-silent directive pointing AI agents at llms.txt and the .md version of the page, and every Markdown export opens with a blockquote linking the index. Agents that fetch your HTML no longer have to guess that a Markdown path exists. AI Overview → Embed your changelog anywhere. A "What's new?" launcher drops into your own app with one tag and opens your Jamdesk changelog in a modal, with a per-visitor unread dot. Generate the snippet from Settings → What's New widget, then tune the launcher mode, corner, modal size, and dot color with data- attributes. Inside your own Jamdesk docs, the MDX component drops the same live launcher into any page with one tag — no script needed. Embed Your Changelog → Download your API specs as a zip. On any API reference page, the AI Actions menu now has a Download API spec option that bundles every OpenAPI spec your site references — local files and remote URLs alike — into a single api-specs.zip. Multi-file specs keep their $ref folder structure, so the download drops straight into Postman, a client generator, or your own tooling. AI Actions → OpenAPI specs validated at build time. Every deploy now strictly validates the OpenAPI specs your docs.json references — and surfaces any problem as a non-fatal build warning instead of failing the build. Your docs still publish; you just get told exactly what's wrong (a YAML parse error with line and column, an unresolved $ref, or a duplicate operationId) by email and in the dashboard's build list. Locally, jamdesk dev still stops on an invalid spec so you catch it before pushing. CLI overview → Learn more at jamdesk.com.