implicit.ly http://implicit.ly Scala software, hot off the presses posterous.com Fri, 03 Feb 2012 07:00:41 -0800 spray-can 0.9.2 http://implicit.ly/spray-can-092 http://implicit.ly/spray-can-092

Starting with this release spray-can artifacts live on http://repo.spray.cc/ and will have group id cc.spray rather than cc.spray.can as before.

This is a primarily a maintenance release:

  • Upgraded to Akka 1.3 and SLF4J 1.6.4
  • Improved HttpServer response streaming API
  • Fixed #8 (Extend HttpDialog to allow for sending Seq[HttpRequest])
  • Fixed #11 (Improved message parser error messages)
  • Fixed #15 (Change header parsing to always extract header names in lower case)
  • Fixed #20 (HttpClient: crash on java.nio.channels.UnresolvedAddressException)
  • Fixed #21 (DefaultReceiverActor sometimes produces HttpResponses with body = null)
  • Fixed IllegalArgumentException in HttpClient upon timing out of a pipelined request
  • Fixed two memory leaks in HttpClient
  • Added GoogleQueryExample to Client-Example
  • Changed dependency on akka-actor from 'compile' to 'provided' scope
  • Smaller cleanups

spray-can is a low-overhead, high-performance, fully asynchronous HTTP 1.1 server and client library implemented entirely in Scala on top of Akka.

Both, the spray-can server and the spray-can client, sport the following features:

  • Low per-connection overhead for supporting thousands of concurrent connections
  • Efficient message parsing and processing logic for high throughput applications (> 50K requests/sec on ordinary consumer hardware)
  • Full support for HTTP/1.1 persistant connections
  • Full support for message pipelining
  • Full support for asynchronous HTTP streaming (i.e. "chunked" transfer encoding)
  • Akka-Actor and -Future based architecture for easy integration into your Akka applications
  • No dependencies except for JavaSE 6, Scala 2.9 and Akka (actors module).

Permalink

]]>
http://files.posterous.com/user_profile_pics/1371041/mathias.png http://posterous.com/users/heO3QHvBCkodA sirthias sirthias sirthias
Fri, 03 Feb 2012 06:52:14 -0800 spray-json 1.1.0 http://implicit.ly/spray-json-110 http://implicit.ly/spray-json-110

Starting with this release spray-json artifacts live on http://repo.spray.cc/ and will have group id cc.spray rather than cc.spray.json as before.

Changes since the last release (1.0.1):

  • Added automatic case class field name extraction via new jsonFormatX overloads
  • Added asJson pimp to Strings
  • Added RootJsonFormat (JsonFormat for types corresponding to JSON document roots)
  • Fixed problem of JSON object deserialization not being member-order independent (removed JsField, turned JsObject(List[JsField]) into JsObject(Map[String, JsValue]))
  • Fixed issue #8 (Allow (de)serialization of NaN (Double)), thx to @stefritz
  • Fixed #6 (rename JsValue:fromJson to convertTo, add .prettyPrint and .compactPrint)
  • Improved deserialization error messages
  • Upgraded to SBT 0.11.2

spray-json is a lightweight, clean and efficient JSON implementation in Scala.

It sports the following features:

  • Simple immutable model of the JSON language elements
  • An efficient JSON PEG parser (implemented with parboiled)
  • Choice of either compact or pretty JSON-to-string printing
  • Type-class based (de)serialization of custom objects (no reflection, no intrusion)

Permalink

]]>
http://files.posterous.com/user_profile_pics/1371041/mathias.png http://posterous.com/users/heO3QHvBCkodA sirthias sirthias sirthias
Thu, 02 Feb 2012 21:21:46 -0800 less-sbt 0.1.5 http://implicit.ly/less-sbt-015 http://implicit.ly/less-sbt-015
  • actually use the less-rhino-1.1.5.js compiler
  • fix bug introduced by the newer less compiler #8
  • speeder less compilation by evaluation the less compiler only once per sbt session #10

less-sbt compiles less gaining you more.

Permalink

]]>
http://files.posterous.com/user_profile_pics/1410450/IMG_5519.JPG http://posterous.com/users/eMCb2XfSNz Doug Tangren Doug Tangren Doug Tangren
Tue, 31 Jan 2012 23:24:00 -0800 scalaxb 0.6.8 http://implicit.ly/scalaxb-068 http://implicit.ly/scalaxb-068

