dependabot[bot] opened a new pull request, #18729: URL: https://github.com/apache/iceberg/pull/18729
Bumps [datamodel-code-generator](https://github.com/datamodel-code-generator/datamodel-code-generator) from 0.85.0 to 0.86.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/datamodel-code-generator/datamodel-code-generator/releases">datamodel-code-generator's releases</a>.</em></p> <blockquote> <h2>0.86.0</h2> <h2>Breaking Changes</h2> <h3>Code Generation Changes</h3> <ul> <li>Base64 bytes with length constraints now use <code>EncodedBytes</code> - With <code>--type-mappings string+byte=binary</code>, a <code>format: byte</code> string with <code>minLength</code> or <code>maxLength</code> used to generate <code>conbytes(...)</code>, which did not decode base64. With <code>--field-constraints</code> it used to generate <code>Base64Bytes</code> with a <code>Field(max_length=...)</code>. It now generates <code>Annotated[bytes, Field(max_length=8), EncodedBytes(encoder=Base64Encoder)]</code>, which decodes the base64 text and checks the lengths on the encoded text, as JSON Schema counts them. Field values are now the decoded bytes instead of the raw text. Under <code>--field-constraints</code>, inputs whose base64 text is longer than the limit are now rejected, even when the decoded bytes fit. Generated modules now import <code>Annotated</code>, <code>Field</code>, <code>EncodedBytes</code> and <code>Base64Encoder</code>. Pydantic checks these lengths o n the text only from 2.10 on, and an explicit <code>--target-pydantic-version 2</code> now warns about each such field (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4798">#4798</a>)</li> <li>Strict bytes no longer skip base64 decoding for mapped byte strings - With <code>--type-mappings string+byte=binary</code> and <code>--strict-types bytes</code>, <code>format: byte</code> fields used to generate <code>StrictBytes</code>, or <code>conbytes(..., strict=True)</code> when they had lengths, and held the raw text. They now generate <code>Base64Bytes</code>, or the <code>EncodedBytes</code> form when they have lengths, and decode the base64 text, so validated values change. FastAPI path, query, header and cookie parameters with this combination no longer stop generation with an error (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4798">#4798</a>)</li> <li>Mapped byte formats now decode base64 when mapped without constraints - With <code>--type-mappings string+byte=binary</code>, code paths that map a type and format without constraints now pass base64 decoding through. For example, a <code>format: byte</code> string member of a multi-type <code>type</code> list now generates <code>Base64Bytes</code>, as in <code>Base64Bytes | list[int]</code>, instead of plain <code>bytes</code>. Its runtime value becomes the decoded bytes (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4798">#4798</a>)</li> </ul> <h2>Other Output Changes</h2> <p>These change generated output compared with 0.85.0, but only where 0.85.0 output failed or for options that are new in this release.</p> <ul> <li>Integer and subclass enums that list null no longer get a <code>None</code> member - An enum with a value type base (the <code>IntEnum</code> written for <code>type: integer</code>, or a <code>--use-subclass-enum</code> class such as <code>(int, Enum)</code>) that lists <code>null</code> used to get a member such as <code>integer_None = None</code>, which made the generated module raise <code>TypeError</code> at import. That member is no longer generated, and an enum whose only value is <code>null</code> becomes a <code>RootModel[None]</code>. Class names and field defaults are unchanged (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4884">#4884</a>, <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4889">#4889</a>)</li> <li>Discriminator tags keep no pattern their values already satisfy - Pydantic discriminator tag fields written with <code>Field()</code> constraints no longer carry a <code>pattern</code> that every tag value satisfies. Such output failed at import in 0.85.0 because the tag was no longer a usable discriminator. Tags whose values contradict their own pattern are unchanged (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4888">#4888</a>)</li> <li>Optional one-value Literal discriminator tags default to their value - A tag such as <code>kind: Literal['card'] | None = None</code> is now written as <code>kind: Literal['card'] = 'card'</code>. The discriminated union failed at import before; a standalone model using such a tag now defaults to and dumps <code>'card'</code> instead of <code>None</code> (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4895">#4895</a>)</li> <li>The builtin formatter wraps long <code>Annotated[...] = None</code> assignments like black - Where 0.85.0 put the <code>None</code> default in parentheses on its own lines, the line is now split inside the annotation, as black does. The code is equivalent, but <code>--check</code> runs with a dated preset (which uses the builtin formatter) report the reformatting (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4794">#4794</a>)</li> <li>Refinements of options new in this release - <code>--use-tag-as-union-variant-name</code> no longer repeats the key in prefixed names of models inside key-named branches (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4903">#4903</a>), and <code>--use-single-value-enum-as-const</code> types nullable single-value unions as <code>Literal[...] | None</code> keeps mixed-type single-value branches apart instead of merging them into one Enum (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4926">#4926</a>, <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4927">#4927</a>), and leaves <code>nullable: true</code> single-value enums as enums so they still accept null (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4944">#4944</a>). Both options were added after 0.85.0, so output without them is unchanged< /li> </ul> <!-- raw HTML omitted --> <h2>What's Changed</h2> <ul> <li>Bump ty to 0.0.89 by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4817">datamodel-code-generator/datamodel-code-generator#4817</a></li> <li>Add 20261017 presets rendering TypedDict and dataclass enums as Literal by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4815">datamodel-code-generator/datamodel-code-generator#4815</a></li> <li>Add a script that compares generated output with a release by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4861">datamodel-code-generator/datamodel-code-generator#4861</a></li> <li>Refresh the generation index incrementally by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4862">datamodel-code-generator/datamodel-code-generator#4862</a></li> <li>Split Annotated and Union annotations whose value opening exceeds the line length by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4794">datamodel-code-generator/datamodel-code-generator#4794</a></li> <li>Release the stale name of a renamed type re-imported in a package <strong>init</strong> by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4795">datamodel-code-generator/datamodel-code-generator#4795</a></li> <li>Keep number constraints off fields whose generated type does not take them by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4797">datamodel-code-generator/datamodel-code-generator#4797</a></li> <li>Keep bytes mapped from base64 text decoded under strict types and constraints by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4798">datamodel-code-generator/datamodel-code-generator#4798</a></li> <li>Import what holds the enum members of x-python-type Literals by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4799">datamodel-code-generator/datamodel-code-generator#4799</a></li> <li>Add --use-tag-as-union-variant-name by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4793">datamodel-code-generator/datamodel-code-generator#4793</a></li> <li>Add --use-single-value-enum-as-const by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4857">datamodel-code-generator/datamodel-code-generator#4857</a></li> <li>Warn when --model-name-map keys match no generated model by <a href="https://github.com/wanjinhao1"><code>@wanjinhao1</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4856">datamodel-code-generator/datamodel-code-generator#4856</a></li> <li>Decide msgspec tagged unions over every module by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4806">datamodel-code-generator/datamodel-code-generator#4806</a></li> <li>Print msgspec 0.22 as the client's msgspec floor by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4808">datamodel-code-generator/datamodel-code-generator#4808</a></li> <li>Keep generation index model facts current and recover from failed refreshes by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4866">datamodel-code-generator/datamodel-code-generator#4866</a></li> <li>Make the model name map baseline scope public and note GraphQL input by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4867">datamodel-code-generator/datamodel-code-generator#4867</a></li> <li>Record the expected output each test compares by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4870">datamodel-code-generator/datamodel-code-generator#4870</a></li> <li>Compare expected output through per-module .refs indexes by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4871">datamodel-code-generator/datamodel-code-generator#4871</a></li> <li>Write null in an IntEnum or subclass enum as nullability instead of a None member by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4884">datamodel-code-generator/datamodel-code-generator#4884</a></li> <li>Warn about msgspec unions that hold an Enum beside another member of its JSON type by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4885">datamodel-code-generator/datamodel-code-generator#4885</a></li> <li>Keep an aliased import only when its alias is used by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4887">datamodel-code-generator/datamodel-code-generator#4887</a></li> <li>Keep patterns off Pydantic discriminator tags by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4888">datamodel-code-generator/datamodel-code-generator#4888</a></li> <li>Define the models a patternProperties rule names before the class that holds it by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4889">datamodel-code-generator/datamodel-code-generator#4889</a></li> <li>Drop support for recorded expected labels outside tests/data/expected by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4898">datamodel-code-generator/datamodel-code-generator#4898</a></li> <li>Explain --from-ci failures for runs whose logs gh cannot read yet by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4899">datamodel-code-generator/datamodel-code-generator#4899</a></li> <li>Add --recommend-options with schema analysis and rule-based recommendations by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4883">datamodel-code-generator/datamodel-code-generator#4883</a></li> <li>Compare candidate configurations by trial naming by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4890">datamodel-code-generator/datamodel-code-generator#4890</a></li> <li>Add a maintainer command that stores each expected output once by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4902">datamodel-code-generator/datamodel-code-generator#4902</a></li> <li>Store the remaining expected outputs once by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4908">datamodel-code-generator/datamodel-code-generator#4908</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/datamodel-code-generator/datamodel-code-generator/blob/main/CHANGELOG.md">datamodel-code-generator's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/releases/tag/0.86.0">0.86.0</a> - 2026-10-18</h2> <h2>Breaking Changes</h2> <h3>Code Generation Changes</h3> <ul> <li>Base64 bytes with length constraints now use <code>EncodedBytes</code> - With <code>--type-mappings string+byte=binary</code>, a <code>format: byte</code> string with <code>minLength</code> or <code>maxLength</code> used to generate <code>conbytes(...)</code>, which did not decode base64. With <code>--field-constraints</code> it used to generate <code>Base64Bytes</code> with a <code>Field(max_length=...)</code>. It now generates <code>Annotated[bytes, Field(max_length=8), EncodedBytes(encoder=Base64Encoder)]</code>, which decodes the base64 text and checks the lengths on the encoded text, as JSON Schema counts them. Field values are now the decoded bytes instead of the raw text. Under <code>--field-constraints</code>, inputs whose base64 text is longer than the limit are now rejected, even when the decoded bytes fit. Generated modules now import <code>Annotated</code>, <code>Field</code>, <code>EncodedBytes</code> and <code>Base64Encoder</code>. Pydantic checks these lengths o n the text only from 2.10 on, and an explicit <code>--target-pydantic-version 2</code> now warns about each such field (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4798">#4798</a>)</li> <li>Strict bytes no longer skip base64 decoding for mapped byte strings - With <code>--type-mappings string+byte=binary</code> and <code>--strict-types bytes</code>, <code>format: byte</code> fields used to generate <code>StrictBytes</code>, or <code>conbytes(..., strict=True)</code> when they had lengths, and held the raw text. They now generate <code>Base64Bytes</code>, or the <code>EncodedBytes</code> form when they have lengths, and decode the base64 text, so validated values change. FastAPI path, query, header and cookie parameters with this combination no longer stop generation with an error (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4798">#4798</a>)</li> <li>Mapped byte formats now decode base64 when mapped without constraints - With <code>--type-mappings string+byte=binary</code>, code paths that map a type and format without constraints now pass base64 decoding through. For example, a <code>format: byte</code> string member of a multi-type <code>type</code> list now generates <code>Base64Bytes</code>, as in <code>Base64Bytes | list[int]</code>, instead of plain <code>bytes</code>. Its runtime value becomes the decoded bytes (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4798">#4798</a>)</li> </ul> <h2>Other Output Changes</h2> <p>These change generated output compared with 0.85.0, but only where 0.85.0 output failed or for options that are new in this release.</p> <ul> <li>Integer and subclass enums that list null no longer get a <code>None</code> member - An enum with a value type base (the <code>IntEnum</code> written for <code>type: integer</code>, or a <code>--use-subclass-enum</code> class such as <code>(int, Enum)</code>) that lists <code>null</code> used to get a member such as <code>integer_None = None</code>, which made the generated module raise <code>TypeError</code> at import. That member is no longer generated, and an enum whose only value is <code>null</code> becomes a <code>RootModel[None]</code>. Class names and field defaults are unchanged (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4884">#4884</a>, <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4889">#4889</a>)</li> <li>Discriminator tags keep no pattern their values already satisfy - Pydantic discriminator tag fields written with <code>Field()</code> constraints no longer carry a <code>pattern</code> that every tag value satisfies. Such output failed at import in 0.85.0 because the tag was no longer a usable discriminator. Tags whose values contradict their own pattern are unchanged (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4888">#4888</a>)</li> <li>Optional one-value Literal discriminator tags default to their value - A tag such as <code>kind: Literal['card'] | None = None</code> is now written as <code>kind: Literal['card'] = 'card'</code>. The discriminated union failed at import before; a standalone model using such a tag now defaults to and dumps <code>'card'</code> instead of <code>None</code> (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4895">#4895</a>)</li> <li>The builtin formatter wraps long <code>Annotated[...] = None</code> assignments like black - Where 0.85.0 put the <code>None</code> default in parentheses on its own lines, the line is now split inside the annotation, as black does. The code is equivalent, but <code>--check</code> runs with a dated preset (which uses the builtin formatter) report the reformatting (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4794">#4794</a>)</li> <li>Refinements of options new in this release - <code>--use-tag-as-union-variant-name</code> no longer repeats the key in prefixed names of models inside key-named branches (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4903">#4903</a>), and <code>--use-single-value-enum-as-const</code> types nullable single-value unions as <code>Literal[...] | None</code> keeps mixed-type single-value branches apart instead of merging them into one Enum (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4926">#4926</a>, <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4927">#4927</a>), and leaves <code>nullable: true</code> single-value enums as enums so they still accept null (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4944">#4944</a>). Both options were added after 0.85.0, so output without them is unchanged< /li> </ul> <!-- raw HTML omitted --> <h2>What's Changed</h2> <ul> <li>Bump ty to 0.0.89 by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4817">datamodel-code-generator/datamodel-code-generator#4817</a></li> <li>Add 20261017 presets rendering TypedDict and dataclass enums as Literal by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4815">datamodel-code-generator/datamodel-code-generator#4815</a></li> <li>Add a script that compares generated output with a release by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4861">datamodel-code-generator/datamodel-code-generator#4861</a></li> <li>Refresh the generation index incrementally by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4862">datamodel-code-generator/datamodel-code-generator#4862</a></li> <li>Split Annotated and Union annotations whose value opening exceeds the line length by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4794">datamodel-code-generator/datamodel-code-generator#4794</a></li> <li>Release the stale name of a renamed type re-imported in a package <strong>init</strong> by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4795">datamodel-code-generator/datamodel-code-generator#4795</a></li> <li>Keep number constraints off fields whose generated type does not take them by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4797">datamodel-code-generator/datamodel-code-generator#4797</a></li> <li>Keep bytes mapped from base64 text decoded under strict types and constraints by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4798">datamodel-code-generator/datamodel-code-generator#4798</a></li> <li>Import what holds the enum members of x-python-type Literals by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4799">datamodel-code-generator/datamodel-code-generator#4799</a></li> <li>Add --use-tag-as-union-variant-name by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4793">datamodel-code-generator/datamodel-code-generator#4793</a></li> <li>Add --use-single-value-enum-as-const by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4857">datamodel-code-generator/datamodel-code-generator#4857</a></li> <li>Warn when --model-name-map keys match no generated model by <a href="https://github.com/wanjinhao1"><code>@wanjinhao1</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4856">datamodel-code-generator/datamodel-code-generator#4856</a></li> <li>Decide msgspec tagged unions over every module by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4806">datamodel-code-generator/datamodel-code-generator#4806</a></li> <li>Print msgspec 0.22 as the client's msgspec floor by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4808">datamodel-code-generator/datamodel-code-generator#4808</a></li> <li>Keep generation index model facts current and recover from failed refreshes by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4866">datamodel-code-generator/datamodel-code-generator#4866</a></li> <li>Make the model name map baseline scope public and note GraphQL input by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4867">datamodel-code-generator/datamodel-code-generator#4867</a></li> <li>Record the expected output each test compares by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4870">datamodel-code-generator/datamodel-code-generator#4870</a></li> <li>Compare expected output through per-module .refs indexes by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4871">datamodel-code-generator/datamodel-code-generator#4871</a></li> <li>Write null in an IntEnum or subclass enum as nullability instead of a None member by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4884">datamodel-code-generator/datamodel-code-generator#4884</a></li> <li>Warn about msgspec unions that hold an Enum beside another member of its JSON type by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4885">datamodel-code-generator/datamodel-code-generator#4885</a></li> <li>Keep an aliased import only when its alias is used by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4887">datamodel-code-generator/datamodel-code-generator#4887</a></li> <li>Keep patterns off Pydantic discriminator tags by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4888">datamodel-code-generator/datamodel-code-generator#4888</a></li> <li>Define the models a patternProperties rule names before the class that holds it by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4889">datamodel-code-generator/datamodel-code-generator#4889</a></li> <li>Drop support for recorded expected labels outside tests/data/expected by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4898">datamodel-code-generator/datamodel-code-generator#4898</a></li> <li>Explain --from-ci failures for runs whose logs gh cannot read yet by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4899">datamodel-code-generator/datamodel-code-generator#4899</a></li> <li>Add --recommend-options with schema analysis and rule-based recommendations by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4883">datamodel-code-generator/datamodel-code-generator#4883</a></li> <li>Compare candidate configurations by trial naming by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4890">datamodel-code-generator/datamodel-code-generator#4890</a></li> <li>Add a maintainer command that stores each expected output once by <a href="https://github.com/koxudaxi"><code>@koxudaxi</code></a> in <a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/pull/4902">datamodel-code-generator/datamodel-code-generator#4902</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/361e17d6e2005e68848c99e1830605fbe904ae28"><code>361e17d</code></a> Read nullable one-value enums as written under --use-single-value-enum-as-con...</li> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/82df26a38ea256dbf1dbad9c9dcc9d095bea4583"><code>82df26a</code></a> Count numbered class names over 40 characters as numbered in recommender tria...</li> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/1e6adfbe9aa463fd0b40819ea3e73e141efa9746"><code>1e6adfb</code></a> Delete the API scope oracle inputs no test reads (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4940">#4940</a>)</li> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/b68d27b08f05e0d245020cf45f8b993941ade81b"><code>b68d27b</code></a> Document how to write recommender rules (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4935">#4935</a>)</li> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/819a18fd01743f23b9c551ac75034d4a661d89a6"><code>819a18f</code></a> Fail when an expected file is recorded by no .refs line (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4934">#4934</a>)</li> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/30474bda13e3bc6cc9329767615c49b7faefae40"><code>30474bd</code></a> Recommend validation options (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4930">#4930</a>)</li> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/677aeaa467379f4da463c04f5ff2d859a46e22c1"><code>677aeaa</code></a> Point to the recommender from help, docs, prompt and the agent skill (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4922">#4922</a>)</li> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/4da46b794d08e5706d5688f3fd2c886a253431d4"><code>4da46b7</code></a> Hint at --recommend-options after generation when names are numbered (<a href="https://redirect.github.com/datamodel-code-generator/datamodel-code-generator/issues/4929">#4929</a>)</li> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/8ef8a676c147ebaa13f0482b7d4a8a7788ba42e0"><code>8ef8a67</code></a> Keep one-value branches of different JSON types apart under --use-single-valu...</li> <li><a href="https://github.com/datamodel-code-generator/datamodel-code-generator/commit/76e5539e77db6cb32268ac15462b77766a22b909"><code>76e5539</code></a> Type a null branch beside one-value enum branches as None under --use-single-...</li> <li>Additional commits viewable in <a href="https://github.com/datamodel-code-generator/datamodel-code-generator/compare/0.85.0...0.86.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
