Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Migration Plan, Compatibility and Deprecation

These changes are both not binary and not code compatible with the current 2.5 version. Also, users could use these implicits by full its full name (org.apache.kafka.streams.scala.Serdes.String). It means that we should pass these changes through deprecation cycle. I propose the next plan:

  1. First release:

    1. Rename instances.
    2. Near with the renamed instances (in the org.apache.kafka.streams.scala.Serdes) add serdes with old naming, but without implicit modifier. These serdes will point to the new implicits. These step will allow to us to maintain compatibility for users, who point to the use old serdes by its full name.
    3. Mark new serdes without implicit modifier as deprecated.

    It will looks look like these (example for the a single serde):

    Code Block
    languagescala
    firstline0
    implicit def longSerde: Serde[Long] = ???
    @deprecated
    def Long: Serde[Long] = longSerde


  2. Second release:
    1. Remove deprecated serdes.

...