GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix: Remove trailing spaces in README example code by johnthagen · Pull Request #1475 · openapi-generators/openapi-python-client

Conversation

@johnthagen

@johnthagen johnthagen commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Ruff 0.16 has started Python formatting code blocks in README files

  • https://astral.sh/blog/ruff-v0.16.0#markdown-code-block-formatting

Remove some trailing spaces to reduce the diff if users format the generated README.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@johnthagen
Remove trailing spaces in README example code
7aacc1c
@johnthagen johnthagen self-assigned this Aug 3, 2026
johnthagen added 2 commits August 4, 2026 08:06
@johnthagen
Remove trailing spaces in README end to end tests
b4b99eb
@johnthagen
Merge branch 'main' into fmt-readme-template
6f312fa
@johnthagen
johnthagen requested a review from dbanty August 4, 2026 12:12
dbanty
dbanty approved these changes Aug 4, 2026
View reviewed changes
@dbanty dbanty changed the title Remove trailing spaces in README example code fix: Remove trailing spaces in README example code Aug 4, 2026
@dbanty
dbanty added this pull request to the merge queue Aug 4, 2026
Merged via the queue into main with commit edaae66 Aug 4, 2026
19 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@dbanty
dbanty deleted the fmt-readme-template branch August 4, 2026 14:39
@knope-bot knope-bot Bot mentioned this pull request Aug 4, 2026
Release 0.29.1 #1460
Merged
iloveitaly pushed a commit to iloveitaly/openapi-python-client that referenced this pull request Aug 31, 2026
@knope-bot
Release 0.29.1 (openapi-generators#1460)
4a2f3db
> [!IMPORTANT]
> Merging this pull request will create this release

## 🚨Security

### Arbitrary code generation vulnerability

Prior to this release, malicious OpenAPI documents could cause
openapi-python-client to generate arbitrary code, which
would then be executed by consumers of the generated client.

If you generate code from OpenAPI documents you don't control, you
should upgrade to this release as **soon as possible**
and validate any previously-generated code.

See [the GitHub
advisory](GHSA-5293-mq8x-g3xj)
for more details.

## 🚀 Features

- Update `uv_build` to 0.12 when using `--meta=uv` (openapi-generators#1473)

## 🐛 Fixes

- Apply PEP 639 for improved license metadata (openapi-generators#1459)
- update generated code to use `StrEnum` and `-> Self` (openapi-generators#1474)
- Remove trailing spaces in README example code (openapi-generators#1475)
- Stopped generating empty docstrings for models with no description

### Fixed invalid Python identifiers when resolving naming conflicts

When two property or parameter names conflicted after conversion to
`snake_case` (e.g. `foo-bar` and `fooBar`), the conflict-resolution path
preserved delimiters like `-`, `.`, and spaces in the generated Python
identifiers, producing invalid code which failed generation. Conflicting
names now keep their original casing but have any characters which are
invalid in Python identifiers stripped (e.g. `foobar` and `fooBar`).

### Improve readability of error messages

Errors and warnings which include a snippet of your OpenAPI document now
render that snippet as JSON, making them much easier to read.

## 📝Notes

### Breaking changes for all custom templates

**ALL** custom templates are expected to break with this version as a
result of the security fix.

1. The `utils` global has been renamed to `strings`
2. Most string values can no longer be rendered directly into templates,
you must describe how the value is being used so it can be properly
escaped using either a Python function or Jinja filter:
   1. `strings.snake_case()` / `| snakecase` (existing)
   2. `strings.kebab_case()` /  `| kebabcase` (existing)
   3. `strings.pascal_case()` / `| pascalcase` (existing)
   4. `python_identifier()` (existing)
   5. `class_name()` (existing)
6. `strings.safe_for_docstring()` / `| safe_for_docstring` for values
which get injected into a `"""` docstring
7. `strings.in_f_string_literal()` / `| in_f_string_literal` for values
that go into `f""` f-strings
8. `strings.in_double_quote_literal()` / `| in_double_quote_literal` for
values that go into **non-f-string** `""` literals
9. `.as_unembedded_code()` / `| as_unembedded_code` ONLY for
`PythonCode` values—those that are intended to be Python code which is
not embedded into any string/docstring. Examples include usages of
`.python_code`, `.get_type_string()`, `.get_instance_type_string()`,
`.get_type_strings_in_union()`. You *should not* assume these values are
safe to put in docstrings, string literals, or f-string literals. Use
the dedicated helpers for those.
As always, you can check the diff of the built in templates for
examples. You will also want to check generated output
for "UntrustedString", which is how any string now requiring one of
those functions will appear.

### Many control characters now stripped from string literals

Out of an abundance of caution, most Unicode control characters are now
stripped from string literals.
If your API uses control characters as part of const values, enums, or
JSON body property names you may have issues
with this new version.

Most APIs are not expected to be affected by this change.

Co-authored-by: knope-bot[bot] <152252888+knope-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@dbanty dbanty dbanty approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@johnthagen johnthagen

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@johnthagen @dbanty
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.