Scala 2.9.3 includes a backport of 2.10's concurrency library, so
instead of maintaining a split source tree as originally planned
Dispatch will have a single source tree that is 2.9.3+ for version
0.10.x. The first beta of this is now published:
https://oss.sonatype.org/content/repositories/releases/net/databinder/dispatch/dispatch-core_2.9.3/
(It's in the branch `sippy` on github, if you're interested.)
The changes needed to adapt to scala.concurrent.Future are
substantial, but in the long run in means we'll benefit from a
common and growing toolset. dispatch.Promise is now a deprecated
type alias for scala.concurrent.Future. The type
dispatch.EnrichedFuture provides the either, option, and left and
right projections that we like.
We lose support for implicit "guarantors" of map and flatMap
operations, specifically IterableGuarantor. Generally you can do the
same kinds of things with the `values` projection in combination
with an explicit `flatMap`.
We also lose some retry magic in that Future can not "replay" itself
the way that `dispatch.Promise` did. I don't see any way around
that. Instead the retry functions take a function (promise: () =>
Future[T]), which is responsible for recreating the Future. With a
nested function here and there you should be able to use this
without significantly altering your code.
The type HttpExecutor has a few breaking changes if you were
configuring it. It no longer configures timeouts or callback
executors, as these are both expressed at the call site with
scala.concurrent.Future.
Please try out the beta and write back to the list if you have any
problems. I'd like to get this out fairly soon, it's been blocking
us for a while. We can also continue to do 0.9.x releases if anyone
needs them.
Nathna