Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.6.0 #1779

Draft
wants to merge 213 commits into
base: main
Choose a base branch
from
Draft

0.6.0 #1779

wants to merge 213 commits into from

Conversation

Lancetnik
Copy link
Member

@Lancetnik Lancetnik commented Sep 10, 2024

Description

Please include a summary of the change and specify which issue is being addressed. Additionally, provide relevant motivation and context.

fixes #1742, close #1308, close #1228, close #980, fixes #1742, #1895 feature

Breaking changes:

  1. Drop Python3.8 support
  2. @broker.subscriber(..., filters=...) removed
  3. message.decoded_body removed, use await message.decode() instead
  4. publish(..., rpc=True) removed, use broker.request() instead
  5. RabbitMQ @broker.subscriber(..., reply_config=...) removed, use Response instead
  6. Context("broker") and Context("logger") moved to local context. They can not be accessed in lifespan hooks anymore
  7. FastStream(broker) is positional-only argument now (preparing to FastStream(*brokers) support)
  8. FastStream(**asyncapi_options) doesn't work anymore. Now, you have to create special AsyncAPI(broker, **asyncapi_options) to render documentation
  9. FastStream(broker) is POSITIONAL-ONLY option now. FastStream(broker=broker) doesn't work anymore
  10. broker.subscriber(..., retry=True) removed, use ack_policy instead

@Lancetnik Lancetnik mentioned this pull request Sep 10, 2024
63 tasks
Lancetnik and others added 21 commits October 26, 2024 10:57
* refactor: use CMD to call publisher

* fix: add missing pre-commit changes

* refactor: add an ability to check RPC response

* refactor: use PublishType

* refactor: new NatsFakePublisher

* refactor: use PublishCmd in request

* fix: correct publisher.publish

* fix: correct Nats JS request

* lint: polish annotations

* feat: add RabbitPublishCommand

* refactor: add basic publish & request publisher methods

* refactor: remove add_header Response method

* refactor: add KafkaPublishCommand

* refactor: pass context to middleware directly

* refactor: Confluent, Redis publish commands

* refactor: break ISP, add publish_batch to ProducerProto

* refactor: create basic fake publisher

* refactor: do not call LoggingMiddleware for RPC responses

* refactor: new NatsOtelMiddleware

* refactor: new RabbitOtelMiddleware

* refactor: new RedisOtelMiddleware

* refactor: new KafkaOtelMiddleware

* refactor: new ConfluentOtelMiddleware

* feat: add PublishCmd add_headers method

* refactor: actual PrometheusMiddleware

* fix: correct AsyncAPI

* fix: add missing pre-commit changes

* chore: remove 3.8 from CI

* docs: generate API References

* chore: fix CI

* chore: fix CI

* fix: set miltilock at start only

---------

Co-authored-by: Lancetnik <[email protected]>
* refactor: make context not-global

* docs: generate API References

* tests: refactor context tests

* chore: merge main

* fix: correct Context propogation from App to Broker

* docs: generate API References

* tests: in-memory cli

* chore: use python3.9 compatible FastDepends

* chore: revert FD version

---------

Co-authored-by: Lancetnik <[email protected]>
* fixing metrics for rpc

* == -> is
* tests on MetricsSettingsProvider for all brokers

* chore: fix tests

* chore: remove loguru usage

---------

Co-authored-by: Nikita Pastukhov <[email protected]>
* feat/ack_middleware added ack middleware

* tests: fix FastAPI tests

* feat/ack_middleware added ack middleware

* ack_middleware fixed redis stream

* tests: fix FastAPI tests

* ack_middleware fixed redis stream

* chore: remove conflicts

* chore: refactor AckMiddleware

* docs: generate API References

---------

Co-authored-by: Nikita Pastukhov <[email protected]>
Co-authored-by: Pastukhov Nikita <[email protected]>
Co-authored-by: Lancetnik <[email protected]>
* refactor: add ack handling for brokers

* fix: warnings arguments and is_manual flag

* refactor: complete NATS

* docs: generate API References

* fix: update ack_policy

* refactor: new tests

* refactor: move ack_policy reject outside of return functions

* tests: fix NATS tests

* refactor: validate warnings

* chore: remove loguru usage

* chore: remove deprecated type option

* chore: correct warnings stacklevel

---------

Co-authored-by: vectorvp <[email protected]>
Co-authored-by: Pastukhov Nikita <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core Issues related to core FastStream functionality and affects to all brokers enhancement New feature or request
Projects
Status: In Progress
7 participants