Breaking Changes¶
Removal of Convenience Imports (v0.2.0)¶
Summary¶
All convenience imports have been removed from the main package __init__.py to prevent eager loading and resolve async context detection issues. This is a breaking change that requires updating all import statements in your code.
Why This Change Was Made¶
Convenience imports in __init__.py caused modules to be eagerly loaded during Django startup, which led to: - Field extensions being built in sync context during import time - Schema evaluation happening too early (before async context was available) - Crashes when mixing sync/async execution chains during testing
By removing these imports, modules are only loaded when explicitly imported, ensuring proper async context detection.
What You Need to Do¶
Update all imports to use direct module paths instead of importing from the main package.
Migration Examples¶
Field Extensions¶
JWT Authentication¶
Input Types¶
Decorators¶
Module Structure¶
The new import structure follows this pattern:
Need Help?¶
- Check the documentation for detailed examples
- All existing functionality remains the same - only import paths have changed