Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
6b9106e
chore(ci): update GitHub Actions to Node.js 24 compatible versions (#…
davidkonigsberg Apr 17, 2026
b290547
chore(deps): bump @fern-api/generator-cli to 0.9.10 for TypeScript an…
tstanmay13 Apr 17, 2026
8574d5a
chore(python): release 5.5.1
github-actions[bot] Apr 17, 2026
0dacbba
chore(typescript): release 3.64.1
github-actions[bot] Apr 17, 2026
458402d
fix(cli): ignore stale slug history in missing redirects check (#15114)
kafkas Apr 17, 2026
ed64a2c
chore(cli): release 4.76.2
github-actions[bot] Apr 17, 2026
cea5748
feat(cli): add `fern replay` commands to CLI v2 (#15081)
iamnamananand996 Apr 17, 2026
6eb499d
chore(cli): release 4.77.0
github-actions[bot] Apr 17, 2026
5415b0c
fix(ruby): synthesize default values for missing required properties …
iamnamananand996 Apr 17, 2026
b4a5cdb
chore(ruby-v2): release 1.4.3
github-actions[bot] Apr 17, 2026
99639c9
chore(internal): upgrade vitest to 4.1.4 (#15124)
Swimburger Apr 17, 2026
23ada90
feat(cli): add privacy-preserving traceability to generation metadata…
Swimburger Apr 17, 2026
c792a68
chore(cli): release 4.78.0
github-actions[bot] Apr 17, 2026
a8a9fcb
chore(python): update python-sdk seed (#15127)
fern-support Apr 17, 2026
039c4d8
chore(php): update php-sdk seed (#15129)
fern-support Apr 17, 2026
1257301
chore(typescript): update ts-sdk seed (#15128)
fern-support Apr 17, 2026
58a2912
chore(ruby): update ruby-sdk-v2 seed (#15130)
fern-support Apr 17, 2026
24177b7
chore(swift): update swift-sdk seed (#15131)
fern-support Apr 17, 2026
4546180
chore(csharp): update csharp-sdk seed (#15132)
fern-support Apr 17, 2026
1c34921
chore(go): update go-sdk seed (#15135)
fern-support Apr 17, 2026
0434f70
chore(rust): update rust-sdk seed (#15134)
fern-support Apr 17, 2026
9ecd748
chore(java): update java-sdk seed (#15133)
fern-support Apr 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/actions/cached-seed/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ runs:
- name: Log in to Docker Hub
id: docker-login
if: ${{ inputs.dockerhub-username != '' }}
uses: docker/login-action@v3
uses: docker/login-action@v4
continue-on-error: true
with:
username: ${{ inputs.dockerhub-username }}
Expand All @@ -47,7 +47,7 @@ runs:
- name: Retry Docker Hub login
id: docker-login-retry
if: ${{ inputs.dockerhub-username != '' && steps.docker-login.outcome == 'failure' }}
uses: docker/login-action@v3
uses: docker/login-action@v4
continue-on-error: true
with:
username: ${{ inputs.dockerhub-username }}
Expand All @@ -71,7 +71,7 @@ runs:

- name: Cache Docker images
id: docker-cache
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: /tmp/docker-cache
key: ${{ runner.os }}-docker-${{ inputs.generator-name }}-${{ hashFiles('**/Dockerfile*') }}
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/benchmark-baseline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
uses: ./.github/actions/fetch-benchmark-specs

- name: Upload specs as shared artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: benchmark-specs
path: benchmarks/fern/apis/*/openapi.json
Expand All @@ -63,7 +63,7 @@ jobs:
uses: ./.github/actions/install

- name: Download shared specs
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: benchmark-specs
path: benchmarks/fern/apis
Expand All @@ -75,7 +75,7 @@ jobs:
skip-scripts: "true"

- name: Upload baseline results
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: benchmark-baseline-${{ matrix.generator }}
path: benchmark-results/
Expand All @@ -102,7 +102,7 @@ jobs:
uses: ./.github/actions/install

- name: Download shared specs
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: benchmark-specs
path: benchmarks/fern/apis
Expand All @@ -113,7 +113,7 @@ jobs:
generator: ${{ matrix.generator }}

- name: Upload E2E results
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: benchmark-e2e-${{ matrix.generator }}
path: benchmark-results/
Expand All @@ -134,7 +134,7 @@ jobs:
uses: ./.github/actions/install

- name: Download shared specs
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: benchmark-specs
path: benchmarks/fern/apis
Expand All @@ -145,7 +145,7 @@ jobs:
fern-token: ${{ secrets.FERN_FERN_TOKEN }}

- name: Upload docs baseline results
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: benchmark-docs-baseline
path: benchmark-results/
Expand All @@ -163,21 +163,21 @@ jobs:
permissions: {}
steps:
- name: Download generator-only baseline artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: benchmark-baseline-*
path: baseline-results
merge-multiple: true

- name: Download E2E baseline artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: benchmark-e2e-*
path: e2e-results
merge-multiple: true

- name: Download docs baseline artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: benchmark-docs-baseline
path: docs-results
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/ci-dynamic-snippets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down Expand Up @@ -130,7 +130,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down Expand Up @@ -162,7 +162,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down Expand Up @@ -194,7 +194,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down Expand Up @@ -226,7 +226,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down Expand Up @@ -258,7 +258,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down Expand Up @@ -181,7 +181,7 @@ jobs:

- name: Log in to Docker Hub
if: ${{ env.DOCKERHUB_USERNAME != '' }}
uses: docker/login-action@v3
uses: docker/login-action@v4
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USERNAME_PUBLIC_READONLY }}
with:
Expand All @@ -193,7 +193,7 @@ jobs:

- name: Cache Docker images
id: docker-cache
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: /tmp/docker-cache
key: ${{ runner.os }}-docker-ete-${{ hashFiles('**/Dockerfile*') }}
Expand All @@ -210,7 +210,7 @@ jobs:
run: docker images -q | sort -u > /tmp/docker-images-before.txt

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cli-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:

- name: Create Release
id: create_release
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
if: steps.get_version.outputs.HAS_NEW_VERSION == 'true'
with:
token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-snippets-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-software.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
token: ${{ secrets.ACTIONS_PAT }}
ref: main
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/seed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -872,7 +872,7 @@ jobs:
uses: ./.github/actions/fetch-benchmark-specs

- name: Upload specs as shared artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: benchmark-specs
path: benchmarks/fern/apis/*/openapi.json
Expand Down Expand Up @@ -901,7 +901,7 @@ jobs:

- name: Log in to Docker Hub
if: ${{ env.DOCKERHUB_USERNAME != '' }}
uses: docker/login-action@v3
uses: docker/login-action@v4
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USERNAME_PUBLIC_READONLY }}
with:
Expand All @@ -913,7 +913,7 @@ jobs:

- name: Cache Docker images
id: docker-cache
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: /tmp/docker-cache
key: ${{ runner.os }}-docker-${{ matrix.generator }}-${{ hashFiles('**/Dockerfile*') }}
Expand All @@ -930,7 +930,7 @@ jobs:
run: docker images -q | sort -u > /tmp/docker-images-before.txt

- name: Download shared specs
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: benchmark-specs
path: benchmarks/fern/apis
Expand All @@ -957,7 +957,7 @@ jobs:
done

- name: Upload PR results
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: benchmark-pr-${{ matrix.generator }}
path: benchmark-results/
Expand All @@ -983,7 +983,7 @@ jobs:
sparse-checkout: .github/scripts

- name: Download all PR benchmark artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: benchmark-pr-*
path: benchmark-pr-results
Expand Down Expand Up @@ -1182,7 +1182,7 @@ jobs:
uses: ./.github/actions/install

- name: Download shared specs
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: benchmark-specs
path: benchmarks/fern/apis
Expand All @@ -1193,7 +1193,7 @@ jobs:
fern-token: ${{ secrets.FERN_FERN_TOKEN }}

- name: Upload PR docs benchmark results
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: benchmark-pr-docs
path: benchmark-results/
Expand All @@ -1219,7 +1219,7 @@ jobs:
sparse-checkout: .github/scripts

- name: Download PR docs benchmark artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
pattern: benchmark-pr-docs
path: docs-pr-results
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-definitions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
uses: ./.github/actions/install

- name: Cache Fern bin dependencies
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.fern/bin
key: ${{ runner.os }}-fern-bin-${{ hashFiles('packages/cli/workspace/lazy-fern-workspace/src/protobuf/BufDownloader.ts', 'packages/cli/workspace/lazy-fern-workspace/src/protobuf/ProtocGenOpenAPIDownloader.ts') }}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- summary: |
Bump @fern-api/generator-cli to 0.9.10 which upgrades @fern-api/replay to 0.11.0
and only pushes the fern-generation-base tag when replay has unresolved conflicts.
type: chore
8 changes: 8 additions & 0 deletions generators/python/sdk/versions.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
# yaml-language-server: $schema=../../../fern-versions-yml.schema.json
- version: 5.5.1
changelogEntry:
- summary: |
Bump @fern-api/generator-cli to 0.9.10 which upgrades @fern-api/replay to 0.11.0
and only pushes the fern-generation-base tag when replay has unresolved conflicts.
type: chore
createdAt: "2026-04-17"
irVersion: 66
- version: 5.5.0
changelogEntry:
- summary: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -632,10 +632,11 @@ export class EndpointSnippetGenerator {
snippet: FernIr.dynamic.EndpointSnippetRequest;
}): ruby.KeywordArgument[] {
const args: ruby.KeywordArgument[] = [];
const record = this.context.getRecord(snippet.requestBody) ?? {};

const bodyProperties = this.context.associateByWireValue({
parameters: request.value,
values: this.context.getRecord(snippet.requestBody) ?? {}
values: record
});
for (const parameter of bodyProperties) {
const value = this.context.dynamicTypeLiteralMapper.convert(parameter);
Expand All @@ -650,6 +651,7 @@ export class EndpointSnippetGenerator {
})
);
}

return args;
}

Expand Down Expand Up @@ -880,6 +882,7 @@ export class EndpointSnippetGenerator {
}
}
}

break;
}
case "alias":
Expand Down
Loading
Loading