What's Changed
* Updated InMemoryBroker by s3rius in https://github.com/taskiq-python/taskiq/pull/84
* Updated CI strategy for Pull Requests. by s3rius in https://github.com/taskiq-python/taskiq/pull/94
* asyncio.wait replaced with Semaphore, fixed compatibility issues by vvanglro in https://github.com/taskiq-python/taskiq/pull/93
* Separation of the receiver from the CLI by hugiron in https://github.com/taskiq-python/taskiq/pull/90
* Fixed semaphore logic by s3rius in https://github.com/taskiq-python/taskiq/pull/97
* Replaced string with bytes in BrokerMessage by s3rius in https://github.com/taskiq-python/taskiq/pull/89
* Added prometheus metrics middleware. by s3rius in https://github.com/taskiq-python/taskiq/pull/99
* Reload dependencies are now optional. by s3rius in https://github.com/taskiq-python/taskiq/pull/98
* Changed listen signature for brokers. by s3rius in https://github.com/taskiq-python/taskiq/pull/100
* Fixed prometheus metrics for multiple worker processes by s3rius in https://github.com/taskiq-python/taskiq/pull/101
New Contributors
* vvanglro made their first contribution in https://github.com/taskiq-python/taskiq/pull/93
* hugiron made their first contribution in https://github.com/taskiq-python/taskiq/pull/90
**Full Changelog**: https://github.com/taskiq-python/taskiq/compare/0.3.5...0.4.0