28 5 / 2014

ScalaTest 2.1.7-and-2.2.0-RC1

ScalaTest 2.1.7 and 2.2.0-RC1

ScalaTest 2.1.7 is a maintenance release for the 2.1.x series that includes two minor changes described in the 2.1.7 release notes.

ScalaTest 2.2.0-RC1 is the first release candidate for the next major version of ScalaTest. The 2.2.0-RC1 release notes gives the details, but here are some highlights:

Highlights of 2.2.0-RC1

ScalaTest is a testing toolkit designed to enhance the productivity of teams. http://www.scalatest.org.

ScalaUtils is library of utilities related to quality. http://www.scalautils.org.

28 5 / 2014

simple-reactivemongo 1.2.0

  • added format implicits for LocalDate
  • breaking change due to refactoring associated classes into json and geospatial packages

simple-reactivemongo provides simple case class serialization for ReactiveMongo - reactive, asynchronous and non-blocking Scala driver for MongoDB.

23 5 / 2014

sbt-protobuf 0.3.3

  • externalIncludePath has been added to cleanFiles to explicitly remove the 3rd party proto files. Builds that don’t change this setting are not affected.
  • External proto files can now be compiled. See the Compiling external proto files section in the README for more information.

sbt-protobuf is a plugin for sbt >= 0.12 that transforms *.proto files into gazillion-loc java files.

22 5 / 2014

akka-tracing 0.3

akka-tracing 0.3 is now available. List of new features:

  • spray-routing integration;
  • tracing-related HTTP headers support (also enables support for Finagle clients);
  • activator template with tutorial and zipkin install automation;
  • Scala 2.11 support;
  • reduced memory footprint and GC overhead;
  • collector connectivity issues handling;
  • bug fixes.

API changes:

  • trace.sample(msg); trace.recordRPCName(msg, service, rpc) replaced by trace.sample(msg, service, rpc);
  • trace.recordException renamed to trace.record

akka-tracing is a distributed tracing extension for Akka built on top of Twitter’s Zipkin.

18 5 / 2014

scalatra 2.3.0.RC3

Scalatra Core

  • Scala 2.11 support
  • Add a requestFormat property to ApiFormats

Scalatra JSON

  • Upgrade json4s to 3.2.10
  • Correctly detect if an incoming request is json or not

Scalatra is a blazing fast, async Scala web micro-framework; inspired by Sinatra.

15 5 / 2014

kiama 1.6.0

The Kiama team is pleased to bring you the next release of the library. This release contains many enhancements, bug fixes and code tidy-up changes. The main themes of this release are to improve the safety of some features and to localise or remove mutability as much as possible. The release is cross-published for both Scala 2.10 and 2.11.


  • Attribution

    • The type signatures of attribute creation methods (e.g., attr) now do not require that the attributed value is a sub-type of AnyRef. In practice, it is still not useful to attribute non-reference values but the simplified signatures make it easier to use the attribution library in generic contexts.
    • Issue 19: The down decorator is now safer because it requires either a default function or a default value to use if the root of the tree is reached without another computation being found, instead of relying on the decorator definition handling the root case. There are also variants downErr, which throws an exception in the default case, and downOpt which wraps the result in an option.
    • Issue 19: A new atRoot decorator is equivalent to using the down decorator with a decorator definition that is never defined; i.e., the default value from the root is just transported down unchanged.
  • Rewriting

    • Issue 26: Rewriting rule creation methods such as rule are now stricter on the type of the partial function that defines the rule. The aim is to prevent some errors that were previously only detected at run-time if your rewriting function didn’t preserve types. E.g., rule is now of type def rule[T] (f : T ==> T) : Strategy. In practice, this change often means that you have to say what type you intend to use at the call site, as in rule[Foo] { ... }. If this rule is applied to something that is not a Foo then it will fail, otherwise the partial function is used as per usual.
    • Issue 20: The collectl and collects query combinators are now just sugar for a more general collect that can build any Traversable collection. Also, a new collectall query is a variant where the collecting application can result in a collection of items, not just a single item. The full collection accumulates all of these sub-collections.
    • Query rewriting combinators such as query and queryf now do not have a result type parameter. Since the result of the underlying query function was ignored, the type parameter has been replaced by Unit and the parameter has been removed.
  • Utilities

    • Issue 13, Issue 14: Kiama now uses the Guava collection library to implement caches for attributes and memoising rewriting. We use caches that hold weak references so the memory retention properties of the library should be better than previous versions of the library.
    • The old Positioned trait that was mixed in to tree node types to add mutable position information has been removed. A new Positions module provides facilities for recording positions associated with nodes in storage that is separate from the nodes.
    • The PositionedParserUtilities trait provides a new mark parser combinator that can be used to record a position for a parsed literal string for use in setting positions of tree nodes. See the Obr example parser for typical usage.
    • The PositionalRewriter that targeted tree nodes that extended Scala’s parsing library Positional trait has been removed in favour of the new Positions support.
    • The messages produced by the Messaging module now use Scala’s standard format for display, which includes the input line of the message position and a pointer to the relevant column.
    • The Messaging module no longer contains a mutable message buffer and we encourage a style where messages are collected from a tree using a generic query such as collectall.
    • The Messaging module now has some methods for checking common situations for Entity values. See most of the examples for illustration of this new approach to messaging and checking.
    • A new TreeNode utility type has been introduced to simplify getting an appropriate base type for tree nodes. At the moment TreeNode just extends the Attributable class so that all nodes can be attributed. A future version of the library aims to remove the need for Attributable; TreeNode will also be removed at that time.
    • The configuration types used by the compiler and REPL frameworks now support separate emitters for standard output and standard error.
    • The compiler framework now includes an optional tree pretty-printer in the compiler interface.
  • Examples

    • Added a new example of using circular attributes to analyse context-free grammars.


  • Attribution

    • Circular attributes now correctly reset their evaluation state if an exception occurs while they are being computed.
    • Uncached attributes now correctly detect dependence cycles.
  • Utilities

    • The Entity trait and its specialisations MultipleEntity and UnknownEntity are now located outside the Environments trait.
    • The Environments module now uses lists to implement stacks instead of the Scala Stack collection type.
  • Examples

    • Fixed the Lambda example so that it doesn’t capture free variables.


  • Rationalised some file names and data structures to be more consistent, particularly in the examples.
  • Quite a few other minor fixes and code style improvements, including removal of some old benchmark code and the Iswim example which was starting to bit rot.
  • Move to sbt 0.13.2, Scala 2.10.4/2.11.0, Scala parser combinators 1.0.1, Guava 17, dsinfo 0.3/0.4, dsprofile 0.3/0.4, Scallop 0.9.5, ScalaCheck 1.11.4, ScalaTest 2.1.3

