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

binary compatibility broken from 1.6.4 to 1.6.6

    Details

    • Type: Improvement
    • Status: Open
    • Resolution: Unresolved
    • Affects Version/s: 1.6.x
    • Fix Version/s: None
    • Component/s: Core API
    • Labels:
      None
    • Environment:

      Operating System: Linux
      Platform: PC

      Description

      Several LoggerFactory static fields with INITIALIZATION in the name had their spelling corrected in slf4j-api version 1.6.6. Because the fields are not private but have default access, this constitutes a breach of binary compatibility (see Java Language Specification, section 13.4.8). In theory, somebody could have written code in the org.slf4j package that relies on these fields.

      It would be good if this binary incompatibility could be documented in the FAQ, which now incorrectly states that binary compatibility to date has never been broken.

      There are still many libraries out there that use 1.6.x versions. I have a build system that automatically checks for binary compatibility conflicts. It reported this one and I wasted some time finding the root cause and white-listing this conflict. It would have saved me time if this had been documented in the FAQ.

        Attachments

          Activity

            People

            • Assignee:
              slf4j-dev SLF4J developers list
              Reporter:
              tycho.lamerigts@imc.nl Tycho Lamerigts
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: