id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 32128,Issue with asgiref dependency installing Django 3.1.x,Carlton Gibson,Carlton Gibson,"It looks like we've misspecified the `asgiref` dependency in Django 3.1.x. Specifically, I think we wanted ''latest asgiref that wasn't 4 (i.e. a break)'' but installing we're not picking up the latest asgiref 3.3, which we want (because it makes the `thread_sensitive` parameter default `True`). This came up on https://github.com/django/channels/pull/1522. An example with a fresh venv: {{{ (tmp-472bce83ec89b59) ~/ve/tmp-472bce83ec89b59 $ pip install asgiref Collecting asgiref Using cached asgiref-3.3.0-py3-none-any.whl (19 kB) Installing collected packages: asgiref Successfully installed asgiref-3.3.0 (tmp-472bce83ec89b59) ~/ve/tmp-472bce83ec89b59 $ pip install Django Collecting Django Using cached Django-3.1.2-py3-none-any.whl (7.8 MB) Collecting asgiref~=3.2.10 Using cached asgiref-3.2.10-py3-none-any.whl (19 kB) Collecting pytz Using cached pytz-2020.1-py2.py3-none-any.whl (510 kB) Collecting sqlparse>=0.2.2 Using cached sqlparse-0.4.1-py3-none-any.whl (42 kB) Installing collected packages: asgiref, pytz, sqlparse, Django Attempting uninstall: asgiref Found existing installation: asgiref 3.3.0 Uninstalling asgiref-3.3.0: Successfully uninstalled asgiref-3.3.0 Successfully installed Django-3.1.2 asgiref-3.2.10 pytz-2020.1 sqlparse-0.4.1 (tmp-472bce83ec89b59) ~/ve/tmp-472bce83ec89b59 $ pip install -U asgiref Collecting asgiref Using cached asgiref-3.3.0-py3-none-any.whl (19 kB) Installing collected packages: asgiref Attempting uninstall: asgiref Found existing installation: asgiref 3.2.10 Uninstalling asgiref-3.2.10: Successfully uninstalled asgiref-3.2.10 ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts. We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default. django 3.1.2 requires asgiref~=3.2.10, but you'll have asgiref 3.3.0 which is incompatible. Successfully installed asgiref-3.3.0 }}} * This is using the old resolver but the new one will pick asgiref 3.2.10 too. * I installed asgiref first here just for demonstration. A straight `pip install Django` equally picks 3.2.10. I think this is a RB as when I pip install Django 3.1 I want (need) the latest asgiref, but hoping for opinions on that. ",Cleanup/optimization,closed,Core (Other),3.1,Release blocker,fixed,,Andrew Godwin David Smith Mariusz Felisiak,Ready for checkin,1,0,0,0,0,0