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:

sqltyped.naming_strategy

For example:

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

Then:

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.

http://scalikejdbc.org/

ScalikeJDBC Logo

library

  • 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)

interpolation

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

test

  • 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

Improvements

  • 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

Deprecations

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

Fixes

  • 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.

Tags:

Permalink 1 note

08 4 / 2014

xsbt-web-plugin 0.9.0

Changelog

  • Add a blocking container:launch command (#152)
  • Apply useFileMappedBuffer=false only under MS Windows (#156)
  • Order the Jetty 9 configurations per the 9.1 spec (#157)
  • Remove unused references to deprecated TagLibConfiguration (#158)

xsbt-web-plugin is an sbt plugin for building Scala Web applications.

07 4 / 2014

akka-tracing 0.1

First release of Akka Tracing. It includes:

  • tracing extension itself (supports both Scala and Java APIs);
  • trace logging support;
  • Scala and Java examples.

Some screenshots: timeline and annotations.

Contributions are welcome! Feel free to ask any questions.

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

Tags:

Permalink 1 note

06 4 / 2014

scalatest 2.1.3

ScalaTest/ScalaUtils 2.1.3

ScalaTest 2.1.3 is a maintenance release for the 2.1.x series that includes a few enhancements and bug fixes. No source code using ScalaTest 2.0+ should break, but you will likely need to do a clean build to upgrade from 2.0. However, 2.1.3 is binary compatible with 2.1.0, 2.1.1, and 2.1.2, so you can just change the version number in your build to upgrade from earlier 2.1.x releases.

The list of enhancements and bug fixes below includes all changes since 2.1.0:

Enhancements

  • Added -z argument support to sbt integration, allowing test name wildcards to be specified when using sbt.
  • Enhanced Prettifier.default to handle scala.xml.NodeSeq and scala.xml.NodeBuffer.
  • Enhanced Prettifier.default to handle recursive class definitions like Fred extends Seq[Fred].
  • Refactored Prettifier.default to use stringPrefix for better performance.
  • Added -t argument support to sbt integration, allowing full test names to be specified when using sbt.
  • Disallow any suffix for Runner command line arguments that do not take a suffix. This will give a better error message if someone enters -z"database" instead of -z "database".

Bug fixes

  • Added missing must support to noException, a [SomeException] and an [Exception] matcher syntax.
  • Fixed StackOverflowError problem in Prettifier.default method when used with scala.xml.Node.
  • Fixed an owner chain problem in the assert macro (issue 276).

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.

06 4 / 2014

accord 0.3.1

Version 0.3.1 is a maintenance release, featuring the following fixes and improvements:

  • #16 Fixed: Collection.each is not null-safe;
  • #15 Fixed: Validator delegation isn’t null-safe;
  • Upgraded to Macro Paradise 2.0.0-M7 (thanks to Eugene Burmako);
  • Updated ScalaTest from 2.0 to 2.1.0;
  • Updated Specs² from 2.3.4 to 2.3.10.

As always, bug reports, pull requests and other ideas are welcome!

Accord is a validation library written in and for Scala, providing a dead-simple story for validation rule definition. It is developed and used at Wix and distributed under the Apache License, Version 2.0.