Releases: airtai/faststream
v0.2.12
v0.2.11
What's Changed
Bug fixes
- fix (#910): correct pydantic enum refs resolving by @Lancetnik in #911
Documentation
- docs: update the number of lines of code referred to in the documentation by @vvanglro in #905
- docs: add API reference in docs by @kumaranvpl in #891
- docs: add release notes for version 0.2.10 by @kumaranvpl in #907
- docs: detail 0.2.10 release note by @Lancetnik in #908
- docs: proofread and update 0.2.10 release notes by @kumaranvpl in #909
New Contributors
Full Changelog: 0.2.10...0.2.11
v0.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
)
Additionally, the RabbitMQ AsyncAPI schema has been improved, adding support for faststream.security
, and the connection scheme is now defined automatically.
RabbitMQ connection parameters are now merged, allowing you to define the main connection data as a URL string and customize it using kwargs:
broker = RabbitBroker(
"amqp://guest:guest@localhost:5672/",
host="127.0.0.1",
)
# amqp://guest:[email protected]:5672/ - The final URL
- A more suitable
faststream.security
import instead offaststream.broker.security
- chore: add release notes for 0.2.9 by @kumaranvpl in #894
- chore: upgrade packages by @davorrunje in #901
- chore: use js redirect and redirect to version by @kumaranvpl in #902
- feat: add
asyncapi_url
broker arg by @Lancetnik in #903
Full Changelog: 0.2.9...0.2.10
v0.2.9
What's Changed
- docs: fix grammatical errors in README.md by @JanumalaAkhilendra in #880
- chore: update release notes by @davorrunje in #881
- docs: use meta tag for redirect by @kumaranvpl in #886
- chore: semgrep upgrade by @davorrunje in #888
- docs: update README.md by @bhargavshirin in #889
- fix (#892): use normalized subjects in NATS streams by @Lancetnik in #893
New Contributors
- @JanumalaAkhilendra made their first contribution in #880
- @bhargavshirin made their first contribution in #889
Full Changelog: 0.2.8...0.2.9
v0.2.8
What's Changed
- fix: FASTAPI_V2 always True by @shepilov-vladislav in #877
- feat: better RMQ AsyncAPI by @Lancetnik in #879
New Contributors
- @shepilov-vladislav made their first contribution in #877
Full Changelog: 0.2.7...0.2.8
v0.2.7
What's Changed
- fix: ImportError: typing 'override' from 'faststream._compat' (python 3.12) by @Jaroslav2001 in #870
- fix: remove jsonref dependency by @Lancetnik in #873
Full Changelog: 0.2.6...0.2.7
v0.2.6
What's Changed
- docs: add avro encoding, decoding examples by @kumaranvpl in #844
- docs: fix typo in README.md by @omimakhare in #849
- fix: update mypy, semgrep versions and fix arg-type mypy error by @kumaranvpl in #851
- docs: fix typo by @kumaranvpl in #859
- docs: detail Release Notes by @Lancetnik in #855
- docs: write documentation for kafka security by @sternakt in #860
- docs: asyncapi tool config added by @davorrunje in #861
- docs: retain GET params while redirecting by @kumaranvpl in #862
- docs: add article for using FastStream with Django by @kumaranvpl in #864
- chore: discord invite link changed by @davorrunje in #863
- docs: add some Django integration details by @Lancetnik in #866
- fix: remove pydantic defs in AsyncAPI schema by @Lancetnik in #869
New Contributors
- @omimakhare made their first contribution in #849
Full Changelog: 0.2.5...0.2.6
v0.2.5
What's Changed
Full Changelog: 0.2.4...0.2.5
v0.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),
): ...
Added Header
object as a shortcut to Context("message.headers.")
inner fields (NATS example):
# the same with the previous example
async def handler(
user_id: int = Header(),
u_id: int = Header("user_id"), # with custom name
): ...
Added Path
object to get access to NATS wildcard subject or RabbitMQ topic routing key (a shortcut to access Context("message.path.")
as well):
@nats_broker.subscriber("logs.{level}")
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 #824
- Update docs article to use cookiecutter template by @kumaranvpl in #828
- Split real broker tests to independant runs by @Lancetnik in #825
- Remove unused docs/docs_src/kafka examples and its tests by @kumaranvpl in #829
- Run docs deployment only for specific file changes by @kumaranvpl in #830
- Fix formatting in deploy docs workflow by @kumaranvpl in #833
- Path operations by @Lancetnik in #823
- Mypy error fixed for uvloop by @davorrunje in #839
Full Changelog: 0.2.3...0.2.4
v0.2.3
What's Changed
- Fix: disable test features with TestClient by @Lancetnik in #813
- New AsyncAPI naming by @sternakt in #735
Full Changelog: 0.2.2...0.2.3