1.11.1

(fix): Strip trailing whitespace from generated comment lines so spec-controlled docstrings no longer trip Layout/TrailingWhitespace after the rubocop -A autocorrect pass was removed in #15202. Caught on the Square nightly baseline benchmark.

1.11.0

(feat): Add retryStatusCodes configuration option ("legacy" | "recommended"). Legacy (default) preserves existing behavior (408, 429, 500, 502, 503, 504, 521, 522, 524). Recommended retries only transient codes (408, 429, 502, 503, 504), excluding 500 Internal Server Error to avoid retrying non-idempotent failures.

1.10.0

(fix): Fix Ruby string interpolation injection vulnerability in TypeLiteral string emitter. Untrusted API spec default values containing #{} are now properly escaped in generated double-quoted Ruby strings.

(feat): Generate fully rubocop-compliant code at emitter level, eliminating all remaining rubocop offenses in generated output so rubocop -A is no longer needed at generation time. Covers Style/IfUnlessModifier (modifier-form detection added to ruby.IfElse AST), Style/RedundantInterpolation (bare .to_s for single-interpolation URL paths and header values), Lint/DuplicateHashKey (dedupe by key in TypeLiteral hash emit and by name in dynamic-snippet keyword arguments), and Layout/FirstHashElementIndentation / Layout/FirstArgumentIndentation (EnforcedStyle: consistent + correct wire-test pagination continuation indent). Rubocop runs as a CI regression gate (check-only, no -A).


1.9.0

(feat): 在生成的 Ruby SDK 中支持 x-fern-default 作为参数的回退值。当头部、查询参数或路径参数在 IR 中有 clientDefault 值时,生成的 Ruby SDK 使该参数可选,并自动应用默认值。


1.8.0

(feat): 在通过认证方案的 placeholder 字段配置时,在 README 代码片段中使用认证方案占位符值。


1.7.1

(chore): 将 @fern-api/generator-cli 升级到 0.9.11。GitHub 流水线步骤现在通过 GitHub REST API 创建签名提交(匹配 fiddle 的传统 InMemoryGitRepo 推送路径),在启用重放的组织上恢复经过验证的 fern-api[bot] 提交。

1.7.0

(feat): 添加 offsetSemantics 配置选项。当设置为 "page-index" 时,偏移分页每页递增 1,而不是按返回的项目数量递增("item-index",默认值)。

1.6.3

(chore): 将 Ruby SDK 生成器发布到 Docker Hub 的 fernapi/fern-ruby-sdkfernapi/fern-ruby-sdk-v2 镜像仍作为别名推送以保持向后兼容性。

1.6.2

(fix): 修复具有多值数组查询参数的端点的线路测试验证。

1.6.1

(chore): 通过 Sentry 向生成器运行时添加崩溃报告,并使用新的共享 GeneratorError 分类对抛出的错误进行分类,以便用户面向的失败(配置、验证、认证、网络、环境)与内部 Fern 错误保持分离——只有后者被转发到 Sentry。生成的输出没有变化。


1.6.0

(feat): 在分页迭代器上暴露 HTTP 响应元数据(状态码、头部和原始 HTTP 响应)。CursorPageIteratorOffsetPageIteratorCustomPagerItemIterator 现在暴露 status_codeheadershttp_response 方法,返回最近一次页面加载的元数据。

1.5.0

(feat): 通过直接生成符合 rubocop 的代码来提高 Ruby SDK 生成性能。在大型真实 OAS 上生成器时间减少约 49%(122秒 → 62秒),通过修复顶级 rubocop 违规类别,使 rubocop -A 几乎不需要自动纠正。



1.4.3

(fix): 修复 Ruby 动态代码片段生成,为示例中缺失的必需属性合成默认值。以前,空对象和数组被渲染为 {}[{}];现在必需字段填充为合理的占位符值,与 Python 生成器的行为一致。


1.4.2

(chore): 将 @fern-api/generator-cli 升级到 0.9.8。生成的 PR 中的 Changelog URL 现在使用提交 SHA 而不是 PR 分支名称,在分支被删除或压缩合并后保持链接有效。


1.4.1

(chore): 在生成的 .rubocop.yml 配置中为 Naming/VariableNumber 添加 Severity。客户 SDK 默认为 warning。可通过 rubocopSeverity 自定义配置进行配置。


1.2.1

(fix): 修复 rubocop 在本地模式下无法运行的问题,在 bundle exec rubocop -A 之前运行 bundle install,并清除冲突的 nix/devbox Ruby 环境变量。以前,rubocop 在依赖安装之前运行,依赖系统级别的 rubocop,在 Docker 外部可能损坏或缺失。