- Fixed generating results for nullable fields with nullable directives.
- Changed `include_comments` option to accept enum value, changed default to `"stable"`, deprecated boolean support. Added `get_file_comment` plugin hook.
- Changed `str_to_snake_case` utility to correctly handle capitalized words.
- Digits in Python names are now preceded by an underscore (breaking change).
- Fixed parsing of unions and interfaces to always add `__typename` to generated result models.
- Added escaping of enum values which are Python keywords by appending `_` to them.
- Fixed `enums_module_name` option not being passed to generators.
- Added additional base clients supporting the Open Telemetry tracing. Added `opentelemetry_client` config option.
- Changed generated client's methods to pass `**kwargs` to base client's `execute` and `execute_ws` methods (breaking change for custom base clients).
- Added `operation_definition` argument to `generate_client_method` plugin hook.
- Added `ExtractOperationsPlugin` that extracts operation strings from client methods to separate module.
- Added Python 3.12 to tested versions.