bug fixes and minor enhancements

  • Fixes handling of cross-namespace extension. #135 reported by @psnively
  • Fixes parsing to reject extra elements at the end. #124
  • Relaxes wsdl parsing to handle out-of-order wsdls. #87
  • wsdl generates baseAddress as a def. #134 by @hedefalk

scalaxb is an XML data-binding tool for Scala that supports W3C XML Schema (xsd) as the input file.

Permalink

]]>
http://files.posterous.com/user_profile_pics/478694/eed3si9n.png http://posterous.com/users/5erz5Es4c7cZ Eugene Yokota Eugene Yokota Eugene Yokota
Sun, 29 Jan 2012 14:07:16 -0800 pamflet 0.3.2 http://implicit.ly/pamflet-032 http://implicit.ly/pamflet-032

Removes extraneous newline in page top header to fix empty box shown in Android browser.

Pamflet is a publishing application for short texts.

Permalink

]]>
http://files.posterous.com/user_profile_pics/575588/Nathan_Hamblen.jpeg http://posterous.com/users/3tk5bn3gnX4l Nathan Hamblen n8han Nathan Hamblen
Thu, 26 Jan 2012 13:08:00 -0800 sbt-native-packager 0.2.0 http://implicit.ly/sbt-native-packager-020 http://implicit.ly/sbt-native-packager-020

There's a  new release of the sbt native packager plugin available!

This release (focusing on better Windows support) brings:

  • new Windows Wix XML generation utiltiies
  • Ability to specify command line options for the "candle.exe" program.
  • Now supports rpmbuild 5.x  (thanks Mark Tye)

Please try it out and get back with feedback!

Permalink

]]>
http://files.posterous.com/user_profile_pics/1432978/face.JPG http://posterous.com/users/4wjzHCRZErIt Josh Suereth suereth Josh Suereth
Wed, 25 Jan 2012 03:24:44 -0800 Lift Shiro 0.0.5 http://implicit.ly/lift-shiro-005 http://implicit.ly/lift-shiro-005

This update moves the integration away from snapshot and milestone dependencies and onto the final releases of both Shiro 1.2.0 and Lift 2.4.

In addition to this, the published JARs no longer sit on scala-tools.org, but rather they live on oss.sonatype.org. Please update your SBT resolver configuration to:

libraryDependencies += "eu.getintheloop" %% "lift-shiro" % "0.0.5"

resolvers ++= Seq( "apache.repo" at "https://repository.apache.org/content/repositories/releases/" "sonatype.repo" at "https://oss.sonatype.org/content/repositories/public/" )

</code></pre>

Lift Shiro

This is an integration between Apache Shiro and the Lift Web framework. Specifically this integration does not use Shiro's built in web.xml resource filters to control access to URLs... it instead uses Lift's sitemap Locs. In addition it also has a range of snippets for conditionally displaying content based on rules and permissions.

Please see this README for more information on project setup and usage.

Permalink

]]>
http://files.posterous.com/user_profile_pics/907172/76230_447689911705_700891705_5890032_2524386_n.jpg http://posterous.com/users/5ebG9xj8Rx9T Timothy Perrett timperrett Timothy Perrett
Tue, 24 Jan 2012 12:02:29 -0800 bytecask 0.1.1 http://implicit.ly/bytecask-011 http://implicit.ly/bytecask-011

First minor release of Bytecask. Compiled with sbt 0.11.2 and Scala 2.9.1.

The API consists of the following methods:

def put(key: Array[Byte], value: Array[Byte])

def get(key: Array[Byte]): Option[Array[Byte]]

def delete(key: Array[Byte]): Option[Array[Byte]]

def keys(): Set[Array[Byte]]

def values(): Iterator[Array[Byte]]

def merge(): Unit

def close(): Unit

def destroy(): Unit

Sample usage:

val db = new Bytecask("/home/foo/db")
db.put("foo", "bar")
val value = db.get("foo")
db.delete("foo")
db.destroy()

With compression:

val db = new Bytecask("/home/foo/db", processor = Compressor)
db.put("foo", "bar")
val value = db.get("foo")
db.delete("foo")
db.destroy()

Bytecask is a low latency key/value database inspired by Bitcask

Permalink

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/ehSWvUgTFAgdk pbudzik pbudzik pbudzik
Tue, 24 Jan 2012 02:26:32 -0800 groll 1.2.0 http://implicit.ly/groll-120 http://implicit.ly/groll-120

This is the 1.2.0 release of groll, a plugin for sbt to view and navigate through the Git history.

