|
1 | 1 | Change Log
|
2 | 2 | ===
|
3 | 3 |
|
| 4 | +v5.9.0 |
| 5 | +--- |
| 6 | + |
| 7 | +## :warning: Deprecations |
| 8 | + |
| 9 | +- [deprecation] Several utility functions from `src/language/utils.ts` have been deprecated (#3476) |
| 10 | +- [deprecation] Linting non-existent files now outputs a warning. This will be an error in TSLint 6. (#3313) |
| 11 | + |
| 12 | +## Configuration inheritance changes |
| 13 | + |
| 14 | +Significant changes have been made to configuration inheritance to address a long-standing UX issue around `defualtSeverity`: #2569. |
| 15 | + |
| 16 | +`defaultSeverity` defined in a `tslint.json` file will now override the `defaultSeverity` value defined in any configurations you are extending. |
| 17 | +This means that any rules specified in the base configurations can now take on a new `defaultSeverity` if you so choose. If you extend multiple |
| 18 | +configuration files, the `defaultSeverity` defined in the last one wins. |
| 19 | + |
| 20 | +In practice, this allows users to, for example, more easily use the built-in TSLint configurations (`tslint:recommended`, `tslint:latest`, `tslint:all`) |
| 21 | +and treat all errors as warnings instead of errors. |
| 22 | + |
| 23 | +For more details, see the relevant PRs: |
| 24 | + |
| 25 | +- Override `defaultSeverity` defined in extended configs (#3449) |
| 26 | +- Inherit defaultSeverity and apply it to preceding base configs (#3530) |
| 27 | + |
| 28 | +## :tada: Features |
| 29 | + |
| 30 | +- [feature] Support yaml configuration files (#1598) (#3433) |
| 31 | +- [new-fixer] [`file-header`](https://palantir.github.io/tslint/rules/file-header/) (#3475) |
| 32 | +- [new-rule] [`no-dynamic-delete`](https://palantir.github.io/tslint/rules/no-dynamic-delete/) (#3573) |
| 33 | +- [new-rule] [`prefer-readonly`](https://palantir.github.io/tslint/rules/prefer-readonly/) (#2896) |
| 34 | +- [new-rule] [`newline-per-chained-call`](https://palantir.github.io/tslint/rules/newline-per-chained-call/) (#3278) |
| 35 | +- [new-rule-option] `"temporalDeadZone"` for [`no-shadowed-variable`](https://palantir.github.io/tslint/rules/no-shadowed-variable/) to ignore shadowing in the temporal dead zone of classes, parameters, enums and variables declared with `let` or `const` |
| 36 | +(#3389) |
| 37 | +- [new-rule-option] `"shorthand-first"` for [`object-literal-sort-key`](https://palantir.github.io/tslint/rules/object-literal-sort-key) (#3607) |
| 38 | +- [new-rule-option] Add support for an ignore pattern for [`max-line-length`](https://palantir.github.io/tslint/rules/max-line-length/) (#3099) |
| 39 | + |
| 40 | +## :hammer_and_wrench: Bugfixes & enhancements |
| 41 | + |
| 42 | +- [bugfix] Update commander.js dependency to prevent users from transitively installing a buggy 2.12.0 release (#3510) |
| 43 | +- [bugfix] `--project` excludes all files of external dependencies (#3320) |
| 44 | +- [bugfix] Show errors when `tsconfig.json` is invalid (#3410) |
| 45 | +- [bugfix] [`no-implicit-dependencies`](https://palantir.github.io/tslint/rules/no-implicit-dependencies/) don't crash on malformed package.json (#3373) |
| 46 | +- [bugfix] [`strict-type-predicates`](https://palantir.github.io/tslint/rules/strict-type-predicates/) allows comparing typeof result with non-literals (#3542) |
| 47 | +- [bugfix] [`no-redundant-jsdoc`](https://palantir.github.io/tslint/rules/no-redundant-jsdoc/) fixed crash on unhandled tag (#3414) |
| 48 | +- [bugfix] [`object-literal-sort-keys`](https://palantir.github.io/tslint/rules/object-literal-sort-keys/) fixed regression that effectively disabled the rule with `\r\n` line breaks (#3427) |
| 49 | +- [bugfix] [`curly`](https://palantir.github.io/tslint/rules/curly/) fixer now correctly handles comments (#3473) |
| 50 | +- [bugfix] [`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) fixed false-positive with namespaced types (#3487) |
| 51 | +- [bugfix] Removed potentailly dangerous fixer for [`no-any`](https://palantir.github.io/tslint/rules/no-any/) (#3486) |
| 52 | +- [bugfix] [`no-unnecessary-type-assertion`](https://palantir.github.io/tslint/rules/no-unnecessary-type-assertion/) fixed false negatives for types with numeric keys (#3468) |
| 53 | +- [bugfix] [`callable-types`](https://palantir.github.io/tslint/rules/callable-types/) adds parentheses when fixing a type literal inside an array type (#3440) |
| 54 | +- [bugfix] [`no-unsafe-any`](https://palantir.github.io/tslint/rules/no-unsafe-any/) allows spreading an `any` value into an object (#3439) |
| 55 | +- [bugfix] no unnecessary whitespace before argument in callback functions fixed with [`arrow-parens`](https://palantir.github.io/tslint/rules/arrow-parens) fixer (#3618) |
| 56 | +- [bugfix] [`prefer-const`](https://palantir.github.io/tslint/rules/prefer-const/) false negative with index signature named like a variable (#3385) |
| 57 | +- [bugfix] [`whitespace`](https://palantir.github.io/tslint/rules/whitespace) rule checks property declarations if `"check-decl"` is enabled (#3546) |
| 58 | +- [bugfix] Using ternary operator for calling super() now passes [`no-duplicate-super`](https://palantir.github.io/tslint/rules/no-duplicate-super) rule. (#3544) |
| 59 | +- [bugfix] [`no-shadowed-variable`](https://palantir.github.io/tslint/rules/no-shadowed-variable/) now excludes declaration files and ambient modules (#3387) |
| 60 | +- [bugfix] [`no-duplicate-imports`](https://palantir.github.io/tslint/rules/no-duplicate-imports) Allow duplicate imports from separate ambient module declarations (#3398) |
| 61 | +- [bugfix] [`await-promise`](https://palantir.github.io/tslint/rules/await-promise/) correctly recognises classes extending Promise (#3383) |
| 62 | +- [bugfix] [`prefer-conditional-expression`](https://palantir.github.io/tslint/rules/prefer-conditional-expression/): don't repeat error on nested if statements (#3528) |
| 63 | +- [bugfix] [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs/): don't require documentation on methods in object literals (#3532) |
| 64 | +- [bugfix] [`one-line`](https://palantir.github.io/tslint/rules/one-line/) fixed crash on syntax error in class or interface (#3538) |
| 65 | +- [bugfix] [`no-redundant-jsdoc`](https://palantir.github.io/tslint/rules/no-redundant-jsdoc/) allow `@template` tag if it has a description (#3415) |
| 66 | +- [bugfix] Fix condition for deprecation of [`typeof-compare`](https://palantir.github.io/tslint/rules/typeof-compare) (#3429) |
| 67 | +- [enhancement] Better error message for files not contained in the project (#3313) |
| 68 | +- [enhancement] `"properties"` option for [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs/) rule now checks getter and setter accessors. (#3497) |
| 69 | +- [enhancement]: [`no-magic-numbers`](https://palantir.github.io/tslint/rules/no-magic-numbers) ignores parseInt radix parameter (#3536) |
| 70 | +- [enhancement] Avoid duplicate I/O when using `--project` option (#3313) |
| 71 | +- [enhancement] clicking the filename in `stylish`-formatter's output jumps to the first failure in that file. (#3491) |
| 72 | +- [enhancement] [`ban-comma-operator`](https://palantir.github.io/tslint/rules/ban-comma-operator/) ignores comma operator inside for-loop incrementor (#3485) |
| 73 | +- [enhancement] [`space-within-parens`](https://palantir.github.io/tslint/rules/space-within-parens/) updated to always allow empty parentheses `()`. (#3513) |
| 74 | +- [enhancement] Better error message syntax for [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs/) modifier lists (#3379) |
| 75 | +- [enhancement] Improve failure message & docs for [`ban-comma-operator`](https://palantir.github.io/tslint/rules/ban-comma-operator/) (#3384) |
| 76 | +- [enhancement] Output code warnings in yellow instead of red for codeFrame formatter (#3402) |
| 77 | +- [enhancement] Converted [`completed-docs`](https://palantir.github.io/tslint/rules/completed-docs) rule to use a function instead of a walker (#3466) |
| 78 | +- [docs] [`ban-comma-operator`](https://palantir.github.io/tslint/rules/ban-comma-operator/): fix metadata, list as "functionality" rule (#3612) |
| 79 | +- [docs] Enhance [`no-use-before-declare`](https://palantir.github.io/tslint/rules/no-use-before-declare/) documentation to clarify the rule's status (#3520) |
| 80 | +- [docs] Enhance [`await-promise`](https://palantir.github.io/tslint/rules/await-promise/) options documentation (#3519) |
| 81 | +- [docs] Add `hasFix` metadata for the [`indent`](https://palantir.github.io/tslint/rules/indent) rule (#3529) |
| 82 | +- [docs] Clearer rule description for [`no-irregular-whitespace`](https://palantir.github.io/tslint/rules/no-irregular-whitespace) (#3627) |
| 83 | + |
| 84 | +Thanks to our contributors! |
| 85 | + |
| 86 | +- Klaus Meinhardt |
| 87 | +- Josh Goldberg |
| 88 | +- Chris Barr |
| 89 | +- Nathan Shively-Sanders |
| 90 | +- Jeremy Morton |
| 91 | +- Sergey Koshechkin |
| 92 | +- Daniel Kucal |
| 93 | +- Eric Smekens |
| 94 | +- Johannes Choo |
| 95 | +- Elena Vilchik |
| 96 | +- Eugene Timokhov |
| 97 | +- Carlo Bottiglieri |
| 98 | +- reduckted |
| 99 | +- Glavin Wiechert |
| 100 | +- jbsingh |
| 101 | +- Mateusz Witkowski |
| 102 | +- HideDev |
| 103 | +- Bruno Lemos |
| 104 | +- aervin_ |
| 105 | +- Roman |
| 106 | +- Ryan Waskiewicz |
| 107 | + |
4 | 108 | v5.8.0
|
5 | 109 | ---
|
6 | 110 |
|
|
0 commit comments