But then what is the resolution? Keep on sticking to Kotlin 1.3 for now? On Tue, Feb 14, 2023 at 10:23 PM Matt Sicker <m...@musigma.org> wrote:
> 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. > >> > >