Groll provides the command groll that provides various options to view and navigate through the Git history. Of course this means, that you can only use groll for projects using Git as version control system. If you are navigating through the Git history, groll will reload the sbt session if the build definition changed.

New and noteworthy:

  • Issue #10: Add support for executing commands after grolling

Example:

GrollKeys.postCommands <<= EclipseKeys.commandName(Seq(_))

Please see the README for information about installing and using groll.

groll is a plugin for sbt to view and navigate through the Git history.

Permalink

]]>
http://files.posterous.com/user_profile_pics/1546685/thinker.png http://posterous.com/users/1kLnYx6jm7Jv Heiko Seeberger hseeberger Heiko Seeberger
Mon, 23 Jan 2012 18:52:13 -0800 sbt-assembly 0.7.3 http://implicit.ly/sbt-assembly-073 http://implicit.ly/sbt-assembly-073

bug fixes and minor updates

In plugins.sbt:

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.7.3")

resolvers += Resolver.url("sbt-plugin-releases",
  new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/"))(Resolver.ivyStylePatterns)

sbt-assembly is a plug-in for Simple Build Tool that creates a single jar of your project including all of its dependencies.

Permalink

]]>
http://files.posterous.com/user_profile_pics/478694/eed3si9n.png http://posterous.com/users/5erz5Es4c7cZ Eugene Yokota Eugene Yokota Eugene Yokota
Mon, 23 Jan 2012 13:46:00 -0800 Scalaz 6.0.4 http://implicit.ly/scalaz-604 http://implicit.ly/scalaz-604

Scalaz 6.0.4 is now available. Scalaz is a library to support functional programming in Scala.

Artifacts are cross built for Scala 2.8.1, 2.9.0-1, 2.9.1, and 2.10.0-M1 and are published to Scala Tools.
This release fixes a few bugs, including a critical bug in scalaz.concurrent.Actor, and adds a some new features. For more details, see the release notes and commit log, and the ScalaDoc (including links to source).
While most of the library will be binary compatible with 6.0.3, we recommend that you recompile your programs with the new release.

- The Scalaz Team

PS. Scalaz 7 is currently in development. It's a rewrite to address the challenges posed by type class inheritance. We're hoping that 7.0 will be ready around April.

Permalink

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/hcGbDeT6U85fk retronym retronym retronym
Mon, 23 Jan 2012 13:38:52 -0800 loglady 1.0.0 http://implicit.ly/loglady-100 http://implicit.ly/loglady-100

This is the first public release of loglady, a very simple logging trait with an API similar to Python's logging library.

Example:

class MyClass extends Logging {

  log.warn("We all float (%.4f) down here", 3.141592)
  log.debug("Some random stuff: %d %s %x", 42, List(0, 1, 1, 2, 3, 5), -559038737)
  log.error("Formatted date: %1$tm %1$te,%1$tY", new java.util.Date)

  try {
    throw new Exception("Oops!")
  } catch {
    case exc: Exception => {
      log.error(exc, "Something bad happened")
    }
  }
}

loglady is a crazy simple logging API for Scala, wrapping slf4j.

Permalink

]]>
http://files.posterous.com/user_profile_pics/139136/dln_eintr_avatar.png http://posterous.com/users/4aLzsS2BdR0B dln dln
Mon, 23 Jan 2012 06:46:36 -0800 scalatra 2.0.3 http://implicit.ly/scalatra-203 http://implicit.ly/scalatra-203
  • Add support for Scala 2.8.2.

scalatra-auth

  • Fix crash in BasicAuthStrategy when no auth header is present. (GH-143)

scalatra-fileupload

  • Create hook to customize ServletFileUpload, for instance to set maximum upload size.

scalatra-tests

Scalatra is a tiny, Sinatra-like web framework for Scala.

Permalink

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/hdKypXJUOJJAC Ross Baker rossabaker Ross Baker
Sat, 21 Jan 2012 16:45:16 -0800 pj 0.1.0 http://implicit.ly/pj-010 http://implicit.ly/pj-010
  • provides simple library and conscript interfaces for pretty printing json
  • see the project readme for more info

    curl 'https://api.twitter.com/1/statuses/public_timeline.json' 2>/dev/null | pj --

pj: is a pretty printing library for json

Permalink

]]>
http://files.posterous.com/user_profile_pics/1410450/IMG_5519.JPG http://posterous.com/users/eMCb2XfSNz Doug Tangren Doug Tangren Doug Tangren
Sat, 21 Jan 2012 04:46:19 -0800 shapeless 1.1.0 http://implicit.ly/shapeless-110 http://implicit.ly/shapeless-110

