Skip to content

Releases: biomejs/biome

VSCode Extension v1.4.2

16 Sep 09:30
b4dadd8
Compare
Choose a tag to compare

What's Changed

  • fix(formatter): suppress default_constructed_unit_structs on formatter generated code by @unvalley in #298
  • docs: documentation for new configuration fields by @ematipico in #295

Full Changelog: cli/v1.2.1...lsp/v1.4.2

CLI v1.2.2

16 Sep 09:30
b4dadd8
Compare
Choose a tag to compare

CLI

Bug fixes

  • Fix a condition where import sorting wasn't applied when running biome check --apply

What's Changed

Other changes

  • fix(formatter): suppress default_constructed_unit_structs on formatter generated code by @unvalley in #298
  • docs: documentation for new configuration fields by @ematipico in #295

Full Changelog: cli/v1.2.1...cli/v1.2.2

VSCode Extension v1.4.1

15 Sep 17:08
9aa5c4e
Compare
Choose a tag to compare

What's Changed

Full Changelog: cli/v1.2.0...lsp/v1.4.1

VSCode Extension v1.4.0

15 Sep 14:13
1897c24
Compare
Choose a tag to compare

CLI

New features

  • Add new options to customize the behaviour the formatter based on the language of the file
    • --json-formatter-enabled
    • --json-formatter-indent-style
    • --json-formatter-indent-size
    • --json-formatter-line-width
    • --javascript-formatter-enabled
    • --javascript-formatter-indent-style
    • --javascript-formatter-indent-size
    • --javascript-formatter-line-width

Bug fixes

  • Fix a bug where --errors-on-warning didn't work when running biome ci command.

Configuration

New features

  • Add new options to customize the behaviour of the formatter based on the language of the file
    • json.formatter.enabled
    • json.formatter.indentStyle
    • json.formatter.indentSize
    • json.formatter.lineWidth
    • javascript.formatter.enabled
    • javascript.formatter.indentStyle
    • javascript.formatter.indentSize
    • javascript.formatter.lineWidth

Linter

Promoted rules

New rules are incubated in the nursery group.
Once stable, we promote them to a stable group.
The following rules are promoted:

New rules

Removed rules

  • Remove noConfusingArrow.

    Code formatters, such as prettier and Biome, always adds parentheses around the parameter or the body of an arrow function.
    This makes the rule useless.

    Contributed by @Conaclos

Enhancements

  • noFallthroughSwitchClause now relies on control flow analysis to report most of switch clause fallthrough. Contributed by @Conaclos

  • noAssignInExpressions no longer suggests code fixes. Most of the time the suggestion didn't match users' expectations. Contributed by @Conaclos

  • noUselessConstructor no longer emits safe code fixes. Contributed by @Conaclos

    All code fixes are now emitted as unsafe code fixes.
    Removing a constructor can change the behavior of a program.

  • useCollapsedElseIf now only provides safe code fixes. Contributed by @Conaclos

  • noUnusedVariables now reports more cases.

    The rule is now able to ignore self-writes.
    For example, the rule reports the following unused variable:

    let a = 0;
    a++;
    a += 1;

    The rule is also capable of detecting an unused declaration that uses itself.
    For example, the rule reports the following unused interface:

    interface I {
      instance(): I
    }

    Finally, the rule now ignores all TypeScript declaration files,
    including global declaration files.

    Contributed by @Conaclos

Bug fixes

VSCode

Enhancements

  • Improve server binary resolution when using certain package managers, notably pnpm.

    The new strategy is to point to node_modules/.bin/biome path,
    which is consistent for all package managers.

    Contributed by @nhedger

What's Changed

Read more

CLI v1.2.1

15 Sep 17:08
9aa5c4e
Compare
Choose a tag to compare

Configuration

  • Fix an edge case where the formatter language configuration wasn't picked.
  • Fix the configuration schema, where json.formatter properties weren't transformed in camel case.

What's Changed

Other changes

Full Changelog: cli/v1.2.0...cli/v1.2.1

CLI v1.2.0

15 Sep 14:13
1897c24
Compare
Choose a tag to compare

CLI

New features

  • Add new options to customize the behaviour the formatter based on the language of the file
    • --json-formatter-enabled
    • --json-formatter-indent-style
    • --json-formatter-indent-size
    • --json-formatter-line-width
    • --javascript-formatter-enabled
    • --javascript-formatter-indent-style
    • --javascript-formatter-indent-size
    • --javascript-formatter-line-width

Bug fixes

  • Fix a bug where --errors-on-warning didn't work when running biome ci command.

Configuration

New features

  • Add new options to customize the behaviour of the formatter based on the language of the file
    • json.formatter.enabled
    • json.formatter.indentStyle
    • json.formatter.indentSize
    • json.formatter.lineWidth
    • javascript.formatter.enabled
    • javascript.formatter.indentStyle
    • javascript.formatter.indentSize
    • javascript.formatter.lineWidth

Linter

Promoted rules

New rules are incubated in the nursery group.
Once stable, we promote them to a stable group.
The following rules are promoted:

