Uploaded image for project: 'SLF4J'
  1. SLF4J
  2. SLF4J-577

Restore full binary compatibility and add baseline-tooling

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • 2.0.5
    • None
    • None

    Description

      Hannes Wellmann created this issue on 14/Dec/22 11:26 PM

        The documentation claims that SLF4-2 is binary compatible to slf4j-1, from a client perspective:
         * https://www.slf4j.org/faq.html#compatibility
         * https://www.slf4j.org/faq.html#changesInVersion200

        But for example LoggingEvent.getMarker() in slf4j1.7
      was changed to LoggingEvent.getMarkers() in slf4j-2 and now returns a List of Markers instead of a single Marker.

      This looks like a binary incompatible change to me. Would it be possible to restore the old getMarker() method as deprecated, in order to restore the binary compatibility?

       If you are interested, to avoid such changes in the future the  bnd-baseline-maven-plugin could help to avoid such change. 
       But I would have to find out first, if it is possible to perform the check like if the major version was not increment and thus removals are forbidden.  Maybe this will also find other binary incompatible changes.

      Attachments

        Activity

          People

            slf4j-dev SLF4J developers list
            ceki Ceki Gülcü
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: