22 4 / 2014

parboiled2 2.0.0-RC1

This is the first release candidate of parboiled 2.0. It improves upon 2.0-M2 by rounding off the feature set and fixing a few remaining problems.

The release announcement on the mailing list can be found here.


  • Added noneOf helper (#63)
  • Added support for runSubParser
  • Added MISMATCH0 rule
  • Refactored DynamicRuleDispatch for performance and access to ruleNames Seq
  • Extended StringBuilding trait with some more helpers, renamed append/prepend to appendSB/prependSB
  • Removed ByteArrayBasedParserInput::charset member (#59)
  • Fixed problems resulting from not-fully-qualified type references (#57, #60)
  • Changed scope of scala-reflect dependency from compile to provided (#62)

parboiled2 is a macro-based PEG parser generator for Scala 2.10.3+ and Scala 2.11, enabling lightweight and easy-to-use, yet powerful, fast and elegant parsing of arbitrary input text. It serves well as a replacement for Scala’s parser combinators and regular expressions where parsing performance, readability/maintainability of the parser definition and/or error reporting quality is of the essence.

22 4 / 2014

salat 1.9.7

Salat 1.9.7 is a bugfix release:

  • upgrade Casbah dependency to 2.7.0
  • fix bug where JSON context specified null values should be output, but JSON serialization was sometimes omitting nulls

Salat is a simple serialization library for case classes.

Salat currently supports bidirectional serialization for:

  • MongoDB’s DBObject (using casbah)
  • JSON (using JSON4S)
  • maps

Find us online:

Salat is an Open Source project under the Apache License v2.

22 4 / 2014

scalikejdbc 2.0.0-beta2

ScalikeJDBC 2.0.0-beta2 is out.


ScalikeJDBC Logo


Support only Scala 2.10 and 2.11

Finally Scala 2.9.x (and Play 2.0.x) is dropped in version 2.0.x.

mapper-generator (sbt plugin) for sbt 0.12.x is already dropped.

Renamed joda-time APIs due to JSR-310

UnixTimeInMillisConverter#toDateTime is renamed to #toJodaDateTime (#toLocalDate, #toLocalTime, #toLocalDateTime too)

WrappedResultSet#dateTime, #localDate, #localTime and #localDateTime are deprecated and #jodaDateTime and #jodaXXX are added.

Modules structure improvements

Now “org.scalikejdbc” %% “scalikejdbc” includes SQL interpolation feature.

import SQLInterpolation._ no longer required. Just import scalikejdbc._ works fine.

Separated Play2 support into another project

Versioning policy will follow Play’s versions.

(e.g.) 2.2.x for Play 2.2.x, 2.3.x for Play 2.3.x


mapper-generator changes

  • enabled generating case classe for 22+ columns table
  • GeneratorTemplate.basic, executable are removed

Library Improvements

  • #218 Enable handling PreparedStatement by library users
  • #216 Interpolation support for Traversable[SQLSyntax]
  • #215 in operation doesn’t work well with Stream and ampersand

Enjoy writing mostly type-safe SQL and get things done!

ScalikeJDBC is a tidy SQL-based DB access library for Scala.

21 4 / 2014

kiama-1.5.3-2.11 1.5.3

The Kiama team are pleased to bring you a minor release of the library.

This release is functionally identical to version 1.5.2. The only changes are to move to Scala 2.11.0 and compatible libraries.

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

17 4 / 2014

simple-reactivemongo 1.0.4

  • addition of removeById and remove

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

15 4 / 2014

sqltyped 0.4.0

sqlτyped - a macro which infers Scala types by analysing SQL statements.

This release adds following new features and improvements:

Switching to Shapeless 2.0 records

Previous version encoded records as HList of pairs (key, value). A big downside of this was the need to define record keys explicitely before use. Shapeless 2.0 comes with improved record encoding where record is a HList of values tagged by singleton types representing keys.

scala> val r = ("name" ->> "Joe") :: ("age" ->> 13) :: HNil

scala> r get "age"
res0: Int = 13

scala> r get "bzzzt"
<console>:22: error: No field String("bzzzt") in record ...

As a consequence names of some common functions to manipulate records has been changed.

scala> r - "name"                     // was 'removeKey'
scala> r.renameField("name", "nme")   // was 'renameKey'
scala> r.updateWith("age")(_ + 1)     // was 'modify'

Configurable naming strategy for record field names

By default the record fields are named identically to database column names. This can be altered by providing a function String => String. This function must be put to compiler’s classpath and passed to macro with environment property:


For example:

object MyNamingStrategy extends (String => String) {
  def apply(s: String) = ....


System.setProperty("sqltyped.naming_strategy", "MyNamingStrategy$")

sqlτyped converts SQL string literals into typed functions at compile time.

select age, name from person where age > ?


Int => List[{ age: Int, name: String }]

15 4 / 2014

sbt-one-log 0.1.1

  1. 1.1 release:
  • exclude slf4j-log4j12
  • exclude slf4j-jcl
  • exclude slf4j-jdk14
  • update slf4j-api’s default version from 1.7.6 to 1.7.7
  • update logback’s default version from 1.1.1 to 1.1.2

sbt-one-log is a sbt plugin to help you uniform the log dependency.

13 4 / 2014

giter8 0.6.4

This release adds a search command which uses the github API to search for repositories containing the given string, and ending with “.g8”. Contributed by hadesgames in PR #128.

g8 search unfiltered

It also upgrades giter8 itself to Scala 2.10 (of interest to anyone using it as a library) via PR #111.

giter8 is a command line tool to apply templates defined in any git repository

09 4 / 2014

scalikejdbc 1.7.5

ScalikeJDBC 1.7.5 is out.


ScalikeJDBC Logo


  • Changed ResultSetTraversable to close ResultSet finally
  • #213 SQLTemplateParser parsing error [scalikejdbc-users-group:149]
  • Fixed bindByName parse error for MySQL dialects [scalikejdbc-users-group:151]
  • Fixed Oracle metadata access failure (skinny-framework #107)


  • #206 Fixed macro deprecation in Scala 2.11
  • SQLSyntax.createUnsafely refs #116 (comment)


  • Fixed ScalaTest imcompatible overridering error by @tlync

Enjoy writing mostly type-safe SQL and get things done!

ScalikeJDBC is a tidy SQL-based DB access library for Scala.

08 4 / 2014

specs2 2.3.11

Maintenance version


  • added await on Future[T : AsResult] to directly return a result #241
  • added a NoStdOutAroundExample trait to remove any console output during an example execution
  • added an onDistinctValues on contain matchers to specify that checks must apply to distinct values. Changed the implementation of allOf to be onDistinctValues(false) so that Seq(1) must contain(allOf(1, 1)) will not fail. For a match on distinct values, use Seq(1) must contain(allOf(1, 1)).onDistinctValues or Seq(1) must contain(eachOf(1, 1))
  • added the stacktrace of the caught exception in the failure message of a throwAn[Exception] matcher #250


  • matcher.toSet, matcher.toSeq, matcher.forall… are now deprecated since they can be expressed more clearly by using collection matchers


  • fixed contain matchers when using them with not
  • documented the use of argThat #240
  • fixed the or combinator on MatchResult when the first evaluation throws an Exception
  • fixed the AllExpectations trait when an evaluation throws an Exception
  • fixed the use of DataTables in mutable specifications when the datatable is successful and there are following expectations
  • added back the missing specs2.files object
  • using the arguments stacktrace filter for specifying a Result location. This allows custom matcher results to get a better location #254
  • fixed the counting of expectations when using and between results


specs2 is a library for writing software specifications in Scala.

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


Permalink 1 note