On Tue, Mar 26, 2024 at 9:16 AM Matthew de Detrich <matthew.dedetr...@aiven.io.invalid> wrote:
> > If I understand correctly we want to create this M1 because we don't feel > the code is well-tested enough to warrant a 1.1.0? Are people more likely > to try an M1 than they are to try the snapshots from > > https://repository.apache.org/content/groups/snapshots/org/apache/pekko/pekko-persistence-jdbc_3/ > ? Should they be? > > In my opinion, most definitely yes. Almost no one uses snapshots > unless they are eager to try > a new feature that they are personally waiting for. Right - wouldn't Slick 3.5 support be such a feature? > Is this ideal? No. I think that largely this is probably a result of > ASF process being foreign to > a lot of Scala users/OS projects so its something that should get > better over time but aside from > that there are legitimate concerns that the changes in Slick 3.5.x are > so big that an -M1 is > warranted. As stated before when Slick 3.5.0-RC1 came out, because we > have a policy > of always needing the current state of release branches + main to be > in a releasable state we > couldn't deliver a snapshot/milestone/RC etc etc of our own that users > could test to make sure > that Slick 3.5.x could work > We could (and did) as soon as Slick 3.5.0 came out, though, right? > This release contains a number of binary-incompatible changes that were > excluded from MiMa[1]. In the future, it would be really helpful to > document in the exclusion file why these exclusions are warranted. I > understand from [2] that these changes don't "really affect the user facing > APIs". Looking at a few classes, indeed some are marked 'ApiMayChange'. > It'd be good to more consistently mark things 'ApiMayChange' (or > 'InternalApi') in the future. > > So I actually want to remove SemVer from this module precisely because > we are expecting > to break it so many times. Then again, we can just leave in SemVer and > bump the major, > I am not that picky about this but I guess looking forward the main > reason to not subscribe > to SemVer for the jdbc module specifically is to not have to deal with > large number of > major version bumps which can be a risk given Slick's history of > breakages (same deal > with gRPC). > > Still, in [3] we do call this a 'breaking update' that will impact > pekko-projection. What does this breakage look like? By what criterium > (existing or to be formulated) is this breakage in a category that is > exempt from requiring a major version bump? > > So yes it is a breaking update, both in terms of MiMA and in source > code as well. This is > due to the Slick 3.3.x to 3.5.x update. If we think its more > appropriate to stick to SemVer and > just bump the major I am happy with that, we just open ourselves to > risk of having lots of major > version bumps in the future Regardless of whether we do SemVer, I think we should be somewhat explicit about what kinds of changes should happen in a major version bump. Personally I find SemVer overly strict in that I'm fine with adding features in a backwards-compatible way in a patch version, but I don't feel too strongly about this. I do think the binary compatibility rules[0] are still sensible. The intuition behind those rules is: if you're depending on library X which depends on pekko module version Y, you should generally be able to upgrade Y within minor versions without also upgrading X. This is extremely helpful as it means updates of Y don't force a release of X, which saves a lot of work releasing. This does not care about source compatibility, and allows behavioural and dependency changes to a large extent (as long as X doesn't rely on specific behaviour of Y or its dependencies). While we use MiMa to check we don't accidentally introduce binary incompatibilities, not every change that gets flagged by MiMa is in fact problematic: indeed, modules marked ApiMayChange or InternalApi are fine to change, as they shouldn't be relied on by other libraries. I'd say the core question is: could I use Pekko Projection 1.0.0 with the to-be-released Pekko Persistence JDBC? If so, I'm in favor of releasing as 1.1.0-M1 (or 1.1.0, no strong preference). If not, I think we should consider releasing as 2.0.0-M1 (or 2.0.0, no strong preference). [0]: https://pekko.apache.org/docs/pekko/current/common/binary-compatibility-rules.html > which may mean maintaining a lot of > branches which does add overhead. > Do we have any obligation to maintain old branches? I'm not sure we should. Kind regards, Arnout > On Mon, Mar 25, 2024 at 4:46 PM Arnout Engelen <enge...@apache.org> wrote: > > > > 1) 1.1.0 or 1.1.0-M1? > > > > I, too, am somewhat wary of the confusion introduced by creating > > 'milestone' releases for various reasons. > > > > If I understand correctly we want to create this M1 because we don't feel > > the code is well-tested enough to warrant a 1.1.0? Are people more likely > > to try an M1 than they are to try the snapshots from > > > https://repository.apache.org/content/groups/snapshots/org/apache/pekko/pekko-persistence-jdbc_3/ > > ? Should they be? > > > > I can sort of see this being a 'chicken and egg' problem and am not > opposed > > to releasing it as M1. In the future I hope we can get enough testing > > through the snapshots and not need such 'milestone' releases anymore, > > though. > > > > 2) 1.1.0-M1 or 2.0.0-M1? > > > > This release contains a number of binary-incompatible changes that were > > excluded from MiMa[1]. In the future, it would be really helpful to > > document in the exclusion file why these exclusions are warranted. I > > understand from [2] that these changes don't "really affect the user > facing > > APIs". Looking at a few classes, indeed some are marked 'ApiMayChange'. > > It'd be good to more consistently mark things 'ApiMayChange' (or > > 'InternalApi') in the future. > > > > Still, in [3] we do call this a 'breaking update' that will impact > > pekko-projection. What does this breakage look like? By what criterium > > (existing or to be formulated) is this breakage in a category that is > > exempt from requiring a major version bump? > > > > [1]: > > > https://github.com/apache/pekko-persistence-jdbc/blob/main/core/src/main/mima-filters/1.1.x.backwards.excludes/slick-3.3-to-3.5.backwards.excludes > > [2]: https://lists.apache.org/thread/olb2gt0sojogxjfy2y09cs26ty8lqbw3 > > [3]: https://lists.apache.org/thread/k75dj2p8cfjhjzf6go2pod6y3tsg71j7 > > > > On Thu, Mar 7, 2024 at 4:02 PM Matthew de Detrich > > <matthew.dedetr...@aiven.io.invalid> wrote: > > > > > > I would favour just making a full 1.1.0 release. I don't see the > > > benefit of having a milestone release. > > > > > > It was requested for us to do an RC so the community could properly > test > > > Slick 3.5.0-RC5 but we didn't do this because we want our projects to > > > always be in a releasable state[1] and hence I suspect that no one > really > > > tested > > > pekko-persistence-jdbc because it wasn't really announced anywhere. The > > > changes from Slick 3.3.x to 3.5.0 were extremely extensive so I think > it's > > > warranted > > > to be more prudent here. > > > > > > Also we need to make sure that the project works properly with > pekko-core > > > 1.1.x > > > along with all of the inlining and other changes and pekko-core 1.1.x > > > hasn't > > > even been released yet. > > > > > > Support for the latest oracle[2] is also something that we may want to > add > > > after M1, > > > this seems to be undecided? > > > > > > 1: > > > > https://github.com/slick/slick/discussions/2891#discussioncomment-8550269 > > > 2: https://github.com/apache/incubator-pekko-persistence-jdbc/pull/115 > > > > > > On Thu, Mar 7, 2024 at 3:53 PM PJ Fanning <fannin...@gmail.com> wrote: > > > > > > > I would favour just making a full 1.1.0 release. I don't see the > > > > benefit of having a milestone release. > > > > > > > > On Thu, 7 Mar 2024 at 15:14, Matthew de Detrich > > > > <matthew.dedetr...@aiven.io.invalid> wrote: > > > > > > > > > > Now that Scala 3 support has been merged with the release of > > > > > Slick 3.5.0[1] I think it's a good time to make a M1 release given > that > > > > > the changes in Slick 3.5.0 were so extensive, just to make sure > > > > everything > > > > > is working as intended and a milestone release should signal to the > > > > > community to "please use it to test it". > > > > > > > > > > Since scala steward support is merged[2] doing the milestone when > > > > > the update PR's are created early next week seems like a good > candidate > > > > > in terms of time. There also is a question of whether we should > also > > > > > fix the issue with the latest oracle version[2] for the M1. > > > > > > > > > > Thoughts? > > > > > > > > > > 1: > https://github.com/apache/incubator-pekko-persistence-jdbc/pull/44 > > > > > 2: > https://github.com/apache/incubator-pekko-persistence-jdbc/pull/123 > > > > > 3: > https://github.com/apache/incubator-pekko-persistence-jdbc/pull/115 > > > > > > > > > > -- > > > > > > > > > > Matthew de Detrich > > > > > > > > > > *Aiven Deutschland GmbH* > > > > > > > > > > Immanuelkirchstraße 26, 10405 Berlin > > > > > > > > > > Alexanderufer 3-7, 10117 Berlin > > > > > > > > > > Amtsgericht Charlottenburg, HRB 209739 B > > > > > > > > > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > > > > > > > > > > *m:* +491603708037 > > > > > > > > > > *w:* aiven.io *e:* matthew.dedetr...@aiven.io > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org > > > > For additional commands, e-mail: dev-h...@pekko.apache.org > > > > > > > > > > > > > > -- > > > > > > Matthew de Detrich > > > > > > *Aiven Deutschland GmbH* > > > > > > Immanuelkirchstraße 26, 10405 Berlin > > > > > > Alexanderufer 3-7, 10117 Berlin > > > > > > Amtsgericht Charlottenburg, HRB 209739 B > > > > > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > > > > > > *m:* +491603708037 > > > > > > *w:* aiven.io *e:* matthew.dedetr...@aiven.io > > > > > > > > > -- > > Arnout Engelen > > ASF Security Response > > Apache Pekko PMC member, ASF Member > > NixOS Committer > > Independent Open Source consultant > > > > -- > > Matthew de Detrich > > Aiven Deutschland GmbH > > Immanuelkirchstraße 26, 10405 Berlin > > Alexanderufer 3-7, 10117 Berlin > > Amtsgericht Charlottenburg, HRB 209739 B > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > > m: +491603708037 > > w: aiven.io e: matthew.dedetr...@aiven.io > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org > For additional commands, e-mail: dev-h...@pekko.apache.org > > -- Arnout Engelen ASF Security Response Apache Pekko PMC member, ASF Member NixOS Committer Independent Open Source consultant