New rules

Removed rules

  • Remove noConfusingArrow.

    Code formatters, such as prettier and Biome, always adds parentheses around the parameter or the body of an arrow function.
    This makes the rule useless.

    Contributed by @Conaclos

Enhancements

  • noFallthroughSwitchClause now relies on control flow analysis to report most of switch clause fallthrough. Contributed by @Conaclos

  • noAssignInExpressions no longer suggests code fixes. Most of the time the suggestion didn't match users' expectations. Contributed by @Conaclos

  • noUselessConstructor no longer emits safe code fixes. Contributed by @Conaclos

    All code fixes are now emitted as unsafe code fixes.
    Removing a constructor can change the behavior of a program.

  • useCollapsedElseIf now only provides safe code fixes. Contributed by @Conaclos

  • noUnusedVariables now reports more cases.

    The rule is now able to ignore self-writes.
    For example, the rule reports the following unused variable:

    let a = 0;
    a++;
    a += 1;

    The rule is also capable of detecting an unused declaration that uses itself.
    For example, the rule reports the following unused interface:

    interface I {
      instance(): I
    }

    Finally, the rule now ignores all TypeScript declaration files,
    including global declaration files.

    Contributed by @Conaclos

Bug fixes

VSCode

Enhancements

  • Improve server binary resolution when using certain package managers, notably pnpm.

    The new strategy is to point to node_modules/.bin/biome path,
    which is consistent for all package managers.

    Contributed by @nhedger

What's Changed

Read more

VSCode Extension v1.3.20230915

15 Sep 04:56
9c28238
Compare
Choose a tag to compare
Pre-release

Analyzer

CLI

Features

  • Add new options to customize the behaviour the formatter based on the language of the file
    • --json-formatter-enabled
    • --json-formatter-indent-style
    • --json-formatter-indent-size
    • --json-formatter-line-width
    • --javascript-formatter-enabled
    • --javascript-formatter-indent-style
    • --javascript-formatter-indent-size
    • --javascript-formatter-line-width

Bug fixes

  • Fix a bug where --errors-on-warning didn't work when running biome ci command.

Configuration

Features

  • Add new options to customize the behaviour of the formatter based on the language of the file
    • json.formatter.enabled
    • json.formatter.indentStyle
    • json.formatter.indentSize
    • json.formatter.lineWidth
    • javascript.formatter.enabled
    • javascript.formatter.indentStyle
    • javascript.formatter.indentSize
    • javascript.formatter.lineWidth

Editors

Formatter

JavaScript APIs

Linter

New features

Enhancements

  • noFallthroughSwitchClause now relies on control flow analysis to report most of switch clause fallthrough. Contributed by @Conaclos

  • noAssignInExpressions no longer suggest code fixes. Most of the time the suggestion didn't match users' expectations. Contributed by @Conaclos

  • noUselessConstructor no longer emits safe code fixes. Contributed by @Conaclos

    All code fixes are now emitted as unsafe code fixes.
    Removing a constructor can change the behavior of a program.

  • useCollapsedElseIf now only provides safe code fixes. Contributed by @Conaclos

  • noUnusedVariables now reports more cases.

    The rule is now able to ignore self-writes.
    For example, the rule reports the following unused variable:

    let a = 0;
    a++;
    a += 1;

    The rule is also capable of detecting an unused declaration that uses itself.
    For example, the rule reports the following unused interface:

    interface I {
      instance(): I
    }

    Finally, the rule now ignores all TypeScript declaration files,
    including global declaration files.

    Contributed by @Conaclos

  • Remove noConfusingArrow.

    Code formatters, such as prettier and Biome, always adds parentheses around the parameter or the body of an arrow function.
    This makes the rule useless.

    Contributed by @Conaclos

Bug fixes

Parser

VSCode

What's Changed

Other changes

New Contributors

Read more

VSCode Extension v1.2.2

07 Sep 19:21
cde6581
Compare
Choose a tag to compare

Analyzer

CLI

Configuration

Editors

Formatter

JavaScript APIs

Linter

Parser

VSCode

What's Changed

Full Changelog: cli/v1.1.1...lsp/v1.2.2

VSCode Extension v1.2.1

07 Sep 09:56
a947fc9
Compare
Choose a tag to compare

Analyzer

CLI

Configuration

Editors

Formatter

JavaScript APIs

Linter

Parser

VSCode

What's Changed

New Contributors

Full Changelog: cli/v1.1.0...lsp/v1.2.1

CLI v1.1.2

07 Sep 19:22
cde6581
Compare
Choose a tag to compare

Editors

Bug fixes

  • Fixed a case where an empty JSON file would cause the LSP server to crash.

Linter

Enhancements

  • useNamingConvention now accepts import namespaces in PascalCase and rejects export namespaces in CONSTANT_CASE.

    The following code is now valid:

    import * as React from "react";

    And the following code is now invalid:

    export * as MY_NAMESPACE from "./lib.js";

What's Changed

Full Changelog: cli/v1.1.1...cli/v1.1.2