Skip to content

Releases: csf-dev/CSF.Screenplay

v1.0.0

25 Mar 21:47
Compare
Choose a tag to compare

This is the first production release for general use.

Changelog

  • #182 - Remove excess dependencies from JSON-to-HTML conversion app NuGet package
  • #183 - Fix failing build in AppVeyor due to incorrect Newtonsoft JSON assembly

v0.15.1-rc2

24 Mar 14:27
Compare
Choose a tag to compare
v0.15.1-rc2 Pre-release
Pre-release

This is a second release candidate, containing a few backwards-compatible bug fixes.

Changelog

  • #179 - Fix packaging error in JSON-to-HTML conversion app
  • #180 - Relax dependency upon Netwonsoft JSON library (support wider range of versions)
  • #181 - Use new NuGet license specifier, instead of deprecated licenseURL

v0.15.0-rc1

23 Mar 14:48
Compare
Choose a tag to compare
v0.15.0-rc1 Pre-release
Pre-release

This is a first release candidate of the CSF.Screenplay library. Unfortunately it contains some breaking changes since the last beta, although they affect APIs which are unlikely to be in use (functionality was removed because it was redundant).

Changelog

Bug fixes

  • #156 - Fix packaging error which meant that the JSON-to-HTML converter couldn't be installed
  • #175 - Update sample test code in README
  • #176 - Add link to docs wiki to the README

Breaking changes

  • #158 - Simplify "Cast" API by removing some redundant/unneccesary functionality
  • #159 - Simplify reporting API & tidy-up

v0.14.0-beta

29 Jun 18:59
Compare
Choose a tag to compare
v0.14.0-beta Pre-release
Pre-release

This beta release is unfortunately not backwards compatible with previous releases. Major rework was required to the reporting object model and processing paradigm which made it impossible to maintain compatibility. For more detail, please read the corresponding issue which caused this.

Changelog

  • #149 - Fix build failures on Windows/AppVeyor due to HTTP 500 errors
  • #148 - Refactor report model into POCOs
  • #147 - Create a reporter which serialises to a JSON report file on a per-scenario basis
  • #141 - Fix crash error when writing reports, related to strong named assemblies
  • #142 - Suppress Given/When/Then for displaying 'gain ability' reports
  • #143 - Prevent exceptions from being duplicated throughout HTML reports
  • #144 - Suppress 'meaningless' scenario & feature IDs in HTML reports
  • #145 - Add CLI application to create HTML reports from JSON reports
  • #146 - Enable 'folding' for every line of HTML reports

v0.13.0-beta

03 May 20:03
Compare
Choose a tag to compare
v0.13.0-beta Pre-release
Pre-release

This is a feature enhancement release, which should be backwards-compatible with beta v0.12.0. Also, as of this release onwards, the included assemblies are strongly-named.

Changelog

  • #137 - Improve performance of writing HTML reports
  • #140 - Remove C# expressions from HTML reporting documents (related to performance)
  • #124 - Update NuGet package description
  • #138 - Add new methods to Stage, in order to support limited cast-like functionality
  • #123 - Add README to NuGet integration packages

v0.12.0-beta

02 Mar 19:48
Compare
Choose a tag to compare
v0.12.0-beta Pre-release
Pre-release

This beta release contains a number of improvements and fixes found whilst testing the previous beta with a real testing project. Unfortunately, one of those improvements was a complete rewrite of the JSON APIs project (including a new package name). This is a major breaking change for that project, sorry.

Changelog

  • #128 - Complete rework of the Web APIs project, including a new package name
  • #135 - The cast may now resolve abilities for actors, enhancing the way in which actors are created from the cast
  • #134 - New feature: Personas which act as templates for well-known actors
  • #125 - Improve options to phrase "then" actions
  • #133 - Cast and Stage are now registered automatically
  • #132 - Subclass the SpecFlow Steps class (to avoid clashing method names)
  • #126 - Fix problems created by hijacking SpecFlow's dependency injection
  • #130 - Fix crash when writing an HTML report (missing ZPT-Sharp config)
  • #129 - Add convenience method to HTML report writer
  • #127 - Add integration helper for Web APIs ability
  • #131 - Fix crash when writing an HTML report (cast to IReportable)

