[ 
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)" 
<[email protected]<mailto:[email protected]>> 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

Reply via email to