1 | ## Release History
|
2 |
|
3 | - **0.8.0** — *2017-03-12* — TypeScript typings
|
4 | - Provide TypeScript typings
|
5 | [#202](https://github.com/jsverify/jsverify/pull/202)
|
6 | [#196](https://github.com/jsverify/jsverify/pull/196)
|
7 | - **0.7.5** — *2017-03-08* — International Women's Day
|
8 | - Add `letrec` combinator
|
9 | [#193](https://github.com/jsverify/jsverify/pull/193)
|
10 | - Add `null` to `json` arbitrary
|
11 | [#201](https://github.com/jsverify/jsverify/pull/201)
|
12 | - Fix typos and outdated links in documentation
|
13 | - **0.7.4** — *2016-09-07* — Bless `suchthat`
|
14 | - Fix "arbitraries created with `suchthat` are missing `.smap`"
|
15 | [#184](https://github.com/jsverify/jsverify/issues/184)
|
16 | - **0.7.3** — *2016-08-26* — Remove lodash
|
17 | - Fixed accidental use of `lodash`. We have our own `isNaN` now.
|
18 | - **0.7.2** — *2016-08-25* — One year since the last release
|
19 | - `jsc.utils.isEqual` returns true if both arguments are `NaN`.
|
20 | - Add `jsc.assertForall` and `jsc.checkForall`
|
21 | - **0.7.1** — *2015-08-24* — jsc.throws
|
22 | - Add `jsc.throws` [#133](https://github.com/jsverify/jsverify/pull/133)
|
23 | - **0.7.0** — *2015-08-23* — More experiments
|
24 | - `jsc.sum` - generate arbitrary sum types (generalisation of either) [#125](https://github.com/jsverify/jsverify/pull/125)
|
25 | - *BREAKING CHANGE:* bar (`|`) in DSL generates `jsc.sum`
|
26 | - experimental support of recursive types in DSL (especially no shrinking yet) [#109](https://github.com/jsverify/jsverify/issues/109) [#126](https://github.com/jsverify/jsverify/pull/126)
|
27 | - fail early when `jsc.forall` is given zero generators [#128](https://github.com/jsverify/jsverify/issues/128)
|
28 | - `jsc.json` has shrink [#122](https://github.com/jsverify/jsverify/issues/122)
|
29 | - non-true non-function results from properties are treated as exceptions [#127](https://github.com/jsverify/jsverify/issues/127)
|
30 | - **0.6.3** — *2015-07-27* — Bug fixes
|
31 | - `jsc.utils.isEqual` doesn't care about key ordering [#123](https://github.com/jsverify/jsverify/issues/123)
|
32 | - tuple's shrink is blessed [#124](https://github.com/jsverify/jsverify/issues/124)
|
33 | - **0.6.2** — *2015-07-13* — Trampolines
|
34 | - **0.6.1** — *2015-07-13* — Bug fixes
|
35 | - Print stacktrace of catched exceptions
|
36 | - `maxsize = 0` for numeric generators works
|
37 | - Issue with non-parametric jsc.property returning property.
|
38 | - **0.6.0** — *2015-06-19* — Minor but major release!
|
39 | - added `jsc.utils.isApproxEqual`
|
40 | - **0.6.0-beta.2** — *2015-05-31* — Beta!
|
41 | - Fix issue [#113](https://github.com/jsverify/jsverify/issues/113) - Shrink of tuple with arrays failed.
|
42 | - **0.6.0-beta.1** — *2015-05-04* — Beta!
|
43 | - FAQ section
|
44 | - Improved `smap` documentation
|
45 | - `flatmap` is also `flatMap`
|
46 | - Fix function arbitrary
|
47 | - `small` arbitraries
|
48 | - `jsc.generator.record`
|
49 | - Thanks to @peterjoel for reporting issues
|
50 | - **0.6.0-alpha.6** — *2015-04-25* — Fix issues #98
|
51 | - Documentation improvements
|
52 | - Fix issue [#98](https://github.com/jsverify/jsverify/issues/98) - error while generating `int32` values
|
53 | - **0.6.0-alpha.5** — *2015-04-23* — Fix issue #99
|
54 | - Documentation improvements
|
55 | - Fix issue #99 (`suchthat` shrink)
|
56 | - **0.6.0-alpha.4** — *2015-04-26* — Fix issue #87
|
57 | - jsc.property didn't fail with asynchronous properties
|
58 | - thanks @Ezku for reporting
|
59 | - **0.6.0-alpha.3** — *2015-04-24* — promise shrink fixed
|
60 | - **0.6.0-alpha.2** — *2015-04-24* — jsc.bless
|
61 | - Added `jsc.bless`
|
62 | - **0.6.0-alpha.1** — *2015-04-22* — Preview
|
63 | - Using lazy sequences for shrink results
|
64 | - *Breaking changes:*
|
65 | - `jsc.map` renamed to `jsc.dict`
|
66 | - `jsc.value` removed, use `jsc.json`
|
67 | - `jsc.string()` removed, use `jsc.string`
|
68 | - `shrink.isomap` renamed to `shrink.smap`
|
69 | - **0.5.3** — *2015-04-21* — More algebra
|
70 | - `unit` and `either` arbitraries
|
71 | - `arbitrary.smap` to help creating compound data
|
72 | - **0.5.2** — *2015-04-10* — `show.def` -change
|
73 | - **0.5.1** — *2015-02-19* — Dependencies bump
|
74 | - We also work on 0.12 and iojs!
|
75 | - **0.5.0** — *2014-12-24* — Merry Chrismas 2014!
|
76 | - Documentation cleanup
|
77 | - **0.5.0-beta.2** — *2014-12-21* — Beta 2!
|
78 | - Pair & tuple related code cleanup
|
79 | - Update `CONTRIBUTING.md`
|
80 | - Small documentation type fixes
|
81 | - Bless `jsc.elements` shrink
|
82 | - **0.5.0-beta.1** — *2014-12-20* — Beta!
|
83 | - `bless` don't close over (uses `this`)
|
84 | - Cleanup generator module
|
85 | - Other code cleanup here and there
|
86 | - **0.4.6** — *2014-11-30* — better shrinks & recursive
|
87 | - Implemented shrinks: [#51](https://github.com/jsverify/jsverify/issues/51)
|
88 | - `jsc.generator.recursive`: [#37](https://github.com/jsverify/jsverify/issues/37)
|
89 | - array, nearray & map generators return a bit smaller results (*log2* of size)
|
90 | - **0.4.5** — *2014-11-22* — stuff
|
91 | - `generator.combine` & `.flatmap`
|
92 | - `nat`, `integer`, `number` & and `string` act as objects too
|
93 | - **0.4.4** — *2014-11-22* — new generators
|
94 | - New generators: `nearray`, `nestring`
|
95 | - `generator.constant`
|
96 | - zero-ary `jsc.property` (it ∘ assert)
|
97 | - `jsc.sampler`
|
98 | - **0.4.3** — *2014-11-08* — jsc.property
|
99 | - Now you can write your bdd specs without any boilerplate
|
100 | - support for nat-litearls in dsl [#36](https://github.com/jsverify/jsverify/issues/36)
|
101 | ```js
|
102 | describe("Math.abs", function () {
|
103 | jsc.property("result is non-negative", "integer 100", function (x) {
|
104 | return Math.abs(x) >= 0;
|
105 | });
|
106 | });
|
107 | ```
|
108 | - Falsy generator [#42](https://github.com/jsverify/jsverify/issues/42)
|
109 | - **0.4.2** — *2014-11-03* — User environments for DSL
|
110 | - User environments for DSL
|
111 | - Generator prototype `map`, and shrink prototype `isomap`
|
112 | - JSON generator works with larger sizes
|
113 | - **0.4.1** Move to own organization in GitHub
|
114 | - **0.4.0** — *2014-10-27* — typify-dsl & more arbitraries.
|
115 | Changes from **0.3.6**:
|
116 | - DSL for `forall` and `suchthat`
|
117 | - new primitive arbitraries
|
118 | - `oneof` behaves as in QuickCheck (BREAKING CHANGE)
|
119 | - `elements` is new name of old `oneof`
|
120 | - Other smaller stuff under the hood
|
121 | - **0.4.0**-beta.4 generator.oneof
|
122 | - **0.4.0**-beta.3 Expose shrink and show modules
|
123 | - **0.4.0**-beta.2 Move everything around
|
124 | - Better looking README.md!
|
125 | - **0.4.0**-beta.1 Beta!
|
126 | - Dev Dependencies update
|
127 | - **0.4.0**-alpha8 oneof & record -dsl support
|
128 | - also `jsc.compile`
|
129 | - record is shrinkable!
|
130 | - **0.4.0**-alpha7 oneof & record
|
131 | - *oneof* and *record* generator combinators ([@fson](https://github.com/fson))
|
132 | - Fixed uint\* generators
|
133 | - Default test size increased to 10
|
134 | - Numeric generators with size specified are independent of test size ([#20](https://github.com/phadej/jsverify/issues/20))
|
135 | - **0.4.0**-alpha6 more primitives
|
136 | - int8, int16, int32, uint8, uint16, uint32
|
137 | - char, asciichar and asciistring
|
138 | - value → json
|
139 | - use eslint
|
140 | - **0.4.0**-alpha5 move david to be devDependency
|
141 | - **0.4.0**-alpha4 more typify
|
142 | - `suchchat` supports typify dsl
|
143 | - `oneof` → `elements` to be in line with QuickCheck
|
144 | - Added versions of examples using typify dsl
|
145 | - **0.4.0**-alpha3 David, npm-freeze and jscs
|
146 | - **0.4.0**-alpha2 Fix typo in readme
|
147 | - **0.4.0**-alpha1 typify
|
148 | - DSL for `forall`
|
149 | ```js
|
150 | var bool_fn_applied_thrice = jsc.forall("bool -> bool", "bool", check);
|
151 | ```
|
152 |
|
153 | - generator arguments, which are functions are evaluated. One can now write:
|
154 | ```js
|
155 | jsc.forall(jsc.nat, check) // previously had to be jsc.nat()
|
156 | ```
|
157 |
|
158 | - **0.3.6** map generator
|
159 | - **0.3.5** Fix forgotten rngState in console output
|
160 | - **0.3.4** Dependencies update
|
161 | - **0.3.3** Dependencies update
|
162 | - **0.3.2** `fun` → `fn`
|
163 | - **0.3.1** Documentation typo fixes
|
164 | - **0.3.0** Major changes
|
165 | - random generate state handling
|
166 | - `--jsverifyRngState` parameter value used when run on node
|
167 | - karma tests
|
168 | - use make
|
169 | - dependencies update
|
170 | - **0.2.0** Use browserify
|
171 | - **0.1.4** Mocha test suite
|
172 | - major cleanup
|
173 | - **0.1.3** gen.show and exception catching
|
174 | - **0.1.2** Added jsc.assert
|
175 | - **0.1.1** Use grunt-literate
|
176 | - **0.1.0** Usable library
|
177 | - **0.0.2** Documented preview
|
178 | - **0.0.1** Initial preview
|