Releases: airtai/faststream
v0.3.5
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
What's Changed
Features:
- feat: add support for anyio 4.x by @davorrunje in #1044
Documentation
- docs: add multiple FastAPI routers section by @Lancetnik in #1041
Chore
- chore: updated release notes by @davorrunje in #1040
- chore: use Github App to generate token for release notes PR by @kumaranvpl in #1043
Full Changelog: 0.3.3...0.3.4
v0.3.3
What's Changed
Features:
- feat: add support for Python 3.12 by @davorrunje in #1034
Chores:
- chore: updated release notes and upgraded packages by @davorrunje in #1029
Full Changelog: 0.3.2...0.3.3
v0.3.2
What's Changed
New features:
- feat: add Redis security configuration by @sternakt and @Lancetnik in #1025
- feat: add list of Messages NATS PullSub by @SepehrBazyar in #1023
Chore:
- chore: polishing by @davorrunje in #1016
- chore: update release notes by @davorrunje in #1017
- chore: bump pytest-asyncio from 0.21.1 to 0.23.2 by @dependabot in #1019
- chore: bump semgrep from 1.50.0 to 1.51.0 by @dependabot in #1018
- chore: add pull_request permission to workflow by @kumaranvpl in #1022
Full Changelog: 0.3.1...0.3.2
v0.3.1
What's Changed
Features:
- feat: added reply-to delivery mode for RabbitMQ by @Lancetnik in #1015
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
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 ...
ask=["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
- test: improve coverage by @Lancetnik in #983
Documentation
- docs: fix module name in NATS example by @SepehrBazyar in #993
- docs: Update docs to add how to customize asyncapi docs by @kumaranvpl in #999
- docs: polish Redis pages by @Lancetnik in #1005
- docs: bump docs to the new taskiq-faststream version by @Lancetnik in #1009
Chore
- chore: add broken link checker by @kumaranvpl in #985
- chore: disable verbose in check broken links workflow by @kumaranvpl in #986
- chore: add left out md files to fix broken links by @kumaranvpl in #987
- chore: update mike workflow to use config by @Lancetnik in #982
- chore: add workflow to update release notes automatically by @kumaranvpl in #992
- chore: pip packages version updated by @davorrunje in #998
- chore: create PR to merge updated release notes by @kumaranvpl in #1004
New Contributors
- @SepehrBazyar made their first contribution in #993
- @mihail8531 made their first contribution in #988
Full Changelog: 0.2.15...0.3.0
v0.3.0rc0
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 ...
ask=["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
- test: improve coverage by @Lancetnik in #983
Documentation
- docs: fix module name in NATS example by @SepehrBazyar in #993
- docs: Update docs to add how to customize asyncapi docs by @kumaranvpl in #999
Chore
- chore: add broken link checker by @kumaranvpl in #985
- chore: disable verbose in check broken links workflow by @kumaranvpl in #986
- chore: add left out md files to fix broken links by @kumaranvpl in #987
- chore: update mike workflow to use config by @Lancetnik in #982
- chore: add workflow to update release notes automatically by @kumaranvpl in #992
- chore: pip packages version updated by @davorrunje in #998
New Contributors
- @SepehrBazyar made their first contribution in #993
Full Changelog: 0.2.15...0.3.0rc0
v0.2.15
What's Changed
Bug fixes
- fix (#972): correct Context default behavior by @Lancetnik in #973
- fix: correct CLI run by @Lancetnik in #978
Documentation
- docs: update readme docs link by @Lancetnik in #966
- docs: add a new landing page for docs by @harishmohanraj in #954
- docs: Fix broken internal links by @harishmohanraj in #976
- docs: use mkdocs footer by @Lancetnik in #977
Misc
- test (#957): add AsyncAPI FastAPI security test by @Lancetnik in #958
- test: update tests for cli utils functions by @kumaranvpl in #960
- chore: update release notes for version 0.2.14 by @kumaranvpl in #961
- chore: Add back deleted index file for API Reference by @kumaranvpl in #963
- chore: bump dirty-equals from 0.6.0 to 0.7.1.post0 by @dependabot in #970
- chore: bump semgrep from 1.48.0 to 1.50.0 by @dependabot in #968
- chore: bump mkdocs-glightbox from 0.3.4 to 0.3.5 by @dependabot in #967
- chore: bump mkdocs-material from 9.4.8 to 9.4.10 by @dependabot in #971
- chore: bump ruff from 0.1.5 to 0.1.6 by @dependabot in #969
Full Changelog: 0.2.14...0.2.15
v0.2.14
What's Changed
Bug fixes
- fix: usage pass apps module rather than file path by @kumaranvpl in #955
- fix: trigger docs deployment by @davorrunje in #944
Documentation
- docs: reduce builded docs size by @Lancetnik in #952
- docs: fix update_release script by @Lancetnik in #945
Misc
- chore: polishing by @davorrunje in #946
- сhore: add manual publish btn to CI by @Lancetnik in #950
- chore: limit open dev dependency versions by @kumaranvpl in #953
Full Changelog: 0.2.13...0.2.14
v0.2.13
What's Changed
*chore: rRemove uvloop python 3.12 restriction from pyproject by @sternakt in #914
- fix: mike deploy command by @kumaranvpl in #919
- chore: update dependencies by @Lancetnik in #920
- chore: use dev dependencies to build docs by @Lancetnik in #921
- chore: update packages' versions by @davorrunje in #937
- fix: FastAPI subscriber Path support by @Lancetnik in #931
Full Changelog: 0.2.12...0.2.13