Skip to content

0.2.0

Compare
Choose a tag to compare
@jonathansick jonathansick released this 15 Jul 18:53
· 69 commits to main since this release
af3d533
  • Python versions 3.7 and earlier are no longer supported because Kafkit is adopting the annotations import from __future__ and native support for importlib.metadata.
    Kafkit is explicitly tested with Python 3.8, 3.9, and 3.10.

  • We've added a kafkit.ssl module to help connect to Kafka brokers over TLS.
    The associated documentation includes a tutorial for working with the SSL certificates generated in a Kafka cluster managed by Strimzi.

  • The brand-new kafkit.registry.manager.RecordNameSchemaManager provides a streamlined workflow for serializing Avro messages using Avro schemas that are maintained in your app's codebase.
    The manager handles schema registration for you.
    To serialize a message, you simply need to provide the data and the name of the schema.

  • A new kafkit.registry.sansio.CompatibilityType Enum helps you write use valid Schema Registry compatibility types.

  • We've significantly improved Kafkit's packaging and infrastructure:

    • Migrate packaging metadata from setup.py to pyproject.toml (Kafkit continues to be a setuptools-based project).
    • Tox now runs tasks like tests, in conjunction with the existing Pytest set up.
    • Pre-commit hooks lint and format the code base.
    • Code style is now handled by Black (and in the documentation with blacken-docs).
    • Full support for type annotations! tox -e typing validates Kafkit's type annotations with Mypy.
    • We've migrated from Travis CI to GitHub Actions.
  • The documentation now includes a development guide.

What's Changed

Full Changelog: 0.1.1...0.2.0