Here comes GPars 1.1

The GA release of GPars 1.1.0 has just been published and is ready for you to grab. It brings gradual improvements into dataflow as well as a few other domains. Some highlights:

  • LazyDataflowVariable added to allow for lazy asynchronous values
  • Timeout for Selects
  • Added a Promise-based API for value selection through the Select class
  • Enabled listening for bind errors on DataflowVariables
  • Minor API improvement affecting Promise and DataflowReadChannel
  • Protecting agent's blocking methods from being called from within commands
  • Updated to the latest 0.7.0 GA version of Multiverse
  • Migrated to Groovy 2.0
  • Used @CompileStatic where appropriate
  • A few bug fixes

You can download GPars 1.1.0 directly or grab it from the maven repo.

Have a lot of fun trying out GPars 1.1.0!

Arriving at 1.1.0

A first release candidate for GPars 1.1.0 has been made available. The final 1.1.0 GA should be expected in a few days. The 1.1.0 release is a gradual improvement of 1.0.0 with additions mostly in the Dataflow domain. Starting with 1.1 GPars requires Groovy 2.0 or higher. Check out the most noteworthy new capabilities:


  • LazyDataflowVariable added to allow for lazy asynchronous values
  • Timeout for Selects
  • Added a Promise-based API for value selection through the Select class
  • Enabled listening for bind errors on DataflowVariables
  • Minor API improvement affecting Promise and DataflowReadChannel


  • Protecting agent's blocking methods from being called from within commands


  • Updated to the latest 0.7.0 GA version of Multiverse


  • Migrated to Groovy 2.0
  • Used @CompileStatic where appropriate


Get GPars 1.1.0-rc1, take it for a spin and please report all issues so we can fix them before GA.


GPars 1.0 arrived

I'm happy to announce that after four years of development GPars, the Groovy concurrency library, has just reached its 1.0 mark. A fresh and crispy GPars 1.0.0 is now ready for you to grab or download and use on your projects. Also, the up-coming Groovy releases will bundle GPars 1.0.

Compared to the previous release, 1.0 brings several performance enhancements, considerable API updates, polished documentation and numerous functionality improvements, mostly in the dataflow area. Please, check out the What's new section of the user guide for the details. Full release notes are also available.

I would like to use this opportunity to thank all the Groovy people, who have over time contributed in one way or another to the success of GPars. It is my honour to be part of such a helpful and encouraging community. In particular, I would like to thank my colleague GPars commiters, namely Paul King, Dierk Koenig, Alex Tkatchman and Russel Winder, who we've been consistently pushing the project forward and without whom it would hardly ever get this far. I also greatly appreciate the support we received from Guillaume Laforge, the Groovy supreme commander. Thank you all gentlemen!

Groovy concurrency times ahead!




We are almost there. The 1.0 release is just round the corner. To ensure that 1.0 meets your quality expectations we first prepared a release candidate to test the waters. To take GPars for a test ride, please download or grab it at the usual places, check out the release notes and let us know if something is missing.



Beta 3 is out

GPars-1.0-beta-3 has been made available for you to try out.
Apart from the usual doze of features and fixes, including speed-up for some operations on parallel collections or lifecycle events for dataflow operators, there is one major change compared to beta-2 worth pointing out explicitly:

  • GPars no longer depends on the extra166y artifact. The parallel array library by Doug Lea has been integrated into GPars. The jsr166y (Fork/Join) jar still remains in the dependency list until we migrate GPars to jdk7.

Grab gpars-1.0-beta-3 and have a lot of fun with the new release.



 Our first step towards the 1.0 release has been achieved. The beta-1 release is now available for you to grab or download. Have fun and if you feel somethings needs our attention, please let us know.

 The GPars team



Parallel Game of Life

I'd like to direct you to my recent blog post detailing the use of Dataflow operators. It uses the popular Game of Life coding excercise to illustrate the principles of the dataflow concept. Check it out at my personal blog.

GPars turns 0.12 today

We have some great news to all the parallel souls out there - GPars 0.12 has just hit the shelves. The new version comes with lots of big and small improvements, out of which these are the most notable ones:

  • Composable asynchronous functions
  • The newest version of Doug Lea's Fork/Join framework (aka jsr-166y)
  • Active Objects
  • Initial stub at Software Transactional Memory support using Multiverse

Check out the full release notes for more details.
To quickly get up-to-speed with GPars, check out our updated User Guide, which is now also available in pdf format.

Your GPars team

Dr.Dobb's has just published my overview article on actors in GPars. You may check it out at


GSoC assignments

It is just about the time for students to submit their GSoC applications. If you are a student and concurrency is your passion, the GPars team have prepared a list of GSoC assignments. Have a look and apply quickly. The deadline is only four days from now!


User Guide in Pdf

For the upcoming 0.12 release gpars now provides a Pdf version of the user guide. Check it out at

Great thanks to the CZJUG hackathon team in Prague, who did the implementation, as well as to Andres Almiray of the Griffon project, who shared his valuable insight into the matter.

Getting ready for Java 7

In short - GPars is now using the Java 7 concurrency artifacts. Russel Winder has taken initiative and with an official blessing from the jsr-166 team he mirrored the most recent jsr-166 artifacts into the maven repository. This allowed us to remove the dependency on the ancient coconut clone of the fork/join framework and use the "real" live matter. With all the improvements and fixes that jsr-166y has gone through during the last couple of years this has immediate effect on GPars plus once Java 7 ships with jsr-166y bundled, we will be ready.

Nothing changes on the user side of things, provided you're using an automated dependency management tool such as Gradle or Maven. The recent 0.12-beta-1 snapshot correctly declares the new dependencies. You may check out more details in the snapshot user guide.

Enjoy concurrency in Groovy!

Yours GPars Team

GPars 0.11 is ready

Here's some good news for all the developers crafting concurrent code - GPars 0.11 has just been released. Get it fresh at your local Groovy store or go directly to the GPars download site. A lot has changed since the previous release. The most notable additions and changes in 0.11 include:

  • Great actor speed-up, so now you don't have to shop elsewhere for fast actors
  • Full-blown dataflow implementation with selectors, prioritySelectors, composable tasks, point-to-point and publish-subscribe channels and more
  • Java API allowing you to take GPars with you wherever you go

You can check out more details at at the What's new section of the User Guide or read full release notes.

Concurrency has never been easier. Get GPars now, have fun and let us know what you think.

The GPars Team

0.11 arrives at beta-1

Hi GPars enthusiasts,

on our path towards the next GPars release we've reached an important milestone - the beta-1 has just been made available. To get a feel of what's coming, experiment with the new dataflow constructs, try agent validators, test GPars from pure Java applications using the new Java API or just get your hair blown back by our lightning fast actors, grab it now at or use the usual integration options described at

As is our good tradition, an updated User Guide is ready at
You might also like to check out what's new -

Have groovy times and let us know your opinion.

The GPars team

Alex Miller has written an exellent wrap-up article on GPars, explaining all the available concurrency concepts. I recommend you check it out at developerWorks.