August 2026 Summaries
10 posts from Fern
Filter
Month:
Year:
Post Summaries
Back to Blog
Postman collections are most reliable when generated as build artifacts from an OpenAPI specification rather than maintained manually, with usability depending primarily on complete operation metadata, stable tags, realistic request and response examples, declared security schemes, and server URLs. Postman natively imports OpenAPI 2.0, 3.0, and 3.1, while openapi-to-postmanv2 supports version-controlled collection files, the Postman API enables workspace publishing, and Portman adds schema-based tests runnable through Newman in CI. Automated regeneration should run whenever the specification changes, validate the definition first, and avoid persistent edits directly in generated collections. Teams must also account for sync limitations such as unsupported multi-file specifications, orphaned requests after endpoint renames, flattened polymorphic schemas, possible credential leakage in examples, and navigation challenges in large collections. Fern no longer maintains its own Postman generator, instead focusing on validating, updating, enriching, and exporting OpenAPI definitions that can also produce documentation and SDKs. Collections remain useful for exploration and testing, while generated SDKs provide production-oriented features such as typing, retries, pagination, and error handling from the same source specification.
Aug 28, 2026
2,676 words in the original blog post.
Generated API SDKs should derive semantic version bumps from changes to their API contracts or generated public surfaces rather than commit messages, because package managers automatically treat version ranges as compatibility guarantees. API and SDK compatibility can differ: additions such as enum values or optional response fields may be nonbreaking over HTTP but break typed clients, while generator configuration, runtime requirement, or exported-name changes can break an SDK without altering the wire API. The text recommends combining specification-level diffs, such as oasdiff, with generated-surface diffs to identify changes, calculate major, minor, or patch releases against the last published version, and require human approval for major releases. It also highlights multi-language complications including Go’s semantic import paths and immutable registries, suggesting policies such as lockstep major versions with independent lower versions. Safe major-version releases should include machine-readable deprecation and sunset notices, maintenance support for prior majors, migration documentation and tooling, and changelogs generated from the same classified diff. Fern is presented as a platform that automates diff-based version calculation, CI gating, SDK generation, testing, changelog creation, and publishing across nine languages.
Aug 28, 2026
3,517 words in the original blog post.
Fern has launched Fern Agent in beta for Fern Docs customers, positioning it as a unified AI assistant for managing documentation content, styling, navigation, user feedback, and analytics through the Dashboard, Slack, and MCP-compatible coding agents. The agent can analyze usage data, reorganize documentation navigation, edit Markdown, inspect React and CSS issues, group feedback themes, and draw on existing published documentation, external URLs, and page screenshots for context. It is designed to understand Fern-specific configurations and recommend native components or diagnose setup-related issues, while making narrowly scoped edits that produce small, reviewable diffs supported by preview links and pull request comments. Fern Agent does not have access to sensitive administrative functions such as API keys, permissions, billing, or organization settings, and future support is planned for SDKs, CLI, and MCP server generation.
Aug 25, 2026
562 words in the original blog post.
OAuth 2.0 authentication tooling spans four separate layers: authorization servers that issue tokens, gateways that enforce token policies, client-side SDKs that acquire and refresh credentials, and documentation interfaces where developers test authenticated requests. The discussion argues that production failures most often occur in client-side token lifecycle management, including refresh races, clock skew, incorrect expiry handling, multi-tenant cache isolation, credential rotation, and dynamic signing requirements, rather than at the authorization server. It notes that OAuth 2.1 strengthens grant-selection expectations by requiring PKCE for authorization-code flows and removing implicit and password grants, while client credentials, device authorization, and sender-constrained tokens serve different client types and security needs. Auth0, Keycloak, Ory Hydra, and WorkOS are presented as token-issuing identity platforms, Kong as an edge validation gateway, and Speakeasy and Fern as SDK-generation tools that address consumer-side integration. Fern is positioned as particularly focused on generating client-credentials token handling, proactive refresh, customizable authentication hooks, and authenticated API documentation across nine languages, while the broader recommendation is to model auth precisely in OpenAPI, select grants according to client shape, generate consistent token-lifecycle behavior, and provide documentation that lets developers authenticate and test live API calls.
Aug 21, 2026
3,550 words in the original blog post.
Documentation drift occurs when API references, SDKs, code samples, guides, and other published materials no longer match an API’s actual behavior, while schema drift specifically describes disagreement among the API contract, implementation, and artifacts derived from it. The text argues that this is primarily a pipeline-design issue rather than an individual discipline issue, recommending a single version-controlled API definition as the source of truth for generated references, SDKs, samples, mocks, and repeated schema content in guides. It identifies implementation, reference, client, and narrative drift as distinct problems requiring contract verification, automated regeneration, and schema transclusion into prose, particularly because manually maintained guides and samples are prone to becoming outdated. Suggested CI controls include schema linting with Spectral, compatibility comparison with oasdiff, implementation testing with Schemathesis or Pact, and spec-backed mocks through Prism, all configured as merge-time gates rather than release-time checks. The text also emphasizes publishing regenerated artifacts together, encoding deprecations and lifecycle status in the schema, and using mechanical versioning and breaking-change checks so changes cannot silently reach consumers. Fern is presented as a platform that combines API reference generation, SDK generation in multiple languages, validation, testing, and publishing from one definition, illustrating the broader goal of making documentation and client libraries move together with the API contract.
Aug 21, 2026
2,940 words in the original blog post.
Automated SDK publishing involves coordinating semantic versioning, language-specific builds, registry authentication, release notes, and pre-publish validation across ecosystems such as npm, PyPI, Maven Central, NuGet, RubyGems, and crates.io. The central distinction is between spec-driven platforms, including Fern, Speakeasy, and APIMatic, which derive releases from API-definition changes and can distribute multiple generated SDKs together, and commit-driven tools such as semantic-release, release-please, and Changesets, which infer versions from commits or manually authored changeset files and generally operate per repository. The comparison argues that reliable version-bump classification, breaking-change detection, pre-publish tests, OIDC-based trusted publishing, deployment flexibility, and documentation synchronization are more consequential than registry coverage alone. Fern is presented as supporting nine language ecosystems, configuration in source control, self-hosted generation, API-diff-based versioning, mock-server testing, compatibility gates, and OIDC publishing for npm and PyPI, while Speakeasy and APIMatic offer alternative managed SDK-generation and distribution approaches with different pricing, infrastructure, and workflow models. The discussion also explains that npm and PyPI trusted publishing reduces reliance on long-lived CI secrets, but each ecosystem retains operational differences, including npm’s initial-publish requirement and PyPI’s immutable uploaded filenames. For single-package or monorepo workflows, GitHub Actions and commit-based release tools may be sufficient, whereas organizations maintaining public SDKs in several languages may benefit from a pipeline driven by the API contract rather than commit descriptions.
Aug 14, 2026
3,860 words in the original blog post.
Migrating a developer portal from a hosted CMS to docs as code is presented as most effective when Git becomes the single authoritative source rather than a synchronized mirror of a vendor database, enabling documentation and API changes to be reviewed, validated, and deployed through pull requests and CI. The recommended process begins with an inventory of pages, URLs, assets, custom components, and access controls, followed by moving prose to Markdown or MDX, keeping API definitions in version control, and generating reference material directly from OpenAPI, AsyncAPI, OpenRPC, or protobuf specifications to reduce drift. Preserving existing URLs through matching slugs, redirects, CI enforcement, and post-launch monitoring is emphasized as essential for search visibility and link reliability. Quality controls should replace CMS publishing workflows with specification validation, MDX and style checks, link checking, preview deployments, and controlled production releases, while visual editors that create repository pull requests can support non-technical contributors without creating a second content store. The text also advises parallel staging, a temporary content freeze, role-based access testing, DNS cutover, and eventual CMS decommissioning, identifying inaccurate specifications, proprietary components, externally hosted assets, missing redirects, and unowned pipelines as common migration risks. It positions Fern as a Git-native platform for organizations that want generated API references and SDKs alongside documentation, while distinguishing it from CMS platforms with Git synchronization and general-purpose static documentation tools.
Aug 14, 2026
3,385 words in the original blog post.
Technical documentation remains accurate when teams distinguish between content that should be generated and content that requires human authorship, rather than maintaining all material manually as systems change. Using the Diátaxis framework, the guide separates documentation into tutorials, how-to guides, reference material, and explanations, arguing that API reference should be derived automatically from machine-readable specifications while conceptual guidance, procedures, and context should be written and reviewed by people. It recommends identifying specific audiences early, using templates for each content type, storing authored material in version-controlled Markdown or MDX, and enforcing style, specification, link, and code-sample checks through continuous integration. Effective procedural documentation emphasizes runnable examples, prerequisites, expected results, troubleshooting, and consistent terminology, while explanations add the practical judgment that API specifications cannot convey. The guide also notes that documentation increasingly serves AI coding agents through formats such as llms.txt, raw Markdown endpoints, MCP servers, and API catalogs. Fern is presented as a platform that generates API references, multilingual code samples, and AI-readable documentation from API definitions while supporting Git-based conceptual content, access controls, and audience-specific filtering.
Aug 07, 2026
2,723 words in the original blog post.
OpenAPI type declarations function as instructions for code generators as well as documentation, making schema precision central to the quality and safety of generated SDKs. The discussion explains that OpenAPI 3.0 uses a modified JSON Schema subset, while 3.1 adopts JSON Schema 2020-12 and replaces features such as `nullable` with explicit null types, adds `const`, and changes several constraint syntaxes. It emphasizes modeling known object properties, applying recognized formats to strings and numbers, avoiding JSON numeric `int64` identifiers in JavaScript clients, and distinguishing optional, nullable, and defaulted fields, particularly for PATCH operations. Enums provide native typed values but can make newly added server values breaking for older clients, while `oneOf` with a discriminator is presented as the most reliable approach for type-safe polymorphic SDK models; `anyOf` commonly produces loose types and `allOf` represents intersection-based composition. Validation constraints, request/response access controls, named reusable schemas, typed error responses, and careful money modeling can further improve generated clients. Fern is described as supporting OpenAPI 3.0 and 3.1, preserving discriminators, handling PATCH field states, and adding extensions for enum metadata and type naming, with the overall recommendation that API authors evaluate schemas by their generated developer experience rather than validator or linter compliance alone.
Aug 07, 2026
2,966 words in the original blog post.
Devin Logan describes how Fern uses Claude Skills to scale a one-person marketing content operation producing roughly 24,000 words monthly across case studies, launch posts, customer Slack changelogs, employee profiles, and engineering blog edits. Unlike Fern’s documentation, which relies on a shared AGENTS.md file for broadly applicable rules, marketing uses separate, format-specific skills because each content type has distinct audiences, structures, and goals. Logan found that pursuing perfectly publishable AI drafts created overly complex skills without eliminating the need for editorial work, and instead treats verbose but factually structured drafts as useful starting points that are easier to refine than sparse ones. Human editing remains essential for product knowledge, audience judgment, precision, and deciding whether to foreground a feature’s benefit or its technical detail, while each completed session informs updates to the relevant skill. The approach also distinguishes between tasks suited to AI-assisted drafting or feedback and personal writing that requires the author to develop an original argument independently, emphasizing that automation should support rather than replace editorial thinking.
Aug 06, 2026
2,685 words in the original blog post.