4.94.3
(chore): Polish the fern automations generate step-summary heading and the
generators.yml deep-link lookup.
- The failure heading now excludes skipped generators from the
denominator. A run of 4 succeeded, 2 failed, 4 skipped previously read
❌ SDK generation failed (4/10 succeeded)— implying 6 failures. It now reads❌ SDK generation failed (4/6 succeeded, 4 skipped). - Added a distinct
⏭️ SDK generation skippedheading for runs where every generator was skipped. Previously these printed the cheerful✅ SDK generation succeededheading despite nothing having run. - Tightened the
generators.ymlline-number regex to only match- name: <slug>list-item entries. Nestedname:keys (e.g. insidepublishInfo) and free-form values (e.g. a reviewer’s full name) no longer collide with generator lookups. Trailing YAML comments on thename:line are tolerated. - Added an
assertNeverexhaustiveness check on the generator-status switch so a future status variant fails at compile time instead of silently miscounting.
(chore): Re-publish CLI after the 4.94.2 production publish failed in CI. The dev
version had already been published in an earlier job, so the prod job’s
dev re-publish step errored out and prevented the prod publish from
running.
4.94.2
(fix): Fix Python dynamic snippet generation to respect the use_typeddict_requests
configuration option. When enabled, dynamic snippets now generate dict literals
instead of Pydantic model constructors for object and discriminated union types.
4.94.1
(fix): Fix global theme asset downloads preserving original filenames and extensions.
Previously, assets downloaded from S3 CAS URLs (whose pathname is a raw content
hash) were saved without a file extension, breaking downstream MIME type detection.
The CLI now reads the filename from the presigned URL’s response-content-disposition
query parameter, falling back to the Content-Disposition response header, then
Content-Type, so files land on disk with their correct names (e.g. logo.svg).
4.94.0
(feat): Add consumer-side support for the global-theme key in docs.yml. When a docs site
declares global-theme: <name>, the CLI fetches the named theme from Fern’s cloud
registry and merges it into the docs configuration before building (theme values win
for branding fields). Works with fern generate --docs, fern generate --docs --preview,
and fern docs dev (dev mode requires FERN_TOKEN to be set).
4.93.0
(feat): Expose claude-code under page-actions in docs.yml so docs sites can toggle the
“Connect to Claude Code” button (e.g. page-actions.options.claude-code: false or
page-actions.default: claude-code).
4.92.0
(feat): fern automations generate now writes a richer GitHub Actions step
summary. The summary is an HTML table grouped by API and generator group
(with rowspan cells), a heading that shows the succeeded/total count on
failure, a duration column, and a links column with the PR, SDK repo, and
generators.yml entry (the latter deep-linked to the exact line when running
under GitHub Actions). Generators excluded from automation now surface as
explicit skipped rows with reasons (Skipped - local output, Skipped - opted out), replacing the silent drop.