4.83.0
(internal): Harden Sentry reporting for the legacy CLI:
- Opt in to the
onUncaughtException,onUnhandledRejection,linkedErrors, andnodeContextintegrations so errors that escape the top-level handler (fire-and-forget callbacks, unhandled rejections, wrapped.causechains) still reach Sentry with full context. - Attach stack traces even for non-Error throws, and disable client reports and performance sampling since the CLI doesn’t emit transactions.
- Drop the
UNCLASSIFIEDerror code now that every CLI package has been migrated to the typedCliErrorsystem. Unknown errors now fall back toINTERNAL_ERRORand are reported to Sentry, closing the last gap where uncategorized failures went unobserved.
4.82.0
(feat): Forward the CLI’s telemetry setting to local generator containers. When the CLI
has telemetry disabled (via FERN_DISABLE_TELEMETRY, FERN_TELEMETRY_DISABLED, or
fern telemetry disable), fern generate --local now sets
FERN_DISABLE_TELEMETRY=true inside the generator container so the generator
runtime’s Sentry client is disabled too. Remote generation is unaffected.
4.81.1
(fix): Thread the --version flag through to the Go SDK when using
output.location: local-file-system. The CLI now populates a Go publish
target on the IR’s filesystem publishing config when the user explicitly
passes --version, so the Go generator can stamp the generated SDK with
the requested version. No version is populated when --version is not
provided.
4.81.0
(feat): fern automations generate now fans out across every eligible generator when targeting
flags are omitted. It continues past per-generator failures, auto-writes a markdown
summary to $GITHUB_STEP_SUMMARY when running in GitHub Actions, and optionally emits
a CI-neutral JSON summary via --json-file-output <path>. Generators with
automations.generate: false are silently skipped during fan-out; explicit targeting
of an opted-out generator is now rejected with a clear error. Exit code is non-zero
if any generator fails.
(chore): fern generate and fern automations generate now render generation progress as a nested
hierarchy of API → group → generator tasks in the terminal, so fan-out runs are easier to
follow when multiple APIs, groups, and generators are running at once. Behavior is unchanged;
only the live task display is different.
4.80.4
(fix): Fix “Expected list. Received null.” error when importing OpenAPI specs with null security scopes.
Some real-world specs use {oauth2: null} instead of {oauth2: []} in security requirement
objects. The OpenAPI importers now sanitize null scope values to empty arrays.
4.80.3
(fix): Thread the explicit --version flag through to the TypeScript SDK when
generating locally with output.location: local-file-system. Previously,
running fern generate --group <ts-group> --version <x.y.z> --local would
silently drop the version and emit a package.json without a version
field. The CLI now populates PublishingConfig.filesystem.publishTarget
with an npm target (carrying the user-provided version and the
config.packageJson.name) so the generator can produce the correct
package.json and X-Fern-SDK-Version header. Only --version that was
explicitly passed is threaded through; auto-computed versions are not, to
avoid behavior changes for users who manage package.json themselves.
4.80.2
(chore): Remove the hidden fern automations list generate command.
4.80.1
(fix): Display descriptions for discriminated and undiscriminated union variants.
4.80.0
(feat): Add fern automations preview command that discovers previewable generator
groups and runs SDK preview for each one, aggregating results. Replaces the
previous fern automations list preview listing-only command with a single
command that handles both discovery and execution. Designed for consumption
by the fern-preview GitHub Action.