All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning. We consider the following to be the API of Pickles for the purposes of Semantic Versioning:
- The arguments of the command line runner
- The arguments of the PowerShell runner
- The arguments of the MSBuild configuration
- The settings file of the GUI runner
- The JSON output of the JSON format
Features in Experimental are subject to change and removal without being considered breaking.
This document is formatted according to the principles of Keep A CHANGELOG.
- .NET 6 Support
- .NET Core 3.1/.NET 5 Support!
- All libraries are .NET Standard 2.0 so they will work with anything from .NET Framework 4.6.1 to .NET 5.
- Dropping support for the UI project for the time being until a cross-platform solution can be created.
- Not including a Chocolatey distribution for the time being until a non-windows deployment can be created.
- MsBuild NuGet package is still being worked on. Zip file will be available with this release.
- Development can now be done on Windows, Mac or (potentially) Linux.
- Nuke build will simplify and speed up releases. Removed old build files.
- Multiple updates thanks to Andrey Leskov! (See PR 618)
- Update tests to launch on non-windows platform
- Update cucumber json report format to match official json schema
- Add feature uri to cucumer json report #609
- Add feature and step id, hidden field to Cucumber json report
- Make Pickles.CommandLine packable as dotnet tool
- Fixing a packaging and deployment error
- Updated all projects to .NET Framework 4.8. This will help in preparing for the dotnet core update.
- Removed extra header from HTML output. (598)
- First Draft of the MarkDown output format. Expect some rough edges here. (237) (by @darrencomeau)
- Improve performance of VS Test results file parsing (586) (by @tlecomte)
- Fix matching of scenario outline with duplicate values with VsTest (542) (by @rik-smeets and @jvandertil)
- Javascript error in dhtml doc (553) (by @dirkrombauts)
- Pickles GUI: Generate equivalent PowerShell or Windows Console command line (90) (by @magicmonty)
- Inconclusive marker shown when generating doc without test results (545) (by @dirkrombauts)
- Remove requirement for hardcoded 'Index.html' in featureSearch.js (541) (by @szaliszali)
- Exception in XUnit2ScenarioOutlineExampleMatcher (548) (by @magicmonty)
- Hide Tags from Living Documentation (516) (by @spacehole1)
- Exclude Feature Files that have no included scenarios (453) (by @janosmagyar)
- Scenario Outline special characters workaround (509) (by @DominikBaran)
- Fix example matching for VSTest (528) (by @jvandertil)
- Updated several external libraries
- Problem with Chocolatey Deployment
- More robust scenario outline example mapping by using code from SpecFlow (519) (by @dirkrombauts, based on an idea by @janosmagyar)
- Only the table of the examples in a scenario outline should have test results (515) (by @spacehole1)
- Dhtml reports and Scenario outline support (includes extension of the JSON output) (502) (by @DominikBaran)
- Cache the NUnit feature scan results to improve performance on large solutions (503) (by @tlecomte)
- Use lookups in JSONDocumentation Builder to improve performance on large solutions (504) (by @tlecomte)
- Cache LanguageServices and GherkinDialectProvider in FeatureParser to improve performance on large solutions (505) (by @tlecomte)
- Added error handling for Markdown parsing exceptions (497) (by @joebuschmann)
- PowerShell Runner Shows Only First Test Result File (485) (by @dirkrombauts)
- Fixed ExcludeTags Typo In MSBuild targets (478) (by @nachereshata)
- Remove unnecessary backslash conversion in json feature tree (469) (by @AntoineTheb)
- Pickles cannot deal with languages that have a hyphen in the name (478) (by @dirkrombauts)
- Add handling to guess some encodings (457) (by @s991116 and @dirkrombauts)
- Show inconclusive results in DHTML output (463) (by @dirkrombauts)
- Under the hood: Move NDesk.Options dependency to command line runner (459) (by @dirkrombauts)
- Under the hood: update several third party packages (462) (by @dirkrombauts)
- Continue loading feature files after parsing errors (445) (by @dirkrombauts, based on an idea by @pleveill)
- Fix localisation of "Examples" in Scenario Outlines (440) (by @dirkrombauts)
- Make ExcludeTags available to MSBuild (444) (by @dirkrombauts, based on an idea by @pleveill)
- Add wildcard support for test result files (435) (by @Autom8edChaos)
- Exclude Feature or Scenario by Tag (433) (by @Wil75)
- Improved Tag Support: Tags in Excel and Tags for Examples Blocks in Json, Dhtml, Html, and Word formats (424) (by @pleveill)
- Fix problem of NUnit 3.6 and truncation (425) (by @dirkrombauts)
- Adding Cucumber JSON Documentation Builder (413) (by armsteadj1, jgrossrieder and dgrekov)
- Enable Pickles to deal with ignored scenario examples in VsTest Result Provider (340) (by @dirkrombauts)
- Enable xUnit Test Result Provider to Deal with more than 255 Scenarios in a File (405) (by @dirkrombauts)
- Enable xUnit Test Result Provider to Deal with more than 255 Scenarios in a File (397) (by @eugene-sea)
- Several external libraries were update to their newest versions (394) (by @dirkrombauts)
- Null reference error when running with MsTest trx results file (356) (by @dirkrombauts)
- Test result file is read as null in CucumberJson when elements is missing (390) (by @dirkrombauts)
- DHTML version sorts features and folders in descending order (383) (by @aquilanl)
- Enable Pickles to with cultures in the language setting (308) (by @dirkrombauts)
- Improve Markdown Parsing to Reduce Unintended Block Quotes (302) (by @dirkrombauts)
- Fix Importing Test Results Failure for MsTest for Ignored Scenarios (378) (by @wbagit).
- Better Dealing with Special Characters in Scenario Examples (375) (by @thopark).
- Compatibility with nunit.console 3.x and nunit.framework 2.x (369) (by @lars-erik).
- Correct sorting of features in output file (MS Word) (357) (by @lars-erik and @dirkrombauts).
- Handle Encoding or Opposite Slash in Feature Paths (358) (by @ocsurfnut).
- Blank Example Entries in a Scenario Outline cause Pickles not to Find the matching Scenario Outline (358) (by @aaronjrich).
- Hyperlink Feature #1: Automatic Hyperlink Generation for Scenario Titles (320) (by @ocsurfnut).
- Make #-style comments configurable - Default to True (346) (by @ocsurfnut).
- Command line help does not list all possible test result formats (340) (by @magicmonty).
- Some examples were not recognized (#343) (by @danielpullwitt).
- Remove Dependency on AutoMapper (#333) (by @dirkrombauts).
- Update DHTML version to use Knockout version 3.4.0 (#325) (by @dirkrombauts).
- General handling of special characters in scenario outline inputs, and XUnit failed, if multiple TestResults.xml were used (336) (by @magicmonty).
- SpecFlow conformant name mapping in other test result providers (#326) (by @danielpullwitt).
- Support for multiple tags in DHTML version (#283) (by @aaronjrich).
- Output commented lines (#271) (by @ludwigjossieaux).
- Use version 4 of the Gherkin parser (#322) (by @dirkrombauts).
- Use new logo as icon and in nuget packages (#323) (by @dirkrombauts).
- Update external libraries (#310) (by @dirkrombauts).
- SpecFlow conformant name mapping in nUnit test result provider (#315) (by @danielpullwitt).
- Prevent crash when no Description is provided (#314) (by @danielpullwitt).
- Experimental features - see the documentation (by @dirkrombauts).
- Using a different MarkDown component. Warning: it is not entirely compatible with the static HTML version. (#269) (by @dirkrombauts).
- Enabling mathematics in the description elements in the DHTML version. Warning: requires internet connectivity. (#281) (by @dirkrombauts).
- Overview Dashboard on DHTML Pickles Site with Summary Charts by Namespace and Tags (#295) (by @ocsurfnut)
- Scenario Outline with parenthesis parses correctly and reports the correct result (#299) (by @ocsurfnut)
- Support for the test result format of VsTest.Console.exe (#280) (by @dirkrombauts).
- The MsTest test result provider is now able to give the result of individual examples in a scenario outline (#285) (by @dirkrombauts).
- The SpecFlow+ Runner (formerly SpecRun) test result provider is now able to give the result of individual examples in a scenario outline. See the documentation for an important caveat. (#286) (by @dirkrombauts).
- The Cucumber test result provider is now able to give the result of individual examples in a scenario outline (#287) (by @dirkrombauts).
- The GUI now uses a combobox to display the choice of test result formats (#297) (by @dirkrombauts).
- Word document is corrupt if a Feature has no description (#261) (by @dirkrombauts).
- The Cucumber JSON test result provider should deal with background steps correctly (#293) (by @dirkrombauts based on an idea by MikeThomas64).
- Support for SpecFlow v2 (#276) (by @dirkrombauts).
- The .nuspec files now contain a releaseNotes elements that points to this file on GitHub.
- xUnit1 and xUnit2: Failure when tests are included that don't have traits (#268) (by @dirkrombauts).
- Support for xUnit 2 (#230) (by @dirkrombauts).
- Support for nUnit 3 (#230) (by @dirkrombauts).
- The Gherkin parser was updated to version 3.2.0 (#256) (by @dirkrombauts).
- Other dependencies were updated (by @dirkrombauts).
- The language parameter now correctly sets the default language to use when parsing feature files (#260) (by @dirkrombauts).
- The MarkDown code in the examples was corrected (#254) (by @dirkrombauts)
- The language of the
.feature
files can now be set in the MSBuild runner as well. See MSBuild configuration should map Language too (#236).
- Remove potential load failure from the Command Line, GUI and MSBuild runners (#243)
- Some external components were updated.
- The PowerShell runner does not load (#239)
- The presence of a background causes a crash when integrating test results (#238)
- Test results in example rows of scenario outlines that contain
$
signs were not correctly identified (#227) - Table layout in the DHTML version was sometimes unnecessarily narrow ([#225])#225))
- A crash was fixed that occurred when linking nUnit test results (#223)
- Pickles no longer supports running on .NET version prior to 4.5: Pickles now uses version 3 of the Gherkin parser, and as such requires .NET 4.5. The new parser is a lot smaller and should be faster too.
- In the DHtml version, the alignment of the keywords (Given, When, Then) was fixed for non-English languages (#219)
- The PowerShell version now correctly traces relative paths from the current directory (#216)
- In the Html version, the alignment of the keywords (Given, When, Then) was fixed for non-English languages (#209)
- A NullReferenceException in the MSTest provider was fixed when the test results also contain ordinary unit test results in addition to the SpecFlow results (#212)
- In the DHtml version, there are now links to hide/show the navigation, and to collapse/expand all nodes in the navigation (#204)
- The command line version no longer silently fails when an error occurs. You will need to adapt the configuration in order to get more information from the error (#202
- The issue of failing silently in case the full filename is too long has been fixed (#199)
- In both the DHtml and Html versions: Align scenario keywords to the right side so that step texts start from the same position (#195)
- Abbreviations displayed incorrectly with spaces between letters (#192)
- In the DHtml version, feature wide tags with capitals can not be filtered on (#194)
- Tables in background for Word & Excel (#191)
- Support for the nAnt runner has been discontinued. nAnt users can migrate by using nAnt's capabilities to call the command line runner of Pickles. (#179)
- The checkmark/cross icon in the GUI client did not always show the cross icon when appropriate, and its state could be changed by the user. (#177)
- The command line and powershell runners now return an error code of 0 when everything went fine, and 1 if there was an error.
- The HTML and DHTML output versions no longer horizontally spread tables.
- The GUI version has an icon
- The msbuild runner will now break the build when an error occurs. This reflects our belief that the Living Documentation is a first class output of the software development process.
- Each runner has its own download package
- Several improvements to the DHTML version
- A progress indicator when loading features for the first time
- Add a toggle to show/hide folder contents (top level folders are collapsed by default)
- The Nuget package for the MSBuild runner adds an msbuild target file - see MSBuild Task for documentation (#157)
- The text "pickled on" was replaced with "generated on".
- For contributors: we are now using a new assert library: NFluent.
- DITA support has been discontinued. (#153)
- Fixed issue where the Html version didn't render the pass/fail icons (#139)
- Fixed issue where the Html version generated an unexpected entry for a file in obj/Debug (#140)
- Removed dependencies from the Nuget packages (#142)
- The nuget packages Pickles.CommandLine and Pickles.MSBuild contain the files twice (#144)
- Fixed issue where multiline arguments of gherkin steps would not be rendered in the DHtml verion (#134)
- The folder structure of the dependencies of the static HTML version was changed. If you override the .css files, you will need to update your workflow to account for that.
- Fixed issue where multiple results files for a single feature causes exceptions when processing scenario outline examples (#123)
- Fixed issue where pickles would crash when a specified test results file does not exist (#126)
- Description blocks are rendered as code elements in DHtml version (#118)
- PowerShell version works again
Some things went wrong during the publication of versions 0.17.0 and 0.17.1. Therefore 0.17.2 is the first published 0.17.x version.
- Added test status in the DHTML browsing section (left nav) (#110)
- Crash because of nunit result (#108)
- Avoid crash on start of GUI (#112)
- Enable results for individual example results in a scenario outline (in the Html version) (#105)
- Features don't render correctly when there are less than 4 spaces (#106)
- Allow multiple result files (#83): it is now possible to use multiple test result files. This will come in handy if you need to partition your test runs. Simple use a semicolon-separated list of file paths instead of the single file path as an argument
- The (static) Html version now supports images with .png, .gif, .jpg and .bmp extensions. This partially addresses issue (#12)
- Several updates of external dependencies, including the long out-of-date IKVM. Yay!
- All production code and test code now use the excellent System.IO.Abstraction library and its TestingHelpers classes.
- We are using build services provided by MyGet
- DHTML uses the Feature's description for the Background (#74)
- Nuget manifest should mention PicklesDoc instead of only Jeffrey Cameron (#84)
- Crash when a feature is not present in the test result (with NUnit) (#85)
- The UI version now includes the option to generate each selected output format in its own directory (#78)
- Left nav bug fix in DHTML format (#73)
- DHTML uses the Feature's description for the Background (#74)
- Fixes a .NET runtime version issue caused by combining all Pickles runners in one directory. We are back to each runner in a separate directory, and will likely remain so until all assemblies use the same .NET framework version.
- DHTML output format should render Markdown correctly (one step closer toward feature parity for all export formats) (#60)
- The .zip file contains all 5 Pickles runners in one directory, reducing the size of the download by roughly three quarters.
- When selecting multiple output formats in the UI, pickles generates the first output format multiple times (#66)
- Better Error Reporting: both the command line client and the UI show a log (#36)
- Pickles crashes when generating excel with really long descriptions (#62)
- Calling pickles.exe without any arguments in a directory without features causes a crash (#63)
- Add support for SpecRun test results (#21). Refer to the wiki page for instructions on how to configure SpecRun correctly: Integrating Test Results From SpecRun.