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.

376 lines
16 KiB

  1. ## 1.16.2
  2. ### Fixes
  3. - Deprecations can be suppressed by setting an `ACK_GINKGO_DEPRECATIONS=<semver>` environment variable.
  4. ## 1.16.1
  5. ### Fixes
  6. - Supress --stream deprecation warning on windows (#793)
  7. ## 1.16.0
  8. ### Features
  9. - Advertise Ginkgo 2.0. Introduce deprecations. [9ef1913]
  10. - Update README.md to advertise that Ginkgo 2.0 is coming.
  11. - Backport the 2.0 DeprecationTracker and start alerting users
  12. about upcoming deprecations.
  13. - Add slim-sprig template functions to bootstrap/generate (#775) [9162b86]
  14. ### Fixes
  15. - Fix accidental reference to 1488 (#784) [9fb7fe4]
  16. ## 1.15.2
  17. ### Fixes
  18. - ignore blank `-focus` and `-skip` flags (#780) [e90a4a0]
  19. ## 1.15.1
  20. ### Fixes
  21. - reporters/junit: Use `system-out` element instead of `passed` (#769) [9eda305]
  22. ## 1.15.0
  23. ### Features
  24. - Adds 'outline' command to print the outline of specs/containers in a file (#754) [071c369] [6803cc3] [935b538] [06744e8] [0c40583]
  25. - Add support for using template to generate tests (#752) [efb9e69]
  26. - Add a Chinese Doc #755 (#756) [5207632]
  27. - cli: allow multiple -focus and -skip flags (#736) [9a782fb]
  28. ### Fixes
  29. - Add _internal to filename of tests created with internal flag (#751) [43c12da]
  30. ## 1.14.2
  31. ### Fixes
  32. - correct handling windows backslash in import path (#721) [97f3d51]
  33. - Add additional methods to GinkgoT() to improve compatibility with the testing.TB interface [b5fe44d]
  34. ## 1.14.1
  35. ### Fixes
  36. - Discard exported method declaration when running ginkgo bootstrap (#558) [f4b0240]
  37. ## 1.14.0
  38. ### Features
  39. - Defer running top-level container nodes until RunSpecs is called [d44dedf]
  40. - [Document Ginkgo lifecycle](http://onsi.github.io/ginkgo/#understanding-ginkgos-lifecycle)
  41. - Add `extensions/globals` package (#692) [3295c8f] - this can be helpful in contexts where you are test-driving your test-generation code (see [#692](https://github.com/onsi/ginkgo/pull/692))
  42. - Print Skip reason in JUnit reporter if one was provided [820dfab]
  43. ## 1.13.0
  44. ### Features
  45. - Add a version of table.Entry that allows dumping the entry parameters. (#689) [21eaef2]
  46. ### Fixes
  47. - Ensure integration tests pass in an environment sans GOPATH [606fba2]
  48. - Add books package (#568) [fc0e44e]
  49. - doc(readme): installation via "tools package" (#677) [83bb20e]
  50. - Solve the undefined: unix.Dup2 compile error on mips64le (#680) [0624f75]
  51. - Import package without dot (#687) [6321024]
  52. - Fix integration tests to stop require GOPATH (#686) [a912ec5]
  53. ## 1.12.3
  54. ### Fixes
  55. - Print correct code location of failing table test (#666) [c6d7afb]
  56. ## 1.12.2
  57. ### Fixes
  58. - Update dependencies [ea4a036]
  59. ## 1.12.1
  60. ### Fixes
  61. - Make unfocus ("blur") much faster (#674) [8b18061]
  62. - Fix typo (#673) [7fdcbe8]
  63. - Test against 1.14 and remove 1.12 [d5c2ad6]
  64. - Test if a coverprofile content is empty before checking its latest character (#670) [14d9fa2]
  65. - replace tail package with maintained one. this fixes go get errors (#667) [4ba33d4]
  66. - improve ginkgo performance - makes progress on #644 [a14f98e]
  67. - fix convert integration tests [1f8ba69]
  68. - fix typo succesful -> successful (#663) [1ea49cf]
  69. - Fix invalid link (#658) [b886136]
  70. - convert utility : Include comments from source (#657) [1077c6d]
  71. - Explain what BDD means [d79e7fb]
  72. - skip race detector test on unsupported platform (#642) [f8ab89d]
  73. - Use Dup2 from golang.org/x/sys/unix instead of syscallDup (#638) [5d53c55]
  74. - Fix missing newline in combined coverage file (#641) [6a07ea2]
  75. - check if a spec is run before returning SpecSummary (#645) [8850000]
  76. ## 1.12.0
  77. ### Features
  78. - Add module definition (#630) [78916ab]
  79. ## 1.11.0
  80. ### Features
  81. - Add syscall for riscv64 architecture [f66e896]
  82. - teamcity reporter: output location of test failure as well as test definition (#626) [9869142]
  83. - teamcity reporter: output newline after every service message (#625) [3cfa02d]
  84. - Add support for go module when running `generate` command (#578) [9c89e3f]
  85. ## 1.10.3
  86. ### Fixes
  87. - Set go_import_path in travis.yml to allow internal packages in forks (#607) [3b721db]
  88. - Add integration test [d90e0dc]
  89. - Fix coverage files combining [e5dde8c]
  90. - A new CLI option: -ginkgo.reportFile <file path> (#601) [034fd25]
  91. ## 1.10.2
  92. ### Fixes
  93. - speed up table entry generateIt() (#609) [5049dc5]
  94. - Fix. Write errors to stderr instead of stdout (#610) [7bb3091]
  95. ## 1.10.1
  96. ### Fixes
  97. - stack backtrace: fix skipping (#600) [2a4c0bd]
  98. ## 1.10.0
  99. ### Fixes
  100. - stack backtrace: fix alignment and skipping [66915d6]
  101. - fix typo in documentation [8f97b93]
  102. ## 1.9.0
  103. ### Features
  104. - Option to print output into report, when tests have passed [0545415]
  105. ### Fixes
  106. - Fixed typos in comments [0ecbc58]
  107. - gofmt code [a7f8bfb]
  108. - Simplify code [7454d00]
  109. - Simplify concatenation, incrementation and function assignment [4825557]
  110. - Avoid unnecessary conversions [9d9403c]
  111. - JUnit: include more detailed information about panic [19cca4b]
  112. - Print help to stdout when the user asks for help [4cb7441]
  113. ## 1.8.0
  114. ### New Features
  115. - allow config of the vet flag for `go test` (#562) [3cd45fa]
  116. - Support projects using go modules [d56ee76]
  117. ### Fixes and Minor Improvements
  118. - chore(godoc): fixes typos in Measurement funcs [dbaca8e]
  119. - Optimize focus to avoid allocations [f493786]
  120. - Ensure generated test file names are underscored [505cc35]
  121. ## 1.7.0
  122. ### New Features
  123. - Add JustAfterEach (#484) [0d4f080]
  124. ### Fixes
  125. - Correctly round suite time in junit reporter [2445fc1]
  126. - Avoid using -i argument to go test for Golang 1.10+ [46bbc26]
  127. ## 1.6.0
  128. ### New Features
  129. - add --debug flag to emit node output to files (#499) [39febac]
  130. ### Fixes
  131. - fix: for `go vet` to pass [69338ec]
  132. - docs: fix for contributing instructions [7004cb1]
  133. - consolidate and streamline contribution docs (#494) [d848015]
  134. - Make generated Junit file compatable with "Maven Surefire" (#488) [e51bee6]
  135. - all: gofmt [000d317]
  136. - Increase eventually timeout to 30s [c73579c]
  137. - Clarify asynchronous test behaviour [294d8f4]
  138. - Travis badge should only show master [26d2143]
  139. ## 1.5.0 5/10/2018
  140. ### New Features
  141. - Supports go v1.10 (#443, #446, #451) [e873237, 468e89e, e37dbfe, a37f4c0, c0b857d, bca5260, 4177ca8]
  142. - Add a When() synonym for Context() (#386) [747514b, 7484dad, 7354a07, dd826c8]
  143. - Re-add noisySkippings flag [652e15c]
  144. - Allow coverage to be displayed for focused specs (#367) [11459a8]
  145. - Handle -outputdir flag (#364) [228e3a8]
  146. - Handle -coverprofile flag (#355) [43392d5]
  147. ### Fixes
  148. - When using custom reporters register the custom reporters *before* the default reporter. This allows users to see the output of any print statements in their customer reporters. (#365) [8382b23]
  149. - When running a test and calculating the coverage using the `-coverprofile` and `-outputdir` flags, Ginkgo fails with an error if the directory does not exist. This is due to an [issue in go 1.10](https://github.com/golang/go/issues/24588) (#446) [b36a6e0]
  150. - `unfocus` command ignores vendor folder (#459) [e5e551c, c556e43, a3b6351, 9a820dd]
  151. - Ignore packages whose tests are all ignored by go (#456) [7430ca7, 6d8be98]
  152. - Increase the threshold when checking time measuments (#455) [2f714bf, 68f622c]
  153. - Fix race condition in coverage tests (#423) [a5a8ff7, ab9c08b]
  154. - Add an extra new line after reporting spec run completion for test2json [874520d]
  155. - added name name field to junit reported testsuite [ae61c63]
  156. - Do not set the run time of a spec when the dryRun flag is used (#438) [457e2d9, ba8e856]
  157. - Process FWhen and FSpecify when unfocusing (#434) [9008c7b, ee65bd, df87dfe]
  158. - Synchronise the access to the state of specs to avoid race conditions (#430) [7d481bc, ae6829d]
  159. - Added Duration on GinkgoTestDescription (#383) [5f49dad, 528417e, 0747408, 329d7ed]
  160. - Fix Ginkgo stack trace on failure for Specify (#415) [b977ede, 65ca40e, 6c46eb8]
  161. - Update README with Go 1.6+, Golang -> Go (#409) [17f6b97, bc14b66, 20d1598]
  162. - Use fmt.Errorf instead of errors.New(fmt.Sprintf (#401) [a299f56, 44e2eaa]
  163. - Imports in generated code should follow conventions (#398) [0bec0b0, e8536d8]
  164. - Prevent data race error when Recording a benchmark value from multiple go routines (#390) [c0c4881, 7a241e9]
  165. - Replace GOPATH in Environment [4b883f0]
  166. ## 1.4.0 7/16/2017
  167. - `ginkgo` now provides a hint if you accidentally forget to run `ginkgo bootstrap` to generate a `*_suite_test.go` file that actually invokes the Ginkgo test runner. [#345](https://github.com/onsi/ginkgo/pull/345)
  168. - thanks to improvements in `go test -c` `ginkgo` no longer needs to fix Go's compilation output to ensure compilation errors are expressed relative to the CWD. [#357]
  169. - `ginkgo watch -watchRegExp=...` allows you to specify a custom regular expression to watch. Only files matching the regular expression are watched for changes (the default is `\.go$`) [#356]
  170. - `ginkgo` now always emits compilation output. Previously, only failed compilation output was printed out. [#277]
  171. - `ginkgo -requireSuite` now fails the test run if there are `*_test.go` files but `go test` fails to detect any tests. Typically this means you forgot to run `ginkgo bootstrap` to generate a suite file. [#344]
  172. - `ginkgo -timeout=DURATION` allows you to adjust the timeout for the entire test suite (default is 24 hours) [#248]
  173. ## 1.3.0 3/28/2017
  174. Improvements:
  175. - Significantly improved parallel test distribution. Now instead of pre-sharding test cases across workers (which can result in idle workers and poor test performance) Ginkgo uses a shared queue to keep all workers busy until all tests are complete. This improves test-time performance and consistency.
  176. - `Skip(message)` can be used to skip the current test.
  177. - Added `extensions/table` - a Ginkgo DSL for [Table Driven Tests](http://onsi.github.io/ginkgo/#table-driven-tests)
  178. - Add `GinkgoRandomSeed()` - shorthand for `config.GinkgoConfig.RandomSeed`
  179. - Support for retrying flaky tests with `--flakeAttempts`
  180. - `ginkgo ./...` now recurses as you'd expect
  181. - Added `Specify` a synonym for `It`
  182. - Support colorise on Windows
  183. - Broader support for various go compilation flags in the `ginkgo` CLI
  184. Bug Fixes:
  185. - Ginkgo tests now fail when you `panic(nil)` (#167)
  186. ## 1.2.0 5/31/2015
  187. Improvements
  188. - `ginkgo -coverpkg` calls down to `go test -coverpkg` (#160)
  189. - `ginkgo -afterSuiteHook COMMAND` invokes the passed-in `COMMAND` after a test suite completes (#152)
  190. - Relaxed requirement for Go 1.4+. `ginkgo` now works with Go v1.3+ (#166)
  191. ## 1.2.0-beta
  192. Ginkgo now requires Go 1.4+
  193. Improvements:
  194. - Call reporters in reverse order when announcing spec completion -- allows custom reporters to emit output before the default reporter does.
  195. - Improved focus behavior. Now, this:
  196. ```golang
  197. FDescribe("Some describe", func() {
  198. It("A", func() {})
  199. FIt("B", func() {})
  200. })
  201. ```
  202. will run `B` but *not* `A`. This tends to be a common usage pattern when in the thick of writing and debugging tests.
  203. - When `SIGINT` is received, Ginkgo will emit the contents of the `GinkgoWriter` before running the `AfterSuite`. Useful for debugging stuck tests.
  204. - When `--progress` is set, Ginkgo will write test progress (in particular, Ginkgo will say when it is about to run a BeforeEach, AfterEach, It, etc...) to the `GinkgoWriter`. This is useful for debugging stuck tests and tests that generate many logs.
  205. - Improved output when an error occurs in a setup or teardown block.
  206. - When `--dryRun` is set, Ginkgo will walk the spec tree and emit to its reporter *without* actually running anything. Best paired with `-v` to understand which specs will run in which order.
  207. - Add `By` to help document long `It`s. `By` simply writes to the `GinkgoWriter`.
  208. - Add support for precompiled tests:
  209. - `ginkgo build <path-to-package>` will now compile the package, producing a file named `package.test`
  210. - The compiled `package.test` file can be run directly. This runs the tests in series.
  211. - To run precompiled tests in parallel, you can run: `ginkgo -p package.test`
  212. - Support `bootstrap`ping and `generate`ing [Agouti](http://agouti.org) specs.
  213. - `ginkgo generate` and `ginkgo bootstrap` now honor the package name already defined in a given directory
  214. - The `ginkgo` CLI ignores `SIGQUIT`. Prevents its stack dump from interlacing with the underlying test suite's stack dump.
  215. - The `ginkgo` CLI now compiles tests into a temporary directory instead of the package directory. This necessitates upgrading to Go v1.4+.
  216. - `ginkgo -notify` now works on Linux
  217. Bug Fixes:
  218. - If --skipPackages is used and all packages are skipped, Ginkgo should exit 0.
  219. - Fix tempfile leak when running in parallel
  220. - Fix incorrect failure message when a panic occurs during a parallel test run
  221. - Fixed an issue where a pending test within a focused context (or a focused test within a pending context) would skip all other tests.
  222. - Be more consistent about handling SIGTERM as well as SIGINT
  223. - When interupted while concurrently compiling test suites in the background, Ginkgo now cleans up the compiled artifacts.
  224. - Fixed a long standing bug where `ginkgo -p` would hang if a process spawned by one of the Ginkgo parallel nodes does not exit. (Hooray!)
  225. ## 1.1.0 (8/2/2014)
  226. No changes, just dropping the beta.
  227. ## 1.1.0-beta (7/22/2014)
  228. New Features:
  229. - `ginkgo watch` now monitors packages *and their dependencies* for changes. The depth of the dependency tree can be modified with the `-depth` flag.
  230. - Test suites with a programmatic focus (`FIt`, `FDescribe`, etc...) exit with non-zero status code, even when they pass. This allows CI systems to detect accidental commits of focused test suites.
  231. - `ginkgo -p` runs the testsuite in parallel with an auto-detected number of nodes.
  232. - `ginkgo -tags=TAG_LIST` passes a list of tags down to the `go build` command.
  233. - `ginkgo --failFast` aborts the test suite after the first failure.
  234. - `ginkgo generate file_1 file_2` can take multiple file arguments.
  235. - Ginkgo now summarizes any spec failures that occurred at the end of the test run.
  236. - `ginkgo --randomizeSuites` will run tests *suites* in random order using the generated/passed-in seed.
  237. Improvements:
  238. - `ginkgo -skipPackage` now takes a comma-separated list of strings. If the *relative path* to a package matches one of the entries in the comma-separated list, that package is skipped.
  239. - `ginkgo --untilItFails` no longer recompiles between attempts.
  240. - Ginkgo now panics when a runnable node (`It`, `BeforeEach`, `JustBeforeEach`, `AfterEach`, `Measure`) is nested within another runnable node. This is always a mistake. Any test suites that panic because of this change should be fixed.
  241. Bug Fixes:
  242. - `ginkgo boostrap` and `ginkgo generate` no longer fail when dealing with `hyphen-separated-packages`.
  243. - parallel specs are now better distributed across nodes - fixed a crashing bug where (for example) distributing 11 tests across 7 nodes would panic
  244. ## 1.0.0 (5/24/2014)
  245. New Features:
  246. - Add `GinkgoParallelNode()` - shorthand for `config.GinkgoConfig.ParallelNode`
  247. Improvements:
  248. - When compilation fails, the compilation output is rewritten to present a correct *relative* path. Allows ⌘-clicking in iTerm open the file in your text editor.
  249. - `--untilItFails` and `ginkgo watch` now generate new random seeds between test runs, unless a particular random seed is specified.
  250. Bug Fixes:
  251. - `-cover` now generates a correctly combined coverprofile when running with in parallel with multiple `-node`s.
  252. - Print out the contents of the `GinkgoWriter` when `BeforeSuite` or `AfterSuite` fail.
  253. - Fix all remaining race conditions in Ginkgo's test suite.
  254. ## 1.0.0-beta (4/14/2014)
  255. Breaking changes:
  256. - `thirdparty/gomocktestreporter` is gone. Use `GinkgoT()` instead
  257. - Modified the Reporter interface
  258. - `watch` is now a subcommand, not a flag.
  259. DSL changes:
  260. - `BeforeSuite` and `AfterSuite` for setting up and tearing down test suites.
  261. - `AfterSuite` is triggered on interrupt (`^C`) as well as exit.
  262. - `SynchronizedBeforeSuite` and `SynchronizedAfterSuite` for setting up and tearing down singleton resources across parallel nodes.
  263. CLI changes:
  264. - `watch` is now a subcommand, not a flag
  265. - `--nodot` flag can be passed to `ginkgo generate` and `ginkgo bootstrap` to avoid dot imports. This explicitly imports all exported identifiers in Ginkgo and Gomega. Refreshing this list can be done by running `ginkgo nodot`
  266. - Additional arguments can be passed to specs. Pass them after the `--` separator
  267. - `--skipPackage` flag takes a regexp and ignores any packages with package names passing said regexp.
  268. - `--trace` flag prints out full stack traces when errors occur, not just the line at which the error occurs.
  269. Misc:
  270. - Start using semantic versioning
  271. - Start maintaining changelog
  272. Major refactor:
  273. - Pull out Ginkgo's internal to `internal`
  274. - Rename `example` everywhere to `spec`
  275. - Much more!