Release Notes#
0.3.12#
What's Changed#
Bug fixes#
- fix (#1110): correct RMQ Topic pattern test publish by @Lancetnik in #1112
Misc#
- chore: upgraded packages, black replaced with ruff format by @davorrunje in #1097
- chore: upgraded packages by @davorrunje in #1111
Full Changelog: #0.3.11...0.3.12
0.3.11#
What's Changed#
NATS concurrent subscriber:
By default, NATS subscriber consumes messages with a block per subject. So, you can't process multiple messages from the same subject at the same time. But, with the broker.subscriber(..., max_workers=...)
option, you can! It creates an async tasks pool to consume multiple messages from the same subject and allows you to process them concurrently!
from faststream import FastStream
+ FastStream Release Notes
Release Notes#
0.3.13#
What's Changed#
New features#
- New shutdown logic by @Lancetnik in #1117
Bug fixes#
New Contributors#
Full Changelog: #0.3.12...0.3.13
0.3.12#
What's Changed#
Bug fixes#
- fix (#1110): correct RMQ Topic pattern test publish by @Lancetnik in #1112
Misc#
- chore: upgraded packages, black replaced with ruff format by @davorrunje in #1097
- chore: upgraded packages by @davorrunje in #1111
Full Changelog: #0.3.11...0.3.12
0.3.11#
What's Changed#
NATS concurrent subscriber:
By default, NATS subscriber consumes messages with a block per subject. So, you can't process multiple messages from the same subject at the same time. But, with the broker.subscriber(..., max_workers=...)
option, you can! It creates an async tasks pool to consume multiple messages from the same subject and allows you to process them concurrently!
from faststream import FastStream
from faststream.nats import NatsBroker
broker = NatsBroker()
@@ -18,7 +18,7 @@
@broker.subscriber("test-subject", max_workers=10)
async def handler(...):
"""Can process up to 10 messages in the same time."""
-
- Update Release Notes for 0.3.10 by @faststream-release-notes-updater in #1091
- fix (#1100): FastAPI 0.106 compatibility by @Lancetnik in #1102
Full Changelog: #0.3.10...0.3.11
0.3.10#
What's Changed#
New features#
- feat: Context initial option by @Lancetnik in #1086
Bug fixes#
- fix (#1087): add app_dir option to docs serve/gen commands by @Lancetnik in #1088
Documentation#
- docs: add Context initial section by @Lancetnik in #1089
Other#
- chore: linting by @davorrunje in #1081
- chore: delete accidentally added .bak file by @kumaranvpl in #1085
Full Changelog: #0.3.9...0.3.10
0.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
0.3.8#
What's Changed#
- bug: Fix
faststream.redis.fastapi.RedisRouter
stream and list subscription - bug: Fix
TestNatsClient
with batch=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
0.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
- Update Release Notes for 0.3.10 by @faststream-release-notes-updater in #1091
- fix (#1100): FastAPI 0.106 compatibility by @Lancetnik in #1102
Full Changelog: #0.3.10...0.3.11
0.3.10#
What's Changed#
New features#
- feat: Context initial option by @Lancetnik in #1086
Bug fixes#
- fix (#1087): add app_dir option to docs serve/gen commands by @Lancetnik in #1088
Documentation#
- docs: add Context initial section by @Lancetnik in #1089
Other#
- chore: linting by @davorrunje in #1081
- chore: delete accidentally added .bak file by @kumaranvpl in #1085
Full Changelog: #0.3.9...0.3.10
0.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
0.3.8#
What's Changed#
- bug: Fix
faststream.redis.fastapi.RedisRouter
stream and list subscription - bug: Fix
TestNatsClient
with batch=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
0.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()
@@ -29,7 +29,7 @@
app = FastAPI(lifespan=router.lifespan_context)
app.include_router(router)
-
Full Changelog: #0.3.6...0.3.7
0.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
Full Changelog: #0.3.5...0.3.6
0.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 application shutdown - Broker(graceful_timeout=30.0)
(waits up to 30
seconds)
- allows to get access 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
0.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
0.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
0.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
0.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
0.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:
Full Changelog: #0.3.6...0.3.7
0.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
Full Changelog: #0.3.5...0.3.6
0.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 application shutdown - Broker(graceful_timeout=30.0)
(waits up to 30
seconds)
- allows to get access 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
0.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
0.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
0.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
0.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
0.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:
Here is a little code example
from faststream import FastStream, Logger
from faststream.redis import RedisBroker
@@ -43,8 +43,8 @@
)
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#
- 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
0.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:
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#
- 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
0.2.15#
What's Changed#
Bug fixes#
- fix (#972): correct Context default behavior by @Lancetnik in https://github.com/airtai/faststream/pull/973
- fix: correct CLI run by @Lancetnik in https://github.com/airtai/faststream/pull/978
Documentation#
- docs: update readme docs link by @Lancetnik in https://github.com/airtai/faststream/pull/966
- docs: add a new landing page for docs by @harishmohanraj in https://github.com/airtai/faststream/pull/954
- docs: Fix broken internal links by @harishmohanraj in https://github.com/airtai/faststream/pull/976
- docs: use mkdocs footer by @Lancetnik in https://github.com/airtai/faststream/pull/977
Misc#
- test (#957): add AsyncAPI FastAPI security test by @Lancetnik in https://github.com/airtai/faststream/pull/958
- test: update tests for cli utils functions by @kumaranvpl in https://github.com/airtai/faststream/pull/960
- chore: update release notes for version 0.2.14 by @kumaranvpl in https://github.com/airtai/faststream/pull/961
- chore: Add back deleted index file for API Reference by @kumaranvpl in https://github.com/airtai/faststream/pull/963
- chore: bump dirty-equals from 0.6.0 to 0.7.1.post0 by @dependabot in https://github.com/airtai/faststream/pull/970
- chore: bump semgrep from 1.48.0 to 1.50.0 by @dependabot in https://github.com/airtai/faststream/pull/968
- chore: bump mkdocs-glightbox from 0.3.4 to 0.3.5 by @dependabot in https://github.com/airtai/faststream/pull/967
- chore: bump mkdocs-material from 9.4.8 to 9.4.10 by @dependabot in https://github.com/airtai/faststream/pull/971
- chore: bump ruff from 0.1.5 to 0.1.6 by @dependabot in https://github.com/airtai/faststream/pull/969
Full Changelog: https://github.com/airtai/faststream/compare/0.2.14...0.2.15
0.2.14#
What's Changed#
Bug fixes#
- fix: usage pass apps module rather than file path by @kumaranvpl in https://github.com/airtai/faststream/pull/955
- fix: trigger docs deployment by @davorrunje in https://github.com/airtai/faststream/pull/944
Documentation#
- docs: reduce built docs size by @Lancetnik in https://github.com/airtai/faststream/pull/952
- docs: fix update_release script by @Lancetnik in https://github.com/airtai/faststream/pull/945
Misc#
- chore: polishing by @davorrunje in https://github.com/airtai/faststream/pull/946
- сhore: add manual publish btn to CI by @Lancetnik in https://github.com/airtai/faststream/pull/950
- chore: limit open dev dependency versions by @kumaranvpl in https://github.com/airtai/faststream/pull/953
Full Changelog: https://github.com/airtai/faststream/compare/0.2.13...0.2.14
0.2.13#
What's Changed#
- chore: Remove uvloop python 3.12 restriction from pyproject by @sternakt in https://github.com/airtai/faststream/pull/914
- fix: mike deploy command by @kumaranvpl in https://github.com/airtai/faststream/pull/919
- chore: update dependencies by @Lancetnik in https://github.com/airtai/faststream/pull/920
- chore: use dev dependencies to build docs by @Lancetnik in https://github.com/airtai/faststream/pull/921
- chore: update packages' versions by @davorrunje in https://github.com/airtai/faststream/pull/937
- fix: FastAPI subscriber Path support by @Lancetnik in https://github.com/airtai/faststream/pull/931
Full Changelog: https://github.com/airtai/faststream/compare/0.2.12...0.2.13
0.2.12#
What's Changed#
- feat: NATS polling subscriber by @sheldygg in https://github.com/airtai/faststream/pull/912
Full Changelog: https://github.com/airtai/faststream/compare/0.2.11...0.2.12
0.2.11#
What's Changed#
Bug fixes#
- fix (#910): correct pydantic enum refs resolving by @Lancetnik in https://github.com/airtai/faststream/pull/911
Documentation#
- docs: update the number of lines of code referred to in the documentation by @vvanglro in https://github.com/airtai/faststream/pull/905
- docs: add API reference in docs by @kumaranvpl in https://github.com/airtai/faststream/pull/891
- docs: add release notes for version 0.2.10 by @kumaranvpl in https://github.com/airtai/faststream/pull/907
- docs: detail 0.2.10 release note by @Lancetnik in https://github.com/airtai/faststream/pull/908
- docs: proofread and update 0.2.10 release notes by @kumaranvpl in https://github.com/airtai/faststream/pull/909
New Contributors#
- @vvanglro made their first contribution in https://github.com/airtai/faststream/pull/905
Full Changelog: https://github.com/airtai/faststream/compare/0.2.10...0.2.11
- fix (#910): correct pydantic enum refs resolving by @Lancetnik in https://github.com/airtai/faststream/pull/911
Documentation#
- docs: update the number of lines of code referred to in the documentation by @vvanglro in https://github.com/airtai/faststream/pull/905
- docs: add API reference in docs by @kumaranvpl in https://github.com/airtai/faststream/pull/891
- docs: add release notes for version 0.2.10 by @kumaranvpl in https://github.com/airtai/faststream/pull/907
- docs: detail 0.2.10 release note by @Lancetnik in https://github.com/airtai/faststream/pull/908
- docs: proofread and update 0.2.10 release notes by @kumaranvpl in https://github.com/airtai/faststream/pull/909
New Contributors#
- @vvanglro made their first contribution in https://github.com/airtai/faststream/pull/905
Full Changelog: https://github.com/airtai/faststream/compare/0.2.10...0.2.11
0.2.10#
What's Changed#
Now, you can hide your connection secrets in the AsyncAPI schema by manually setting up the server URL:
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#
- 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
0.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:
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#
- 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
0.2.15#
What's Changed#
Bug fixes#
- fix (#972): correct Context default behavior by @Lancetnik in https://github.com/airtai/faststream/pull/973
- fix: correct CLI run by @Lancetnik in https://github.com/airtai/faststream/pull/978
Documentation#
- docs: update readme docs link by @Lancetnik in https://github.com/airtai/faststream/pull/966
- docs: add a new landing page for docs by @harishmohanraj in https://github.com/airtai/faststream/pull/954
- docs: Fix broken internal links by @harishmohanraj in https://github.com/airtai/faststream/pull/976
- docs: use mkdocs footer by @Lancetnik in https://github.com/airtai/faststream/pull/977
Misc#
- test (#957): add AsyncAPI FastAPI security test by @Lancetnik in https://github.com/airtai/faststream/pull/958
- test: update tests for cli utils functions by @kumaranvpl in https://github.com/airtai/faststream/pull/960
- chore: update release notes for version 0.2.14 by @kumaranvpl in https://github.com/airtai/faststream/pull/961
- chore: Add back deleted index file for API Reference by @kumaranvpl in https://github.com/airtai/faststream/pull/963
- chore: bump dirty-equals from 0.6.0 to 0.7.1.post0 by @dependabot in https://github.com/airtai/faststream/pull/970
- chore: bump semgrep from 1.48.0 to 1.50.0 by @dependabot in https://github.com/airtai/faststream/pull/968
- chore: bump mkdocs-glightbox from 0.3.4 to 0.3.5 by @dependabot in https://github.com/airtai/faststream/pull/967
- chore: bump mkdocs-material from 9.4.8 to 9.4.10 by @dependabot in https://github.com/airtai/faststream/pull/971
- chore: bump ruff from 0.1.5 to 0.1.6 by @dependabot in https://github.com/airtai/faststream/pull/969
Full Changelog: https://github.com/airtai/faststream/compare/0.2.14...0.2.15
0.2.14#
What's Changed#
Bug fixes#
- fix: usage pass apps module rather than file path by @kumaranvpl in https://github.com/airtai/faststream/pull/955
- fix: trigger docs deployment by @davorrunje in https://github.com/airtai/faststream/pull/944
Documentation#
- docs: reduce built docs size by @Lancetnik in https://github.com/airtai/faststream/pull/952
- docs: fix update_release script by @Lancetnik in https://github.com/airtai/faststream/pull/945
Misc#
- chore: polishing by @davorrunje in https://github.com/airtai/faststream/pull/946
- сhore: add manual publish btn to CI by @Lancetnik in https://github.com/airtai/faststream/pull/950
- chore: limit open dev dependency versions by @kumaranvpl in https://github.com/airtai/faststream/pull/953
Full Changelog: https://github.com/airtai/faststream/compare/0.2.13...0.2.14
0.2.13#
What's Changed#
- chore: Remove uvloop python 3.12 restriction from pyproject by @sternakt in https://github.com/airtai/faststream/pull/914
- fix: mike deploy command by @kumaranvpl in https://github.com/airtai/faststream/pull/919
- chore: update dependencies by @Lancetnik in https://github.com/airtai/faststream/pull/920
- chore: use dev dependencies to build docs by @Lancetnik in https://github.com/airtai/faststream/pull/921
- chore: update packages' versions by @davorrunje in https://github.com/airtai/faststream/pull/937
- fix: FastAPI subscriber Path support by @Lancetnik in https://github.com/airtai/faststream/pull/931
Full Changelog: https://github.com/airtai/faststream/compare/0.2.12...0.2.13
0.2.12#
What's Changed#
- feat: NATS polling subscriber by @sheldygg in https://github.com/airtai/faststream/pull/912
Full Changelog: https://github.com/airtai/faststream/compare/0.2.11...0.2.12
0.2.11#
What's Changed#
Bug fixes#
- fix (#910): correct pydantic enum refs resolving by @Lancetnik in https://github.com/airtai/faststream/pull/911
Documentation#
- docs: update the number of lines of code referred to in the documentation by @vvanglro in https://github.com/airtai/faststream/pull/905
- docs: add API reference in docs by @kumaranvpl in https://github.com/airtai/faststream/pull/891
- docs: add release notes for version 0.2.10 by @kumaranvpl in https://github.com/airtai/faststream/pull/907
- docs: detail 0.2.10 release note by @Lancetnik in https://github.com/airtai/faststream/pull/908
- docs: proofread and update 0.2.10 release notes by @kumaranvpl in https://github.com/airtai/faststream/pull/909
New Contributors#
- @vvanglro made their first contribution in https://github.com/airtai/faststream/pull/905
Full Changelog: https://github.com/airtai/faststream/compare/0.2.10...0.2.11
- fix (#910): correct pydantic enum refs resolving by @Lancetnik in https://github.com/airtai/faststream/pull/911
Documentation#
- docs: update the number of lines of code referred to in the documentation by @vvanglro in https://github.com/airtai/faststream/pull/905
- docs: add API reference in docs by @kumaranvpl in https://github.com/airtai/faststream/pull/891
- docs: add release notes for version 0.2.10 by @kumaranvpl in https://github.com/airtai/faststream/pull/907
- docs: detail 0.2.10 release note by @Lancetnik in https://github.com/airtai/faststream/pull/908
- docs: proofread and update 0.2.10 release notes by @kumaranvpl in https://github.com/airtai/faststream/pull/909
New Contributors#
- @vvanglro made their first contribution in https://github.com/airtai/faststream/pull/905
Full Changelog: https://github.com/airtai/faststream/compare/0.2.10...0.2.11
0.2.10#
What's Changed#
Now, you can hide your connection secrets in the AsyncAPI schema by manually setting up the server URL:
broker = RabbitBroker(
"amqp://guest:guest@localhost:5672/", # Connection URL
asyncapi_url="amqp://****:****@localhost:5672/", # Public schema URL
)
@@ -54,7 +54,7 @@
)
# amqp://guest:guest@127.0.0.1:5672/ - The final URL
-
* A more suitable faststream.security
import instead of faststream.broker.security
* chore: add release notes for 0.2.9 by @kumaranvpl in https://github.com/airtai/faststream/pull/894 * chore: upgrade packages by @davorrunje in https://github.com/airtai/faststream/pull/901 * chore: use js redirect and redirect to version by @kumaranvpl in https://github.com/airtai/faststream/pull/902 * feat: add asyncapi_url
broker arg by @Lancetnik in https://github.com/airtai/faststream/pull/903 Full Changelog: https://github.com/airtai/faststream/compare/0.2.9...0.2.10
0.2.9#
What's Changed#
- docs: fix grammatical errors in README.md by @JanumalaAkhilendra in https://github.com/airtai/faststream/pull/880
- chore: update release notes by @davorrunje in https://github.com/airtai/faststream/pull/881
- docs: use meta tag for redirect by @kumaranvpl in https://github.com/airtai/faststream/pull/886
- chore: semgrep upgrade by @davorrunje in https://github.com/airtai/faststream/pull/888
- docs: update README.md by @bhargavshirin in https://github.com/airtai/faststream/pull/889
- fix (#892): use normalized subjects in NATS streams by @Lancetnik in https://github.com/airtai/faststream/pull/893
New Contributors#
- @JanumalaAkhilendra made their first contribution in https://github.com/airtai/faststream/pull/880
- @bhargavshirin made their first contribution in https://github.com/airtai/faststream/pull/889
Full Changelog: https://github.com/airtai/faststream/compare/0.2.8...0.2.9
0.2.8#
What's Changed#
- fix: FASTAPI_V2 always True by @shepilov-vladislav in https://github.com/airtai/faststream/pull/877
- feat: better RMQ AsyncAPI by @Lancetnik in https://github.com/airtai/faststream/pull/879
New Contributors#
- @shepilov-vladislav made their first contribution in https://github.com/airtai/faststream/pull/877
Full Changelog: https://github.com/airtai/faststream/compare/0.2.7...0.2.8
0.2.7#
What's Changed#
- fix: ImportError: typing 'override' from 'faststream._compat' (python 3.12) by @Jaroslav2001 in https://github.com/airtai/faststream/pull/870
- fix: remove jsonref dependency by @Lancetnik in https://github.com/airtai/faststream/pull/873
Full Changelog: https://github.com/airtai/faststream/compare/0.2.6...0.2.7
0.2.6#
What's Changed#
- docs: add avro encoding, decoding examples by @kumaranvpl in https://github.com/airtai/faststream/pull/844
- docs: fix typo in README.md by @omimakhare in https://github.com/airtai/faststream/pull/849
- fix: update mypy, semgrep versions and fix arg-type mypy error by @kumaranvpl in https://github.com/airtai/faststream/pull/851
- docs: fix typo by @kumaranvpl in https://github.com/airtai/faststream/pull/859
- docs: detail Release Notes by @Lancetnik in https://github.com/airtai/faststream/pull/855
- docs: write documentation for kafka security by @sternakt in https://github.com/airtai/faststream/pull/860
- docs: asyncapi tool config added by @davorrunje in https://github.com/airtai/faststream/pull/861
- docs: retain GET params while redirecting by @kumaranvpl in https://github.com/airtai/faststream/pull/862
- docs: add article for using FastStream with Django by @kumaranvpl in https://github.com/airtai/faststream/pull/864
- chore: discord invite link changed by @davorrunje in https://github.com/airtai/faststream/pull/863
- docs: add some Django integration details by @Lancetnik in https://github.com/airtai/faststream/pull/866
- fix: remove pydantic defs in AsyncAPI schema by @Lancetnik in https://github.com/airtai/faststream/pull/869
New Contributors#
- @omimakhare made their first contribution in https://github.com/airtai/faststream/pull/849
Full Changelog: https://github.com/airtai/faststream/compare/0.2.5...0.2.6
0.2.5#
What's Changed#
- fix: pass missing parameters and update docs by @sheldygg in https://github.com/airtai/faststream/pull/841
Full Changelog: https://github.com/airtai/faststream/compare/0.2.4...0.2.5
0.2.4#
New Functionalities#
Now, Context
provides access to inner dict keys too:
* A more suitable faststream.security
import instead of faststream.broker.security
* chore: add release notes for 0.2.9 by @kumaranvpl in https://github.com/airtai/faststream/pull/894 * chore: upgrade packages by @davorrunje in https://github.com/airtai/faststream/pull/901 * chore: use js redirect and redirect to version by @kumaranvpl in https://github.com/airtai/faststream/pull/902 * feat: add asyncapi_url
broker arg by @Lancetnik in https://github.com/airtai/faststream/pull/903 Full Changelog: https://github.com/airtai/faststream/compare/0.2.9...0.2.10
0.2.9#
What's Changed#
- docs: fix grammatical errors in README.md by @JanumalaAkhilendra in https://github.com/airtai/faststream/pull/880
- chore: update release notes by @davorrunje in https://github.com/airtai/faststream/pull/881
- docs: use meta tag for redirect by @kumaranvpl in https://github.com/airtai/faststream/pull/886
- chore: semgrep upgrade by @davorrunje in https://github.com/airtai/faststream/pull/888
- docs: update README.md by @bhargavshirin in https://github.com/airtai/faststream/pull/889
- fix (#892): use normalized subjects in NATS streams by @Lancetnik in https://github.com/airtai/faststream/pull/893
New Contributors#
- @JanumalaAkhilendra made their first contribution in https://github.com/airtai/faststream/pull/880
- @bhargavshirin made their first contribution in https://github.com/airtai/faststream/pull/889
Full Changelog: https://github.com/airtai/faststream/compare/0.2.8...0.2.9
0.2.8#
What's Changed#
- fix: FASTAPI_V2 always True by @shepilov-vladislav in https://github.com/airtai/faststream/pull/877
- feat: better RMQ AsyncAPI by @Lancetnik in https://github.com/airtai/faststream/pull/879
New Contributors#
- @shepilov-vladislav made their first contribution in https://github.com/airtai/faststream/pull/877
Full Changelog: https://github.com/airtai/faststream/compare/0.2.7...0.2.8
0.2.7#
What's Changed#
- fix: ImportError: typing 'override' from 'faststream._compat' (python 3.12) by @Jaroslav2001 in https://github.com/airtai/faststream/pull/870
- fix: remove jsonref dependency by @Lancetnik in https://github.com/airtai/faststream/pull/873
Full Changelog: https://github.com/airtai/faststream/compare/0.2.6...0.2.7
0.2.6#
What's Changed#
- docs: add avro encoding, decoding examples by @kumaranvpl in https://github.com/airtai/faststream/pull/844
- docs: fix typo in README.md by @omimakhare in https://github.com/airtai/faststream/pull/849
- fix: update mypy, semgrep versions and fix arg-type mypy error by @kumaranvpl in https://github.com/airtai/faststream/pull/851
- docs: fix typo by @kumaranvpl in https://github.com/airtai/faststream/pull/859
- docs: detail Release Notes by @Lancetnik in https://github.com/airtai/faststream/pull/855
- docs: write documentation for kafka security by @sternakt in https://github.com/airtai/faststream/pull/860
- docs: asyncapi tool config added by @davorrunje in https://github.com/airtai/faststream/pull/861
- docs: retain GET params while redirecting by @kumaranvpl in https://github.com/airtai/faststream/pull/862
- docs: add article for using FastStream with Django by @kumaranvpl in https://github.com/airtai/faststream/pull/864
- chore: discord invite link changed by @davorrunje in https://github.com/airtai/faststream/pull/863
- docs: add some Django integration details by @Lancetnik in https://github.com/airtai/faststream/pull/866
- fix: remove pydantic defs in AsyncAPI schema by @Lancetnik in https://github.com/airtai/faststream/pull/869
New Contributors#
- @omimakhare made their first contribution in https://github.com/airtai/faststream/pull/849
Full Changelog: https://github.com/airtai/faststream/compare/0.2.5...0.2.6
0.2.5#
What's Changed#
- fix: pass missing parameters and update docs by @sheldygg in https://github.com/airtai/faststream/pull/841
Full Changelog: https://github.com/airtai/faststream/compare/0.2.4...0.2.5
0.2.4#
New Functionalities#
Now, Context
provides access to inner dict keys too:
# headers is a `dict`
async def handler(
user_id: int = Context("message.headers.user_id", cast=True),
): ...
@@ -67,4 +67,4 @@
async def handler(
level: str = Path(),
)
-
Also, the original message Context
annotation was copied from faststream.[broker].annotations.[Broker]Message
to faststream.[broker].[Broker]Message
to provide you with faster access to the most commonly used object (NATS example).
What's Changed#
- Remove faststream_gen docs and remove code to generate fastream_gen docs by @kumaranvpl in https://github.com/airtai/faststream/pull/824
- Update docs article to use cookiecutter template by @kumaranvpl in https://github.com/airtai/faststream/pull/828
- Split real broker tests to independent runs by @Lancetnik in https://github.com/airtai/faststream/pull/825
- Remove unused docs/docs_src/kafka examples and its tests by @kumaranvpl in https://github.com/airtai/faststream/pull/829
- Run docs deployment only for specific file changes by @kumaranvpl in https://github.com/airtai/faststream/pull/830
- Fix formatting in deploy docs workflow by @kumaranvpl in https://github.com/airtai/faststream/pull/833
- Path operations by @Lancetnik in https://github.com/airtai/faststream/pull/823
- Mypy error fixed for uvloop by @davorrunje in https://github.com/airtai/faststream/pull/839
Full Changelog: https://github.com/airtai/faststream/compare/0.2.3...0.2.4
0.2.3#
What's Changed#
- Fix: disable test features with TestClient by @Lancetnik in https://github.com/airtai/faststream/pull/813
- New AsyncAPI naming by @Sternakt in https://github.com/airtai/faststream/pull/735
Full Changelog: https://github.com/airtai/faststream/compare/0.2.2...0.2.3
0.2.2#
What's Changed#
- Adds specific mypy ignore comment by @kumaranvpl in https://github.com/airtai/faststream/pull/803
- Adds redirect template with mike by @kumaranvpl in https://github.com/airtai/faststream/pull/808
- Adds google analytics script to redirect template by @kumaranvpl in https://github.com/airtai/faststream/pull/809
- Adds conditional import of uvloop for Python versions less than 3.12 by @davorrunje in https://github.com/airtai/faststream/pull/798
- Adds missing nats imports by @sheldygg in https://github.com/airtai/faststream/pull/795
- Adds Kafka acknowledgement by @Lancetnik in https://github.com/airtai/faststream/pull/793
New Contributors#
- @sheldygg made their first contribution in https://github.com/airtai/faststream/pull/795
Full Changelog: https://github.com/airtai/faststream/compare/0.2.1...0.2.2
0.2.1#
What's Changed#
- Add custom 404 error page by @kumaranvpl in https://github.com/airtai/faststream/pull/792
- Add README NATS mention by @Lancetnik in https://github.com/airtai/faststream/pull/788
- Conditional import of uvloop for Python versions less than 3.12 by @davorrunje in https://github.com/airtai/faststream/pull/798
Full Changelog: https://github.com/airtai/faststream/compare/0.2.0...0.2.1
0.2.0#
What's Changed#
- Add comprehensive guide on how to use faststream template by @kumaranvpl in https://github.com/airtai/faststream/pull/772
- Open external links in new tab by @kumaranvpl in https://github.com/airtai/faststream/pull/774
- Publish docs for minor version not for every patch by @davorrunje in https://github.com/airtai/faststream/pull/777
- Complete Kafka part of faststream docs by @Sternakt in https://github.com/airtai/faststream/pull/775
- Bump semgrep from 1.41.0 to 1.42.0 by @dependabot in https://github.com/airtai/faststream/pull/787
- Add 0.2.0 NATS support by @Lancetnik in https://github.com/airtai/faststream/pull/692
Full Changelog: https://github.com/airtai/faststream/compare/0.1.6...0.2.0
0.1.6#
What's Changed#
- Add coverage badge at docs index by @kumaranvpl in https://github.com/airtai/faststream/pull/762
- Fill asyncapi custom information page by @Sternakt in https://github.com/airtai/faststream/pull/767
- Add article for using faststream template by @kumaranvpl in https://github.com/airtai/faststream/pull/768
- Use httpx instead of requests by @rjambrecic in https://github.com/airtai/faststream/pull/771
Full Changelog: https://github.com/airtai/faststream/compare/0.1.5...0.1.6
0.1.4#
What's Changed#
- tiny typo by @julzhk in https://github.com/airtai/faststream/pull/740
- docs: add docs mention by @Lancetnik in https://github.com/airtai/faststream/pull/744
- Add code of conduct and include badge for it in README by @kumaranvpl in https://github.com/airtai/faststream/pull/747
- Fixed docs building when pydantic version less than 2.4.0 by @davorrunje in https://github.com/airtai/faststream/pull/748
- fix: raise inner exceptions in
with_real
tests by @Lancetnik in https://github.com/airtai/faststream/pull/751 - docs fix by @davorrunje in https://github.com/airtai/faststream/pull/752
- Bugfixes 745 by @Lancetnik in https://github.com/airtai/faststream/pull/749
New Contributors#
- @julzhk made their first contribution in https://github.com/airtai/faststream/pull/740
Full Changelog: https://github.com/airtai/faststream/compare/0.1.3...0.1.4
0.1.3#
What's Changed#
- docs: fix styles by @Lancetnik in https://github.com/airtai/faststream/pull/717
- test (#638): extra AsyncAPI channel naming test by @Lancetnik in https://github.com/airtai/faststream/pull/719
- test: cover docs_src/context by @Lancetnik in https://github.com/airtai/faststream/pull/723
- library to framework changed by @davorrunje in https://github.com/airtai/faststream/pull/724
- Create templates for issues and pull requests by @kumaranvpl in https://github.com/airtai/faststream/pull/727
- Bump actions/dependency-review-action from 2 to 3 by @dependabot in https://github.com/airtai/faststream/pull/728
- Bump actions/cache from 2 to 3 by @dependabot in https://github.com/airtai/faststream/pull/729
- Bump semgrep from 1.40.0 to 1.41.0 by @dependabot in https://github.com/airtai/faststream/pull/732
- Bump ruff from 0.0.290 to 0.0.291 by @dependabot in https://github.com/airtai/faststream/pull/733
- Polish contributing file and remove duplicate docker compose file by @kumaranvpl in https://github.com/airtai/faststream/pull/734
- Bump dawidd6/action-download-artifact from 2.26.0 to 2.28.0 by @dependabot in https://github.com/airtai/faststream/pull/731
- Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/airtai/faststream/pull/730
- Pydantiv2.4.0 compat by @Lancetnik in https://github.com/airtai/faststream/pull/738
- fix: add url option to _connection_args by @Lancetnik in https://github.com/airtai/faststream/pull/739
- Fix typos and grammar in Kafka and RabbitMQ articles in the docs by @kumaranvpl in https://github.com/airtai/faststream/pull/736
Full Changelog: https://github.com/airtai/faststream/compare/0.1.1...0.1.3
0.1.1#
What's Changed#
- Bump ruff from 0.0.289 to 0.0.290 by @dependabot in https://github.com/airtai/faststream/pull/672
- Make docs port configurable in serve-docs.sh by @kumaranvpl in https://github.com/airtai/faststream/pull/675
- Fix docs img by @Sternakt in https://github.com/airtai/faststream/pull/673
- Added release notes by @davorrunje in https://github.com/airtai/faststream/pull/679
- Fix typos, grammar mistakes in index and README by @kumaranvpl in https://github.com/airtai/faststream/pull/681
- Add smokeshow workflow to update coverage badge by @kumaranvpl in https://github.com/airtai/faststream/pull/687
- fix: correct rmq delayed handler router registration by @Lancetnik in https://github.com/airtai/faststream/pull/691
- Add faststream-gen section and crypto tutorial in Getting started by @rjambrecic in https://github.com/airtai/faststream/pull/689
- Fix typos and grammar mistakes by @kumaranvpl in https://github.com/airtai/faststream/pull/699
- fix: correct StreamRouter broker annotation by @Lancetnik in https://github.com/airtai/faststream/pull/700
- typos fixed by @davorrunje in https://github.com/airtai/faststream/pull/701
- Add faststream-gen section inside the README.md by @rjambrecic in https://github.com/airtai/faststream/pull/707
- Fix broken links in README file by @harishmohanraj in https://github.com/airtai/faststream/pull/706
- publish to PyPi added to CI by @davorrunje in https://github.com/airtai/faststream/pull/710
- Fix example and async docs images by @Sternakt in https://github.com/airtai/faststream/pull/713
- 696 add example to faststream gen examples which uses datetime attribute by @rjambrecic in https://github.com/airtai/faststream/pull/714
- release 0.1.1 by @davorrunje in https://github.com/airtai/faststream/pull/715
Full Changelog: https://github.com/airtai/faststream/commits/0.1.1
0.1.0#
FastStream is a new package based on the ideas and experiences gained from FastKafka and Propan. By joining our forces, we picked up the best from both packages and created the unified way to write services capable of processing streamed data regardless of the underlying protocol. We'll continue to maintain both packages, but new development will be in this project. If you are starting a new service, this package is the recommended way to do it.
Features#
FastStream simplifies the process of writing producers and consumers for message queues, handling all the parsing, networking and documentation generation automatically.
Making streaming microservices has never been easier. Designed with junior developers in mind, FastStream simplifies your work while keeping the door open for more advanced use-cases. Here's a look at the core features that make FastStream a go-to framework for modern, data-centric microservices.
-
Multiple Brokers: FastStream provides a unified API to work across multiple message brokers (Kafka, RabbitMQ support)
-
Pydantic Validation: Leverage Pydantic's validation capabilities to serialize and validates incoming messages
-
Automatic Docs: Stay ahead with automatic AsyncAPI documentation.
-
Intuitive: full typed editor support makes your development experience smooth, catching errors before they reach runtime
-
Powerful Dependency Injection System: Manage your service dependencies efficiently with FastStream's built-in DI system.
-
Testable: supports in-memory tests, making your CI/CD pipeline faster and more reliable
-
Extendable: use extensions for lifespans, custom serialization and middlewares
-
Integrations: FastStream is fully compatible with any HTTP framework you want (FastAPI especially)
-
Built for Automatic Code Generation: FastStream is optimized for automatic code generation using advanced models like GPT and Llama
That's FastStream in a nutshell—easy, efficient, and powerful. Whether you're just starting with streaming microservices or looking to scale, FastStream has got you covered.