eclipse-collections
eclipse-collections copied to clipboard
Version 12 GA Release Inquiry
Hello!
I work on a tool that leverages some of the primitive optimized collections (e.g. MutableDoubleList). I was evaluating the likelihood of us addressing an improvement in our backlog which hinges on the availability of some new types introduced in the v12 RC's (specifically types like BoxedMutableDoubleList).
The most recent release of the v12 branch was August 2023. Are there any plans to GA v12? Are there any concerns with using v12.0.0.M3 as is? Is there something we can contribute to this project to help prepare the v12 branch for GA?
Thank you for this utility! It's been key to some much needed memory improvements.
It looks like the CI has only been partially running for 4 months due to the repository ref changing. It might be good to fix that and verify a full run as a prerequisite?
https://github.com/eclipse-collections/eclipse-collections/blob/2c58c0b507095e097deb7b9eb42d744ed9073853/.github/workflows/mutation.yml#L13
Hi @bmarcaur, thank you for the question. I just answered a similar question on another issue. Since you have a specific need, you've answered my question from the other issue. I should have looked at the issues in reverse order, so apologies for answering second.
https://github.com/eclipse-collections/eclipse-collections/issues/1741
We've been somewhat constrained due to time/resource availability. Without specific requests, there hasn't been much need to coordinate for a new release. It certainly helps that you have a specific need. I will coordinate with @motlin @nikhilnanivadekar @prathasirisha on how and when we can get this to done in the next couple months.
Thanks for your request and your patience!
Excellent! Thanks for the info @donraab! Appreciate it. Let me know if you need any form of early usage feedback etc.
Another great feature (not released yet) is Opting in to Service Loader Mediator. Absence of it does not allow to use Eclipse Collections in an OSGi project directly from Maven Central.
I have created latest milestone versions available on maven central. The p2 release builds are having issues. See here.
Please note: There are two new milestone releases pushed to maven central:
- 12.0.0.M20.JDK17 : Minimum JDK Version is Java 17
- 12.0.0.M20.JDK11 : Minimum JDK Version is Java 11
The Eclipse Collections maintainers will make a decision on if we will skip Java-11 minimum version and directly go to Java-17 or we will stick to Java-11. I am in the favor of skipping Java-11, justification is available in #1761
@bmarcaur @alexvas can you please test out the milestone version and provide feedback if things work fine. I plan to finalize and push the 12.0.0 release on or around June 20. Thanks for your help!
@bmarcaur @alexvas can you please test out the milestone version and provide feedback if things work fine. I plan to finalize and push the 12.0.0 release on or around June 20. Thanks for your help!
Yeah, @nikhilnanivadekar, for sure I can have a draft PR up ~this week~ today.
Here you are: https://github.com/palantir/conjure-java/pull/2548
We currently only utilize a narrow slice of the Eclipse collections, but again would benefit from the BoxedMutable* types. So take any endorsement of the release with that grain of salt.
Things seem to compiling just fine. The utility of BoxedMutable's matches my expectations. And all of our tests are passing.
One thing that I am noticing though is that MutableIntCollection has primitive overloads for add() (see code below) yet utilities like BoxedMutableIntList, which encloses a delegate MutableIntCollection, does not expose these sorts of functions. This prevents addition from being "non-boxing". We implemented a BoxMutable* like wrappers but then expanded it to expose "non-boxing" paths. This isn't feedback on the 12.0 release necessarily, but it is something I noticed when upgrading. It may also be that this is an intentional narrowing of the interfaces.
public interface MutableIntCollection extends IntIterable
{
boolean add(int element);
boolean addAll(int... source);
12.0 is released and available in maven central.
Thank you for getting this across the finish line.
I see that you also released a version 13? Is there a meaningful difference between 12.0 and 13.0?
13.0 requires minimum JDK-17, 12.0 requires minimum JDK-11. That is the only difference.
Awesome! Thank you for the info.