4.83.0

(internal): Harden Sentry reporting for the legacy CLI:

  • Opt in to the onUncaughtException, onUnhandledRejection, linkedErrors, and nodeContext integrations so errors that escape the top-level handler (fire-and-forget callbacks, unhandled rejections, wrapped .cause chains) 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 UNCLASSIFIED error code now that every CLI package has been migrated to the typed CliError system. Unknown errors now fall back to INTERNAL_ERROR and 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.