Skip to content

Commit 87ee9d3

Browse files
committed
v1.40.0
2 parents 7d4ee30 + ea66027 commit 87ee9d3

3 files changed

Lines changed: 11 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## 1.40.0
2+
3+
We're adopting a new release strategy to minimize dependency bloat in projects that consume Gomega. It is a limitation of the go mod toolchain that _test_ subdependencies of your project's direct dependencies get pulled in as *indirect* dependencies. In the case of Gomega, this ends up pulling in all of Ginkgo into your `go.mod` even if you are only using Gomega (Gomega uses Ginkgo for its own tests).
4+
5+
Going forward, releases will strip out all tests, tidy up the `go.mod` and then push this stripped down version to a new `master-lite` branch. These stripped-down versions will receive the `vx.y.z` git tag and will be picked up by the go toolchain.
6+
7+
Please open an issue if this new release process causes unexpected changes for your projects.
8+
19
## 1.39.1
210

311
Update all dependencies. This auto-updated the required version of Go to 1.24, consistent with the fact that Go 1.23 has been out of support for almost six months.

docs/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ Just `go get` it:
1919
$ go get github.com/onsi/gomega/...
2020
```
2121

22+
> A note about the Gomega release. Versioned releases are shipped wtih git tags. These tags point to versions of Gomega that live on the `master-lite` branch and have had their tests stripped out. This ensures that no Ginkgo dependency (whether direct or indirect) is pulled in when users pull in Gomega. It is a limitation of the Go package ecosystem that the test dependencies of your dependency become indirect dependencies of your project. By stripping tests out we keep (independent) dependency bloat to a minimum - particularly for test suites that don't use ginkgo but do use gomega.
23+
2224
## Getting Gomega as needed
2325

2426
Instead of getting all of Gomega and it's dependency tree, you can use the go command to get the dependencies as needed.

gomega_dsl.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
"github.com/onsi/gomega/types"
2323
)
2424

25-
const GOMEGA_VERSION = "1.39.1"
25+
const GOMEGA_VERSION = "1.40.0"
2626

2727
const nilGomegaPanic = `You are trying to make an assertion, but haven't registered Gomega's fail handler.
2828
If you're using Ginkgo then you probably forgot to put your assertion in an It().

0 commit comments

Comments
 (0)