1 | # Change Log
|
2 |
|
3 | All notable changes to this project will be documented in this file.
|
4 |
|
5 | The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
6 | and this project adheres to [Semantic Versioning](http://semver.org/).
|
7 |
|
8 | ## [Unreleased]
|
9 |
|
10 | ## [v5.1.0] - 2019-01-15
|
11 |
|
12 | ### Added
|
13 |
|
14 | * New option `ignore-new-array` for the `readonly-array` rule. This option replaces the `ignore-mutation-following-accessor` option, however the old option name will remain as an alias and will be removed in the next major release. See [#102](https://github.com/jonaskello/tslint-immutable/issues/102). Thanks to [@RebeccaStevens](https://github.com/RebeccaStevens) for adding this option! (See PR [#110](https://github.com/jonaskello/tslint-immutable/pull/110))
|
15 |
|
16 | ## [v5.0.1] - 2018-12-15
|
17 |
|
18 | ### Fixed
|
19 |
|
20 | * Fixed a regression in the `readonly-array`. See [#104](https://github.com/jonaskello/tslint-immutable/issues/104).
|
21 |
|
22 | ## [v5.0.0] - 2018-11-24
|
23 |
|
24 | ### Changed
|
25 |
|
26 | * Internal refactoring to use the [tsutils](https://www.npmjs.com/package/tsutils) library, see PR [100](https://github.com/jonaskello/tslint-immutable/pull/100). This cleans up a lot of code and makes it easier to do further development. Becasue the tsutils library requires typescript version >=2.8 and node >=6 this refactoring required a major version bump. Big thanks to [RebeccaStevens](https://github.com/RebeccaStevens) for the amazing work on this refactoring :-).
|
27 |
|
28 | ## [v4.9.1] - 2018-11-04
|
29 |
|
30 | ### Fixed
|
31 |
|
32 | * `ignore-return-type` option for the `readonly-array` doesn't catch method declarations. See [#95](https://github.com/jonaskello/tslint-immutable/issues/95).
|
33 |
|
34 | ## [v4.9.0] - 2018-11-01
|
35 |
|
36 | ### Added
|
37 |
|
38 | * New option `ignore-return-type` for the `readonly-array` rule. See [#82](https://github.com/jonaskello/tslint-immutable/issues/82). Thanks to [@RebeccaStevens](https://github.com/RebeccaStevens) for adding this option! (See PR [#95](https://github.com/jonaskello/tslint-immutable/pull/95))
|
39 |
|
40 | ## [v4.8.0] - 2018-10-07
|
41 |
|
42 | ### Added
|
43 |
|
44 | * New option `ignore-rest-parameters` for the `readonly-array` rule. See [#73](https://github.com/jonaskello/tslint-immutable/issues/73). Thanks to [@aboyton](https://github.com/aboyton) for adding this option! (See PR [#93](https://github.com/jonaskello/tslint-immutable/pull/93))
|
45 |
|
46 | ### Added
|
47 |
|
48 | ## [v4.7.0] - 2018-08-23
|
49 |
|
50 | ### Added
|
51 |
|
52 | * New option `ignore-mutation-following-accessor` for the `no-array-mutation` rule. See [#88](https://github.com/jonaskello/tslint-immutable/issues/88). Thanks to [@RebeccaStevens](https://github.com/RebeccaStevens) for adding this option! (See PR [#89](https://github.com/jonaskello/tslint-immutable/pull/89))
|
53 |
|
54 | * New rules `no-throw` and `no-try`. See [#86](https://github.com/jonaskello/tslint-immutable/issues/86). Thanks to [@RebeccaStevens](https://github.com/RebeccaStevens) for adding these rules! (See PR [#91](https://github.com/jonaskello/tslint-immutable/pull/91))
|
55 |
|
56 | * Option for enabling all the rules with `tslint-immutable/all`. See [#66](https://github.com/jonaskello/tslint-immutable/issues/66). Thanks to [@bakerface](https://github.com/bakerface) for adding this! (See PR [#85](https://github.com/jonaskello/tslint-immutable/pull/85))
|
57 |
|
58 | ## [v4.6.0] - 2018-06-12
|
59 |
|
60 | ### Added
|
61 |
|
62 | * New rule `no-array-mutation`. See [#74](https://github.com/jonaskello/tslint-immutable/issues/74). Thanks to [@RebeccaStevens](https://github.com/RebeccaStevens) for adding this rule! (See PR [#84](https://github.com/jonaskello/tslint-immutable/pull/84))
|
63 |
|
64 | ## [v4.5.4] - 2018-04-17
|
65 |
|
66 | * `no-object-mutation` rule, allow class member mutation in constructor [#79](https://github.com/jonaskello/tslint-immutable/pull/79).
|
67 |
|
68 | * `readonly-keyword` rule, check function params and return type [#80](https://github.com/jonaskello/tslint-immutable/pull/80)
|
69 |
|
70 | ## [v4.5.3] - 2018-03-31
|
71 |
|
72 | ### Fixed
|
73 |
|
74 | * `readonly-array` fixer does not work for arrays with nested template type. See [#24](https://github.com/jonaskello/tslint-immutable/issues/24). Thanks to [@geon](https://github.com/geon) for fixing this longstanding bug! (See PR [#78](https://github.com/jonaskello/tslint-immutable/pull/78))
|
75 |
|
76 | ## [v4.5.2] - 2018-02-27
|
77 |
|
78 | ### Fixed
|
79 |
|
80 | * Ignore await when checking `ignore-prefix` in `no-expression-statement`. See [#76](https://github.com/jonaskello/tslint-immutable/issues/76).
|
81 |
|
82 | * `no-class` does not catch class expressions. See [#65](https://github.com/jonaskello/tslint-immutable/issues/65). Thanks to [@ianbollinger](https://github.com/ianbollinger) for this fix! (See PR [#70](https://github.com/jonaskello/tslint-immutable/pull/70))
|
83 |
|
84 | ## [v4.5.1] - 2018-01-16
|
85 |
|
86 | ### Fixed
|
87 |
|
88 | * `no-mixed-interface` does not understand arrow function notation. See [#62](https://github.com/jonaskello/tslint-immutable/issues/62). Thanks to [@geon](https://github.com/geon) for this fix! (See PR [#63](https://github.com/jonaskello/tslint-immutable/pull/63))
|
89 |
|
90 | ## [v4.5.0] - 2017-12-29
|
91 |
|
92 | ### Added
|
93 |
|
94 | * New options `ignore-interface`, and `ignore-class` for the `readonly-keyword` rule. See [#44](https://github.com/jonaskello/tslint-immutable/issues/44) for background. Thanks to [@aboyton](https://github.com/aboyton) for these options! (See PR [#57](https://github.com/jonaskello/tslint-immutable/pull/57))
|
95 |
|
96 | * The `ignore-prefix` option can be an array for all rules (previously just for `no-expression-statement` and `no-object-mutation`).
|
97 |
|
98 | * New rule `no-delete`. See [readme](https://github.com/jonaskello/tslint-immutable#no-delete) for more info.
|
99 |
|
100 | * New rule `no-if-statement`. See [readme](https://github.com/jonaskello/tslint-immutable#no-if-statement) for more info and [#54](https://github.com/jonaskello/tslint-immutable/issues/54) for discussion.
|
101 |
|
102 | * New rule `no-loop-statement`. See [readme](https://github.com/jonaskello/tslint-immutable#no-loop-statement) for more info and [#54](https://github.com/jonaskello/tslint-immutable/issues/54) for discussion.
|
103 |
|
104 | ### Fixed
|
105 |
|
106 | * `no-mixed-interface` does not understand arrow function notation. See [#60](https://github.com/jonaskello/tslint-immutable/issues/60).
|
107 |
|
108 | ## [v4.4.0] - 2017-09-27
|
109 |
|
110 | ### Added
|
111 |
|
112 | * New option `ignore-prefix` for the `no-object-mutation` rule. See [#43](https://github.com/jonaskello/tslint-immutable/issues/43) for background. Thanks to [@miangraham](https://github.com/miangraham) for this option! (See PR [#53](https://github.com/jonaskello/tslint-immutable/pull/53))
|
113 |
|
114 | ## [v4.3.0] - 2017-09-23
|
115 |
|
116 | ### Fixed
|
117 |
|
118 | * The readonly-keyword rule now properly checks for `readonly` modifier of `class` property declarations. See [#49](https://github.com/jonaskello/tslint-immutable/issues/49) and PR [#50](https://github.com/jonaskello/tslint-immutable/pull/50).
|
119 |
|
120 | ### Added
|
121 |
|
122 | * New rule [no-method-signature](https://github.com/jonaskello/tslint-immutable#no-method-signature). See [#30](https://github.com/jonaskello/tslint-immutable/issues/30) and PR in [#51](https://github.com/jonaskello/tslint-immutable/pull/51).
|
123 | * New options `ignore-local`, and `ignore-prefix` for the `no-let` rule. See [#32](https://github.com/jonaskello/tslint-immutable/issues/32), also requested in [#43](https://github.com/jonaskello/tslint-immutable/issues/43). See PR [#48](https://github.com/jonaskello/tslint-immutable/pull/48).
|
124 | * Added tslint core rule [no-parameter-reassignment](https://palantir.github.io/tslint/rules/no-parameter-reassignment/) as [recommended](https://github.com/jonaskello/tslint-immutable#no-parameter-reassignment) in the README.
|
125 |
|
126 | ## [v4.2.1] - 2017-09-21
|
127 |
|
128 | ### Fixed
|
129 |
|
130 | * The readonly-array rule with ignore-local option does not work within `class`. See [45](https://github.com/jonaskello/tslint-immutable/issues/45).
|
131 |
|
132 | ## [v4.2.0] - 2017-09-14
|
133 |
|
134 | ### Added
|
135 |
|
136 | * New option `ignore-prefix` for the `no-expression-statement` rule. See [#39](https://github.com/jonaskello/tslint-immutable/issues/39) for background. Thanks to [@algesten](https://github.com/algesten) for this option! (See PR [#42](https://github.com/jonaskello/tslint-immutable/pull/42))
|
137 |
|
138 | ## [v4.1.0] - 2017-08-21
|
139 |
|
140 | ### Added
|
141 |
|
142 | * New rule `no-object-mutation`. See [#36](https://github.com/jonaskello/tslint-immutable/issues/36) for background. Thanks to [@miangraham](https://github.com/miangraham) for this rule! (See PR [#37](https://github.com/jonaskello/tslint-immutable/pull/37))
|
143 |
|
144 | ## [v4.0.2] - 2017-07-16
|
145 |
|
146 | ### Added
|
147 |
|
148 | * Added an index.js file to the rules directory in order for rulesDirectory to work. See [#35](https://github.com/jonaskello/tslint-immutable/issues/35).
|
149 |
|
150 | ## [v4.0.1] - 2017-06-06
|
151 |
|
152 | ### Fixed
|
153 |
|
154 | * Invalid default tslint config (it included the removed rules).
|
155 |
|
156 | ## [v4.0.0] - 2017-06-06
|
157 |
|
158 | ### Removed
|
159 |
|
160 | * `readonly-interface` rule. This rule is replaced by the `readonly-keyword` rule.
|
161 | * `readonly-indexer` rule. This rule is replaced by the `readonly-keyword` rule.
|
162 | * `no-new` rule. Please see background in [#2](https://github.com/jonaskello/tslint-immutable/issues/2).
|
163 | * `no-arguments` rule. This rule has been moved to the [tslint-divid](https://www.npmjs.com/package/tslint-divid) package.
|
164 | * `no-label` rule. This rule has been moved to the [tslint-divid](https://www.npmjs.com/package/tslint-divid) package.
|
165 | * `no-semicolon-interface` rule. This rule has been moved to the [tslint-divid](https://www.npmjs.com/package/tslint-divid) package.
|
166 | * `import-containment` rule. This rule has been moved to the [tslint-divid](https://www.npmjs.com/package/tslint-divid) package.
|
167 |
|
168 | ## [v3.4.2] - 2017-05-14
|
169 |
|
170 | ### Added
|
171 |
|
172 | * Notice in readme about deprecrating the `no-new` rule.
|
173 |
|
174 | ### Deprecated
|
175 |
|
176 | * The `no-new` rule. See [#2](https://github.com/jonaskello/tslint-immutable/issues/2) for background.
|
177 |
|
178 | ## [v3.4.1] - 2017-05-14
|
179 |
|
180 | ### Added
|
181 |
|
182 | * Note in readme about moving the "other" rules. The `no-argument`, `no-label`, `no-semicolon-interface`, and `import containtment` rules are moving to [tslint-divid](https://github.com/jonaskello/tslint-divid). See [#19](https://github.com/jonaskello/tslint-immutable/issues/19) for more information.
|
183 |
|
184 | ### Deprecated
|
185 |
|
186 | * The `no-argument`, `no-label`, `no-semicolon-interface`, and `import containtment` rules as noted above.
|
187 |
|
188 | ## [v3.4.0] - 2017-05-14
|
189 |
|
190 | ### Added
|
191 |
|
192 | * New rule `readonly-keyword`, to replace `readonly-interface` and `readonly-indexer` [#31](https://github.com/jonaskello/tslint-immutable/issues/31)
|
193 |
|
194 | ### Deprecated
|
195 |
|
196 | * The `readonly-interface`, and `readonly-indexer` rules are deprecated and will be removed in the next major release. Please use the `readonly-keyword` rule instead.
|
197 |
|
198 | ## [v3.3.2] - 2017-05-13
|
199 |
|
200 | ### Fixed
|
201 |
|
202 | * Functions in interfaces cannot have readonly specified but are still checked [#28](https://github.com/jonaskello/tslint-immutable/issues/28)
|
203 |
|
204 | ## [v3.3.1] - 2017-05-09
|
205 |
|
206 | ### Fixed
|
207 |
|
208 | * patch: fix main file in package.json. Thanks to [@yonbeastie](https://github.com/yonbeastie). (see [#29](https://github.com/jonaskello/tslint-immutable/pull/29))
|
209 |
|
210 | ## [v3.3.0] - 2017-05-09
|
211 |
|
212 | ### Fixed
|
213 |
|
214 | * ignore-local does not work for function assigned to const [#23](https://github.com/jonaskello/tslint-immutable/issues/23)
|
215 |
|
216 | ### Added
|
217 |
|
218 | * Add default tslint json. Thanks to [@yonbeastie](https://github.com/yonbeastie). (see [#26](https://github.com/jonaskello/tslint-immutable/pull/26))
|
219 |
|
220 | ## [v3.2.0] - 2017-04-10
|
221 |
|
222 | ### Fixed
|
223 |
|
224 | * readonly-array does not check shorthand syntax in return types with ignore-local option [#21](https://github.com/jonaskello/tslint-immutable/issues/21)
|
225 |
|
226 | ### Added
|
227 |
|
228 | * Fixer for the `readonly-array` rule.
|
229 |
|
230 | ## [v3.1.2] - 2017-04-09
|
231 |
|
232 | ### Fixed
|
233 |
|
234 | * readonly-array does not check return type when ignore-local is enabled [#16](https://github.com/jonaskello/tslint-immutable/issues/16)
|
235 | * readonly-array does not check shorthand syntax [#20](https://github.com/jonaskello/tslint-immutable/issues/20).
|
236 |
|
237 | ## Changed
|
238 |
|
239 | * Impicit return type is not checked in readonly-array [#18](https://github.com/jonaskello/tslint-immutable/issues/18).
|
240 |
|
241 | ## [v3.1.1] - 2017-04-05
|
242 |
|
243 | ### Fixed
|
244 |
|
245 | * Function parameters are not checked when using ignore-local option, [#13](https://github.com/jonaskello/tslint-immutable/issues/13).
|
246 | * Implicit Array type by default value for function parameter is not checked, [#14](https://github.com/jonaskello/tslint-immutable/issues/14).
|
247 |
|
248 | ## [v3.1.0] - 2017-04-05
|
249 |
|
250 | ### Added
|
251 |
|
252 | * [`ignore-local`](https://github.com/jonaskello/tslint-immutable#using-the-ignore-local-option) option added to `readonly-array`.
|
253 | * [`ignore-prefix`](https://github.com/jonaskello/tslint-immutable#using-the-ignore-local-option) option added to `readonly-array`.
|
254 |
|
255 | ## [v3.0.0] - 2017-04-02
|
256 |
|
257 | ### Changed
|
258 |
|
259 | * Upgraded to tslint 5.0.0
|
260 |
|
261 | ### Added
|
262 |
|
263 | * `readonly-array` now also checks for implicity declared mutable arrays.
|
264 |
|
265 | ## [v2.1.1] - 2017-03-29
|
266 |
|
267 | ### Fixed
|
268 |
|
269 | * Remove vestigial `noMutationRule.js` and `no-mutation` example from README, thanks to [@pmlamotte](https://github.com/pmlamotte). (see [#6](https://github.com/jonaskello/tslint-immutable/pull/6))
|
270 |
|
271 | ## [v2.1.0] - 2016-12-12
|
272 |
|
273 | ### Added
|
274 |
|
275 | * `readonly-indexer` rule.
|
276 |
|
277 | ### Fixed
|
278 |
|
279 | * Fixed a bug in `readonly-interface` rule that made it fail on indexer declarations.
|
280 |
|
281 | ## [v2.0.0] - 2016-12-12
|
282 |
|
283 | ### Added
|
284 |
|
285 | * `readonly-interface` rule.
|
286 | * `readonly-indexer` rule.
|
287 | * `readonly-array` rule.
|
288 | * `no-class` rule.
|
289 | * `no-new` rule.
|
290 | * `no-mixed-interface` rule.
|
291 | * `import-containment` rule.
|
292 | * `no-arguments` rule.
|
293 | * `no-label` rule.
|
294 | * `no-semicolon-interface` rule.
|
295 |
|
296 | ### Removed
|
297 |
|
298 | * `no-mutation` rule (replaced by the `readonly-interface` rule).
|
299 |
|
300 | ## v1.0.0 - 2016-12-10
|
301 |
|
302 | ### Added
|
303 |
|
304 | * `no-expression-statement` rule.
|
305 | * `no-let` rule.
|
306 | * `no-mutation` rule.
|
307 | * `no-this` rule.
|
308 |
|
309 | [unreleased]: https://github.com/jonaskello/tslint-immutable/compare/v5.1.0...master
|
310 | [v5.1.0]: https://github.com/jonaskello/tslint-immutable/compare/v5.0.1...v5.1.0
|
311 | [v5.0.1]: https://github.com/jonaskello/tslint-immutable/compare/v5.0.0...v5.0.1
|
312 | [v5.0.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.9.1...v5.0.0
|
313 | [v4.9.1]: https://github.com/jonaskello/tslint-immutable/compare/v4.9.0...v4.9.1
|
314 | [v4.9.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.8.0...v4.9.0
|
315 | [v4.8.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.7.0...v4.8.0
|
316 | [v4.7.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.6.0...v4.7.0
|
317 | [v4.6.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.5.4...v4.6.0
|
318 | [v4.5.4]: https://github.com/jonaskello/tslint-immutable/compare/v4.5.3...v4.5.4
|
319 | [v4.5.3]: https://github.com/jonaskello/tslint-immutable/compare/v4.5.2...v4.5.3
|
320 | [v4.5.2]: https://github.com/jonaskello/tslint-immutable/compare/v4.5.1...v4.5.2
|
321 | [v4.5.1]: https://github.com/jonaskello/tslint-immutable/compare/v4.5.0...v4.5.1
|
322 | [v4.5.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.4.0...v4.5.0
|
323 | [v4.4.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.3.0...v4.4.0
|
324 | [v4.3.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.2.1...v4.3.0
|
325 | [v4.2.1]: https://github.com/jonaskello/tslint-immutable/compare/v4.2.0...v4.2.1
|
326 | [v4.2.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.1.0...v4.2.0
|
327 | [v4.1.0]: https://github.com/jonaskello/tslint-immutable/compare/v4.0.2...v4.1.0
|
328 | [v4.0.2]: https://github.com/jonaskello/tslint-immutable/compare/v4.0.1...v4.0.2
|
329 | [v4.0.1]: https://github.com/jonaskello/tslint-immutable/compare/v4.0.0...v4.0.1
|
330 | [v4.0.0]: https://github.com/jonaskello/tslint-immutable/compare/v3.4.2...v4.0.0
|
331 | [v3.4.2]: https://github.com/jonaskello/tslint-immutable/compare/v3.4.1...v3.4.2
|
332 | [v3.4.1]: https://github.com/jonaskello/tslint-immutable/compare/v3.4.0...v3.4.1
|
333 | [v3.4.0]: https://github.com/jonaskello/tslint-immutable/compare/v3.3.2...v3.4.0
|
334 | [v3.3.2]: https://github.com/jonaskello/tslint-immutable/compare/v3.3.1...v3.3.2
|
335 | [v3.3.1]: https://github.com/jonaskello/tslint-immutable/compare/v3.3.0...v3.3.1
|
336 | [v3.3.0]: https://github.com/jonaskello/tslint-immutable/compare/v3.2.0...v3.3.0
|
337 | [v3.2.0]: https://github.com/jonaskello/tslint-immutable/compare/v3.1.2...v3.2.0
|
338 | [v3.1.2]: https://github.com/jonaskello/tslint-immutable/compare/v3.1.1...v3.1.2
|
339 | [v3.1.1]: https://github.com/jonaskello/tslint-immutable/compare/v3.1.0...v3.1.1
|
340 | [v3.1.0]: https://github.com/jonaskello/tslint-immutable/compare/v3.0.0...v3.1.0
|
341 | [v3.0.0]: https://github.com/jonaskello/tslint-immutable/compare/v2.1.1...v3.0.0
|
342 | [v2.1.2]: https://github.com/jonaskello/tslint-immutable/compare/v2.1.1...v2.1.2
|
343 | [v2.1.1]: https://github.com/jonaskello/tslint-immutable/compare/v2.1.0...v2.1.1
|
344 | [v2.1.0]: https://github.com/jonaskello/tslint-immutable/compare/v2.0.0...v2.1.0
|
345 | [v2.0.0]: https://github.com/jonaskello/tslint-immutable/compare/v1.0.0...v2.0.0
|