github.com/onsi/gomega@v1.32.0/CHANGELOG.md (about)

     1  ## 1.32.0
     2  
     3  ### Maintenance
     4  - Migrate github.com/golang/protobuf to google.golang.org/protobuf [436a197]
     5    
     6    This release drops the deprecated github.com/golang/protobuf and adopts google.golang.org/protobuf.  Care was taken to ensure the release is backwards compatible (thanks @jbduncan !).  Please open an issue if you run into one.
     7  
     8  - chore: test with Go 1.22 (#733) [32ef35e]
     9  - Bump golang.org/x/net from 0.19.0 to 0.20.0 (#717) [a0d0387]
    10  - Bump github-pages and jekyll-feed in /docs (#732) [b71e477]
    11  - docs: fix typo and broken anchor link to gstruct [f460154]
    12  - docs: fix HaveEach matcher signature [a2862e4]
    13  
    14  ## 1.31.1
    15  
    16  ### Fixes
    17  - Inverted arguments order of FailureMessage of BeComparableToMatcher [e0dd999]
    18  - Update test in case keeping msg is desired [ad1a367]
    19  
    20  ### Maintenance
    21  - Show how to import the format sub package [24e958d]
    22  - tidy up go.sum [26661b8]
    23  - bump dependencies [bde8f7a]
    24  
    25  ## 1.31.0
    26  
    27  ### Features
    28  - Async assertions include context cancellation cause if present [121c37f]
    29  
    30  ### Maintenance
    31  - Bump minimum go version [dee1e3c]
    32  - docs: fix typo in example usage "occured" -> "occurred" [49005fe]
    33  - Bump actions/setup-go from 4 to 5 (#714) [f1c8757]
    34  - Bump github/codeql-action from 2 to 3 (#715) [9836e76]
    35  - Bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.2 (#713) [54726f0]
    36  - Bump golang.org/x/net from 0.17.0 to 0.19.0 (#711) [df97ecc]
    37  - docs: fix `HaveExactElement` typo (#712) [a672c86]
    38  
    39  ## 1.30.0
    40  
    41  ### Features
    42  - BeTrueBecause and BeFalseBecause allow for better failure messages [4da4c7f]
    43  
    44  ### Maintenance
    45  - Bump actions/checkout from 3 to 4 (#694) [6ca6e97]
    46  - doc: fix type on gleak go doc [f1b8343]
    47  
    48  ## 1.29.0
    49  
    50  ### Features
    51  - MatchError can now take an optional func(error) bool + description [2b39142]
    52  
    53  ## 1.28.1
    54  
    55  ### Maintenance
    56  - Bump github.com/onsi/ginkgo/v2 from 2.12.0 to 2.13.0 [635d196]
    57  - Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 [14f8859]
    58  - Bump golang.org/x/net from 0.14.0 to 0.17.0 [d8a6508]
    59  - #703 doc(matchers): HaveEach() doc comment updated [2705bdb]
    60  - Minor typos (#699) [375648c]
    61  
    62  ## 1.28.0
    63  
    64  ### Features
    65  - Add VerifyHost handler to ghttp (#698) [0b03b36]
    66  
    67  ### Fixes
    68  - Read Body for Newer Responses in HaveHTTPBodyMatcher (#686) [18d6673]
    69  
    70  ### Maintenance
    71  - Bump github.com/onsi/ginkgo/v2 from 2.11.0 to 2.12.0 (#693) [55a33f3]
    72  - Typo in matchers.go (#691) [de68e8f]
    73  - Bump commonmarker from 0.23.9 to 0.23.10 in /docs (#690) [ab17f5e]
    74  - chore: update test matrix for Go 1.21 (#689) [5069017]
    75  - Bump golang.org/x/net from 0.12.0 to 0.14.0 (#688) [babe25f]
    76  
    77  ## 1.27.10
    78  
    79  ### Fixes
    80  - fix: go 1.21 adding goroutine ID to creator+location (#685) [bdc7803]
    81  
    82  ## 1.27.9
    83  
    84  ### Fixes
    85  - Prevent nil-dereference in format.Object for boxed nil error (#681) [3b31fc3]
    86  
    87  ### Maintenance
    88  - Bump golang.org/x/net from 0.11.0 to 0.12.0 (#679) [360849b]
    89  - chore: use String() instead of fmt.Sprintf (#678) [86f3659]
    90  - Bump golang.org/x/net from 0.10.0 to 0.11.0 (#674) [642ead0]
    91  - chore: unnecessary use of fmt.Sprintf (#677) [ceb9ca6]
    92  - Bump github.com/onsi/ginkgo/v2 from 2.10.0 to 2.11.0 (#675) [a2087d8]
    93  - docs: fix ContainSubstring references (#673) [fc9a89f]
    94  - Bump github.com/onsi/ginkgo/v2 from 2.9.7 to 2.10.0 (#671) [9076019]
    95  
    96  ## 1.27.8
    97  
    98  ### Fixes
    99  - HaveExactElement should not call FailureMessage if a submatcher returned an error [096f392]
   100  
   101  ### Maintenance
   102  - Bump github.com/onsi/ginkgo/v2 from 2.9.5 to 2.9.7 (#669) [8884bee]
   103  
   104  ## 1.27.7
   105  
   106  ### Fixes
   107  - fix: gcustom.MakeMatcher accepts nil as actual value (#666) [57054d5]
   108  
   109  ### Maintenance
   110  - update gitignore [05c1bc6]
   111  - Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.9.5 (#663) [7cadcf6]
   112  - Bump golang.org/x/net from 0.9.0 to 0.10.0 (#662) [b524839]
   113  - Bump github.com/onsi/ginkgo/v2 from 2.9.2 to 2.9.4 (#661) [5f44694]
   114  - Bump commonmarker from 0.23.8 to 0.23.9 in /docs (#657) [05dc99a]
   115  - Bump nokogiri from 1.14.1 to 1.14.3 in /docs (#658) [3a033d1]
   116  - Replace deprecated NewGomegaWithT with NewWithT (#659) [a19238f]
   117  - Bump golang.org/x/net from 0.8.0 to 0.9.0 (#656) [29ed041]
   118  - Bump actions/setup-go from 3 to 4 (#651) [11b2080]
   119  
   120  ## 1.27.6
   121  
   122  ### Fixes
   123  - Allow collections matchers to work correctly when expected has nil elements [60e7cf3]
   124  
   125  ### Maintenance
   126  - updates MatchError godoc comment to also accept a Gomega matcher (#654) [67b869d]
   127  
   128  ## 1.27.5
   129  
   130  ### Maintenance
   131  - Bump github.com/onsi/ginkgo/v2 from 2.9.1 to 2.9.2 (#653) [a215021]
   132  - Bump github.com/go-task/slim-sprig (#652) [a26fed8]
   133  
   134  ## 1.27.4
   135  
   136  ### Fixes
   137  - improve error formatting and remove duplication of error message in Eventually/Consistently [854f075]
   138  
   139  ### Maintenance
   140  - Bump github.com/onsi/ginkgo/v2 from 2.9.0 to 2.9.1 (#650) [ccebd9b]
   141  
   142  ## 1.27.3
   143  
   144  ### Fixes
   145  - format.Object now always includes err.Error() when passed an error [86d97ef]
   146  - Fix HaveExactElements to work inside ContainElement or other collection matchers (#648) [636757e]
   147  
   148  ### Maintenance
   149  - Bump github.com/golang/protobuf from 1.5.2 to 1.5.3 (#649) [cc16689]
   150  - Bump github.com/onsi/ginkgo/v2 from 2.8.4 to 2.9.0 (#646) [e783366]
   151  
   152  ## 1.27.2
   153  
   154  ### Fixes
   155  - improve poll progress message when polling a consistently that has been passing [28a319b]
   156  
   157  ### Maintenance
   158  - bump ginkgo
   159  - remove tools.go hack as Ginkgo 2.8.2 automatically pulls in the cli dependencies [81443b3]
   160  
   161  ## 1.27.1
   162  
   163  ### Maintenance
   164  
   165  - Bump golang.org/x/net from 0.6.0 to 0.7.0 (#640) [bc686cd]
   166  
   167  ## 1.27.0
   168  
   169  ### Features
   170  - Add HaveExactElements matcher (#634) [9d50783]
   171  - update Gomega docs to discuss GinkgoHelper() [be32774]
   172  
   173  ### Maintenance
   174  - Bump github.com/onsi/ginkgo/v2 from 2.8.0 to 2.8.1 (#639) [296a68b]
   175  - Bump golang.org/x/net from 0.5.0 to 0.6.0 (#638) [c2b098b]
   176  - Bump github-pages from 227 to 228 in /docs (#636) [a9069ab]
   177  - test: update matrix for Go 1.20 (#635) [6bd25c8]
   178  - Bump github.com/onsi/ginkgo/v2 from 2.7.0 to 2.8.0 (#631) [5445f8b]
   179  - Bump webrick from 1.7.0 to 1.8.1 in /docs (#630) [03e93bb]
   180  - codeql: add ruby language (#626) [63c7d21]
   181  - dependabot: add bundler package-ecosystem for docs (#625) [d92f963]
   182  
   183  ## 1.26.0
   184  
   185  ### Features
   186  - When a polled function returns an error, keep track of the actual and report on the matcher state of the last non-errored actual [21f3090]
   187  - improve eventually failure message output [c530fb3]
   188  
   189  ### Fixes
   190  - fix several documentation spelling issues [e2eff1f]
   191  
   192  
   193  ## 1.25.0
   194  
   195  ### Features
   196  - add `MustPassRepeatedly(int)` to asyncAssertion (#619) [4509f72]
   197  - compare unwrapped errors using DeepEqual (#617) [aaeaa5d]
   198  
   199  ### Maintenance
   200  - Bump golang.org/x/net from 0.4.0 to 0.5.0 (#614) [c7cfea4]
   201  - Bump github.com/onsi/ginkgo/v2 from 2.6.1 to 2.7.0 (#615) [71b8adb]
   202  - Docs: Fix typo "MUltiple" -> "Multiple" (#616) [9351dda]
   203  - clean up go.sum [cd1dc1d]
   204  
   205  ## 1.24.2
   206  
   207  ### Fixes
   208  - Correctly handle assertion failure panics for eventually/consistnetly "g Gomega"s in a goroutine [78f1660]
   209  - docs:Fix typo "you an" -> "you can" (#607) [3187c1f]
   210  - fixes issue #600 (#606) [808d192]
   211  
   212  ### Maintenance
   213  - Bump golang.org/x/net from 0.2.0 to 0.4.0 (#611) [6ebc0bf]
   214  - Bump nokogiri from 1.13.9 to 1.13.10 in /docs (#612) [258cfc8]
   215  - Bump github.com/onsi/ginkgo/v2 from 2.5.0 to 2.5.1 (#609) [e6c3eb9]
   216  
   217  ## 1.24.1
   218  
   219  ### Fixes
   220  - maintain backward compatibility for Eventually and Consisntetly's signatures [4c7df5e]
   221  - fix small typo (#601) [ea0ebe6]
   222  
   223  ### Maintenance
   224  - Bump golang.org/x/net from 0.1.0 to 0.2.0 (#603) [1ba8372]
   225  - Bump github.com/onsi/ginkgo/v2 from 2.4.0 to 2.5.0 (#602) [f9426cb]
   226  - fix label-filter in test.yml [d795db6]
   227  - stop running flakey tests and rely on external network dependencies in CI [7133290]
   228  
   229  ## 1.24.0
   230  
   231  ### Features
   232  
   233  Introducting [gcustom](https://onsi.github.io/gomega/#gcustom-a-convenient-mechanism-for-buildling-custom-matchers) - a convenient mechanism for building custom matchers.
   234  
   235  This is an RC release for `gcustom`.  The external API may be tweaked in response to feedback however it is expected to remain mostly stable.
   236  
   237  ### Maintenance
   238  
   239  - Update BeComparableTo documentation [756eaa0]
   240  
   241  ## 1.23.0
   242  
   243  ### Features
   244  - Custom formatting on a per-type basis can be provided using `format.RegisterCustomFormatter()` -- see the docs [here](https://onsi.github.io/gomega/#adjusting-output)
   245  
   246  - Substantial improvement have been made to `StopTrying()`:
   247    - Users can now use `StopTrying().Wrap(err)` to wrap errors and `StopTrying().Attach(description, object)` to attach arbitrary objects to the `StopTrying()` error
   248    - `StopTrying()` is now always interpreted as a failure.  If you are an early adopter of `StopTrying()` you may need to change your code as the prior version would match against the returned value even if `StopTrying()` was returned.  Going forward the `StopTrying()` api should remain stable.
   249    - `StopTrying()` and `StopTrying().Now()` can both be used in matchers - not just polled functions.
   250  
   251  - `TryAgainAfter(duration)` is used like `StopTrying()` but instructs `Eventually` and `Consistently` that the poll should be tried again after the specified duration.  This allows you to dynamically adjust the polling duration.
   252  
   253  - `ctx` can now be passed-in as the first argument to `Eventually` and `Consistently`.
   254  
   255  ## Maintenance
   256  
   257  - Bump github.com/onsi/ginkgo/v2 from 2.3.0 to 2.3.1 (#597) [afed901]
   258  - Bump nokogiri from 1.13.8 to 1.13.9 in /docs (#599) [7c691b3]
   259  - Bump github.com/google/go-cmp from 0.5.8 to 0.5.9 (#587) [ff22665]
   260  
   261  ## 1.22.1
   262  
   263  ## Fixes
   264  - When passed a context and no explicit timeout, Eventually will only timeout when the context is cancelled [e5105cf]
   265  - Allow StopTrying() to be wrapped [bf3cba9]
   266  
   267  ## Maintenance
   268  - bump to ginkgo v2.3.0 [c5d5c39]
   269  
   270  ## 1.22.0
   271  
   272  ### Features
   273  
   274  Several improvements have been made to `Eventually` and `Consistently` in this and the most recent releases:
   275  
   276  - Eventually and Consistently can take a context.Context [65c01bc]
   277    This enables integration with Ginkgo 2.3.0's interruptible nodes and node timeouts.
   278  - Eventually and Consistently that are passed a SpecContext can provide reports when an interrupt occurs [0d063c9]
   279  - Eventually/Consistently will forward an attached context to functions that ask for one [e2091c5]
   280  - Eventually/Consistently supports passing arguments to functions via WithArguments() [a2dc7c3]
   281  - Eventually and Consistently can now be stopped early with StopTrying(message) and StopTrying(message).Now() [52976bb]
   282  
   283  These improvements are all documented in [Gomega's docs](https://onsi.github.io/gomega/#making-asynchronous-assertions)
   284  
   285  ## Fixes
   286  
   287  ## Maintenance
   288  
   289  ## 1.21.1
   290  
   291  ### Features
   292  - Eventually and Consistently that are passed a SpecContext can provide reports when an interrupt occurs [0d063c9]
   293  
   294  ## 1.21.0
   295  
   296  ### Features
   297  - Eventually and Consistently can take a context.Context [65c01bc]
   298    This enables integration with Ginkgo 2.3.0's interruptible nodes and node timeouts.
   299  - Introduces Eventually.Within.ProbeEvery with tests and documentation (#591) [f633800]
   300  - New BeKeyOf matcher with documentation and unit tests (#590) [fb586b3]
   301      
   302  ## Fixes
   303  - Cover the entire gmeasure suite with leak detection [8c54344]
   304  - Fix gmeasure leak [119d4ce]
   305  - Ignore new Ginkgo ProgressSignal goroutine in gleak [ba548e2]
   306  
   307  ## Maintenance
   308  
   309  - Fixes crashes on newer Ruby 3 installations by upgrading github-pages gem dependency (#596) [12469a0]
   310  
   311  
   312  ## 1.20.2
   313  
   314  ## Fixes
   315  - label specs that rely on remote access; bump timeout on short-circuit test to make it less flaky [35eeadf]
   316  - gexec: allow more headroom for SIGABRT-related unit tests (#581) [5b78f40]
   317  - Enable reading from a closed gbytes.Buffer (#575) [061fd26]
   318  
   319  ## Maintenance
   320  - Bump github.com/onsi/ginkgo/v2 from 2.1.5 to 2.1.6 (#583) [55d895b]
   321  - Bump github.com/onsi/ginkgo/v2 from 2.1.4 to 2.1.5 (#582) [346de7c]
   322  
   323  ## 1.20.1
   324  
   325  ## Fixes
   326  - fix false positive gleaks when using ginkgo -p (#577) [cb46517]
   327  - Fix typos in gomega_dsl.go (#569) [5f71ed2]
   328  - don't panic on Eventually(nil), fixing #555 (#567) [9d1186f]
   329  - vet optional description args in assertions, fixing #560 (#566) [8e37808]
   330  
   331  ## Maintenance
   332  - test: add new Go 1.19 to test matrix (#571) [40d7efe]
   333  - Bump tzinfo from 1.2.9 to 1.2.10 in /docs (#564) [5f26371]
   334  
   335  ## 1.20.0
   336  
   337  ## Features
   338  - New [`gleak`](https://onsi.github.io/gomega/#codegleakcode-finding-leaked-goroutines) experimental goroutine leak detection package! (#538) [85ba7bc]
   339  - New `BeComparableTo` matcher(#546) that uses `gocmp` to make comparisons [e77ea75]
   340  - New `HaveExistingField` matcher (#553) [fd130e1]
   341  - Document how to wrap Gomega (#539) [56714a4]
   342  
   343  ## Fixes
   344  - Support pointer receivers in HaveField; fixes #543 (#544) [8dab36e]
   345  
   346  ## Maintenance
   347  - Bump various dependencies:
   348      - Upgrade to yaml.v3 (#556) [f5a83b1]
   349      - Bump github/codeql-action from 1 to 2 (#549) [52f5adf]
   350      - Bump github.com/google/go-cmp from 0.5.7 to 0.5.8 (#551) [5f3942d]
   351      - Bump nokogiri from 1.13.4 to 1.13.6 in /docs (#554) [eb4b4c2]
   352      - Use latest ginkgo (#535) [1c29028]
   353      - Bump nokogiri from 1.13.3 to 1.13.4 in /docs (#541) [1ce84d5]
   354      - Bump actions/setup-go from 2 to 3 (#540) [755485e]
   355      - Bump nokogiri from 1.12.5 to 1.13.3 in /docs (#522) [4fbb0dc]
   356      - Bump actions/checkout from 2 to 3 (#526) [ac49202]
   357  
   358  ## 1.19.0
   359  
   360  ## Features
   361  - New [`HaveEach`](https://onsi.github.io/gomega/#haveeachelement-interface) matcher to ensure that each and every element in an `array`, `slice`, or `map` satisfies the passed in matcher. (#523) [9fc2ae2] (#524) [c8ba582]
   362  - Users can now wrap the `Gomega` interface to implement custom behavior on each assertion. (#521) [1f2e714]
   363  - [`ContainElement`](https://onsi.github.io/gomega/#containelementelement-interface) 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]
   364  
   365  ## Fixes
   366  - update RELEASING instructions to match ginkgo [0917cde]
   367  - Bump github.com/onsi/ginkgo/v2 from 2.0.0 to 2.1.3 (#519) [49ab4b0]
   368  - Fix CVE-2021-38561 (#534) [f1b4456]
   369  - Fix max number of samples in experiments on non-64-bit systems. (#528) [1c84497]
   370  - Remove dependency on ginkgo v1.16.4 (#530) [4dea8d5]
   371  - Fix for Go 1.18 (#532) [56d2a29]
   372  - Document precendence of timeouts (#533) [b607941]
   373  
   374  ## 1.18.1
   375  
   376  ## Fixes
   377  - Add pointer support to HaveField matcher (#495) [79e41a3]
   378  
   379  ## 1.18.0
   380  
   381  ## Features
   382  - 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]
   383  - 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.](https://onsi.github.io/gomega/#working-with-values) (#485) [bdc087c]
   384  - Gmeasure has been declared GA [360db9d]
   385  
   386  ## Fixes
   387  - 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]
   388  
   389  ## Maintenace
   390  - Remove Travis workflow (#491) [72e6040]
   391  - Upgrade to Ginkgo 2.0.0 GA [f383637]
   392  - chore: fix description of HaveField matcher (#487) [2b4b2c0]
   393  - use tools.go to ensure Ginkgo cli dependencies are included [f58a52b]
   394  - remove dockerfile and simplify github actions to match ginkgo's actions [3f8160d]
   395  
   396  ## 1.17.0
   397  
   398  ### Features
   399  - Add HaveField matcher [3a26311]
   400  - add Error() assertions on the final error value of multi-return values (#480) [2f96943]
   401  - separate out offsets and timeouts (#478) [18a4723]
   402  - fix transformation error reporting (#479) [e001fab]
   403  - allow transform functions to report errors (#472) [bf93408]
   404  
   405  ### Fixes
   406  Stop using deprecated ioutil package (#467) [07f405d]
   407  
   408  ## 1.16.0
   409  
   410  ### Features
   411  - feat: HaveHTTPStatus multiple expected values (#465) [aa69f1b]
   412  - feat: HaveHTTPHeaderWithValue() matcher (#463) [dd83a96]
   413  - feat: HaveHTTPBody matcher (#462) [504e1f2]
   414  - feat: formatter for HTTP responses (#461) [e5b3157]
   415  
   416  ## 1.15.0
   417  
   418  ### Fixes
   419  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.
   420  
   421  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.
   422  
   423  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.
   424  
   425  ## 1.14.0
   426  
   427  ### Features
   428  - gmeasure.SamplingConfig now suppers a MinSamplingInterval [e94dbca]
   429  - Eventually and Consistently support functions that make assertions [2f04e6e]
   430      - Eventually and Consistently now allow their passed-in functions to make assertions.
   431      These assertions must pass or the function is considered to have failed and is retried.
   432      - Eventually and Consistently can now take functions with no return values.  These implicitly return nil
   433      if they contain no failed assertion.  Otherwise they return an error wrapping the first assertion failure.  This allows
   434      these functions to be used with the Succeed() matcher.
   435      - Introduce InterceptGomegaFailure - an analogue to InterceptGomegaFailures - that captures the first assertion failure
   436      and halts execution in its passed-in callback.
   437  
   438  ### Fixes
   439  - Call Verify GHTTPWithGomega receiver funcs (#454) [496e6fd]
   440  - Build a binary with an expected name (#446) [7356360]
   441  
   442  ## 1.13.0
   443  
   444  ### Features
   445  - gmeasure provides BETA support for benchmarking (#447) [8f2dfbf]
   446  - Set consistently and eventually defaults on init (#443) [12eb778]
   447  
   448  ## 1.12.0
   449  
   450  ### Features
   451  - Add Satisfy() matcher (#437) [c548f31]
   452  - tweak truncation message [3360b8c]
   453  - Add format.GomegaStringer (#427) [cc80b6f]
   454  - Add Clear() method to gbytes.Buffer [c3c0920]
   455  
   456  ### Fixes
   457  - Fix error message in BeNumericallyMatcher (#432) [09c074a]
   458  - Bump github.com/onsi/ginkgo from 1.12.1 to 1.16.2 (#442) [e5f6ea0]
   459  - Bump github.com/golang/protobuf from 1.4.3 to 1.5.2 (#431) [adae3bf]
   460  - Bump golang.org/x/net (#441) [3275b35]
   461  
   462  ## 1.11.0
   463  
   464  ### Features
   465  - feature: add index to gstruct element func (#419) [334e00d]
   466  - feat(gexec) Add CompileTest functions. Close #410 (#411) [47c613f]
   467  
   468  ### Fixes
   469  - Check more carefully for nils in WithTransform (#423) [3c60a15]
   470  - fix: typo in Makefile [b82522a]
   471  - Allow WithTransform function to accept a nil value (#422) [b75d2f2]
   472  - fix: print value type for interface{} containers (#409) [f08e2dc]
   473  - fix(BeElementOf): consistently flatten expected values [1fa9468]
   474  
   475  ## 1.10.5
   476  
   477  ### Fixes
   478  - fix: collections matchers should display type of expectation (#408) [6b4eb5a]
   479  - fix(ContainElements): consistently flatten expected values [073b880]
   480  - fix(ConsistOf): consistently flatten expected values [7266efe]
   481  
   482  ## 1.10.4
   483  
   484  ### Fixes
   485  - update golang net library to more recent version without vulnerability (#406) [817a8b9]
   486  - Correct spelling: alloted -> allotted (#403) [0bae715]
   487  - fix a panic in MessageWithDiff with long message (#402) [ea06b9b]
   488  
   489  ## 1.10.3
   490  
   491  ### Fixes
   492  - updates golang/x/net to fix vulnerability detected by snyk (#394) [c479356]
   493  
   494  ## 1.10.2
   495  
   496  ### Fixes
   497  - Add ExpectWithOffset, EventuallyWithOffset and ConsistentlyWithOffset to WithT (#391) [990941a]
   498  
   499  ## 1.10.1
   500  
   501  ### Fixes
   502  - Update dependencies (#389) [9f5eecd]
   503  
   504  ## 1.10.0
   505  
   506  ### Features
   507  - Add HaveHTTPStatusMatcher (#378) [f335c94]
   508  - Changed matcher for content-type in VerifyJSONRepresenting (#377) [6024f5b]
   509  - Make ghttp usable with x-unit style tests (#376) [c0be499]
   510  - Implement PanicWith matcher (#381) [f8032b4]
   511  
   512  ## 1.9.0
   513  
   514  ### Features
   515  - Add ContainElements matcher (#370) [2f57380]
   516  - Output missing and extra elements in ConsistOf failure message [a31eda7]
   517  - Document method LargestMatching [7c5a280]
   518  
   519  ## 1.8.1
   520  
   521  ### Fixes
   522  - Fix unexpected MatchError() behaviour (#375) [8ae7b2f]
   523  
   524  ## 1.8.0
   525  
   526  ### Features
   527  - Allow optional description to be lazily evaluated function (#364) [bf64010]
   528  - Support wrapped errors (#359) [0a981cb]
   529  
   530  ## 1.7.1
   531  
   532  ### Fixes
   533  - Bump go-yaml version to cover fixed ddos heuristic (#362) [95e431e]
   534  
   535  ## 1.7.0
   536  
   537  ### Features
   538  - export format property variables (#347) [642e5ba]
   539  
   540  ### Fixes
   541  - minor fix in the documentation of ExpectWithOffset (#358) [beea727]
   542  
   543  ## 1.6.0
   544  
   545  ### Features
   546  
   547  - Display special chars on error [41e1b26]
   548  - Add BeElementOf matcher [6a48b48]
   549  
   550  ### Fixes
   551  
   552  - Remove duplication in XML matcher tests [cc1a6cb]
   553  - Remove unnecessary conversions (#357) [7bf756a]
   554  - Fixed import order (#353) [2e3b965]
   555  - Added missing error handling in test (#355) [c98d3eb]
   556  - Simplify code (#356) [0001ed9]
   557  - Simplify code (#354) [0d9100e]
   558  - Fixed typos (#352) [3f647c4]
   559  - Add failure message tests to BeElementOf matcher [efe19c3]
   560  - Update go-testcov untested sections [37ee382]
   561  - Mark all uncovered files so go-testcov ./... works [53b150e]
   562  - Reenable gotip in travis [5c249dc]
   563  - Fix the typo of comment (#345) [f0e010e]
   564  - Optimize contain_element_matcher [abeb93d]
   565  
   566  
   567  ## 1.5.0
   568  
   569  ### Features
   570  
   571  - Added MatchKeys matchers [8b909fc]
   572  
   573  ### Fixes and Minor Improvements
   574  
   575  - Add type aliases to remove stuttering [03b0461]
   576  - Don't run session_test.go on windows (#324) [5533ce8]
   577  
   578  ## 1.4.3
   579  
   580  ### Fixes:
   581  
   582  - ensure file name and line numbers are correctly reported for XUnit [6fff58f]
   583  - Fixed matcher for content-type (#305) [69d9b43]
   584  
   585  ## 1.4.2
   586  
   587  ### Fixes:
   588  
   589  - Add go.mod and go.sum files to define the gomega go module [f3de367, a085d30]
   590  - Work around go vet issue with Go v1.11 (#300) [40dd6ad]
   591  - Better output when using with go XUnit-style tests, fixes #255 (#297) [29a4b97]
   592  - Fix MatchJSON fail to parse json.RawMessage (#298) [ae19f1b]
   593  - show threshold in failure message of BeNumericallyMatcher (#293) [4bbecc8]
   594  
   595  ## 1.4.1
   596  
   597  ### Fixes:
   598  
   599  - Update documentation formatting and examples (#289) [9be8410]
   600  - allow 'Receive' matcher to be used with concrete types (#286) [41673fd]
   601  - Fix data race in ghttp server (#283) [7ac6b01]
   602  - Travis badge should only show master [cc102ab]
   603  
   604  ## 1.4.0
   605  
   606  ### Features
   607  - Make string pretty diff user configurable (#273) [eb112ce, 649b44d]
   608  
   609  ### Fixes
   610  - Use httputil.DumpRequest to pretty-print unhandled requests (#278) [a4ff0fc, b7d1a52]
   611  - fix typo floa32 > float32 (#272) [041ae3b, 6e33911]
   612  - Fix link to documentation on adding your own matchers (#270) [bb2c830, fcebc62]
   613  - Use setters and getters to avoid race condition (#262) [13057c3, a9c79f1]
   614  - Avoid sending a signal if the process is not alive (#259) [b8043e5, 4fc1762]
   615  - Improve message from AssignableToTypeOf when expected value is nil (#281) [9c1fb20]
   616  
   617  ## 1.3.0
   618  
   619  Improvements:
   620  
   621  - The `Equal` matcher matches byte slices more performantly.
   622  - Improved how `MatchError` matches error strings.
   623  - `MatchXML` ignores the order of xml node attributes.
   624  - Improve support for XUnit style golang tests. ([#254](https://github.com/onsi/gomega/issues/254))
   625  
   626  Bug Fixes:
   627  
   628  - Diff generation now handles multi-byte sequences correctly.
   629  - Multiple goroutines can now call `gexec.Build` concurrently.
   630  
   631  ## 1.2.0
   632  
   633  Improvements:
   634  
   635  - Added `BeSent` which attempts to send a value down a channel and fails if the attempt blocks.  Can be paired with `Eventually` to safely send a value down a channel with a timeout.
   636  - `Ω`, `Expect`, `Eventually`, and `Consistently` now immediately `panic` if there is no registered fail handler.  This is always a mistake that can hide failing tests.
   637  - `Receive()` no longer errors when passed a closed channel, it's perfectly fine to attempt to read from a closed channel so Ω(c).Should(Receive()) always fails and Ω(c).ShoudlNot(Receive()) always passes with a closed channel.
   638  - Added `HavePrefix` and `HaveSuffix` matchers.
   639  - `ghttp` can now handle concurrent requests.
   640  - Added `Succeed` which allows one to write `Ω(MyFunction()).Should(Succeed())`.
   641  - Improved `ghttp`'s behavior around failing assertions and panics:
   642      - If a registered handler makes a failing assertion `ghttp` will return `500`.
   643      - If a registered handler panics, `ghttp` will return `500` *and* fail the test.  This is new behavior that may cause existing code to break.  This code is almost certainly incorrect and creating a false positive.
   644  - `ghttp` servers can take an `io.Writer`.  `ghttp` will write a line to the writer when each request arrives.
   645  - Added `WithTransform` matcher to allow munging input data before feeding into the relevant matcher
   646  - Added boolean `And`, `Or`, and `Not` matchers to allow creating composite matchers
   647  - Added `gbytes.TimeoutCloser`, `gbytes.TimeoutReader`, and `gbytes.TimeoutWriter` - these are convenience wrappers that timeout if the underlying Closer/Reader/Writer does not return within the alloted time.
   648  - Added `gbytes.BufferReader` - this constructs a `gbytes.Buffer` that asynchronously reads the passed-in `io.Reader` into its buffer.
   649  
   650  Bug Fixes:
   651  - gexec: `session.Wait` now uses `EventuallyWithOffset` to get the right line number in the failure.
   652  - `ContainElement` no longer bails if a passed-in matcher errors.
   653  
   654  ## 1.0 (8/2/2014)
   655  
   656  No changes. Dropping "beta" from the version number.
   657  
   658  ## 1.0.0-beta (7/8/2014)
   659  Breaking Changes:
   660  
   661  - Changed OmegaMatcher interface.  Instead of having `Match` return failure messages, two new methods `FailureMessage` and `NegatedFailureMessage` are called instead.
   662  - Moved and renamed OmegaFailHandler to types.GomegaFailHandler and OmegaMatcher to types.GomegaMatcher.  Any references to OmegaMatcher in any custom matchers will need to be changed to point to types.GomegaMatcher
   663  
   664  New Test-Support Features:
   665  
   666  - `ghttp`: supports testing http clients
   667      - Provides a flexible fake http server
   668      - Provides a collection of chainable http handlers that perform assertions.
   669  - `gbytes`: supports making ordered assertions against streams of data
   670      - Provides a `gbytes.Buffer`
   671      - Provides a `Say` matcher to perform ordered assertions against output data
   672  - `gexec`: supports testing external processes
   673      - Provides support for building Go binaries
   674      - Wraps and starts `exec.Cmd` commands
   675      - Makes it easy to assert against stdout and stderr
   676      - Makes it easy to send signals and wait for processes to exit
   677      - Provides an `Exit` matcher to assert against exit code.
   678  
   679  DSL Changes:
   680  
   681  - `Eventually` and `Consistently` can accept `time.Duration` interval and polling inputs.
   682  - The default timeouts for `Eventually` and `Consistently` are now configurable.
   683  
   684  New Matchers:
   685  
   686  - `ConsistOf`: order-independent assertion against the elements of an array/slice or keys of a map.
   687  - `BeTemporally`: like `BeNumerically` but for `time.Time`
   688  - `HaveKeyWithValue`: asserts a map has a given key with the given value.
   689  
   690  Updated Matchers:
   691  
   692  - `Receive` matcher can take a matcher as an argument and passes only if the channel under test receives an objet that satisfies the passed-in matcher.
   693  - Matchers that implement `MatchMayChangeInTheFuture(actual interface{}) bool` can inform `Eventually` and/or `Consistently` when a match has no chance of changing status in the future.  For example, `Receive` returns `false` when a channel is closed.
   694  
   695  Misc:
   696  
   697  - Start using semantic versioning
   698  - Start maintaining changelog
   699  
   700  Major refactor:
   701  
   702  - Pull out Gomega's internal to `internal`