Skip to content

Releases: concordion/concordion

3.1.3

09 Jul 09:41
7f275a8
Compare
Choose a tag to compare

Fix #285 "URI is not heirarchical" when using @ConcordionResources with JDK9+

Thanks to @sergiowww for the patch!

3.1.2

24 Jun 08:54
818be93
Compare
Choose a tag to compare

Additional dependencies added as compile rather than runtime dependencies (api rather than implementation in Gradle):

  • flexmark
  • flexmark-ext-gfm-strikethrough
  • flexmark-ext-tables
  • xom

3.1.1

20 Jun 07:47
Compare
Choose a tag to compare

Concordion 3.1.1

Bug fixes

  • Concordion 3.1.0 exposes JUnit as a runtime rather than a compile dependency. Users will need to add JUnit as a dependency to their build scripts. In Concordion 3.1.1 it reverts to being a compile dependency. Fixes #331.

3.1.0

20 Jun 06:47
4b4fcf1
Compare
Choose a tag to compare

Concordion 3.1.0

New Features

On occasions where the whole table row is required when using the execute on a table command, for example logging the row, the special variable #ROW contains a Map<String, String> with the key being the column header value and the value being the column cell value for each column in the table row. Examples are provided in the execute on a table specification. This resolves #313 and #316.

Bug Fixes

  • Resources are now copied when a relative path is passed to @ConcordionResources. Fixes #286.

Build Updates

  • Gradle has been updated to Gradle 7. A number of the plugins have been updated. The publishing scripts have been added to build.gradle with publish.gradle being removed.
  • Travis CI has been replaced by GitHub Actions for building and testing Concordion.
  • With Bintray and JCenter being retired, the Gradle build has been updated to publish to Maven Central. References to JCenter have been replaced by Maven Central.

Dependency Updates

  • JUnit has been updated to 4.13.2
  • OGNL has been updated to 3.1.29
  • XOM has been updated to 1.3.7

3.0.1

04 Jul 07:32
ac6d693
Compare
Choose a tag to compare

Fixed #304

3.0.0

30 May 07:38
Compare
Choose a tag to compare

Concordion 3.0.0 requires Java 8 or later and JUnit 4.

JUnit 3 and earlier versions of Java are no longer supported.

New Features

The deprecated Pegdown markdown parser has been replaced by Flexmark. Flexmark is faster, supports CommonMark and has additional extensions and configuration options.

The MarkdownExtensions that were introduced for Pegdown for Concordion 2.0.0 are still supported.

A new annotation FlexmarkOptions has been introduced to support the extended range of extensions and configuration options supported by Flexmark.

Dependencies

The Flexmark library has been added.
The Pegdown and Parboiled libraries have been removed.

Deprecated methods removed

The following deprecated methods have been removed:

AbstractCommand
List getExamples(CommandCall command)
void execute(CommandCall commandCall, Evaluator evaluator, ResultRecorder resultRecorder)
void setUp(CommandCall commandCall, Evaluator evaluator, ResultRecorder resultRecorder)
void verify(CommandCall commandCall, Evaluator evaluator, ResultRecorder resultRecorder)

ClassNameBasedSpecificationLocator
ClassNameBasedSpecificationLocator(String specificationSuffix)

FixtureRunner
ResultSummary run(Fixture fixture)

2.2.0

14 Jul 10:11
Compare
Choose a tag to compare

New Features

The new features are:

Individual examples can also be ignored by marking up the example in the specification with a status of Ignored. For example, using Markdown format:

### [Header text](- "example name c:status=Ignored")

or in HTML:

<div c:example="my-example" c:status="Ignored">

Fixes

  • #264 - Fix for issues #246 and #262 - Example listeners are passed the wrong example fixture instance when a specification contains multiple examples.

API changes for extensions

This release introduces a number of API changes.

These changes won't impact users of Concordion directly, but may impact extension users and creators. If you are using an affected extension, you will be notified on startup of Concordion via a message to the stderr console.

If you are using the following extensions, they will need to be upgraded:

concordion-executeonlyif-extension

Will need upgrading to version 0.3.0 (or later)

concordion-run-totals-extension

Will need upgrading to version 1.2.0 (or later)

concordion-embed-extension

Uses APIs that are now deprecated, should be upgraded to version 1.2.0 (or later) before Concordion 3.0.0.

concordion-excel-extension

Uses APIs that are now deprecated, should be upgraded to version 2.1.0 (or later) before Concordion 3.0.0

concordion-screenshot-extension

Uses APIs that are now deprecated, should be upgraded to version 1.3.0 (or later) before Concordion 3.0.0

API changes

The following public APIs have been changed:

