Skip to content

Backwards incompatible change in v1.6.1 #1078

Closed
@Incognito

Description

@Incognito

Description

The argument order in the constructor signature for AvroSerializer was altered in v1.6.1

-    def __init__(self, schema_str, schema_registry_client,
+    def __init__(self, schema_registry_client, schema_str,

link to diff

It's an unexpected change for teams who want a simple bugfix, and perhaps can't even modify some internals if the package is in-directed elsewhere (like some wrapper package for example)

I think any one of these options would make this less painful for package consumers:

  • revoke tag 1.6.1 and release a backwards-compatible 1.6.2 (it may be too late, especially if people already upgraded)
  • Update all docs to exclusively use kwargs as a best-practice to avoid this issue in the future.
  • Enforce kwargs in the next major
  • Add release linting tools to the CI pipeline that inspects changes and prevents backwards-incompatible changes in patch releases (I could try to help with it if you want to use some AST parsing).

How to reproduce

Upgrade to the latest patch level.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions