You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

255 lines
9.2 KiB

  1. ## 1.12.0
  2. ### Features
  3. - Add Satisfy() matcher (#437) [c548f31]
  4. - tweak truncation message [3360b8c]
  5. - Add format.GomegaStringer (#427) [cc80b6f]
  6. - Add Clear() method to gbytes.Buffer [c3c0920]
  7. ### Fixes
  8. - Fix error message in BeNumericallyMatcher (#432) [09c074a]
  9. - Bump github.com/onsi/ginkgo from 1.12.1 to 1.16.2 (#442) [e5f6ea0]
  10. - Bump github.com/golang/protobuf from 1.4.3 to 1.5.2 (#431) [adae3bf]
  11. - Bump golang.org/x/net (#441) [3275b35]
  12. ## 1.11.0
  13. ### Features
  14. - feature: add index to gstruct element func (#419) [334e00d]
  15. - feat(gexec) Add CompileTest functions. Close #410 (#411) [47c613f]
  16. ### Fixes
  17. - Check more carefully for nils in WithTransform (#423) [3c60a15]
  18. - fix: typo in Makefile [b82522a]
  19. - Allow WithTransform function to accept a nil value (#422) [b75d2f2]
  20. - fix: print value type for interface{} containers (#409) [f08e2dc]
  21. - fix(BeElementOf): consistently flatten expected values [1fa9468]
  22. ## 1.10.5
  23. ### Fixes
  24. - fix: collections matchers should display type of expectation (#408) [6b4eb5a]
  25. - fix(ContainElements): consistently flatten expected values [073b880]
  26. - fix(ConsistOf): consistently flatten expected values [7266efe]
  27. ## 1.10.4
  28. ### Fixes
  29. - update golang net library to more recent version without vulnerability (#406) [817a8b9]
  30. - Correct spelling: alloted -> allotted (#403) [0bae715]
  31. - fix a panic in MessageWithDiff with long message (#402) [ea06b9b]
  32. ## 1.10.3
  33. ### Fixes
  34. - updates golang/x/net to fix vulnerability detected by snyk (#394) [c479356]
  35. ## 1.10.2
  36. ### Fixes
  37. - Add ExpectWithOffset, EventuallyWithOffset and ConsistentlyWithOffset to WithT (#391) [990941a]
  38. ## 1.10.1
  39. ### Fixes
  40. - Update dependencies (#389) [9f5eecd]
  41. ## 1.10.0
  42. ### Features
  43. - Add HaveHTTPStatusMatcher (#378) [f335c94]
  44. - Changed matcher for content-type in VerifyJSONRepresenting (#377) [6024f5b]
  45. - Make ghttp usable with x-unit style tests (#376) [c0be499]
  46. - Implement PanicWith matcher (#381) [f8032b4]
  47. ## 1.9.0
  48. ### Features
  49. - Add ContainElements matcher (#370) [2f57380]
  50. - Output missing and extra elements in ConsistOf failure message [a31eda7]
  51. - Document method LargestMatching [7c5a280]
  52. ## 1.8.1
  53. ### Fixes
  54. - Fix unexpected MatchError() behaviour (#375) [8ae7b2f]
  55. ## 1.8.0
  56. ### Features
  57. - Allow optional description to be lazily evaluated function (#364) [bf64010]
  58. - Support wrapped errors (#359) [0a981cb]
  59. ## 1.7.1
  60. ### Fixes
  61. - Bump go-yaml version to cover fixed ddos heuristic (#362) [95e431e]
  62. ## 1.7.0
  63. ### Features
  64. - export format property variables (#347) [642e5ba]
  65. ### Fixes
  66. - minor fix in the documentation of ExpectWithOffset (#358) [beea727]
  67. ## 1.6.0
  68. ### Features
  69. - Display special chars on error [41e1b26]
  70. - Add BeElementOf matcher [6a48b48]
  71. ### Fixes
  72. - Remove duplication in XML matcher tests [cc1a6cb]
  73. - Remove unnecessary conversions (#357) [7bf756a]
  74. - Fixed import order (#353) [2e3b965]
  75. - Added missing error handling in test (#355) [c98d3eb]
  76. - Simplify code (#356) [0001ed9]
  77. - Simplify code (#354) [0d9100e]
  78. - Fixed typos (#352) [3f647c4]
  79. - Add failure message tests to BeElementOf matcher [efe19c3]
  80. - Update go-testcov untested sections [37ee382]
  81. - Mark all uncovered files so go-testcov ./... works [53b150e]
  82. - Reenable gotip in travis [5c249dc]
  83. - Fix the typo of comment (#345) [f0e010e]
  84. - Optimize contain_element_matcher [abeb93d]
  85. ## 1.5.0
  86. ### Features
  87. - Added MatchKeys matchers [8b909fc]
  88. ### Fixes and Minor Improvements
  89. - Add type aliases to remove stuttering [03b0461]
  90. - Don't run session_test.go on windows (#324) [5533ce8]
  91. ## 1.4.3
  92. ### Fixes:
  93. - ensure file name and line numbers are correctly reported for XUnit [6fff58f]
  94. - Fixed matcher for content-type (#305) [69d9b43]
  95. ## 1.4.2
  96. ### Fixes:
  97. - Add go.mod and go.sum files to define the gomega go module [f3de367, a085d30]
  98. - Work around go vet issue with Go v1.11 (#300) [40dd6ad]
  99. - Better output when using with go XUnit-style tests, fixes #255 (#297) [29a4b97]
  100. - Fix MatchJSON fail to parse json.RawMessage (#298) [ae19f1b]
  101. - show threshold in failure message of BeNumericallyMatcher (#293) [4bbecc8]
  102. ## 1.4.1
  103. ### Fixes:
  104. - Update documentation formatting and examples (#289) [9be8410]
  105. - allow 'Receive' matcher to be used with concrete types (#286) [41673fd]
  106. - Fix data race in ghttp server (#283) [7ac6b01]
  107. - Travis badge should only show master [cc102ab]
  108. ## 1.4.0
  109. ### Features
  110. - Make string pretty diff user configurable (#273) [eb112ce, 649b44d]
  111. ### Fixes
  112. - Use httputil.DumpRequest to pretty-print unhandled requests (#278) [a4ff0fc, b7d1a52]
  113. - fix typo floa32 > float32 (#272) [041ae3b, 6e33911]
  114. - Fix link to documentation on adding your own matchers (#270) [bb2c830, fcebc62]
  115. - Use setters and getters to avoid race condition (#262) [13057c3, a9c79f1]
  116. - Avoid sending a signal if the process is not alive (#259) [b8043e5, 4fc1762]
  117. - Improve message from AssignableToTypeOf when expected value is nil (#281) [9c1fb20]
  118. ## 1.3.0
  119. Improvements:
  120. - The `Equal` matcher matches byte slices more performantly.
  121. - Improved how `MatchError` matches error strings.
  122. - `MatchXML` ignores the order of xml node attributes.
  123. - Improve support for XUnit style golang tests. ([#254](https://github.com/onsi/gomega/issues/254))
  124. Bug Fixes:
  125. - Diff generation now handles multi-byte sequences correctly.
  126. - Multiple goroutines can now call `gexec.Build` concurrently.
  127. ## 1.2.0
  128. Improvements:
  129. - 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.
  130. - `Ω`, `Expect`, `Eventually`, and `Consistently` now immediately `panic` if there is no registered fail handler. This is always a mistake that can hide failing tests.
  131. - `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.
  132. - Added `HavePrefix` and `HaveSuffix` matchers.
  133. - `ghttp` can now handle concurrent requests.
  134. - Added `Succeed` which allows one to write `Ω(MyFunction()).Should(Succeed())`.
  135. - Improved `ghttp`'s behavior around failing assertions and panics:
  136. - If a registered handler makes a failing assertion `ghttp` will return `500`.
  137. - 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.
  138. - `ghttp` servers can take an `io.Writer`. `ghttp` will write a line to the writer when each request arrives.
  139. - Added `WithTransform` matcher to allow munging input data before feeding into the relevant matcher
  140. - Added boolean `And`, `Or`, and `Not` matchers to allow creating composite matchers
  141. - 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.
  142. - Added `gbytes.BufferReader` - this constructs a `gbytes.Buffer` that asynchronously reads the passed-in `io.Reader` into its buffer.
  143. Bug Fixes:
  144. - gexec: `session.Wait` now uses `EventuallyWithOffset` to get the right line number in the failure.
  145. - `ContainElement` no longer bails if a passed-in matcher errors.
  146. ## 1.0 (8/2/2014)
  147. No changes. Dropping "beta" from the version number.
  148. ## 1.0.0-beta (7/8/2014)
  149. Breaking Changes:
  150. - Changed OmegaMatcher interface. Instead of having `Match` return failure messages, two new methods `FailureMessage` and `NegatedFailureMessage` are called instead.
  151. - 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
  152. New Test-Support Features:
  153. - `ghttp`: supports testing http clients
  154. - Provides a flexible fake http server
  155. - Provides a collection of chainable http handlers that perform assertions.
  156. - `gbytes`: supports making ordered assertions against streams of data
  157. - Provides a `gbytes.Buffer`
  158. - Provides a `Say` matcher to perform ordered assertions against output data
  159. - `gexec`: supports testing external processes
  160. - Provides support for building Go binaries
  161. - Wraps and starts `exec.Cmd` commands
  162. - Makes it easy to assert against stdout and stderr
  163. - Makes it easy to send signals and wait for processes to exit
  164. - Provides an `Exit` matcher to assert against exit code.
  165. DSL Changes:
  166. - `Eventually` and `Consistently` can accept `time.Duration` interval and polling inputs.
  167. - The default timeouts for `Eventually` and `Consistently` are now configurable.
  168. New Matchers:
  169. - `ConsistOf`: order-independent assertion against the elements of an array/slice or keys of a map.
  170. - `BeTemporally`: like `BeNumerically` but for `time.Time`
  171. - `HaveKeyWithValue`: asserts a map has a given key with the given value.
  172. Updated Matchers:
  173. - `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.
  174. - 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.
  175. Misc:
  176. - Start using semantic versioning
  177. - Start maintaining changelog
  178. Major refactor:
  179. - Pull out Gomega's internal to `internal`