logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Händevik (JIRA) <j...@apache.org>
Subject [jira] [Commented] (LOG4NET-377) XmlConfigurator.ConfigureAndWatch is not backwards compatible to 1.2.10
Date Sat, 18 May 2013 06:15:16 GMT

    [ https://issues.apache.org/jira/browse/LOG4NET-377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13661308#comment-13661308
] 

Dan Händevik commented on LOG4NET-377:
--------------------------------------

I cannot agree with your conclusion that this is expected behavior.
First of all, the version number does not indicate that the release contains any breaking
changes. I guess that you don't conform to semantic versioning (http://semver.org/) but many
.net libraries does and this is almost a standard now adays so I strongly suggest that you
should look into that.
Secondly on your release notes page
 http://logging.apache.org/log4net/release/release-notes.html
you state that this is a buggix release. A bugfix release does not (in my opinion) introduces
any breaking changes.
Third, on the same page you include a list of breaking changes but this list only contains
one post and it is not this issue.

I cannot say that any of the above indicates to me that this is expected behavior.
Frankly, I doubted myself at first. I must have seen wrong.

It's not much work to keep a library backwards compatible.
Do not change any public signatures. If you invent a new signature (like adding a return value),
give it a new name and make the old one obsolete instead.
This will keep backwards compability but issue a compiler warning that indicates the intended
change for the user.
Removing obsolete code should only be done on a major release (when changing the major version
number)

Log4net is a great .net library but if I cannot trust the stability of the releases then I
cannot continue using the library in my own projects. My users can update their log4net nuget
packages and that will break the dependency to mine.


/Dan

On 18 maj 2013, at 07:21, "Dominik Psenner (JIRA)" <jira@apache.org<mailto:jira@apache.org>>
wrote:


    [ https://issues.apache.org/jira/browse/LOG4NET-377?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dominik Psenner closed LOG4NET-377.
-----------------------------------

   Resolution: Won't Fix
     Assignee: Dominik Psenner

This is expected behaviour and won't be fixed. If you want to move on you'll have to recompile
your assembly that depends on log4net.

XmlConfigurator.ConfigureAndWatch is not backwards compatible to 1.2.10
-----------------------------------------------------------------------

               Key: LOG4NET-377
               URL: https://issues.apache.org/jira/browse/LOG4NET-377
           Project: Log4net
        Issue Type: Bug
        Components: Core
  Affects Versions: 1.2.11
       Environment: .net 2 (and probably other versions as well
          Reporter: Dan Händevik
          Assignee: Dominik Psenner
          Priority: Blocker

The log4net.Config.XmlConfiguration method ConfigureAndWatch(FileInfo) differs from version
1.2.10 and 1.2.11.
In 10 it has void as return value and in 1.2.11 it returns an ICollection.
If I compile against 1.2.10 and then replaces the dll  with 1.2.11 and uses an assembly redirect
to use the newer version I'll get a runtime error stating
Method not found: 'Void log4net.Config.XmlConfigurator.ConfigureAndWatch(System.IO.FileInfo)'.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

                
> XmlConfigurator.ConfigureAndWatch is not backwards compatible to 1.2.10
> -----------------------------------------------------------------------
>
>                 Key: LOG4NET-377
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-377
>             Project: Log4net
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.11
>         Environment: .net 2 (and probably other versions as well
>            Reporter: Dan Händevik
>            Assignee: Dominik Psenner
>            Priority: Blocker
>
> The log4net.Config.XmlConfiguration method ConfigureAndWatch(FileInfo) differs from version
1.2.10 and 1.2.11.
> In 10 it has void as return value and in 1.2.11 it returns an ICollection.
> If I compile against 1.2.10 and then replaces the dll  with 1.2.11 and uses an assembly
redirect to use the newer version I'll get a runtime error stating
> Method not found: 'Void log4net.Config.XmlConfigurator.ConfigureAndWatch(System.IO.FileInfo)'.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message