Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .github/workflows/sync-cli-sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ jobs:
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8
with:
token: ${{ secrets.FERN_SUPPORT_GH_ACTIONS_PAT }}
# Scope staging to the synced path only. Without this the action runs
# `git add -A` across the whole tree and captures the transient
# `_cli-sdk` clone as a submodule gitlink (mode 160000).
add-paths: generators/cli/sdk/
commit-message: "chore(cli-generator): sync cli-sdk@${{ steps.provenance.outputs.short }}"
title: "chore(cli-generator): sync cli-sdk@${{ steps.provenance.outputs.short }}"
body: |
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,7 @@ seed/**/Library/Caches/

# Devbox gradle properties
/gradle.properties

# Transient cli-sdk checkout used by .github/workflows/sync-cli-sdk.yml.
# It is a nested git clone; never let `git add -A` capture it as a gitlink.
/_cli-sdk/
2 changes: 2 additions & 0 deletions generators/cli/changes/0.6.0/strip-fixture-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- summary: Strip fixture-dependent inline tests from vendored cli-sdk so `cargo test` passes in both the SDK and generated CLIs
type: fix
57 changes: 57 additions & 0 deletions generators/cli/changes/0.6.0/sync-cli-sdk-9c1f38f.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# yaml-language-server: $schema=../../../../fern-changes-yml.schema.json
# Entries below describe the user-facing changes pulled into generated CLIs by
# syncing the vendored fern-cli-sdk to cli-sdk@9c1f38f. Each maps to an upstream
# fern-api/cli-sdk PR.

- summary: |
Generated CLIs now serialize OpenAPI query parameters according to their
declared `style`/`explode` (form, spaceDelimited, pipeDelimited, deepObject).
(cli-sdk #144, FER-10569)
type: feat

- summary: |
Generated CLIs now serialize OpenAPI header parameters using the `simple`
style. (cli-sdk #137, FER-10569)
type: feat

- summary: |
Generated CLIs now serialize OpenAPI path parameters using the `simple`,
`label`, and `matrix` styles. (cli-sdk #138, FER-10569)
type: feat

- summary: |
Generated CLIs support `multipart/form-data` request bodies, exposing each
part as its own flag. (cli-sdk #88, FER-10569)
type: feat

- summary: |
`multipart/form-data` request bodies accept `--file` parts, so file-upload
endpoints can stream a file from disk. (cli-sdk #145, FER-10569)
type: feat

- summary: |
HTTP requests now retry on transient failures with exponential backoff and
automatically attach an `Idempotency-Key` header to retried mutations.
(cli-sdk #86, FER-10521)
type: feat

- summary: |
OpenAPI parameter names are sanitized into valid, readable CLI flags instead
of being passed through verbatim. (cli-sdk #87, FER-10430)
type: feat

- summary: |
Auth error messages now name the specific environment variable the CLI
expected, making missing-credential failures easier to diagnose.
(cli-sdk #81, FER-10702)
type: feat

- summary: |
Auth schemes support multiple headers, enabling APIs that require more than
one credential header (e.g. Sandboxes). (cli-sdk #116)
type: feat

- summary: |
Nullable scalar request-body flags emit a null sentinel, letting users
distinguish an explicit `null` from an omitted value. (cli-sdk 8234544)
type: feat
1 change: 1 addition & 0 deletions generators/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"devDependencies": {
"@fern-api/base-generator": "workspace:*",
"@fern-api/configs": "workspace:*",
"@fern-api/core-utils": "workspace:*",
"@fern-api/fs-utils": "workspace:*",
"@fern-fern/ir-sdk": "67.0.0",
"@types/node": "catalog:",
Expand Down
Loading
Loading