Skip to content

11.0.0

Latest
Compare
Choose a tag to compare
@rra rra released this 28 May 19:47
· 2 commits to main since this release
11.0.0
b9365f7

Backwards-incompatible changes

  • Change the manage_kafka flag to safir.metrics.KafkaEventManager to manage_kafka_broker. It now only controls whether the Kafka broker is started and stopped. The Kafka admin client is unconditionally managed (started and stopped) by KafkaEventManager and should not be shared with any other application use.

New features

  • Allow an application to pass an existing FastStream Kafka broker into safir.metrics.BaseMetricsConfiguration.make_manager. This simplifies metrics integration for Kafka applications with existing brokers, without requiring manual manager construction and losing the auto-selection of the no-op and mock event managers.
  • Support the standard Pydantic exclude_unset, exclude_defaults, and exclude_none arguments to PydanticRedisStorage.store.
  • Add safir.testing.containers.FullKafkaContainer and safir.testing.containers.SchemaRegistryContainer classes based on Testcontainers that create containers for Kafka and the Confluent schema registry, respectively. These classes are intended for use in fixtures or test configuration to enable testing against a local temporary Kafka cluster.
  • Add safir.testing.logging.parse_log_tuples utility function to aid in testing structured log messages from applications using the Safir logging framework.

Other changes

  • safir.testing is now an implicit namespace package similar to safir so that safir-logging can provide a testing module. This should hopefully not cause any user-observable changes.

What's Changed

  • Update for Click 8.2.0 by @rra in #398
  • Update redis requirement from <6,>4.5.2 to >4.5.2,<7 in /safir by @dependabot in #397
  • Update cryptography requirement from <45 to <46 in /safir by @dependabot in #396
  • DM-50964: Force arq 0.26 or later by @rra in #400
  • DM-50964: Allow passing Kafka clients to make_manager by @rra in #399
  • DM-50964: Support serialization options for Redis storage by @rra in #401
  • DM-50964: Add testcontainers support for Kafka by @rra in #402
  • Increase docs job timeout to 15 minutes by @jonathansick in #404
  • Adjust for changes in dependencies by @rra in #405
  • Update sample Alembic configuration by @rra in #406
  • DM-50964: Add parse_log_tuples for structlog testing by @rra in #407
  • DM-50964: Always manage the admin client in EventManager by @rra in #403
  • DM-50964: Prepare 11.0.0 release by @rra in #408

Full Changelog: 10.2.0...11.0.0