Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-1655

Update Common.Logging to 3.4.1 or whatever the current version is.

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Done
    • 2.5.8
    • 2.6.0
    • library
    • None
    • 1

    Attachments

      For Gerrit Dashboard: NCBC-1655
      # Subject Branch Project Status CR V

      Activity

        Doesn't look like upgrade is possible because the Common.Logging.Log4Net1213 package has pinned the Log4Net dependency to version 2.0.3 and we are already using a higher version of 2.0.7.

        mike.goldsmith Michael Goldsmith added a comment - Doesn't look like upgrade is possible because the Common.Logging.Log4Net1213 package has pinned  the Log4Net dependency to version 2.0.3 and we are already using a higher version of 2.0.7.

        Michael Goldsmith I'd recommend against upgrading just for the sake of upgrading anyway. I personally feel that the best practice is to keep dependencies to the lowest compatible version, at least within the same major version. Only upgrade if there's a specific bug fix, security patch, or new feature required. Consumers can easily choose to use a newer version of the dependency (within SemVer limits), but if we upgrade then they are stuck and can't use a lower version. This may reduce compatibility with other libraries that also depend on the same dependency.

        btburnett3 Brant Burnett added a comment - Michael Goldsmith I'd recommend against upgrading just for the sake of upgrading anyway. I personally feel that the best practice is to keep dependencies to the lowest compatible version, at least within the same major version. Only upgrade if there's a specific bug fix, security patch, or new feature required. Consumers can easily choose to use a newer version of the dependency (within SemVer limits), but if we upgrade then they are stuck and can't use a lower version. This may reduce compatibility with other libraries that also depend on the same dependency.
        mike.goldsmith Michael Goldsmith added a comment - - edited

        Hi Brant Burnett

        We aren't upgrading for the sake of it, we're in a bit of a complicated state because of the way Common.Logging do their packaging. The current solution dependencies are:

        Common.Logging - 3.3.1
        Common.Logging.Log4Net1213 - 3.3.1
        Log4Net - 2.0.7

        The problem here, and we're not sure how we got into this situation, is that Log4Net1213 actually has a pinned dependency on Log4Net 2.0.3. This prevents the nuget cli from upgrading either Common.Logging or Common.Logging.Log4Net. A further complication is that the Common.Logging.Log4Net207 package (one that has the Log4Net 2.0.7 dependency) only has two available versions, 3.4.0 and 3.4.1.

        My proposed changes are:

        replace Common.Logging.Log4Net1213 (Log4Net 2.0.3) with Common.Logging.Log4Net207 (Log4Net 2.0.7)
        upgrade Common.Logging and Common.Logging.Core to 3.4.1

        An alternative would be to downgrade Log4Net from 2.0.7 to 2.0.3, which would allow the Common.Logging.* packages to remain at 3.3.1 but allow consumer upgrade if desired.

        It's not an easy decision, but don't want to leave it in a known "bad" state where consumers can't upgrade packages or make a changes.

        mike.goldsmith Michael Goldsmith added a comment - - edited Hi Brant Burnett We aren't upgrading for the sake of it, we're in a bit of a complicated state because of the way Common.Logging do their packaging. The current solution dependencies are: Common.Logging - 3.3.1 Common.Logging.Log4Net1213 - 3.3.1 Log4Net - 2.0.7 The problem here, and we're not sure how we got into this situation, is that Log4Net1213 actually has a pinned dependency on Log4Net 2.0.3. This prevents the nuget cli from upgrading either Common.Logging or Common.Logging.Log4Net. A further complication is that the Common.Logging.Log4Net207 package (one that has the Log4Net 2.0.7 dependency) only has two available versions, 3.4.0 and 3.4.1. My proposed changes are: replace Common.Logging.Log4Net1213 (Log4Net 2.0.3) with Common.Logging.Log4Net207 (Log4Net 2.0.7) upgrade Common.Logging and Common.Logging.Core to 3.4.1 An alternative would be to downgrade Log4Net from 2.0.7 to 2.0.3, which would allow the Common.Logging.* packages to remain at 3.3.1 but allow consumer upgrade if desired. It's not an easy decision, but don't want to leave it in a known "bad" state where consumers can't upgrade packages or make a changes.

        Re-opening to discuss alternatives / problem scenarios.

        mike.goldsmith Michael Goldsmith added a comment - Re-opening to discuss alternatives / problem scenarios.

        Michael Goldsmith

        Okay, that makes perfect sense. Sorry, your reason wasn't clear to me before.

        Thanks,
        Brant

        btburnett3 Brant Burnett added a comment - Michael Goldsmith Okay, that makes perfect sense. Sorry, your reason wasn't clear to me before. Thanks, Brant

        Brant Burnett - I agree the original ticket didn't have much context so was easy to misunderstand.

        Thanks

        mike.goldsmith Michael Goldsmith added a comment - Brant Burnett - I agree the original ticket didn't have much context so was easy to misunderstand. Thanks

        People

          mike.goldsmith Michael Goldsmith
          jmorris Jeff Morris
          Votes:
          0 Vote for this issue
          Watchers:
          3 Start watching this issue

          Dates

            Created:
            Updated:
            Resolved:

            Gerrit Reviews

              There are no open Gerrit changes

              PagerDuty