- add shared.is_v1_field_info() helper and use it in create_model_field
- build v1_kwargs / v2_kwargs separately; avoid constructing v2 FieldInfo in v1 path
- v2.ModelField: fallback to Any when field_info.annotation is absent (v1 FieldInfo)
- expose PydanticSchemaGenerationError in v1 bridge (map to ConfigError on v1)
- keep stubs minimal (.pyi) and py38-compatible (typing.*)
- Add defensive check for field_info.annotation attribute
- v1.FieldInfo does not have .annotation (only v2 does)
- Use getattr() with fallback to avoid AttributeError
- Add try/catch around TypeAdapter creation for robustness
- Resolves AttributeError when bridging v1->v2 FieldInfo
- Fix tuple[Type[Any], ...] to Tuple[Type[Any], ...] in shared.py
- Add missing _is_model_field function to v2.py
- All tests now pass on Python 3.8 without TypeError
- Import-time compatibility fully restored for Python 3.8
- Replace dict[str, Any] with Dict[str, Any] in runtime aliases
- Fix JsonSchemaValue aliases in _compat/__init__.py and _compat/v1.py
- Add Dict import to _compat/__init__.py
- Resolves TypeError: 'type' object is not subscriptable in Python 3.8
- Maintains compatibility with Python 3.8+ while keeping modern syntax in main code
- Replace modern type syntax (dict[str, Any]) with legacy syntax (Dict[str, Any])
- Add UP006 exceptions for .pyi files to allow legacy syntax for Python 3.8 compatibility
- Fixes TypeError: 'type' object is not subscriptable in Python 3.8 tests
- Maintains compatibility with Python 3.8+ while keeping modern syntax in main code
- Add minimal type stubs (.pyi) for v1/v2 compatibility without runtime changes
- Move proxy imports to top-level for safe lazy loading (no PLC0415 needed)
- Remove broad type ignores and implement targeted fixes:
* Early returns for union-attr errors
* -> Any annotations for dynamic helpers
* cast() for v1/v2 bridging
* TYPE_CHECKING for type-only imports
- Fix Portuguese comments and ensure English-only codebase
- Add I001 exception in pyproject.toml for conditional imports
- Achieve 0 Ruff errors, 0 MyPy errors, all tests passing
- Maintain full Pydantic v1/v2 compatibility with lazy loading