scala / scala-parallel-collections

Parallel collections standard library module for Scala 2.13+

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

release version 1.0.0

SethTisue opened this issue · comments

we might as well, right?

but note that #5 / scala/community-build#981 needs to be dealt with before doing a next release of any kind — since the sbt-scala-module/sbt-osgi upgrade that @lrytz did, our OSGi settings are making us publish an incomplete JAR

we also had OSGi trouble in scala-collection-contrib (scala/scala-collection-contrib#51) and ended up throwing up our hands (see https://github.com/scala/scala-collection-contrib/pull/72/files for the diffs) and documenting the lack of OSGI support with a "help wanted" ticket (scala/scala-collection-contrib#71)

and in scala-java8-compat similarly: scala/scala-java8-compat#107

I think we should do that here as well

@lrytz said yes, let's go 1.0

#99 has been merged, removing OSGi support

over at #101 the possibility was raised of removing IterableOnce as a parent type of the parallel collections. delaying a bit longer to see if there's any further debate on that, and/or a PR. (though I feel like it's a pretty basic design choice to be revisiting this late, so my hunch is that the status quo will prevail....)

I am resuming work on this and hope to publish within the next 2 weeks or so. (scala-collection-compat is ahead of it in my queue.)

sigh, 6ebdf09 is massively binary incompatible, says MiMa

I suspect it's right. in the morning I'll think about whether it's somehow wrong (perhaps the changes aren't visible to user code), but I'm not optimistic.

supposing it's right, then:

if we leave the changes in place, we break bincompat. but if we revert them, I doubt the code can be compiled on Dotty, though I can check and see.

breaking bincompat is fair game for 1.0, but we shouldn't do it lightly, since 0.2.0 has been out for quite a while now and libraries may have dependencies on it.

and this has me thinking that before we go 1.0, we ought to add Dotty to the crossbuild. so I'm adding that to the steps above.

just to clarify, this will be 1.0.0 rather than 1.0, correct?

this will be 1.0.0 rather than 1.0, correct?

yes

merged Dotty PRs: #117, #118, #119, #120

then #113 finishes it off — it's ready for review

About breaking bincompat, 1) I simply don't see a way around it, but 2) I think I've managed to convince myself it isn't so bad because afaict ordinary users won't be affected, the only people who might be affected (afaict) are those who are writing their own splitters, that kind of thing — it isn't even obvious to me, for lack of detailed knowledge of the APIs, whether it's likely that even those folks would be affected in practice.

So I think I've made peace with it.

PRs all merged. Next step is simply to wait until Scala 3.0.0-M1 is out. Once that happens, I suppose we ought to do 1.0.0-RC1 first before going full 1.0.0. (Steps above, updated.)

1.0.0-RC1 release checklist

IT IS DONE