OAuth logout endpoint
You can now configure a logout URL for OAuth authentication. When a user clicks Logout, Fern redirects them to your OAuth provider’s logout endpoint to end their session, in addition to clearing the local session cookie. To set this up, send your logout URL (e.g., https://<your-oauth-tenant>/oauth2/logout) to Fern alongside your other OAuth client details.
“Edit this page” with Fern Editor
The “Edit this page” button can now open Fern Editor in addition to linking to GitHub. When you set the launch mode to dashboard, clicking the button gives users the choice between editing the page in Fern Editor or viewing the source on GitHub. This is especially useful for internal docs sites where most viewers are also editors.
Collaborative editor sessions
You can now view and edit your teammates’ Fern Editor sessions. If a teammate creates an editor session, you can open their session from the Dashboard and commit changes directly to their PR. This makes it easy to adjust copy or fix content without switching to GitHub.
Learn more about the Fern Editor.
OpenAPI spec endpoints
Your Fern docs site now serves your raw OpenAPI 3.1 specification at /openapi.json and /openapi.yaml. Download it for SDK generation, contract testing, or importing into tools like Postman. The spec is also linked from your site’s llms.txt, so AI coding assistants can discover and use it automatically.
Link to API endpoints with api: syntax
Link to API endpoints by HTTP method and path using the api: link syntax, instead of hardcoding URL slugs. Fern resolves these links to the correct endpoint URL at build time.
This works in Markdown pages, OpenAPI description fields, and Fern Definition docs fields.
API key injection for self-hosted docs
Self-hosted deployments support API key injection via environment variables. Enable FERN_API_KEY_INJECTION_ENABLED to show a Login button in the API Explorer without requiring login for the entire site. Use FERN_AUTH_ALLOWLIST and FERN_AUTH_DENYLIST to control page-level access.
Multiple API keys and per-environment keys
API key injection supports multiple API keys and per-environment credentials. Provide multiple keys as a JSON-encoded array in bearer_token, and use env_state to set different credentials per environment with substring matching.