008c74e199
The startup page now leads its prewarming section with warm(version), the form a host actually wants: it names the version the transport negotiates and takes the first connection from ~200 ms of one-time builds to within a millisecond of steady state; the no-argument and all_versions forms are described as the narrower and wider variants. The magnitude table is labelled as single-machine measurements. Two consequences of holding one process-wide lock across a model's first build are spelled out where they can be found - the lock's docstring and an FAQ entry: user code inside pydantic schema/subclass hooks runs under the lock (so ordinary lock-ordering rules apply), a thread mid-build during fork() leaves the child's lock held, warm() at startup sidesteps both, and the SDK's lock goes once a pydantic release with a thread-safe model_rebuild is the dependency floor. The FAQ also notes that get_type_hints() imports what the hints name (evaluating mcp.Client's hints imports mcp.server), and the migration guide's list of incidental changes is no longer titled "two" now that it holds four.