На прошлой неделе мы выпустили FastStream 0.7 спустя почти год после 0.6.0. Скорее всего это будет последний крупный релиз перед 1.0. Но сам по себе он тоже интересен:

1️⃣ @borisalekseev принес нам MQTT брокер. Для этого ему даже пришлось написать полностью асинхронный MQTT клиент с нуля - zMQTT. Так что это не просто фича фреймворка, но и большой вклад в python комьюнити в целом.

MQTT - это самый запрашиваемый брокер со стороны международного комьюнити - его активно используют в IoT и Edge устройствах. Наверное, это самое важное расширение экосистемы FastStream, т.к. работает на совершенно новую для нас группу пользователей.

2️⃣ В этом релизе я (неожиданно для себя) дотолкал полноценную поддержку многоброкерности FastStream(broker1, broker2) - САМЫЙ СТАРЫЙ ISSUE в нашем репозитории (526, хотя сейчас мы уже около 3к)

Я не закрывал его так долго потому что у пользователей все время был обходной путь, как добиться такого же поведения самостоятельно. Ну и сама фича хоть и простая, но довольно объемная - нужно проверить миллион крайних случаев и работу всех подсистем фреймворка. Так что последние 2 года я медленно, но планомерно рефакторил все подсистемы с учетом этой фичи в будущем - а в 0.7 просто сделал последний рывок.

Мультиброкеры были одним из главных стоп-факторов для выхода 1.0 версии. Теперь мы планируем дотолкать 1.0 к 18 сентября (день рождения фреймворка - нам 3 года)

3️⃣ добавлена поддержка Redis Cluster - RedisClusterBroker. Спасибо нашему новому мейнтейнеру RedisBroker'а @powersemmi за эту фичу (он еще и RustStream пилит). Кстати, фича была приоритизирована не просто так - запрос на нее пришел от Octopus Energy. Теперь у нас +1 крупный пользователь в UK

Помимо прочего мы удалили все deprecated API, которые тащили еще со времен 0.5.

Участие в релизе приняли целых 19 новых контрибуторов! Это лишнее подтверждение, что FastStream - не мой личный, а по-настоящему community-driven проект.

Так что сейчас фреймворк полностью чист от legacy и фактически готов к релизу 1.0. Можно было бы дотолкать его за пару недель, но я ленивый🌚

Полное описание релиза: https://github.com/ag2ai/faststream/releases/tag/0.7.0

Если у вас есть какие-то пожелания по фичам или вы хотите предложить правки по API - самое время. Мы как раз собираем фича-план на 1.0