3.98.0
(feat): Infer streaming from text/event-stream MIME type in OpenAPI specs. Endpoints
that return text/event-stream content are now automatically treated as SSE
streaming endpoints without requiring the x-fern-streaming extension.
3.96.0
(feat): Allow underscores in x-fern-sdk-group-name values. Previously, leading
underscores (e.g. _internal) were stripped by lodash’s camelCase,
making it impossible to use underscore-prefixed group names for marking
private/internal modules. Both the OpenAPI-to-Fern file name conversion
and the IR casings generator now preserve leading and trailing underscores.
3.95.6
(fix): Disable commit signing and skip hooks for remaining internal throwaway
git commits (PersistedTypescriptProject, replay-init) to avoid
triggering prompts (e.g. Touch ID on macOS, 1Password SSH agent).
3.95.5
(fix): Optimize throwaway git operations in LocalTaskHandler to avoid triggering
commit signing prompts (e.g. Touch ID on macOS). Internal git commits used
for .fernignore resolution now disable GPG/SSH signing, skip hooks, and
inline user config to reduce spawned git processes.
3.95.4
(fix): Improve YAML parsing error message when scoped npm package names (e.g.
@scope/package) are used without quotes in generators.yml. The @
character is a reserved YAML anchor symbol, so unquoted values like
package-name: @fixa-dev/server produce a confusing “bad indentation”
error. The CLI now detects this pattern and shows a hint suggesting the
value be wrapped in double quotes.
3.95.3
(chore): Revert AI example enhancement to use fdr-lambda-docs endpoint instead of the new registry.
3.95.2
(fix): Exclude .fern/metadata.json from the git diff used for AUTO version analysis.
Previously, changes to .fern/metadata.json (which includes cliVersion)
were counted as meaningful SDK changes, causing CLI-only version bumps to
trigger unnecessary SDK releases. The diff now uses
:(exclude).fern/metadata.json so that metadata-only changes result in an
empty diff and generation is skipped.
3.95.1
(fix): Make operationId optional for webhooks in OpenAPI 3.1 specs. When a webhook
does not specify an operationId, the webhook key name is used as the fallback
identifier instead of skipping the webhook entirely.