Changelog

Standalone Ask AI sidebar panel

The @fern-api/search-widget package now ships an AskAiChat component: a sidebar panel that answers questions from your documentation inside any React application, like a dashboard or marketing site. The panel becomes a bottom drawer on small screens, and the theme and accentColor props match it to your product.

aisearch

Scroll-synced code walkthroughs

You can build scroll-synced code walkthroughs with the new <ScrollWalkthrough> component. Prose steps flow down the page while a code panel stays pinned beside them, following the reader’s scroll position. Use this component for quickstarts and integration guides where successive steps add to the same few files.

  1. Install the SDK

    Add the Plant Store SDK to your project.

  2. Create the client

    Point the client at your garden with an API key.

    1. Import the client.
    2. Construct it with your API key.
  3. Add a plant

    Create your first plant record. The wateringDays interval drives care reminders.

$npm install @plantstore/sdk
components

Readable API Reference Markdown for agents

API Reference endpoint and webhook pages served as Markdown (through .md URLs and llms.txt) now render a flattened property list. Requests, responses, and authentication appear as bullets with each property’s name, type, required flag, and description, and nested objects are indented.

Internal component schema names and $ref chains aren’t included to conserve tokens and improve readability.

aiapi-reference

Build a docs version from a git ref

You can now point a version entry at a git ref (a branch, tag, or commit SHA) instead of a path in your working tree. On publish, Fern builds that version’s content from the ref, composed with the current branch’s theme and shell. Use it for a version that no longer receives content updates, such as a past release; keep actively maintained versions on path, since fern docs dev previews working-tree versions only.

navigationdocs.yml

Send defaults for optional parameters in the API Explorer

You can now have the API Explorer pre-fill and send the declared default (or x-fern-default) of optional header, query, and path parameters. Set playground.send-optional-defaults: true in docs.yml on an API, section, or endpoint.

docs.yml
1navigation:
2 - api: API Reference
3 playground:
4 send-optional-defaults: true
api-referencedocs.yml

Organization-wide CLI version policy

Admins can now bound the Fern CLI version that every project in an organization runs. Set a minimum, a maximum, or an exact version with fern org set cli-version, and each project runs the nearest allowed version. The bounds live on the organization, so no fern.config.json has to change. fern org get reports the policy and fern org unset cli-version clears it. fern upgrade respects the same bounds when it writes a new version.

developer-tools

Show availability badges in the sidebar

Rendering availability badges (Beta, Deprecated, etc.) as a badge in the sidebar navigation is now opt-in rather than automatic. Set layout.show-nav-availability-badges: true in docs.yml to enable it for your site; it’s off by default.

Read the docs
navigationdocs.yml

Index external sitemaps in search

You can now surface pages hosted outside your docs site in search. List one or more external sitemap.xml files under the experimental external-sitemaps key in docs.yml, and Fern indexes their pages into the same search index as your documentation. External results are flagged as third-party, so they always rank below your first-party pages and open in a new tab when selected.

search

Preview docs as a role

Teams can now preview a role-gated docs site as a specific viewer to validate their gating before publishing. On a preview link, a role selector lets you pick one or more roles (or anonymous) and re-renders the site with that viewer’s role-based visibility applied, including nav pruning, <If /> blocks, and role-gated tabs and products. With no selection, the preview continues to show all content.

security

SSO now supports role-based access control

You can now gate content by role when authenticating with SSO. Fern reads each user’s roles from the token your identity provider issues, then applies the roles and viewers rules in your docs.yml. Previously, role-based access control was limited to JWT and OAuth.

To use it, assign roles through your WorkOS organization, either directly or by mapping your SSO/directory groups to roles.

security

Opt remote scripts out of SRI

Fern adds a Subresource Integrity (SRI) integrity attribute to remote js scripts by default. You can now disable SRI on a specific remote script without turning it off globally. Disable it for scripts that update in place, such as auto-updating or CDN-rolled scripts, which SRI would otherwise block.

docs.yml
1js:
2 - url: https://cdn.example.com/a.js
3 disable-sri: true # rendered without an integrity attribute
4 - url: https://cdn.example.com/b.js # still gets SRI (default)
customizationdocs.ymlsecurity

Opt-in PII masking for Ask Fern

Ask Fern can now mask personally identifiable information in a user’s question. When enabled, structured PII (emails, phone numbers, SSNs, and credit card numbers) is redacted in the browser and never sent to Fern.

docs.yml
1ai-search:
2 mask-pii: true
Read the docs
aisecuritydocs.yml

Tooltip support in Fern Editor

You can now create and edit <Tooltip> components in the Fern Editor. Select existing text to wrap it in a tooltip, or use the /tooltips slash command to insert a new one.

Read the docs
componentsdeveloper-tools

Availability badges in the sidebar navigation

Availability set on a page, section, folder, or API Reference section or endpoint now automatically shows as a badge in the sidebar navigation, so you no longer need to hardcode a status like “(Beta)” in the title. beta, pre-release, and in-development render a badge; deprecated renders a badge and strikes through the title.

Read the docs
navigationapi-referencedeprecated

agent 404 响应中的页面建议

对不存在的 .md URL 的请求现在会返回最多三个链接到最接近匹配来源的”相似页面”建议,使 agent 无需单独查找即可从损坏的链接中恢复。

阅读文档
ai

更新日志布局配置

更新日志现在支持两种布局:

  • timeline(默认)渲染可搜索的精简条目卡片时间线。
  • classic 渲染内联堆叠的完整条目,保留代码格式、复制按钮和链接。

docs.yml 中通过 layout.changelog-layout 设置站点范围的值:

docs.yml
1layout:
2 changelog-layout: classic
navigationdocs.ymlfrontmatter

禁用 MCP 服务器端点

现在可以通过在 docs.yml 中设置 page-actions.options.mcp: false 来完全禁用文档站点上的 MCP 服务器。禁用后,/_mcp/server 端点返回 404,MCP URL 从 llms.txt 和代理提示中移除,“Connect to Claude Code”/“Connect to Cursor”按钮也会隐藏。

这对于已认证的文档站点尤其有用,因为未认证的 AI 代理可能会发现端点但无法使用它。

docs.yml
1page-actions:
2 options:
3 mcp: false
aidocs.yml

更新日志时间线重新设计

更新日志页面现在渲染为紧凑的、按日期分组的条目卡片时间线,取代了之前将完整高度条目内联堆叠的布局。

顶部的搜索栏可按关键词搜索整个更新日志的条目。查询同步到 ?q= URL 参数,因此过滤后的视图可以分享。

阅读文档
navigationsearch

每条目更新日志标签

包含多个发布的更新日志条目可以使用 <ChangelogTags> 组件为每个标题独立添加标签:

1## New dashboard analytics
2<ChangelogTags>analytics, dashboard</ChangelogTags>

单个条目页面上的标签可点击,点击后链接回时间线并预选该标签作为过滤器。

阅读文档
navigationcomponents

Local library docs generation

You can now generate library documentation from local source code using the --local flag. Instead of pushing to a remote repository and parsing on Fern’s servers, fern docs md generate --local parses the source locally. This doesn’t require you to be logged in to Fern.

To use local generation, set your library’s input to a path instead of a git URL:

api-referencedocs.yml