Oh, and nothing was removed from the 2.0 API, so it's really backwards
compatible (even a random protected method from util). I would imagine a
backwards incompatible API change would warrant 3.0, but maybe I'm just
confused?

On 8 October 2014 22:23, Matt Sicker <[email protected]> wrote:

> There are additions to the API in 2.1 that log4j-core use (e.g., several
> things added to util), so I figured it made sense to mark log4j-core as
> requiring log4j-api 2.1+. Isn't that the point?
>
> I also left the log4j-to-slf4j API version at 2.0.0 since that's still
> compatible with the 2.0 API.
>
> On 8 October 2014 22:10, Ralph Goers <[email protected]> wrote:
>
>> Also, if the API does not change then the version number does not need to
>> be bumped even though we have moved on to 2.2, 2.3, etc. So if nothing
>> really changed to the API in 2.1 the version number can be left at 2.0.0.
>>
>> Ralph
>>
>> On Oct 8, 2014, at 8:05 PM, Ralph Goers <[email protected]>
>> wrote:
>>
>> Yes, I am aware of that. I believe I wrote the code.  As I said, the
>> implication of the current setting is that the API will can bind with
>> either a 2.0.0 implementation or a 2.1.0 implementation and will work
>> fine.  If the API was changed for 2.1 in such a way that that is true then
>> fine.  But if new stuff was added that requires an implementation that
>> matches the 2.1 API then only “2.1.0” should be in the
>> COMPATIBLE_API_VERSIONS list.
>>
>> Ralph
>>
>> On Oct 8, 2014, at 6:41 PM, Matt Sicker <[email protected]> wrote:
>>
>> ProviderUtil.validVersion(String) checks all the values from
>> COMPATIBLE_API_VERSIONS for compatibility, not just one. For reference:
>>
>>     private static final String[] COMPATIBLE_API_VERSIONS = {
>>         "2.0.0", "2.1.0"
>>     };
>>
>>     private static boolean validVersion(final String version) {
>>         for (final String v : COMPATIBLE_API_VERSIONS) {
>>             if (version.startsWith(v)) {
>>                 return true;
>>             }
>>         }
>>         return false;
>>     }
>>
>>
>> On 8 October 2014 18:41, Ralph Goers <[email protected]> wrote:
>>
>>> Log4j API is trying to bind with an implementation. It wants to bind
>>> only with an implementation that is compatible with the API.  To my
>>> understanding that would mean it can only bind with a 2.1.0 implementation.
>>>
>>> Ralph
>>>
>>> On Oct 8, 2014, at 2:06 PM, Matt Sicker <[email protected]> wrote:
>>>
>>> I believe this means that log4j-core requires API version 2.1.0.
>>> log4j-api 2.1 works with providers that require 2.0.0 or 2.1.0.
>>>
>>> On 8 October 2014 12:22, Ralph Goers <[email protected]> wrote:
>>>
>>>> I am not sure this change is correct.  If a logging implementation is
>>>> provided that is at version 2.0 is it going to work with the 2.1 API? If
>>>> not then 2.1 should be the only compatible version (and skip 2.0
>>>> implementations).
>>>>
>>>> Ralph
>>>>
>>>>
>>>> Begin forwarded message:
>>>>
>>>> *From: *[email protected]
>>>> *Subject: **[2/2] git commit: [LOG4J2-845] Add API version 2.1.0 to
>>>> ProviderUtil.*
>>>> *Date: *September 21, 2014 at 9:44:27 AM MST
>>>> *To: *[email protected]
>>>> *Reply-To: *[email protected]
>>>>
>>>> [LOG4J2-845] Add API version 2.1.0 to ProviderUtil.
>>>>
>>>>
>>>> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
>>>> Commit:
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a26dab9b
>>>> Tree:
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a26dab9b
>>>> Diff:
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a26dab9b
>>>>
>>>> Branch: refs/heads/master
>>>> Commit: a26dab9b460b3430f59935163dd6c695b8d9ba6a
>>>> Parents: 93fee7f
>>>> Author: Matt Sicker <[email protected]>
>>>> Authored: Sun Sep 21 11:44:28 2014 -0500
>>>> Committer: Matt Sicker <[email protected]>
>>>> Committed: Sun Sep 21 11:44:28 2014 -0500
>>>>
>>>> ----------------------------------------------------------------------
>>>> .../main/java/org/apache/logging/log4j/util/ProviderUtil.java    | 2 +-
>>>> log4j-core/src/main/resources/META-INF/log4j-provider.properties | 4
>>>> ++--
>>>> src/changes/changes.xml                                          | 3 +++
>>>> 3 files changed, 6 insertions(+), 3 deletions(-)
>>>> ----------------------------------------------------------------------
>>>>
>>>>
>>>>
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a26dab9b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
>>>> ----------------------------------------------------------------------
>>>> diff --git
>>>> a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
>>>> b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
>>>> index 7fbbfd5..27237f0 100644
>>>> ---
>>>> a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
>>>> +++
>>>> b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
>>>> @@ -41,7 +41,7 @@ public final class ProviderUtil {
>>>>     private static final String API_VERSION = "Log4jAPIVersion";
>>>>
>>>>     private static final String[] COMPATIBLE_API_VERSIONS = {
>>>> -        "2.0.0"
>>>> +        "2.0.0", "2.1.0"
>>>>     };
>>>>
>>>>     private static final Logger LOGGER = StatusLogger.getLogger();
>>>>
>>>>
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a26dab9b/log4j-core/src/main/resources/META-INF/log4j-provider.properties
>>>> ----------------------------------------------------------------------
>>>> diff --git
>>>> a/log4j-core/src/main/resources/META-INF/log4j-provider.properties
>>>> b/log4j-core/src/main/resources/META-INF/log4j-provider.properties
>>>> index b13b0b8..ae4a306 100644
>>>> --- a/log4j-core/src/main/resources/META-INF/log4j-provider.properties
>>>> +++ b/log4j-core/src/main/resources/META-INF/log4j-provider.properties
>>>> @@ -14,5 +14,5 @@
>>>> # limitations under the License.
>>>>
>>>> LoggerContextFactory =
>>>> org.apache.logging.log4j.core.impl.Log4jContextFactory
>>>> -Log4jAPIVersion = 2.0.0
>>>> -FactoryPriority= 10
>>>> \ No newline at end of file
>>>> +Log4jAPIVersion = 2.1.0
>>>> +FactoryPriority= 10
>>>>
>>>>
>>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a26dab9b/src/changes/changes.xml
>>>> ----------------------------------------------------------------------
>>>> diff --git a/src/changes/changes.xml b/src/changes/changes.xml
>>>> index c201bb3..319cb64 100644
>>>> --- a/src/changes/changes.xml
>>>> +++ b/src/changes/changes.xml
>>>> @@ -24,6 +24,9 @@
>>>>   </properties>
>>>>   <body>
>>>>     <release version="2.1" date="2014-??-??" description="Bug fixes and
>>>> enhancements">
>>>> +      <action issue="LOG4J2-845" dev="mattsicker" type="update">
>>>> +        Add Log4j API 2.1.0 and update Log4j Core likewise.
>>>> +      </action>
>>>>       <action issue="LOG4J2-833" dev="rpopma" type="fix">
>>>>         Documentation: add Runtime Dependencies link to left nav-bar on
>>>> site.
>>>>       </action>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Matt Sicker <[email protected]>
>>>
>>>
>>>
>>
>>
>> --
>> Matt Sicker <[email protected]>
>>
>>
>>
>>
>
>
> --
> Matt Sicker <[email protected]>
>



-- 
Matt Sicker <[email protected]>

Reply via email to