Kiama is a Scala library for language processing including attribute grammars, term rewriting, abstract state machines and pretty printing.

14 5 / 2014

simple-reactivemongo 1.1.0

simple-reactivemongo provides simple case class serialization for ReactiveMongo - reactive, asynchronous and non-blocking Scala driver for MongoDB.

14 5 / 2014

scalatra 2.3.0.RC2

Scalatra Core

  • Don’t log an async context completed exception unless it’s real
  • Mount an async filter with setAsyncSupport(true) [#385]
  • Update rl to 0.4.10

Scalatra Test

  • Update httpcomponents client.
  • Update scalatest dependency
  • Update specs2 dependency

Scalatra Auth

  • Update scentrysupport to avoid compiler warnings

Scalatra JSON

  • Don’t try to read empty bodies
  • Don’t eagerly try to parse the body of a safe request

Scalatra Atmosphere

  • Update to atmosphere 2.1.4
  • Update atmosphere wasync to 1.3.2
  • Update atmosphere-redis to 2.1.1

Scalatra Jetty

  • Update to jetty 9.1.5.v20140505

Scalatra is a blazing fast, async Scala web micro-framework; inspired by Sinatra.

13 5 / 2014

scoobi 0.8.4

Maintenance version


  • allow output files to be directly created during the mapping phase if possible
  • creating a SUCCESS file in the output directory only if all Hadoop jobs are successful for a given Scoobi job. Otherwise there is only a SUCCESS_JOB file
  • added support for partitioned sequence files
  • better implicit search for faster compilation times (thanks to @retronym)
  • compression codecs are not being used if they can’t be instantiated for a given platform instead of throwing exceptions
  • created separate jars for cdh3, cdh4, cdh5, hadoop2 compatibility, instead of a Compatibility class using reflection. With cdh4/cdh5, the files of a partitioned output are being moved with a single rename

scoobi is a productivity library for writing Hadoop jobs in Scala.

For more information visit: http://nicta.github.com/scoobi.

12 5 / 2014

specs2 2.3.12

Maintenance version


  • added a Filterable interface on the JUnit runner to make it category-aware #256
  • added a org.specs2.matcher.NoConcurrentExecutionContext trait to remove the implicit execution context for FutureMatchers
  • added a BuildInfo object for each jar containing: the module name, the version, the scala version, the commit and the timestamp


  • added back the specs2.files to its proper place #258
  • fixed an unsafe type conversion with mockito #260
  • remove scalacheck dependency from matcherExtra module #261 (thanks to @xuwei_k)
  • mockito - don’t match maps and functions as equal #262 (thanks to @fwbrasil)


specs2 is a library for writing software specifications in Scala.

For more information visit: http://specs2.org.