GitHub AI Writer, @readme/cli, and New Admin

This release introduces a new editor engine that mixes Markdown and MDX in the same line, a CLI that lints docs and syncs OpenAPI specs from the terminal or your coding agent, and a GitHub integration that watches PRs and drafts doc updates automatically. We've also redesigned the admin sidebar into a single collapsible navigation.


New Features & Improvements

GitHub AI Writer

  • GitHub AI Writer watches your pull requests, detects documentation that needs updating, and drafts changes on a review branch in ReadMe. A summary comment is posted directly on the PR with preview links.

ReadMe CLI

  • @readme/cli, a new command-line tool built for Git-backed docs. Lint your docs, sync OpenAPI specs, preview locally, and set up CI in one command.
  • Designed to work inside AI coding agents like Claude Code and Codex. The CLI adapts its output for agents, so AI can draft pages, iterate against lint warnings, and ship clean docs without manual oversight.

Redesigned Admin Interface

  • Redesigned the admin experience into a unified, collapsible sidebar navigation with nested group panels (Appearance, Settings, Versioned Content) and persisted collapse state.
  • Refined the viewer preview mode with a bottom-center toolbar that triggers the editor, the agent, and the review panel; hidden nav sections are now hidden in preview to better match what end users see.

New Editor

  • MDX-ish, a new rendering engine that combines the permissiveness of Markdown with the power of MDX. Write Markdown, HTML, and JSX in the same doc, the same line, or the same element.
  • Available on all new projects by default and self-serve via a one-click upgrade for existing projects. Enterprise customers can contact their CSM for early access.

AI Agent

  • Claude Opus 4.7 and GPT-5.5 are now available for the AI Agent and Ask AI.

Docs

  • Added a "Jump to next change" button to the diff review for OpenAPI specs, making it easier to navigate large API definition changes.
  • The API Explorer now renders anyOf schemas as a grouped, multi-toggle accordion, so you can fill in fields from any combination of subschemas instead of being limited to one option at a time.
  • Added a content-type selector for request body parameters when an operation defines multiple content types.
  • Descriptions now render across every schema surface — top-level response/callback/request bodies, polymorphic options, and the dropdown's selected option.
  • Display request example descriptions alongside the example body.
  • additionalProperties rows with oneOf/anyOf now show a type select dropdown instead of only rendering the first option.

Bugs Eaten (by Owlbert) 🐛

API Reference

  • Fixed $ref schemas not rendering inside additionalProperties (now shows the expand UI instead of "Has additional fields").
  • Fixed several enum behaviors: optional objects with required enums no longer auto-fill when "Always Fill" is on, single-value enum dropdowns now offer an empty option, nullable enums correctly omit cleared values from the request, and items.enum chips now render for arrays in response docs.
  • Fixed anyOf schemas rendering duplicate descriptions and JSON fields rendering side-by-side instead of stacked.
  • Fixed exclusiveMinimum/exclusiveMaximum and const not surfacing in response and callback schemas.
  • Fixed array item examples with oneOf not resetting when switching options and the response schema rendering an unwanted anchor icon.
  • Fixed server variable defaults not resetting when switching between API definitions.
  • Fixed the response table showing "has additional fields" for polymorphic additionalProperties.
  • Fixed the Endpoint Page header copying webhook URLs instead of webhook names for webhook operations.
  • Fixed multipart/form-data requests defaulting to flat encoding; deep-nested object style is now the default.
  • Fixed oas-to-har not honoring additionalProperties schemas, dropping content-type headers from form data, and other $ref/allOf resolution issues.
  • JSON request bodies now correctly support empty array values.

Docs

  • Fixed the llms.txt linter incorrectly flagging doc: links with anchor fragments as invalid.
  • Fixed translation base field selection overflowing in long-name projects.