UNPKG

40.2 kBMarkdownView Raw
1Change Log
2===
3
4<!--
5
6v5.0.0
7---
8
9* **BREAKING CHANGES**
10 * The severity level is now configurable, and defaults to severity "error"
11 * The following formatters have change output:
12 - msbuildFormatter - default was "warning"; it is now "error"
13 - pmdFormatter - default was priority 1; it is now "error" (priority 3). If set to "warning", it will output priority 4
14* [enhancement] Enable WARN with new config file format (#629, #345)
15 * Valid values for `severity`: "error|warn|warning|none|off"
16 * Old style
17 * ```{
18 "extends": "tslint:latest",
19 "rules": {
20 "callable-types": true
21 }
22 }``
23 * New style, with `interface-name` generating warnings, and passing options to `max-line-length`
24 * ``` {
25 "extends": "tslint:latest",
26 "rules": {
27 "callable-types": true,
28 "interface-name": {
29 "severity": "warn"
30 },
31 "max-line-length": {
32 "options": 140,
33 "severity": "warning"
34 }
35 }
36 }``
37
38-->
39
40v4.5.1
41---
42
43- [enhancement] Updated recommended rules to include `ban-types` and `no-duplicate-super` (#2271)
44- [bugfix] `object-literal-key-quotes` handle negative number property name (#2273)
45
46v4.5.0
47---
48
49- [new-rule] `no-import-side-effect` (#2155)
50- [new-rule] `match-default-export-name` (#2117)
51- [new-rule] `no-non-null-assertion` (#2221)
52- [new-rule] `ban-types` (#2175)
53- [new-rule] `no-duplicate-super` (#2038)
54- [new-rule] `newline-before-return` (#2173)
55- [new-rule-option] `completed-docs` adds options for location, type, and privacy. Also adds interfaces, enums, types (#2095)
56- [new-rule-option] `no-inferrable-types` adds option `ignore-properties` (#2178)
57- [new-rule-option] `typedef` adds options `object-destructuring` and `array-destructuring` options (#2146)
58- [new-rule-option] `member-ordering` adds option `alphabetize` (#2101)
59- [new-rule-option] `no-trailing-whitespace` adds option `ignore-jsdoc` (#2177)
60- [new-rule-option] `no-trailing-whitespace` adds option `ignore-comments` option (#2153)
61- [new-fixer] `no-inferrable-types` automatically remove inferrable type annotations (#2178)
62- [new-fixer] `no-any` (#2165)
63- [new-fixer] `noConsecutiveBlankLines` (#2201)
64- [new-fixer] `object-literal-shorthand` (#2165)
65- [bugfix] `no-switch-case-fallthrough` handle break, throw, continue and return nested in block, if-else and switch (#2218)
66- [bugfix] `no-switch-case-fallthrough` allow empty case clauses before default clause (#2218)
67- [bugfix] `no-mergeable-namespace` ignore property types that can't be merged (#2105)
68- [bugfix] `object-literal-key-quotes` no need to quote a float if its .toString() is the same. (#2144)
69- [bugfix] `no-consecutive-blank-lines` Correctly apply fixes at EOF (#2239)
70- [bugfix]: Fixes installation issue with node 7.5 (#2212)
71- [bugfix]: `quotemark` now handles escaped chars (#2224)
72- [enhancement] Don't exit when a rule requires type checking but type checking is not enabled (#2188)
73- [enhancement] `no-switch-case-fallthrough` allow single line comment `// falls through` (#2218)
74- [enhancement] `no-unbound-method` allows property access and binary expressions (#2143)
75- [api] Introduce `AbstractWalker` for performance (#2093)
76 - see [performance] (https://palantir.github.io/tslint/develop/custom-rules/performance.html) and [migration] (https://palantir.github.io/tslint/develop/custom-rules/migration.html) docs
77
78Thanks to our contributors!
79
80- Andy Hanson
81- Stefan Reichel
82- Shlomi Assaf
83- Josh Goldberg
84- Minko Gechev
85- Irfan Hudda
86- Klaus Meinhardt
87- Martin Probst
88- Naoto Usuyama
89- Caleb Eggensperger
90- Arturs Vonda
91- Joscha Feth
92- Moritz
93- Alexander Rusakov
94- Alex Ryan
95- Andy
96- Yuichi Nukiyama
97
98v4.4.2
99---
100
101* [bugfix] `whitespace` rule caused false positive on EOF (#2131)
102* [bugfix] WebStorm fails because `json` formatter parameter has extra space (#2132)
103
104v4.4.1
105---
106
107* [bugfix] errant space in recommended ruleset (couldn't find `no-misused-new`)
108
109v4.4.0
110---
111
112* [new-rule] `arrow-return-shorthand` (#1972)
113* [new-rule] `no-unbound-method` (#2089)
114* [new-rule] `no-boolean-literal-compare` (#2013)
115* [new-rule] `no-unsafe-any` (#2047)
116* [new-rule] `no-unnecessary-qualifier` (#2008)
117* [new-rule] `no-unnecessary-initializer` (#2106)
118* [new-rule] `await-promise` (#2102)
119* [new-rule] `no-floating-promises` (#1632)
120* [new-rule] `strict-type-predicates` (#2046)
121* [new-rule] `no-misused-new` (#1963)
122* [new-rule] `prefer-method-signature` (#2028)
123* [new-rule] `prefer-function-over-method` (#2037)
124* [new-rule-option] `allow-fast-null-checks` added to `no-unused-expression` (#1638)
125* [new-rule-option] `comment-format-rule` adds `ignore-words` and `ignore-pattern` options (#1757)
126* [new-rule-option] `whitespace` adds `check-preblock` option (#2002)
127* [new-rule-option] `strict-boolean-expressions` adds `allow-null-union`, `allow-undefined-union`, `allow-string`, and `allow-number` and (#2033)
128* [new-fixer] `align` (#2097)
129* [new-fixer] `no-trailing-whitespace` (#2060)
130* [bugfix] `no-magic-numbers` false positive on default parameter values (#2004)
131* [bugfix] `no-empty-interface` allow empty interface with 2 or more parents (#2070)
132* [bugfix] `no-trailing-whitespace` fixed for comments and EOF (#2060)
133* [bugfix] `no-empty` no longer fails for private or protected constructor (#1976)
134* [bugfix] `tslint:disable`/`tslint-enable` now handles multiple rules and fixes what code is enabled/disabled (#2061)
135* [bugfix] `no-inferrable-types` now validates property declarations (#2081)
136* [bugfix] `unified-signatures` false positive (#2016)
137* [bugfix] `whitespace` finds all whitespace errors in JsxExpressions and TemplateExpressions (#2036)
138* [bugfix] `comment-format` no more false positives in JsxText (#2036)
139* [enhancement] `--test` option now accepts glob (#2079)
140
141Thanks to our contributors!
142
143* Alexander Rusakov
144* Andrii Dieiev
145* @andy-ms
146* Andy Hanson
147* Josh Goldberg
148* Kei Son
149* Klaus Meinhardt
150* Krati Ahuja
151* Martin Probst
152* Mohsen Azimi
153* Romke van der Meulen
154* cameron-mcateer
155
156v4.3.1
157---
158
159* [bugfix] Fix back-compat break. Allow formattersDirectory === null (#1997)
160
161v4.3.0
162---
163
164* **Enabled additional rules in `tslint:latest` configuration** (#1981)
165* [new-rule] `space-before-function-paren` (#1897)
166* [new-rule] `typeof-compare` (#1927)
167* [new-rule] `import-spacing` (#1935)
168* [new-rule] `unified-signatures` (#1944)
169* [new-fixer] `object-literal-key-quotes` (#1953)
170* [new-fixer] `no-angle-bracket-type-assertion` (#1979)
171* [bugfix] `adjacent-overload-signature` now handles static/computed function names (#1831)
172* [bugfix] `file-header` now handles files with only comments (#1913)
173* [bugfix] `no-consecutive-blank-lines` now allows blank lines in template strings (#1886)
174* [bugfix] `object-literal-key-quotes` no longer throws exception when using rest operator (#1916)
175* [bugfix] `restrict-plus-operands` no longer shows false positive in ternary operation (#1925)
176* [bugfix] `prefer-for-of` now handles nested `for` loops with reused iterator (#1926)
177* [bugfix] Exit gracefully when `tsconfig.json` passed as `--project` argument doens't have files (#1933)
178* [bugfix] `object-literal-key-quotes` now handles shorthand and spread properties (#1945)
179* [bugfix] `arrow-parens` Allow binding patterns `([x, y]) => ...` and `({x, y}) => ...` to have parens (#1958)
180* [bugfix] `semicolon` fixer now handles comma separator in interfaces and indicates failure when commas are using in interfaces (#1856)
181* [bugfix] `only-arrow-functions` option `allow-named-functions` now allows function declarations (#1961)
182* [bugfix] `prefer-for-of` no longer shows false positive when array is in parentheses (#1986)
183* [bugfix] `prefer-const` now works for TypeScript versions < 2.1.0 (#1989)
184* [enhancement] `member-access` narrow location of error (#1964)
185
186Thanks to our contributors!
187
188* Andrii Dieiev
189* @andy-ms
190* Andy Hanson
191* Josh Goldberg
192* Klaus Meinhardt
193* Linda_pp
194* Mohsen Azimi
195* Victor Grigoriu
196* Yuichi Nukiyama
197* cameron-mcateer
198
199v4.2.0
200---
201
202* [new-rule] `no-string-throw` (#1878)
203* [new-rule] `no-empty-interface` (#1889)
204* [new-rule] `interface-over-type-literal` (#1890)
205* [new-rule] `callable-types` (#1891)
206* [new-rule] `no-void-expression` (#1903)
207* [new-rule-option] `ban-single-arg-parens` added to `arrow-parens` (#1893)
208* [bugfix] `prefer-const` handles destructuring arrays (#1894), destructuring objects (#1906), and forward references (#1908)
209* [bugfix] Don't error for misplaced braces for 'else' in `one-line` rule (#1866)
210* [bugfix] `no-shadowed-variable` now identifies shadowed `for` iterator (#1816)
211* [bugfix] `object-literal-key-quotes` now includes function names (#1874)
212* [bugfix] error when EOF comes after `disable-next-line` comment (#1902)
213
214Thanks to our contributors!
215
216* Andrew Scott
217* @andy-ms
218* Andy Hanson
219* James Booth
220* Klaus Meinhardt
221* Vladimir Matveev
222
223v4.1.1
224---
225
226* [bugfix] `typedef` rule was showing false positive for `catch` clause (#1887)
227
228v4.1.0
229---
230
231* [new-rule] `prefer-const` (#1801)
232* [new-rule] `strict-boolean-expressions` (#1820)
233* [new-rule] `no-magic-numbers` (#1799)
234* [new-rule] `import-blacklist` (#1841)
235* [new-rule] `promise-functions-async` (#1779)
236* [new-rule] `no-inferred-empty-object-type`: a type must be specified when using a generic class/function/etc (#1821)
237* [new-rule-option] `allow-named-functions` added to `only-arrow-functions` (#1857)
238* [new-fixer] `prefer-const` (#1801)
239* [new-fixer] `quotemark` (#1790)
240* [new-formatter] `code-frame` formatter shows you the error in context (#1819)
241* [enhancement] `no-internal-module` failures highlight less text (#1781)
242* [enhancement] Avoid auto-fixing errors that would result in compilation errors for rules that use type-check (#1608)
243* [rule-change] `only-arrow-functions` will allow functions with a `this` parameter (#1597)
244* [bugfix] `no-use-before-declare` false positive on named import (#1620)
245* [bugfix] `prefer-for-of` was showing false positive when the element is assigned (#1813)
246* [bugfix] The command line argument `type-check` was swallowing the next argument (#1783)
247* [bugfix] `tslint:disable-line` was re-enabling `tslint:disable` (#1634)
248* [bugfix] `adjacent-overload-signatures` did not work for constructors (#1800)
249* [bugfix] `checkstyle` formatter was reporting errors under one file (#1811)
250* [bugfix] `trailing-comma` was applied to parameter lists (#1775)
251* [api] CLI logic moved into API friendly class (#1688)
252
253Thanks to our contributors!
254
255* Alex Eagle
256* Andrii Dieiev
257* Andy Hanson
258* Art Chaidarun
259* Donald Pipowitch
260* Feisal Ahmad
261* Josh Goldberg
262* Klaus Meinhardt
263* Maciej Sypień
264* Mohsen Azimi
265* Ryan Lester
266* Simon Schick
267* Subhash Sharma
268* Timothy Slatcher
269* Yaroslav Admin
270* Yuichi Nukiyama
271* tdsmithATabc
272* @wmrowan
273
274v4.0.2
275---
276
277* [enhancement] Don't exit when a rule can't be found. Print as a warning instead (#1771)
278* [api-change] Allow 3rd party apps to see exception when the config is invalid (#1764)
279* [bugfix] Don't flag a property named as empty string as not needing quotes in an object literal (#1762)
280* [bugfix] Report correct number of fixes done by --fix (#1767)
281* [bugfix] Fix false positives and exceptions in `prefer-for-of` (#1758)
282* [bugfix] Fix `adjacent-overload-signatures` false positive when a static function has the same name (#1772)
283
284Thanks to our contributors!
285* @gustavderdrache
286
287v4.0.1
288---
289
290* [bugfix] Removed `no-unused-variable` rule from recommended config, as it was causing spurious deprecation warnings.
291
292v4.0.0-dev.2
293---
294
295* Include latest v4.0.0 changes
296
297v4.0.0
298---
299
300* **BREAKING CHANGES**
301 * [api-change] Minor changes to the library API. See this PR for changes and upgrade instructions (#1720)
302 * [removed-rule] Removed `no-unreachable` rule; covered by compiler (#661)
303 * [enhancement] Changed order of applied configuration files for the `extends` array to make it more intuitive. (#1503)
304 * [enhancement] Changed TypeScript peer dependency to >= 2.0.0 (#1710)
305* [new-rule] `completed-docs` rule added (#1644)
306* [new-fixer] `ordered-imports` auto fixed (#1640)
307* [new-fixer] `arrow-parens` auto fixed (#1731)
308* [rule-change] `indent` rule now ignores template strings (#1611)
309* [new-rule-option] `object-literal-key-quotes` adds the options `consistent` and `consistent-as-needed` (#1733)
310* [enhancement] `--fix` option added to automatically fix selected rules (#1697)
311* [enhancement] Updated recommend rules (#1717)
312* [enhancement] `adjacent-overload-signatures` now works with classes, source files, modules, and namespaces (#1707)
313* [enhancement] Users are notified if they are using an old TSLint version (#1696)
314* [bugfix] Lint `.jsx` files if `jsRules` are configured (#1714)
315* [bugfix] Command line glob patterns now handle single quotes (#1679)
316
317Thanks to our contributors!
318* Andrii Dieiev
319* Andy
320* Chris Barr
321* Davie Schoots
322* Jordan Hawker
323* Josh Goldberg
324* Stepan Riha
325* Yuichi Nukiyama
326
327v4.0.0-dev.1
328---
329
330* **BREAKING CHANGES**
331 * [enhancement] The `semicolon` rule now disallows semicolons in multi-line bound class methods
332 (to get the v3 behavior, use the `ignore-bound-class-methods` option) (#1643)
333 * [removed-rule] Removed `use-strict` rule (#678)
334 * [removed-rule] Removed `label-undefined` rule; covered by compiler (#1614)
335 * [enhancement] Renamed `no-constructor-vars` to `no-parameter-properties` (#1296)
336 * [rule-change] The `orderedImports` rule now sorts relative modules below non-relative modules (#1640)
337* **Deprecated**
338 * [deprecated] `no-unused-variable` rule. This is checked by the TypeScript v2 compiler using the flags [`--noUnusedParameters` and `--noUnusedLocals`](https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#flag-unused-declarations-with---nounusedparameters-and---nounusedlocals). (#1481)
339* [enhancement] Lint .js files (#1515)
340* [new-fixer] `no-var-keyword` replaces `var` with `let` (#1547)
341* [new-fixer] `trailing-comma` auto fixed (#1546)
342* [new-fixer] `no-unused-variable` auto fixed for imports (#1568)
343* [new-fixer] `semicolon` auto fixed (#1423)
344* [new-rule] `max-classes-per-file` rule added (#1666)
345* [new-rule-option] `no-consecutive-blank-lines` rule now accepts a number value indicating max blank lines (#1650)
346* [new-rule-option] `ordered-imports` rule option `import-sources-order` accepts value `any` (#1602)
347* [bugfix] `no-empty` rule fixed when parameter has readonly modifier
348* [bugfix] `no-namespace` rule: do not flag nested or .d.ts namespaces (#1571)
349
350Thanks to our contributors!
351
352* Alex Eagle
353* Andrii Dieiev
354* Ben Coveney
355* Boris Aranovich
356* Chris Barr
357* Cyril Gandon
358* Evgeniy Zhukovskiy
359* Jay Anslow
360* Kunal Marwaha
361* Martin Probst
362* Mingye Wang
363* Raghav Katyal
364* Sean Dawson
365* Yuichi Nukiyama
366* jakpaw
367
368v4.0.0-dev.0
369---
370
371* **BREAKING CHANGES**
372 * [enhancement] Drop support for configuration via package.json (#1579)
373 * [removed-rule] Removed `no-duplicate-key` rule; covered by compiler (#1109)
374 * [enhancement] Call formatter once for all file results. Format output may be different (#656)
375 * [rule-change] `trailing-comma` supports function declarations, expressions, and types (#1486)
376 * [rule-change] `object-literal-sort-keys` now sorts quoted keys (#1529)
377 * [rule-change] `semicolon` now processes type aliases (#1475)
378 * [rule-change] `no-var-keyword` now rejects `export var` statements (#1256)
379 * [rule-change] `semicolon` now requires semicolon for function declaration with no body (#1447)
380* [new-formatter] `fileslist` formatter writes a list of files with errors without position or error type specifics (#1558)
381* [new-rule] `cyclomaticComplexity`, enforces a threshold of cyclomatic complexity.] (#1464)
382* [new-rule] `prefer-for-of`, which errors when `for(var x of y)` can be used instead of `for(var i = 0; i < y.length; i++)` (#1335)
383* [new-rule] `array-type`, which can require using either `T[]' or 'Array<T>' for arrays (#1498)
384* [rule-change] `object-literal-sort-keys` checks multiline objects only (#1642)
385* [rule-change] `ban` rule now can ban global functions (#327)
386* [bugfix] always write lint result, even if using formatter (#1353)
387* [bugfix] npm run test:bin fails on Windows (#1635)
388* [bugfix] Don't enforce trailing spaces on newlines in typedef-whitespace rule (#1531)
389* [bugfix] `jsdoc` rule should not match arbitrary comments (#1543)
390* [bugfix] `one-line` rule errors when declaring wildcard ambient modules (#1425)
391
392Thanks to our contributors!
393
394* Alex Eagle
395* Andrii Dieiev
396* Andy Hanson
397* Ben Coveney
398* Boris Aranovich
399* Chris Barr
400* Christian Dreher
401* Claas Augner
402* Josh Goldberg
403* Martin Probst
404* Mike Deverell
405* Nina Hartmann
406* Satoshi Amemiya
407* Scott Wu
408* Steve Van Opstal
409* Umar Bolatov
410* Vladimir Matveev
411* Yui
412
413v3.15.1
414---
415
416* Enabled additional rules in `tslint:latest` configuration (#1506)
417
418v3.15.0
419---
420
421* Stable release containing changes from the last dev release (v3.15.0-dev.0)
422
423v3.15.0-dev.0
424---
425
426* [enhancement] Rules can automatically fix errors (#1423)
427* [enhancement] Better error messages for invalid source files (#1480)
428* [new-rule] `adjacent-overload-signatures` rule (#1426)
429* [new-rule] `file-header` rule (#1441)
430* [new-rule] `object-literal-shorthand` rule (#1488)
431* [new-rule-option] `allow-declarations` option for `only-arrow-functions` rule (#1452)
432* [new-rule-option] `import-sources-order` option for `ordered-imports` rule (#1466)
433* [bugfix] `arrow-parens` rule handles async and generics (#1446, #1479)
434* [bugfix] `comment-format` rule ignores tslint control comments (#1473)
435* [bugfix] Fix `no-shadowed-variable` rule false positives (#1482)
436
437Thanks to our contributors!
438* @apacala
439* @danvk
440* @DovydasNavickas
441* @glen-84
442* @IllusionMH
443* @JoshuaKGoldberg
444* @markwongsk
445* @rakatyal
446* @rhysd
447* @ScottSWu
448* @YuichiNukiyama
449
450v3.14.0
451---
452
453* Stable release containing changes from the last dev releases (v3.14.0-dev.0, v3.14.0-dev.1)
454
455v3.14.0-dev.1
456---
457
458* [new-rule] `arrow-parens` rule (#777)
459* [new-rule] `max-file-line-count` rule (#1360)
460* [new-rule] `no-unsafe-finally` rule (#1349)
461* [new-rule] `no-for-in-array` rule (#1380)
462* [new-rule] `object-literal-key-quotes` rule (#1364)
463* [enhancement] Better `ban` rule failure messages (#1385)
464* [enhancement] New stylish formatter (#1406)
465
466Thanks to our contributors!
467* @chrismbarr
468* @danvk
469* @gjuchault
470* @lowkay
471* @ScottSWu
472* @YuichiNukiyama
473
474v3.14.0-dev.0
475---
476
477* [enhancement] Add optional type information to rules (#1323)
478
479Thanks to our contributors!
480* @ScottSWu
481
482v3.13.0
483---
484
485* Stable release containing changes from the last dev release (v3.13.0-dev.0)
486
487v3.13.0-dev.0
488---
489
490* [new-rule] `ordered-imports` rule (#1325)
491* [enhancement] MPEG transport stream files are ignored by the CLI (#1357)
492
493Thanks to our contributors!
494* @chrismbarr
495* @corydeppen
496* @danvk
497* @janaagaard75
498* @mprobst
499
500v3.12.0-dev.2
501---
502
503* [enhancement] Support TypeScript v2.0.0-dev builds
504
505v3.12.1
506---
507
508* Stable release containing changes from the last dev release (v3.12.0-dev.1)
509
510v3.12.0-dev.1
511---
512
513* [bugfix] Fix null reference bug in typedef rule (#1345)
514
515v3.12.0
516---
517
518* Stable release containing changes from the last dev release (v3.12.0-dev.0)
519
520v3.12.0-dev.0
521---
522
523* [new-rule] `only-arrow-functions` rule (#1318)
524* [new-rule] `no-unused-new` rule (#1316)
525* [new-rule-option] `arrow-call-signature` option for `typedef` rule (#1284)
526* [enhancement] Metadata for every rule (#1311)
527* [enhancement] `typedef` rule is more flexible about the location of typedefs for arrow functions (#1176)
528* [enhancement] Failure messages are clearer and more consistent for many rules (#1303, #1307, #1309)
529* [bugfix] `no-consecutive-blank-lines` now handles lines with only whitespace correctly (#1249)
530* [bugfix] Correctly load `.json` config files that have a BOM (#1338)
531
532Thanks to our contributors!
533* @allannienhuis
534* @arnaudvalle
535* @bencoveney
536* @chrismbarr
537* @corydeppen
538* @HamletDRC
539* @JoshuaKGoldberg
540* @timbrown81
541* @tomduncalf
542* @YuichiNukiyama
543
544v3.11.0
545---
546
547* Stable release containing changes from the last dev release (v3.11.0-dev.0)
548
549v3.11.0-dev.0
550---
551
552* [new-rule] `linebreak-style` rule (#123)
553* [new-rule] `no-mergeable-namespace` rule (#843)
554* [enhancement] Add built-in configurations (#1261)
555* [enhancement] New vso formatter (#1281)
556* [new-rule-option] `ignore-interfaces` option for `semicolon` rule (#1233)
557* [bugfix] `no-default-export` rule handles more default export cases (#1241)
558
559Thanks to our contributors!
560* @cgwrench
561* @HamletDRC
562* @lijunle
563* @paldepind
564* @patsissons
565* @schmuli
566* @YuichiNukiyama
567
568v3.10.2
569---
570
571* Stable release containing changes from the last dev release (v3.10.0-dev.2)
572
573v3.10.0-dev.2
574---
575
576* [bugfix] `member-ordering` rule doesn't crash on methods in class expressions (#1252)
577* [bugfix] `ban` rule handles chained methods appropriately (#1234)
578
579Thanks to our contributors!
580* @marines
581
582v3.10.1
583---
584
585* Stable release containing changes from the last dev release (v3.10.0-dev.1)
586
587v3.10.0-dev.1
588---
589
590* [bugfix] `member-ordering` rule doesn't crash on methods in object literals (#1243)
591
592v3.10.0
593---
594
595* Stable release containing changes from the last dev release (v3.10.0-dev.0)
596
597v3.10.0-dev.0
598---
599
600* [new-rule] `new-parens` rule (#1177)
601* [new-rule] `no-default-export` rule (#1182)
602* [new-rule-option] `order: ...` option for `member-ordering` rule (#1208)
603* [new-rule-option] "ignore-for-loop" option for `one-variable-per-declaration` rule (#1204)
604* [enhancement] "no-this-in-function-in-method" option renamed to "check-function-in-method" (#1203)
605* [bugfix] `semicolon` rule checks export statements (#1155)
606
607Thanks to our contributors!
608* @chrismbarr
609* @HamletDRC
610* @larshp
611* @patsissons
612* @YuichiNukiyama
613
614v3.9.0
615---
616
617* Stable release containing changes from the last dev release (v3.9.0-dev.0)
618
619v3.9.0-dev.0
620---
621
622* [new-rule] `no-namespace` rule (#1133)
623* [new-rule] `one-variable-per-declaration` rule (#525)
624* [new-rule-option] "ignore-params" option for `no-inferrable-types` rule (#1190)
625* [new-rule-option] "no-this-in-function-in-method" option for `no-invalid-this` rule (#1179)
626* [enhancement] Single line enable/disable comments (#144)
627* [enhancement] Resolve `extends` packages relative to location of configuration file (#1171)
628* [enhancement] `Linter` class will throw an error if configuration is of an invalid type (#1167)
629* [bugfix] `use-isnan` allows assaignments to `NaN` (#1054)
630* [bugfix] `no-unreachable` handles allows hoisted type aliases (#564)
631* [bugfix] `member-ordering` rule now checks constructors (#1158)
632* [bugfix] `--test` CLI command works correctly with specifiying custom rules (#1195)
633
634Thanks to our contributors!
635* @abierbaum
636* @HamletDRC
637* @inthemill
638* @janslow
639* @JoshuaKGoldberg
640* @mprobst
641* @patsissions
642* @YuichiNukiyama
643
644v3.8.1
645---
646
647* Stable release containing changes from the last dev release (v3.8.0-dev.1)
648
649v3.8.0-dev.1
650---
651
652* [bugfix] Allow JS directives at the start of constructors, getters, and setters (#1159)
653* [bugfix] Remove accidentally included performance profiles from published NPM artifact (#1160)
654
655v3.8.0
656---
657
658* Stable release containing changes from the last dev release (v3.8.0-dev.0)
659
660v3.8.0-dev.0
661---
662
663* [new-rule] `no-invalid-this` rule (#1105)
664* [new-rule] `use-isnan` rule (#1054)
665* [new-rule] `no-reference` rule (#1139)
666* [new-rule-option] "allow-pascal-case" option for `variable-name` rule (#1079)
667* [enhancement] Comments now allowed in `tslint.json` files (#1129)
668* [enhancement] Smarter `trailing-comma` behavior (#1122)
669* [enhancement] `semicolon` rule more lenient with arrow-function class members (#1076)
670* [enhancement] Allow enabling/disabling rules with `//` comments (#1134)
671* [enhancement] New checkstyle formatter (#250)
672* [enhancement] Clearer message for `no-var-keyword` rule (#1124)
673* [bugfix] Loaded configurations are not cached (#1128)
674* [bugfix] Allow JS directives at the start of class methods (#1144)
675
676Thanks to our contributors!
677* @AndyMoreland
678* @chrismbarr
679* @HamletDRC
680* @JoshuaKGoldberg
681* @sshev
682* @unional
683
684v3.7.4
685---
686
687* Stable release containing changes from the last dev release (v3.7.0-dev.5)
688
689v3.7.0-dev.5
690---
691
692* [bugfix] Allow JS directives in namespaces (#1115)
693
694v3.7.3
695---
696
697* Stable release containing changes from the last dev release (v3.7.0-dev.4)
698
699v3.7.0-dev.4
700---
701
702* [bugfix] Downgrade `findup-sync` dependency (#1108)
703
704v3.7.2
705---
706
707* Stable release containing changes from the last dev release (v3.7.0-dev.3)
708
709v3.7.0-dev.3
710---
711
712* [bugfix] `findConfigurationPath` always returns an absolute path (#1093)
713* [bugfix] Update `findup-sync` dependency (#1080)
714* [bugfix] `declare global` no longer triggers `no-internal-module` rule (#1069)
715* [bugfix] Valid JS directives no longer trigger `no-unused-expression` rule (#1050)
716
717v3.7.1
718---
719* Stable release containing changes from the last dev release
720
721v3.7.0-dev.2
722---
723
724* [bugfix] Improve handling of paths provided via the -c CLI option (#1083)
725
726v3.7.0
727---
728
729* Stable release containing changes from the last dev release
730
731v3.7.0-dev.1
732---
733
734* [enhancement] `extends` field for `tslint.json` files (#997)
735* [enhancement] `--force` CLI option (#1059)
736* [enhancement] Improve how `Linter` class handles configurations with a `rulesDirectory` field (#1035)
737* [new-rule] `no-angle-bracket-type-assertion` rule (#639)
738* [new-rule-option] "allow-undefined-check" option for `triple-equals` rule (#602)
739* [new-rule-option] "always-prefix" and "never-prefix" option for `interface-name` rule (#512)
740
741Thanks to our contributors!
742* @Arnavion
743* @chrismbarr
744* @ChrisPearce
745* @JoshuaKGoldberg
746* @patsissonso
747* @sasidhar
748* @unional
749* @vvakame
750
751v3.6.0
752---
753
754* Stable release containing changes from the last dev release
755
756v3.6.0-dev.1
757---
758
759* [enhancement] Add `--exclude` CLI option (#915)
760* [bugfix] Fix `no-shadowed-variable` rule handling of standalone blocks (#1021)
761* [deprecation] Configuration through `package.json` files (#1020)
762* [API] Export additional configuration methods from top-level "tslint" module (#1009)
763
764Thanks to our contributors!
765* @blakeembrey
766* @hamhut1066
767* @meowtec
768
769v3.5.0
770---
771
772* Stable release containing changes from the last dev release
773
774v3.5.0-dev.1
775---
776
777* [new-rule-option] "ignore-pattern" option for `no-unused-variable` rule (#314)
778* [bugfix] Fix occassional crash in `no-string-literal` rule (#906)
779* [enhancement] Tweak behavior of `member-ordering` rule with regards to arrow function types in interfaces (#226)
780
781Thanks to our contributors!
782* @arusakov
783* @Pajn
784
785v3.4.0
786---
787
788* Stable release containing changes from the last two dev releases
789
790v3.4.0-dev.2
791---
792
793* [new-rule-option] "arrow-parameter" option for `typedef` rule (#333)
794* [new-rule-option] "never" option for `semicolon` rule (#363)
795* [new-rule-option] "onespace" setting for `typedef-whitespace` rule (#888)
796* [new-rule-option] `typedef-whitespace` rule can now check spacing on right side of typdef colon (#888)
797* [enhancement] `member-ordering` rule treats arrow functions as methods (#226)
798* [bugfix] Handle spaces before typedefs correctly in `typedef-whitespace` rule (#955)
799* [bugfix] `label-position` rule now allows labels on `for-of` loops (#959)
800
801Thanks to our contributors!
802* @b0r3as
803* @ChaseMoskal
804* @Pajn
805* @pe8ter
806* @tomduncalf
807
808v3.4.0-dev.1
809---
810
811* [enhancement] Revamped testing system (#620)
812 * Writing tests for rules is now much simpler with a linter DSL.
813 See exisitng tests in `test/rules/**/*.ts.lint` for examples.
814* [enhancement] New msbuild formatter (#947)
815* [bugfix] Fix handling of multiline literals in `trailing-comma` rule (#856)
816* [bugfix] `one-line` rule correctly checks space between `catch` and opening brace (#925)
817* [bugfix] `one-line` rule correctly checks multiline variable declarations (#935)
818* [new-rule-option] New option `check-finally` for `one-line` rule (#925)
819* __BREAKING CHANGES__
820 * [bugfix] Report error when a rule in the config file is not found (#598)
821
822Thanks to our contributors!
823* @mmv
824* @pe8ter
825
826v3.3.0
827---
828
829* [bugfix] Tweak TSLint build so TSLint works with typescript@next (#926)
830
831v3.3.0-dev.1
832---
833
834* [bugfix] Correctly handle more than one custom rules directory (#928)
835
836v3.2.2
837---
838
839* Stable release containing changes from the last dev release
840
841v3.2.2-dev.1
842---
843
844* [enhancement] Throw an error if a path to a directory of custom rules is invalid (#910)
845* [new-rule-option] "jsx-single" and "jsx-double" options for `quotemark` rule (#673)
846* [bugfix] Handle paths to directories of custom rules more accurately
847* [bugfix] `no-unused-expression` rule handles `await` statements correctly (#887)
848
849v3.2.1
850---
851
852* Stable release containing changes from the last dev release
853
854v3.2.1-dev.1
855---
856
857* [enhancement] automatically generate a `tslint.json` file with new `--init` CLI command (#717)
858* [bugfix] `no-var-keyword` rule detects the use of `var` in all types of `for` loops (#855)
859
860v3.2.0
861---
862
863* Stable release containing changes from last two dev releases
864
865v3.2.0-dev.2
866---
867
868* [bugfix] formatters are now exported correctly to work with TS 1.8 (#863)
869
870v3.2.0-dev.1
871---
872
873* [bugfix] fixed bug in how custom rules directories are registered (#844)
874* [enhancement] better support for globs in CLI (#827)
875* [new-rule] `no-null-keyword` rule (#722)
876
877v3.1.1
878---
879
880* Bump TypeScript peer dependency to `>= 1.7.3` due to `const enum` incompatibility (#832)
881
882v3.1.0
883---
884
885* [bugfix] build with TS v1.7.3 to fix null pointer exception (#832)
886* [bugfix] fixed false positive in `no-require-imports` rule (#816)
887
888v3.1.0-dev.1
889---
890
891* [bugfix] fixed `no-shadowed-variable` false positives when handling destructuring in function params (#727)
892* [enhancement] `rulesDirectory` in `tslint.json` now supports multiple file paths (#795)
893
894v3.0.0
895---
896
897* [bugfix] `member-access` rule now handles object literals and get/set accessors properly (#801)
898 * New rule options: `check-accessor` and `check-constructor`
899* All the changes from the following releases, including some **breaking changes**:
900 * `3.0.0-dev.3`
901 * `3.0.0-dev.2`
902 * `3.0.0-dev.1`
903 * `2.6.0-dev.2`
904 * `2.6.0-dev.1`
905
906v3.0.0-dev.3
907---
908
909* TypeScript is now a peerDependency (#791)
910* [bugfix] `no-unused-variable` rule with `react` option works with self-closing JSX tags (#776)
911* [bugfix] `use-strict` bugfix (#544)
912
913v3.0.0-dev.2
914---
915
916* [new-rule-option] "react" option for `no-unused-variable` rule (#698, #725)
917* [bugfix] Fix how `Linter` is exported from "tslint" module (#760)
918* [bugfix] `no-use-before-declare` rule doesn't crash on uncompilable code (#763)
919
920v3.0.0-dev.1
921---
922
923* **BREAKING CHANGES**
924 * Rearchitect TSLint to use external modules instead of merged namespaces (#726)
925 * Dependencies need to be handled differently now by custom rules and formatters
926 * See the [PR](https://github.com/palantir/tslint/pull/726) for full details about this change
927 * `no-trailing-comma` rule removed, it is replaced by the `trailing-comma` rule (#687)
928 * Rename `sort-object-literal-keys` rule to `object-literal-sort-keys` (#304, #537)
929 * `Lint.abstract()` has been removed (#700)
930* [new-rule] `trailing-comma` rule (#557, #687)
931* [new-rule-option] "ban-keywords" option for `variable-name` rule (#735, #748)
932* [bugfix] `typedef` rule now handles `for-of` loops correctly (#743)
933* [bugfix] Handle tslint.json utf-8 files which have a BOM correctly (#90)
934
935v2.6.0-dev.2
936---
937
938* Upgrade TypeScript compiler to `v1.7.0-dev.20151003`
939* [bugfix] `no-unused-expression` rule now handles yield expressions properly (#706)
940
941v2.6.0-dev.1
942---
943
944* Upgrade TypeScript compiler to `v1.7.0-dev.20150924`
945
946v2.5.1
947---
948
949* [new-rule] no-inferrable-types rule (#676)
950* [new-rule-option] "avoid-escape" option for quotemark rule (#543)
951* [bugfix] type declaration for tslint external module #686
952* [enhancement] `AbstractRule` and `AbstractFormatter` are now abstract classes (#631)
953 * Note: `Lint.abstract()` is now deprecated
954
955v2.5.0
956---
957
958* Use TypeScript compiler `v1.6.2`
959* [bugfixes] #637, #642, #650, #652
960* [bugfixes] fix various false positives in `no-unused-variable` rule (#570, #613, #663)
961* Update project setup for latest VSCode (#662)
962
963v2.5.0-beta
964---
965
966* Use TypeScript compiler `v1.6.0-beta`
967* [bugfix] Fix `no-internal-module` false positives on nested namespaces (#600)
968* [docs] Add documentation for `sort-object-literal-keys` rule
969
970v2.5.0-dev.5
971---
972
973* Upgrade TypeScript compiler to `v1.7.0-dev.20150828`
974* [bugfix] Handle .tsx files appropriately (#597, #558)
975
976v2.5.0-dev.4
977---
978
979* Upgrade TypeScript compiler to `v1.6.0-dev.20150825`
980
981v2.5.0-dev.3
982---
983
984* Upgrade TypeScript compiler to `v1.6.0-dev.20150821`
985
986v2.5.0-dev.2
987---
988
989* Upgrade TypeScript compiler to `v1.6.0-dev.20150811`
990* [bug] fix `whitespace` false positive in JSX elements (#559)
991
992v2.5.0-dev.1
993---
994
995* Upgrade TypeScript compiler to `v1.6.0-dev.20150805`
996* [enhancement] Support `.tsx` syntax (#490)
997
998v2.4.5
999---
1000
1001* [bugfix] fix false positives on `no-shadowed-variable` rule (#500)
1002* [enhancement] add `allow-trailing-underscore` option to `variable-name` rule
1003
1004v2.4.4
1005---
1006
1007* [bugfix] remove "typescript" block from package.json (#606)
1008
1009v2.4.3
1010---
1011
1012* [new-rule] `no-conditional-assignment` (#507)
1013* [new-rule] `member-access` (#552)
1014* [new-rule] `no-internal-module` (#513)
1015* [bugfix] small fixes to `sample.tslint.json` (#545)
1016* [bugfix] fix README docs for quotemark and indent (#523)
1017* [enhancement] update `findup-sync` and `underscore.string` dependencies
1018* [enhancement] add `"typescript"` field to `package.json` (#560)
1019* [enhancement] small improvements to CLI help text
1020* [enhancement] expose raw failures array in the JS API (#477)
1021
1022v2.4.2
1023---
1024
1025* [bug] remove npm-shrinkwrap.json from the published package
1026
1027v2.4.0
1028---
1029
1030* Upgraded Typescript compiler to 1.5.3
1031* [bugs] #332, #493, #509, #483
1032* [bug] fix error message in `no-var-keyword` rule
1033* [enhancement] CI tests are now run on node v0.12 in addition to v0.10
1034* **BREAKING**
1035 * `-f` option removed from CLI
1036
1037v2.3.1-beta
1038---
1039
1040* [bugs] #137 #434 #451 #456
1041* [new-rule] `no-require-imports` disallows `require()` style imports
1042* [new-rule] `no-shadowed-variable` moves over shadowed variable checking from `no-duplicate-variable` into its own rule
1043* **BREAKING**
1044 * `no-duplicate-variable` now only checks for duplicates within the same block scope; enable `no-shadowed-variable` to get duplicate-variable checking across block scopes
1045* [enhancement] `no-duplicate-variable`, `no-shadowed-variable`, and `no-use-before-declare` now support ES6 destructuring
1046* [enhancement] tslint CLI now uses a default configuration if no config file is found
1047
1048v2.3.0-beta
1049---
1050
1051* [bugs] #401 #367 #324 #352
1052* [new-rule] `no-var-keyword` disallows `var` in favor of `let` and `const`
1053* [new-rule] `sort-object-literal-keys` forces object-literal keys to be sorted alphabetically
1054* Add support for ES6 destructuring and module syntax (affects `variable-name`, `no-use-before-declare`, `whitespace` and `no-unused-variable`)
1055* Add support for ES6 for-of and spread operator syntax
1056* Use tsconfig.json & JSCS in the build system
1057
1058v2.2.0-beta
1059---
1060
1061* Upgraded Typescript compiler to 1.5.0-beta
1062* **BREAKING CHANGES**
1063 * due to changes to the typescript compiler API, old custom rules may no longer work and may need to be rewritten
1064 * the JSON formatter's line and character positions are now back to being 0-indexed instead of 1-indexed
1065* [bugs] #328 #334 #319 #351 #365 #254
1066* [bug] fixes for tslint behavior around template strings (fixes #357, #349, #332, and more)
1067* [new-rule] `align` rule now enforces vertical alignment on parameters, arguments, and statements
1068* [new-rule] `switch-default` enforces a `default` case in `switch` statements
1069* [feature] `no-duplicate-variable` rule now additionally checks if function parameters have been shadowed
1070* Additional fixes to existing rules to work as before with the typescript 1.5 compiler
1071
1072v2.1.1
1073---
1074
1075* [bugs] #292 #293 #295 #301 #302
1076* Some internal refactoring
1077* Added Windows CI testing (appveyor)
1078
1079v2.1.0
1080---
1081
1082* Fix crash on Windows
1083
1084v2.0.1
1085---
1086
1087* Upgraded Typescript compiler to 1.4
1088* **BREAKING CHANGES**
1089 * typedef rule options were modified:
1090 * index-signature removed as no longer necessary
1091 * property-signature renamed to property-declaration
1092 * variable-declarator renamed to variable-declaration
1093 * member-variable-declarator renamed to member-variable-declaration
1094 * typedef-whitespace rule options were modified:
1095 * catch-clause was removed as invalid
1096 * further options were added, see readme for more details
1097 * due to changes to the typescript compiler API, old custom rules may no longer work and may need to be rewritten
1098 * the JSON formatter's line and character positions are now 1-indexed instead of 0-indexed
1099
1100v1.2.0
1101---
1102
1103* [bug] #245
1104
1105v1.0.1
1106---
1107
1108* [bug] #238
1109
1110v1.0.0
1111---
1112
1113* upgrade TypeScript compiler to 1.3
1114* **BREAKING CHANGES**
1115 * all error messages now start with a lower-case character and do not end with a period
1116 * all rule options are consistent in nomenclature. The `typedef` and `typedef-whitespace` rules now take in hyphenated options
1117 * `unused-variables` rule cannot find unused private variables defined in the constructor due to a bug in 1.3 compiler
1118 * `indent` rule has changed to only check for tabs or spaces and not enforce indentation levels
1119
1120v0.4.12
1121---
1122
1123* multiple files with -f on cli
1124* config file search starts with input file
1125
1126v0.4.11
1127---
1128
1129* [bugs] #136, #163
1130* internal refactors
1131
1132v0.4.10
1133---
1134
1135* [bugs] #138, #145, #146, #148
1136
1137v0.4.9
1138---
1139
1140* [new-rule] `no-any` disallows all uses of `any`
1141* [bug] `/* tslint:disable */` now disables semicolon rule as well
1142* [bug] delete operator no longer results in a false positive for `no-unused-expression`
1143
1144v0.4.8
1145---
1146
1147* [new-rule] `no-var-requires` disallows require statements not part of an import statement
1148* [new-rule] `typedef` rule also checks for member variables
1149* [bug] `no-unused-variable` no longer triggers false positives for class members labeled only `static`
1150* [bug] `no-unused-expression` no longer triggers false positives for `"use strict";` expressions
1151* [bug] `use-strict` works correctly on function declarations
1152* [bug] config file is now discoverable from other drives on Windows
1153
1154v0.4.7
1155---
1156
1157* [new-rule] added `no-unused-expression` rule which disallows unused expression statements
1158* [feature] the `check-operator` option for the `whitespace` rule now checks whitespace around the => token
1159* [bug] `no-use-before-declare-rule` no longer triggers false positives for member variables of classes used before the class is declared
1160* [bug] semicolon at end of file no longer triggers false positives for `whitespace` rule
1161* [bug] hoisted functions no longer cause false positives for the `no-unreachable` rule
1162* [bug] the rule loader no longer transforms/ignores the leading and trailing underscores and dashes of rule names in the config file
1163* [bug] `export import` statements no longer false positives for `no-unused-variable-rule`
1164* [docs] added documentation for creating custom rules and formatters
1165* [docs] added sample `tslint.json` file, under `docs/sample.tslint.json`
1166
1167v0.4.6
1168---
1169
1170* [build] migrated build to use `grunt-ts` instead of `grunt-typescript`
1171* [feature] `package.json` now contains a `tslintConfig` paramater to allow users to specify the location of the configuration file there
1172* [feature] tslint now searches for the configuration file in the user's home directory if not found in the current path
1173* [bug] unbraced conditionals no longer cause false positives for the `no-unreachable` rule
1174
1175v0.4.5
1176---
1177
1178* [feature] `no-unused-variable` no longer checks parameters by defualt. Parameters are now only checked if the `check-parameters` option is set.
1179* [bug] `no-unused-variable` parameter check no longer fails on variable argument parameters (like ...args) and on cases where the parameters are broken up by newlines.
1180
1181v0.4.4
1182---
1183
1184* [bug] `no-unused-variable` validates function parameters and constructor methods
1185* [bug] `no-empty` and `no-trailing-comma` rules handle empty objects
1186
1187v0.4.3
1188---
1189
1190* [new-rule] `no-unused-variable`
1191* [new-rule] `no-trailing-comma`
1192* [new-rule] `no-use-before-declare`
1193* [feature] support `--version` in CLI
1194* [feature] expose rule names to custom formatters
1195* [feature] add `verbose` formatter
1196* [bug] `no-empty` allows constructors with member declaration parameters
1197* [bug] CLI supports `--help`
1198* [bug] `max-line-length` allows CRLF endings