org.concordion.Concordion

  • Parameter 5 of public Concordion(java.util.List, org.concordion.api.SpecificationLocator, org.concordion.api.SpecificationReader, org.concordion.api.EvaluatorFactory, org.concordion.api.Fixture) has changed its type to org.concordion.api.FixtureDeclarations
  • The deprecated constructor public Concordion(org.concordion.api.SpecificationLocator, org.concordion.api.SpecificationReader, org.concordion.api.EvaluatorFactory, org.concordion.api.Fixture) has been removed
  • Parameter 1 of public void checkValidStatus(org.concordion.api.Fixture) has changed its type to org.concordion.api.FixtureDeclarations
  • Parameter 1 of public java.util.List getExampleNames(org.concordion.api.Fixture) has changed its type to org.concordion.api.FixtureDeclarations
  • In method public boolean hasExampleCommands(org.concordion.api.Fixture) the Fixture argument has been removed

org.concordion.api.AbstractCommandDecorator,
org.concordion.api.Command,
org.concordion.api.CommandCall,
org.concordion.api.CommandCallList

  • The setup, execute and verify methods now take an additional argument of type org.concordion.api.Fixture

org.concordion.api.CommandCallList

  • The processSequentially method now takes an additional argument of type org.concordion.api.Fixture

org.concordion.api.EvaluatorFactory

  • The argument of the createEvaluator method has changed type from java.lang.Object toorg.concordion.api.Fixture

org.concordion.api.Fixture

  • Removed org.concordion.api.FixtureDeclarations from the set of implemented interfaces, along with the methods List getClassHierarchyParentFirst(), List getClassPathRoots(), Class getFixtureClass(), String getFixturePathWithoutSuffix(), org.concordion.internal.FixtureType getFixtureType() and public String getSpecificationDescription()

org.concordion.api.FixtureDeclarations

  • Added String getDescription(), Class getFixtureClass() and String getFixturePathWithoutSuffix()

org.concordion.api.ResultSummary

  • The assertIsSatisfied, print and printCountsToString methods all take a org.concordion.api.FixtureDeclarations parameter in-place of org.concordion.api.Fixture
  • The deprecated versions of these methods have been removed

org.concordion.api.Specification

  • Added 'String getDescription()' method
  • void process(org.concordion.api.Evaluator, org.concordion.api.ResultRecorder) now takes an additional parameter of type org.concordion.api.Fixture

org.concordion.api.SpecificationByExample

  • String getSpecificationDescription() and void setFixture(org.concordion.api.Fixture) have been removed
  • void processExample(org.concordion.api.Evaluator, java.lang.String, org.concordion.api.ResultRecorder) now takes an additional parameter of type org.concordion.api.Fixture

org.concordion.api.SpecificationLocator

  • Parameter 1 of org.concordion.api.Resource locateSpecification(java.lang.Object, java.lang.String) has changed its type to org.concordion.api.FixtureDeclarations
  • Method public org.concordion.api.Resource locateSpecification(java.lang.Object) has been removed

org.concordion.api.SpecificationLocatorWithType

  • Class org.concordion.api.SpecificationLocatorWithType removed

org.concordion.api.extension.ConcordionExtender

  • Method 'public org.concordion.api.extension.ConcordionExtender withImplementationStatusModifier(org.concordion.api.ImplementationStatusModifier)' has been added

org.concordion.api.listener.ExampleEvent,
org.concordion.api.listener.OuterExampleEvent

  • Method 'public ExampleEvent(java.lang.String, org.concordion.api.Element, org.concordion.api.ResultSummary)' has a new parameter of type org.concordion.api.Fixture
  • Method 'public org.concordion.api.Fixture getFixture()' has been added

The other internal changes should not affect users who are using Concordion as-is, or who are using the Extension mechanism, but are potentially breaking for users who are extending the Concordion code base directly. See changes between Concordion 2.1.3 and 2.2.0.

2.1.3

04 Jun 11:02
b69c4bc
Compare
Choose a tag to compare

Fixes #255 Markdown link pointing at .md file not renamed to .html file if the destination fixture throws an error.

Thanks to @bkoperski for the fix!

2.1.2

07 Feb 07:00
649013a
Compare
Choose a tag to compare

Fixes

  • Fixed issue #259 - exceptions when using ParallelRunExtension
  • Updated link to archived repository in README (thanks Benoit Maggi)

Internal Changes

  • Added Travis build to check JDK9

2.1.1

09 Sep 23:53
Compare
Choose a tag to compare

New Features

The new features are:

  • Fixed issue with exception handing in extensions (#241, #242)
  • Allow ConcordionRunner extended by other frameworks be usable as well (#250, #251) (thanks to @dadrus for the fix and @gdubya for reporting)
  • Enable usage of third party SpecificationLocator objects (#250) (thanks to @dadrus for the PR)

Internal Changes

  • The constructor of Internal class FixtureRunner takes an additional parameter of SpecificationLocator. This is reflected in the JUnit3 and JUnit4 support, and may affect users who are implementing their own runners.
  • Integrated CLAHub for contributor license agreements (#238, #239)
  • Added Jacoco to build.gradle (#240)
  • Moved specifications to a common folder so we can re-use across Java and .NET implementations (#247)
  • Modified Travis build to use openjdk7 and removed openjdk6 (#252)