From 1a8a4f2d25bcff4f557e53c0dd433107a1fee5bd Mon Sep 17 00:00:00 2001 From: dsinghvi <10870189+dsinghvi@users.noreply.github.com> Date: Fri, 1 May 2026 02:35:59 +0000 Subject: [PATCH] update changelogs --- .../generators/python/changelog/2026-05-01.mdx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 fern/products/sdks/generators/python/changelog/2026-05-01.mdx diff --git a/fern/products/sdks/generators/python/changelog/2026-05-01.mdx b/fern/products/sdks/generators/python/changelog/2026-05-01.mdx new file mode 100644 index 000000000..0c4425d68 --- /dev/null +++ b/fern/products/sdks/generators/python/changelog/2026-05-01.mdx @@ -0,0 +1,16 @@ +## 5.9.1 +**`(fix):`** Respect the customer's `smart-casing` flag from `generators.yml` when computing +Python identifiers from compressed v66 IR strings. Previously the v1 Python +generator's `_smart_snake` and v2's `PYTHON_CASE_CONVERTER` were both hardcoded +with `smartCasing: true`, causing names produced by the generator to diverge +from the IR's pre-computed `snake_case` values when the customer set +`smart-casing: false`. This manifested as wire-test method calls and Pydantic +field aliases that did not exist on the generated client (e.g. test calling +`set_fcmv_1_provider()` while the client method was named `set_fcmv1provider`). + +`_smart_snake` and the v2 `caseConverter` now read `casingsConfig.smartCasing` +from the IR and switch between smart-casing semantics (default) and plain +lodash semantics (`smart-casing: false`). No effect for customers who use +the default; fixes generation for customers like auth0 that opt out. + +