# 2.1.4 Release Notes

Channels 2.1.4 is another bugfix release in the 2.1 series.

## Bugfixes & Small Changes

- Django middleware is now cached rather than instantiated per request resulting in a significant speed improvement. Some middleware took seconds to load and as a result Channels was unusable for HTTP serving before.

- ChannelServerLiveTestCase now serves static files again.

- Improved error message resulting from bad Origin headers.

- `runserver` logging now goes through the Django logging framework to match modern Django.

- Generic consumers can now have non-default channel layers - set the `channel_layer_alias` property on the consumer class

- Improved error when accessing `scope['user']` before it’s ready - the user is not accessible in the constructor of ASGI apps as it needs an async environment to load in. Previously it raised a generic error when you tried to access it early; now it tells you more clearly what’s happening.

## Backwards Incompatible Changes

None.