From d968333f5276ac303ab4e19401bc545ef0cbb961 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 10 Nov 2025 05:09:30 +0000 Subject: [PATCH 1/3] docs: add collapse-optional-nullable flag to Java SDK configuration Add documentation for the collapse-optional-nullable configuration flag that enables OptionalNullable types for PATCH requests. This flag allows distinguishing between absent, null, and present field states for proper JSON Merge Patch semantics. Co-Authored-By: tanmay.singh@buildwithfern.com --- fern/products/sdks/overview/java/configuration.mdx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fern/products/sdks/overview/java/configuration.mdx b/fern/products/sdks/overview/java/configuration.mdx index 5afea6078..b9a8eec1e 100644 --- a/fern/products/sdks/overview/java/configuration.mdx +++ b/fern/products/sdks/overview/java/configuration.mdx @@ -27,6 +27,10 @@ Specifies the name of the base exception class that all generated exceptions wil The provided string will be used as the client class name. + +When enabled, generates `OptionalNullable` types for PATCH request fields to distinguish between three states: absent (field not provided), null (field explicitly set to null), and present (field has a non-null value). This enables proper handling of JSON Merge Patch semantics where omitting a field, setting it to null, and providing a value have different meanings. + + @@ -140,4 +144,4 @@ Provides a description of the SDK package that will appear in package metadata a Sets the reference URL (typically the API documentation or project website) that will be included in the package metadata for users to find additional information. - \ No newline at end of file + From 6bca203342a0b8686b910b7c5c9376ba2fdbec2f Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 10 Nov 2025 05:11:45 +0000 Subject: [PATCH 2/3] style: add PATCH to Vale acronyms exceptions Add PATCH to the list of allowed acronyms in FernStyles/Acronyms.yml to match other HTTP methods (GET, POST, PUT) and resolve Vale suggestion. Co-Authored-By: tanmay.singh@buildwithfern.com --- .vale/styles/FernStyles/Acronyms.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.vale/styles/FernStyles/Acronyms.yml b/.vale/styles/FernStyles/Acronyms.yml index 04d45be74..c45a40532 100644 --- a/.vale/styles/FernStyles/Acronyms.yml +++ b/.vale/styles/FernStyles/Acronyms.yml @@ -39,6 +39,7 @@ exceptions: - NOTE - NVDA - OSS + - PATCH - PATH - PDF - PHP From 80a8999d46052ab61989a5229ff81299fda9f27e Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 10 Nov 2025 05:43:38 +0000 Subject: [PATCH 3/3] fix: revert PATCH acronym addition and reword documentation - Remove PATCH from Vale acronyms exceptions (should not hide Vale suggestions) - Change 'PATCH request fields' to 'merge patch request fields' to avoid triggering Vale Acronyms rule - Maintains technical accuracy while complying with Vale style guidelines Co-Authored-By: tanmay.singh@buildwithfern.com --- .vale/styles/FernStyles/Acronyms.yml | 1 - fern/products/sdks/overview/java/configuration.mdx | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.vale/styles/FernStyles/Acronyms.yml b/.vale/styles/FernStyles/Acronyms.yml index c45a40532..04d45be74 100644 --- a/.vale/styles/FernStyles/Acronyms.yml +++ b/.vale/styles/FernStyles/Acronyms.yml @@ -39,7 +39,6 @@ exceptions: - NOTE - NVDA - OSS - - PATCH - PATH - PDF - PHP diff --git a/fern/products/sdks/overview/java/configuration.mdx b/fern/products/sdks/overview/java/configuration.mdx index b9a8eec1e..4e06e64c8 100644 --- a/fern/products/sdks/overview/java/configuration.mdx +++ b/fern/products/sdks/overview/java/configuration.mdx @@ -28,7 +28,7 @@ The provided string will be used as the client class name. -When enabled, generates `OptionalNullable` types for PATCH request fields to distinguish between three states: absent (field not provided), null (field explicitly set to null), and present (field has a non-null value). This enables proper handling of JSON Merge Patch semantics where omitting a field, setting it to null, and providing a value have different meanings. +When enabled, generates `OptionalNullable` types for merge patch request fields to distinguish between three states: absent (field not provided), null (field explicitly set to null), and present (field has a non-null value). This enables proper handling of JSON Merge Patch semantics where omitting a field, setting it to null, and providing a value have different meanings.