The FastAPI project released version 0.149.0 on GitHub, with a fix for how form models read blank input. Browsers send an empty text box as an empty string. According to the release notes, FastAPI now counts such empty single values as missing inside form models. This matches how individual Form parameters already worked. The change is listed as pull request 16529 by @tiangolo.
The notes describe what happens next. A required field that arrives empty now returns a validation error. A field with a default value, or a function that makes one, uses that default. Such a field also stays unset when a developer calls model_dump with exclude_unset. Empty strings inside lists are kept. A boolean form field that is left out still becomes False. JSON requests and direct Pydantic validation work as before. Pydantic is the data checking library FastAPI builds on. The notes do not say which earlier versions behaved differently or how many apps are affected.
Teams that use form models in FastAPI may see different results for blank fields after upgrading. A field that once accepted an empty string may now fail validation or fall back to its default. Testing form handlers before the upgrade would show which routes are affected.