v0.11.0-beta

21 Feb 20:38
Compare
Choose a tag to compare
v0.11.0-beta Pre-release
Pre-release

This is the first beta release of CSF.Screenplay. There may still be breaking changes to come before a production-ready version is released.

Changelog

  • #120 - Fix all compile warnings
  • #117 - Add XML doc comments to JSON APIs project
  • #104 - Build/embed style & script resources into HTML reports
  • #102 - Rewrite README
  • #99 - Decide upon structure for docs wiki & write notes

v0.10.0-alpha

03 Feb 17:51
Compare
Choose a tag to compare
v0.10.0-alpha Pre-release
Pre-release

This alpha release includes a number of feature enhancements which had been low-priority in previous releases. It also marks what is expected to be the last alpha release: v0.11.x is expected to be a beta.

Changelog

  • #72 - Move exception messages to resource files
  • #80 - Add support for transforming exceptions via the object formatter
  • #101 - Add a "stopwatch" ability (and associated actions) for timing tests

Notably #80 means that exception types may be registered with the object formatter. Where these exceptions are encountered, the report will contain only the formatted text and not the entire exception and its stack trace. Because Screenplay reports are already blow-by-blow lists of what happened, the stack trace is often unneeded, since we already know what was going on.

v0.9.0-alpha

03 Feb 14:10
Compare
Choose a tag to compare
v0.9.0-alpha Pre-release
Pre-release

This alpha release includes numerous non-backwards compatible changes, as the architecture has been improved-upon. Notably, from this release onwards, the parts of Screenplay which relate to Selenium WebDriver have been moved to their own Github repositories.

Changelog

  • #116 - Fixed intermittent build failures relating to JSON API tests
  • #112 - Upgraded dependency on FlexDi to v0.5.0
  • #54 - Separate web driver factories into their own solution & Github repo
  • #111 - Separate WebDriver-related project into its own solution & Github repo
  • #119 - Remove code which is now migrated to other repositories
  • #106 - Rename IScreenplayScenario to IScenario
  • #108 - Rework integrations to use a dependency-injection based architecture instead of service locator

The rationale for #54 is that creating web drivers from configuration, and other support types in this project, really has very little to do with Screenplay. Whilst it's certainly useful for Screenplay, it should not be an integral part. Thus I've spun it off into its own thing and I will be referencing it in future as a NuGet dependency.

The rationale for #111 is that - as web browsers are upgraded and released - I will be presented with a moving target against which to develop. Supporting browsers (particularly with the incoming work on browser flags) will likely require frequent maintenance and thus upgrades to the codebase. This will mean that the version number for the webdriver-related library will quickly lose sync with the version of the Screenplay core (this solution).

v0.8.0-alpha

21 Jan 16:10
Compare
Choose a tag to compare
v0.8.0-alpha Pre-release
Pre-release

This alpha release focusses mainly on feature-enhancements, plus a couple of bugs.

Changelog

  • #14 - Create an HTML reporter
  • #37 - Add abilities and actions which consume JSON web services
  • #65 - Replace Dependency Injection with MicroDi
  • #86 - Add a 'stage' concept for use of passive voice in tests
  • #100 - Alter the reporting model (group scenarios by feature)
  • #103 - Fix build on Windows
  • #115 - Broken build on Windows/AppVeyor
  • #105 - Revert to Safari v10 (v11 breaks some features)
  • #110 - Ignore failing test in Firefox (feature change)

As you can see from the last two issues - where browsers' behaviours change over time, this will present us with a moving target in terms of making sure that the various actions are cross-browser and simple to use. This is a priority for future feature enhancements.