For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Book a demoLog inStart for free
  • Overview
    • Introduction
    • How it works
    • Quickstart
    • Customer showcase
  • Working with SDKs
    • Project structure
    • Adding custom code
    • Migrating to Replay
    • Capabilities
  • Generators
      • Generating an SDK
      • Publishing to PyPI
      • Configuration
      • Adding custom code
      • Dynamic authentication
      • aiohttp support
      • Changelog
      • Customer showcase
  • Reference
    • generators.yml
Checking status...
SOC2Soc 2 Type II
© 2026 Fern • Birch Solutions, Inc., a Postman company

Documentation

SDKsDocsAsk FernCLI Reference

API Definitions

OpenAPIAsyncAPIOpenRPCgRPC

Resources

BlogSupportPricing

Company

Brand KitPrivacy PolicyTerms of Service
LogoLogo
Book a demoLog inStart for free
GeneratorsPython

Changelog

May 1, 2026
May 1, 2026

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.

Was this page helpful?
Edit this page
Previous

May 4, 2026

Next

April 30, 2026