Andrushika opened a new pull request, #75610: URL: https://github.com/apache/airflow/pull/75610
## Why airflowctl generates its API models from the core OpenAPI spec. In core, `StrictBaseModel` rejects unknown fields. The spec shows this as `additionalProperties: false`. airflowctl then generates the same model with `extra="forbid"`. Seven core models extend `StrictBaseModel`, but they only appear in responses. They are the three config models and the four asset reference models. If a newer server adds a field to one of them, an older airflowctl cannot read the response. This happens now. #71446 added the optional `team_name` field to two of these models in 3.4. airflowctl from `airflow-ctl/v0-1-test` fails on `assets list` and `assets get` against 3.4.0b2 (#57826). `StrictBaseModel` is for request bodies only (#44306): > Response models, those are instantiated by the server, there we want to be able to provide 'more' for the model to select only what should be returned. ## What The seven models now extend `BaseModel`. The spec, the UI schemas and the airflowctl models are regenerated. The server sends the same JSON as before. With the same change on `airflow-ctl/v0-1-test`, the 3.4.0b2 runs pass again. A backport for 0.1.6 must include the two core files, because that branch generates its models from its own core. related: #57826 --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 5.5) Generated-by: Claude Code (Opus 5.5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- 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]
