Well, the version numbers don’t have to actually match; that’s more of an 
amusing coincidence at the moment. But anyways, this basically needs a baseline 
version of Kotlin; there haven’t been any backward-incompatible changes that 
would require supporting multiple versions like in Scala.

> On Feb 14, 2023, at 2:08 PM, Gary Gregory <garydgreg...@gmail.com> wrote:
> 
> There are quite a few jars out there that use "-jre8" type of postfixes
> strings in artifact IDs, so we should do the same IMO.
> 
> But...
> 
> The first question to ask is whether or not we should go through the pain
> of even supporting different Kotlin platforms. I wouldn't bother if it were
> me, but I'm not a Kotlin user.
> 
> Gary
> 
> On Tue, Feb 14, 2023, 14:43 Volkan Yazıcı <vol...@yazi.ci> wrote:
> 
>> *[I would steal the releasing infra from `log4j-tools`
>> <https://github.com/apache/logging-log4j-tools/blob/master/RELEASING.adoc>
>> for
>> the best speed pill.]*
>> 
>> Matt, I think matching major and minor versions of `log4j-api-kotlin` with
>> Kotlin is a recipe for disaster.
>> 
>> Imagine we shipped 1.7.0 and 1.8.0 to with Kotlin 1.7 and 1.8 support,
>> respectively. You just developed a new feature that you want to release
>> both for Kotlin 1.8 and 1.7. Are you going to release 1.9.0 for Kotlin 1.8
>> users (since this is what you should be doing according to semver) and
>> 1.7.1 for Kotlin 1.7 users (which violates semver, since this isn't a
>> patch/fix).
>> 
>> One can address these concerns by suffixing versions (e.g.,
>> `1.3.0-kotlin1.8`) or providing classifiers in the dependencies, etc. But
>> you know what... That is not what we do.
>> 
>> Do we ship different <Log4j-or-any-Java-lib> for each Java version out
>> there? You simply pick a good enough baseline and stick to that. Log4j
>> 2.x.x moved from Java 6 to 7, and then to 8; Log4j 3.0.0 will target Java
>> 11.
>> 
>> I would simply stick to Kotlin 1.3 in our current 1.2.x line and state in
>> the website we support Kotlin 1.x. If Kotlin happens to introduce a version
>> (e.g., Kotlin 2.0) that breaks the compatibility for us, we can either
>> release `log4j-api-kotlin20` or `log4j-api-kotlin` 2.0.0 supporting Kotlin
>> 2.x, etc.
>> 
>> 
>> On Tue, Feb 14, 2023 at 6:20 PM Matt Sicker <m...@musigma.org> wrote:
>> 
>>> After having migrated the build to use the new system Volkan put together
>>> for the main repo, I’ve managed to get the build there working in a
>> similar
>>> streamlined fashion. Thus, it’ll be a lot easier to cut some releases
>>> there, and wow do we have a backlog of them to get through! So here’s
>> what
>>> I’m proposing for releases:
>>> 
>>> * 1.3.0 - next release. This includes a few API updates, cleaned up
>>> website, dependency updates, etc. 1.3.x will be the last version to
>> support
>>> Kotlin 1.3 (for context, Kotlin is at version 1.8.10 at the moment).
>>> * 1.4.0 - This release will bump the Kotlin version requirement to 1.4.x.
>>> While backward compatibility seems to stretch back to 1.3.x., this does
>>> make it harder to use as a dependency since we need to use a
>> provided-scope
>>> dependency to avoid using the wrong Kotlin version in an application.
>> Thus,
>>> this will be the start of some catch-up releases to pull the baseline
>>> Kotlin version required up to a more reasonably modern version. Amusingly
>>> enough, these version numbers coincide with Kotlin itself, so it’s
>> possible
>>> to make 1.5.0 require Kotlin 1.5, 1.6.0 require Kotlin 1.6, and so forth.
>>> * 1.5.0 - Kotlin 1.5
>>> * 1.6.0 - Kotlin 1.6
>>> etc.
>>> 
>>> The 1.3.0 and 1.4.0 releases are the more immediately relevant ones (as
>> in
>>> I’d like to do them in a couple weeks). Since Spinnaker has been stuck on
>>> Kotlin 1.4 for a while, I didn’t exactly have a pressing need to move
>>> toward the bleeding edge, but even that project is working through
>>> dependency updates which will eventually get to Java and Kotlin upgrades,
>>> so I’d also like to release some later versions before then as well.
>>> 
>>> Anything else desired for these releases? The Kotlin releases/roadmap are
>>> on https://kotlinlang.org/docs/releases.html which may help discover any
>>> new APIs or features that would be relevant to support or use.
>> 

Reply via email to