Major release! Please read this post and this one to get all the details.

New features

  • simplified the acceptance specifications with interpolated strings and Scripts
  • added a new way of declaring Given/When/Then specifications with the GWT trait
  • added a Snippets trait to insert blocks of code in generated documentation
  • added matchers for scala.util.Try instances
  • using the official Scalaz 7 release
  • reworked the Traversable matchers to make a more general use of contain


  • when a result is Skipped or Pending in a ScalaCheck property the full property is skipped or pending
  • restricted the JsonMatchers to strings instead of being Matcher[Any]
  • update copySpecResources/unjar to support not alphanumerical paths (e.g. Windows path with accent, thanks @cchantep)
  • added a pegdownExtensions argument to specify the Markdown extensions with pegdown (thanks @asflierl)
  • added a Fixture trait to pass data to each Example
  • added auto-numbered groups and examples for the Groups and Grouped traits
  • restricted the JsonMatchers to string inputs
  • added a Tables trait in the specification package to use DataTables without the ! implicit creating examples
  • added the possibility to declare a step as global in a mutable / isolated specification


  • errors must be re-thrown when exceptions are expected with ExceptionMatchers #134
  • fixed the directory names for the api #136
  • fixed a file creation issue when the parent directory is not an absolute path
  • added a utf8 declaration for the junit xml outptut #139
  • modified the contained matchers so that not-expressions work ok with thrown expectations #142
  • made the Json matchers more tolerant against single quoted Json for testing
  • when a title is specified on a Specification the url of the html file should not be changed
  • when parsing for package names it must be possible to have a license header at the beginning of a file #143
  • added a setting to allow verbose logging on Mockito mocks #147
  • fixed the contain.only matcher when negated #148
  • improved the performances of the FileReader #149
  • fixed the evaluation order of actual and expected values in the BeEqualTo matcher #150
  • fixed the behaviour of map must not(haveKeys(k1, k2, k3)) to check for the absence of all the keys
  • throw an ErrorException when a nested forall throws an Exception
  • set the MatchResult[T].apply method as private to specs2 to mitigate issues with semi-column inference #154
  • fixed the use of a custom equality matcher for different combinations of contain(...).inOrder and contain(...).only
  • fixed the or combinator for results when there are FailureExceptions
  • fixed the spelling mistake with pending #165
  • fixed the reporting of SpecEnds with the Notifier reporter, which fixes the display in Intellij