[pull] main from fern-api:main#641
Merged
Merged
Conversation
Co-authored-by: Ryan-Amirthan <105958906+Ryan-Amirthan@users.noreply.github.com>
* [Dependabot Alert #1412] Scaffold PR for basic-ftp * fix(deps): update basic-ftp to 5.2.1 to fix CRLF injection vulnerability (GHSA-chqc-8p9q-pq6q) Co-Authored-By: unknown <> * fix(deps): remove unnecessary override, regenerate lockfile to resolve basic-ftp 5.2.1 directly Co-Authored-By: unknown <> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* fix(go): add v1.34.0-rc.1 to trigger dynamic snippet package publish * fix(go): bump version to 1.34.1 for dynamic snippet package publish * fix(go): consolidate version entries - rename 1.33.5 to 1.34.1 and remove redundant entries
…tead of true/false (#14789) * Add boolean path parameter endpoint to exhaustive test fixture Co-Authored-By: judah <jsklan.development@gmail.com> * Fix boolean path params: add encode_path_param utility and update generator Co-Authored-By: judah <jsklan.development@gmail.com> * Update IR snapshot files for exhaustive fixture Co-Authored-By: judah <jsklan.development@gmail.com> * Fix websocket path parameters to also use encode_path_param Co-Authored-By: judah <jsklan.development@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
…ression (#14816) The runtime import of FernGeneratorExec.OutputMode.github() pulled in the entire @fern-fern/generator-exec-sdk including form-data which does require('fs'), breaking ESM/browser environments. This replaces the factory call with a plain object literal and reverts to a type-only import.
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
* release 4.64.0 * snaps * snaps 2 * snaps 3 * factor in x-fern-default
Add aliases to seed CLI options that were missing them, making interactive usage faster. Compound params use initials matching word count (e.g. --skip-scripts → -ss, --base-ref → -br, --fern-repo-directory → -frd). Co-authored-by: jsklan <jsklan.development@gmail.com>
release 5.3.6
… server JSON, and dynamic snippets (#14776) * fix(csharp): recursively construct default objects for required nested object properties Extend getDefaultLiteralForType() to handle named object types by recursively constructing default initializers with circular reference protection via visited-types set. Add exhaustive fixture test case for ObjectWithRequiredNestedObject. Also includes previous fixes: - Fill defaults for required properties in dynamic snippets, mock server JSON, and object initializers - Use DateTimeKind.Utc for default DateTime values - Add ObjectWithMixedRequiredAndOptionalFields test case Co-Authored-By: bot_apk <apk@cognition.ai> * chore: update test snapshots --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: bot_apk <apk@cognition.ai> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
Co-authored-by: jsklan <100491078+jsklan@users.noreply.github.com>
expose pagination metadata release 2.59.0
* feat(cli): add --output flag to fern sdk preview for CI SDK diffs The --output flag allows CI actions to write generated SDK files to disk in addition to publishing to the preview registry, enabling SDK diff workflows in a single Docker run. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * test(cli): add unit tests for getGithubRepository helper Extracts getGithubRepository into its own module for independent testability and adds tests covering push, pull-request, commit-and-release, self-hosted, and missing config cases. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): address review feedback on sdk preview --output flag - Remove unsafe `as` cast in getGithubRepository; `in` narrowing suffices - Report actual generator subdirectory in output_path (not just parent) - Validate/create output directory before generation starts - Document isPreview side effects (empty env var substitution, skip version check) - Add versions.yml entry for 4.63.0 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): extract shared subfolder logic and use async fs.mkdir - Extract getGeneratorOutputSubfolder() into local-workspace-runner so sdkPreview.ts and resolveAbsolutePathToLocalPreview share the same subfolder derivation logic - Switch from fs.mkdirSync to await fs.promises.mkdir for consistency Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): address review feedback on sdk preview --output flag - Add typeof string guard to getGithubRepository (rejects non-string values) - Inline subfolder logic instead of cross-package import from local-workspace-runner - Use resolve/cwd from @fern-api/fs-utils instead of path.resolve for consistency - Update --output help text to mention preview-mode side effects - Add test for non-string repository value Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): use shared getGeneratorOutputSubfolder instead of inlining Single source of truth for subfolder logic — import the already-exported function from local-workspace-runner rather than duplicating it. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): remove dead ternary in resolveAbsolutePathToLocalPreview The early return already handles the null case, so the ternary's undefined branch was unreachable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): simplify --output description and use typed path join - Remove implementation details from --output help text - Use join/RelativeFilePath.of instead of path.join for consistency - Remove unused path import Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): remove sdk_repo from preview JSON output The action already gets sdkRepo from detect-groups.ts which reads generators.yml directly. Eliminates getGithubRepository.ts and its tests — less code in the CLI for the same behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): add missing irVersion/createdAt and remove unused import Fix changelog validation by adding missing irVersion and createdAt to the 4.63.0 versions.yml entry (lost during rebase conflict resolution). Remove unused generatorsYml import flagged by biome. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * test(cli): add unit tests for getGeneratorOutputSubfolder Extract getGeneratorOutputSubfolder into its own module to enable lightweight unit testing without pulling in the full workspace runner dependency tree. Fix edge case where trailing slash produced empty subfolder name (use || instead of ?? to catch empty string). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): move getGeneratorOutputSubfolder export to index.ts Move the re-export from runLocalGenerationForWorkspace.ts to index.ts where it's more discoverable. The import stays at the top of runLocalGenerationForWorkspace.ts for internal use. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): make --output skip registry publish and always write to disk Default `fern sdk preview` now publishes to the preview registry AND writes generated SDK files to a temp directory (for CI diff workflows). When --output is provided, it writes only to the specified directory without publishing (disk-only mode for power users). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(cli): make --output accept multiple targets (paths and registry URLs) --output now accepts multiple values, each classified as a filesystem path or a registry URL: - No --output: temp dir + default preview registry - --output ./path: disk-only, no publish - --output https://reg: temp dir + publish to that registry - --output ./path --output https://reg: disk + publish to registry This enables future GHA flows to publish to customer registries. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): skip disk output when --output has only registry URLs When --output contains only URLs (no paths), don't create a temp directory — just publish to the registry. Disk output only happens when a path is explicitly provided or when no --output is given (default temp dir for GHA diffs). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): warn on multiple paths/URLs and update changelog entry - Warn when multiple output paths or registry URLs are provided (only the first of each type is used) - Add comment on isRegistryUrl heuristic - Update versions.yml changelog to reflect multi-target semantics Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): document temp dir lifecycle and subfolder coupling - Note that the temp dir is OS-managed and intentionally not cleaned up (the JSON consumer reads from it after the function returns) - Note the subfolder logic coupling with resolveAbsolutePathToLocalPreview Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(cli): trim unnecessary comment about runner refactor Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Barry <barry@Barrys-MacBook-Pro.local> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…ignature verification (#14280) * feat(typescript): support alphabetical body param sorting in webhook signature verification * fix: add local type extension for bodySort not yet in published @fern-fern/ir-sdk * fix: change changelog type from feat to fix in versions.yml * fix: remove customer name references from source code * fix: remove bodySort type workaround, use @fern-fern/ir-sdk@65.6.0 directly * fix: update @fern-fern/ir-sdk to ^65.6.0 across all TypeScript generator packages * fix: add dateTimeRfc2822 case to PrimitiveTypeV1 visitors * style: fix biome formatting on package.json files after pnpm update * fix: add datetimeRfc2822 case to ExamplePrimitive visitors in GeneratedTypeReferenceExampleImpl * fix: add forwardCompatible to EnumTypeDeclaration test data for IR SDK 65.6.0 * fix: update TypeScript generators for IR SDK 65.6.0 compatibility - Add dateTimeRfc2822 visitor case to PrimitiveTypeV2 and ExamplePrimitive visitors - Add DATE_TIME_RFC_2822 switch case to primitiveTypeNeedsStringify and typeNeedsStringify - Add forwardCompatible to EnumTypeDeclaration test data - Add bodySort to WebhookPayloadFormat test data * style: fix biome formatting in TypeSchemaGenerator.test.ts * fix: remove duplicate datetimeRfc2822 entries from merge in GeneratedTypeReferenceExampleImpl.ts
Co-authored-by: iamnamananand996 <31537362+iamnamananand996@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )