Releases: biomejs/biome
JavaScript APIs v2.0.3
2.0.3
Patch Changes
- #6785
085e3c7
Thanks @siketyan! - Fixed #6722: Missingdist/
files are now included in the@biomejs/js-api
package. The previous release haven't fixed the issue properly.
What's Changed
- ci: use
name
instead ofpattern
for downloading artifact by @siketyan in #6785 - ci: release by @github-actions in #6786
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/biome@2.1.1...@biomejs/js-api@2.0.3
JavaScript APIs v2.0.2
2.0.2
Warning
Due to a CI problem, this version is broken and not includes necessary files in the package.
Patch Changes
-
#6780
563f3d5
Thanks @siketyan! - Fixed #6722: Missingdist/
files are now included in the@biomejs/js-api
package. The previous release haven't fixed the issue properly. -
Updated dependencies []:
- @biomejs/wasm-web@2.1.1
- @biomejs/wasm-bundler@2.1.1
- @biomejs/wasm-nodejs@2.1.1
What's Changed
- ci: correct restore path of the artifact by @siketyan in #6780
- fix(wasm): serialize map as a plain object by @siketyan in #6781
- ci: release by @github-actions in #6779
- docs: update contribution guide and pull request template by @ematipico in #6664
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/js-api@2.0.1...@biomejs/js-api@2.0.2
JavaScript APIs v2.0.1
2.0.1
Warning
Due to a CI problem, this version is broken and not includes necessary files in the package.
Patch Changes
- #6776
08652d0
Thanks @siketyan! - Fixed #6722: Missingdist/
files are now included in the@biomejs/js-api
package.
What's Changed
- ci: download js-api artifacts before publish by @siketyan in #6776
- ci: release by @github-actions in #6778
- fix(noFocusedTests): fix
fit
false positive by @dyc3 in #6761
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/biome@2.1.0...@biomejs/js-api@2.0.1
JavaScript APIs v2.0.0
2.0.0
Warning
Due to a CI problem, this version is broken and not includes necessary files in the package.
Minor Changes
-
#6535
d8c08e1
Thanks @regseb! - Biome's JavaScript Bindings now have specific subpath exports for the three packages:import { Biome } from "@biomejs/js-api/bundler";
import { Biome } from "@biomejs/js-api/nodejs";
import { Biome } from "@biomejs/js-api/web";
These new subpath exports load only TypeScript declarations, whereas the default export loads declarations for all three packages. This was a problem if you checked your code with
tsc
.-
Old usage with default export (no subpath):
import { Biome, Distribution } from "@biomejs/js-api"; const biome = await Biome.create({ distribution: Distribution.NODE });
-
New usage with a specific subpath export:
import { Biome } from "@biomejs/js-api/nodejs"; const biome = new Biome();
Patch Changes
- Updated dependencies []:
- @biomejs/wasm-web@2.1.0
- @biomejs/wasm-bundler@2.1.0
- @biomejs/wasm-nodejs@2.1.0
What's Changed
- feat(core): support import namespaces by @arendjr in #6303
- feat(core): support
export *
syntax by @arendjr in #6311 - fix(linter): prevent false positives in
noMisusedPromises
by @arendjr in #6315 - perf: use
TypeStore
in global resolver by @arendjr in #6318 - perf: resolve and map types in single pass by @arendjr in #6319
- perf: deduplicate types by @arendjr in #6324
- chore: add
swr
fixtures by @arendjr in #6339 - fix(resolver): resolve type definitions for JavaScript files by @arendjr in #6343
- feat(core): flatten intersections + call signatures by @arendjr in #6404
- perf: preallocate type store by @arendjr in #6421
- perf: store types behind
Arc
s by @arendjr in #6442 - feat: add nx.json project.json to Well-known files by @ianzone in #6488
- feat(linter): handle arrays of Promises in
noFloatingPromises
by @arendjr in #6512 - fix(core): handle ternary in type alias by @arendjr in #6520
- fix(core): infer method return types by @arendjr in #6525
- fix(core): infer types of properties with getters by @arendjr in #6531
- chore: add test case by @arendjr in #6532
- feat(core): handle logical operators by @arendjr in #6550
- ci: fix JSON payload release dispatch by @ematipico in #6580
- chore: remove disclaimer on
noFloatingPromises
by @arendjr in #6579 - chore: update
next
by @arendjr in #6581 - feat(biome_js_analyse): added new rule noMagicNumbers by @vladimir-ivanov in #6562
- chore(justfile): adjust indentation and remove extra blank lines in
justfile
by @paulo9mv in #6568 - refactor(useSortedKeys): transfer trailing separator upon sorting by @Conaclos in #6587
- fix(lsp): fix all should check for embedded languages by @ematipico in #6594
- feat(core): implement conditional handling by @arendjr in #6593
- chore: update contribution guide to include vladimir ivanov as a maintainer by @vladimir-ivanov in #6564
- fix(biome_js_analyze): fix JsDocTypeCollectorVisitior to also walk on JsStaticMemberAssignment by @daivinhtran in #6600
- docs: add mdevils to maintainers by @mdevils in #6612
- chore(lint): fix document of the
noMagicNumbers
rule that produces invalid MDX by @siketyan in #6598 - refactor: extract out a
biome_line_index
crate by @DavisVaughan in #6222 - fix(biome-js-analyze): fixed the diagnostic message for noFocusedTests to display the offending fn name by @vladimir-ivanov in #6599
- chore: add
syntax
parser directive to Dockerfile by @JamBalaya56562 in #6619 - feat(core): port SyntaxNodePtr and AstPtr from rowan by @rmehri01 in #6534
- fix(biome-js-analyze): detect json import attribute with trimmed text value instead of plain text value by @Shinyaigeek in #6618
- feat(core): targeted file scanner by @arendjr in #6614
- fix(core): fix extending configs with root field by @arendjr in #6625
- chore(deps): pin docker/dockerfile docker tag to 9857836 by @renovate in #6626
- chore(deps): update dependency @types/node to v22.15.34 by @renovate in #6627
- fix(deps): update @biomejs packages by @renovate in #6632
- chore(deps): update rust crate papaya to 0.2.3 by @renovate in #6630
- chore(deps): update rust crate ureq to 3.0.12 by @renovate in #6631
- fix(cli): lax stdin strictness by @ematipico in #6596
- feat(core): infer sequence operator and update operators by @arendjr in #6637
- feat(yaml): overhauling YAML lexer by @vohoanglong0107 in #6481
- feat(wasm): expose MemoryFileSystem via WASM API by @siketyan in #6428
- fix(core): fix inference for boolean that must be truthy by @arendjr in #6641
- fix(biome-js-analyze): update changes by @vladimir-ivanov in #6636
- fix(lsp): add missing checks for capability dynamic registration support by @skewb1k in #6643
- fix(js-api): don't use types of others modules by @regseb in #6535
- refactor: share lint rule options by @ematipico in #5543
- perf: optimise ignore checking by @arendjr in #6659
- chore: merge
next
intomain
by @arendjr in #6583 - feat(core): offset parsing by @ematipico in #6652
- fix(formatter): void elements with slash by @ematipico in #6663
- fix(lint/noSecrets): calculate entropy with
entropyThreshold
option by @unvalley in #6642 - fix(biome-js-analyze): move no_secrets options inside biome-rules-opt… by @vladimir-ivanov in #6672
- fix(core): css assist by @ematipico in #6682
- fix(format/html): fix mangling of embedded language tags if
whitespaceSensitivity
isstrict
by @dyc3 in #6673 - feat(parser): parse Astro frontmatter by @ematipico in #6689
- chore(core): add resource to diagnostic by @ematipico in #6685
- fix(parse/html): make
.
a valid char in tag names by @dyc3 in #6693 - fix(formatter): trailing commas in json files by @ematipico in #6683
- feat: make enum can be transform in scope by @cqh963852 in #6678
- fix(biome-js-analyze): useReadonlyClassProperties check class getters… by @vladimir-ivanov in #6671
- feat(biome_js_analyse): added new option to rule to ignore unused function parameters by @vladimir-ivanov in #6405
- fix(core): ignore nested configs by @arendjr in #6662
- fix(lint/noImplicitCoercion): false positive for
1 / value
by @unvalley in #6696 - fix(css_formatter): correct spacing in container style queries by @denbezrukov in #6700
- fix(biome_analyze): stop squashing multiple line suppression comments. by @sterliakov in #6650
- fix(noShadow): fix a false positive related to function parameters inside type definitions by @dyc3 in #6709
- fix(biome_js_analyze): correct text range of suppression reason by @sterliakov in #6711
- fix(service): biome/file_features still should return a map instead of an array by @siketyan in #6718
- fix(lint/complexity/useDateNow): improve error message by @wojtekmaj in #6413
- docs: fix typos in CHANGELOG & CONTRIBUTING by @noritaka1166 in https://github.com/biom...
Biome CLI v2.1.1
2.1.1
Patch Changes
-
#6781
9bbd34f
Thanks @siketyan! - Fixed theFileFeaturesResult
interface in the WASM API was defined as a mapped object but the actual value was aMap
object. -
#6761
cf3c2ce
Thanks @dyc3! - Fixed #6759, a false positive fornoFocusedTests
that was triggered by calling any function with the namefit
on any object.The following code will now pass the
noFocusedTests
rule:import foo from "foo"; foo.fit();
What's Changed
- ci: correct restore path of the artifact by @siketyan in #6780
- fix(wasm): serialize map as a plain object by @siketyan in #6781
- ci: release by @github-actions in #6779
- docs: update contribution guide and pull request template by @ematipico in #6664
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/js-api@2.0.1...@biomejs/biome@2.1.1
Biome CLI v2.1.0
2.1.0
Minor Changes
-
#6512
0c0bf82
Thanks @arendjr! - The rulenoFloatingPromises
can now detect floating arrays ofPromise
s.Invalid examples
// This gets flagged because the Promises are not handled. [1, 2, 3].map(async (x) => x + 1);
Valid examples
await Promise.all([1, 2, 3].map(async (x) => x + 1));
-
#6637
6918085
Thanks @arendjr! - Type inference is now able to handle the sequence operator (,
), as well as post- and pre-update operators:++
.Example
let x = 5; // We now infer that `x++` resolves to a number, while the expression as a whole // becomes a Promise: x++, new Promise((resolve) => resolve("comma"));
-
#6752
c9eaca4
Thanks @arendjr! - Fixed #6646:.gitignore
files are now picked up even when running Biome from a nested directory, or when the ignore file itself is ignored throughfiles.includes
. -
#6746
90aeead
Thanks @arendjr! -biome migrate
no longer enables style rules that were recommended in v1, because that would be undesirable for users upgrading from 2.0.Users who are upgrading from Biome 1.x are therefore advised to first upgrade to Biome 2.0, and run the migration, before continuing to Biome 2.1 or later.
-
#6583
d415a3f
Thanks @arendjr! - Added the nursery rulenoMisusedPromises
.It signals
Promise
s in places where conditionals or iterables are expected.Invalid examples
const promise = Promise.resolve("value"); // Using a `Promise` as conditional is always truthy: if (promise) { /* ... */ } // Spreading a `Promise` has no effect: console.log({ foo: 42, ...promise }); // This does not `await` the `Promise`s from the callbacks, // so it does not behave as you may expect: [1, 2, 3].forEach(async (value) => { await fetch(`/${value}`); });
Valid examples
const promise = Promise.resolve("value"); if (await promise) { /* ... */ } console.log({ foo: 42, ...(await promise) });
-
#6405
cd4a9bb
Thanks @vladimir-ivanov! - Added theignoreRestSiblings
option to thenoUnusedFunctionParameters
rule.This option is used to ignore unused function parameters that are siblings of the rest parameter.
The default is
false
, which means that unused function parameters that are siblings of the rest parameter will be reported.Example
{ "rules": { "noUnusedFunctionParameters": ["error", { "ignoreRestSiblings": true }] } }
-
#6614
0840021
Thanks @arendjr! - We have implemented a more targeted version of the scanner, which ensures that if you provide file paths to handle on the CLI, the scanner will exclude directories that are not relevant to those paths.Note that for many commands, such as
biome check
andbiome format
, the file paths to handle are implicitly set to the current working directory if you do not provide any path explicitly. The targeted scanner also works with such implicit paths, which means that if you run Biome from a subfolder, other folders that are part of the project are automatically exempted.Use cases where you invoke Biome from the root of the project without providing a path, as well as those where project rules are enabled, are not expected to see performance benefits from this.
-
#6488
c5ee385
Thanks @ianzone! -nx.json
andproject.json
have been added to the list of well-known files. -
#6720
52e36ae
Thanks @minht11! - Added# @biomejs/biome symbol to [organizeImports](https://biomejs.dev/assist/actions/organize-imports)
:ALIAS:` group.import { action } from '$lib'
will be treated as alias import.
Patch Changes
-
#6712
2649ac6
Thanks @sterliakov! - Fixed #6595: Biome now supports// biome-ignore-all
file-level suppressions in files that start with a shebang (#!
). -
#6758
28dc49e
Thanks @arendjr! - Fixed #6573: Grit plugins can now match bare imports.Example
The following snippet:
`import $source`
will now match:
import "main.css";
-
#6550
b424f46
Thanks @arendjr! - Type inference is now able to handle logical expressions:&&
,||
, and??
.Examples
// We can now infer that because `true` is truthy, the entire expression // evaluates to a `Promise`. true && Promise.reject("logical operator bypass"); // And we know that this doesn't: false && Promise.reject("logical operator bypass"); // Truthiness, falsiness, and non-nullishness can all be determined on more // complex expressions as well. So the following also works: type Nullish = null | undefined; type Params = { booleanOption: boolean | Nullish; falsyOption: false | Nullish; }; function foo({ booleanOption, falsyOption }: Params) { // This may be a Promise: booleanOption ?? Promise.reject("logical operator bypass"); // But this never is: falsyOption && Promise.reject("logical operator bypass"); }
-
#6413
4aa0e50
Thanks @wojtekmaj! - Improved error message inuseDateNow
rule. -
#6673
341e062
Thanks @dyc3! - Fixed a case where the HTML formatter would mangle embedded language tags ifwhitespaceSensitivity
was set tostrict
-
#6642
a991229
Thanks @unvalley! - Fixed #4494: ThenoSecrets
rule now correctly uses theentropyThreshold
option to detect secret like strings. -
#6520
0c43545
Thanks @arendjr! - Type inference is now able to handle ternary conditions in type aliases.Note that we don't attempt to evaluate the condition itself. The resulting type is simply a union of both conditional outcomes.
Example
type MaybeResult<T> = T extends Function ? Promise<string> : undefined; // We can now detect this function _might_ return a `Promise`: function doStuff<T>(input: T): MaybeResult<T> { /* ... */ }
-
#6711
1937691
Thanks @sterliakov! - Fixed #6654: Fixed range highlighting of<explanation>
placeholder in inline suppression block comments. -
#6756
d12b26f
Thanks @dyc3! - Fixed #6669: Added an exception tonoUnusedImports
to allow type augmentation imports.import type {} from "@mui/lab/themeAugmentation";
-
#6643
df15ad6
Thanks @skewb1k! - Fixed [#4994]([https://github.co...
Biome CLI v2.0.6
2.0.6
Patch Changes
-
#6557
fd68458
Thanks @ematipico! - Fixed a bug where Biome didn't provide all the available code actions when requested by the editor. -
#6511
72623fa
Thanks @Conaclos! - Fixed #6492. The
organizeImports
assist action no longer duplicates a comment at the start of
the file when:BLANK_LINE:
precedes the first import group. -
#6557
fd68458
Thanks @ematipico! - Fixed #6287 where Biome Language Server didn't adhere to thesettings.requireConfiguration
option when pulling diagnostics and code actions.
Note that for this configuration be correctly applied, your editor must support dynamic registration capabilities. -
#6551
0b63b1d
Thanks @Conaclos! - Fixed #6536.useSortedKeys
no longer panics in some edge cases where object spreads are involved. -
#6503
9a8fe0f
Thanks @ematipico! - Fixed #6482 where nursery rules that belonged to a domain were incorrectly enabled. -
#6565
e85761c
Thanks @daivinhtran! - Fixed #4677: Now thenoUnusedImports
rule won't produce diagnostics for types used in JSDoc comment of exports. -
#6166
b8cbd83
Thanks @mehm8128! - Added the nursery rule noExcessiveLinesPerFunction.
This rule restrict a maximum number of lines of code in a function body.The following code is now reported as invalid when the limit of maximum lines is set to 2:
function foo() { const x = 0; const y = 1; const z = 2; }
The following code is now reported as valid when the limit of maximum lines is set to 3:
const bar = () => { const x = 0; const z = 2; };
-
#6553
5f42630
Thanks @denbezrukov! - Fixed #6547. Now the Biome CSS parser correctly parses@starting-style
when it's used inside other at-rules. The following example doesn't raise an error anymore:@layer my-demo-layer { @starting-style { div.showing { background-color: red; } } }
-
#6458
05402e3
Thanks @ematipico! - Fixed an issue where the ruleuseSemanticElements
used the incorrect range when positioning suppression comments. -
#6560
6d8a6b9
Thanks @siketyan! - Fixed #6559: the error message on detected a large file was outdated and referred a removed configuration optionfiles.ignore
. -
#6458
05402e3
Thanks @ematipico! - Fixed #6384. The ruleuseAltText
now emits a diagnostic with a correct range, so suppression comments can work correctly. -
#6518
7a56288
Thanks @wojtekmaj! - Fixed #6508, where the rulenoUselessFragments
incorrectly flagged Fragments containing HTML entities as unnecessary. -
#6517
c5217cf
Thanks @arendjr! - Fixed #6515. When using the
extends
field to extend a configuration from an NPM package, we now accept the
condition names"biome"
and"default"
for exporting the configuration in
thepackage.json
.This means that where previously your
package.json
had to contain an export
declaration similar to this:{ "exports": { ".": "./biome.json" } }
You may now use one of these as well:
{ "exports": { ".": { "biome": "./biome.json" } } }
Or:
{ "exports": { ".": { "default": "./biome.json" } } }
-
#6219
a3a3715
Thanks @huangtiandi1999! - Added new nursery rulenoUnassignedVariables
, which disallowslet
orvar
variables that are read but never assigned.The following code is now reported as invalid:
let x; if (x) { console.log(1); }
The following code is now reported as valid:
let x = 1; if (x) { console.log(1); }
-
#6395
f62e748
Thanks @mdevils! - Added the new nursery rulenoImplicitCoercion
, which disallows shorthand type conversions in favor of explicit type conversion functions.Example (Invalid): Boolean conversion using double negation:
!!foo; !!(foo + bar);
Example (Invalid): Number conversion using unary operators:
+foo; -(-foo); foo - 0; foo * 1; foo / 1;
Example (Invalid): String conversion using concatenation:
"" + foo; foo + ""; `` + foo; foo += "";
Example (Invalid): Index checking using bitwise NOT:
~foo.indexOf(1); ~foo.bar.indexOf(2);
Example (Valid): Using explicit type conversion functions:
Boolean(foo); Number(foo); String(foo); foo.indexOf(1) !== -1;
-
#6544
f28b075
Thanks @daivinhtran! - Fixed #6536. Now the rulenoUselessFragments
produces diagnostics for a top-level useless fragment that is in a return statement. -
#6320
5705f1a
Thanks @mdevils! - Added the new nursery ruleuseUnifiedTypeSignature
, which disallows overload signatures that can be unified into a single signature.Overload signatures that can be merged into a single signature are redundant and should be avoided. This rule helps simplify function signatures by combining overloads by making parameters optional and/or using type unions.
Example (Invalid): Overload signatures that can be unified:
function f(a: number): void; function f(a: string): void;
interface I { a(): void; a(x: number): void; }
Example (Valid): Unified signatures:
function f(a: number | string): void {}
interface I { a(x?: number): void; }
Example (Valid): Different return types cannot be merged:
interface I { f(): void; f(x: number): number; }
-
#6545
2782175
Thanks @ematipico! - Fixed #6529, where the Biome Language Server would emit an error when the user would open a file that isn't part of its workspace (node_modules
or external files).
Now the language server doesn't emit any errors and it exits gracefully. -
#6524
a27b825
Thanks @vladimir-ivanov! - Fixed #6500: TheuseReadonlyClassProperties
rule now correctly marks class properties asreadonly
when they are assigned ...
Biome CLI v2.0.5
2.0.5
Patch Changes
-
#6461
38862e6
Thanks @ematipico! - Fixed #6419, a regression where stdin mode would create a temporary new file instead of using the one provided by the user. This was an intended regression.Now Biome will use the file path passed via
--std-file-path
, and apply the configuration that matches it. -
#6480
050047f
Thanks @Conaclos! - Fixed #6371.
useNamingConvention now checks the string case of objects' property shorthand. -
#6477
b98379d
Thanks @ematipico! - Fixed an issue where Biome formatter didn't format consistently CSS value separated by commas..font-heading { - font-feature-settings: var(--heading-salt), var(--heading-ss06), - var(--heading-ss11), var(--heading-cv09), var(--heading-liga), - var(--heading-calt); + font-feature-settings: + var(--heading-salt), var(--heading-ss06), var(--heading-ss11), + var(--heading-cv09), var(--heading-liga), var(--heading-calt); }
-
#6248
ec7126c
Thanks @fireairforce! - Fixed grit pattern matching for different kinds of import statements.The grit pattern
import $imports from "foo"
will match the following code:import bar from "foo"; import { bar } from "foo"; import { bar, baz } from "foo";
What's Changed
- chore: fix release tag name by @SuperchupuDev in #6456
- ci: fix tag name on creating a release by @siketyan in #6457
- fix(cli): don't use temporary file in stdin by @ematipico in #6461
- chore: update vscode badges by @ematipico in #6468
- fix(lint/useNamingConvention): check property shorthand by @Conaclos in #6480
- fix: gritql mismatch import pattern by @fireairforce in #6248
- fix(format): css comma separated values by @ematipico in #6477
- chore(deps): update @biomejs packages by @renovate in #6489
- chore(deps): update dependency @types/node to v22.15.32 by @renovate in #6493
- chore(deps): update rust crate mimalloc to 0.1.47 by @renovate in #6496
- chore(deps): update dependency @changesets/cli to v2.29.5 by @renovate in #6490
- ci: release by @github-actions in #6467
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/biome@2.0.4...@biomejs/biome@2.0.5
@biomejs/biome@2.0.4
2.0.4
Patch Changes
- #6450
7472d9e
Thanks @ematipico! - Fixed an issue where the binary wasn't correctly mapped.
What's Changed
- ci: add permissions to release actions by @ematipico in #6436
- ci: release by @github-actions in #6437
- ci: use changests action for publishing by @ematipico in #6440
- ci: manually push tags and create release by @ematipico in #6439
- feat(biome_js_analyze): adds new lint rule useReadonlyClassProperties by @vladimir-ivanov in #6297
- chore: update changeset to patch by @siketyan in #6449
- ci: release by @github-actions in #6444
- ci: skip release step if version not bumped by @siketyan in #6451
- fix: binary mapping by @ematipico in #6450
- ci: release by @github-actions in #6454
Full Changelog: https://github.com/biomejs/biome/compare/@biomejs/biome@2.0.1...@biomejs/biome@v2.0.4
@biomejs/biome@2.0.1
Warning
Biome v2.0.1 and v2.0.2 are currently broken, please use v2.0.0 in the meantime. See #6435 for details.
Patch Changes
-
#6425
00e97ad
Thanks @siketyan! - Fixed #6391: the rulenoUselessFragments
no longer reports a fragment that contains whitespaces which aren't trimmed by the runtime. -
#6417
dd88565
Thanks @ematipico! - Fixed #6360: The following pseudo classes and elements are no longer reported bynoUnknownPseudoClass
ornoUnknownPseudoElement
rules.:open
::details-content
::prefix
::search-text
::suffix
-
#6417
dd88565
Thanks @ematipico! - Fixed #6357, where the boolean values weren't correctly merged when using theextends
functionality. Now Biome correctly merges the values. -
#6417
dd88565
Thanks @ematipico! - Fixed #6341: Fixed an issue where Biome would throw an error for the language tagsnb
andnn
. -
#6385
94142dd
Thanks @siketyan! - Fixed #6377: The rule noSelfCompare now correctly compares two function calls with different arguments. -
#6417
dd88565
Thanks @ematipico! - Fixed #6278:useExhaustiveDependencies
no longer adds duplicated dependencies into the list. -
#6417
dd88565
Thanks @ematipico! - Fix #6396, wherevi.useFakeTimers()
andvi.useRealTimers()
incorrectly triggered React Hooks-related rules -
#6417
dd88565
Thanks @ematipico! - Fixed a bug where Biome didn't correctly discover nested configuration files when using thelint
command and the linter is disabled in the root configuration. -
#6422
594ec50
Thanks @ematipico! - Removed the experimental rename feature from Biome LSP, which caused some issues inside existing editors such as Zed. -
#6388
c6942d2
Thanks @siketyan! - Fixed #6375: the formatter no longer inserts an extra empty line before a semicolon when it has leading comments.