A minor release of shapeless. The main changes include,

  • The addition of a Sized type for collections with statically known sizes.
  • The beginning of a collection of non-test examples.
  • The SBT project was missing an organization identifier. This has been fixed. Thanks to aloiscochard for catching and patching this.

shapeless is an exploration of type class and dependent type based generic programming in Scala.

A series of articles on the implementation techniques used will appear here and it also has a mailing list.

Permalink

]]>
http://files.posterous.com/user_profile_pics/1707703/_mg_6306-square.jpg http://posterous.com/users/eiXoxt4bH170C Miles Sabin milessabin Miles Sabin
Sat, 21 Jan 2012 01:21:36 -0800 sbt-idea 1.0.0 http://implicit.ly/sbt-idea-100 http://implicit.ly/sbt-idea-100

Main changes:

  • Bump up the version to 1.0.0 (main motivation was clearer separation from sbt version)
  • Support for FSC compiler in newer IntelliJ Scala plugins (issue 105)
  • Support integration tests (src/it) (issue 121)
  • Make 'no-sbt-classifiers' to be the default (issue 119)

sbt-idea is a simple-build-tool plugin that automates creation of IntelliJ IDEA project files from sbt project definition.

Permalink

]]>
http://posterous.com/images/profile/missing-user-75.png http://posterous.com/users/YS30p29dYxb Mikko Peltonen mpeltonen Mikko Peltonen
Thu, 19 Jan 2012 06:35:00 -0800 xsbt-gpg-plugin 0.5 http://implicit.ly/xsbt-gpg-plugin-05 http://implicit.ly/xsbt-gpg-plugin-05

A new version of the PGP signing plugin for SBT has been released.  New in this version

  • Accepts passphrase in the console, thanks to advice from Mark
  • Option to explicitly pass the -use-agent flag to gpg.
  • Defautls to bouncy castle, always.
  • New website.

Feel free to use and send an issue back to the source.

Permalink

]]>
http://files.posterous.com/user_profile_pics/1432978/face.JPG http://posterous.com/users/4wjzHCRZErIt Josh Suereth suereth Josh Suereth
Mon, 16 Jan 2012 22:57:53 -0800 sff4s 0.1.1 http://implicit.ly/sff4s-011 http://implicit.ly/sff4s-011

bug fix

  • Fixes impicitly converted juc.Future getting stuck. #2 fixed by @seratch

sff4s (simple future facade for Scala) is a Scala wrapper around several future implementations.

Permalink

]]>
http://files.posterous.com/user_profile_pics/478694/eed3si9n.png http://posterous.com/users/5erz5Es4c7cZ Eugene Yokota Eugene Yokota Eugene Yokota
Mon, 16 Jan 2012 15:56:01 -0800 less-sbt 0.1.4 http://implicit.ly/less-sbt-014 http://implicit.ly/less-sbt-014
  • updated less compiler support from less-rhino-1.1.3.js to less-rhino-1.1.5.js (the latest less compiler version at the time of this release)
  • The http://repo.lessis.me resolver is no longer required. This and all future releases will be published to scala tools.
  • published for sbt 0.11.2, if you wish to use this version with an older version of sbt, please request so here.

less-sbt compiles less gaining you more.

Permalink

]]>
http://files.posterous.com/user_profile_pics/1410450/IMG_5519.JPG http://posterous.com/users/eMCb2XfSNz Doug Tangren Doug Tangren Doug Tangren
Mon, 16 Jan 2012 14:04:00 -0800 coffeescripted-sbt 0.2.1 http://implicit.ly/coffeescripted-sbt-021 http://implicit.ly/coffeescripted-sbt-021
  • upgraded from v1.1.1 to Coffeescript js compiler v1.2.0* changelog
  • published for sbt 0.11.2, ask nicely, if you need support older versions of sbt
  • the http://repo.lessis.me resolver is no longer needed for this plugin. This and all future artifacts will be published to scala tools.
  • for future reference, If you happen to plan on using the 1.2.0 CoffeeScript compiler and you just so happen to use a Javascript interpreter that understands, reserved words like static, follow the fix mentioned here here or here and save yourself an afternoon.

coffeescripted-sbt compiles your CoffeeScripts so you don't have to.

Permalink

]]>
http://files.posterous.com/user_profile_pics/1410450/IMG_5519.JPG http://posterous.com/users/eMCb2XfSNz Doug Tangren Doug Tangren Doug Tangren