4.15.0
(feat): Add C++ library documentation generation. Users can now configure
lang: cpp libraries in docs.yml with an optional Doxyfile path,
and fern docs md generate will produce structured MDX pages for
classes, structs, functions, enums, typedefs, and variables with
template parameters, method overload tabs, and hierarchical
namespace navigation.
4.14.0
(feat): Merge behavioral analysis into the unified AnalyzeSdkDiff prompt. The
AI now classifies both public API surface changes AND behavioral changes
(HTTP status handling, default parameter values, serialization behavior,
retry/backoff configuration) in a single call — producing the version
bump, commit message, and changelog entry in one pass. This replaces the
previous two-call approach where a separate Tier 3 analysis ran after
Tier 2 returned PATCH.
4.13.0
(feat): Include the last 3 prior changelog entries from the SDK’s CHANGELOG.md
in the AI prompt for AUTO versioning. This gives the AI context on the
SDK’s versioning cadence and commit message style, producing more
consistent and appropriately-toned commit messages. The changelog is
read case-insensitively, capped at 2 KB, and gracefully skipped if
the file is missing or unreadable.
4.12.0
(feat): Pass the API spec repo commit message to the AI prompt during AUTO
versioning. When fern generate runs, the CLI now reads the most recent
git commit message that touched the .fern/ directory and includes it
in the AnalyzeSdkDiff prompt as spec_commit_message. This gives the
AI ground-truth context about why the API changed, producing more
accurate version bumps and commit messages. Merge commits, empty
messages, and messages shorter than 5 characters are filtered out.
Messages longer than 500 characters are truncated.
4.11.0
(feat): Add language-specific breaking change rules to the AnalyzeSdkDiff BAML
prompt. The prompt now uses Jinja conditionals to include only the rules
for the SDK language being analyzed (typescript, python, java, go, ruby,
csharp, php, swift, rust, kotlin), keeping the prompt focused and
improving version bump accuracy. A new extractLanguageFromGeneratorName
utility maps generator names (e.g. fernapi/fern-typescript-node-sdk)
to normalized language identifiers as a fallback when
generatorInvocation.language is not set.
4.10.0
(feat): Separate commit message from changelog entry during AUTO versioning.
The AI now produces a developer-facing git commit message and a separate
user-facing changelog entry for CHANGELOG.md and GitHub Releases. PATCH
changes produce an empty changelog entry. MINOR/MAJOR changes produce
user-facing prose describing the impact on SDK consumers. The PR body
uses the changelog entry when available, falling back to the commit
message body when absent.