Releases: airtai/faststream
v0.3.9
What's Changed
Bug fixes:
- fix (#1082): correct NatsTestClient stream publisher by @Lancetnik in #1083
Chore:
- chore: adding pragmas for detect-secrets by @davorrunje in #1080
Full Changelog: 0.3.8...0.3.9
v0.3.8
What's Changed
- bug: Fix
faststream.redis.fastapi.RedisRouter
stream and list subscription - bug: Fix
TestNatsClient
withbatch=True
- chore: add citation file by @Lancetnik in #1061
- docs: remove pragma comments by @Lancetnik in #1063
- docs: update README by @Lancetnik in #1064
- chore: increase rate limit and max connections by @kumaranvpl in #1070
- chore: packages updated by @davorrunje in #1076
- tests (#570): cover docs by @Lancetnik in #1077
Full Changelog: 0.3.7...0.3.8
v0.3.7
What's Changed
- feat (#974): add FastAPI Context by @Lancetnik in #1060
- chore: update pre-commit by @davorrunje in #1058
Support regular FastStream Context with FastAPI plugin
from fastapi import FastAPI
from faststream.redis.fastapi import RedisRouter, Logger
router = RedisRouter()
@router.subscriber("test")
async def handler(msg, logger: Logger):
logger.info(msg)
app = FastAPI(lifespan=router.lifespan_context)
app.include_router(router)
Full Changelog: 0.3.6...0.3.7
v0.3.6
What's Changed
- chore: correct update release CI by @Lancetnik in #1050
- Update Release Notes for main by @faststream-release-notes-updater in #1051
- chore: fix building docs script by @davorrunje in #1055
- 0.3.6 by @Lancetnik in #1056
- bug: remove
packaging
dependency - bug: correct FastAPI batch consuming
- docs: add search meta to all pages
- docs: polish all pages styles, fix typos
- chore: add ruff rule to check print
- bug: remove
Full Changelog: 0.3.5...0.3.6
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