Releases: onsi/gomega
v1.20.2
v1.20.1
v1.20.0
Features
- New
gleak
experimental goroutine leak detection package! (#538) [85ba7bc] - New
BeComparableTo
matcher(#546) that usesgocmp
to make comparisons [e77ea75] - New
HaveExistingField
matcher (#553) [fd130e1] - Document how to wrap Gomega (#539) [56714a4]
Fixes
Maintenance
- Bump various dependencies:
- Upgrade to yaml.v3 (#556) [f5a83b1]
- Bump github/codeql-action from 1 to 2 (#549) [52f5adf]
- Bump github.com/google/go-cmp from 0.5.7 to 0.5.8 (#551) [5f3942d]
- Bump nokogiri from 1.13.4 to 1.13.6 in /docs (#554) [eb4b4c2]
- Use latest ginkgo (#535) [1c29028]
- Bump nokogiri from 1.13.3 to 1.13.4 in /docs (#541) [1ce84d5]
- Bump actions/setup-go from 2 to 3 (#540) [755485e]
- Bump nokogiri from 1.12.5 to 1.13.3 in /docs (#522) [4fbb0dc]
- Bump actions/checkout from 2 to 3 (#526) [ac49202]
1.19.0
Features
- New
HaveEach
matcher to ensure that each and every element in anarray
,slice
, ormap
satisfies the passed in matcher. (#523) [9fc2ae2] (#524) [c8ba582] - Users can now wrap the
Gomega
interface to implement custom behavior on each assertion. (#521) [1f2e714] ContainElement
now accepts an additional pointer argument. Elements that satisfy the matcher are stored in the pointer enabling developers to easily add subsequent, more detailed, assertions against the matching element. (#527) [1a4e27f]
Fixes
- update RELEASING instructions to match ginkgo [0917cde]
- Bump github.com/onsi/ginkgo/v2 from 2.0.0 to 2.1.3 (#519) [49ab4b0]
- Fix CVE-2021-38561 (#534) [f1b4456]
- Fix max number of samples in experiments on non-64-bit systems. (#528) [1c84497]
- Remove dependency on ginkgo v1.16.4 (#530) [4dea8d5]
- Fix for Go 1.18 (#532) [56d2a29]
- Document precendence of timeouts (#533) [b607941]
v1.19.0
Features
- New
HaveEach
matcher to ensure that each and every element in anarray
,slice
, ormap
satisfies the passed in matcher. (#523) [9fc2ae2] (#524) [c8ba582] - Users can now wrap the
Gomega
interface to implement custom behavior on each assertion. (#521) [1f2e714] ContainElement
now accepts an additional pointer argument. Elements that satisfy the matcher are stored in the pointer enabling developers to easily add subsequent, more detailed, assertions against the matching element. (#527) [1a4e27f]
Fixes
- update RELEASING instructions to match ginkgo [0917cde]
- Bump github.com/onsi/ginkgo/v2 from 2.0.0 to 2.1.3 (#519) [49ab4b0]
- Fix CVE-2021-38561 (#534) [f1b4456]
- Fix max number of samples in experiments on non-64-bit systems. (#528) [1c84497]
- Remove dependency on ginkgo v1.16.4 (#530) [4dea8d5]
- Fix for Go 1.18 (#532) [56d2a29]
- Document precendence of timeouts (#533) [b607941]
v1.18.1
v1.18.0
Features
- Docs now live on the master branch in the docs folder which will make for easier PRs. The docs also use Ginkgo 2.0's new docs html/css/js. [2570272]
- New HaveValue matcher can handle actuals that are either values (in which case they are passed on unscathed) or pointers (in which case they are indirected). Docs here. (#485) [bdc087c]
- Gmeasure has been declared GA [360db9d]
Fixes
- Gomega now uses ioutil for Go 1.15 and lower (#492) - official support is only for the most recent two major versions of Go but this will unblock users who need to stay on older unsupported versions of Go. [c29c1c0]
Maintenace
v1.17.0
1.17.0
Features
- Add HaveField matcher [3a26311]
- add Error() assertions on the final error value of multi-return values (#480) [2f96943]
- separate out offsets and timeouts (#478) [18a4723]
- fix transformation error reporting (#479) [e001fab]
- allow transform functions to report errors (#472) [bf93408]
Fixes
v1.16.0
v1.15.0
1.15.0
Fixes
The previous version (1.14.0) introduced a change to allow Eventually
and Consistently
to support functions that make assertions. This was accomplished by overriding the global fail handler when running the callbacks passed to Eventually/Consistently
in order to capture any resulting errors. Issue #457 uncovered a flaw with this approach: when multiple Eventually
s are running concurrently they race when overriding the singleton global fail handler.
1.15.0 resolves this by requiring users who want to make assertions in Eventually/Consistently
call backs to explicitly pass in a function that takes a Gomega
as an argument. The passed-in Gomega
instance can be used to make assertions. Any failures will cause Eventually
to retry the callback. This cleaner interface avoids the issue of swapping out globals but comes at the cost of changing the contract introduced in v1.14.0. As such 1.15.0 introduces a breaking change with respect to 1.14.0 - however we expect that adoption of this feature in 1.14.0 remains limited.
In addition, 1.15.0 cleans up some of Gomega's internals. Most users shouldn't notice any differences stemming from the refactoring that was made.
v1.14.0
1.14.0
Features
- gmeasure.SamplingConfig now suppers a MinSamplingInterval [e94dbca]
- Eventually and Consistently support functions that make assertions [2f04e6e]
- Eventually and Consistently now allow their passed-in functions to make assertions.
These assertions must pass or the function is considered to have failed and is retried. - Eventually and Consistently can now take functions with no return values. These implicitly return nil
if they contain no failed assertion. Otherwise they return an error wrapping the first assertion failure. This allows
these functions to be used with the Succeed() matcher. - Introduce InterceptGomegaFailure - an analogue to InterceptGomegaFailures - that captures the first assertion failure
and halts execution in its passed-in callback.
- Eventually and Consistently now allow their passed-in functions to make assertions.