Skip to content

Releases: onsi/ginkgo

v2.8.1

13 Feb 21:03

Choose a tag to compare

2.8.1

Fixes

  • lock around default report output to avoid triggering the race detector when calling By from goroutines [2d5075a]
  • don't run ReportEntries through sprintf [febbe38]

Maintenance

  • Bump golang.org/x/tools from 0.5.0 to 0.6.0 (#1135) [11a4860]
  • test: update matrix for Go 1.20 (#1130) [4890a62]
  • Bump golang.org/x/sys from 0.4.0 to 0.5.0 (#1133) [a774638]
  • Bump github.com/onsi/gomega from 1.25.0 to 1.26.0 (#1120) [3f233bd]
  • Bump github-pages from 227 to 228 in /docs (#1131) [f9b8649]
  • Bump activesupport from 6.0.6 to 6.0.6.1 in /docs (#1127) [6f8c042]
  • Update index.md with instructions on how to upgrade Ginkgo [833a75e]

v2.8.0

30 Jan 17:28

Choose a tag to compare

2.8.0

Features

  • Introduce GinkgoHelper() to track and exclude helper functions from potential CodeLocations [e19f556]

Modeled after testing.T.Helper(). Now, rather than write code like:

func helper(model Model) {
    Expect(model).WithOffset(1).To(BeValid())
    Expect(model.SerialNumber).WithOffset(1).To(MatchRegexp(/[a-f0-9]*/))
}

you can stop tracking offsets (which makes nesting composing helpers nearly impossible) and simply write:

func helper(model Model) {
    GinkgoHelper()
    Expect(model).To(BeValid())
    Expect(model.SerialNumber).To(MatchRegexp(/[a-f0-9]*/))
}
  • Introduce GinkgoLabelFilter() and Label().MatchesLabelFilter() to make it possible to programmatically match filters (fixes #1119) [2f6597c]

You can now write code like this:

BeforeSuite(func() {
	if Label("slow").MatchesLabelFilter(GinkgoLabelFilter()) {
		// do slow setup
	}

	if Label("fast").MatchesLabelFilter(GinkgoLabelFilter()) {
		// do fast setup
	}
})

to programmatically check whether a given set of labels will match the configured --label-filter.

Maintenance

v2.7.1

28 Jan 05:03

Choose a tag to compare

2.7.1

Fixes

  • Bring back SuiteConfig.EmitSpecProgress to avoid compilation issue for consumers that set it manually [d2a1cb0]

Maintenance

  • Bump github.com/onsi/gomega from 1.24.2 to 1.25.0 (#1118) [cafece6]
  • Bump golang.org/x/tools from 0.4.0 to 0.5.0 (#1111) [eda66c2]
  • Bump golang.org/x/sys from 0.3.0 to 0.4.0 (#1112) [ac5ccaa]
  • Bump github.com/onsi/gomega from 1.24.1 to 1.24.2 (#1097) [eee6480]

v2.7.0

09 Jan 19:06

Choose a tag to compare

2.7.0

Features

  • Introduce ContinueOnFailure for Ordered containers [e0123ca] - Ordered containers that are also decorated with ContinueOnFailure will not stop running specs after the first spec fails.
  • Support for bootstrap commands to use custom data for templates (#1110) [7a2b242]
  • Support for labels and pending decorator in ginkgo outline output (#1113) [e6e3b98]
  • Color aliases for custom color support (#1101) [49fab7a]

Fixes

  • correctly ensure deterministic spec order, even if specs are generated by iterating over a map [89dda20]
  • Fix a bug where timedout specs were not correctly treated as failures when determining whether or not to run AfterAlls in an Ordered container.
  • Ensure go test coverprofile outputs to the expected location (#1105) [b0bd77b]

v2.6.1

14 Dec 20:11

Choose a tag to compare

2.6.1

Features

  • Override formatter colors from envvars - this is a new feature but an alternative approach involving config files might be taken in the future (#1095) [60240d1]

Fixes

  • GinkgoRecover now supports ignoring panics that match a specific, hidden, interface [301f3e2]

Maintenance

  • Bump github.com/onsi/gomega from 1.24.0 to 1.24.1 (#1077) [3643823]
  • Bump golang.org/x/tools from 0.2.0 to 0.4.0 (#1090) [f9f856e]
  • Bump nokogiri from 1.13.9 to 1.13.10 in /docs (#1091) [0d7087e]

v2.6.0

10 Dec 04:43

Choose a tag to compare

2.6.0

Features

  • ReportBeforeSuite provides access to the suite report before the suite begins.
  • Add junit config option for omitting leafnodetype (#1088) [956e6d2]
  • Add support to customize junit report config to omit spec labels (#1087) [de44005]

Fixes

  • Fix stack trace pruning so that it has a chance of working on windows [2165648]

v2.5.1

19 Nov 17:04

Choose a tag to compare

2.5.1

Fixes

Maintenance

  • chore: Included githubactions in the dependabot config (#976) [baea341]
  • Bump golang.org/x/sys from 0.1.0 to 0.2.0 (#1075) [9646297]

v2.5.0

07 Nov 20:52

Choose a tag to compare

2.5.0

Ginkgo output now includes a timeline-view of the spec

This commit changes Ginkgo's default output. Spec details are now
presented as a timeline that includes events that occur during the spec
lifecycle interleaved with any GinkgoWriter content. This makes is much easier
to understand the flow of a spec and where a given failure occurs.

The --progress, --slow-spec-threshold, --always-emit-ginkgo-writer flags
and the SuppressProgressReporting decorator have all been deprecated. Instead
the existing -v and -vv flags better capture the level of verbosity to display. However,
a new --show-node-events flag is added to include node > Enter and < Exit events
in the spec timeline.

In addition, JUnit reports now include the timeline (rendered with -vv) and custom JUnit
reports can be configured and generated using
GenerateJUnitReportWithConfig(report types.Report, dst string, config JunitReportConfig)

Code should continue to work unchanged with this version of Ginkgo - however if you have tooling that
was relying on the specific output format of Ginkgo you may run into issues. Ginkgo's console output is not guaranteed to be stable for tooling and automation purposes. You should, instead, use Ginkgo's JSON format
to build tooling on top of as it has stronger guarantees to be stable from version to version.

Features

  • Provide details about which timeout expired [0f2fa27]

Fixes

  • Add Support Policy to docs [c70867a]

Maintenance

  • Bump github.com/onsi/gomega from 1.22.1 to 1.23.0 (#1070) [bb3b4e2]

v2.4.0

23 Oct 18:03

Choose a tag to compare

2.4.0

Features

  • DeferCleanup supports functions with multiple-return values [5e33c75]
  • Add GinkgoLogr (#1067) [bf78c28]
  • Introduction of 'MustPassRepeatedly' decorator (#1051) [047c02f]

Fixes

  • correcting some typos (#1064) [1403d3c]
  • fix flaky internal_integration interupt specs [2105ba3]
  • Correct busted link in README [be6b5b9]

Maintenance

v2.3.1

12 Oct 20:38

Choose a tag to compare

2.3.1

Fixes

Several users were invoking ginkgo by installing the latest version of the cli via go install github.com/onsi/ginkgo/v2/ginkgo@latest. When 2.3.0 was released this resulted in an influx of issues as CI systems failed due to a change in the internal contract between the Ginkgo CLI and the Ginkgo library. Ginkgo only supports running the same version of the library as the cli (which is why both are packaged in the same repository).

With this patch release, the ginkgo CLI can now identify a version mismatch and emit a helpful error message.

  • Ginkgo cli can identify version mismatches and emit a helpful error message [bc4ae2f]
  • further emphasize that a version match is required when running Ginkgo on CI and/or locally [2691dd8]

Maintenance