pypi / faststream
faststream
What changed in faststream 0.7, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.
1 breaking13 new APIs and options1 performance2 behavior and defaults1 tooling28 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initfaststream 0.746 changes
Breaking changes 1
Stops the subscriber on terminal stream errors instead of restarting.
New APIs and options 13
Adds assert_called_once_with for subscribers and publishers in testing.
Adds assert_called_with and assert_any_call for subscribers and publishers in testing.
Adds StreamSub claim_min_idle_time support for XREADGROUP CLAIM.
Adds annotations for the native Confluent consumer and MQTT client.
Exposes the Redis stream delivery count.
Adds a Confluent Topic schema for configuring topic creation.
Renders the Address template in the generated schema.
Adds batch stream message annotation support for Redis.
Adds ContextRepo composition.
Adds a correlation_id factory function at broker creation time, for example to generate ULIDs.
Adds an MQTT DSN as an alternative to setting direct URL attributes.
Adds support for MQTT Will messages.
Adds a declare option to StreamSub.
Performance 1
Uses one context scope object per consumed message.
Behavior and default changes 2
Typing now accepts every broker annotated as BrokerUsecase[Any, Any].
Addresses across all brokers support literal braces.
Tooling 1
Emulates Redis Stream PEL to route messages to min_idle_time subscribers.
Fixes and other changes 28
Declared __slots__ now take effect in subclasses too.
In the 3.0 schema, the address field carries the address.
Publishes an empty message when a batch publisher has nothing to send.
Warns when a batch subscriber drops max_workers.
Resolves batch subscribers and publishers to one type rather than a Union.
Opens a concurrent subscriber's queue on start and closes it on stop.
Fixes brace escaping so it reaches consumers that read the declaration.
YAML and AsyncAPI errors are surfaced by docs serve.
Fixes the supervisor deadlock during shutdown.
NATS AsyncAPI channels now render filter_subjects.
Keeps a handler's declared call separate from its composed call.
Accepts KafkaPublishMessage in batch publish signatures.
Accepts a plain str as the License and Contact url.
Redis stream subscribers can use MANUAL ack_policy with max_workers.
Stops warning that no_ack has no effect with a Redis consumer group.
Types a plain Confluent publish() as the message rather than a Future.
Types the NATS pull consumer callback as a coroutine function.
Keeps the group read cursor in get_one and iterator.
Corrects the types of RedisClusterBroker ssl_* options.
A router prefix is included in the address it decorates.
A subscriber over several addresses is represented as several channels.
Corrects MQTT subscriber typing so a decorated handler stays typed by max_workers.
Fixes TelemetryMiddleware.
Tells users to install the extra when zmqtt is missing.
Skips the acknowledgement action when a handler is cancelled.
Prevents an instant resubscribe loop on a broken zmqtt 0.2.0 connection and adds new options.
Corrects partition assignment strategy type hints.
New Redis Stream groups consume existing entries.