Skip to content

Releases: airtai/faststream

v0.3.5

13 Dec 17:57
722a71c
Compare
Choose a tag to compare

What's Changed

A large update by @Lancetnik in #1048

Provides with the ability to setup graceful_timeout to wait for consumed messages processed correctly before apllication shutdown - Broker(graceful_timeout=30.0) (waits up to 30 seconds)

  • allows to get acces to context.get_local("message") from FastAPI plugin
  • docs: fix Avro custom serialization example
  • docs: add KafkaBroker publish_batch notice
  • docs: add RabbitMQ security page
  • fix: respect retry attempts with NackMessage exception
  • test Kafka nack and reject behavior
  • bug: fix import error with anyio version 4.x by @davorrunje in #1049

Full Changelog: 0.3.4...0.3.5

v0.3.4

13 Dec 10:55
fdc4636
Compare
Choose a tag to compare

What's Changed

Features:

Documentation

Chore

Full Changelog: 0.3.3...0.3.4

v0.3.3

11 Dec 17:59
e7c05d6
Compare
Choose a tag to compare

What's Changed

Features:

Chores:

Full Changelog: 0.3.2...0.3.3

v0.3.2

08 Dec 09:54
e895b94
Compare
Choose a tag to compare

What's Changed

New features:

Chore:

Full Changelog: 0.3.1...0.3.2

v0.3.1

03 Dec 21:05
cfe3666
Compare
Choose a tag to compare

What's Changed

Features:

Bug fixes:

  • fix: non-payload information injected included in AsyncAPI docs by @Lancetnik in #1015

Documentation:

  • docs: fix misspelled FastDepends reference in README.md by @spectacularfailure in #1013

New Contributors

  • @spectacularfailure made their first contribution in #1013

Full Changelog: 0.3.0...0.3.1

v0.3.0

02 Dec 16:40
2e56f81
Compare
Choose a tag to compare

What's Changed

The main feature of the 0.3.0 release is added Redis support by @Lancetnik in #1003

You can install it by the following command:

pip install "faststream[redis]"

Here is a little code example

from faststream import FastStream, Logger
from faststream.redis import RedisBroker

broker = RedisBroker()
app = FastStream(broker)

@broker.subscriber(
    channel="test",  # or
    # list="test",     or
    # stream="test",
)
async def handle(msg: str, logger: Logger):
    logger.info(msg)

Other features

  • feat: show reload directories with --reload flag by @Lancetnik in #981
  • feat: implement validate and no_ack subscriber options (#926) by @mihail8531 in #988
  • other features by @Lancetnik in #1003
    • Improve error logs (missing CLI arguments, undefined starting)
    • Add faststream docs serve --reload ... option for documentation hotreload
    • Add faststream run --reload-extension .env option to watch by changes in such files
    • Support faststream run -k 1 -k 2 ... as k=["1", "2"] extra options
    • Add subscriber, publisher and router include_in_schema: bool argument to disable AsyncAPI render
    • remove watchfiles from default distribution
    • Allow create broker.publisher with already running broker
    • FastAPI-like lifespan FastStream application context manager
    • automatic TestBroker(connect_only=...) argument based on AST
    • add NatsMessage.in_progress() method

Testing

Documentation

Chore

New Contributors

Full Changelog: 0.2.15...0.3.0

v0.3.0rc0

30 Nov 21:38
87ed808
Compare
Choose a tag to compare
v0.3.0rc0 Pre-release
Pre-release

What's Changed

The main feature of the 0.3.x release is added Redis support by @Lancetnik in #1003

You can install it manually:

pip install faststream==0.3.0rc0 && pip install "faststream[redis]"

Other features

  • feat: show reload directories with --reload flag by @Lancetnik in #981
  • Improve error logs (missing CLI arguments, undefined starting)
  • Add faststream docs serve --reload ... option for documentation hotreload
  • Add faststream run --reload-extension .env option to watch by changes in such files
  • Support faststream run -k 1 -k 2 ... as k=["1", "2"] extra options
  • Add subscriber, publisher and router include_in_schema: bool argument to disable AsyncAPI render
  • remove watchfiles from default distribution
  • Allow create broker.publisher with already running broker
  • FastAPI-like lifespan FastStream application context manager
  • automatic TestBroker(connect_only=...) argument based on AST
  • add NatsMessage.in_progress() method

Testing

Documentation

Chore

New Contributors

Full Changelog: 0.2.15...0.3.0rc0

v0.2.15

21 Nov 16:05
6670a62
Compare
Choose a tag to compare

What's Changed

Bug fixes

Documentation

Misc

Full Changelog: 0.2.14...0.2.15

v0.2.14

16 Nov 17:36
9fa7ddd
Compare
Choose a tag to compare

What's Changed

Bug fixes

Documentation

Misc

Full Changelog: 0.2.13...0.2.14

v0.2.13

13 Nov 14:25
e2f9148
Compare
Choose a tag to compare

What's Changed

*chore: rRemove uvloop python 3.12 restriction from pyproject by @sternakt in #914

Full Changelog: 0.2.12...0.2.13