chore(deps): update all dependencies #2

Open
kjuulh wants to merge 1 commits from renovate/all into main
Owner

This PR contains the following updates:

Package Type Update Change
cc build-dependencies minor 1.0.79 -> 1.2.13
nan dependencies minor 2.17.0 -> 2.22.0
prettier (source) devDependencies major ^2.8.8 -> ^3.0.0
tree-sitter (source) dependencies minor ~0.20.10 -> ~0.25.0
tree-sitter-cli devDependencies minor ^0.20.8 -> ^0.25.0

Release Notes

rust-lang/cc-rs (cc)

v1.2.13

Compare Source

Other
  • Fix cross-compiling for Apple platforms (#​1389)

v1.2.12

Compare Source

Other
  • Split impl Build (#​1382)
  • Don't specify both -target and -mtargetos= on Apple targets (#​1384)

v1.2.11

Compare Source

Other
  • Fix more flag inheritance (#​1380)
  • Include wrapper args. in stdout family heuristics to restore classifying clang --driver-mode=cl as Msvc { clang_cl: true } (#​1378)
  • Constrain -Clto and -Cembed-bitcode flag inheritance to be clang-only (#​1379)
  • Pass deployment target with -m*-version-min= (#​1339)
  • Regenerate target info (#​1376)

v1.2.10

Compare Source

Other
  • Fix CC_FORCE_DISABLE=0 evaluating to true (#​1371)
  • Regenerate target info (#​1369)
  • Make hidden lifetimes explicit. (#​1366)

v1.2.9

Compare Source

Other
  • Don't pass inherited PGO flags to GNU compilers (#​1363)
  • Adjusted zig cc judgment and avoided zigbuild errors(#​1360) (#​1361)
  • Fix compilation on macOS using clang and fix compilation using zig-cc (#​1364)

v1.2.8

Compare Source

Other
  • Add is_like_clang_cl() getter (#​1357)
  • Fix clippy error in lib.rs (#​1356)
  • Regenerate target info (#​1352)
  • Fix compiler family detection issue with clang-cl on macOS (#​1328)
  • Update windows-bindgen dependency (#​1347)
  • Fix clippy warnings (#​1346)

v1.2.7

Compare Source

Other
  • Regenerate target info (#​1342)
  • Document new supported architecture names in windows::find
  • Make is_flag_supported_inner take an &Tool (#​1337)
  • Fix is_flag_supported on msvc (#​1336)
  • Allow using Visual Studio target names in find_tool (#​1335)

v1.2.6

Compare Source

Other
  • Don't inherit the /Oy flag for 64-bit targets (#​1330)

v1.2.5

Compare Source

Other
  • Check linking when testing if compiler flags are supported (#​1322)

v1.2.4

Compare Source

Other
  • Add support for C/C++ compiler for Neutrino QNX: qcc (#​1319)
  • use -maix64 instead of -m64 (#​1307)

v1.2.3

Compare Source

Other
  • Improve detection of environment when compiling from msbuild or msvc (#​1310)
  • Better error message when failing on unknown targets (#​1313)
  • Optimize RustcCodegenFlags (#​1305)

v1.2.2

Compare Source

Other
  • Inherit flags from rustc (#​1279)
  • Add support for using sccache wrapper with cuda/nvcc (#​1304)
  • Fix msvc stdout not shown on error (#​1303)
  • Regenerate target info (#​1301)
  • Fix compilation of C++ code for armv7-unknown-linux-gnueabihf (#​1298)
  • Fetch target info from Cargo even if Build::target is manually set (#​1299)
  • Fix two files with different extensions having the same object name (#​1295)
  • Allow disabling cc's ability to compile via env var CC_FORCE_DISABLE (#​1292)
  • Regenerate target info (#​1293)

v1.2.1

Compare Source

Other
  • Fix cross-compiling for Apple platforms (#​1389)

v1.2.0

Compare Source

Added
  • add i686-pc-windows-gnullvm prefix detection (#​1283)
Other
  • Allow only specifying the architecture (#​1285)
  • Fix WASM vs. WASI options (#​1284)

v1.1.37

Compare Source

Other
  • Use relative directory for obj files hash (#​1270)
  • Regenerate target info (#​1280)

v1.1.36

Compare Source

Other
  • Fix CUDA build with clang++. (#​1273)

v1.1.35

Compare Source

Other
  • Remove support for FRC (#​1268)
  • Do not add -fPIC by default on UEFI targets (#​1263)
  • Use -windows-gnu for all UEFI targets (#​1264)

v1.1.34

Compare Source

Other

v1.1.33

Compare Source

Other
  • Reduce size of cc::Build and size of generated targets (#​1257)

v1.1.32

Compare Source

Other
  • Use rustc's knowledge of LLVM/Clang target triples (#​1252)
  • Use Cargo's target information when possible (#​1225)

v1.1.31

Compare Source

Other
  • Add comment explaining why cc does not rebuild on env PATH change (#​1247)

v1.1.30

Compare Source

Other
  • Don't pass -fPIC by default on wasm (#​1245)

v1.1.29

Compare Source

Other

v1.1.28

Compare Source

Other
  • Environment variables: For one accepting boolean, treat "0", "false" and empty env as false (#​1238)

v1.1.27

Compare Source

Other
  • Revert "Use debug version of MSVC runtime library on debug (#​1231)" (#​1237)
  • Disable CC_ENABLE_DEBUG_OUTPUT if it is set to "0" (#​1234)

v1.1.26

Compare Source

Other
  • Use debug version of MSVC runtime library on debug (#​1231)

v1.1.25

Compare Source

Other
  • Remove incorrect "lib" prefixes in CXXSTDLIB doc comments (#​1228)

v1.1.24

Compare Source

Other
  • Fix wasm32-wasip1-threads: shared-memory disallowed due to not compiled with 'atomics' or 'bulk-memory' features (#​1221)
  • Reduce the need for the host target triple (#​1224)
  • Add auto cancellation for CI jobs (#​1222)

v1.1.23

Compare Source

Other
  • Update doc for detecting changes/upgrades of compilers (#​1218)

v1.1.22

Compare Source

Other
  • Don't rerun if PATH changes (#​1215)

v1.1.21

Compare Source

Other
  • disable pic for targets that end in -none (#​1212)

v1.1.20

Compare Source

Other
  • Add buildcache as known Rust and C/C++ compiler wrapper (#​1209)

v1.1.19

Compare Source

Other
  • Add support arm64e-apple-darwin (#​1207)

v1.1.18

Compare Source

Other
  • Fixed unsoundness in StderrForwarder::forward_available (#​1203)

v1.1.17

Compare Source

Fixed
  • fix finding toolchains when invoked by msbuild (#​1201)

v1.1.16

Compare Source

Other
  • Treat VxWorks wr-cc as a Gnu compiler (#​1198)

v1.1.15

Compare Source

Other
  • Add -mfloat-abi=hard as a default argument when using any arm/thumb-none-eabihf target (#​1194)

v1.1.14

Compare Source

Other
  • allow finding tools from path if VisualStudioDir is set

v1.1.13

Compare Source

Other
  • Fix detect family: should detect emscripten as clang, closes #​1185 (#​1186)

v1.1.12

Compare Source

Other

v1.1.11

Compare Source

Other
  • Add support for parsing shell encoded *FLAGS (#​1181)
  • Replace vector of tuples with BTreeMap which already is sorted and free of duplicates (#​1177)

v1.1.10

Compare Source

Other
  • Remap Windows targets triples to their LLVM counterparts (#​1176)

v1.1.9

Compare Source

Other
  • Add custom CC wrapper to the wrapper whitelist (#​1175)

v1.1.8

Compare Source

Other

v1.1.7

Compare Source

Other

v1.1.6

Compare Source

Other

v1.1.5

Compare Source

Other
  • Fix cyclic compilation: Use vendored once_cell (#​1154)

v1.1.4

Compare Source

Other

v1.1.3

Compare Source

Other
  • Use relative directory for obj files hash (#​1270)
  • Regenerate target info (#​1280)

v1.1.2

Compare Source

Other

v1.1.1

Compare Source

Other
  • Add support arm64e-apple-darwin (#​1207)

v1.1.0

Compare Source

Added
  • add cargo_output to eliminate last vestiges of stdout pollution (#​1141)

v1.0.106

Compare Source

Other

v1.0.105

Compare Source

Other
  • Regenerate windows sys bindings (#​1132)
  • Fix generate-windows-sys-bindings (#​1133)
  • Fix gen-windows-sys-binding (#​1130)
  • Fix gen-windows-sys-binding (#​1127)
  • Update windows-bindgen requirement from 0.57 to 0.58 (#​1123)

v1.0.104

Compare Source

Other
  • Fixed link break about compile-time-requirements (#​1118)

v1.0.103

Compare Source

Other
  • Fix compilation for wasm: env WASI_SYSROOT should be optional (#​1114)

v1.0.102

Compare Source

Other
  • Fix invalid wasi targets compatibility (#​1105)
  • Speedup regenerate-target-info and regenerate-windows-sys (#​1110)

v1.0.101

Compare Source

Other
  • Use Build::getenv instead of env::var* in anywhere that makes sense (#​1103)

v1.0.100

Compare Source

Other
  • Update publish.yml to use release-plz (#​1101)
  • Accept OsStr instead of str for flags (#​1100)
  • Use dep: syntax to avoid implicit features. (#​1099)
  • Minor clippy fixes. (#​1098)
  • Fix WASI compilation for C++ (#​1083)
  • Regenerate windows sys bindings (#​1096)
  • Rename regenerate-windows-sys to regenerate-windows-sys.yml (#​1095)
  • Create regenerate-windows-sys.yml (#​1094)
  • Update windows-bindgen requirement from 0.56 to 0.57 (#​1091)
  • Eagerly close tempfile to fix #​1082 (#​1087)
  • Output msvc.exe in the output directory (#​1090)
  • Fix clippy warnings on Windows (#​1088)
  • Don't try to free DLL on drop (#​1089)
  • Fix panic safety issue in StderrForwarder (#​1079)

v1.0.99

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.98...1.0.99

v1.0.98

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.97...1.0.98

v1.0.97

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.96...1.0.97

v1.0.96

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.95...1.0.96

v1.0.95

Compare Source

What's Changed

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.94...1.0.95

v1.0.94

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.93...1.0.94

v1.0.93

Compare Source

What's Changed

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.92...1.0.93

v1.0.92

Compare Source

What's Changed

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.91...1.0.92

v1.0.91

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.90...1.0.91

v1.0.90

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.89...1.0.90

v1.0.89

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.88...1.0.89

v1.0.88

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.87...1.0.88

v1.0.87

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.86...1.0.87

v1.0.86

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.85...1.0.86

v1.0.85

Compare Source

!IMPORTANT]

This release has been yanked, due to panicking in freeBSD debug build. A release without these issues will be made in the near future.

Sorry, and thanks.

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.84...1.0.85

v1.0.84

Compare Source

!IMPORTANT]

This release has been yanked, due to the Apple deployment target changes causing unintentional widespread breakage for building C++ code on the target (for projects without an explicit deployment target set). A release without these issues will be made in the near future.

Sorry, and thanks.

Changes

This isn't a complete list, but I've tried to cover everything that is either significant, or could cause problems for people using cc in configurations not covered by our tests.

As always, please file bugs if you hit issues. cc is used in many more ways than we can possibly test (especially when cross-compiling or using tier-3 platforms).

Thanks.

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.83...1.0.84

v1.0.83

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.82...1.0.83

v1.0.82

Compare Source

This release corrects a deadlock and potential performance regression present since 1.0.80, and contains no other changes. See https://github.com/rust-lang/cc-rs/pull/849 for details.

v1.0.81

Compare Source

This release exists to fix a bug introduced in 1.0.80 where we would panic if non-UTF8 were written to stderr by the C compiler. See https://github.com/rust-lang/cc-rs/pull/842 and https://github.com/rust-lang/cc-rs/issues/841 for more info.

v1.0.80

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/rust-lang/cc-rs/compare/1.0.79...1.0.80

nodejs/nan (nan)

v2.22.0

Compare Source

  • Feature: replace SetAccessor -> SetNativeDataProperty (#​977) 6bd62c9

v2.21.0

Compare Source

v2.20.0

Compare Source

v2.19.0

Compare Source

v2.18.0

Compare Source

  • Feature: Cast v8::Object::GetInternalField() return value to v8::Value (#​956) bdfee17
prettier/prettier (prettier)

v3.5.0

Compare Source

diff

🔗 Release Notes

v3.4.2

Compare Source

diff

Treat U+30A0 & U+30FB in Katakana Block as CJK (#​16796 by @​tats-u)

Prettier doesn't treat U+30A0 & U+30FB as Japanese. U+30FB is commonly used in Japanese to represent the delimitation of first and last names of non-Japanese people or “and”. The following “C言語・C++・Go・Rust” means “C language & C++ & Go & Rust” in Japanese.

<!-- Input (--prose-wrap=never) -->

C言
語
・
C++
・
Go
・
Rust

<!-- Prettier 3.4.1 -->
C言語・ C++ ・ Go ・ Rust

<!-- Prettier 3.4.2 -->
C言語・C++・Go・Rust

U+30A0 can be used as the replacement of the - in non-Japanese names (e.g. “Saint-Saëns” (Charles Camille Saint-Saëns) can be represented as “サン゠サーンス” in Japanese), but substituted by ASCII hyphen (U+002D) or U+FF1D (full width hyphen) in many cases (e.g. “サン=サーンス” or “サン=サーンス”).

Fix comments print on class methods with decorators (#​16891 by @​fisker)
// Input
class A {
  @&#8203;decorator
  /** 
   * The method description
   *
  */
  async method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}

// Prettier 3.4.1
class A {
  @&#8203;decorator
  async /**
   * The method description
   *
   */
  method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}

// Prettier 3.4.2
class A {
  @&#8203;decorator
  /**
   * The method description
   *
   */
  async method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}
Fix non-idempotent formatting (#​16899 by @​seiyab)

This bug fix is not language-specific. You may see similar change in any languages. This fixes regression in 3.4.0 so change caused by it should yield same formatting as 3.3.3.

// Input
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

// Prettier 3.4.1 (first)
<div>
  foo
  <span>
    longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo
  </span>, abc
</div>;

// Prettier 3.4.1 (second)
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

// Prettier 3.4.2
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

v3.4.1

Compare Source

diff

Remove unnecessary parentheses around assignment in v-on (#​16887 by @​fisker)
<!-- Input -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>

<!-- Prettier 3.4.0 -->
<template>
  <button @&#8203;click="(foo += 2)">Click</button>
</template>

<!-- Prettier 3.4.1 -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>

v3.4.0

Compare Source

diff

🔗 Release Notes

v3.3.3

Compare Source

diff

Add parentheses for nullish coalescing in ternary (#​16391 by @​cdignam-segment)

This change adds clarity to operator precedence.

// Input
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;

// Prettier 3.3.2
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;

// Prettier 3.3.3
foo ? (bar ?? foo) : baz;
(foo ?? bar) ? a : b;
a ? b : (foo ?? bar);
Add parentheses for decorator expressions (#​16458 by @​y-schneider)

Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5.

// Input
@&#8203;(foo`tagged template`)
class X {}

// Prettier 3.3.2
@&#8203;foo`tagged template`
class X {}

// Prettier 3.3.3
@&#8203;(foo`tagged template`)
class X {}
Support @let declaration syntax (#​16474 by @​sosukesuzuki)

Adds support for Angular v18 @let declaration syntax.

Please see the following code example. The @let declaration allows you to define local variables within the template:

@&#8203;let name = 'Frodo';

<h1>Dashboard for {{name}}</h1>
Hello, {{name}}

For more details, please refer to the excellent blog post by the Angular Team: Introducing @​let in Angular.

We also appreciate the Angular Team for kindly answering our questions to implement this feature.

v3.3.2

Compare Source

diff

Fix handlebars path expressions starts with @ (#​16358 by @​Princeyadav05)
{{! Input }}
<div>{{@&#8203;x.y.z}}</div>

{{! Prettier 3.3.1 }}
<div>{{@&#8203;x}}</div>

{{! Prettier 3.3.2 }}
<div>{{@&#8203;x.y.z}}</div>

v3.3.1

Compare Source

diff

Preserve empty lines in front matter (#​16347 by @​fisker)
<!-- Input -->
---
foo:
  - bar1

  - bar2

  - bar3
---
Markdown

<!-- Prettier 3.3.0 -->

---
foo:
  - bar1
  - bar2
  - bar3
---

Markdown

<!-- Prettier 3.3.1 -->
---
foo:
  - bar1

  - bar2

  - bar3
---

Markdown
Preserve explicit language in front matter (#​16348 by @​fisker)
<!-- Input -->
---yaml
title: Hello
slug: home
---

<!-- Prettier 3.3.0 -->
---
title: Hello
slug: home
---

<!-- Prettier 3.3.1 -->
---yaml
title: Hello
slug: home
---
Avoid line breaks in import attributes (#​16349 by @​fisker)
// Input
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" };

// Prettier 3.3.0
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type:
  "json" };

// Prettier 3.3.1
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" };

v3.3.0

Compare Source

diff

🔗 Release Notes

v3.2.5

Compare Source

diff

Support Angular inline styles as single template literal (#​15968 by @​sosukesuzuki)

Angular v17 supports single string inline styles.

// Input
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.4
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.5
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `
    h1 {
      color: blue;
    }
  `,
})
export class AppComponent {}

Unexpected embedded formatting for Angular template (#​15969 by @​JounQin)

Computed template should not be considered as Angular component template

// Input
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.4
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{ hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.5
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}
Use "json" parser for tsconfig.json by default (#​16012 by @​sosukesuzuki)

In v3.2.0, we introduced "jsonc" parser which adds trailing comma by default.

When adding a new parser we also define how it will be used based on the linguist-languages data.

tsconfig.json is a special file used by TypeScript, it uses .json file extension, but it actually uses the JSON with Comments syntax. However, we found that there are many third-party tools not recognize it correctly because of the confusing .json file extension.

We decide to treat it as a JSON file for now to avoid the extra configuration step.

To keep using the "jsonc" parser for your tsconfig.json files, add the following to your .prettierrc file

{
  "overrides": [
    {
      "files": ["tsconfig.json", "jsconfig.json"],
      "options": {
        "parser": "jsonc"
      }
    }
  ]
}

v3.2.4

Compare Source

prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "jsonc" }

v3.2.3

Compare Source

diff

Throw errors for invalid code (#​15881 by @​fisker, @​Josh-Cena, @​auvred)
// Input
1++;

// Prettier 3.2.2
1++;

// Prettier 3.2.3
SyntaxError: Invalid left-hand side expression in unary operation (1:1)
> 1 | 1++;
    | ^
// Input
try {} catch (error = 1){}

// Prettier 3.2.2
try {
} catch (error) {}

// Prettier 3.2.3
SyntaxError: Catch clause variable cannot have an initializer. (1:23)
> 1 | try {} catch (error = 1){}
    |                       ^
Fix parser inference (#​15927 by @​fisker)
// Prettier 3.2.2
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "json" }

// Prettier 3.2.3
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "jsonc" }

v3.2.2

Compare Source

diff

Fix crash when parsing template literal CSS in a JSX style tag using a spread attribute (#​15896 by @​eelco)

For example this code would crash before:

<style {...spread}>{`.{}`}</style>
Fix formatting error on optional call expression and member chain (#​15920 by @​sosukesuzuki)
// Input
a(() => {}, c?.d());

// Prettier 3.2.1
TypeError: Cannot read properties of undefined (reading 'type')

// Prettier 3.2.2
a(() => {}, c?.d());

v3.2.1

Compare Source

diff

Fix formatting error on member chain (#​15915 by @​sosukesuzuki)
// Input
test().test2().test2(thing?.something);

// Prettier 3.2.0
TypeError: Cannot read properties of undefined (reading 'type')

// Prettier 3.2.1
test().test2().test2(thing?.something);

v3.2.0

Compare Source

diff

🔗 Release Notes

v3.1.1

Compare Source

diff

Fix config file search (#​15363 by @​fisker)

Previously, we start search for config files from the filePath as a directory, if it happened to be a directory and contains config file, it will be used by mistake.

├─ .prettierrc
└─ test.js         (A directory)
  └─ .prettierrc
// Prettier 3.1.0
await prettier.resolveConfigFile(new URL("./test.js", import.meta.url));
// <CWD>/test.js/.prettierrc

// Prettier 3.1.1
await prettier.resolveConfigFile(new URL("./test.js", import.meta.url));
// <CWD>/.prettierrc

Since Prettier v3, we stopped following symbolic links, however in some use cases, the symbolic link patterns can't be filtered out, and there is no way to prevent Prettier from throwing errors.

In Prettier 3.1.1, you can use --no-error-on-unmatched-pattern to simply skip symbolic links.

Consistently use tabs in ternaries when useTabs is true (#​15662 by @​auvred)
// Input
aaaaaaaaaaaaaaa
	? bbbbbbbbbbbbbbbbbb
	: ccccccccccccccc
	  ? ddddddddddddddd
	  : eeeeeeeeeeeeeee
	    ? fffffffffffffff
	    : gggggggggggggggg;

// Prettier 3.1.0
aaaaaaaaaaaaaaa
	? bbbbbbbbbbbbbbbbbb
	: ccccccccccccccc
	  ? ddddddddddddddd
	  : eeeeeeeeeeeeeee
	    ? fffffffffffffff
	    : gggggggggggggggg;

// Prettier 3.1.1
aaaaaaaaaaaaaaa
	? bbbbbbbbbbbbbbbbbb
	: ccccccccccccccc
		? ddddddddddddddd
		: eeeeeeeeeeeeeee
			? fffffffffffffff
			: gggggggggggggggg;
Improve config file search (#​15663 by @​fisker)

The Prettier config file search performance has been improved by more effective cache strategy.

Fix unstable and ugly formatting for comments in destructuring patterns (#​15708 by @​sosukesuzuki)
// Input
const {
  foo,
  // bar
  // baz
}: Foo = expr;

// Prettier 3.1.0
const {
  foo1,
} // bar
// baz
: Foo = expr;

// Prettier 3.1.0 second output
const {
  foo1, // bar
} // baz
: Foo = expr;

// Prettier 3.1.1
const {
  foo1,
  // bar
  // baz
}: Foo = expr;
Support "Import Attributes" (#​15718 by @​fisker)

TypeScript 5.3 supports the latest updates to the import attributes proposal.

import something from "./something.json" with { type: "json" };
Fix false claim in docs that cursorOffset is incompatible with rangeStart/rangeEnd (#​15750 by @​ExplodingCabbage)

The cursorOffset option has in fact been compatible with rangeStart/rangeEnd for over 5 years, thanks to work by @​ds300. However, Prettier's documentation (including the CLI --help text) continued to claim otherwise, falsely. The documentation is now fixed.

Keep curly braces and from keyword in empty import statements (#​15756 by @​fisker)
// Input
import { } from 'foo';
import { /* comment */ } from 'bar';

// Prettier 3.1.0
import {} from "foo";
import /* comment */ "bar";

// Prettier 3.1.1
import {} from "foo";
import {} from /* comment */ "bar";
Keep empty import attributes and assertions (#​15757 by @​fisker)
// Input
import foo from "foo" with {};
import bar from "bar" assert {};

// Prettier 3.1.0
import foo from "foo";
import bar from "bar";

// Prettier 3.1.1
import foo from "foo" with {};
import bar from "bar" assert {};

v3.1.0

Compare Source

diff

🔗 Release Notes

v3.0.3

Compare Source

diff

Add preferUnplugged: true to package.json (#​15169 by @​fisker and @​so1ve)

Prettier v3 uses dynamic imports, user will need to unplug Prettier when Yarn's PnP mode is enabled, add preferUnplugged: true to package.json, so Yarn will install Prettier as unplug by default.

Support shared config that forbids require() (#​15233 by @​fisker)

If an external shared config package is used, and the package exports don't have require or default export.

In Prettier 3.0.2 Prettier fails when attempt to require() the package, and throws an error.

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in <packageName>/package.json
Allow argument of require() to break (#​15256 by @​fisker)
// Input
const plugin = require(
  global.STANDALONE
    ? path.join(__dirname, "../standalone.js")
    : path.join(__dirname, "..")
);

// Prettier 3.0.2
const plugin = require(global.STANDALONE
  ? path.join(__dirname, "../standalone.js")
  : path.join(__dirname, ".."));

// Prettier 3.0.3
const plugin = require(
  global.STANDALONE
    ? path.join(__dirname, "../standalone.js")
    : path.join(__dirname, "..")
);
Do not print trailing commas in arrow function type parameter lists in ts code blocks (#​15286 by @​sosukesuzuki)
<!-- Input -->
```ts
const foo = <T>() => {}
```

<!-- Prettier 3.0.2 -->
```ts
const foo = <T,>() => {}
```

<!-- Prettier 3.0.3 -->
```ts
const foo = <T>() => {}
```
Support TypeScript 5.2 using / await using declaration (#​15321 by @​sosukesuzuki)

Support for the upcoming Explicit Resource Management feature in ECMAScript. using / await using declaration

{
   using foo = new Foo();
   await using bar = new Bar();
}

v3.0.2

Compare Source

diff

Break after = of assignment if RHS is poorly breakable AwaitExpression or YieldExpression (#​15204 by @​seiyab)
// Input
const { section, rubric, authors, tags } = await utils.upsertCommonData(mainData);

// Prettier 3.0.1
const { section, rubric, authors, tags } = await utils.upsertCommonData(
  mainData,
);

// Prettier 3.0.2
const { section, rubric, authors, tags } =
  await utils.upsertCommonData(mainData);
Do not add trailing comma for grouped scss comments (#​15217 by @​auvred)
/* Input */
$foo: (
	'property': (),
	// comment 1
	// comment 2
)

/* Prettier 3.0.1 */
$foo: (
  "property": (),
  // comment 1
  // comment 2,
);

/* Prettier 3.0.2 */
$foo: (
  "property": (),
  // comment 1
  // comment 2
);
Print declare and export keywords for nested namespace (#​15249 by @​sosukesuzuki)
// Input
declare namespace abc1.def {}
export namespace abc2.def {}

// Prettier 3.0.1
namespace abc1.def {}
namespace abc2.def {}

// Prettier 3.0.2
declare namespace abc1.def {}
export namespace abc2.def {}

v3.0.1

Compare Source

diff

Fix cursor positioning for a special case (#​14812 by @​fisker)
// <|> is the cursor position

/* Input */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>  } from "fs"

/* Prettier 3.0.0 */
// All messages are represented in JSON.
// So, the prettier.py <|>controls a subprocess which spawns "node {this_file}".
import {} from "fs"

/* Prettier 3.0.1 */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>} from "fs"
Fix plugins/estree.d.ts to make it a module (#​15018 by @​kingyue737)

Add export {} in plugins/estree.d.ts to fix the "File is not a module" error

Add parenthesis around leading multiline comment in return statement (#​15037 by @​auvred)
// Input
function fn() {
  return (
    /**
     * @&#8203;type {...}
     */ expression
  )
}

// Prettier 3.0.0
function fn() {
  return /**
   * @&#8203;type {...}
   */ expression;
}

// Prettier 3.0.1
function fn() {
  return (
    /**
     * @&#8203;type {...}
     */ expression
  );
}
Add support for Vue "Generic Components" (#​15066 by @​auvred)

https://blog.vuejs.org/posts/vue-3-3#generic-components

<!-- Input -->
<script setup lang="ts" generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"></script>

<!-- Prettier 3.0.0 -->
<script
  setup
  lang="ts"
  generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"
></script>

<!-- Prettier 3.0.1 -->
<script
  setup
  lang="ts"
  generic="
    T extends Type1 & Type2 & (Type3 | Type4),
    U extends string | number | boolean
  "
></script>
Fix comments print in IfStatement (#​15076 by @​fisker)
function a(b) {
  if (b) return 1; // comment
  else return 2;
}

/* Prettier 3.0.0 */
Error: Comment "comment" was not printed. Please report this error!

/* Prettier 3.0.1 */
function a(b) {
  if (b) return 1; // comment
  else return 2;
}
Add missing type definition for printer.preprocess (#​15123 by @​so1ve)
export interface Printer<T = any> {
  // ...
+ preprocess?:
+   | ((ast: T, options: ParserOptions<T>) => T | Promise<T>)
+   | undefined;
}
Add missing getVisitorKeys method type definition for Printer (#​15125 by @​auvred)
const printer: Printer = {
  print: () => [],
  getVisitorKeys(node, nonTraversableKeys) {
    return ["body"];
  },
};
Add typing to support readonly array properties of AST Node (#​15127 by @​auvred)
// Input
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");

// Prettier 3.0.0
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");
//                  ^ Argument of type '"readonlyArray"' is not assignable to parameter of type '"regularArray"'. ts(2345)

// Prettier 3.0.1
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");
Add space before unary minus followed by a function call (#​15129 by @​pamelalozano)
// Input
div {
  margin: - func();
}

// Prettier 3.0.0
div {
  margin: -func();
}

// Prettier 3.0.1
div {
  margin: - func();
}

v3.0.0

Compare Source

diff

🔗 Release Notes

tree-sitter/tree-sitter (tree-sitter)

v0.25.1

Compare Source

Changelog
[0.25.1] — 2025-02-02
Features
  • cli: Specify abi version via env var (#​4173)
Bug Fixes
  • bindings: Correct Zig bindings to expose a language function
  • lib: Prevent finished_tree assertion failure (#​4176)
Documentation
  • Correct build steps for WASM files
Build System and CI
  • Use ubuntu-22.04 for x64 builds (#​4175)
  • Bump version to 0.25.1
Other
  • rust: Correct doc comments

v0.25.0

Compare Source

Changelog

[0.25.0] — 2025-02-01

Notices

This is a large release. As such, a few major changes and how to adapt to them are outlined below:

  • web-tree-sitter was rewritten in TypeScript. With that, we also now publish the sourcemaps, and debug builds for the library. We also publish both CommonJS and ESM modules.
  • The internal ABI was bumped to 15. The main benefits this brings is that the language name, version, supertype info, and reserved words are added to the parsers. To use ABI 15, you must have a tree-sitter.json file in your repository, since the version information for the parser is pulled from this file.
  • Parsing and Querying should be cancelled using the "progress callback", rather than setting a timeout or a cancellation flag, which are now deprecated. To do so, use the "parse/query with options" function in the bindings you choose to use, in the next release the old way of timing out parsing will be removed, which allows us to get rid of our dependency on the time.h headers in the core library.
  • MISSING nodes can now be queried, and queries involving supertypes are properly validated now.
  • The ts_node_child_containing_descendant function was removed; use ts_node_child_with_descendant instead (which has nearly the same behavior but can also return descendant.)
  • TSInput now includes a (mandatory) new field DecodeFunction, which allows passing a custom decode function. To use the builtin function, pass NULL.
  • In the DSL, there is now a RustRegex function, which takes in a Rust regex as a string. All of the capabilities of Rust's regex engine are available here, which allows for some nice features that aren't possible with JavaScript regexes.
  • We've migrated our documentation to mdBook, and greatly improved the docs.
Breaking
  • Properly handle UTF-16 endianness encoding (#​3740)
  • Bump internal abi to 15 (#​3803)
  • Update playground with new web bindings (#​4121)
  • bindings: Update swift bindings (#​4154)
  • cli: Remove migration code for tree-sitter.json (#​4107)
  • generate: Use regex_syntax::Hir for expanding regexes (#​3831)
  • lib: Remove ts_node_child_containing_descendant (#​4107)
  • lib: Add the ability to specify a custom decode function (#​3833)
  • web: Rewrite the library in TypeScript (#​4121)
  • web: Use the WASM module in the bindings, and not the other way around (#​4121)
  • web: Rename pattern to patternIndex in QueryMatch (#​4141)
  • web: Deprecate Language.query in favor of new Query (#​4141)
Features
  • Drop legacy binding updates (#​3734)
  • Bump version to 0.25 (#​3752)
  • Allow setting the output directory for generated source files (#​2614)
  • Move scripts to xtasks (#​3758)
  • Add CST pretty-printer for parser output (#​3762)
  • Add version subcommand for versioning grammars (#​3786)
  • Add build sha to parser.c header comment (#​3828)
  • Implement a cache for get_column (#​2503)
  • Generate schema in tree-sitter.json (#​3947)
  • Support querying missing nodes (#​3887)
  • Add flag to output css classes instead of inline styles in HTML highlighter output (#​3879)
  • Add xtask to bump emscripten-version (#​4015)
  • Add 'reserved word' construct (#​3896)
  • Add Supertype API (#​3938)
  • Support passing in a Rust regex in the grammar dsl (#​4076)
  • Allow parser balancing to be cancellable (#​4122)
  • Remove lazy_static in favor of LazyLock (#​4130)
  • Add and apply eslint config (#​4121)
  • Begin autogenerating web-tree-sitter.d.ts (#​4121)
  • Publish both CJS and ESM files (#​4121)
  • Add a patternIndex field to QueryCapture (#​4141)
  • Improve PredicateStep types (#​4141)
  • Add the semantic version to TSLanguage, and expose an API for retrieving it (#​4135)
  • Add error information in the progress callback (#​3987)
  • bindings: Auto-detect scanners (#​3809)
  • bindings: Drop language name from node (#​3184)
  • bindings: Update some binding files (#​3952)
  • bindings: Drop python 3.9 support (#​3799)
  • bindings: Support free-threaded python build (#​3799)
  • bindings: Add opt-in zig bindings (#​4144)
  • bindings: Use cc 1.2 for Rust (#​4156)
  • cli: Verify assertions for every carat in tests, not just the first one (#​3927)
  • cli: Add nushell completions (#​4000)
  • cli: Don't validate email addresses in init command (#​3999)
  • cli: Show parse times in testing output (#​3939)
  • cli: Display parse and edit times separately for parse --time (#​4016)
  • cli: Make input handling agnostic (#​4054)
  • cli: Rework parse to use new input handler (#​4054)
  • cli: Rework query to use new input handler (#​4054)
  • cli: Rework highlight to use new input handler (#​4054)
  • cli: Rework tags to use new input handler (#​4054)
  • cli: Add json summary of parsing (#​4048)
  • cli: Allow test subcommand to include/exclude by corpus test file names (#​4095)
  • cli: Improve readability of parse debug output (#​4118)
  • generate: Add a comment with the tree-sitter version (#​3825)
  • generate: Add .exp and .lib files to gitignore template (#​4079)
  • generate: Explicitly disallow non-terminals in non-terminals (#​4111)
  • generate: Properly filter out unused rules (#​4111)
  • generate: Add an extra field for extra nodes in node-types.json (#​4116)
  • generate: Defer to ABI 14 if tree-sitter.json doesn't exist, rather than hard failing (#​4156)
  • highlight: Mark TSHighlighter fields as pub (#​3990)
  • init: Allow dashes in scopes (#​4142)
  • init: Add an optional funding field (#​4142)
  • init: Add a class-name field to grammars (#​4142)
  • init: Add a title field to grammars (#​4142)
  • lib: Wrap subtrees with changes in green circles (#​3741)
  • lib: Add the language name (#​3184)
  • lib: Add ts_parser_parse_with_options (#​3843)
  • lib: Add ts_query_cursor_exec_with_options (#​3843)
  • lib: Use const for TSCharacterRanges (#​4027)
  • lib: Implement Send + Sync for WasmStore (#​4130)
  • loader: Add language_for_configuration (#​3816)
  • loader: Add error message when a tree-sitter.json file is invalid (#​3897)
  • loader: Support multi-barreled file extensions (#​3880)
  • loader: Add a way to get the cwd's language config (#​4054)
  • make,cmake: Install queries along with parser libraries (#​3958)
  • node: Support single-file executables via bun build --compile (#​3905)
  • node: Update bindings when necessary (#​3906)
  • playground: Provide colored highlight for captures in code editor (#​4089)
  • query: Structurally verify supertype queries (#​4110)
  • rust: Add Language::node_kind_is_supertype (#​3788)
  • rust: Add *_with_options to the parser and query cursor, deprecate old functions (#​3843)
  • rust: Remove usage of deprecated functions (#​3843)
  • rust: Use thiserror for generate crate (#​4048)
  • tags: Implement Send + Sync for TagsConfiguration (#​4130)
  • wasm: Add Supertype API (#​3938)
  • web: Add missing API functions (#​4074)
  • web: Document the API (#​4121)
  • web: Use custom error type for query errors (#​4141)
  • web: Include C source files for debugging (#​4171)
  • xtask: Add upgrade-wasmtime command (#​3771)
  • xtask: Let upgrade-wasmtime update Cargo.lock (#​3890)
  • xtask: Check wasm exports (#​4074)
  • xtask: add --watch option for build-wasm and check-wasm-exports xtask commands (#​4082)
  • xtask: Add success message for wasm watchers (#​4131)
Bug Fixes
  • Return LanguageRef in Parser::language (#​3797)
  • Make sha generation work with submodules (#​3828)
  • Disallow tokens that match the empty string (#​3864)
  • Compiler warning (#​3936)
  • Clippy lint
  • Clippy lints
  • Minor issues with CI (#​3971)
  • Keep highlight names list consistent in the docs and cli (#​2065)
  • Re-export StreamingIterator and StreamingIteratorMut (#​4034)
  • Update outdated links (#​4064)
    platform (#​4106)
  • bindings: Update CMakeLists.txt file (#​3869)
  • bindings: Fix scanner check in binding.gyp (#​3874)
  • bindings: Include headers & queries in python sdist (#​3952)
  • cli: Do not stop printing dot graphs until edits are re-parsed (#​3741)
  • cli: Remove unnecessary referencing/dereferencing in build_parse_table (#​3798)
  • cli: Pass all fields to tree-sitter.json in init (#​3856)
  • cli: Use contains over is in warning (#​3867)
  • cli: Replace nerd font symbols with unicode symbols (#​3835)
  • cli: Count skipped tests correctly (#​3835)
  • cli: Correct warning message (#​4009)
  • cli: Only remove test input's trailing '\r' if running on Windows (#​4106)
  • cli: Fix error display, considering structured data returned from generate command (#​4108)
  • cli: Correct default query paths (#​4009)
  • cli: Gracefully handle OOB assertions (#​4011)
  • cli: Handle nested tags test files (#​4010)
  • cli: Use xdg config directory on macOS (#​4026)
  • cli: Correct range in cst pretty printer (#​4057)
  • cli: Remove double print of generate errors (#​4083)
  • cli: Correct test update option (#​4109)
  • cli: Improve error message for nonterminals used in token rule (#​4115)
  • cli: Minor discrepancies with pretty printer (#​4147)
  • cli: Correct traversal behavior for finding error nodes (#​4152)
  • cli: Propagate error flag in parse summary (#​4164)
  • cmake: Use current source dir for EXISTS check (#​3907)
  • docs: Update link for "Error Detection and Recovery in LR Parsers" (#​3866)
  • dsl: Fix types for RuleBuilder (#​3812)
  • endian: Support POSIX mode on Apple platforms (#​4068)
  • endian: Rely on system headers where possible (#​4149)
  • generate: Do not set the unit reduction symbol if it's in the extras array (#​3868)
  • generate: Improve display of token sets with escape characters (#​4092)
  • generate: Improve error message when a duplicate token is used as the word token (#​4092)
  • init: Use camel name from config in missing spots (#​3790)
  • init: Use current path if unspecified (#​3795)
  • init: Don't prepend the default filetype with a . (#​4142)
  • init: Handle parser name replacements better when a kebab-case name is expected (#​4142)
  • lib: Check point, byte ranges in ts_query_cursor_set (#​3865)
  • lib: check point, byte ranges in node_descendant_for (#​3865)
  • lib: Correct unexpected side effect in get_column when the lexer is at EOF (#​3764)
  • lib: Fix compilation issue on windows with endian.h (#​3772)
  • lib: Properly reset the lexer's start postiion (#​3770)
  • lib: Add parameter names in declarations in subtree.h (#​3787)
  • lib: Handle compiler warnings (#​3781)
  • lib: Simplify edge cases with zero-width tokens (#​3836)
  • lib: Correctly fetch the node name in query errors (#​3904)
  • lib: Correct next sibling of zero width node (#​3898)
  • lib: Correct escape detection for invalid anonymous nodes (#​3945)
  • lib: Use clock_gettime on macOS again (#​3976)
  • lib: Add saturating subtraction to prevent integer underflow (#​4037)
  • lib: Correct fix for parsing hang with ranges containing empty points (#​4037)
  • lib: Propagate last_child status to pattern alternatives in queries (#​4067)
  • lib: Prevent wildcards from incorrectly marking child patterns as infallible (#​4069)
  • lib: Don't consider unfinished captures definite when the following step is immediate (#​4070)
  • lib: Avoid OOB access when updating alternative steps (#​4096)
  • lib: Use inclusive range check for non-empty nodes in next sibling computation (#​4097)
  • lib: Temporarily allow lint with false positives (#​4124)
  • lib: Don't always clear the tree stack (#​4132)
  • loader: Don't print warnings if the file is not found (#​3909)
  • playground: Correct link to upstream playground (#​4040)
  • playground: Ensure local playground is initialized (#​4040)
  • playground: Add dark theme, align ui more akin to upstream playground (#​4040)
  • playground: Add back underline on tree nodes, and query error underline (#​4040)
  • playground: Restore select value's text from local storage (#​4040)
  • playground: Gracefully fallback to JavaScript if the select info is undefined
  • playground: Work around lack of module support in mdbook (#​4140)
  • query: Ensure immediate matches for any node when an anchor follows a wildcard node (#​4047)
  • rust: Fix progress callback scope to prevent premature drop (#​3863)
  • rust: Adapt to a few new nightly lints (#​4045)
  • rust: Use PathBuf for --query-paths highlight option (#​4071)
  • rust: Adapt to a few new nightly lints (#​4099)
  • templates: Properly replace author email (#​3742)
  • wasm: Check docker presence without arguments (#​4087)
  • wasm: Allow passing in ERROR in descendantsOfType (#​4103)
  • web: Correct getExtent (#​4074)
  • web: Correct builds for CJS (#​4121)
  • web: Only export public types (#​4141)
  • web: Correct debug file location (#​4157)
  • web: Update check-artifacts script (#​4158)
  • web: Correct doc comment (#​4166)
  • xtask: Correct header path (#​3803)
  • xtask: Remove the test_flags arg if it's empty for cargo test (#​3889)
  • xtask: Bring back language and example filter (#​3926)
  • xtask: Add emscription version in commit msg (#​4020)
  • xtask: Adapt check-wasm-exports to web changes (#​4121)
Performance
  • loader: Improve language lookup speed (#​3776)
Documentation
  • Update changelog
  • Update changelog
  • Recommend npm install for editor integration (#​3855)
  • Code-format repro commands in bug report template (#​3852)
  • Fix missing links (#​3857)
  • Add missing tags description (#​3923)
  • Remove CHANGELOG.md (#​3928)
  • Add documentation for TSPoint coordinates (#​3949) (#​3949)
  • Fix typo (#​4024)
  • Clarify the start rule of a grammar (#​4028)
  • Migrate to mdbook (#​4032)
  • Fix link to contributing.md
  • Add guide on contributing to docs (#​4035)
  • Move assets to correct path (#​4040)
  • Add favicon and logo (#​4040)
  • Add back detailed info about points
  • Add --test-number entries for query, highlight, and tag subcommands (#​4054)
  • Clarify data returned by QueryCaptures during iteration (#​4073)
  • Add mdbook-admonish for better tooltips
  • Add note on not duplicating the word token rule (#​4092)
  • Update playground references (#​4093)
  • Clarify that the optional fields are a function that take in the grammar object
  • Add example usage of conflicts (#​4098)
  • Improve docs for contributing to docs (#​4100)
  • Improve docs around lexical precedence (#​4101)
  • Add information about the scoping of cursors (#​4102)
  • Fix broken link (#​4127)
  • Add documentation on updating and publishing grammars (#​4135)
  • Add guidance about node naming conventions (#​4148)
  • Add missing summary element (#​4150)
  • lib: Improve documentation on ts_tree_get_changed_ranges and ts_query_cursor_set_{byte,point}_range (#​4114)
  • rust: Updated README to reflect language initialization updates (#​3757)
  • rust: Document optional features (#​3822)
  • rust: Add --locked to installation instructions (#​3850)
  • rust: Update doc comment on node ids (#​3364)
  • scanner: Add overview to the scan function
  • web: Add instructions for Vite (#​2830)
  • web: Update process on fetching WASM files (#​4121)
  • web: Update docs (#​4121)
  • web: Update README and add CONTRIBUTING docs (#​4121)
  • web: Update type definitions (#​4141)
  • xtask: Update doc to use xtask, not scripts
Refactor
  • Reuse symbol variable in subtype map generator (#​3942)
  • Rewrite scripts in typescript (#​4121)
  • cli: Replace embedded xterm colors file with ansi_colours (#​4151)
  • web: Use fs/promises (#​3793)
  • web: Move CaptureQuantifier definition (#​4141)
  • web: Break apart the logic for constructing a query (#​4141)
Testing
  • Ignore flaky test for now (#​4074)
  • Improve test coverage (#​4134)
  • Update tests (#​4141)
  • Update tests (#​4121)
  • rust: Correct expected and actual spots in assert_eq calls
Build System and CI
  • Tweak Cargo.tomls (#​3754)
  • Fix incorrect variable checks (#​3755)
  • Configure clippy lints at the workspace level (#​3758)
  • Tune compiler warnings
  • Major overhaul (#​3774)
  • Add nvim-treesitter parser tests (#​3785)
  • Treat incompatible pointer warning as error
  • Build lib with wasmtime (#​3781)
  • Move `generate-wasm-exports-lists to xtask (#​3831)
  • Remove unicode files and script, move cliff.toml (#​3831)
  • Add bindgen workflow
  • Regenerate bindings.rs & add Language::name (#​3847)
  • Bump deps (#​4013)
  • Add workflow to update emscripten (#​4015)
  • Don't run ci if documentation files & friends have changed
  • Don't install cross if it already exists (#​4047)
  • Use correct xtask command to update emscripten (#​4052)
  • Bump actions/configure-pages from 4 to 5 in the actions group (#​4050)
  • Fix typo (#​4061)
  • Regenerate fixtures upon changes to parser.h, alloc.h, array.h
  • Update docs workflow
  • Bump other crates' MSRV to 1.82 (#​4111)
  • Add arm ubuntu runner, & use latest runners (#​4123)
  • Add linting step for web-tree-sitter (#​4121)
  • Go back to emulating linux arm64 (#​4142)
  • Bump tree-sitter-language to 0.1.4
  • Bump dependencies (#​4157)
  • Update authors (#​4172)
  • bindgen: Only check bindgen output when api.h or bindings.rs changes (#​4036)
  • bindings: Improve cmake file (#​3735)
  • bindings: Rename cmake test target (#​3860)
  • bindings: Move header to tree_sitter subdirectory (#​4104)
  • changelog: Prepend to the changelog
  • cli: Get build sha via git command (#​3827)
  • cli: Explicitly include files (#​4161)
  • cliff: Rename commit.github to commit.remote (#​4116)
  • cmake: Support amalgamated build (#​3731)
  • cmake: Correct library scopes (#​3733)
  • deps: Bump the cargo group across 1 directory with 2 updates
  • deps: Bump wasmtime to v25.0.2 (#​3767)
  • deps: Bump wasmtime to v25.0.2 (#​3771)
  • deps: Bump cc from 1.1.28 to 1.1.30 in the cargo group
  • deps: Bump wasmtime to v26.0.0 (#​3819)
  • deps: Bump wasmparser in the cargo group across 1 directory
  • deps: Bump wasmtime from 26.0.0 to 26.0.1
  • deps: Bump wasmtime-c-api to v26.0.1 (#​3890)
  • deps: Bump @​eslint/plugin-kit from 0.2.0 to 0.2.3 in /cli/eslint (#​3946)
  • deps: Bump cross-spawn from 7.0.3 to 7.0.5 in /cli/eslint (#​3948)
  • deps: Bump the cargo group across 1 directory with 9 updates (#​3953)
  • deps: Bump clap_complete from 4.5.38 to 4.5.39 in the cargo group (#​4014)
  • deps: Bump the cargo group across 1 directory with 7 updates
  • deps: Bump emscripten to 3.1.74 (#​4060)
  • deps: Bump cc from 1.2.6 to 1.2.7 in the cargo group (#​4080)
  • deps: Bump the cargo group with 2 updates (#​4119)
  • deps: Bump the cargo group with 7 updates
  • deps: Bump emscripten to 4.0.1 (#​4129)
  • deps: Bump wasmtime-c-api to v29.0.1 (#​4155)
  • deps-dev: Bump vite from 6.0.7 to 6.0.11 in /lib/binding_web (#​4137)
  • docs: Only re-deploy docs when any file in docs has changed
  • emscripten: Set the git user and email with the cli
  • make: Fix tree-sitter.pc generation (#​3745) (#​3745)
  • release: Use the ref name for the release tag (#​4113)
  • release: Correct build steps for web-tree-sitter
  • rust: Bump the lib's MSRV to 1.76 (#​4111)
  • swift: Include all source files
  • web: Use files in package.json instead of .npmignore (#​4121)
  • web: Bump deps
  • web: Relocate source files in WASM sourcemap
  • zig: Add optional wasmtime dependency (#​3738)
  • zig: Use build root instead of cwd (#​3944) (#​3944)
Other
  • Misc clippy lints (#​3753)
  • Remove unnecessary fuzz and profile helpers (#​3758)
  • Merge pull request #​3765 from tree-sitter/dependabot/cargo/cargo-a8e37abc8d (#​3765)
  • Memory errors in wasm_store
  • "Memory errors in wasm_store" (#​3783)
  • Merge pull request #​3789 from tree-sitter/dependabot/cargo/cargo-283306c349 (#​3789)
  • Merge pull request #​3832 from tree-sitter/dependabot/cargo/cargo-ff991ead52 (#​3832)
  • Link to Emacs’ Tree-sitter documentation (#​3881)
  • Merge pull request #​3885 from tree-sitter/dependabot/cargo/wasmtime-26.0.1 (#​3885)
  • Fix typo in doc comment (#​4022) (#​4022)
  • Correct typos (#​4029)
  • Rephrase extends beyond to contains or starts after (#​4046)
  • Move command help strings to doc comments (#​4065)
  • Fix doc comment
  • Readd skipped test (#​4110)
  • A few minor lints (#​4133)
  • Cleanup unused code
  • A few more minor lints (#​4138)
  • Add FUNDING.yml
  • Update FUNDING.yml
  • Adapt to latest clippy lints
  • bindings: Clean up package.json
  • bindings: Improve gitattributes file
  • bindings: Drop pkg-config Requires field
  • bindings: Correct editorconfig indent size (#​3808)
  • bindings: More small changes (#​3813)
  • bindings: Include tree-sitter.json file
  • bindings: Update go binding version (#​3884)
  • bindings: Include license file in crate (#​4168)
  • cli: Minor correction in comments (#​3739)
  • generate: Remove unused fields (#​4059)
  • templates: Update npm packages
  • web: Update type definitions (#​4166)

v0.24.7

Compare Source

[0.24.7] - 2025-01-12

Bug Fixes
  • lib: Use inclusive range check for non-empty nodes in next sibling computation

v0.24.6

Compare Source

0.24.6] - 2024-12-27

##### Bug Fixes

-   **playground**: backport new playground

### [`v0.24.5`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.5)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.4...v0.24.5)

##### \[0.24.5] - 2024-12-11

##### Features

-   Move scripts to xtasks

##### Bug Fixes

-   Compiler warning
-   Sync cmake with master
-   **lib**: Correct next sibling of zero width node
-   **lib**: Use `clock_gettime` on macOS again
-   **lib**: Handle compiler warnings

##### Build System and CI

-   Configure clippy lints at the workspace level
-   Tune compiler warnings
-   Major overhaul
-   Treat incompatible pointer warning as error
-   Build lib with wasmtime
-   Fix minor issues
-   **cmake**: Link wasmtime dependencies

##### Other

-   Remove unnecessary fuzz and profile helpers

### [`v0.24.4`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.4)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.3...v0.24.4)

#### \[0.24.4] - 2024-11-10

##### Features

-   **loader**: Add `language_for_configuration`
-   **loader**: Add error message when a `tree-sitter.json` file is invalid
-   **node**: Support single-file executables via bun build --compile
-   **node**: Update bindings when necessary

##### Bug Fixes

-   Return `LanguageRef` in `Parser::language`
-   **bindings**: Update CMakeLists.txt file
-   **cli**: Pass all fields to `tree-sitter.json` in `init`
-   **cli**: Use `contains` over `is` in warning
-   **cmake**: Use current source dir for EXISTS check
-   **generate**: Do not set the unit reduction symbol if it's in the extras array
-   **init**: Use current path if unspecified
-   **init**: Use camel name from config in missing spots
-   **lib**: Simplify edge cases with zero-width tokens
-   **lib**: Correctly fetch the node name in query errors
-   **loader**: Don't print warnings if the file is not found

##### Performance

-   **loader**: Improve language lookup speed

##### Build System and CI

-   **bindings**: Rename cmake test target

##### Other

-   Memory errors in wasm_store

### [`v0.24.3`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.3)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.2...v0.24.3)

##### \[0.24.3] - 2024-10-09

##### Bug Fixes

-   **lib**: Correct unexpected side effect in `get_column` when the lexer is at EOF

##### Build System and CI

-   Fix incorrect variable checks
-   **deps**: Bump wasmtime to v25.0.2

### [`v0.24.2`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.2)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.1...v0.24.2)

#### \[0.24.2] - 2024-10-06

##### Features

-   Drop legacy binding updates

##### Bug Fixes

-   **templates**: Properly replace author email

##### Build System and CI

-   **bindings**: Improve cmake file
-   **cmake**: Support amalgamated build
-   **cmake**: Correct library scopes
-   **make**: Fix `tree-sitter.pc` generation ([#&#8203;3745](https://github.com/tree-sitter/tree-sitter/issues/3745))

##### Other

-   **templates**: Update npm packages

### [`v0.24.1`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.1)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.0...v0.24.1)

#### \[0.24.1] - 2024-10-04

##### Bug Fixes

-   **generate**: Move generated header files into the generate crate

### [`v0.24.0`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.0)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.23.2...v0.24.0)

##### \[0.24.0] - 2024-10-04

##### Breaking

-   Remove C++ support for external scanners ([#&#8203;3602](https://github.com/tree-sitter/tree-sitter/pull/3602))
-   Remove `filter` flag from commands in favor of `include` and `exclude` ([#&#8203;3604](https://github.com/tree-sitter/tree-sitter/pull/3604))
-   Remove the `build-wasm` subcommand ([#&#8203;3605](https://github.com/tree-sitter/tree-sitter/pull/3605))
-   Move generation of grammar files to an `init` command ([#&#8203;3694](https://github.com/tree-sitter/tree-sitter/pull/3694))
-   Implement `StreamingIterator` instead of `Iterator` for `QueryMatches` and `QueryCaptures` ([#&#8203;3504](https://github.com/tree-sitter/tree-sitter/pull/3504))
-   **generate**: Remove unused rules ([#&#8203;3722](https://github.com/tree-sitter/tree-sitter/pull/3722))
-   **lib**: Treat nodes' end ranges exclusively in `goto_first_child_for_{byte,point}` ([#&#8203;3263](https://github.com/tree-sitter/tree-sitter/pull/3263))

##### Features

-   Add an API to time out query executions ([#&#8203;3559](https://github.com/tree-sitter/tree-sitter/pull/3559))
-   Add `field_name_for_named_child` ([#&#8203;3614](https://github.com/tree-sitter/tree-sitter/pull/3614))
-   Add `root` field in node-types.json ([#&#8203;3615](https://github.com/tree-sitter/tree-sitter/pull/3615))
-   Add eslint configuration package ([#&#8203;3666](https://github.com/tree-sitter/tree-sitter/pull/3666))
-   Provide a `rebuild` flag to force rebuild parsers ([#&#8203;3672](https://github.com/tree-sitter/tree-sitter/pull/3672))
-   Add shell completions ([#&#8203;3675](https://github.com/tree-sitter/tree-sitter/pull/3675))
-   Move generate logic to its own crate ([#&#8203;3689](https://github.com/tree-sitter/tree-sitter/pull/3689))
-   Add `--overview-only` to `test` subcommand ([#&#8203;3501](https://github.com/tree-sitter/tree-sitter/pull/3501))
-   Move tree-sitter configuration to dedicated file ([#&#8203;3700](https://github.com/tree-sitter/tree-sitter/issues/3700)) ([#&#8203;3700](https://github.com/tree-sitter/tree-sitter/pull/3700))
-   **api**: Expose function to check if symbol represents a supertype ([#&#8203;3616](https://github.com/tree-sitter/tree-sitter/pull/3616))
-   **bindings**: Bump `go-tree-sitter` version ([#&#8203;3564](https://github.com/tree-sitter/tree-sitter/pull/3564))
-   **cli**: Add a `no-ranges` flag to the parse command ([#&#8203;3687](https://github.com/tree-sitter/tree-sitter/pull/3687))
-   **generate**: Bump `tree-sitter` dev dependency to `0.23` ([#&#8203;3563](https://github.com/tree-sitter/tree-sitter/pull/3563))
-   **generate**: Add a no-op `--no-bindings` flag
-   **init**: Add an update flag ([#&#8203;3698](https://github.com/tree-sitter/tree-sitter/pull/3698))
-   **language**: Derive Clone and Copy on LanguageFn ([#&#8203;3585](https://github.com/tree-sitter/tree-sitter/pull/3585))
-   **schema**: Misc improvements ([#&#8203;3681](https://github.com/tree-sitter/tree-sitter/pull/3681))
-   **test**: Test all queries

##### Bug Fixes

-   Correct comment quote ([#&#8203;3630](https://github.com/tree-sitter/tree-sitter/pull/3630))
-   Properly handle utf8 code points for highlight and tag assertions ([#&#8203;3610](https://github.com/tree-sitter/tree-sitter/pull/3610))
-   Do not generate spurious files if the grammar path is not the default path ([#&#8203;3677](https://github.com/tree-sitter/tree-sitter/pull/3677))
-   Disallow empty string literals in rules ([#&#8203;3679](https://github.com/tree-sitter/tree-sitter/pull/3679))
-   Correct test name parsing when the prior test has equal signs ([#&#8203;3704](https://github.com/tree-sitter/tree-sitter/pull/3704))
-   Handle more cases of editing subtrees that depend on column values ([#&#8203;3257](https://github.com/tree-sitter/tree-sitter/pull/3257))
-   Exclude APIs that dup given file descriptors from WASI builds ([#&#8203;3475](https://github.com/tree-sitter/tree-sitter/pull/3475))
-   Deprecate `child_containing_descendant` and add `child_with_descendant` instead ([#&#8203;3708](https://github.com/tree-sitter/tree-sitter/pull/3708))
-   **binding_web**: Correct `edit` signature ([#&#8203;3599](https://github.com/tree-sitter/tree-sitter/pull/3599))
-   **binding_web**: Remove nonexistent function definition ([#&#8203;3612](https://github.com/tree-sitter/tree-sitter/pull/3612))
-   **bindings**: Use `RUST_BINDING_VERSION` in `Cargo.toml` template
-   **bindings**: Lower go version to `1.22` ([#&#8203;3711](https://github.com/tree-sitter/tree-sitter/pull/3711))
-   **build**: Correct wasm root path lookup ([#&#8203;3723](https://github.com/tree-sitter/tree-sitter/pull/3723))
-   **build**: Force rebuild parsers when build is invoked ([#&#8203;3729](https://github.com/tree-sitter/tree-sitter/pull/3729))
-   **cli**: Remove conflicting short flags in the `fuzz` subcommand ([#&#8203;3562](https://github.com/tree-sitter/tree-sitter/pull/3562))
-   **cli**: Keep skipped tests unchanged in the test/corpus ([#&#8203;3590](https://github.com/tree-sitter/tree-sitter/pull/3590))
-   **cli**: Remove duplicate short options from `fuzz` command ([#&#8203;3635](https://github.com/tree-sitter/tree-sitter/issues/3635)) ([#&#8203;3635](https://github.com/tree-sitter/tree-sitter/pull/3635))
-   **cli**: Generate the parser version from the config as well
-   **docs**: Fix highlight readme example using compatible versions ([#&#8203;3573](https://github.com/tree-sitter/tree-sitter/pull/3573))
-   **fuzz**: Skip tests marked with `:skip` & don't report errors on tests marked with `:error` ([#&#8203;3640](https://github.com/tree-sitter/tree-sitter/pull/3640))
-   **generate**: Remove necessary files from gitignore template ([#&#8203;3561](https://github.com/tree-sitter/tree-sitter/pull/3561))
-   **generate**: Disallow inline variables referencing themselves ([#&#8203;3569](https://github.com/tree-sitter/tree-sitter/pull/3569))
-   **generate**: Add `tree-sitter` to the `dev-dependencies` of the Cargo.toml ([#&#8203;3597](https://github.com/tree-sitter/tree-sitter/pull/3597))
-   **generate**: Do not generate large character sets for unused variables ([#&#8203;3606](https://github.com/tree-sitter/tree-sitter/pull/3606))
-   **generate**: Remove excludes in `Package.swift` ([#&#8203;3631](https://github.com/tree-sitter/tree-sitter/pull/3631))
-   **generate**: Add `*.scm` section to `.editorconfig` template ([#&#8203;3724](https://github.com/tree-sitter/tree-sitter/pull/3724))
-   **generate**: Filter out unused rules in other spots ([#&#8203;3726](https://github.com/tree-sitter/tree-sitter/pull/3726))
-   **init**: Fix some schema issues
-   **init**: Don't prompt to reconfigure ([#&#8203;3713](https://github.com/tree-sitter/tree-sitter/pull/3713))
-   **init**: Do not migrate `package.json` on error ([#&#8203;3718](https://github.com/tree-sitter/tree-sitter/pull/3718))
-   **lib**: Correct extra node creation from non-zero root-alias cursors ([#&#8203;3568](https://github.com/tree-sitter/tree-sitter/pull/3568))
-   **lib**: Backtrack to the last relevant iterator if no child was found ([#&#8203;3570](https://github.com/tree-sitter/tree-sitter/pull/3570))
-   **lib**: Peek at the next sibling when iterating to find the child that contains a given descendant ([#&#8203;3566](https://github.com/tree-sitter/tree-sitter/pull/3566))
-   **lib**: Correct descendant-for-range behavior with zero-width tokens ([#&#8203;3688](https://github.com/tree-sitter/tree-sitter/pull/3688))
-   **lib**: Silence warnings with `-Wpedantic` ([#&#8203;3691](https://github.com/tree-sitter/tree-sitter/pull/3691))
-   **lib**: Ensure an unfinished state was found before removing it ([#&#8203;3727](https://github.com/tree-sitter/tree-sitter/pull/3727))
-   **rust**: Add missing TSNode functions ([#&#8203;3571](https://github.com/tree-sitter/tree-sitter/pull/3571))
-   **test**: Exit with an error if a test marked with `:error` has no error
-   **test**: Retain attributes when running `test -u` ([#&#8203;3572](https://github.com/tree-sitter/tree-sitter/pull/3572))
-   **test**: Correctly handle assertions on empty lines ([#&#8203;3674](https://github.com/tree-sitter/tree-sitter/pull/3674))
-   **wasm**: Use / paths for workdir ([#&#8203;3658](https://github.com/tree-sitter/tree-sitter/pull/3658))

##### Documentation

-   Add Kotlin to the playground ([#&#8203;3560](https://github.com/tree-sitter/tree-sitter/pull/3560))
-   **changelog**: Add 0.23.0 release notes ([#&#8203;3565](https://github.com/tree-sitter/tree-sitter/pull/3565))

##### Refactor

-   Improve the grammar schema
-   **cli**: Break out subcommand logic into separate functions ([#&#8203;3676](https://github.com/tree-sitter/tree-sitter/pull/3676))

##### Build System and CI

-   Add backport workflow ([#&#8203;3575](https://github.com/tree-sitter/tree-sitter/pull/3575))
-   Bump deps ([#&#8203;3696](https://github.com/tree-sitter/tree-sitter/pull/3696))
-   Bump language to `0.1.1` ([#&#8203;3730](https://github.com/tree-sitter/tree-sitter/pull/3730))
-   **bindings**: Add CMakeLists.txt file ([#&#8203;3608](https://github.com/tree-sitter/tree-sitter/pull/3608))
-   **cmake**: Link wasmtime dependencies ([#&#8203;3717](https://github.com/tree-sitter/tree-sitter/pull/3717))
-   **deps**: Bump the cargo group across 1 directory with 11 updates ([#&#8203;3644](https://github.com/tree-sitter/tree-sitter/pull/3644))
-   **deps**: Bump the cargo group with 3 updates ([#&#8203;3671](https://github.com/tree-sitter/tree-sitter/pull/3671))
-   **lib**: Build using cmake ([#&#8203;3541](https://github.com/tree-sitter/tree-sitter/pull/3541))
-   **make**: Support darwin cross-compile ([#&#8203;3641](https://github.com/tree-sitter/tree-sitter/pull/3641))
-   **xtask**: Bump cmake version in `bump-version`
-   **xtask**: Only consider major and minor versions when validating the current version
-   **xtask**: Ignore the language crate

##### Other

-   Remove `compile_flags.txt` ([#&#8203;3667](https://github.com/tree-sitter/tree-sitter/pull/3667))
-   Update generate crate paths ([#&#8203;3697](https://github.com/tree-sitter/tree-sitter/pull/3697))
-   **bindings**: Update rust lib docs ([#&#8203;3621](https://github.com/tree-sitter/tree-sitter/pull/3621))
-   **lib**: Add parameter names in declarations that are missing them ([#&#8203;3692](https://github.com/tree-sitter/tree-sitter/pull/3692))
-   **tests**: Do not use `.as_bytes().len()` on strings ([#&#8203;3664](https://github.com/tree-sitter/tree-sitter/pull/3664))

### [`v0.23.2`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.23.2)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.23.0...v0.23.2)

##### \[0.23.2] - 2024-10-01

This release only corrected the version in a crate so publishing wouldn't fail.

### [`v0.23.0`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.23.0)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.6...v0.23.0)

##### \[0.23.0] - 2024-08-26

##### Breaking

-   Introduce tree-sitter-language crate for grammar crates to depend on ([#&#8203;3069](https://github.com/tree-sitter/tree-sitter/pull/3069))
-   Revert interning of a sequence or choice of a single rule ([#&#8203;3548](https://github.com/tree-sitter/tree-sitter/pull/3548))
-   **bindings**: Use capsules in python ([#&#8203;3384](https://github.com/tree-sitter/tree-sitter/pull/3384))
-   **dsl**: Support other JS runtimes ([#&#8203;3355](https://github.com/tree-sitter/tree-sitter/pull/3355))

##### Features

-   Add `fuzz` subcommand ([#&#8203;3385](https://github.com/tree-sitter/tree-sitter/pull/3385))
-   Allow external scanners to use the logger ([#&#8203;3204](https://github.com/tree-sitter/tree-sitter/pull/3204))
-   **bindings**: Add query constants to python
-   **bindings**: Add node, python, swift tests ([#&#8203;3178](https://github.com/tree-sitter/tree-sitter/pull/3178))
-   **bindings**: Update npm scripts ([#&#8203;3210](https://github.com/tree-sitter/tree-sitter/pull/3210))
-   **cli**: Bump unicode data to v15.1.0
-   **cli**: Add debug build flag ([#&#8203;3279](https://github.com/tree-sitter/tree-sitter/pull/3279))
-   **cli**: Attach helpful context when `grammar.json` cannot be found ([#&#8203;3405](https://github.com/tree-sitter/tree-sitter/pull/3405))
-   **cli**: Add `--show-fields` flag to `test` command ([#&#8203;3502](https://github.com/tree-sitter/tree-sitter/pull/3502))
-   **lib**: Add `ts_query_end_byte_for_pattern` ([#&#8203;3451](https://github.com/tree-sitter/tree-sitter/pull/3451))
-   **lib**: Support no_std
-   **zig**: Update outdated path syntax ([#&#8203;3383](https://github.com/tree-sitter/tree-sitter/pull/3383))

##### Bug Fixes

-   Always reset to the first language when iterating over language attributes ([#&#8203;3375](https://github.com/tree-sitter/tree-sitter/pull/3375))
-   Better error when a supertype rule is invalid ([#&#8203;3400](https://github.com/tree-sitter/tree-sitter/pull/3400))
-   Intern a sequence or choice of a single element the same as the element itself
-   Do not "absorb" rules that consist of a single terminal if the rule is hidden ([#&#8203;2577](https://github.com/tree-sitter/tree-sitter/pull/2577))
-   **bindings**: Update go bindings ([#&#8203;3544](https://github.com/tree-sitter/tree-sitter/pull/3544))
-   **cli**: Installation via authenticated proxy ([#&#8203;3414](https://github.com/tree-sitter/tree-sitter/pull/3414))
-   **cli**: Dedup `preceding_auxiliary_symbols` ([#&#8203;3550](https://github.com/tree-sitter/tree-sitter/pull/3550))
-   **dsl**: Improve error message when a rule function returns undefined ([#&#8203;3452](https://github.com/tree-sitter/tree-sitter/pull/3452))
-   **generate**: Rename `cargo.toml` template ([#&#8203;3532](https://github.com/tree-sitter/tree-sitter/pull/3532))
-   **go**: Update parser name in binding files, add to docs ([#&#8203;3547](https://github.com/tree-sitter/tree-sitter/pull/3547))
-   **lib**: A null clock must have `tv_nsec` be 0 as well ([#&#8203;3372](https://github.com/tree-sitter/tree-sitter/pull/3372))
-   **lib**: Restrict pattern_map optimization when a wildcard step has an immediate first child ([#&#8203;3440](https://github.com/tree-sitter/tree-sitter/pull/3440))
-   **lib**: An empty root node should not precede an empty range ([#&#8203;3450](https://github.com/tree-sitter/tree-sitter/pull/3450))
-   **lib**: Fix api header C++ interop ([#&#8203;3534](https://github.com/tree-sitter/tree-sitter/pull/3534))
-   **make**: Fail properly on Windows ([#&#8203;3418](https://github.com/tree-sitter/tree-sitter/pull/3418))
-   **rust**: Fetch `CARGO_MANIFEST_DIR` at runtime in build script ([#&#8203;3352](https://github.com/tree-sitter/tree-sitter/pull/3352))
-   **rust**: Fix new clippy warnings ([#&#8203;3491](https://github.com/tree-sitter/tree-sitter/pull/3491))
-   **test**: Multi-grammar corpus tests are now in the repo root ([#&#8203;3342](https://github.com/tree-sitter/tree-sitter/pull/3342))
-   **wasm**: Update test

##### Performance

-   Hoist out common subexpressions in satisfies_text_predicates ([#&#8203;3397](https://github.com/tree-sitter/tree-sitter/pull/3397))

##### Documentation

-   Update changelog
-   Remove duplicate pr # in changelog
-   Add note for bullet
-   Fix syntax highlighting unit testing example ([#&#8203;3434](https://github.com/tree-sitter/tree-sitter/pull/3434))
-   Add tsserver annotation to example ([#&#8203;3460](https://github.com/tree-sitter/tree-sitter/pull/3460))
-   Fix tree cursor documentation ([#&#8203;3324](https://github.com/tree-sitter/tree-sitter/pull/3324))
-   Document rust library features ([#&#8203;3395](https://github.com/tree-sitter/tree-sitter/pull/3395))
-   Clean up binding & parser lists ([#&#8203;3443](https://github.com/tree-sitter/tree-sitter/pull/3443))

##### Refactor

-   Remove ansi_term dependency ([#&#8203;3387](https://github.com/tree-sitter/tree-sitter/pull/3387))
-   Remove difference dependency ([#&#8203;3388](https://github.com/tree-sitter/tree-sitter/pull/3388))
-   **scripts**: Clean up bash scripts ([#&#8203;3231](https://github.com/tree-sitter/tree-sitter/pull/3231))

##### Testing

-   Modernize scanner files ([#&#8203;3340](https://github.com/tree-sitter/tree-sitter/pull/3340))

##### Build System and CI

-   **deps**: bump wasmtime, cc, and wasmparser ([#&#8203;3529](https://github.com/tree-sitter/tree-sitter/pull/3529)
-   **bindings**: Use language version in soname ([#&#8203;3308](https://github.com/tree-sitter/tree-sitter/pull/3308))
-   **lib**: Include the minor in the soname
-   **loader**: Make dependencies optional ([#&#8203;1638](https://github.com/tree-sitter/tree-sitter/pull/1638))
-   **swift**: Declare header search path ([#&#8203;3474](https://github.com/tree-sitter/tree-sitter/pull/3474))
-   **wasm**: Don't minify JS ([#&#8203;3380](https://github.com/tree-sitter/tree-sitter/pull/3380))
-   **wasm**: Bump emscripten to 3.1.64 ([#&#8203;3497](https://github.com/tree-sitter/tree-sitter/pull/3497))
-   **wasm**: Support big endian machines ([#&#8203;3492](https://github.com/tree-sitter/tree-sitter/pull/3492))
-   **zig**: Git ignore updated Zig cache directory ([#&#8203;3408](https://github.com/tree-sitter/tree-sitter/pull/3408))

##### Other

-   Swap `sprintf()` for `snprintf()` ([#&#8203;3430](https://github.com/tree-sitter/tree-sitter/pull/3430))
-   Add `.build` to gitignore ([#&#8203;3498](https://github.com/tree-sitter/tree-sitter/pull/3498))
-   Reset language when resetting wasm store ([#&#8203;3495](https://github.com/tree-sitter/tree-sitter/pull/3495))
-   Clone wasm store engine ([#&#8203;3542](https://github.com/tree-sitter/tree-sitter/pull/3542))
-   **bindings**: Fix indent & line endings ([#&#8203;3284](https://github.com/tree-sitter/tree-sitter/pull/3284))

### [`v0.22.6`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.6)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.5...v0.22.6)

##### \[0.22.6] — 2024-05-05

##### Features

-   Improve handling of serialization buffer overflows ([#&#8203;3318](https://github.com/tree-sitter/tree-sitter/pull/3318))
-   Reverse iteration through node parents ([#&#8203;3214](https://github.com/tree-sitter/tree-sitter/pull/3214))
-   **cli**: Support `NO_COLOR` ([#&#8203;3299](https://github.com/tree-sitter/tree-sitter/pull/3299))
-   **cli**: Add test listing and allow users to parse a specific test number ([#&#8203;3067](https://github.com/tree-sitter/tree-sitter/pull/3067))
-   **grammar**: Add "inherits" field if available ([#&#8203;3295](https://github.com/tree-sitter/tree-sitter/pull/3295))

##### Bug Fixes

-   Correctly load field data from wasm languages
-   Improve error message when the `tree-sitter` field is malformed
-   Don't error out on package.json lookup errors if `--no-bindings` is passed ([#&#8203;3323](https://github.com/tree-sitter/tree-sitter/pull/3323))
-   **cli**: Keep default cc flags in build
-   **cli**: Properly account for multi-grammar repos when using docker to build a wasm parser ([#&#8203;3337](https://github.com/tree-sitter/tree-sitter/pull/3337))
-   **generate**: Don't check arbitrarily named dirs
-   **generate**: Take `AsRef<Path>` for the path parameter to avoid clones ([#&#8203;3322](https://github.com/tree-sitter/tree-sitter/pull/3322))
-   **highlight**: Correct signature of `ts_highlighter_add_language`
-   **lib**: Do not return field names for extras ([#&#8203;3330](https://github.com/tree-sitter/tree-sitter/pull/3330))
-   **lib**: Advance the lookahead end byte by 4 when there's an invalid code point ([#&#8203;3305](https://github.com/tree-sitter/tree-sitter/pull/3305))
-   **rust**: Update README example ([#&#8203;3307](https://github.com/tree-sitter/tree-sitter/pull/3307))
-   **rust**: Use unix + wasi cfg instead of not windows for fd ([#&#8203;3304](https://github.com/tree-sitter/tree-sitter/pull/3304))
-   **test**: Allow newlines in between test name and attribute
-   **wasm**: Correct `childrenFromFieldXXX` method signatures ([#&#8203;3301](https://github.com/tree-sitter/tree-sitter/pull/3301))
-   **xtask**: Always bump every crate in tandem
-   **zig**: Make usable as a zig dependency ([#&#8203;3315](https://github.com/tree-sitter/tree-sitter/pull/3315))

##### Documentation

-   Mention build command variables
-   Swap `\s` for `\\s` in query example
-   **highlight**: Typo ([#&#8203;3290](https://github.com/tree-sitter/tree-sitter/pull/3290))

##### Refactor

-   **tests**: Migrate remaining `grammar.json` tests to `grammar.js` ([#&#8203;3325](https://github.com/tree-sitter/tree-sitter/pull/3325))

##### Build System and CI

-   Add nightly rustfmt to workflow for linting ([#&#8203;3333](https://github.com/tree-sitter/tree-sitter/pull/3333))
-   Fix address sanitizer step ([#&#8203;3188](https://github.com/tree-sitter/tree-sitter/pull/3188))
-   **deps**: Bump cc from 1.0.92 to 1.0.94 in the cargo group ([#&#8203;3298](https://github.com/tree-sitter/tree-sitter/pull/3298))
-   **deps**: Bump the cargo group with 6 updates ([#&#8203;3313](https://github.com/tree-sitter/tree-sitter/pull/3313))
-   **xtask**: Bump `build.zig.zon` version when bumping versions

### [`v0.22.5`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.5)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.4...v0.22.5)

##### \[0.22.5] — 2024-04-14

##### Bug Fixes

-   Avoid generating unused character set constants
-   **cli**: Test parsing on windows ([#&#8203;3289](https://github.com/tree-sitter/tree-sitter/pull/3289))
-   **rust**: Compilation on wasm32-wasi ([#&#8203;3293](https://github.com/tree-sitter/tree-sitter/pull/3293))

### [`v0.22.4`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.4)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.3...v0.22.4)

##### \[0.22.4] — 2024-04-12

##### Bug Fixes

-   Fix sorting of transitions within a lex state
-   Include 2-character ranges in array-based state transitions

##### Build System and CI

-   Always bump at least the patch version in bump xtask

### [`v0.22.3`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.3)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.2...v0.22.3)

##### \[0.22.3] — 2024-04-12

##### Features

-   Add strncat to wasm stdlib
-   Generate simpler code for matching large character sets ([#&#8203;3234](https://github.com/tree-sitter/tree-sitter/pull/3234))
-   When loading languages via WASM, gracefully handle memory errors and leaks in external scanners ([#&#8203;3181](https://github.com/tree-sitter/tree-sitter/pull/3181))

##### Bug Fixes

-   **bindings**: Add utf-8 flag to python & node ([#&#8203;3278](https://github.com/tree-sitter/tree-sitter/pull/3278))
-   **bindings**: Generate parser.c if missing ([#&#8203;3277](https://github.com/tree-sitter/tree-sitter/pull/3277))
-   **bindings**: Remove required platforms for swift ([#&#8203;3264](https://github.com/tree-sitter/tree-sitter/pull/3264))
-   **cli**: Fix mismatched parenthesis when accounting for `&&` ([#&#8203;3274](https://github.com/tree-sitter/tree-sitter/pull/3274))
-   **lib**: Do not consider childless nodes for ts_node_parent ([#&#8203;3191](https://github.com/tree-sitter/tree-sitter/pull/3191))
-   **lib**: Properly account for aliased root nodes and root nodes with
    children in `ts_subtree_string` ([#&#8203;3191](https://github.com/tree-sitter/tree-sitter/pull/3191))
-   **lib**: Account for the root node of a tree cursor being an alias ([#&#8203;3191](https://github.com/tree-sitter/tree-sitter/pull/3191))
-   **lib**: Use correct format specifier in log message ([#&#8203;3255](https://github.com/tree-sitter/tree-sitter/pull/3255))
-   **parser**: Fix variadic macro ([#&#8203;3229](https://github.com/tree-sitter/tree-sitter/pull/3229))
-   render: Proper function prototypes ([#&#8203;3277](https://github.com/tree-sitter/tree-sitter/pull/3277))
-   **windows**: Add `/utf-8` flag for parsers using unicode symbols ([#&#8203;3223](https://github.com/tree-sitter/tree-sitter/pull/3223))
-   Add a semicolon after SKIP macros ([#&#8203;3264](https://github.com/tree-sitter/tree-sitter/pull/3264))
-   Add back `build-wasm` temporarily ([#&#8203;3203](https://github.com/tree-sitter/tree-sitter/pull/3203))
-   Add lifetime to matches function ([#&#8203;3254](https://github.com/tree-sitter/tree-sitter/pull/3254))
-   Default output directory for `build --wasm` should use current_dir ([#&#8203;3203](https://github.com/tree-sitter/tree-sitter/pull/3203))
-   Fix sorting of wasm stdlib symbols
-   Insert "tree-sitter" section in current directory's package.json if it exists ([#&#8203;3224](https://github.com/tree-sitter/tree-sitter/pull/3224))
-   Tie the lifetime of the cursor to the query in `QueryCursor::captures()` ([#&#8203;3266](https://github.com/tree-sitter/tree-sitter/pull/3266))
-   Wrong flag check in `build.rs`

##### Performance

-   **cli**: Reduced the compile time of generated parsers by generating C code with fewer conditionals ([#&#8203;3234](https://github.com/tree-sitter/tree-sitter/pull/3234))

##### Documentation

-   Add NGINX grammar

##### Refactor

-   **parser**: Make REDUCE macro non-variadic ([#&#8203;3280](https://github.com/tree-sitter/tree-sitter/pull/3280))
-   **js**: Misc fixes & tidying
-   **rust**: Misc fixes & tidying

##### Testing

-   Add regression test for node parent + string bug ([#&#8203;3191](https://github.com/tree-sitter/tree-sitter/pull/3191))
-   **test**: Allow colons in test names ([#&#8203;3264](https://github.com/tree-sitter/tree-sitter/pull/3264))

##### Build System and CI

-   Upgrade wasmtime
-   Update emscripten version ([#&#8203;3272](https://github.com/tree-sitter/tree-sitter/pull/3272))
-   **dependabot**: Improve PR labels ([#&#8203;3282](https://github.com/tree-sitter/tree-sitter/pull/3282))

### [`v0.22.2`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.2)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.1...v0.22.2)

##### \[0.22.2] — 2024-03-17

##### Breaking

-   **cli**: Add a separate build command to compile parsers

##### Features

-   **bindings/rust**: Expose `Parser::included_ranges`
-   Lower the lib's MSRV ([#&#8203;3169](https://github.com/tree-sitter/tree-sitter/pull/3169))
-   **lib**: Implement Display for Node ([#&#8203;3177](https://github.com/tree-sitter/tree-sitter/pull/3177))

##### Bug Fixes

-   **bindings/wasm**: Fix `Parser.getIncludedRanges()` ([#&#8203;3164](https://github.com/tree-sitter/tree-sitter/pull/3164))
-   **lib**: Makefile installation on macOS ([#&#8203;3167](https://github.com/tree-sitter/tree-sitter/pull/3167))
-   **lib**: Makefile installation ([#&#8203;3173](https://github.com/tree-sitter/tree-sitter/pull/3173))
-   **lib**: Avoid possible UB of calling memset on a null ptr when 0 is passed into `array_grow_by` ([#&#8203;3176](https://github.com/tree-sitter/tree-sitter/pull/3176))
-   **lib**: Allow hiding symbols ([#&#8203;3180](https://github.com/tree-sitter/tree-sitter/pull/3180))

##### Documentation

-   Fix typo ([#&#8203;3158](https://github.com/tree-sitter/tree-sitter/pull/3158))
-   **licensfe**: Update year ([#&#8203;3183](https://github.com/tree-sitter/tree-sitter/pull/3183))

##### Refactor

-   Remove dependency on which crate ([#&#8203;3172](https://github.com/tree-sitter/tree-sitter/pull/3172))
-   Turbofish styling

##### Testing

-   Fix header writes ([#&#8203;3174](https://github.com/tree-sitter/tree-sitter/pull/3174))

##### Build System and CI

-   Simplify workflows ([#&#8203;3002](https://github.com/tree-sitter/tree-sitter/pull/3002))
-   **lib**: Allow overriding CFLAGS on the commandline ([#&#8203;3159](https://github.com/tree-sitter/tree-sitter/pull/3159))

### [`v0.22.1`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.1)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.0...v0.22.1)

##### Changelog

##### \[0.22.1] — 2024-03-10

##### Bug Fixes

-   Cli build script behavior on release

### [`v0.22.0`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.0)

[Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.21.0...v0.22.0)

##### Changelog

##### \[0.22.0] — 2024-03-10

##### Breaking

-   Remove top-level `corpus` dir for tests
    The cli will now only look in `test/corpus` for tests
-   Remove redundant escape regex & curly brace regex preprocessing ([#&#8203;2838](https://github.com/tree-sitter/tree-sitter/pull/2838))
-   **bindings**: Convert node bindings to NAPI ([#&#8203;3077](https://github.com/tree-sitter/tree-sitter/pull/3077))
-   **wasm**: Make `current*`, `is*`, and `has*` methods properties ([#&#8203;3103](https://github.com/tree-sitter/tree-sitter/pull/3103))
-   **wasm**: Keep API in-line with upstream and start aligning with node ([#&#8203;3149](https://github.com/tree-sitter/tree-sitter/pull/3149))

##### Features

-   Add xtasks to assist with bumping crates ([#&#8203;3065](https://github.com/tree-sitter/tree-sitter/pull/3065))
-   Improve language bindings ([#&#8203;2438](https://github.com/tree-sitter/tree-sitter/pull/2438))
-   Expose the allocator and array header files for external scanners ([#&#8203;3063](https://github.com/tree-sitter/tree-sitter/pull/3063))
-   Add typings for the node bindings
-   Replace `nan` with `node-addon-api` and conditionally print logs
-   **bindings**: Add more make targets
-   **bindings**: Add peerDependencies for npm
-   **bindings**: Add prebuildify to node
-   **bindings**: Remove dsl types file ([#&#8203;3126](https://github.com/tree-sitter/tree-sitter/pull/3126))
-   **node**: Type tag the language ([#&#8203;3109](https://github.com/tree-sitter/tree-sitter/pull/3109))
-   **test**: Add attributes for corpus tests

##### Bug Fixes

-   Apply some `scan-build` suggestions (unused assignment/garbage access) ([#&#8203;3056](https://github.com/tree-sitter/tree-sitter/pull/3056))
-   Wrap `||` comparison in parentheses when `&&` is used ([#&#8203;3070](https://github.com/tree-sitter/tree-sitter/pull/3070))
-   Ignore unused variables in the array macros ([#&#8203;3083](https://github.com/tree-sitter/tree-sitter/pull/3083))
-   `binding.cc` overwrite should replace `PARSER_NAME` ([#&#8203;3116](https://github.com/tree-sitter/tree-sitter/pull/3116))
-   Don't use `__declspec(dllexport)` on windows ([#&#8203;3128](https://github.com/tree-sitter/tree-sitter/pull/3128))
-   Parsers should export the language function on windows
-   Allow the regex `v` flag ([#&#8203;3154](https://github.com/tree-sitter/tree-sitter/pull/3154))
-   **assertions**: Case shouldn't matter for comment node detection
-   **bindings**: Editorconfig and setup.py fixes ([#&#8203;3082](https://github.com/tree-sitter/tree-sitter/pull/3082))
-   **bindings**: Insert `types` after `main` if it exists ([#&#8203;3122](https://github.com/tree-sitter/tree-sitter/pull/3122))
-   **bindings**: Fix template oversights ([#&#8203;3155](https://github.com/tree-sitter/tree-sitter/pull/3155))
-   **cli**: Only output the sources with `--no-bindings` ([#&#8203;3123](https://github.com/tree-sitter/tree-sitter/pull/3123))
-   **generate**: Add `.npmignore`, populate Swift's exclude list ([#&#8203;3085](https://github.com/tree-sitter/tree-sitter/pull/3085))
-   **generate**: Extern allocator functions for the template don't need to be "exported" ([#&#8203;3132](https://github.com/tree-sitter/tree-sitter/pull/3132))
-   **generate**: Camel case name in `Cargo.toml` description ([#&#8203;3140](https://github.com/tree-sitter/tree-sitter/pull/3140))
-   **lib**: Include `api.h` so `ts_set_allocator` is visible ([#&#8203;3092](https://github.com/tree-sitter/tree-sitter/pull/3092))

##### Documentation

-   Add GitHub user and PR info to the changelog
-   Add css for inline code ([#&#8203;2844](https://github.com/tree-sitter/tree-sitter/pull/2844))
-   Document test attributes
-   Add `Ohm` language parser
-   Remove duplicate `the`'s ([#&#8203;3120](https://github.com/tree-sitter/tree-sitter/pull/3120))
-   Add discord and matrix badges ([#&#8203;3148](https://github.com/tree-sitter/tree-sitter/pull/3148))

##### Refactor

-   Rename TS_REUSE_ALLOCATOR flag ([#&#8203;3088](https://github.com/tree-sitter/tree-sitter/pull/3088))
-   Remove extern/const where possible
-   **array**: Use pragma GCC in clang too
-   **bindings**: Remove npmignore ([#&#8203;3089](https://github.com/tree-sitter/tree-sitter/pull/3089))

##### Testing

-   Don't use TS_REUSE_ALLOCATOR on Darwin systems ([#&#8203;3087](https://github.com/tree-sitter/tree-sitter/pull/3087))
-   Add test case for parse stack merging with incorrect error cost bug ([#&#8203;3098](https://github.com/tree-sitter/tree-sitter/pull/3098))

##### Build System and CI

-   Improve changelog settings ([#&#8203;3064](https://github.com/tree-sitter/tree-sitter/pull/3064))
-   Unify crate versions via workspace ([#&#8203;3074](https://github.com/tree-sitter/tree-sitter/pull/3074))
-   Update `cc` to remove annoying debug output ([#&#8203;3075](https://github.com/tree-sitter/tree-sitter/pull/3075))
-   Adjust dependabot settings ([#&#8203;3079](https://github.com/tree-sitter/tree-sitter/pull/3079))
-   Use c11 everywhere
-   Add uninstall command
-   Don't skip tests on failing lint ([#&#8203;3102](https://github.com/tree-sitter/tree-sitter/pull/3102))
-   Remove unused deps, bump deps, and bump MSRV to 1.74.1 ([#&#8203;3153](https://github.com/tree-sitter/tree-sitter/pull/3153))
-   **bindings**: Metadata improvements
-   **bindings**: Make everything c11 ([#&#8203;3099](https://github.com/tree-sitter/tree-sitter/pull/3099))
-   **dependabot**: Update weekly instead of daily ([#&#8203;3112](https://github.com/tree-sitter/tree-sitter/pull/3112))
-   **deps**: Bump the cargo group with 1 update ([#&#8203;3081](https://github.com/tree-sitter/tree-sitter/pull/3081))
-   **deps**: Bump the cargo group with 1 update ([#&#8203;3097](https://github.com/tree-sitter/tree-sitter/pull/3097))
-   **deps**: Bump deps & lockfile ([#&#8203;3060](https://github.com/tree-sitter/tree-sitter/pull/3060))
-   **deps**: Bump the cargo group with 4 updates ([#&#8203;3134](https://github.com/tree-sitter/tree-sitter/pull/3134))
-   **lint**: Detect if `Cargo.lock` needs to be updated ([#&#8203;3066](https://github.com/tree-sitter/tree-sitter/pull/3066))
-   **lint**: Make lockfile check quiet ([#&#8203;3078](https://github.com/tree-sitter/tree-sitter/pull/3078))
-   **swift**: Move 'cLanguageStandard' behind 'targets' ([#&#8203;3101](https://github.com/tree-sitter/tree-sitter/pull/3101))

##### Other

-   Make Node.js language bindings context aware ([#&#8203;2841](https://github.com/tree-sitter/tree-sitter/pull/2841))
    They don't have any dynamic global data, so all it takes is just declaring them as such
-   Fix crash when attempting to load ancient languages via wasm ([#&#8203;3068](https://github.com/tree-sitter/tree-sitter/pull/3068))
-   Use workspace dependencies for internal crates like Tree-sitter ([#&#8203;3076](https://github.com/tree-sitter/tree-sitter/pull/3076))
-   Remove vendored wasmtime headers (https://github.com/tree-sitter/tree-sitter/pull/3084)
    When building rust binding, use wasmtime headers provided via cargo
    by the wasmtime-c-api crate.
-   Fix invalid parse stack recursive merging with mismatched error cost ([#&#8203;3086](https://github.com/tree-sitter/tree-sitter/pull/3086))
    Allowing this invalid merge caused an invariant to be violated
    later on during parsing, when handling a later error.
-   Fix regression in `subtree_compare` ([#&#8203;3111](https://github.com/tree-sitter/tree-sitter/pull/3111))
-   docs: Add `Ohm` language parser ([#&#8203;3114](https://github.com/tree-sitter/tree-sitter/pull/3114))
-   Delete `binding_files.rs` ([#&#8203;3106](https://github.com/tree-sitter/tree-sitter/pull/3106))
-   **bindings**: Consistent wording ([#&#8203;3096](https://github.com/tree-sitter/tree-sitter/pull/3096))
-   **bindings**: Ignore more artifacts ([#&#8203;3119](https://github.com/tree-sitter/tree-sitter/pull/3119))

### [`v0.21.0`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.21.0)

##### Changelog

##### \[0.21.0] - 2024-02-21

##### Breaking

-   Remove the apply-all-captures flag, make last-wins precedence the default

    **NOTE**: This change might cause breakage in your grammar's highlight tests.
    Just flip the order around of the relevant queries, and keep in mind that the
    last query that matches will win.

##### Features

-   Use lockfiles to dedup recompilation
-   Improve error message for files with an unknown grammar path (https://github.com/tree-sitter/tree-sitter/pull/2475)
-   Implement first-line-regex (https://github.com/tree-sitter/tree-sitter/pull/2479)
-   Error out if an empty string is in the `extras` array
-   Allow specifying an external scanner's files (https://github.com/tree-sitter/tree-sitter/pull/3031)
-   Better error info when a scanner is missing required symbols
-   **cli**: Add an optional `grammar-path` argument for the playground (https://github.com/tree-sitter/tree-sitter/pull/3014)
-   **cli**: Add optional `config-path` argument (https://github.com/tree-sitter/tree-sitter/pull/3050)
-   **loader**: Add more commonly used default parser directories

##### Bug Fixes

-   Prettify xml output and add node position info (https://github.com/tree-sitter/tree-sitter/pull/2970)
-   Inherited grammar generation
-   Properly error out when the word property is an invalid rule
-   Update schema for regex flags (https://github.com/tree-sitter/tree-sitter/pull/3006)
-   Properly handle Query.matches when filtering out results (https://github.com/tree-sitter/tree-sitter/pull/3013)
-   Sexp format edge case with quoted closed parenthesis (https://github.com/tree-sitter/tree-sitter/pull/3016)
-   Always push the default files if there's no `externals`
-   Don't log NUL characters (https://github.com/tree-sitter/tree-sitter/pull/3037)
-   Don't throw an error if the user uses `map` in the grammar (https://github.com/tree-sitter/tree-sitter/pull/3041)
-   Remove redundant imports (https://github.com/tree-sitter/tree-sitter/pull/3047)
-   **cli**: Installation via a HTTP tunnel proxy (https://github.com/tree-sitter/tree-sitter/pull/2824)
-   **cli**: Don't update tests automatically if parse errors are detected (https://github.com/tree-sitter/tree-sitter/pull/3033)
-   **cli**: Don't use `long` for `grammar_path`
-   **test**: Allow writing updates to tests without erroneous nodes instead of denying all of them if a single error is found
-   **test**: Edge case when parsing `UNEXPECTED`/`MISSING` nodes with an indentation level greater than 0
-   **wasm**: Remove C++ mangled symbols (https://github.com/tree-sitter/tree-sitter/pull/2971)

##### Documentation

-   Create issue template (https://github.com/tree-sitter/tree-sitter/pull/2978)
-   Document regex limitations
-   Mention that `token($.foo)` is illegal
-   Explicitly mention behavior of walking outside the given "root" node for a `TSTreeCursor` (https://github.com/tree-sitter/tree-sitter/pull/3021)
-   Small fixes (https://github.com/tree-sitter/tree-sitter/pull/2987)
-   Add `Tact` language parser (https://github.com/tree-sitter/tree-sitter/pull/3030)
-   **web**: Provide deno usage information (https://github.com/tree-sitter/tree-sitter/pull/2498)

##### Refactor

-   Extract regex check into a function and lower its precedence
-   `&PathBuf` -> `&Path` (https://github.com/tree-sitter/tree-sitter/pull/3035)
-   Name anonymous types in api.h (https://github.com/tree-sitter/tree-sitter/pull/1659)

##### Testing

-   Add quotes around bash variables (https://github.com/tree-sitter/tree-sitter/pull/3023)
-   Update html tests

##### Build System and CI

-   Only create release for normal semver tags (https://github.com/tree-sitter/tree-sitter/pull/2973)
-   Add useful development targets to makefile (https://github.com/tree-sitter/tree-sitter/pull/2979)
-   Remove minimum glibc information in summary page (https://github.com/tree-sitter/tree-sitter/pull/2988)
-   Use the native m1 mac runner (https://github.com/tree-sitter/tree-sitter/pull/2995)
-   Add editorconfig (https://github.com/tree-sitter/tree-sitter/pull/2998)
-   Remove symbolic links from repository (https://github.com/tree-sitter/tree-sitter/pull/2997)
-   Move common Cargo.toml keys into the workspace and inherit them (https://github.com/tree-sitter/tree-sitter/pull/3019)
-   Remove reviewers when drafting or closing a PR (https://github.com/tree-sitter/tree-sitter/pull/2963)
-   Enable creating changelogs with git-cliff (https://github.com/tree-sitter/tree-sitter/pull/3040)
-   Cache fixtures (https://github.com/tree-sitter/tree-sitter/pull/3038)
-   Don't cancel jobs on master (https://github.com/tree-sitter/tree-sitter/pull/3052)
-   Relax caching requirements (https://github.com/tree-sitter/tree-sitter/pull/3051)
-   **deps**: Bump clap from 4.4.18 to 4.5.0 (https://github.com/tree-sitter/tree-sitter/pull/3007)
-   **deps**: Bump wasmtime from v16.0.0 to v17.0.1 (https://github.com/tree-sitter/tree-sitter/pull/3008)
-   **deps**: Bump wasmtime to v18.0.1 (https://github.com/tree-sitter/tree-sitter/pull/3057)
-   **sanitize**: Add a timeout of 60 minutes (https://github.com/tree-sitter/tree-sitter/pull/3017)
-   **sanitize**: Reduce timeout to 20 minutes (https://github.com/tree-sitter/tree-sitter/pull/3054)

##### Other

-   Document preferred language for scanner (https://github.com/tree-sitter/tree-sitter/pull/2972)
-   Add java and tsx to corpus tests (https://github.com/tree-sitter/tree-sitter/pull/2992)
-   Provide a CLI flag to open `log.html` (https://github.com/tree-sitter/tree-sitter/pull/2996)
-   Some more clippy lints (https://github.com/tree-sitter/tree-sitter/pull/3010)
-   Remove deprecated query parsing mechanism (https://github.com/tree-sitter/tree-sitter/pull/3011)
-   Print out full compiler arguments ran when it fails (https://github.com/tree-sitter/tree-sitter/pull/3018)
-   Deprecate C++ scanners (https://github.com/tree-sitter/tree-sitter/pull/3020)
-   Add some documentation to the playground page (https://github.com/tree-sitter/tree-sitter/pull/1495)
-   Update relevant rust tests (https://github.com/tree-sitter/tree-sitter/pull/2947)
-   Clippy lints (https://github.com/tree-sitter/tree-sitter/pull/3032)
-   Error out when multiple arguments are passed to `token`/`token.immediate` (https://github.com/tree-sitter/tree-sitter/pull/3036)
-   Tidying
-   Prefer turbofish syntax where possible (https://github.com/tree-sitter/tree-sitter/pull/3048)
-   Use published wasmtime crates
-   Cleaner cast
-   Update Cargo.lock
-   Get rid of `github_issue_test` file (https://github.com/tree-sitter/tree-sitter/pull/3055)
-   **cli**: Use spawn to display `emcc`'s stdout and stderr (https://github.com/tree-sitter/tree-sitter/pull/2494)
-   **cli**: Warn users when a query path needed for a subcommand isn't specified in a grammar's package.json
-   **generate**: Dedup and warn about duplicate or invalid rules (https://github.com/tree-sitter/tree-sitter/pull/2994)
-   **test**: Use different languages for async tests (https://github.com/tree-sitter/tree-sitter/pull/2953)
-   **wasm**: Use `SIDE_MODULE=2` to silence warning (https://github.com/tree-sitter/tree-sitter/pull/3003)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNjAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQyNC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [cc](https://github.com/rust-lang/cc-rs) | build-dependencies | minor | `1.0.79` -> `1.2.13` | | [nan](https://github.com/nodejs/nan) | dependencies | minor | [`2.17.0` -> `2.22.0`](https://renovatebot.com/diffs/npm/nan/2.17.0/2.22.0) | | [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | major | [`^2.8.8` -> `^3.0.0`](https://renovatebot.com/diffs/npm/prettier/2.8.8/3.5.0) | | [tree-sitter](https://tree-sitter.github.io/tree-sitter) ([source](https://github.com/tree-sitter/tree-sitter)) | dependencies | minor | `~0.20.10` -> `~0.25.0` | | [tree-sitter-cli](https://github.com/tree-sitter/tree-sitter) | devDependencies | minor | [`^0.20.8` -> `^0.25.0`](https://renovatebot.com/diffs/npm/tree-sitter-cli/0.20.8/0.25.1) | --- ### Release Notes <details> <summary>rust-lang/cc-rs (cc)</summary> ### [`v1.2.13`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1213---2025-02-08) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.12...cc-v1.2.13) ##### Other - Fix cross-compiling for Apple platforms ([#&#8203;1389](https://github.com/rust-lang/cc-rs/pull/1389)) ### [`v1.2.12`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1212---2025-02-04) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.11...cc-v1.2.12) ##### Other - Split impl Build ([#&#8203;1382](https://github.com/rust-lang/cc-rs/pull/1382)) - Don't specify both `-target` and `-mtargetos=` on Apple targets ([#&#8203;1384](https://github.com/rust-lang/cc-rs/pull/1384)) ### [`v1.2.11`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1211---2025-01-31) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.10...cc-v1.2.11) ##### Other - Fix more flag inheritance ([#&#8203;1380](https://github.com/rust-lang/cc-rs/pull/1380)) - Include wrapper args. in `stdout` family heuristics to restore classifying `clang --driver-mode=cl` as `Msvc { clang_cl: true }` ([#&#8203;1378](https://github.com/rust-lang/cc-rs/pull/1378)) - Constrain `-Clto` and `-Cembed-bitcode` flag inheritance to be `clang`-only ([#&#8203;1379](https://github.com/rust-lang/cc-rs/pull/1379)) - Pass deployment target with `-m*-version-min=` ([#&#8203;1339](https://github.com/rust-lang/cc-rs/pull/1339)) - Regenerate target info ([#&#8203;1376](https://github.com/rust-lang/cc-rs/pull/1376)) ### [`v1.2.10`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1210---2025-01-17) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.9...cc-v1.2.10) ##### Other - Fix CC_FORCE_DISABLE=0 evaluating to true ([#&#8203;1371](https://github.com/rust-lang/cc-rs/pull/1371)) - Regenerate target info ([#&#8203;1369](https://github.com/rust-lang/cc-rs/pull/1369)) - Make hidden lifetimes explicit. ([#&#8203;1366](https://github.com/rust-lang/cc-rs/pull/1366)) ### [`v1.2.9`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#129---2025-01-12) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.8...cc-v1.2.9) ##### Other - Don't pass inherited PGO flags to GNU compilers ([#&#8203;1363](https://github.com/rust-lang/cc-rs/issues/1363)) - Adjusted zig cc judgment and avoided zigbuild errors([#&#8203;1360](https://github.com/rust-lang/cc-rs/pull/1360)) ([#&#8203;1361](https://github.com/rust-lang/cc-rs/pull/1361)) - Fix compilation on macOS using clang and fix compilation using zig-cc ([#&#8203;1364](https://github.com/rust-lang/cc-rs/pull/1364)) ### [`v1.2.8`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#128---2025-01-11) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.7...cc-v1.2.8) ##### Other - Add `is_like_clang_cl()` getter ([#&#8203;1357](https://github.com/rust-lang/cc-rs/issues/1357)) - Fix clippy error in lib.rs ([#&#8203;1356](https://github.com/rust-lang/cc-rs/pull/1356)) - Regenerate target info ([#&#8203;1352](https://github.com/rust-lang/cc-rs/pull/1352)) - Fix compiler family detection issue with clang-cl on macOS ([#&#8203;1328](https://github.com/rust-lang/cc-rs/pull/1328)) - Update `windows-bindgen` dependency ([#&#8203;1347](https://github.com/rust-lang/cc-rs/pull/1347)) - Fix clippy warnings ([#&#8203;1346](https://github.com/rust-lang/cc-rs/pull/1346)) ### [`v1.2.7`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#127---2025-01-03) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.6...cc-v1.2.7) ##### Other - Regenerate target info ([#&#8203;1342](https://github.com/rust-lang/cc-rs/pull/1342)) - Document new supported architecture names in windows::find - Make is_flag_supported_inner take an \&Tool ([#&#8203;1337](https://github.com/rust-lang/cc-rs/pull/1337)) - Fix is_flag_supported on msvc ([#&#8203;1336](https://github.com/rust-lang/cc-rs/pull/1336)) - Allow using Visual Studio target names in `find_tool` ([#&#8203;1335](https://github.com/rust-lang/cc-rs/pull/1335)) ### [`v1.2.6`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#126---2024-12-27) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.5...cc-v1.2.6) ##### Other - Don't inherit the `/Oy` flag for 64-bit targets ([#&#8203;1330](https://github.com/rust-lang/cc-rs/pull/1330)) ### [`v1.2.5`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#125---2024-12-19) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.4...cc-v1.2.5) ##### Other - Check linking when testing if compiler flags are supported ([#&#8203;1322](https://github.com/rust-lang/cc-rs/pull/1322)) ### [`v1.2.4`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#124---2024-12-13) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.3...cc-v1.2.4) ##### Other - Add support for C/C++ compiler for Neutrino QNX: `qcc` ([#&#8203;1319](https://github.com/rust-lang/cc-rs/pull/1319)) - use -maix64 instead of -m64 ([#&#8203;1307](https://github.com/rust-lang/cc-rs/pull/1307)) ### [`v1.2.3`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#123---2024-12-06) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.2...cc-v1.2.3) ##### Other - Improve detection of environment when compiling from msbuild or msvc ([#&#8203;1310](https://github.com/rust-lang/cc-rs/pull/1310)) - Better error message when failing on unknown targets ([#&#8203;1313](https://github.com/rust-lang/cc-rs/pull/1313)) - Optimize RustcCodegenFlags ([#&#8203;1305](https://github.com/rust-lang/cc-rs/pull/1305)) ### [`v1.2.2`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#122---2024-11-29) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.1...cc-v1.2.2) ##### Other - Inherit flags from rustc ([#&#8203;1279](https://github.com/rust-lang/cc-rs/pull/1279)) - Add support for using sccache wrapper with cuda/nvcc ([#&#8203;1304](https://github.com/rust-lang/cc-rs/pull/1304)) - Fix msvc stdout not shown on error ([#&#8203;1303](https://github.com/rust-lang/cc-rs/pull/1303)) - Regenerate target info ([#&#8203;1301](https://github.com/rust-lang/cc-rs/pull/1301)) - Fix compilation of C++ code for armv7-unknown-linux-gnueabihf ([#&#8203;1298](https://github.com/rust-lang/cc-rs/pull/1298)) - Fetch target info from Cargo even if `Build::target` is manually set ([#&#8203;1299](https://github.com/rust-lang/cc-rs/pull/1299)) - Fix two files with different extensions having the same object name ([#&#8203;1295](https://github.com/rust-lang/cc-rs/pull/1295)) - Allow disabling cc's ability to compile via env var CC_FORCE_DISABLE ([#&#8203;1292](https://github.com/rust-lang/cc-rs/pull/1292)) - Regenerate target info ([#&#8203;1293](https://github.com/rust-lang/cc-rs/pull/1293)) ### [`v1.2.1`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1213---2025-02-08) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.0...cc-v1.2.1) ##### Other - Fix cross-compiling for Apple platforms ([#&#8203;1389](https://github.com/rust-lang/cc-rs/pull/1389)) ### [`v1.2.0`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#120---2024-11-11) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.37...cc-v1.2.0) ##### Added - add i686-pc-windows-gnullvm prefix detection ([#&#8203;1283](https://github.com/rust-lang/cc-rs/pull/1283)) ##### Other - Allow only specifying the architecture ([#&#8203;1285](https://github.com/rust-lang/cc-rs/pull/1285)) - Fix WASM vs. WASI options ([#&#8203;1284](https://github.com/rust-lang/cc-rs/pull/1284)) ### [`v1.1.37`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1137---2024-11-08) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.36...cc-v1.1.37) ##### Other - Use relative directory for obj files hash ([#&#8203;1270](https://github.com/rust-lang/cc-rs/pull/1270)) - Regenerate target info ([#&#8203;1280](https://github.com/rust-lang/cc-rs/pull/1280)) ### [`v1.1.36`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1136---2024-11-05) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.35...cc-v1.1.36) ##### Other - Fix CUDA build with clang++. ([#&#8203;1273](https://github.com/rust-lang/cc-rs/pull/1273)) ### [`v1.1.35`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1135---2024-11-04) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.34...cc-v1.1.35) ##### Other - Remove support for FRC ([#&#8203;1268](https://github.com/rust-lang/cc-rs/pull/1268)) - Do not add -fPIC by default on UEFI targets ([#&#8203;1263](https://github.com/rust-lang/cc-rs/pull/1263)) - Use -windows-gnu for all UEFI targets ([#&#8203;1264](https://github.com/rust-lang/cc-rs/pull/1264)) ### [`v1.1.34`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1134---2024-11-02) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.33...cc-v1.1.34) ##### Other - Remove redundant flags ([#&#8203;1256](https://github.com/rust-lang/cc-rs/pull/1256)) ### [`v1.1.33`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1133---2024-11-02) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.32...cc-v1.1.33) ##### Other - Reduce size of `cc::Build` and size of generated targets ([#&#8203;1257](https://github.com/rust-lang/cc-rs/pull/1257)) ### [`v1.1.32`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1132---2024-11-02) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.31...cc-v1.1.32) ##### Other - Use `rustc`'s knowledge of LLVM/Clang target triples ([#&#8203;1252](https://github.com/rust-lang/cc-rs/pull/1252)) - Use Cargo's target information when possible ([#&#8203;1225](https://github.com/rust-lang/cc-rs/pull/1225)) ### [`v1.1.31`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1131---2024-10-19) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.30...cc-v1.1.31) ##### Other - Add comment explaining why cc does not rebuild on env PATH change ([#&#8203;1247](https://github.com/rust-lang/cc-rs/pull/1247)) ### [`v1.1.30`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1130---2024-10-11) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.29...cc-v1.1.30) ##### Other - Don't pass -fPIC by default on wasm ([#&#8203;1245](https://github.com/rust-lang/cc-rs/pull/1245)) ### [`v1.1.29`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1129---2024-10-11) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.28...cc-v1.1.29) ##### Other - Regenerate target info ([#&#8203;1243](https://github.com/rust-lang/cc-rs/pull/1243)) ### [`v1.1.28`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1128---2024-10-06) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.27...cc-v1.1.28) ##### Other - Environment variables: For one accepting boolean, treat "0", "false" and empty env as false ([#&#8203;1238](https://github.com/rust-lang/cc-rs/pull/1238)) ### [`v1.1.27`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1127---2024-10-06) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.26...cc-v1.1.27) ##### Other - Revert "Use debug version of MSVC runtime library on debug ([#&#8203;1231](https://github.com/rust-lang/cc-rs/pull/1231))" ([#&#8203;1237](https://github.com/rust-lang/cc-rs/pull/1237)) - Disable `CC_ENABLE_DEBUG_OUTPUT` if it is set to "0" ([#&#8203;1234](https://github.com/rust-lang/cc-rs/pull/1234)) ### [`v1.1.26`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1126---2024-10-06) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.25...cc-v1.1.26) ##### Other - Use debug version of MSVC runtime library on debug ([#&#8203;1231](https://github.com/rust-lang/cc-rs/pull/1231)) ### [`v1.1.25`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1125---2024-10-05) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.24...cc-v1.1.25) ##### Other - Remove incorrect "lib" prefixes in CXXSTDLIB doc comments ([#&#8203;1228](https://github.com/rust-lang/cc-rs/pull/1228)) ### [`v1.1.24`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1124---2024-10-01) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.23...cc-v1.1.24) ##### Other - Fix wasm32-wasip1-threads: shared-memory disallowed due to not compiled with 'atomics' or 'bulk-memory' features ([#&#8203;1221](https://github.com/rust-lang/cc-rs/pull/1221)) - Reduce the need for the host target triple ([#&#8203;1224](https://github.com/rust-lang/cc-rs/pull/1224)) - Add auto cancellation for CI jobs ([#&#8203;1222](https://github.com/rust-lang/cc-rs/pull/1222)) ### [`v1.1.23`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1123---2024-09-30) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.22...cc-v1.1.23) ##### Other - Update doc for detecting changes/upgrades of compilers ([#&#8203;1218](https://github.com/rust-lang/cc-rs/pull/1218)) ### [`v1.1.22`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1122---2024-09-27) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.21...cc-v1.1.22) ##### Other - Don't rerun if PATH changes ([#&#8203;1215](https://github.com/rust-lang/cc-rs/pull/1215)) ### [`v1.1.21`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1121---2024-09-18) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.20...cc-v1.1.21) ##### Other - disable pic for targets that end in `-none` ([#&#8203;1212](https://github.com/rust-lang/cc-rs/pull/1212)) ### [`v1.1.20`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1120---2024-09-17) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.19...cc-v1.1.20) ##### Other - Add buildcache as known Rust and C/C++ compiler wrapper ([#&#8203;1209](https://github.com/rust-lang/cc-rs/pull/1209)) ### [`v1.1.19`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1119---2024-09-15) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.18...cc-v1.1.19) ##### Other - Add support arm64e-apple-darwin ([#&#8203;1207](https://github.com/rust-lang/cc-rs/pull/1207)) ### [`v1.1.18`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1118---2024-09-07) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.17...cc-v1.1.18) ##### Other - Fixed unsoundness in `StderrForwarder::forward_available` ([#&#8203;1203](https://github.com/rust-lang/cc-rs/pull/1203)) ### [`v1.1.17`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1117---2024-09-06) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.16...cc-v1.1.17) ##### Fixed - fix finding toolchains when invoked by msbuild ([#&#8203;1201](https://github.com/rust-lang/cc-rs/pull/1201)) ### [`v1.1.16`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1116---2024-09-04) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.15...cc-v1.1.16) ##### Other - Treat VxWorks wr-cc as a Gnu compiler ([#&#8203;1198](https://github.com/rust-lang/cc-rs/pull/1198)) ### [`v1.1.15`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1115---2024-08-26) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.14...cc-v1.1.15) ##### Other - Add -mfloat-abi=hard as a default argument when using any arm/thumb-none-eabihf target ([#&#8203;1194](https://github.com/rust-lang/cc-rs/pull/1194)) ### [`v1.1.14`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1114---2024-08-23) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.13...cc-v1.1.14) ##### Other - allow finding tools from path if VisualStudioDir is set ### [`v1.1.13`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1113---2024-08-16) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.12...cc-v1.1.13) ##### Other - Fix detect family: should detect emscripten as clang, closes [#&#8203;1185](https://github.com/rust-lang/cc-rs/pull/1185) ([#&#8203;1186](https://github.com/rust-lang/cc-rs/pull/1186)) ### [`v1.1.12`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1112---2024-08-15) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.11...cc-v1.1.12) ##### Other - improve docs ([#&#8203;1183](https://github.com/rust-lang/cc-rs/pull/1183)) ### [`v1.1.11`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1111---2024-08-14) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.10...cc-v1.1.11) ##### Other - Add support for parsing shell encoded `*FLAGS` ([#&#8203;1181](https://github.com/rust-lang/cc-rs/pull/1181)) - Replace vector of tuples with BTreeMap which already is sorted and free of duplicates ([#&#8203;1177](https://github.com/rust-lang/cc-rs/pull/1177)) ### [`v1.1.10`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1110---2024-08-11) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.9...cc-v1.1.10) ##### Other - Remap Windows targets triples to their LLVM counterparts ([#&#8203;1176](https://github.com/rust-lang/cc-rs/pull/1176)) ### [`v1.1.9`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#119---2024-08-11) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.8...cc-v1.1.9) ##### Other - Add custom CC wrapper to the wrapper whitelist ([#&#8203;1175](https://github.com/rust-lang/cc-rs/pull/1175)) ### [`v1.1.8`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#118---2024-08-06) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.7...cc-v1.1.8) ##### Other - Fix broken link in docs.rs ([#&#8203;1173](https://github.com/rust-lang/cc-rs/pull/1173)) ### [`v1.1.7`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#117---2024-07-29) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.6...cc-v1.1.7) ##### Other - add `.objects` ([#&#8203;1166](https://github.com/rust-lang/cc-rs/pull/1166)) ### [`v1.1.6`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#116---2024-07-19) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.5...cc-v1.1.6) ##### Other - Clippy fixes ([#&#8203;1163](https://github.com/rust-lang/cc-rs/pull/1163)) ### [`v1.1.5`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#115---2024-07-15) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.4...cc-v1.1.5) ##### Other - Fix cyclic compilation: Use vendored once_cell ([#&#8203;1154](https://github.com/rust-lang/cc-rs/pull/1154)) ### [`v1.1.4`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#114---2024-07-14) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.3...cc-v1.1.4) ##### Other - Support compiling on wasm targets (Supersede [#&#8203;1068](https://github.com/rust-lang/cc-rs/pull/1068)) ([#&#8203;1160](https://github.com/rust-lang/cc-rs/pull/1160)) ### [`v1.1.3`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1137---2024-11-08) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.2...cc-v1.1.3) ##### Other - Use relative directory for obj files hash ([#&#8203;1270](https://github.com/rust-lang/cc-rs/pull/1270)) - Regenerate target info ([#&#8203;1280](https://github.com/rust-lang/cc-rs/pull/1280)) ### [`v1.1.2`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1129---2024-10-11) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.1...cc-v1.1.2) ##### Other - Regenerate target info ([#&#8203;1243](https://github.com/rust-lang/cc-rs/pull/1243)) ### [`v1.1.1`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1119---2024-09-15) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.0...cc-v1.1.1) ##### Other - Add support arm64e-apple-darwin ([#&#8203;1207](https://github.com/rust-lang/cc-rs/pull/1207)) ### [`v1.1.0`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#110---2024-07-08) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.0.106...cc-v1.1.0) ##### Added - add cargo_output to eliminate last vestiges of stdout pollution ([#&#8203;1141](https://github.com/rust-lang/cc-rs/pull/1141)) ### [`v1.0.106`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#10106---2024-07-08) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.0.105...cc-v1.0.106) ##### Other - Drop support for Visual Studio 12 (2013) ([#&#8203;1046](https://github.com/rust-lang/cc-rs/pull/1046)) - Use raw-dylib for windows-sys ([#&#8203;1137](https://github.com/rust-lang/cc-rs/pull/1137)) - Bump msrv to 1.67 ([#&#8203;1143](https://github.com/rust-lang/cc-rs/pull/1143)) - Bump msrv to 1.65 ([#&#8203;1140](https://github.com/rust-lang/cc-rs/pull/1140)) - Fix clippy warnings ([#&#8203;1138](https://github.com/rust-lang/cc-rs/pull/1138)) ### [`v1.0.105`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#10105---2024-07-07) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.0.104...cc-v1.0.105) ##### Other - Regenerate windows sys bindings ([#&#8203;1132](https://github.com/rust-lang/cc-rs/pull/1132)) - Fix generate-windows-sys-bindings ([#&#8203;1133](https://github.com/rust-lang/cc-rs/pull/1133)) - Fix gen-windows-sys-binding ([#&#8203;1130](https://github.com/rust-lang/cc-rs/pull/1130)) - Fix gen-windows-sys-binding ([#&#8203;1127](https://github.com/rust-lang/cc-rs/pull/1127)) - Update windows-bindgen requirement from 0.57 to 0.58 ([#&#8203;1123](https://github.com/rust-lang/cc-rs/pull/1123)) ### [`v1.0.104`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#10104---2024-07-01) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.0.103...cc-v1.0.104) ##### Other - Fixed link break about compile-time-requirements ([#&#8203;1118](https://github.com/rust-lang/cc-rs/pull/1118)) ### [`v1.0.103`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#10103---2024-06-30) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.0.102...cc-v1.0.103) ##### Other - Fix compilation for wasm: env WASI_SYSROOT should be optional ([#&#8203;1114](https://github.com/rust-lang/cc-rs/pull/1114)) ### [`v1.0.102`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#10102---2024-06-29) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.0.101...cc-v1.0.102) ##### Other - Fix invalid wasi targets compatibility ([#&#8203;1105](https://github.com/rust-lang/cc-rs/pull/1105)) - Speedup regenerate-target-info and regenerate-windows-sys ([#&#8203;1110](https://github.com/rust-lang/cc-rs/pull/1110)) ### [`v1.0.101`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#10101---2024-06-25) [Compare Source](https://github.com/rust-lang/cc-rs/compare/cc-v1.0.100...cc-v1.0.101) ##### Other - Use `Build::getenv` instead of `env::var*` in anywhere that makes sense ([#&#8203;1103](https://github.com/rust-lang/cc-rs/pull/1103)) ### [`v1.0.100`](https://github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#10100---2024-06-23) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.99...cc-v1.0.100) ##### Other - Update publish.yml to use release-plz ([#&#8203;1101](https://github.com/rust-lang/cc-rs/pull/1101)) - Accept `OsStr` instead of `str` for flags ([#&#8203;1100](https://github.com/rust-lang/cc-rs/pull/1100)) - Use `dep:` syntax to avoid implicit features. ([#&#8203;1099](https://github.com/rust-lang/cc-rs/pull/1099)) - Minor clippy fixes. ([#&#8203;1098](https://github.com/rust-lang/cc-rs/pull/1098)) - Fix WASI compilation for C++ ([#&#8203;1083](https://github.com/rust-lang/cc-rs/pull/1083)) - Regenerate windows sys bindings ([#&#8203;1096](https://github.com/rust-lang/cc-rs/pull/1096)) - Rename regenerate-windows-sys to regenerate-windows-sys.yml ([#&#8203;1095](https://github.com/rust-lang/cc-rs/pull/1095)) - Create regenerate-windows-sys.yml ([#&#8203;1094](https://github.com/rust-lang/cc-rs/pull/1094)) - Update windows-bindgen requirement from 0.56 to 0.57 ([#&#8203;1091](https://github.com/rust-lang/cc-rs/pull/1091)) - Eagerly close tempfile to fix [#&#8203;1082](https://github.com/rust-lang/cc-rs/pull/1082) ([#&#8203;1087](https://github.com/rust-lang/cc-rs/pull/1087)) - Output msvc.exe in the output directory ([#&#8203;1090](https://github.com/rust-lang/cc-rs/pull/1090)) - Fix clippy warnings on Windows ([#&#8203;1088](https://github.com/rust-lang/cc-rs/pull/1088)) - Don't try to free DLL on drop ([#&#8203;1089](https://github.com/rust-lang/cc-rs/pull/1089)) - Fix panic safety issue in StderrForwarder ([#&#8203;1079](https://github.com/rust-lang/cc-rs/pull/1079)) ### [`v1.0.99`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.99) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.98...1.0.99) #### What's Changed - Allow opt-out the -ccbin flag by [@&#8203;QuarticCat](https://github.com/QuarticCat) in https://github.com/rust-lang/cc-rs/pull/1085 - Release cc 1.0.99 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1086 #### New Contributors - [@&#8203;QuarticCat](https://github.com/QuarticCat) made their first contribution in https://github.com/rust-lang/cc-rs/pull/1085 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.98...1.0.99 ### [`v1.0.98`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.98) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.97...1.0.98) #### What's Changed - Cleanup some deprecated, unused allows by [@&#8203;klensy](https://github.com/klensy) in https://github.com/rust-lang/cc-rs/pull/1067 - Fix paths on Mac Catalyst by [@&#8203;madsmtm](https://github.com/madsmtm) in https://github.com/rust-lang/cc-rs/pull/1070 - Fix detect_compiler_family.c not being created by [@&#8203;Jake-Shadle](https://github.com/Jake-Shadle) in https://github.com/rust-lang/cc-rs/pull/1072 - Release cc 1.0.98 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1073 #### New Contributors - [@&#8203;klensy](https://github.com/klensy) made their first contribution in https://github.com/rust-lang/cc-rs/pull/1067 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.97...1.0.98 ### [`v1.0.97`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.97) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.96...1.0.97) #### What's Changed - CI: Create regenerate-target-info by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1055 - Fix file extension for pipelime regenerate-target-info by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1056 - Fix running gen-target-info in regenerate-target-info.yml by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1057 - Fix `regenerate-target-info.yml` by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1060 - Add support for riscv32ima by [@&#8203;github-actions](https://github.com/github-actions) in https://github.com/rust-lang/cc-rs/pull/1061 - Fix commit message in regenerate-target-info.yml by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1062 - CI: Run cargo-semver-checks for every PR and commits to main by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1053 - fix: emscripten build on windows by [@&#8203;atty303](https://github.com/atty303) in https://github.com/rust-lang/cc-rs/pull/1054 - Don't use the value of SDKROOT if it doesn't match the target. by [@&#8203;jfgoog](https://github.com/jfgoog) in https://github.com/rust-lang/cc-rs/pull/1047 - Rm unnecessary println in try_get_compiler by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1063 - Bump actions/checkout from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/rust-lang/cc-rs/pull/1064 - Avoid recursive calls into try_get_compiler when items are in the cache by [@&#8203;dpaoliello](https://github.com/dpaoliello) in https://github.com/rust-lang/cc-rs/pull/1050 - Release cc 1.0.97 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1066 #### New Contributors - [@&#8203;github-actions](https://github.com/github-actions) made their first contribution in https://github.com/rust-lang/cc-rs/pull/1061 - [@&#8203;atty303](https://github.com/atty303) made their first contribution in https://github.com/rust-lang/cc-rs/pull/1054 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.96...1.0.97 ### [`v1.0.96`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.96) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.95...1.0.96) #### What's Changed - Use specified include directories prior to CFLAGS by [@&#8203;justsmth](https://github.com/justsmth) in https://github.com/rust-lang/cc-rs/pull/1043 - MSVC: Add support for linking against the "spectre-mitigated" CRT by [@&#8203;dpaoliello](https://github.com/dpaoliello) in https://github.com/rust-lang/cc-rs/pull/673 - Release cc 1.0.96 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1045 #### New Contributors - [@&#8203;justsmth](https://github.com/justsmth) made their first contribution in https://github.com/rust-lang/cc-rs/pull/1043 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.95...1.0.96 ### [`v1.0.95`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.95) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.94...1.0.95) #### What's Changed - Update windows-bindgen requirement from 0.55 to 0.56 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/rust-lang/cc-rs/pull/1035 - Bump msrv to 1.63 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1031 - Optimize jobserver `try_acquire` by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1037 - Release cc 1.0.95 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1038 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.94...1.0.95 ### [`v1.0.94`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.94) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.93...1.0.94) #### What's Changed - Fix xcrun sdk version arg by [@&#8203;0123456789-jpg](https://github.com/0123456789-jpg) in https://github.com/rust-lang/cc-rs/pull/1007 - Release cc 1.0.94 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1034 #### New Contributors - [@&#8203;0123456789-jpg](https://github.com/0123456789-jpg) made their first contribution in https://github.com/rust-lang/cc-rs/pull/1007 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.93...1.0.94 ### [`v1.0.93`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.93) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.92...1.0.93) #### What's Changed - Add visionOS support by [@&#8203;madsmtm](https://github.com/madsmtm) in https://github.com/rust-lang/cc-rs/pull/1029 - Release cc-rs 1.0.93 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1032 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.92...1.0.93 ### [`v1.0.92`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.92) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.91...1.0.92) #### What's Changed - Fix linking with llvm-lib by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1027 - Release cc 1.0.92 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1028 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.91...1.0.92 ### [`v1.0.91`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.91) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.90...1.0.91) #### What's Changed - Update windows-bindgen requirement from 0.54 to 0.55 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/rust-lang/cc-rs/pull/999 - Fix: Accept non utf-8 characters in compiler and archiver by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/998 - CI: Add automatic publish on tag creation by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/978 - feat: Query rustc for clang target triples instead of hardcoding them by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1004 - Fix safety comment for LibraryHandle::get_proc_address by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1010 - Fix compile family detection: Use C macros instead of `$compiler -v` by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1000 - refactor: Optimize code based on cargo clippy suggestions by [@&#8203;InventiveCoder](https://github.com/InventiveCoder) in https://github.com/rust-lang/cc-rs/pull/1013 - Fix regression in compiler family detection by [@&#8203;russelltg](https://github.com/russelltg) in https://github.com/rust-lang/cc-rs/pull/1014 - Also shim llvm-ar in the clang_android test on non-Windows by [@&#8203;dpaoliello](https://github.com/dpaoliello) in https://github.com/rust-lang/cc-rs/pull/1016 - Fix caching of supported compiler flag by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1002 - fix llvm-ar as archiver for msvc targets; fix clang-cl detection; fix assembler output flag detection; add clang/clang-cl windows CI by [@&#8203;russelltg](https://github.com/russelltg) in https://github.com/rust-lang/cc-rs/pull/1015 - fix(env_tool): return None if env is empty by [@&#8203;cathaysia](https://github.com/cathaysia) in https://github.com/rust-lang/cc-rs/pull/1021 - Release cc 1.0.91 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/1024 #### New Contributors - [@&#8203;InventiveCoder](https://github.com/InventiveCoder) made their first contribution in https://github.com/rust-lang/cc-rs/pull/1013 - [@&#8203;russelltg](https://github.com/russelltg) made their first contribution in https://github.com/rust-lang/cc-rs/pull/1014 - [@&#8203;cathaysia](https://github.com/cathaysia) made their first contribution in https://github.com/rust-lang/cc-rs/pull/1021 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.90...1.0.91 ### [`v1.0.90`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.90) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.89...1.0.90) #### What's Changed - Revert "refactor target flags" by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/992 - Fix regression: remove `--target` when targeting Android on non-Windows platforms by [@&#8203;dpaoliello](https://github.com/dpaoliello) in https://github.com/rust-lang/cc-rs/pull/991 - Drop support for Visual Studio 11 (2012) by [@&#8203;dpaoliello](https://github.com/dpaoliello) in https://github.com/rust-lang/cc-rs/pull/981 - Fix the clang targets for RISC-V Rust targets by [@&#8203;djkoloski](https://github.com/djkoloski) in https://github.com/rust-lang/cc-rs/pull/993 - Release cc 1.0.90 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/996 #### New Contributors - [@&#8203;djkoloski](https://github.com/djkoloski) made their first contribution in https://github.com/rust-lang/cc-rs/pull/993 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.89...1.0.90 ### [`v1.0.89`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.89) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.88...1.0.89) #### What's Changed - refactor target flags by [@&#8203;youknowone](https://github.com/youknowone) in https://github.com/rust-lang/cc-rs/pull/873 - Update windows-bindgen requirement from 0.53 to 0.54 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/rust-lang/cc-rs/pull/982 - Support finding Windows tools on non-Windows host by [@&#8203;cavivie](https://github.com/cavivie) in https://github.com/rust-lang/cc-rs/pull/907 - Use llvm-ar, llvm-ranlib for Android NDK by [@&#8203;mariotaku](https://github.com/mariotaku) in https://github.com/rust-lang/cc-rs/pull/983 - Add a public file iterator by [@&#8203;gzz2000](https://github.com/gzz2000) in https://github.com/rust-lang/cc-rs/pull/987 - Fix make resource failure when cc parallel is enabled by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/985 - Release cc 1.0.89 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/988 #### New Contributors - [@&#8203;cavivie](https://github.com/cavivie) made their first contribution in https://github.com/rust-lang/cc-rs/pull/907 - [@&#8203;mariotaku](https://github.com/mariotaku) made their first contribution in https://github.com/rust-lang/cc-rs/pull/983 - [@&#8203;gzz2000](https://github.com/gzz2000) made their first contribution in https://github.com/rust-lang/cc-rs/pull/987 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.88...1.0.89 ### [`v1.0.88`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.88) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.87...1.0.88) #### What's Changed - Add `/System/iOSSupport` to header/library search paths on Mac Catalyst by [@&#8203;madsmtm](https://github.com/madsmtm) in https://github.com/rust-lang/cc-rs/pull/961 - Fix set_blocking by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/975 - feat: move debug logging behind a debug flag that is disabled by default by [@&#8203;amaanq](https://github.com/amaanq) in https://github.com/rust-lang/cc-rs/pull/972 - Release cc 1.0.88 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/977 #### New Contributors - [@&#8203;madsmtm](https://github.com/madsmtm) made their first contribution in https://github.com/rust-lang/cc-rs/pull/961 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.87...1.0.88 ### [`v1.0.87`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.87) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.86...1.0.87) #### What's Changed - fix: remove unnecessary `println`s by [@&#8203;amaanq](https://github.com/amaanq) in https://github.com/rust-lang/cc-rs/pull/960 - Support native ARM64 MSVC toolchain, and fallback to x64 if emulation is available by [@&#8203;dpaoliello](https://github.com/dpaoliello) in https://github.com/rust-lang/cc-rs/pull/957 - add armv8r-none-eabihf by [@&#8203;chrisnc](https://github.com/chrisnc) in https://github.com/rust-lang/cc-rs/pull/836 - Fix use of cc with make <4.3: Clear O_NONBLOCK after compilaton by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/966 - Release cc 1.0.87 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/967 #### New Contributors - [@&#8203;amaanq](https://github.com/amaanq) made their first contribution in https://github.com/rust-lang/cc-rs/pull/960 - [@&#8203;chrisnc](https://github.com/chrisnc) made their first contribution in https://github.com/rust-lang/cc-rs/pull/836 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.86...1.0.87 ### [`v1.0.86`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.86) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.85...1.0.86) #### What's Changed - CI: Run test on aarch64-apple-darwin by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/947 - Fix jobserver: Last `--jobserver-auth` wins by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/949 - Fix setting O_NONBLOCK in parallel::stderr::set_non_blocking by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/946 - Cache compiler versions detected by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/932 - Release cc 1.0.86 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/952 - Fix CI (Test) nightly by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/956 - Added tvos-sim support by [@&#8203;ErikEverson](https://github.com/ErikEverson) in https://github.com/rust-lang/cc-rs/pull/951 #### New Contributors - [@&#8203;ErikEverson](https://github.com/ErikEverson) made their first contribution in https://github.com/rust-lang/cc-rs/pull/951 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.85...1.0.86 ### [`v1.0.85`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.85) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.84...1.0.85) > \[!IMPORTANT] > > This release has been yanked, due to panicking in freeBSD debug build. A release without these issues will be made in the near future. > > Sorry, and thanks. #### What's Changed - fix: fix the usage of include directories for the Rust analyzer by [@&#8203;aminya](https://github.com/aminya) in https://github.com/rust-lang/cc-rs/pull/854 - Fix Apple deployment version floor when linking C++ by [@&#8203;BlackHoleFox](https://github.com/BlackHoleFox) in https://github.com/rust-lang/cc-rs/pull/901 - Fix unconditional cargo metadata printing on flag support check by [@&#8203;ahlinc](https://github.com/ahlinc) in https://github.com/rust-lang/cc-rs/pull/908 - Some clippy fixes by [@&#8203;waywardmonkeys](https://github.com/waywardmonkeys) in https://github.com/rust-lang/cc-rs/pull/879 - Add `--` for files in `try_expand` (like in [#&#8203;514](https://github.com/rust-lang/cc-rs/issues/514)) by [@&#8203;pashokitsme](https://github.com/pashokitsme) in https://github.com/rust-lang/cc-rs/pull/911 - Link against libc++ on \*-linux-ohos by [@&#8203;DianQK](https://github.com/DianQK) in https://github.com/rust-lang/cc-rs/pull/915 - Add support for ARM64EC when building with MSVC by [@&#8203;dpaoliello](https://github.com/dpaoliello) in https://github.com/rust-lang/cc-rs/pull/910 - Add new compile_intermediates function. by [@&#8203;roblabla](https://github.com/roblabla) in https://github.com/rust-lang/cc-rs/pull/914 - Add `cargo_warnings` config to control the use of the cargo warning instruction by [@&#8203;scootermon](https://github.com/scootermon) in https://github.com/rust-lang/cc-rs/pull/917 - Use RUSTC_WRAPPER if no other wrapper is provided by [@&#8203;LeonMatthesKDAB](https://github.com/LeonMatthesKDAB) in https://github.com/rust-lang/cc-rs/pull/918 - move async_executor and job_token modules into new parallel module by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/923 - do not publish cc-test crate by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/926 - move src/os_pipe.rs to src/os_pipe/mod.rs by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/925 - add comment why tvOS CI job is separate from the matrix by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/928 - move retain_unordered_mut function into parallel module by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/930 - move cc-test & gen-windows-sys-binding into workspace by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/927 - fix broken intradoc links by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/922 - split miscellaneous code into a new command_helpers module by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/931 - split Tool and ToolFamily to a new tool module by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/929 - do not publish tests or gcc-shim with crate by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/934 - use full import path in tool module by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/933 - move Windows code into a module by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/924 - add comment explaining gcc-shim. by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/935 - Add support for riscv32imac-esp-espidf by [@&#8203;madmo](https://github.com/madmo) in https://github.com/rust-lang/cc-rs/pull/939 - Forward lines from stderr of child process to stdout on the same thread, instead of spawning a thread by [@&#8203;dpaoliello](https://github.com/dpaoliello) in https://github.com/rust-lang/cc-rs/pull/940 - Fix typos. by [@&#8203;waywardmonkeys](https://github.com/waywardmonkeys) in https://github.com/rust-lang/cc-rs/pull/942 - Fix default deployment target behavior for Apple targets by [@&#8203;BlackHoleFox](https://github.com/BlackHoleFox) in https://github.com/rust-lang/cc-rs/pull/943 - move documentation from README.md to lib.rs by [@&#8203;Be-ing](https://github.com/Be-ing) in https://github.com/rust-lang/cc-rs/pull/921 - Release cc 1.0.85 by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/944 #### New Contributors - [@&#8203;aminya](https://github.com/aminya) made their first contribution in https://github.com/rust-lang/cc-rs/pull/854 - [@&#8203;ahlinc](https://github.com/ahlinc) made their first contribution in https://github.com/rust-lang/cc-rs/pull/908 - [@&#8203;pashokitsme](https://github.com/pashokitsme) made their first contribution in https://github.com/rust-lang/cc-rs/pull/911 - [@&#8203;DianQK](https://github.com/DianQK) made their first contribution in https://github.com/rust-lang/cc-rs/pull/915 - [@&#8203;dpaoliello](https://github.com/dpaoliello) made their first contribution in https://github.com/rust-lang/cc-rs/pull/910 - [@&#8203;scootermon](https://github.com/scootermon) made their first contribution in https://github.com/rust-lang/cc-rs/pull/917 - [@&#8203;LeonMatthesKDAB](https://github.com/LeonMatthesKDAB) made their first contribution in https://github.com/rust-lang/cc-rs/pull/918 - [@&#8203;Be-ing](https://github.com/Be-ing) made their first contribution in https://github.com/rust-lang/cc-rs/pull/923 - [@&#8203;madmo](https://github.com/madmo) made their first contribution in https://github.com/rust-lang/cc-rs/pull/939 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.84...1.0.85 ### [`v1.0.84`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.84) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.83...1.0.84) > \[!IMPORTANT] > > This release has been yanked, due to the Apple deployment target changes causing unintentional widespread breakage for building C++ code on the target (for projects without an explicit deployment target set). A release without these issues will be made in the near future. > > Sorry, and thanks. #### Changes This isn't a complete list, but I've tried to cover everything that is either significant, or could cause problems for people using `cc` in configurations not covered by our tests. - The MSRV has been updated to 1.53.0 (https://github.com/rust-lang/cc-rs/pull/894) - A completely overhauled implementation of the jobserver protocol (used under `feature = parallel`), which should be more efficient. (https://github.com/rust-lang/cc-rs/pull/889). - Better handling of assemblers on windows targets, especially `armasm[64].exe` (https://github.com/rust-lang/cc-rs/pull/867, https://github.com/rust-lang/cc-rs/pull/868, https://github.com/rust-lang/cc-rs/pull/869, https://github.com/rust-lang/cc-rs/pull/857) - A few fixes for incorrect results from `is_flag_supported` (https://github.com/rust-lang/cc-rs/pull/839, https://github.com/rust-lang/cc-rs/pull/886) - Support for the `*-apple-tvos` and `*-apple-tvos-sim` targets (https://github.com/rust-lang/cc-rs/pull/881, https://github.com/rust-lang/cc-rs/pull/704) - Improved handling of the deployment target on Apple targets, including use of `rustc --print deployment-target` when available (https://github.com/rust-lang/cc-rs/pull/848, https://github.com/rust-lang/cc-rs/pull/872) - We no longer bundle bitcode when compiling for Apple targets, as they've deprecated it (https://github.com/rust-lang/cc-rs/pull/812) - A new `remove_flag` function to remove flags which have been added with `add_flag` (https://github.com/rust-lang/cc-rs/pull/885) - Changes to how clang and gcc are distinguished, and how `-m32`/`-mx32`/`-m64` flags are passed (https://github.com/rust-lang/cc-rs/pull/709) - Minor adjustments to how `-isysroot` is passed on Apple targets (https://github.com/rust-lang/cc-rs/pull/703) and how MSVC version is detected on Windows (https://github.com/rust-lang/cc-rs/pull/696). As always, please file bugs if you hit issues. `cc` is used in many more ways than we can possibly test (especially when cross-compiling or using tier-3 platforms). Thanks. #### New Contributors - [@&#8203;BlackHoleFox](https://github.com/BlackHoleFox) made their first contribution in https://github.com/rust-lang/cc-rs/pull/848 - [@&#8203;youknowone](https://github.com/youknowone) made their first contribution in https://github.com/rust-lang/cc-rs/pull/704 - [@&#8203;Arc-blroth](https://github.com/Arc-blroth) made their first contribution in https://github.com/rust-lang/cc-rs/pull/705 - [@&#8203;osiewicz](https://github.com/osiewicz) made their first contribution in https://github.com/rust-lang/cc-rs/pull/878 - [@&#8203;RubixDev](https://github.com/RubixDev) made their first contribution in https://github.com/rust-lang/cc-rs/pull/839 - [@&#8203;lcruz99](https://github.com/lcruz99) made their first contribution in https://github.com/rust-lang/cc-rs/pull/881 - [@&#8203;raisfeld-ori](https://github.com/raisfeld-ori) made their first contribution in https://github.com/rust-lang/cc-rs/pull/885 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.83...1.0.84 ### [`v1.0.83`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.83) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.82...1.0.83) #### What's Changed - Add method for specifying C/C++ standard version by [@&#8203;hikari-no-yume](https://github.com/hikari-no-yume) in https://github.com/rust-lang/cc-rs/pull/761 - Stop using feature "libc/std" by [@&#8203;kadiwa4](https://github.com/kadiwa4) in https://github.com/rust-lang/cc-rs/pull/860 #### New Contributors - [@&#8203;hikari-no-yume](https://github.com/hikari-no-yume) made their first contribution in https://github.com/rust-lang/cc-rs/pull/761 - [@&#8203;kadiwa4](https://github.com/kadiwa4) made their first contribution in https://github.com/rust-lang/cc-rs/pull/860 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.82...1.0.83 ### [`v1.0.82`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.82) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.81...1.0.82) This release corrects a deadlock and potential performance regression present since 1.0.80, and contains no other changes. See https://github.com/rust-lang/cc-rs/pull/849 for details. ### [`v1.0.81`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.81) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.80...1.0.81) This release exists to fix a bug introduced in 1.0.80 where we would panic if non-UTF8 were written to stderr by the C compiler. See https://github.com/rust-lang/cc-rs/pull/842 and https://github.com/rust-lang/cc-rs/issues/841 for more info. ### [`v1.0.80`](https://github.com/rust-lang/cc-rs/releases/tag/1.0.80) [Compare Source](https://github.com/rust-lang/cc-rs/compare/1.0.79...1.0.80) #### What's Changed - Bump MSRV to 1.46.0 by [@&#8203;thomcc](https://github.com/thomcc) in https://github.com/rust-lang/cc-rs/pull/781 - Make `windows_registry::VsVers` non_exhaustive by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/783 - Prioritize RUSTC_LINKER over target->cross-compile-prefix table. by [@&#8203;dot-asm](https://github.com/dot-asm) in https://github.com/rust-lang/cc-rs/pull/767 - If a file path references a parent directory, transform it to ensure we keep inside the OUT_DIR by [@&#8203;jmesmon](https://github.com/jmesmon) in https://github.com/rust-lang/cc-rs/pull/786 - Speedup `Build::clone`: Use `Arc` instead of `String`/`PathBuf`/`OsString` by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/782 - Fix --target cflag on FreeBSD when compiling against clang by [@&#8203;mqudsi](https://github.com/mqudsi) in https://github.com/rust-lang/cc-rs/pull/785 - Append `freebsd-version` to all --target=\*-freebsd if executed on FreeBSD. by [@&#8203;dot-asm](https://github.com/dot-asm) in https://github.com/rust-lang/cc-rs/pull/788 - Update some doc comments by [@&#8203;mqudsi](https://github.com/mqudsi) in https://github.com/rust-lang/cc-rs/pull/792 - Prevent cloning on every `get_xxx()` call by [@&#8203;mqudsi](https://github.com/mqudsi) in https://github.com/rust-lang/cc-rs/pull/793 - Change approach for native and cross-compilation with clang++ on FreeBSD by [@&#8203;mqudsi](https://github.com/mqudsi) in https://github.com/rust-lang/cc-rs/pull/794 - Default to llvm-ar when compiling for wasm. by [@&#8203;dot-asm](https://github.com/dot-asm) in https://github.com/rust-lang/cc-rs/pull/657 - Add Loongarch64 support by [@&#8203;zhaixiaojuan](https://github.com/zhaixiaojuan) in https://github.com/rust-lang/cc-rs/pull/637 - Refine CUDA documentation. by [@&#8203;dot-asm](https://github.com/dot-asm) in https://github.com/rust-lang/cc-rs/pull/799 - Improve docs for the C++ usage by [@&#8203;SallySoul](https://github.com/SallySoul) in https://github.com/rust-lang/cc-rs/pull/600 - Link against libc++ on AIX by [@&#8203;bzEq](https://github.com/bzEq) in https://github.com/rust-lang/cc-rs/pull/803 - Speedup CI by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/805 - Enable dependabot for GitHub Action Workflows by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/806 - Be more stringent about handling Android NDK. by [@&#8203;jfgoog](https://github.com/jfgoog) in https://github.com/rust-lang/cc-rs/pull/808 - Optimize `Build::compile_objects`: Only spawns one thread by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/780 - add a function to populate flags from an arbitrary environment variable by [@&#8203;nagisa](https://github.com/nagisa) in https://github.com/rust-lang/cc-rs/pull/818 - Use gnu -o flag for obj out path instead of -Fo when using gcc & g++ on Windows by [@&#8203;Spencer1O1](https://github.com/Spencer1O1) in https://github.com/rust-lang/cc-rs/pull/820 - Replace `os_pipe` with direct implementation by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/822 - Optimize `Build::print`: Avoid unnecessary heap alloc by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/824 - Optimize `Error::new`: Avoid unnecessary heap alloc by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/823 - Optimize `cc::Build::try_compile`: Reuse `PrintThread` by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/817 - Remove outdated doc about build parallelism by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/827 - Use correct ABI on NetBSD/riscv64, and add target entry for same. by [@&#8203;he32](https://github.com/he32) in https://github.com/rust-lang/cc-rs/pull/815 - Fix `Build::compile_objects` deadlock on parallel by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/829 - Cleanup mod com, registry, setup_config and winapi by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/828 - Optimize `Build::get_out_dir`: Return `Cow<'_, Path>` by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/831 - Optimize `Build::env_cache`: Store `Option<Arc<str>>` as key by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/832 - Optimize `Build::compile_objects` on feature parallel by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/833 - Disambiguate Windows run-times when using clang to compile. by [@&#8203;dot-asm](https://github.com/dot-asm) in https://github.com/rust-lang/cc-rs/pull/825 - Harmonize README.md with reality. by [@&#8203;dot-asm](https://github.com/dot-asm) in https://github.com/rust-lang/cc-rs/pull/835 - Replace `windows-sys` dependency with bindings generation by [@&#8203;NobodyXu](https://github.com/NobodyXu) in https://github.com/rust-lang/cc-rs/pull/837 - Handle `x86_64h-apple-darwin` target by [@&#8203;thomcc](https://github.com/thomcc) in https://github.com/rust-lang/cc-rs/pull/840 - Bump version to 1.0.80 by [@&#8203;thomcc](https://github.com/thomcc) in https://github.com/rust-lang/cc-rs/pull/834 #### New Contributors - [@&#8203;zhaixiaojuan](https://github.com/zhaixiaojuan) made their first contribution in https://github.com/rust-lang/cc-rs/pull/637 - [@&#8203;SallySoul](https://github.com/SallySoul) made their first contribution in https://github.com/rust-lang/cc-rs/pull/600 - [@&#8203;bzEq](https://github.com/bzEq) made their first contribution in https://github.com/rust-lang/cc-rs/pull/803 - [@&#8203;jfgoog](https://github.com/jfgoog) made their first contribution in https://github.com/rust-lang/cc-rs/pull/808 - [@&#8203;Spencer1O1](https://github.com/Spencer1O1) made their first contribution in https://github.com/rust-lang/cc-rs/pull/820 - [@&#8203;he32](https://github.com/he32) made their first contribution in https://github.com/rust-lang/cc-rs/pull/815 **Full Changelog**: https://github.com/rust-lang/cc-rs/compare/1.0.79...1.0.80 </details> <details> <summary>nodejs/nan (nan)</summary> ### [`v2.22.0`](https://github.com/nodejs/nan/blob/HEAD/CHANGELOG.md#2220-Oct-11-2024) [Compare Source](https://github.com/nodejs/nan/compare/v2.21.0...v2.22.0) - Feature: replace SetAccessor -> SetNativeDataProperty ([#&#8203;977](https://github.com/nodejs/nan/issues/977)) [`6bd62c9`](https://github.com/nodejs/nan/commit/6bd62c9a0004339d5d1e18a945c84929d0f6b808) ### [`v2.21.0`](https://github.com/nodejs/nan/blob/HEAD/CHANGELOG.md#2210-Oct-10-2024) [Compare Source](https://github.com/nodejs/nan/compare/v2.20.0...v2.21.0) - Feature: Support for node version 20.17.0 ([#&#8203;976](https://github.com/nodejs/nan/issues/976)) [`a7df36e`](https://github.com/nodejs/nan/commit/a7df36eda8a7fe8581c00a18590f5e4faafca7ae) ### [`v2.20.0`](https://github.com/nodejs/nan/blob/HEAD/CHANGELOG.md#2200-Jun-12-2024) [Compare Source](https://github.com/nodejs/nan/compare/v2.19.0...v2.20.0) - Feature: fix removal of v8::CopyablePersistent ([#&#8203;970](https://github.com/nodejs/nan/issues/970)) [`5805ca5`](https://github.com/nodejs/nan/commit/5805ca5c4c2eef9a65316b68741e29f4825c511f) ### [`v2.19.0`](https://github.com/nodejs/nan/blob/HEAD/CHANGELOG.md#2190-Mar-6-2024) [Compare Source](https://github.com/nodejs/nan/compare/v2.18.0...v2.19.0) - Feature: Fix builds for Electron 29 ([#&#8203;966](https://github.com/nodejs/nan/issues/966)) [`1b630dd`](https://github.com/nodejs/nan/commit/1b630ddb3412cde35b64513662b440f9fd71e1ff) ### [`v2.18.0`](https://github.com/nodejs/nan/blob/HEAD/CHANGELOG.md#2180-Sep-12-2023) [Compare Source](https://github.com/nodejs/nan/compare/v2.17.0...v2.18.0) - Feature: Cast v8::Object::GetInternalField() return value to v8::Value ([#&#8203;956](https://github.com/nodejs/nan/issues/956)) [`bdfee17`](https://github.com/nodejs/nan/commit/bdfee1788239f735b67fe6b46b1439da755e9b62) </details> <details> <summary>prettier/prettier (prettier)</summary> ### [`v3.5.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#350) [Compare Source](https://github.com/prettier/prettier/compare/3.4.2...3.5.0) [diff](https://github.com/prettier/prettier/compare/3.4.2...3.5.0) 🔗 [Release Notes](https://prettier.io/blog/2025/02/09/3.5.0.html) ### [`v3.4.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#342) [Compare Source](https://github.com/prettier/prettier/compare/3.4.1...3.4.2) [diff](https://github.com/prettier/prettier/compare/3.4.1...3.4.2) ##### Treat U+30A0 & U+30FB in Katakana Block as CJK ([#&#8203;16796](https://github.com/prettier/prettier/pull/16796) by [@&#8203;tats-u](https://github.com/tats-u)) Prettier doesn't treat U+30A0 & U+30FB as Japanese. U+30FB is commonly used in Japanese to represent the delimitation of first and last names of non-Japanese people or “and”. The following “C言語・C++・Go・Rust” means “C language & C++ & Go & Rust” in Japanese. <!-- prettier-ignore --> ```md <!-- Input (--prose-wrap=never) --> C言 語 ・ C++ ・ Go ・ Rust <!-- Prettier 3.4.1 --> C言語・ C++ ・ Go ・ Rust <!-- Prettier 3.4.2 --> C言語・C++・Go・Rust ``` U+30A0 can be used as the replacement of the `-` in non-Japanese names (e.g. “Saint-Saëns” (Charles Camille Saint-Saëns) can be represented as “サン゠サーンス” in Japanese), but substituted by ASCII hyphen (U+002D) or U+FF1D (full width hyphen) in many cases (e.g. “サン=サーンス” or “サン=サーンス”). ##### Fix comments print on class methods with decorators ([#&#8203;16891](https://github.com/prettier/prettier/pull/16891) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input class A { @&#8203;decorator /** * The method description * */ async method(foo: Foo, bar: Bar) { console.log(foo); } } // Prettier 3.4.1 class A { @&#8203;decorator async /** * The method description * */ method(foo: Foo, bar: Bar) { console.log(foo); } } // Prettier 3.4.2 class A { @&#8203;decorator /** * The method description * */ async method(foo: Foo, bar: Bar) { console.log(foo); } } ``` ##### Fix non-idempotent formatting ([#&#8203;16899](https://github.com/prettier/prettier/pull/16899) by [@&#8203;seiyab](https://github.com/seiyab)) This bug fix is not language-specific. You may see similar change in any languages. This fixes regression in 3.4.0 so change caused by it should yield same formatting as 3.3.3. <!-- prettier-ignore --> ```jsx // Input <div> foo <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span> , abc </div>; // Prettier 3.4.1 (first) <div> foo <span> longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo </span>, abc </div>; // Prettier 3.4.1 (second) <div> foo <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span> , abc </div>; // Prettier 3.4.2 <div> foo <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span> , abc </div>; ``` ### [`v3.4.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#341) [Compare Source](https://github.com/prettier/prettier/compare/3.4.0...3.4.1) [diff](https://github.com/prettier/prettier/compare/3.4.0...3.4.1) ##### Remove unnecessary parentheses around assignment in `v-on` ([#&#8203;16887](https://github.com/prettier/prettier/pull/16887) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```vue <!-- Input --> <template> <button @&#8203;click="foo += 2">Click</button> </template> <!-- Prettier 3.4.0 --> <template> <button @&#8203;click="(foo += 2)">Click</button> </template> <!-- Prettier 3.4.1 --> <template> <button @&#8203;click="foo += 2">Click</button> </template> ``` ### [`v3.4.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#340) [Compare Source](https://github.com/prettier/prettier/compare/3.3.3...3.4.0) [diff](https://github.com/prettier/prettier/compare/3.3.3...3.4.0) 🔗 [Release Notes](https://prettier.io/blog/2024/11/26/3.4.0.html) ### [`v3.3.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#333) [Compare Source](https://github.com/prettier/prettier/compare/3.3.2...3.3.3) [diff](https://github.com/prettier/prettier/compare/3.3.2...3.3.3) ##### Add parentheses for nullish coalescing in ternary ([#&#8203;16391](https://github.com/prettier/prettier/pull/16391) by [@&#8203;cdignam-segment](https://github.com/cdignam-segment)) This change adds clarity to operator precedence. <!-- prettier-ignore --> ```js // Input foo ? bar ?? foo : baz; foo ?? bar ? a : b; a ? b : foo ?? bar; // Prettier 3.3.2 foo ? bar ?? foo : baz; foo ?? bar ? a : b; a ? b : foo ?? bar; // Prettier 3.3.3 foo ? (bar ?? foo) : baz; (foo ?? bar) ? a : b; a ? b : (foo ?? bar); ``` ##### Add parentheses for decorator expressions ([#&#8203;16458](https://github.com/prettier/prettier/pull/16458) by [@&#8203;y-schneider](https://github.com/y-schneider)) Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5. <!-- prettier-ignore --> ```ts // Input @&#8203;(foo`tagged template`) class X {} // Prettier 3.3.2 @&#8203;foo`tagged template` class X {} // Prettier 3.3.3 @&#8203;(foo`tagged template`) class X {} ``` ##### Support `@let` declaration syntax ([#&#8203;16474](https://github.com/prettier/prettier/pull/16474) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) Adds support for Angular v18 `@let` declaration syntax. Please see the following code example. The `@let` declaration allows you to define local variables within the template: <!-- prettier-ignore --> ```html @&#8203;let name = 'Frodo'; <h1>Dashboard for {{name}}</h1> Hello, {{name}} ``` For more details, please refer to the excellent blog post by the Angular Team: [Introducing @&#8203;let in Angular](https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f). We also appreciate the Angular Team for kindly answering our questions to implement this feature. ### [`v3.3.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#332) [Compare Source](https://github.com/prettier/prettier/compare/3.3.1...3.3.2) [diff](https://github.com/prettier/prettier/compare/3.3.1...3.3.2) ##### Fix handlebars path expressions starts with `@` ([#&#8203;16358](https://github.com/prettier/prettier/pull/16358) by [@&#8203;Princeyadav05](https://github.com/Princeyadav05)) <!-- prettier-ignore --> ```hbs {{! Input }} <div>{{@&#8203;x.y.z}}</div> {{! Prettier 3.3.1 }} <div>{{@&#8203;x}}</div> {{! Prettier 3.3.2 }} <div>{{@&#8203;x.y.z}}</div> ``` ### [`v3.3.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#331) [Compare Source](https://github.com/prettier/prettier/compare/3.3.0...3.3.1) [diff](https://github.com/prettier/prettier/compare/3.3.0...3.3.1) ##### Preserve empty lines in front matter ([#&#8203;16347](https://github.com/prettier/prettier/pull/16347) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```markdown <!-- Input --> --- foo: - bar1 - bar2 - bar3 --- Markdown <!-- Prettier 3.3.0 --> --- foo: - bar1 - bar2 - bar3 --- Markdown <!-- Prettier 3.3.1 --> --- foo: - bar1 - bar2 - bar3 --- Markdown ``` ##### Preserve explicit language in front matter ([#&#8203;16348](https://github.com/prettier/prettier/pull/16348) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```markdown <!-- Input --> ---yaml title: Hello slug: home --- <!-- Prettier 3.3.0 --> --- title: Hello slug: home --- <!-- Prettier 3.3.1 --> ---yaml title: Hello slug: home --- ``` ##### Avoid line breaks in import attributes ([#&#8203;16349](https://github.com/prettier/prettier/pull/16349) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" }; // Prettier 3.3.0 import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" }; // Prettier 3.3.1 import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" }; ``` ### [`v3.3.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#330) [Compare Source](https://github.com/prettier/prettier/compare/3.2.5...3.3.0) [diff](https://github.com/prettier/prettier/compare/3.2.5...3.3.0) 🔗 [Release Notes](https://prettier.io/blog/2024/06/01/3.3.0.html) ### [`v3.2.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#325) [Compare Source](https://github.com/prettier/prettier/compare/3.2.4...3.2.5) [diff](https://github.com/prettier/prettier/compare/3.2.4...3.2.5) ##### Support Angular inline styles as single template literal ([#&#8203;15968](https://github.com/prettier/prettier/pull/15968) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) [Angular v17](https://blog.angular.io/introducing-angular-v17-4d7033312e4b) supports single string inline styles. <!-- prettier-ignore --> ```ts // Input @&#8203;Component({ template: `<div>...</div>`, styles: `h1 { color: blue; }`, }) export class AppComponent {} // Prettier 3.2.4 @&#8203;Component({ template: `<div>...</div>`, styles: `h1 { color: blue; }`, }) export class AppComponent {} // Prettier 3.2.5 @&#8203;Component({ template: `<div>...</div>`, styles: ` h1 { color: blue; } `, }) export class AppComponent {} ``` ##### Unexpected embedded formatting for Angular template ([#&#8203;15969](https://github.com/prettier/prettier/pull/15969) by [@&#8203;JounQin](https://github.com/JounQin)) Computed template should not be considered as Angular component template <!-- prettier-ignore --> ```ts // Input const template = "foobar"; @&#8203;Component({ [template]: `<h1>{{ hello }}</h1>`, }) export class AppComponent {} // Prettier 3.2.4 const template = "foobar"; @&#8203;Component({ [template]: `<h1>{{ hello }}</h1>`, }) export class AppComponent {} // Prettier 3.2.5 const template = "foobar"; @&#8203;Component({ [template]: `<h1>{{ hello }}</h1>`, }) export class AppComponent {} ``` ##### Use `"json"` parser for `tsconfig.json` by default ([#&#8203;16012](https://github.com/prettier/prettier/pull/16012) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) In [v3.2.0](https://prettier.io/blog/2024/01/12/3.2.0#new-jsonc-parser-added-15831httpsgithubcomprettierprettierpull15831-by-fiskerhttpsgithubcomfisker), we introduced `"jsonc"` parser which adds trailing comma **by default**. When adding a new parser we also define how it will be used based on the [`linguist-languages`](https://www.npmjs.com/package/linguist-languages) data. `tsconfig.json` is a special file used by [TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#using-tsconfigjson-or-jsconfigjson), it uses `.json` file extension, but it actually uses the [JSON with Comments](https://code.visualstudio.com/docs/languages/json#\_json-with-comments) syntax. However, we found that there are many third-party tools not recognize it correctly because of the confusing `.json` file extension. We decide to treat it as a JSON file for now to avoid the extra configuration step. To keep using the `"jsonc"` parser for your `tsconfig.json` files, add the following to your `.prettierrc` file ```json { "overrides": [ { "files": ["tsconfig.json", "jsconfig.json"], "options": { "parser": "jsonc" } } ] } ``` <!-- prettier-ignore --> ``` ``` ### [`v3.2.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#Prettier-324) [Compare Source](https://github.com/prettier/prettier/compare/3.2.3...3.2.4) prettier --file-info tsconfig.json { "ignored": false, "inferredParser": "jsonc" } ### [`v3.2.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#323) [Compare Source](https://github.com/prettier/prettier/compare/3.2.2...3.2.3) [diff](https://github.com/prettier/prettier/compare/3.2.2...3.2.3) ##### Throw errors for invalid code ([#&#8203;15881](https://github.com/prettier/prettier/pull/15881) by [@&#8203;fisker](https://github.com/fisker), [@&#8203;Josh-Cena](https://github.com/Josh-Cena), [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```ts // Input 1++; // Prettier 3.2.2 1++; // Prettier 3.2.3 SyntaxError: Invalid left-hand side expression in unary operation (1:1) > 1 | 1++; | ^ ``` <!-- prettier-ignore --> ```ts // Input try {} catch (error = 1){} // Prettier 3.2.2 try { } catch (error) {} // Prettier 3.2.3 SyntaxError: Catch clause variable cannot have an initializer. (1:23) > 1 | try {} catch (error = 1){} | ^ ``` ##### Fix parser inference ([#&#8203;15927](https://github.com/prettier/prettier/pull/15927) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```console // Prettier 3.2.2 prettier --file-info tsconfig.json { "ignored": false, "inferredParser": "json" } // Prettier 3.2.3 prettier --file-info tsconfig.json { "ignored": false, "inferredParser": "jsonc" } ``` ### [`v3.2.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#322) [Compare Source](https://github.com/prettier/prettier/compare/3.2.1...3.2.2) [diff](https://github.com/prettier/prettier/compare/3.2.1...3.2.2) ##### Fix crash when parsing template literal CSS in a JSX style tag using a spread attribute ([#&#8203;15896](https://github.com/prettier/prettier/pull/15896) by [@&#8203;eelco](https://github.com/eelco)) For example this code would crash before: <!-- prettier-ignore --> ```jsx <style {...spread}>{`.{}`}</style> ``` ##### Fix formatting error on optional call expression and member chain ([#&#8203;15920](https://github.com/prettier/prettier/pull/15920) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ```jsx // Input a(() => {}, c?.d()); // Prettier 3.2.1 TypeError: Cannot read properties of undefined (reading 'type') // Prettier 3.2.2 a(() => {}, c?.d()); ``` ### [`v3.2.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#321) [Compare Source](https://github.com/prettier/prettier/compare/3.2.0...3.2.1) [diff](https://github.com/prettier/prettier/compare/3.2.0...3.2.1) ##### Fix formatting error on member chain ([#&#8203;15915](https://github.com/prettier/prettier/pull/15915) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ```jsx // Input test().test2().test2(thing?.something); // Prettier 3.2.0 TypeError: Cannot read properties of undefined (reading 'type') // Prettier 3.2.1 test().test2().test2(thing?.something); ``` ### [`v3.2.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#320) [Compare Source](https://github.com/prettier/prettier/compare/3.1.1...3.2.0) [diff](https://github.com/prettier/prettier/compare/3.1.1...3.2.0) 🔗 [Release Notes](https://prettier.io/blog/2024/01/12/3.2.0.html) ### [`v3.1.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#311) [Compare Source](https://github.com/prettier/prettier/compare/3.1.0...3.1.1) [diff](https://github.com/prettier/prettier/compare/3.1.0...3.1.1) ##### Fix config file search ([#&#8203;15363](https://github.com/prettier/prettier/pull/15363) by [@&#8203;fisker](https://github.com/fisker)) Previously, we start search for config files from the filePath as a directory, if it happened to be a directory and contains config file, it will be used by mistake. ```text ├─ .prettierrc └─ test.js (A directory) └─ .prettierrc ``` ```js // Prettier 3.1.0 await prettier.resolveConfigFile(new URL("./test.js", import.meta.url)); // <CWD>/test.js/.prettierrc // Prettier 3.1.1 await prettier.resolveConfigFile(new URL("./test.js", import.meta.url)); // <CWD>/.prettierrc ``` ##### Skip explicitly passed symbolic links with `--no-error-on-unmatched-pattern` ([#&#8203;15533](https://github.com/prettier/prettier/pull/15533) by [@&#8203;sanmai-NL](https://github.com/sanmai-NL)) Since Prettier v3, we stopped following symbolic links, however in some use cases, the symbolic link patterns can't be filtered out, and there is no way to prevent Prettier from throwing errors. In Prettier 3.1.1, you can use `--no-error-on-unmatched-pattern` to simply skip symbolic links. ##### Consistently use tabs in ternaries when `useTabs` is `true` ([#&#8203;15662](https://github.com/prettier/prettier/pull/15662) by [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```jsx // Input aaaaaaaaaaaaaaa ? bbbbbbbbbbbbbbbbbb : ccccccccccccccc ? ddddddddddddddd : eeeeeeeeeeeeeee ? fffffffffffffff : gggggggggggggggg; // Prettier 3.1.0 aaaaaaaaaaaaaaa ? bbbbbbbbbbbbbbbbbb : ccccccccccccccc ? ddddddddddddddd : eeeeeeeeeeeeeee ? fffffffffffffff : gggggggggggggggg; // Prettier 3.1.1 aaaaaaaaaaaaaaa ? bbbbbbbbbbbbbbbbbb : ccccccccccccccc ? ddddddddddddddd : eeeeeeeeeeeeeee ? fffffffffffffff : gggggggggggggggg; ``` ##### Improve config file search ([#&#8203;15663](https://github.com/prettier/prettier/pull/15663) by [@&#8203;fisker](https://github.com/fisker)) The Prettier config file search performance has been improved by more effective cache strategy. ##### Fix unstable and ugly formatting for comments in destructuring patterns ([#&#8203;15708](https://github.com/prettier/prettier/pull/15708) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ```tsx // Input const { foo, // bar // baz }: Foo = expr; // Prettier 3.1.0 const { foo1, } // bar // baz : Foo = expr; // Prettier 3.1.0 second output const { foo1, // bar } // baz : Foo = expr; // Prettier 3.1.1 const { foo1, // bar // baz }: Foo = expr; ``` ##### Support "Import Attributes" ([#&#8203;15718](https://github.com/prettier/prettier/pull/15718) by [@&#8203;fisker](https://github.com/fisker)) [TypeScript 5.3](https://devblogs.microsoft.com/typescript/announcing-typescript-5-3/#import-attributes) supports the latest updates to the [import attributes](https://github.com/tc39/proposal-import-attributes) proposal. ```tsx import something from "./something.json" with { type: "json" }; ``` ##### Fix false claim in docs that cursorOffset is incompatible with rangeStart/rangeEnd ([#&#8203;15750](https://github.com/prettier/prettier/pull/15750) by [@&#8203;ExplodingCabbage](https://github.com/ExplodingCabbage)) The cursorOffset option has in fact been compatible with rangeStart/rangeEnd for over 5 years, thanks to work by [@&#8203;ds300](https://github.com/ds300). However, Prettier's documentation (including the CLI `--help` text) continued to claim otherwise, falsely. The documentation is now fixed. ##### Keep curly braces and `from` keyword in empty `import` statements ([#&#8203;15756](https://github.com/prettier/prettier/pull/15756) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```js // Input import { } from 'foo'; import { /* comment */ } from 'bar'; // Prettier 3.1.0 import {} from "foo"; import /* comment */ "bar"; // Prettier 3.1.1 import {} from "foo"; import {} from /* comment */ "bar"; ``` ##### Keep empty import attributes and assertions ([#&#8203;15757](https://github.com/prettier/prettier/pull/15757) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```js // Input import foo from "foo" with {}; import bar from "bar" assert {}; // Prettier 3.1.0 import foo from "foo"; import bar from "bar"; // Prettier 3.1.1 import foo from "foo" with {}; import bar from "bar" assert {}; ``` ### [`v3.1.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#310) [Compare Source](https://github.com/prettier/prettier/compare/3.0.3...3.1.0) [diff](https://github.com/prettier/prettier/compare/3.0.3...3.1.0) 🔗 [Release Notes](https://prettier.io/blog/2023/11/13/3.1.0.html) ### [`v3.0.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#303) [Compare Source](https://github.com/prettier/prettier/compare/3.0.2...3.0.3) [diff](https://github.com/prettier/prettier/compare/3.0.2...3.0.3) ##### Add `preferUnplugged: true` to `package.json` ([#&#8203;15169](https://github.com/prettier/prettier/pull/15169) by [@&#8203;fisker](https://github.com/fisker) and [@&#8203;so1ve](https://github.com/so1ve)) Prettier v3 uses dynamic imports, user [will need to unplug Prettier](https://github.com/yarnpkg/berry/pull/5411#issuecomment-1523502224) when Yarn's PnP mode is enabled, add [`preferUnplugged: true`](https://yarnpkg.com/configuration/manifest#preferUnplugged) to `package.json`, so Yarn will install Prettier as unplug by default. ##### Support shared config that forbids `require()` ([#&#8203;15233](https://github.com/prettier/prettier/pull/15233) by [@&#8203;fisker](https://github.com/fisker)) If an external shared config package is used, and the package `exports` don't have `require` or `default` export. In Prettier 3.0.2 Prettier fails when attempt to `require()` the package, and throws an error. ```text Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in <packageName>/package.json ``` ##### Allow argument of `require()` to break ([#&#8203;15256](https://github.com/prettier/prettier/pull/15256) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input const plugin = require( global.STANDALONE ? path.join(__dirname, "../standalone.js") : path.join(__dirname, "..") ); // Prettier 3.0.2 const plugin = require(global.STANDALONE ? path.join(__dirname, "../standalone.js") : path.join(__dirname, "..")); // Prettier 3.0.3 const plugin = require( global.STANDALONE ? path.join(__dirname, "../standalone.js") : path.join(__dirname, "..") ); ``` ##### Do not print trailing commas in arrow function type parameter lists in `ts` code blocks ([#&#8203;15286](https://github.com/prettier/prettier/pull/15286) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ````md <!-- Input --> ```ts const foo = <T>() => {} ``` <!-- Prettier 3.0.2 --> ```ts const foo = <T,>() => {} ``` <!-- Prettier 3.0.3 --> ```ts const foo = <T>() => {} ``` ```` ##### Support TypeScript 5.2 `using` / `await using` declaration ([#&#8203;15321](https://github.com/prettier/prettier/pull/15321) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) Support for the upcoming Explicit Resource Management feature in ECMAScript. [`using` / `await using` declaration](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#using-declarations-and-explicit-resource-management) <!-- prettier-ignore --> ```tsx { using foo = new Foo(); await using bar = new Bar(); } ``` ### [`v3.0.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#302) [Compare Source](https://github.com/prettier/prettier/compare/3.0.1...3.0.2) [diff](https://github.com/prettier/prettier/compare/3.0.1...3.0.2) ##### Break after `=` of assignment if RHS is poorly breakable AwaitExpression or YieldExpression ([#&#8203;15204](https://github.com/prettier/prettier/pull/15204) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```js // Input const { section, rubric, authors, tags } = await utils.upsertCommonData(mainData); // Prettier 3.0.1 const { section, rubric, authors, tags } = await utils.upsertCommonData( mainData, ); // Prettier 3.0.2 const { section, rubric, authors, tags } = await utils.upsertCommonData(mainData); ``` ##### Do not add trailing comma for grouped scss comments ([#&#8203;15217](https://github.com/prettier/prettier/pull/15217) by [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```scss /* Input */ $foo: ( 'property': (), // comment 1 // comment 2 ) /* Prettier 3.0.1 */ $foo: ( "property": (), // comment 1 // comment 2, ); /* Prettier 3.0.2 */ $foo: ( "property": (), // comment 1 // comment 2 ); ``` ##### Print `declare` and `export` keywords for nested namespace ([#&#8203;15249](https://github.com/prettier/prettier/pull/15249) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ```tsx // Input declare namespace abc1.def {} export namespace abc2.def {} // Prettier 3.0.1 namespace abc1.def {} namespace abc2.def {} // Prettier 3.0.2 declare namespace abc1.def {} export namespace abc2.def {} ``` ### [`v3.0.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#301) [Compare Source](https://github.com/prettier/prettier/compare/3.0.0...3.0.1) [diff](https://github.com/prettier/prettier/compare/3.0.0...3.0.1) ##### Fix cursor positioning for a special case ([#&#8203;14812](https://github.com/prettier/prettier/pull/14812) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```js // <|> is the cursor position /* Input */ // All messages are represented in JSON. // So, the prettier.py controls a subprocess which spawns "node {this_file}". import {<|> } from "fs" /* Prettier 3.0.0 */ // All messages are represented in JSON. // So, the prettier.py <|>controls a subprocess which spawns "node {this_file}". import {} from "fs" /* Prettier 3.0.1 */ // All messages are represented in JSON. // So, the prettier.py controls a subprocess which spawns "node {this_file}". import {<|>} from "fs" ``` ##### Fix plugins/estree.d.ts to make it a module ([#&#8203;15018](https://github.com/prettier/prettier/pull/15018) by [@&#8203;kingyue737](https://github.com/kingyue737)) Add `export {}` in `plugins/estree.d.ts` to fix the "File is not a module" error ##### Add parenthesis around leading multiline comment in return statement ([#&#8203;15037](https://github.com/prettier/prettier/pull/15037) by [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```jsx // Input function fn() { return ( /** * @&#8203;type {...} */ expression ) } // Prettier 3.0.0 function fn() { return /** * @&#8203;type {...} */ expression; } // Prettier 3.0.1 function fn() { return ( /** * @&#8203;type {...} */ expression ); } ``` ##### Add support for Vue "Generic Components" ([#&#8203;15066](https://github.com/prettier/prettier/pull/15066) by [@&#8203;auvred](https://github.com/auvred)) https://blog.vuejs.org/posts/vue-3-3#generic-components <!-- prettier-ignore --> ```vue <!-- Input --> <script setup lang="ts" generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"></script> <!-- Prettier 3.0.0 --> <script setup lang="ts" generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean" ></script> <!-- Prettier 3.0.1 --> <script setup lang="ts" generic=" T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean " ></script> ``` ##### Fix comments print in `IfStatement` ([#&#8203;15076](https://github.com/prettier/prettier/pull/15076) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```js function a(b) { if (b) return 1; // comment else return 2; } /* Prettier 3.0.0 */ Error: Comment "comment" was not printed. Please report this error! /* Prettier 3.0.1 */ function a(b) { if (b) return 1; // comment else return 2; } ``` ##### Add missing type definition for `printer.preprocess` ([#&#8203;15123](https://github.com/prettier/prettier/pull/15123) by [@&#8203;so1ve](https://github.com/so1ve)) ```diff export interface Printer<T = any> { // ... + preprocess?: + | ((ast: T, options: ParserOptions<T>) => T | Promise<T>) + | undefined; } ``` ##### Add missing `getVisitorKeys` method type definition for `Printer` ([#&#8203;15125](https://github.com/prettier/prettier/pull/15125) by [@&#8203;auvred](https://github.com/auvred)) ```tsx const printer: Printer = { print: () => [], getVisitorKeys(node, nonTraversableKeys) { return ["body"]; }, }; ``` ##### Add typing to support `readonly` array properties of AST Node ([#&#8203;15127](https://github.com/prettier/prettier/pull/15127) by [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```tsx // Input interface TestNode { readonlyArray: readonly string[]; } declare const path: AstPath<TestNode>; path.map(() => "", "readonlyArray"); // Prettier 3.0.0 interface TestNode { readonlyArray: readonly string[]; } declare const path: AstPath<TestNode>; path.map(() => "", "readonlyArray"); // ^ Argument of type '"readonlyArray"' is not assignable to parameter of type '"regularArray"'. ts(2345) // Prettier 3.0.1 interface TestNode { readonlyArray: readonly string[]; } declare const path: AstPath<TestNode>; path.map(() => "", "readonlyArray"); ``` ##### Add space before unary minus followed by a function call ([#&#8203;15129](https://github.com/prettier/prettier/pull/15129) by [@&#8203;pamelalozano](https://github.com/pamelalozano)) <!-- prettier-ignore --> ```less // Input div { margin: - func(); } // Prettier 3.0.0 div { margin: -func(); } // Prettier 3.0.1 div { margin: - func(); } ``` ### [`v3.0.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#300) [Compare Source](https://github.com/prettier/prettier/compare/2.8.8...3.0.0) [diff](https://github.com/prettier/prettier/compare/3.0.0-alpha.6...3.0.0) 🔗 [Release Notes](https://prettier.io/blog/2023/07/05/3.0.0.html) </details> <details> <summary>tree-sitter/tree-sitter (tree-sitter)</summary> ### [`v0.25.1`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.25.1) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.25.0...v0.25.1) ##### Changelog ##### \[0.25.1] — 2025-02-02 ##### Features - **cli**: Specify abi version via env var ([#&#8203;4173](https://github.com/tree-sitter/tree-sitter/pull/4173)) ##### Bug Fixes - **bindings**: Correct Zig bindings to expose a `language` function - **lib**: Prevent finished_tree assertion failure ([#&#8203;4176](https://github.com/tree-sitter/tree-sitter/pull/4176)) ##### Documentation - Correct build steps for WASM files ##### Build System and CI - Use `ubuntu-22.04` for x64 builds ([#&#8203;4175](https://github.com/tree-sitter/tree-sitter/pull/4175)) - Bump version to 0.25.1 ##### Other - **rust**: Correct doc comments ### [`v0.25.0`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.25.0) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.7...v0.25.0) ### Changelog #### \[0.25.0] — 2025-02-01 ##### Notices This is a large release. As such, a few major changes and how to adapt to them are outlined below: - `web-tree-sitter` was rewritten in TypeScript. With that, we also now publish the sourcemaps, and debug builds for the library. We also publish *both* CommonJS and ESM modules. - The internal ABI was bumped to 15. The main benefits this brings is that the language name, version, supertype info, and reserved words are added to the parsers. To use ABI 15, you must have a `tree-sitter.json` file in your repository, since the version information for the parser is pulled from this file. - Parsing and Querying should be cancelled using the "progress callback", rather than setting a timeout or a cancellation flag, which are now deprecated. To do so, use the "parse/query with options" function in the bindings you choose to use, in the next release the old way of timing out parsing will be removed, which allows us to get rid of our dependency on the `time.h` headers in the core library. - `MISSING` nodes can now be queried, and queries involving supertypes are properly validated now. - The `ts_node_child_containing_descendant` function was removed; use `ts_node_child_with_descendant` instead (which has nearly the same behavior but can also return `descendant`.) - `TSInput` now includes a (mandatory) new field `DecodeFunction`, which allows passing a custom decode function. To use the builtin function, pass `NULL`. - In the DSL, there is now a `RustRegex` function, which takes in a Rust regex as a string. All of the capabilities of Rust's regex engine are available here, which allows for some nice features that aren't possible with JavaScript regexes. - We've migrated our documentation to mdBook, and greatly improved the docs. ##### Breaking - Properly handle UTF-16 endianness encoding ([#&#8203;3740](https://github.com/tree-sitter/tree-sitter/pull/3740)) - Bump internal abi to 15 ([#&#8203;3803](https://github.com/tree-sitter/tree-sitter/pull/3803)) - Update playground with new web bindings ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **bindings**: Update swift bindings ([#&#8203;4154](https://github.com/tree-sitter/tree-sitter/pull/4154)) - **cli**: Remove migration code for `tree-sitter.json` ([#&#8203;4107](https://github.com/tree-sitter/tree-sitter/pull/4107)) - **generate**: Use `regex_syntax::Hir` for expanding regexes ([#&#8203;3831](https://github.com/tree-sitter/tree-sitter/pull/3831)) - **lib**: Remove `ts_node_child_containing_descendant` ([#&#8203;4107](https://github.com/tree-sitter/tree-sitter/pull/4107)) - **lib**: Add the ability to specify a custom decode function ([#&#8203;3833](https://github.com/tree-sitter/tree-sitter/pull/3833)) - **web**: Rewrite the library in TypeScript ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **web**: Use the WASM module in the bindings, and not the other way around ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **web**: Rename `pattern` to `patternIndex` in `QueryMatch` ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) - **web**: Deprecate `Language.query` in favor of `new Query` ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) ##### Features - Drop legacy binding updates ([#&#8203;3734](https://github.com/tree-sitter/tree-sitter/pull/3734)) - Bump version to 0.25 ([#&#8203;3752](https://github.com/tree-sitter/tree-sitter/pull/3752)) - Allow setting the output directory for generated source files ([#&#8203;2614](https://github.com/tree-sitter/tree-sitter/pull/2614)) - Move scripts to xtasks ([#&#8203;3758](https://github.com/tree-sitter/tree-sitter/pull/3758)) - Add CST pretty-printer for parser output ([#&#8203;3762](https://github.com/tree-sitter/tree-sitter/pull/3762)) - Add `version` subcommand for versioning grammars ([#&#8203;3786](https://github.com/tree-sitter/tree-sitter/pull/3786)) - Add build sha to parser.c header comment ([#&#8203;3828](https://github.com/tree-sitter/tree-sitter/pull/3828)) - Implement a cache for `get_column` ([#&#8203;2503](https://github.com/tree-sitter/tree-sitter/pull/2503)) - Generate schema in tree-sitter.json ([#&#8203;3947](https://github.com/tree-sitter/tree-sitter/pull/3947)) - Support querying missing nodes ([#&#8203;3887](https://github.com/tree-sitter/tree-sitter/pull/3887)) - Add flag to output css classes instead of inline styles in HTML highlighter output ([#&#8203;3879](https://github.com/tree-sitter/tree-sitter/pull/3879)) - Add xtask to bump `emscripten-version` ([#&#8203;4015](https://github.com/tree-sitter/tree-sitter/pull/4015)) - Add 'reserved word' construct ([#&#8203;3896](https://github.com/tree-sitter/tree-sitter/pull/3896)) - Add Supertype API ([#&#8203;3938](https://github.com/tree-sitter/tree-sitter/pull/3938)) - Support passing in a Rust regex in the grammar dsl ([#&#8203;4076](https://github.com/tree-sitter/tree-sitter/pull/4076)) - Allow parser balancing to be cancellable ([#&#8203;4122](https://github.com/tree-sitter/tree-sitter/pull/4122)) - Remove `lazy_static` in favor of `LazyLock` ([#&#8203;4130](https://github.com/tree-sitter/tree-sitter/pull/4130)) - Add and apply eslint config ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - Begin autogenerating `web-tree-sitter.d.ts` ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - Publish both CJS and ESM files ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - Add a `patternIndex` field to `QueryCapture` ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) - Improve `PredicateStep` types ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) - Add the semantic version to TSLanguage, and expose an API for retrieving it ([#&#8203;4135](https://github.com/tree-sitter/tree-sitter/pull/4135)) - Add error information in the progress callback ([#&#8203;3987](https://github.com/tree-sitter/tree-sitter/pull/3987)) - **bindings**: Auto-detect scanners ([#&#8203;3809](https://github.com/tree-sitter/tree-sitter/pull/3809)) - **bindings**: Drop language name from node ([#&#8203;3184](https://github.com/tree-sitter/tree-sitter/pull/3184)) - **bindings**: Update some binding files ([#&#8203;3952](https://github.com/tree-sitter/tree-sitter/pull/3952)) - **bindings**: Drop python 3.9 support ([#&#8203;3799](https://github.com/tree-sitter/tree-sitter/pull/3799)) - **bindings**: Support free-threaded python build ([#&#8203;3799](https://github.com/tree-sitter/tree-sitter/pull/3799)) - **bindings**: Add opt-in zig bindings ([#&#8203;4144](https://github.com/tree-sitter/tree-sitter/pull/4144)) - **bindings**: Use `cc` 1.2 for Rust ([#&#8203;4156](https://github.com/tree-sitter/tree-sitter/pull/4156)) - **cli**: Verify assertions for every carat in tests, not just the first one ([#&#8203;3927](https://github.com/tree-sitter/tree-sitter/pull/3927)) - **cli**: Add nushell completions ([#&#8203;4000](https://github.com/tree-sitter/tree-sitter/pull/4000)) - **cli**: Don't validate email addresses in `init` command ([#&#8203;3999](https://github.com/tree-sitter/tree-sitter/pull/3999)) - **cli**: Show parse times in testing output ([#&#8203;3939](https://github.com/tree-sitter/tree-sitter/pull/3939)) - **cli**: Display parse and edit times separately for `parse --time` ([#&#8203;4016](https://github.com/tree-sitter/tree-sitter/pull/4016)) - **cli**: Make input handling agnostic ([#&#8203;4054](https://github.com/tree-sitter/tree-sitter/pull/4054)) - **cli**: Rework parse to use new input handler ([#&#8203;4054](https://github.com/tree-sitter/tree-sitter/pull/4054)) - **cli**: Rework query to use new input handler ([#&#8203;4054](https://github.com/tree-sitter/tree-sitter/pull/4054)) - **cli**: Rework highlight to use new input handler ([#&#8203;4054](https://github.com/tree-sitter/tree-sitter/pull/4054)) - **cli**: Rework tags to use new input handler ([#&#8203;4054](https://github.com/tree-sitter/tree-sitter/pull/4054)) - **cli**: Add json summary of parsing ([#&#8203;4048](https://github.com/tree-sitter/tree-sitter/pull/4048)) - **cli**: Allow `test` subcommand to include/exclude by corpus test file names ([#&#8203;4095](https://github.com/tree-sitter/tree-sitter/pull/4095)) - **cli**: Improve readability of parse debug output ([#&#8203;4118](https://github.com/tree-sitter/tree-sitter/pull/4118)) - **generate**: Add a comment with the tree-sitter version ([#&#8203;3825](https://github.com/tree-sitter/tree-sitter/pull/3825)) - **generate**: Add `.exp` and `.lib` files to gitignore template ([#&#8203;4079](https://github.com/tree-sitter/tree-sitter/pull/4079)) - **generate**: Explicitly disallow non-terminals in non-terminals ([#&#8203;4111](https://github.com/tree-sitter/tree-sitter/pull/4111)) - **generate**: Properly filter out unused rules ([#&#8203;4111](https://github.com/tree-sitter/tree-sitter/pull/4111)) - **generate**: Add an extra field for extra nodes in `node-types.json` ([#&#8203;4116](https://github.com/tree-sitter/tree-sitter/pull/4116)) - **generate**: Defer to ABI 14 if `tree-sitter.json` doesn't exist, rather than hard failing ([#&#8203;4156](https://github.com/tree-sitter/tree-sitter/pull/4156)) - **highlight**: Mark `TSHighlighter` fields as pub ([#&#8203;3990](https://github.com/tree-sitter/tree-sitter/pull/3990)) - **init**: Allow dashes in scopes ([#&#8203;4142](https://github.com/tree-sitter/tree-sitter/pull/4142)) - **init**: Add an optional `funding` field ([#&#8203;4142](https://github.com/tree-sitter/tree-sitter/pull/4142)) - **init**: Add a `class-name` field to grammars ([#&#8203;4142](https://github.com/tree-sitter/tree-sitter/pull/4142)) - **init**: Add a `title` field to grammars ([#&#8203;4142](https://github.com/tree-sitter/tree-sitter/pull/4142)) - **lib**: Wrap subtrees with changes in green circles ([#&#8203;3741](https://github.com/tree-sitter/tree-sitter/pull/3741)) - **lib**: Add the language name ([#&#8203;3184](https://github.com/tree-sitter/tree-sitter/pull/3184)) - **lib**: Add `ts_parser_parse_with_options` ([#&#8203;3843](https://github.com/tree-sitter/tree-sitter/pull/3843)) - **lib**: Add `ts_query_cursor_exec_with_options` ([#&#8203;3843](https://github.com/tree-sitter/tree-sitter/pull/3843)) - **lib**: Use `const` for `TSCharacterRanges` ([#&#8203;4027](https://github.com/tree-sitter/tree-sitter/pull/4027)) - **lib**: Implement `Send` + `Sync` for `WasmStore` ([#&#8203;4130](https://github.com/tree-sitter/tree-sitter/pull/4130)) - **loader**: Add `language_for_configuration` ([#&#8203;3816](https://github.com/tree-sitter/tree-sitter/pull/3816)) - **loader**: Add error message when a `tree-sitter.json` file is invalid ([#&#8203;3897](https://github.com/tree-sitter/tree-sitter/pull/3897)) - **loader**: Support multi-barreled file extensions ([#&#8203;3880](https://github.com/tree-sitter/tree-sitter/pull/3880)) - **loader**: Add a way to get the cwd's language config ([#&#8203;4054](https://github.com/tree-sitter/tree-sitter/pull/4054)) - **make,cmake**: Install queries along with parser libraries ([#&#8203;3958](https://github.com/tree-sitter/tree-sitter/pull/3958)) - **node**: Support single-file executables via bun build --compile ([#&#8203;3905](https://github.com/tree-sitter/tree-sitter/pull/3905)) - **node**: Update bindings when necessary ([#&#8203;3906](https://github.com/tree-sitter/tree-sitter/pull/3906)) - **playground**: Provide colored highlight for captures in code editor ([#&#8203;4089](https://github.com/tree-sitter/tree-sitter/pull/4089)) - **query**: Structurally verify supertype queries ([#&#8203;4110](https://github.com/tree-sitter/tree-sitter/pull/4110)) - **rust**: Add `Language::node_kind_is_supertype` ([#&#8203;3788](https://github.com/tree-sitter/tree-sitter/pull/3788)) - **rust**: Add `*_with_options` to the parser and query cursor, deprecate old functions ([#&#8203;3843](https://github.com/tree-sitter/tree-sitter/pull/3843)) - **rust**: Remove usage of deprecated functions ([#&#8203;3843](https://github.com/tree-sitter/tree-sitter/pull/3843)) - **rust**: Use `thiserror` for `generate` crate ([#&#8203;4048](https://github.com/tree-sitter/tree-sitter/pull/4048)) - **tags**: Implement `Send` + `Sync` for `TagsConfiguration` ([#&#8203;4130](https://github.com/tree-sitter/tree-sitter/pull/4130)) - **wasm**: Add Supertype API ([#&#8203;3938](https://github.com/tree-sitter/tree-sitter/pull/3938)) - **web**: Add missing API functions ([#&#8203;4074](https://github.com/tree-sitter/tree-sitter/pull/4074)) - **web**: Document the API ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **web**: Use custom error type for query errors ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) - **web**: Include C source files for debugging ([#&#8203;4171](https://github.com/tree-sitter/tree-sitter/pull/4171)) - **xtask**: Add upgrade-wasmtime command ([#&#8203;3771](https://github.com/tree-sitter/tree-sitter/pull/3771)) - **xtask**: Let upgrade-wasmtime update Cargo.lock ([#&#8203;3890](https://github.com/tree-sitter/tree-sitter/pull/3890)) - **xtask**: Check wasm exports ([#&#8203;4074](https://github.com/tree-sitter/tree-sitter/pull/4074)) - **xtask**: add `--watch` option for `build-wasm` and `check-wasm-exports` xtask commands ([#&#8203;4082](https://github.com/tree-sitter/tree-sitter/pull/4082)) - **xtask**: Add success message for wasm watchers ([#&#8203;4131](https://github.com/tree-sitter/tree-sitter/pull/4131)) ##### Bug Fixes - Return `LanguageRef` in `Parser::language` ([#&#8203;3797](https://github.com/tree-sitter/tree-sitter/pull/3797)) - Make sha generation work with submodules ([#&#8203;3828](https://github.com/tree-sitter/tree-sitter/pull/3828)) - Disallow tokens that match the empty string ([#&#8203;3864](https://github.com/tree-sitter/tree-sitter/pull/3864)) - Compiler warning ([#&#8203;3936](https://github.com/tree-sitter/tree-sitter/pull/3936)) - Clippy lint - Clippy lints - Minor issues with CI ([#&#8203;3971](https://github.com/tree-sitter/tree-sitter/pull/3971)) - Keep highlight names list consistent in the docs and cli ([#&#8203;2065](https://github.com/tree-sitter/tree-sitter/pull/2065)) - Re-export `StreamingIterator` and `StreamingIteratorMut` ([#&#8203;4034](https://github.com/tree-sitter/tree-sitter/pull/4034)) - Update outdated links ([#&#8203;4064](https://github.com/tree-sitter/tree-sitter/pull/4064)) platform ([#&#8203;4106](https://github.com/tree-sitter/tree-sitter/pull/4106)) - **bindings**: Update CMakeLists.txt file ([#&#8203;3869](https://github.com/tree-sitter/tree-sitter/pull/3869)) - **bindings**: Fix scanner check in binding.gyp ([#&#8203;3874](https://github.com/tree-sitter/tree-sitter/pull/3874)) - **bindings**: Include headers & queries in python sdist ([#&#8203;3952](https://github.com/tree-sitter/tree-sitter/pull/3952)) - **cli**: Do not stop printing dot graphs until edits are re-parsed ([#&#8203;3741](https://github.com/tree-sitter/tree-sitter/pull/3741)) - **cli**: Remove unnecessary referencing/dereferencing in `build_parse_table` ([#&#8203;3798](https://github.com/tree-sitter/tree-sitter/pull/3798)) - **cli**: Pass all fields to `tree-sitter.json` in `init` ([#&#8203;3856](https://github.com/tree-sitter/tree-sitter/pull/3856)) - **cli**: Use `contains` over `is` in warning ([#&#8203;3867](https://github.com/tree-sitter/tree-sitter/pull/3867)) - **cli**: Replace nerd font symbols with unicode symbols ([#&#8203;3835](https://github.com/tree-sitter/tree-sitter/pull/3835)) - **cli**: Count skipped tests correctly ([#&#8203;3835](https://github.com/tree-sitter/tree-sitter/pull/3835)) - **cli**: Correct warning message ([#&#8203;4009](https://github.com/tree-sitter/tree-sitter/pull/4009)) - **cli**: Only remove test input's trailing '\r' if running on Windows ([#&#8203;4106](https://github.com/tree-sitter/tree-sitter/pull/4106)) - **cli**: Fix error display, considering structured data returned from generate command ([#&#8203;4108](https://github.com/tree-sitter/tree-sitter/pull/4108)) - **cli**: Correct default query paths ([#&#8203;4009](https://github.com/tree-sitter/tree-sitter/pull/4009)) - **cli**: Gracefully handle OOB assertions ([#&#8203;4011](https://github.com/tree-sitter/tree-sitter/pull/4011)) - **cli**: Handle nested tags test files ([#&#8203;4010](https://github.com/tree-sitter/tree-sitter/pull/4010)) - **cli**: Use xdg config directory on macOS ([#&#8203;4026](https://github.com/tree-sitter/tree-sitter/pull/4026)) - **cli**: Correct range in cst pretty printer ([#&#8203;4057](https://github.com/tree-sitter/tree-sitter/pull/4057)) - **cli**: Remove double print of generate errors ([#&#8203;4083](https://github.com/tree-sitter/tree-sitter/pull/4083)) - **cli**: Correct test update option ([#&#8203;4109](https://github.com/tree-sitter/tree-sitter/pull/4109)) - **cli**: Improve error message for nonterminals used in token rule ([#&#8203;4115](https://github.com/tree-sitter/tree-sitter/pull/4115)) - **cli**: Minor discrepancies with pretty printer ([#&#8203;4147](https://github.com/tree-sitter/tree-sitter/pull/4147)) - **cli**: Correct traversal behavior for finding error nodes ([#&#8203;4152](https://github.com/tree-sitter/tree-sitter/pull/4152)) - **cli**: Propagate error flag in parse summary ([#&#8203;4164](https://github.com/tree-sitter/tree-sitter/pull/4164)) - **cmake**: Use current source dir for EXISTS check ([#&#8203;3907](https://github.com/tree-sitter/tree-sitter/pull/3907)) - **docs**: Update link for "Error Detection and Recovery in LR Parsers" ([#&#8203;3866](https://github.com/tree-sitter/tree-sitter/pull/3866)) - **dsl**: Fix types for RuleBuilder ([#&#8203;3812](https://github.com/tree-sitter/tree-sitter/pull/3812)) - **endian**: Support POSIX mode on Apple platforms ([#&#8203;4068](https://github.com/tree-sitter/tree-sitter/pull/4068)) - **endian**: Rely on system headers where possible ([#&#8203;4149](https://github.com/tree-sitter/tree-sitter/pull/4149)) - **generate**: Do not set the unit reduction symbol if it's in the extras array ([#&#8203;3868](https://github.com/tree-sitter/tree-sitter/pull/3868)) - **generate**: Improve display of token sets with escape characters ([#&#8203;4092](https://github.com/tree-sitter/tree-sitter/pull/4092)) - **generate**: Improve error message when a duplicate token is used as the word token ([#&#8203;4092](https://github.com/tree-sitter/tree-sitter/pull/4092)) - **init**: Use camel name from config in missing spots ([#&#8203;3790](https://github.com/tree-sitter/tree-sitter/pull/3790)) - **init**: Use current path if unspecified ([#&#8203;3795](https://github.com/tree-sitter/tree-sitter/pull/3795)) - **init**: Don't prepend the default filetype with a `.` ([#&#8203;4142](https://github.com/tree-sitter/tree-sitter/pull/4142)) - **init**: Handle parser name replacements better when a `kebab-case` name is expected ([#&#8203;4142](https://github.com/tree-sitter/tree-sitter/pull/4142)) - lib: Check point, byte ranges in `ts_query_cursor_set` ([#&#8203;3865](https://github.com/tree-sitter/tree-sitter/pull/3865)) - **lib**: check point, byte ranges in `node_descendant_for` ([#&#8203;3865](https://github.com/tree-sitter/tree-sitter/pull/3865)) - **lib**: Correct unexpected side effect in `get_column` when the lexer is at EOF ([#&#8203;3764](https://github.com/tree-sitter/tree-sitter/pull/3764)) - **lib**: Fix compilation issue on windows with `endian.h` ([#&#8203;3772](https://github.com/tree-sitter/tree-sitter/pull/3772)) - **lib**: Properly reset the lexer's start postiion ([#&#8203;3770](https://github.com/tree-sitter/tree-sitter/pull/3770)) - **lib**: Add parameter names in declarations in `subtree.h` ([#&#8203;3787](https://github.com/tree-sitter/tree-sitter/pull/3787)) - **lib**: Handle compiler warnings ([#&#8203;3781](https://github.com/tree-sitter/tree-sitter/pull/3781)) - **lib**: Simplify edge cases with zero-width tokens ([#&#8203;3836](https://github.com/tree-sitter/tree-sitter/pull/3836)) - **lib**: Correctly fetch the node name in query errors ([#&#8203;3904](https://github.com/tree-sitter/tree-sitter/pull/3904)) - **lib**: Correct next sibling of zero width node ([#&#8203;3898](https://github.com/tree-sitter/tree-sitter/pull/3898)) - **lib**: Correct escape detection for invalid anonymous nodes ([#&#8203;3945](https://github.com/tree-sitter/tree-sitter/pull/3945)) - **lib**: Use `clock_gettime` on macOS again ([#&#8203;3976](https://github.com/tree-sitter/tree-sitter/pull/3976)) - **lib**: Add saturating subtraction to prevent integer underflow ([#&#8203;4037](https://github.com/tree-sitter/tree-sitter/pull/4037)) - **lib**: Correct fix for parsing hang with ranges containing empty points ([#&#8203;4037](https://github.com/tree-sitter/tree-sitter/pull/4037)) - **lib**: Propagate `last_child` status to pattern alternatives in queries ([#&#8203;4067](https://github.com/tree-sitter/tree-sitter/pull/4067)) - **lib**: Prevent wildcards from incorrectly marking child patterns as infallible ([#&#8203;4069](https://github.com/tree-sitter/tree-sitter/pull/4069)) - **lib**: Don't consider unfinished captures definite when the following step is immediate ([#&#8203;4070](https://github.com/tree-sitter/tree-sitter/pull/4070)) - **lib**: Avoid OOB access when updating alternative steps ([#&#8203;4096](https://github.com/tree-sitter/tree-sitter/pull/4096)) - **lib**: Use inclusive range check for non-empty nodes in next sibling computation ([#&#8203;4097](https://github.com/tree-sitter/tree-sitter/pull/4097)) - **lib**: Temporarily allow lint with false positives ([#&#8203;4124](https://github.com/tree-sitter/tree-sitter/pull/4124)) - **lib**: Don't always clear the tree stack ([#&#8203;4132](https://github.com/tree-sitter/tree-sitter/pull/4132)) - **loader**: Don't print warnings if the file is not found ([#&#8203;3909](https://github.com/tree-sitter/tree-sitter/pull/3909)) - **playground**: Correct link to upstream playground ([#&#8203;4040](https://github.com/tree-sitter/tree-sitter/pull/4040)) - **playground**: Ensure local playground is initialized ([#&#8203;4040](https://github.com/tree-sitter/tree-sitter/pull/4040)) - **playground**: Add dark theme, align ui more akin to upstream playground ([#&#8203;4040](https://github.com/tree-sitter/tree-sitter/pull/4040)) - **playground**: Add back underline on tree nodes, and query error underline ([#&#8203;4040](https://github.com/tree-sitter/tree-sitter/pull/4040)) - **playground**: Restore select value's text from local storage ([#&#8203;4040](https://github.com/tree-sitter/tree-sitter/pull/4040)) - **playground**: Gracefully fallback to `JavaScript` if the select info is undefined - **playground**: Work around lack of module support in mdbook ([#&#8203;4140](https://github.com/tree-sitter/tree-sitter/pull/4140)) - **query**: Ensure immediate matches for any node when an anchor follows a wildcard node ([#&#8203;4047](https://github.com/tree-sitter/tree-sitter/pull/4047)) - **rust**: Fix progress callback scope to prevent premature drop ([#&#8203;3863](https://github.com/tree-sitter/tree-sitter/pull/3863)) - **rust**: Adapt to a few new nightly lints ([#&#8203;4045](https://github.com/tree-sitter/tree-sitter/pull/4045)) - **rust**: Use `PathBuf` for `--query-paths` `highlight` option ([#&#8203;4071](https://github.com/tree-sitter/tree-sitter/pull/4071)) - **rust**: Adapt to a few new nightly lints ([#&#8203;4099](https://github.com/tree-sitter/tree-sitter/pull/4099)) - **templates**: Properly replace author email ([#&#8203;3742](https://github.com/tree-sitter/tree-sitter/pull/3742)) - **wasm**: Check docker presence without arguments ([#&#8203;4087](https://github.com/tree-sitter/tree-sitter/pull/4087)) - **wasm**: Allow passing in `ERROR` in `descendantsOfType` ([#&#8203;4103](https://github.com/tree-sitter/tree-sitter/pull/4103)) - **web**: Correct `getExtent` ([#&#8203;4074](https://github.com/tree-sitter/tree-sitter/pull/4074)) - **web**: Correct builds for CJS ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **web**: Only export public types ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) - **web**: Correct debug file location ([#&#8203;4157](https://github.com/tree-sitter/tree-sitter/pull/4157)) - **web**: Update `check-artifacts` script ([#&#8203;4158](https://github.com/tree-sitter/tree-sitter/pull/4158)) - **web**: Correct doc comment ([#&#8203;4166](https://github.com/tree-sitter/tree-sitter/pull/4166)) - **xtask**: Correct header path ([#&#8203;3803](https://github.com/tree-sitter/tree-sitter/pull/3803)) - **xtask**: Remove the `test_flags` arg if it's empty for cargo test ([#&#8203;3889](https://github.com/tree-sitter/tree-sitter/pull/3889)) - **xtask**: Bring back language and example filter ([#&#8203;3926](https://github.com/tree-sitter/tree-sitter/pull/3926)) - **xtask**: Add emscription version in commit msg ([#&#8203;4020](https://github.com/tree-sitter/tree-sitter/pull/4020)) - **xtask**: Adapt `check-wasm-exports` to web changes ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) ##### Performance - **loader**: Improve language lookup speed ([#&#8203;3776](https://github.com/tree-sitter/tree-sitter/pull/3776)) ##### Documentation - Update changelog - Update changelog - Recommend `npm install` for editor integration ([#&#8203;3855](https://github.com/tree-sitter/tree-sitter/pull/3855)) - Code-format repro commands in bug report template ([#&#8203;3852](https://github.com/tree-sitter/tree-sitter/pull/3852)) - Fix missing links ([#&#8203;3857](https://github.com/tree-sitter/tree-sitter/pull/3857)) - Add missing tags description ([#&#8203;3923](https://github.com/tree-sitter/tree-sitter/pull/3923)) - Remove CHANGELOG.md ([#&#8203;3928](https://github.com/tree-sitter/tree-sitter/pull/3928)) - Add documentation for TSPoint coordinates ([#&#8203;3949](https://github.com/tree-sitter/tree-sitter/issues/3949)) ([#&#8203;3949](https://github.com/tree-sitter/tree-sitter/pull/3949)) - Fix typo ([#&#8203;4024](https://github.com/tree-sitter/tree-sitter/pull/4024)) - Clarify the start rule of a grammar ([#&#8203;4028](https://github.com/tree-sitter/tree-sitter/pull/4028)) - Migrate to mdbook ([#&#8203;4032](https://github.com/tree-sitter/tree-sitter/pull/4032)) - Fix link to `contributing.md` - Add guide on contributing to docs ([#&#8203;4035](https://github.com/tree-sitter/tree-sitter/pull/4035)) - Move assets to correct path ([#&#8203;4040](https://github.com/tree-sitter/tree-sitter/pull/4040)) - Add favicon and logo ([#&#8203;4040](https://github.com/tree-sitter/tree-sitter/pull/4040)) - Add back detailed info about points - Add `--test-number` entries for query, highlight, and tag subcommands ([#&#8203;4054](https://github.com/tree-sitter/tree-sitter/pull/4054)) - Clarify data returned by `QueryCaptures` during iteration ([#&#8203;4073](https://github.com/tree-sitter/tree-sitter/pull/4073)) - Add mdbook-admonish for better tooltips - Add note on not duplicating the word token rule ([#&#8203;4092](https://github.com/tree-sitter/tree-sitter/pull/4092)) - Update playground references ([#&#8203;4093](https://github.com/tree-sitter/tree-sitter/pull/4093)) - Clarify that the optional fields are a function that take in the grammar object - Add example usage of conflicts ([#&#8203;4098](https://github.com/tree-sitter/tree-sitter/pull/4098)) - Improve docs for contributing to docs ([#&#8203;4100](https://github.com/tree-sitter/tree-sitter/pull/4100)) - Improve docs around lexical precedence ([#&#8203;4101](https://github.com/tree-sitter/tree-sitter/pull/4101)) - Add information about the scoping of cursors ([#&#8203;4102](https://github.com/tree-sitter/tree-sitter/pull/4102)) - Fix broken link ([#&#8203;4127](https://github.com/tree-sitter/tree-sitter/pull/4127)) - Add documentation on updating and publishing grammars ([#&#8203;4135](https://github.com/tree-sitter/tree-sitter/pull/4135)) - Add guidance about node naming conventions ([#&#8203;4148](https://github.com/tree-sitter/tree-sitter/pull/4148)) - Add missing summary element ([#&#8203;4150](https://github.com/tree-sitter/tree-sitter/pull/4150)) - **lib**: Improve documentation on `ts_tree_get_changed_ranges` and `ts_query_cursor_set_{byte,point}_range` ([#&#8203;4114](https://github.com/tree-sitter/tree-sitter/pull/4114)) - **rust**: Updated README to reflect language initialization updates ([#&#8203;3757](https://github.com/tree-sitter/tree-sitter/pull/3757)) - **rust**: Document optional features ([#&#8203;3822](https://github.com/tree-sitter/tree-sitter/pull/3822)) - **rust**: Add `--locked` to installation instructions ([#&#8203;3850](https://github.com/tree-sitter/tree-sitter/pull/3850)) - **rust**: Update doc comment on node ids ([#&#8203;3364](https://github.com/tree-sitter/tree-sitter/pull/3364)) - **scanner**: Add overview to the `scan` function - **web**: Add instructions for Vite ([#&#8203;2830](https://github.com/tree-sitter/tree-sitter/pull/2830)) - **web**: Update process on fetching WASM files ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **web**: Update docs ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **web**: Update README and add CONTRIBUTING docs ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **web**: Update type definitions ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) - **xtask**: Update doc to use xtask, not scripts ##### Refactor - Reuse symbol variable in subtype map generator ([#&#8203;3942](https://github.com/tree-sitter/tree-sitter/pull/3942)) - Rewrite scripts in typescript ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **cli**: Replace embedded xterm colors file with `ansi_colours` ([#&#8203;4151](https://github.com/tree-sitter/tree-sitter/pull/4151)) - **web**: Use fs/promises ([#&#8203;3793](https://github.com/tree-sitter/tree-sitter/pull/3793)) - **web**: Move `CaptureQuantifier` definition ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) - **web**: Break apart the logic for constructing a query ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) ##### Testing - Ignore flaky test for now ([#&#8203;4074](https://github.com/tree-sitter/tree-sitter/pull/4074)) - Improve test coverage ([#&#8203;4134](https://github.com/tree-sitter/tree-sitter/pull/4134)) - Update tests ([#&#8203;4141](https://github.com/tree-sitter/tree-sitter/pull/4141)) - Update tests ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **rust**: Correct expected and actual spots in `assert_eq` calls ##### Build System and CI - Tweak `Cargo.toml`s ([#&#8203;3754](https://github.com/tree-sitter/tree-sitter/pull/3754)) - Fix incorrect variable checks ([#&#8203;3755](https://github.com/tree-sitter/tree-sitter/pull/3755)) - Configure clippy lints at the workspace level ([#&#8203;3758](https://github.com/tree-sitter/tree-sitter/pull/3758)) - Tune compiler warnings - Major overhaul ([#&#8203;3774](https://github.com/tree-sitter/tree-sitter/pull/3774)) - Add nvim-treesitter parser tests ([#&#8203;3785](https://github.com/tree-sitter/tree-sitter/pull/3785)) - Treat incompatible pointer warning as error - Build lib with wasmtime ([#&#8203;3781](https://github.com/tree-sitter/tree-sitter/pull/3781)) - Move \`generate-wasm-exports-lists to xtask ([#&#8203;3831](https://github.com/tree-sitter/tree-sitter/pull/3831)) - Remove unicode files and script, move `cliff.toml` ([#&#8203;3831](https://github.com/tree-sitter/tree-sitter/pull/3831)) - Add bindgen workflow - Regenerate `bindings.rs` & add `Language::name` ([#&#8203;3847](https://github.com/tree-sitter/tree-sitter/pull/3847)) - Bump deps ([#&#8203;4013](https://github.com/tree-sitter/tree-sitter/pull/4013)) - Add workflow to update emscripten ([#&#8203;4015](https://github.com/tree-sitter/tree-sitter/pull/4015)) - Don't run `ci` if documentation files & friends have changed - Don't install cross if it already exists ([#&#8203;4047](https://github.com/tree-sitter/tree-sitter/pull/4047)) - Use correct xtask command to update emscripten ([#&#8203;4052](https://github.com/tree-sitter/tree-sitter/pull/4052)) - Bump actions/configure-pages from 4 to 5 in the actions group ([#&#8203;4050](https://github.com/tree-sitter/tree-sitter/pull/4050)) - Fix typo ([#&#8203;4061](https://github.com/tree-sitter/tree-sitter/pull/4061)) - Regenerate fixtures upon changes to parser.h, alloc.h, array.h - Update docs workflow - Bump other crates' MSRV to 1.82 ([#&#8203;4111](https://github.com/tree-sitter/tree-sitter/pull/4111)) - Add arm ubuntu runner, & use latest runners ([#&#8203;4123](https://github.com/tree-sitter/tree-sitter/pull/4123)) - Add linting step for `web-tree-sitter` ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - Go back to emulating linux arm64 ([#&#8203;4142](https://github.com/tree-sitter/tree-sitter/pull/4142)) - Bump `tree-sitter-language` to 0.1.4 - Bump dependencies ([#&#8203;4157](https://github.com/tree-sitter/tree-sitter/pull/4157)) - Update authors ([#&#8203;4172](https://github.com/tree-sitter/tree-sitter/pull/4172)) - **bindgen**: Only check bindgen output when `api.h` or `bindings.rs` changes ([#&#8203;4036](https://github.com/tree-sitter/tree-sitter/pull/4036)) - **bindings**: Improve cmake file ([#&#8203;3735](https://github.com/tree-sitter/tree-sitter/pull/3735)) - **bindings**: Rename cmake test target ([#&#8203;3860](https://github.com/tree-sitter/tree-sitter/pull/3860)) - **bindings**: Move header to tree_sitter subdirectory ([#&#8203;4104](https://github.com/tree-sitter/tree-sitter/pull/4104)) - **changelog**: Prepend to the changelog - **cli**: Get build sha via git command ([#&#8203;3827](https://github.com/tree-sitter/tree-sitter/pull/3827)) - **cli**: Explicitly include files ([#&#8203;4161](https://github.com/tree-sitter/tree-sitter/pull/4161)) - **cliff**: Rename `commit.github` to `commit.remote` ([#&#8203;4116](https://github.com/tree-sitter/tree-sitter/pull/4116)) - **cmake**: Support amalgamated build ([#&#8203;3731](https://github.com/tree-sitter/tree-sitter/pull/3731)) - **cmake**: Correct library scopes ([#&#8203;3733](https://github.com/tree-sitter/tree-sitter/pull/3733)) - **deps**: Bump the cargo group across 1 directory with 2 updates - **deps**: Bump wasmtime to v25.0.2 ([#&#8203;3767](https://github.com/tree-sitter/tree-sitter/pull/3767)) - **deps**: Bump wasmtime to v25.0.2 ([#&#8203;3771](https://github.com/tree-sitter/tree-sitter/pull/3771)) - **deps**: Bump cc from 1.1.28 to 1.1.30 in the cargo group - **deps**: Bump wasmtime to v26.0.0 ([#&#8203;3819](https://github.com/tree-sitter/tree-sitter/pull/3819)) - **deps**: Bump wasmparser in the cargo group across 1 directory - **deps**: Bump wasmtime from 26.0.0 to 26.0.1 - **deps**: Bump wasmtime-c-api to v26.0.1 ([#&#8203;3890](https://github.com/tree-sitter/tree-sitter/pull/3890)) - **deps**: Bump [@&#8203;eslint/plugin-kit](https://github.com/eslint/plugin-kit) from 0.2.0 to 0.2.3 in /cli/eslint ([#&#8203;3946](https://github.com/tree-sitter/tree-sitter/pull/3946)) - **deps**: Bump cross-spawn from 7.0.3 to 7.0.5 in /cli/eslint ([#&#8203;3948](https://github.com/tree-sitter/tree-sitter/pull/3948)) - **deps**: Bump the cargo group across 1 directory with 9 updates ([#&#8203;3953](https://github.com/tree-sitter/tree-sitter/pull/3953)) - **deps**: Bump clap_complete from 4.5.38 to 4.5.39 in the cargo group ([#&#8203;4014](https://github.com/tree-sitter/tree-sitter/pull/4014)) - **deps**: Bump the cargo group across 1 directory with 7 updates - **deps**: Bump emscripten to 3.1.74 ([#&#8203;4060](https://github.com/tree-sitter/tree-sitter/pull/4060)) - **deps**: Bump cc from 1.2.6 to 1.2.7 in the cargo group ([#&#8203;4080](https://github.com/tree-sitter/tree-sitter/pull/4080)) - **deps**: Bump the cargo group with 2 updates ([#&#8203;4119](https://github.com/tree-sitter/tree-sitter/pull/4119)) - **deps**: Bump the cargo group with 7 updates - **deps**: Bump emscripten to 4.0.1 ([#&#8203;4129](https://github.com/tree-sitter/tree-sitter/pull/4129)) - **deps**: Bump wasmtime-c-api to v29.0.1 ([#&#8203;4155](https://github.com/tree-sitter/tree-sitter/pull/4155)) - **deps-dev**: Bump vite from 6.0.7 to 6.0.11 in /lib/binding_web ([#&#8203;4137](https://github.com/tree-sitter/tree-sitter/pull/4137)) - **docs**: Only re-deploy docs when any file in `docs` has changed - **emscripten**: Set the git user and email with the cli - **make**: Fix `tree-sitter.pc` generation ([#&#8203;3745](https://github.com/tree-sitter/tree-sitter/issues/3745)) ([#&#8203;3745](https://github.com/tree-sitter/tree-sitter/pull/3745)) - **release**: Use the ref name for the release tag ([#&#8203;4113](https://github.com/tree-sitter/tree-sitter/pull/4113)) - **release**: Correct build steps for web-tree-sitter - **rust**: Bump the lib's MSRV to 1.76 ([#&#8203;4111](https://github.com/tree-sitter/tree-sitter/pull/4111)) - **swift**: Include all source files - **web**: Use `files` in package.json instead of `.npmignore` ([#&#8203;4121](https://github.com/tree-sitter/tree-sitter/pull/4121)) - **web**: Bump deps - **web**: Relocate source files in WASM sourcemap - **zig**: Add optional wasmtime dependency ([#&#8203;3738](https://github.com/tree-sitter/tree-sitter/pull/3738)) - **zig**: Use build root instead of cwd ([#&#8203;3944](https://github.com/tree-sitter/tree-sitter/issues/3944)) ([#&#8203;3944](https://github.com/tree-sitter/tree-sitter/pull/3944)) ##### Other - Misc clippy lints ([#&#8203;3753](https://github.com/tree-sitter/tree-sitter/pull/3753)) - Remove unnecessary fuzz and profile helpers ([#&#8203;3758](https://github.com/tree-sitter/tree-sitter/pull/3758)) - Merge pull request [#&#8203;3765](https://github.com/tree-sitter/tree-sitter/issues/3765) from tree-sitter/dependabot/cargo/cargo-a8e37abc8d ([#&#8203;3765](https://github.com/tree-sitter/tree-sitter/pull/3765)) - Memory errors in wasm_store - "Memory errors in wasm_store" ([#&#8203;3783](https://github.com/tree-sitter/tree-sitter/pull/3783)) - Merge pull request [#&#8203;3789](https://github.com/tree-sitter/tree-sitter/issues/3789) from tree-sitter/dependabot/cargo/cargo-283306c349 ([#&#8203;3789](https://github.com/tree-sitter/tree-sitter/pull/3789)) - Merge pull request [#&#8203;3832](https://github.com/tree-sitter/tree-sitter/issues/3832) from tree-sitter/dependabot/cargo/cargo-ff991ead52 ([#&#8203;3832](https://github.com/tree-sitter/tree-sitter/pull/3832)) - Link to Emacs’ Tree-sitter documentation ([#&#8203;3881](https://github.com/tree-sitter/tree-sitter/issues/3881)) - Merge pull request [#&#8203;3885](https://github.com/tree-sitter/tree-sitter/issues/3885) from tree-sitter/dependabot/cargo/wasmtime-26.0.1 ([#&#8203;3885](https://github.com/tree-sitter/tree-sitter/pull/3885)) - Fix typo in doc comment ([#&#8203;4022](https://github.com/tree-sitter/tree-sitter/issues/4022)) ([#&#8203;4022](https://github.com/tree-sitter/tree-sitter/pull/4022)) - Correct typos ([#&#8203;4029](https://github.com/tree-sitter/tree-sitter/pull/4029)) - Rephrase `extends beyond` to `contains or starts after` ([#&#8203;4046](https://github.com/tree-sitter/tree-sitter/pull/4046)) - Move command help strings to doc comments ([#&#8203;4065](https://github.com/tree-sitter/tree-sitter/pull/4065)) - Fix doc comment - Readd skipped test ([#&#8203;4110](https://github.com/tree-sitter/tree-sitter/pull/4110)) - A few minor lints ([#&#8203;4133](https://github.com/tree-sitter/tree-sitter/pull/4133)) - Cleanup unused code - A few more minor lints ([#&#8203;4138](https://github.com/tree-sitter/tree-sitter/pull/4138)) - Add `FUNDING.yml` - Update `FUNDING.yml` - Adapt to latest clippy lints - **bindings**: Clean up package.json - **bindings**: Improve gitattributes file - **bindings**: Drop pkg-config Requires field - **bindings**: Correct editorconfig indent size ([#&#8203;3808](https://github.com/tree-sitter/tree-sitter/pull/3808)) - **bindings**: More small changes ([#&#8203;3813](https://github.com/tree-sitter/tree-sitter/pull/3813)) - **bindings**: Include tree-sitter.json file - **bindings**: Update go binding version ([#&#8203;3884](https://github.com/tree-sitter/tree-sitter/pull/3884)) - **bindings**: Include license file in crate ([#&#8203;4168](https://github.com/tree-sitter/tree-sitter/pull/4168)) - **cli**: Minor correction in comments ([#&#8203;3739](https://github.com/tree-sitter/tree-sitter/pull/3739)) - **generate**: Remove unused fields ([#&#8203;4059](https://github.com/tree-sitter/tree-sitter/pull/4059)) - **templates**: Update npm packages - **web**: Update type definitions ([#&#8203;4166](https://github.com/tree-sitter/tree-sitter/pull/4166)) <!----> - [@&#8203;keidax](https://github.com/keidax) made their first contribution in [#&#8203;4164](https://github.com/tree-sitter/tree-sitter/issues/4164) - [@&#8203;WillLillis](https://github.com/WillLillis) made their first contribution in [#&#8203;4148](https://github.com/tree-sitter/tree-sitter/issues/4148) - [@&#8203;criminosis](https://github.com/criminosis) made their first contribution in [#&#8203;3987](https://github.com/tree-sitter/tree-sitter/issues/3987) - [@&#8203;nyurik](https://github.com/nyurik) made their first contribution in [#&#8203;4138](https://github.com/tree-sitter/tree-sitter/issues/4138) - [@&#8203;Scorg](https://github.com/Scorg) made their first contribution in [#&#8203;4104](https://github.com/tree-sitter/tree-sitter/issues/4104) - [@&#8203;yusufraji](https://github.com/yusufraji) made their first contribution in [#&#8203;4127](https://github.com/tree-sitter/tree-sitter/issues/4127) - [@&#8203;emmanuel-ferdman](https://github.com/emmanuel-ferdman) made their first contribution in [#&#8203;4093](https://github.com/tree-sitter/tree-sitter/issues/4093) - [@&#8203;guilhas07](https://github.com/guilhas07) made their first contribution in [#&#8203;4087](https://github.com/tree-sitter/tree-sitter/issues/4087) - [@&#8203;0xLucasMarcal](https://github.com/0xLucasMarcal) made their first contribution in [#&#8203;4068](https://github.com/tree-sitter/tree-sitter/issues/4068) - [@&#8203;mjy9088](https://github.com/mjy9088) made their first contribution in [#&#8203;4024](https://github.com/tree-sitter/tree-sitter/issues/4024) - [@&#8203;felixroos](https://github.com/felixroos) made their first contribution in [#&#8203;2830](https://github.com/tree-sitter/tree-sitter/issues/2830) - [@&#8203;artagnon](https://github.com/artagnon) made their first contribution in [#&#8203;2065](https://github.com/tree-sitter/tree-sitter/issues/2065) - [@&#8203;StratusFearMe21](https://github.com/StratusFearMe21) made their first contribution in [#&#8203;3364](https://github.com/tree-sitter/tree-sitter/issues/3364) - [@&#8203;lygaret](https://github.com/lygaret) made their first contribution in [#&#8203;3879](https://github.com/tree-sitter/tree-sitter/issues/3879) - [@&#8203;kylegoetz](https://github.com/kylegoetz) made their first contribution in [#&#8203;3999](https://github.com/tree-sitter/tree-sitter/issues/3999) - [@&#8203;mavit](https://github.com/mavit) made their first contribution in [#&#8203;3958](https://github.com/tree-sitter/tree-sitter/issues/3958) - [@&#8203;ktraunmueller](https://github.com/ktraunmueller) made their first contribution in [#&#8203;3949](https://github.com/tree-sitter/tree-sitter/issues/3949) - [@&#8203;aleloi](https://github.com/aleloi) made their first contribution in [#&#8203;3944](https://github.com/tree-sitter/tree-sitter/issues/3944) - [@&#8203;crvdgc](https://github.com/crvdgc) made their first contribution in [#&#8203;3926](https://github.com/tree-sitter/tree-sitter/issues/3926) - [@&#8203;sys9kdr](https://github.com/sys9kdr) made their first contribution in [#&#8203;3923](https://github.com/tree-sitter/tree-sitter/issues/3923) - [@&#8203;bm-w](https://github.com/bm-w) made their first contribution in [#&#8203;3816](https://github.com/tree-sitter/tree-sitter/issues/3816) - [@&#8203;samestep](https://github.com/samestep) made their first contribution in [#&#8203;3857](https://github.com/tree-sitter/tree-sitter/issues/3857) - [@&#8203;Mrmaxmeier](https://github.com/Mrmaxmeier) made their first contribution in [#&#8203;3797](https://github.com/tree-sitter/tree-sitter/issues/3797) - [@&#8203;wetneb](https://github.com/wetneb) made their first contribution in [#&#8203;3757](https://github.com/tree-sitter/tree-sitter/issues/3757) - [@&#8203;JCWasmx86](https://github.com/JCWasmx86) made their first contribution in [#&#8203;2614](https://github.com/tree-sitter/tree-sitter/issues/2614) - [@&#8203;carlocab](https://github.com/carlocab) made their first contribution in [#&#8203;3745](https://github.com/tree-sitter/tree-sitter/issues/3745) ### [`v0.24.7`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.7) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.6...v0.24.7) #### \[0.24.7] - 2025-01-12 ##### Bug Fixes - **lib**: Use inclusive range check for non-empty nodes in next sibling computation ### [`v0.24.6`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.6) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.5...v0.24.6) \[0.24.6] - 2024-12-27 ##### Bug Fixes - **playground**: backport new playground ### [`v0.24.5`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.5) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.4...v0.24.5) ##### \[0.24.5] - 2024-12-11 ##### Features - Move scripts to xtasks ##### Bug Fixes - Compiler warning - Sync cmake with master - **lib**: Correct next sibling of zero width node - **lib**: Use `clock_gettime` on macOS again - **lib**: Handle compiler warnings ##### Build System and CI - Configure clippy lints at the workspace level - Tune compiler warnings - Major overhaul - Treat incompatible pointer warning as error - Build lib with wasmtime - Fix minor issues - **cmake**: Link wasmtime dependencies ##### Other - Remove unnecessary fuzz and profile helpers ### [`v0.24.4`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.4) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.3...v0.24.4) #### \[0.24.4] - 2024-11-10 ##### Features - **loader**: Add `language_for_configuration` - **loader**: Add error message when a `tree-sitter.json` file is invalid - **node**: Support single-file executables via bun build --compile - **node**: Update bindings when necessary ##### Bug Fixes - Return `LanguageRef` in `Parser::language` - **bindings**: Update CMakeLists.txt file - **cli**: Pass all fields to `tree-sitter.json` in `init` - **cli**: Use `contains` over `is` in warning - **cmake**: Use current source dir for EXISTS check - **generate**: Do not set the unit reduction symbol if it's in the extras array - **init**: Use current path if unspecified - **init**: Use camel name from config in missing spots - **lib**: Simplify edge cases with zero-width tokens - **lib**: Correctly fetch the node name in query errors - **loader**: Don't print warnings if the file is not found ##### Performance - **loader**: Improve language lookup speed ##### Build System and CI - **bindings**: Rename cmake test target ##### Other - Memory errors in wasm_store ### [`v0.24.3`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.3) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.2...v0.24.3) ##### \[0.24.3] - 2024-10-09 ##### Bug Fixes - **lib**: Correct unexpected side effect in `get_column` when the lexer is at EOF ##### Build System and CI - Fix incorrect variable checks - **deps**: Bump wasmtime to v25.0.2 ### [`v0.24.2`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.2) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.1...v0.24.2) #### \[0.24.2] - 2024-10-06 ##### Features - Drop legacy binding updates ##### Bug Fixes - **templates**: Properly replace author email ##### Build System and CI - **bindings**: Improve cmake file - **cmake**: Support amalgamated build - **cmake**: Correct library scopes - **make**: Fix `tree-sitter.pc` generation ([#&#8203;3745](https://github.com/tree-sitter/tree-sitter/issues/3745)) ##### Other - **templates**: Update npm packages ### [`v0.24.1`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.1) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.24.0...v0.24.1) #### \[0.24.1] - 2024-10-04 ##### Bug Fixes - **generate**: Move generated header files into the generate crate ### [`v0.24.0`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.24.0) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.23.2...v0.24.0) ##### \[0.24.0] - 2024-10-04 ##### Breaking - Remove C++ support for external scanners ([#&#8203;3602](https://github.com/tree-sitter/tree-sitter/pull/3602)) - Remove `filter` flag from commands in favor of `include` and `exclude` ([#&#8203;3604](https://github.com/tree-sitter/tree-sitter/pull/3604)) - Remove the `build-wasm` subcommand ([#&#8203;3605](https://github.com/tree-sitter/tree-sitter/pull/3605)) - Move generation of grammar files to an `init` command ([#&#8203;3694](https://github.com/tree-sitter/tree-sitter/pull/3694)) - Implement `StreamingIterator` instead of `Iterator` for `QueryMatches` and `QueryCaptures` ([#&#8203;3504](https://github.com/tree-sitter/tree-sitter/pull/3504)) - **generate**: Remove unused rules ([#&#8203;3722](https://github.com/tree-sitter/tree-sitter/pull/3722)) - **lib**: Treat nodes' end ranges exclusively in `goto_first_child_for_{byte,point}` ([#&#8203;3263](https://github.com/tree-sitter/tree-sitter/pull/3263)) ##### Features - Add an API to time out query executions ([#&#8203;3559](https://github.com/tree-sitter/tree-sitter/pull/3559)) - Add `field_name_for_named_child` ([#&#8203;3614](https://github.com/tree-sitter/tree-sitter/pull/3614)) - Add `root` field in node-types.json ([#&#8203;3615](https://github.com/tree-sitter/tree-sitter/pull/3615)) - Add eslint configuration package ([#&#8203;3666](https://github.com/tree-sitter/tree-sitter/pull/3666)) - Provide a `rebuild` flag to force rebuild parsers ([#&#8203;3672](https://github.com/tree-sitter/tree-sitter/pull/3672)) - Add shell completions ([#&#8203;3675](https://github.com/tree-sitter/tree-sitter/pull/3675)) - Move generate logic to its own crate ([#&#8203;3689](https://github.com/tree-sitter/tree-sitter/pull/3689)) - Add `--overview-only` to `test` subcommand ([#&#8203;3501](https://github.com/tree-sitter/tree-sitter/pull/3501)) - Move tree-sitter configuration to dedicated file ([#&#8203;3700](https://github.com/tree-sitter/tree-sitter/issues/3700)) ([#&#8203;3700](https://github.com/tree-sitter/tree-sitter/pull/3700)) - **api**: Expose function to check if symbol represents a supertype ([#&#8203;3616](https://github.com/tree-sitter/tree-sitter/pull/3616)) - **bindings**: Bump `go-tree-sitter` version ([#&#8203;3564](https://github.com/tree-sitter/tree-sitter/pull/3564)) - **cli**: Add a `no-ranges` flag to the parse command ([#&#8203;3687](https://github.com/tree-sitter/tree-sitter/pull/3687)) - **generate**: Bump `tree-sitter` dev dependency to `0.23` ([#&#8203;3563](https://github.com/tree-sitter/tree-sitter/pull/3563)) - **generate**: Add a no-op `--no-bindings` flag - **init**: Add an update flag ([#&#8203;3698](https://github.com/tree-sitter/tree-sitter/pull/3698)) - **language**: Derive Clone and Copy on LanguageFn ([#&#8203;3585](https://github.com/tree-sitter/tree-sitter/pull/3585)) - **schema**: Misc improvements ([#&#8203;3681](https://github.com/tree-sitter/tree-sitter/pull/3681)) - **test**: Test all queries ##### Bug Fixes - Correct comment quote ([#&#8203;3630](https://github.com/tree-sitter/tree-sitter/pull/3630)) - Properly handle utf8 code points for highlight and tag assertions ([#&#8203;3610](https://github.com/tree-sitter/tree-sitter/pull/3610)) - Do not generate spurious files if the grammar path is not the default path ([#&#8203;3677](https://github.com/tree-sitter/tree-sitter/pull/3677)) - Disallow empty string literals in rules ([#&#8203;3679](https://github.com/tree-sitter/tree-sitter/pull/3679)) - Correct test name parsing when the prior test has equal signs ([#&#8203;3704](https://github.com/tree-sitter/tree-sitter/pull/3704)) - Handle more cases of editing subtrees that depend on column values ([#&#8203;3257](https://github.com/tree-sitter/tree-sitter/pull/3257)) - Exclude APIs that dup given file descriptors from WASI builds ([#&#8203;3475](https://github.com/tree-sitter/tree-sitter/pull/3475)) - Deprecate `child_containing_descendant` and add `child_with_descendant` instead ([#&#8203;3708](https://github.com/tree-sitter/tree-sitter/pull/3708)) - **binding_web**: Correct `edit` signature ([#&#8203;3599](https://github.com/tree-sitter/tree-sitter/pull/3599)) - **binding_web**: Remove nonexistent function definition ([#&#8203;3612](https://github.com/tree-sitter/tree-sitter/pull/3612)) - **bindings**: Use `RUST_BINDING_VERSION` in `Cargo.toml` template - **bindings**: Lower go version to `1.22` ([#&#8203;3711](https://github.com/tree-sitter/tree-sitter/pull/3711)) - **build**: Correct wasm root path lookup ([#&#8203;3723](https://github.com/tree-sitter/tree-sitter/pull/3723)) - **build**: Force rebuild parsers when build is invoked ([#&#8203;3729](https://github.com/tree-sitter/tree-sitter/pull/3729)) - **cli**: Remove conflicting short flags in the `fuzz` subcommand ([#&#8203;3562](https://github.com/tree-sitter/tree-sitter/pull/3562)) - **cli**: Keep skipped tests unchanged in the test/corpus ([#&#8203;3590](https://github.com/tree-sitter/tree-sitter/pull/3590)) - **cli**: Remove duplicate short options from `fuzz` command ([#&#8203;3635](https://github.com/tree-sitter/tree-sitter/issues/3635)) ([#&#8203;3635](https://github.com/tree-sitter/tree-sitter/pull/3635)) - **cli**: Generate the parser version from the config as well - **docs**: Fix highlight readme example using compatible versions ([#&#8203;3573](https://github.com/tree-sitter/tree-sitter/pull/3573)) - **fuzz**: Skip tests marked with `:skip` & don't report errors on tests marked with `:error` ([#&#8203;3640](https://github.com/tree-sitter/tree-sitter/pull/3640)) - **generate**: Remove necessary files from gitignore template ([#&#8203;3561](https://github.com/tree-sitter/tree-sitter/pull/3561)) - **generate**: Disallow inline variables referencing themselves ([#&#8203;3569](https://github.com/tree-sitter/tree-sitter/pull/3569)) - **generate**: Add `tree-sitter` to the `dev-dependencies` of the Cargo.toml ([#&#8203;3597](https://github.com/tree-sitter/tree-sitter/pull/3597)) - **generate**: Do not generate large character sets for unused variables ([#&#8203;3606](https://github.com/tree-sitter/tree-sitter/pull/3606)) - **generate**: Remove excludes in `Package.swift` ([#&#8203;3631](https://github.com/tree-sitter/tree-sitter/pull/3631)) - **generate**: Add `*.scm` section to `.editorconfig` template ([#&#8203;3724](https://github.com/tree-sitter/tree-sitter/pull/3724)) - **generate**: Filter out unused rules in other spots ([#&#8203;3726](https://github.com/tree-sitter/tree-sitter/pull/3726)) - **init**: Fix some schema issues - **init**: Don't prompt to reconfigure ([#&#8203;3713](https://github.com/tree-sitter/tree-sitter/pull/3713)) - **init**: Do not migrate `package.json` on error ([#&#8203;3718](https://github.com/tree-sitter/tree-sitter/pull/3718)) - **lib**: Correct extra node creation from non-zero root-alias cursors ([#&#8203;3568](https://github.com/tree-sitter/tree-sitter/pull/3568)) - **lib**: Backtrack to the last relevant iterator if no child was found ([#&#8203;3570](https://github.com/tree-sitter/tree-sitter/pull/3570)) - **lib**: Peek at the next sibling when iterating to find the child that contains a given descendant ([#&#8203;3566](https://github.com/tree-sitter/tree-sitter/pull/3566)) - **lib**: Correct descendant-for-range behavior with zero-width tokens ([#&#8203;3688](https://github.com/tree-sitter/tree-sitter/pull/3688)) - **lib**: Silence warnings with `-Wpedantic` ([#&#8203;3691](https://github.com/tree-sitter/tree-sitter/pull/3691)) - **lib**: Ensure an unfinished state was found before removing it ([#&#8203;3727](https://github.com/tree-sitter/tree-sitter/pull/3727)) - **rust**: Add missing TSNode functions ([#&#8203;3571](https://github.com/tree-sitter/tree-sitter/pull/3571)) - **test**: Exit with an error if a test marked with `:error` has no error - **test**: Retain attributes when running `test -u` ([#&#8203;3572](https://github.com/tree-sitter/tree-sitter/pull/3572)) - **test**: Correctly handle assertions on empty lines ([#&#8203;3674](https://github.com/tree-sitter/tree-sitter/pull/3674)) - **wasm**: Use / paths for workdir ([#&#8203;3658](https://github.com/tree-sitter/tree-sitter/pull/3658)) ##### Documentation - Add Kotlin to the playground ([#&#8203;3560](https://github.com/tree-sitter/tree-sitter/pull/3560)) - **changelog**: Add 0.23.0 release notes ([#&#8203;3565](https://github.com/tree-sitter/tree-sitter/pull/3565)) ##### Refactor - Improve the grammar schema - **cli**: Break out subcommand logic into separate functions ([#&#8203;3676](https://github.com/tree-sitter/tree-sitter/pull/3676)) ##### Build System and CI - Add backport workflow ([#&#8203;3575](https://github.com/tree-sitter/tree-sitter/pull/3575)) - Bump deps ([#&#8203;3696](https://github.com/tree-sitter/tree-sitter/pull/3696)) - Bump language to `0.1.1` ([#&#8203;3730](https://github.com/tree-sitter/tree-sitter/pull/3730)) - **bindings**: Add CMakeLists.txt file ([#&#8203;3608](https://github.com/tree-sitter/tree-sitter/pull/3608)) - **cmake**: Link wasmtime dependencies ([#&#8203;3717](https://github.com/tree-sitter/tree-sitter/pull/3717)) - **deps**: Bump the cargo group across 1 directory with 11 updates ([#&#8203;3644](https://github.com/tree-sitter/tree-sitter/pull/3644)) - **deps**: Bump the cargo group with 3 updates ([#&#8203;3671](https://github.com/tree-sitter/tree-sitter/pull/3671)) - **lib**: Build using cmake ([#&#8203;3541](https://github.com/tree-sitter/tree-sitter/pull/3541)) - **make**: Support darwin cross-compile ([#&#8203;3641](https://github.com/tree-sitter/tree-sitter/pull/3641)) - **xtask**: Bump cmake version in `bump-version` - **xtask**: Only consider major and minor versions when validating the current version - **xtask**: Ignore the language crate ##### Other - Remove `compile_flags.txt` ([#&#8203;3667](https://github.com/tree-sitter/tree-sitter/pull/3667)) - Update generate crate paths ([#&#8203;3697](https://github.com/tree-sitter/tree-sitter/pull/3697)) - **bindings**: Update rust lib docs ([#&#8203;3621](https://github.com/tree-sitter/tree-sitter/pull/3621)) - **lib**: Add parameter names in declarations that are missing them ([#&#8203;3692](https://github.com/tree-sitter/tree-sitter/pull/3692)) - **tests**: Do not use `.as_bytes().len()` on strings ([#&#8203;3664](https://github.com/tree-sitter/tree-sitter/pull/3664)) ### [`v0.23.2`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.23.2) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.23.0...v0.23.2) ##### \[0.23.2] - 2024-10-01 This release only corrected the version in a crate so publishing wouldn't fail. ### [`v0.23.0`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.23.0) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.6...v0.23.0) ##### \[0.23.0] - 2024-08-26 ##### Breaking - Introduce tree-sitter-language crate for grammar crates to depend on ([#&#8203;3069](https://github.com/tree-sitter/tree-sitter/pull/3069)) - Revert interning of a sequence or choice of a single rule ([#&#8203;3548](https://github.com/tree-sitter/tree-sitter/pull/3548)) - **bindings**: Use capsules in python ([#&#8203;3384](https://github.com/tree-sitter/tree-sitter/pull/3384)) - **dsl**: Support other JS runtimes ([#&#8203;3355](https://github.com/tree-sitter/tree-sitter/pull/3355)) ##### Features - Add `fuzz` subcommand ([#&#8203;3385](https://github.com/tree-sitter/tree-sitter/pull/3385)) - Allow external scanners to use the logger ([#&#8203;3204](https://github.com/tree-sitter/tree-sitter/pull/3204)) - **bindings**: Add query constants to python - **bindings**: Add node, python, swift tests ([#&#8203;3178](https://github.com/tree-sitter/tree-sitter/pull/3178)) - **bindings**: Update npm scripts ([#&#8203;3210](https://github.com/tree-sitter/tree-sitter/pull/3210)) - **cli**: Bump unicode data to v15.1.0 - **cli**: Add debug build flag ([#&#8203;3279](https://github.com/tree-sitter/tree-sitter/pull/3279)) - **cli**: Attach helpful context when `grammar.json` cannot be found ([#&#8203;3405](https://github.com/tree-sitter/tree-sitter/pull/3405)) - **cli**: Add `--show-fields` flag to `test` command ([#&#8203;3502](https://github.com/tree-sitter/tree-sitter/pull/3502)) - **lib**: Add `ts_query_end_byte_for_pattern` ([#&#8203;3451](https://github.com/tree-sitter/tree-sitter/pull/3451)) - **lib**: Support no_std - **zig**: Update outdated path syntax ([#&#8203;3383](https://github.com/tree-sitter/tree-sitter/pull/3383)) ##### Bug Fixes - Always reset to the first language when iterating over language attributes ([#&#8203;3375](https://github.com/tree-sitter/tree-sitter/pull/3375)) - Better error when a supertype rule is invalid ([#&#8203;3400](https://github.com/tree-sitter/tree-sitter/pull/3400)) - Intern a sequence or choice of a single element the same as the element itself - Do not "absorb" rules that consist of a single terminal if the rule is hidden ([#&#8203;2577](https://github.com/tree-sitter/tree-sitter/pull/2577)) - **bindings**: Update go bindings ([#&#8203;3544](https://github.com/tree-sitter/tree-sitter/pull/3544)) - **cli**: Installation via authenticated proxy ([#&#8203;3414](https://github.com/tree-sitter/tree-sitter/pull/3414)) - **cli**: Dedup `preceding_auxiliary_symbols` ([#&#8203;3550](https://github.com/tree-sitter/tree-sitter/pull/3550)) - **dsl**: Improve error message when a rule function returns undefined ([#&#8203;3452](https://github.com/tree-sitter/tree-sitter/pull/3452)) - **generate**: Rename `cargo.toml` template ([#&#8203;3532](https://github.com/tree-sitter/tree-sitter/pull/3532)) - **go**: Update parser name in binding files, add to docs ([#&#8203;3547](https://github.com/tree-sitter/tree-sitter/pull/3547)) - **lib**: A null clock must have `tv_nsec` be 0 as well ([#&#8203;3372](https://github.com/tree-sitter/tree-sitter/pull/3372)) - **lib**: Restrict pattern_map optimization when a wildcard step has an immediate first child ([#&#8203;3440](https://github.com/tree-sitter/tree-sitter/pull/3440)) - **lib**: An empty root node should not precede an empty range ([#&#8203;3450](https://github.com/tree-sitter/tree-sitter/pull/3450)) - **lib**: Fix api header C++ interop ([#&#8203;3534](https://github.com/tree-sitter/tree-sitter/pull/3534)) - **make**: Fail properly on Windows ([#&#8203;3418](https://github.com/tree-sitter/tree-sitter/pull/3418)) - **rust**: Fetch `CARGO_MANIFEST_DIR` at runtime in build script ([#&#8203;3352](https://github.com/tree-sitter/tree-sitter/pull/3352)) - **rust**: Fix new clippy warnings ([#&#8203;3491](https://github.com/tree-sitter/tree-sitter/pull/3491)) - **test**: Multi-grammar corpus tests are now in the repo root ([#&#8203;3342](https://github.com/tree-sitter/tree-sitter/pull/3342)) - **wasm**: Update test ##### Performance - Hoist out common subexpressions in satisfies_text_predicates ([#&#8203;3397](https://github.com/tree-sitter/tree-sitter/pull/3397)) ##### Documentation - Update changelog - Remove duplicate pr # in changelog - Add note for bullet - Fix syntax highlighting unit testing example ([#&#8203;3434](https://github.com/tree-sitter/tree-sitter/pull/3434)) - Add tsserver annotation to example ([#&#8203;3460](https://github.com/tree-sitter/tree-sitter/pull/3460)) - Fix tree cursor documentation ([#&#8203;3324](https://github.com/tree-sitter/tree-sitter/pull/3324)) - Document rust library features ([#&#8203;3395](https://github.com/tree-sitter/tree-sitter/pull/3395)) - Clean up binding & parser lists ([#&#8203;3443](https://github.com/tree-sitter/tree-sitter/pull/3443)) ##### Refactor - Remove ansi_term dependency ([#&#8203;3387](https://github.com/tree-sitter/tree-sitter/pull/3387)) - Remove difference dependency ([#&#8203;3388](https://github.com/tree-sitter/tree-sitter/pull/3388)) - **scripts**: Clean up bash scripts ([#&#8203;3231](https://github.com/tree-sitter/tree-sitter/pull/3231)) ##### Testing - Modernize scanner files ([#&#8203;3340](https://github.com/tree-sitter/tree-sitter/pull/3340)) ##### Build System and CI - **deps**: bump wasmtime, cc, and wasmparser ([#&#8203;3529](https://github.com/tree-sitter/tree-sitter/pull/3529) - **bindings**: Use language version in soname ([#&#8203;3308](https://github.com/tree-sitter/tree-sitter/pull/3308)) - **lib**: Include the minor in the soname - **loader**: Make dependencies optional ([#&#8203;1638](https://github.com/tree-sitter/tree-sitter/pull/1638)) - **swift**: Declare header search path ([#&#8203;3474](https://github.com/tree-sitter/tree-sitter/pull/3474)) - **wasm**: Don't minify JS ([#&#8203;3380](https://github.com/tree-sitter/tree-sitter/pull/3380)) - **wasm**: Bump emscripten to 3.1.64 ([#&#8203;3497](https://github.com/tree-sitter/tree-sitter/pull/3497)) - **wasm**: Support big endian machines ([#&#8203;3492](https://github.com/tree-sitter/tree-sitter/pull/3492)) - **zig**: Git ignore updated Zig cache directory ([#&#8203;3408](https://github.com/tree-sitter/tree-sitter/pull/3408)) ##### Other - Swap `sprintf()` for `snprintf()` ([#&#8203;3430](https://github.com/tree-sitter/tree-sitter/pull/3430)) - Add `.build` to gitignore ([#&#8203;3498](https://github.com/tree-sitter/tree-sitter/pull/3498)) - Reset language when resetting wasm store ([#&#8203;3495](https://github.com/tree-sitter/tree-sitter/pull/3495)) - Clone wasm store engine ([#&#8203;3542](https://github.com/tree-sitter/tree-sitter/pull/3542)) - **bindings**: Fix indent & line endings ([#&#8203;3284](https://github.com/tree-sitter/tree-sitter/pull/3284)) ### [`v0.22.6`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.6) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.5...v0.22.6) ##### \[0.22.6] — 2024-05-05 ##### Features - Improve handling of serialization buffer overflows ([#&#8203;3318](https://github.com/tree-sitter/tree-sitter/pull/3318)) - Reverse iteration through node parents ([#&#8203;3214](https://github.com/tree-sitter/tree-sitter/pull/3214)) - **cli**: Support `NO_COLOR` ([#&#8203;3299](https://github.com/tree-sitter/tree-sitter/pull/3299)) - **cli**: Add test listing and allow users to parse a specific test number ([#&#8203;3067](https://github.com/tree-sitter/tree-sitter/pull/3067)) - **grammar**: Add "inherits" field if available ([#&#8203;3295](https://github.com/tree-sitter/tree-sitter/pull/3295)) ##### Bug Fixes - Correctly load field data from wasm languages - Improve error message when the `tree-sitter` field is malformed - Don't error out on package.json lookup errors if `--no-bindings` is passed ([#&#8203;3323](https://github.com/tree-sitter/tree-sitter/pull/3323)) - **cli**: Keep default cc flags in build - **cli**: Properly account for multi-grammar repos when using docker to build a wasm parser ([#&#8203;3337](https://github.com/tree-sitter/tree-sitter/pull/3337)) - **generate**: Don't check arbitrarily named dirs - **generate**: Take `AsRef<Path>` for the path parameter to avoid clones ([#&#8203;3322](https://github.com/tree-sitter/tree-sitter/pull/3322)) - **highlight**: Correct signature of `ts_highlighter_add_language` - **lib**: Do not return field names for extras ([#&#8203;3330](https://github.com/tree-sitter/tree-sitter/pull/3330)) - **lib**: Advance the lookahead end byte by 4 when there's an invalid code point ([#&#8203;3305](https://github.com/tree-sitter/tree-sitter/pull/3305)) - **rust**: Update README example ([#&#8203;3307](https://github.com/tree-sitter/tree-sitter/pull/3307)) - **rust**: Use unix + wasi cfg instead of not windows for fd ([#&#8203;3304](https://github.com/tree-sitter/tree-sitter/pull/3304)) - **test**: Allow newlines in between test name and attribute - **wasm**: Correct `childrenFromFieldXXX` method signatures ([#&#8203;3301](https://github.com/tree-sitter/tree-sitter/pull/3301)) - **xtask**: Always bump every crate in tandem - **zig**: Make usable as a zig dependency ([#&#8203;3315](https://github.com/tree-sitter/tree-sitter/pull/3315)) ##### Documentation - Mention build command variables - Swap `\s` for `\\s` in query example - **highlight**: Typo ([#&#8203;3290](https://github.com/tree-sitter/tree-sitter/pull/3290)) ##### Refactor - **tests**: Migrate remaining `grammar.json` tests to `grammar.js` ([#&#8203;3325](https://github.com/tree-sitter/tree-sitter/pull/3325)) ##### Build System and CI - Add nightly rustfmt to workflow for linting ([#&#8203;3333](https://github.com/tree-sitter/tree-sitter/pull/3333)) - Fix address sanitizer step ([#&#8203;3188](https://github.com/tree-sitter/tree-sitter/pull/3188)) - **deps**: Bump cc from 1.0.92 to 1.0.94 in the cargo group ([#&#8203;3298](https://github.com/tree-sitter/tree-sitter/pull/3298)) - **deps**: Bump the cargo group with 6 updates ([#&#8203;3313](https://github.com/tree-sitter/tree-sitter/pull/3313)) - **xtask**: Bump `build.zig.zon` version when bumping versions ### [`v0.22.5`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.5) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.4...v0.22.5) ##### \[0.22.5] — 2024-04-14 ##### Bug Fixes - Avoid generating unused character set constants - **cli**: Test parsing on windows ([#&#8203;3289](https://github.com/tree-sitter/tree-sitter/pull/3289)) - **rust**: Compilation on wasm32-wasi ([#&#8203;3293](https://github.com/tree-sitter/tree-sitter/pull/3293)) ### [`v0.22.4`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.4) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.3...v0.22.4) ##### \[0.22.4] — 2024-04-12 ##### Bug Fixes - Fix sorting of transitions within a lex state - Include 2-character ranges in array-based state transitions ##### Build System and CI - Always bump at least the patch version in bump xtask ### [`v0.22.3`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.3) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.2...v0.22.3) ##### \[0.22.3] — 2024-04-12 ##### Features - Add strncat to wasm stdlib - Generate simpler code for matching large character sets ([#&#8203;3234](https://github.com/tree-sitter/tree-sitter/pull/3234)) - When loading languages via WASM, gracefully handle memory errors and leaks in external scanners ([#&#8203;3181](https://github.com/tree-sitter/tree-sitter/pull/3181)) ##### Bug Fixes - **bindings**: Add utf-8 flag to python & node ([#&#8203;3278](https://github.com/tree-sitter/tree-sitter/pull/3278)) - **bindings**: Generate parser.c if missing ([#&#8203;3277](https://github.com/tree-sitter/tree-sitter/pull/3277)) - **bindings**: Remove required platforms for swift ([#&#8203;3264](https://github.com/tree-sitter/tree-sitter/pull/3264)) - **cli**: Fix mismatched parenthesis when accounting for `&&` ([#&#8203;3274](https://github.com/tree-sitter/tree-sitter/pull/3274)) - **lib**: Do not consider childless nodes for ts_node_parent ([#&#8203;3191](https://github.com/tree-sitter/tree-sitter/pull/3191)) - **lib**: Properly account for aliased root nodes and root nodes with children in `ts_subtree_string` ([#&#8203;3191](https://github.com/tree-sitter/tree-sitter/pull/3191)) - **lib**: Account for the root node of a tree cursor being an alias ([#&#8203;3191](https://github.com/tree-sitter/tree-sitter/pull/3191)) - **lib**: Use correct format specifier in log message ([#&#8203;3255](https://github.com/tree-sitter/tree-sitter/pull/3255)) - **parser**: Fix variadic macro ([#&#8203;3229](https://github.com/tree-sitter/tree-sitter/pull/3229)) - render: Proper function prototypes ([#&#8203;3277](https://github.com/tree-sitter/tree-sitter/pull/3277)) - **windows**: Add `/utf-8` flag for parsers using unicode symbols ([#&#8203;3223](https://github.com/tree-sitter/tree-sitter/pull/3223)) - Add a semicolon after SKIP macros ([#&#8203;3264](https://github.com/tree-sitter/tree-sitter/pull/3264)) - Add back `build-wasm` temporarily ([#&#8203;3203](https://github.com/tree-sitter/tree-sitter/pull/3203)) - Add lifetime to matches function ([#&#8203;3254](https://github.com/tree-sitter/tree-sitter/pull/3254)) - Default output directory for `build --wasm` should use current_dir ([#&#8203;3203](https://github.com/tree-sitter/tree-sitter/pull/3203)) - Fix sorting of wasm stdlib symbols - Insert "tree-sitter" section in current directory's package.json if it exists ([#&#8203;3224](https://github.com/tree-sitter/tree-sitter/pull/3224)) - Tie the lifetime of the cursor to the query in `QueryCursor::captures()` ([#&#8203;3266](https://github.com/tree-sitter/tree-sitter/pull/3266)) - Wrong flag check in `build.rs` ##### Performance - **cli**: Reduced the compile time of generated parsers by generating C code with fewer conditionals ([#&#8203;3234](https://github.com/tree-sitter/tree-sitter/pull/3234)) ##### Documentation - Add NGINX grammar ##### Refactor - **parser**: Make REDUCE macro non-variadic ([#&#8203;3280](https://github.com/tree-sitter/tree-sitter/pull/3280)) - **js**: Misc fixes & tidying - **rust**: Misc fixes & tidying ##### Testing - Add regression test for node parent + string bug ([#&#8203;3191](https://github.com/tree-sitter/tree-sitter/pull/3191)) - **test**: Allow colons in test names ([#&#8203;3264](https://github.com/tree-sitter/tree-sitter/pull/3264)) ##### Build System and CI - Upgrade wasmtime - Update emscripten version ([#&#8203;3272](https://github.com/tree-sitter/tree-sitter/pull/3272)) - **dependabot**: Improve PR labels ([#&#8203;3282](https://github.com/tree-sitter/tree-sitter/pull/3282)) ### [`v0.22.2`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.2) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.1...v0.22.2) ##### \[0.22.2] — 2024-03-17 ##### Breaking - **cli**: Add a separate build command to compile parsers ##### Features - **bindings/rust**: Expose `Parser::included_ranges` - Lower the lib's MSRV ([#&#8203;3169](https://github.com/tree-sitter/tree-sitter/pull/3169)) - **lib**: Implement Display for Node ([#&#8203;3177](https://github.com/tree-sitter/tree-sitter/pull/3177)) ##### Bug Fixes - **bindings/wasm**: Fix `Parser.getIncludedRanges()` ([#&#8203;3164](https://github.com/tree-sitter/tree-sitter/pull/3164)) - **lib**: Makefile installation on macOS ([#&#8203;3167](https://github.com/tree-sitter/tree-sitter/pull/3167)) - **lib**: Makefile installation ([#&#8203;3173](https://github.com/tree-sitter/tree-sitter/pull/3173)) - **lib**: Avoid possible UB of calling memset on a null ptr when 0 is passed into `array_grow_by` ([#&#8203;3176](https://github.com/tree-sitter/tree-sitter/pull/3176)) - **lib**: Allow hiding symbols ([#&#8203;3180](https://github.com/tree-sitter/tree-sitter/pull/3180)) ##### Documentation - Fix typo ([#&#8203;3158](https://github.com/tree-sitter/tree-sitter/pull/3158)) - **licensfe**: Update year ([#&#8203;3183](https://github.com/tree-sitter/tree-sitter/pull/3183)) ##### Refactor - Remove dependency on which crate ([#&#8203;3172](https://github.com/tree-sitter/tree-sitter/pull/3172)) - Turbofish styling ##### Testing - Fix header writes ([#&#8203;3174](https://github.com/tree-sitter/tree-sitter/pull/3174)) ##### Build System and CI - Simplify workflows ([#&#8203;3002](https://github.com/tree-sitter/tree-sitter/pull/3002)) - **lib**: Allow overriding CFLAGS on the commandline ([#&#8203;3159](https://github.com/tree-sitter/tree-sitter/pull/3159)) ### [`v0.22.1`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.1) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.22.0...v0.22.1) ##### Changelog ##### \[0.22.1] — 2024-03-10 ##### Bug Fixes - Cli build script behavior on release ### [`v0.22.0`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.22.0) [Compare Source](https://github.com/tree-sitter/tree-sitter/compare/v0.21.0...v0.22.0) ##### Changelog ##### \[0.22.0] — 2024-03-10 ##### Breaking - Remove top-level `corpus` dir for tests The cli will now only look in `test/corpus` for tests - Remove redundant escape regex & curly brace regex preprocessing ([#&#8203;2838](https://github.com/tree-sitter/tree-sitter/pull/2838)) - **bindings**: Convert node bindings to NAPI ([#&#8203;3077](https://github.com/tree-sitter/tree-sitter/pull/3077)) - **wasm**: Make `current*`, `is*`, and `has*` methods properties ([#&#8203;3103](https://github.com/tree-sitter/tree-sitter/pull/3103)) - **wasm**: Keep API in-line with upstream and start aligning with node ([#&#8203;3149](https://github.com/tree-sitter/tree-sitter/pull/3149)) ##### Features - Add xtasks to assist with bumping crates ([#&#8203;3065](https://github.com/tree-sitter/tree-sitter/pull/3065)) - Improve language bindings ([#&#8203;2438](https://github.com/tree-sitter/tree-sitter/pull/2438)) - Expose the allocator and array header files for external scanners ([#&#8203;3063](https://github.com/tree-sitter/tree-sitter/pull/3063)) - Add typings for the node bindings - Replace `nan` with `node-addon-api` and conditionally print logs - **bindings**: Add more make targets - **bindings**: Add peerDependencies for npm - **bindings**: Add prebuildify to node - **bindings**: Remove dsl types file ([#&#8203;3126](https://github.com/tree-sitter/tree-sitter/pull/3126)) - **node**: Type tag the language ([#&#8203;3109](https://github.com/tree-sitter/tree-sitter/pull/3109)) - **test**: Add attributes for corpus tests ##### Bug Fixes - Apply some `scan-build` suggestions (unused assignment/garbage access) ([#&#8203;3056](https://github.com/tree-sitter/tree-sitter/pull/3056)) - Wrap `||` comparison in parentheses when `&&` is used ([#&#8203;3070](https://github.com/tree-sitter/tree-sitter/pull/3070)) - Ignore unused variables in the array macros ([#&#8203;3083](https://github.com/tree-sitter/tree-sitter/pull/3083)) - `binding.cc` overwrite should replace `PARSER_NAME` ([#&#8203;3116](https://github.com/tree-sitter/tree-sitter/pull/3116)) - Don't use `__declspec(dllexport)` on windows ([#&#8203;3128](https://github.com/tree-sitter/tree-sitter/pull/3128)) - Parsers should export the language function on windows - Allow the regex `v` flag ([#&#8203;3154](https://github.com/tree-sitter/tree-sitter/pull/3154)) - **assertions**: Case shouldn't matter for comment node detection - **bindings**: Editorconfig and setup.py fixes ([#&#8203;3082](https://github.com/tree-sitter/tree-sitter/pull/3082)) - **bindings**: Insert `types` after `main` if it exists ([#&#8203;3122](https://github.com/tree-sitter/tree-sitter/pull/3122)) - **bindings**: Fix template oversights ([#&#8203;3155](https://github.com/tree-sitter/tree-sitter/pull/3155)) - **cli**: Only output the sources with `--no-bindings` ([#&#8203;3123](https://github.com/tree-sitter/tree-sitter/pull/3123)) - **generate**: Add `.npmignore`, populate Swift's exclude list ([#&#8203;3085](https://github.com/tree-sitter/tree-sitter/pull/3085)) - **generate**: Extern allocator functions for the template don't need to be "exported" ([#&#8203;3132](https://github.com/tree-sitter/tree-sitter/pull/3132)) - **generate**: Camel case name in `Cargo.toml` description ([#&#8203;3140](https://github.com/tree-sitter/tree-sitter/pull/3140)) - **lib**: Include `api.h` so `ts_set_allocator` is visible ([#&#8203;3092](https://github.com/tree-sitter/tree-sitter/pull/3092)) ##### Documentation - Add GitHub user and PR info to the changelog - Add css for inline code ([#&#8203;2844](https://github.com/tree-sitter/tree-sitter/pull/2844)) - Document test attributes - Add `Ohm` language parser - Remove duplicate `the`'s ([#&#8203;3120](https://github.com/tree-sitter/tree-sitter/pull/3120)) - Add discord and matrix badges ([#&#8203;3148](https://github.com/tree-sitter/tree-sitter/pull/3148)) ##### Refactor - Rename TS_REUSE_ALLOCATOR flag ([#&#8203;3088](https://github.com/tree-sitter/tree-sitter/pull/3088)) - Remove extern/const where possible - **array**: Use pragma GCC in clang too - **bindings**: Remove npmignore ([#&#8203;3089](https://github.com/tree-sitter/tree-sitter/pull/3089)) ##### Testing - Don't use TS_REUSE_ALLOCATOR on Darwin systems ([#&#8203;3087](https://github.com/tree-sitter/tree-sitter/pull/3087)) - Add test case for parse stack merging with incorrect error cost bug ([#&#8203;3098](https://github.com/tree-sitter/tree-sitter/pull/3098)) ##### Build System and CI - Improve changelog settings ([#&#8203;3064](https://github.com/tree-sitter/tree-sitter/pull/3064)) - Unify crate versions via workspace ([#&#8203;3074](https://github.com/tree-sitter/tree-sitter/pull/3074)) - Update `cc` to remove annoying debug output ([#&#8203;3075](https://github.com/tree-sitter/tree-sitter/pull/3075)) - Adjust dependabot settings ([#&#8203;3079](https://github.com/tree-sitter/tree-sitter/pull/3079)) - Use c11 everywhere - Add uninstall command - Don't skip tests on failing lint ([#&#8203;3102](https://github.com/tree-sitter/tree-sitter/pull/3102)) - Remove unused deps, bump deps, and bump MSRV to 1.74.1 ([#&#8203;3153](https://github.com/tree-sitter/tree-sitter/pull/3153)) - **bindings**: Metadata improvements - **bindings**: Make everything c11 ([#&#8203;3099](https://github.com/tree-sitter/tree-sitter/pull/3099)) - **dependabot**: Update weekly instead of daily ([#&#8203;3112](https://github.com/tree-sitter/tree-sitter/pull/3112)) - **deps**: Bump the cargo group with 1 update ([#&#8203;3081](https://github.com/tree-sitter/tree-sitter/pull/3081)) - **deps**: Bump the cargo group with 1 update ([#&#8203;3097](https://github.com/tree-sitter/tree-sitter/pull/3097)) - **deps**: Bump deps & lockfile ([#&#8203;3060](https://github.com/tree-sitter/tree-sitter/pull/3060)) - **deps**: Bump the cargo group with 4 updates ([#&#8203;3134](https://github.com/tree-sitter/tree-sitter/pull/3134)) - **lint**: Detect if `Cargo.lock` needs to be updated ([#&#8203;3066](https://github.com/tree-sitter/tree-sitter/pull/3066)) - **lint**: Make lockfile check quiet ([#&#8203;3078](https://github.com/tree-sitter/tree-sitter/pull/3078)) - **swift**: Move 'cLanguageStandard' behind 'targets' ([#&#8203;3101](https://github.com/tree-sitter/tree-sitter/pull/3101)) ##### Other - Make Node.js language bindings context aware ([#&#8203;2841](https://github.com/tree-sitter/tree-sitter/pull/2841)) They don't have any dynamic global data, so all it takes is just declaring them as such - Fix crash when attempting to load ancient languages via wasm ([#&#8203;3068](https://github.com/tree-sitter/tree-sitter/pull/3068)) - Use workspace dependencies for internal crates like Tree-sitter ([#&#8203;3076](https://github.com/tree-sitter/tree-sitter/pull/3076)) - Remove vendored wasmtime headers (https://github.com/tree-sitter/tree-sitter/pull/3084) When building rust binding, use wasmtime headers provided via cargo by the wasmtime-c-api crate. - Fix invalid parse stack recursive merging with mismatched error cost ([#&#8203;3086](https://github.com/tree-sitter/tree-sitter/pull/3086)) Allowing this invalid merge caused an invariant to be violated later on during parsing, when handling a later error. - Fix regression in `subtree_compare` ([#&#8203;3111](https://github.com/tree-sitter/tree-sitter/pull/3111)) - docs: Add `Ohm` language parser ([#&#8203;3114](https://github.com/tree-sitter/tree-sitter/pull/3114)) - Delete `binding_files.rs` ([#&#8203;3106](https://github.com/tree-sitter/tree-sitter/pull/3106)) - **bindings**: Consistent wording ([#&#8203;3096](https://github.com/tree-sitter/tree-sitter/pull/3096)) - **bindings**: Ignore more artifacts ([#&#8203;3119](https://github.com/tree-sitter/tree-sitter/pull/3119)) ### [`v0.21.0`](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.21.0) ##### Changelog ##### \[0.21.0] - 2024-02-21 ##### Breaking - Remove the apply-all-captures flag, make last-wins precedence the default **NOTE**: This change might cause breakage in your grammar's highlight tests. Just flip the order around of the relevant queries, and keep in mind that the last query that matches will win. ##### Features - Use lockfiles to dedup recompilation - Improve error message for files with an unknown grammar path (https://github.com/tree-sitter/tree-sitter/pull/2475) - Implement first-line-regex (https://github.com/tree-sitter/tree-sitter/pull/2479) - Error out if an empty string is in the `extras` array - Allow specifying an external scanner's files (https://github.com/tree-sitter/tree-sitter/pull/3031) - Better error info when a scanner is missing required symbols - **cli**: Add an optional `grammar-path` argument for the playground (https://github.com/tree-sitter/tree-sitter/pull/3014) - **cli**: Add optional `config-path` argument (https://github.com/tree-sitter/tree-sitter/pull/3050) - **loader**: Add more commonly used default parser directories ##### Bug Fixes - Prettify xml output and add node position info (https://github.com/tree-sitter/tree-sitter/pull/2970) - Inherited grammar generation - Properly error out when the word property is an invalid rule - Update schema for regex flags (https://github.com/tree-sitter/tree-sitter/pull/3006) - Properly handle Query.matches when filtering out results (https://github.com/tree-sitter/tree-sitter/pull/3013) - Sexp format edge case with quoted closed parenthesis (https://github.com/tree-sitter/tree-sitter/pull/3016) - Always push the default files if there's no `externals` - Don't log NUL characters (https://github.com/tree-sitter/tree-sitter/pull/3037) - Don't throw an error if the user uses `map` in the grammar (https://github.com/tree-sitter/tree-sitter/pull/3041) - Remove redundant imports (https://github.com/tree-sitter/tree-sitter/pull/3047) - **cli**: Installation via a HTTP tunnel proxy (https://github.com/tree-sitter/tree-sitter/pull/2824) - **cli**: Don't update tests automatically if parse errors are detected (https://github.com/tree-sitter/tree-sitter/pull/3033) - **cli**: Don't use `long` for `grammar_path` - **test**: Allow writing updates to tests without erroneous nodes instead of denying all of them if a single error is found - **test**: Edge case when parsing `UNEXPECTED`/`MISSING` nodes with an indentation level greater than 0 - **wasm**: Remove C++ mangled symbols (https://github.com/tree-sitter/tree-sitter/pull/2971) ##### Documentation - Create issue template (https://github.com/tree-sitter/tree-sitter/pull/2978) - Document regex limitations - Mention that `token($.foo)` is illegal - Explicitly mention behavior of walking outside the given "root" node for a `TSTreeCursor` (https://github.com/tree-sitter/tree-sitter/pull/3021) - Small fixes (https://github.com/tree-sitter/tree-sitter/pull/2987) - Add `Tact` language parser (https://github.com/tree-sitter/tree-sitter/pull/3030) - **web**: Provide deno usage information (https://github.com/tree-sitter/tree-sitter/pull/2498) ##### Refactor - Extract regex check into a function and lower its precedence - `&PathBuf` -> `&Path` (https://github.com/tree-sitter/tree-sitter/pull/3035) - Name anonymous types in api.h (https://github.com/tree-sitter/tree-sitter/pull/1659) ##### Testing - Add quotes around bash variables (https://github.com/tree-sitter/tree-sitter/pull/3023) - Update html tests ##### Build System and CI - Only create release for normal semver tags (https://github.com/tree-sitter/tree-sitter/pull/2973) - Add useful development targets to makefile (https://github.com/tree-sitter/tree-sitter/pull/2979) - Remove minimum glibc information in summary page (https://github.com/tree-sitter/tree-sitter/pull/2988) - Use the native m1 mac runner (https://github.com/tree-sitter/tree-sitter/pull/2995) - Add editorconfig (https://github.com/tree-sitter/tree-sitter/pull/2998) - Remove symbolic links from repository (https://github.com/tree-sitter/tree-sitter/pull/2997) - Move common Cargo.toml keys into the workspace and inherit them (https://github.com/tree-sitter/tree-sitter/pull/3019) - Remove reviewers when drafting or closing a PR (https://github.com/tree-sitter/tree-sitter/pull/2963) - Enable creating changelogs with git-cliff (https://github.com/tree-sitter/tree-sitter/pull/3040) - Cache fixtures (https://github.com/tree-sitter/tree-sitter/pull/3038) - Don't cancel jobs on master (https://github.com/tree-sitter/tree-sitter/pull/3052) - Relax caching requirements (https://github.com/tree-sitter/tree-sitter/pull/3051) - **deps**: Bump clap from 4.4.18 to 4.5.0 (https://github.com/tree-sitter/tree-sitter/pull/3007) - **deps**: Bump wasmtime from v16.0.0 to v17.0.1 (https://github.com/tree-sitter/tree-sitter/pull/3008) - **deps**: Bump wasmtime to v18.0.1 (https://github.com/tree-sitter/tree-sitter/pull/3057) - **sanitize**: Add a timeout of 60 minutes (https://github.com/tree-sitter/tree-sitter/pull/3017) - **sanitize**: Reduce timeout to 20 minutes (https://github.com/tree-sitter/tree-sitter/pull/3054) ##### Other - Document preferred language for scanner (https://github.com/tree-sitter/tree-sitter/pull/2972) - Add java and tsx to corpus tests (https://github.com/tree-sitter/tree-sitter/pull/2992) - Provide a CLI flag to open `log.html` (https://github.com/tree-sitter/tree-sitter/pull/2996) - Some more clippy lints (https://github.com/tree-sitter/tree-sitter/pull/3010) - Remove deprecated query parsing mechanism (https://github.com/tree-sitter/tree-sitter/pull/3011) - Print out full compiler arguments ran when it fails (https://github.com/tree-sitter/tree-sitter/pull/3018) - Deprecate C++ scanners (https://github.com/tree-sitter/tree-sitter/pull/3020) - Add some documentation to the playground page (https://github.com/tree-sitter/tree-sitter/pull/1495) - Update relevant rust tests (https://github.com/tree-sitter/tree-sitter/pull/2947) - Clippy lints (https://github.com/tree-sitter/tree-sitter/pull/3032) - Error out when multiple arguments are passed to `token`/`token.immediate` (https://github.com/tree-sitter/tree-sitter/pull/3036) - Tidying - Prefer turbofish syntax where possible (https://github.com/tree-sitter/tree-sitter/pull/3048) - Use published wasmtime crates - Cleaner cast - Update Cargo.lock - Get rid of `github_issue_test` file (https://github.com/tree-sitter/tree-sitter/pull/3055) - **cli**: Use spawn to display `emcc`'s stdout and stderr (https://github.com/tree-sitter/tree-sitter/pull/2494) - **cli**: Warn users when a query path needed for a subcommand isn't specified in a grammar's package.json - **generate**: Dedup and warn about duplicate or invalid rules (https://github.com/tree-sitter/tree-sitter/pull/2994) - **test**: Use different languages for async tests (https://github.com/tree-sitter/tree-sitter/pull/2953) - **wasm**: Use `SIDE_MODULE=2` to silence warning (https://github.com/tree-sitter/tree-sitter/pull/3003) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNjAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQyNC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
kjuulh changed title from chore(deps): update dependency prettier to v3 to chore(deps): update all dependencies 2024-02-21 20:53:49 +01:00
kjuulh force-pushed renovate/all from 1bd4b6e3b9 to 2e1a3def16 2024-02-21 20:53:51 +01:00 Compare
kjuulh force-pushed renovate/all from 2e1a3def16 to 249fe4d717 2024-02-21 22:14:22 +01:00 Compare
kjuulh force-pushed renovate/all from 249fe4d717 to ddf58e4d3e 2024-03-10 22:30:27 +01:00 Compare
kjuulh force-pushed renovate/all from ddf58e4d3e to b188e823fd 2024-03-10 23:14:21 +01:00 Compare
kjuulh force-pushed renovate/all from b188e823fd to c3559b7cee 2024-03-17 13:15:07 +01:00 Compare
kjuulh force-pushed renovate/all from c3559b7cee to e120aedc7a 2024-04-13 01:26:43 +02:00 Compare
kjuulh force-pushed renovate/all from e120aedc7a to 8ed6b2dfc5 2024-04-13 02:38:12 +02:00 Compare
kjuulh force-pushed renovate/all from 8ed6b2dfc5 to 5807ec7afe 2024-04-14 20:01:07 +02:00 Compare
kjuulh force-pushed renovate/all from 5807ec7afe to 58905696a4 2024-05-05 23:32:06 +02:00 Compare
kjuulh force-pushed renovate/all from 58905696a4 to a05ae36e4e 2024-05-23 22:35:23 +02:00 Compare
kjuulh force-pushed renovate/all from a05ae36e4e to 9dfaa198d0 2024-08-21 23:44:50 +02:00 Compare
kjuulh force-pushed renovate/all from 9dfaa198d0 to bed6df70fa 2024-08-23 11:25:50 +02:00 Compare
kjuulh force-pushed renovate/all from bed6df70fa to 3b4f1f1147 2024-08-26 15:57:02 +02:00 Compare
kjuulh force-pushed renovate/all from 3b4f1f1147 to 99f8f1fdb6 2024-08-26 17:48:49 +02:00 Compare
kjuulh force-pushed renovate/all from 99f8f1fdb6 to f173aeaf33 2024-09-05 03:10:38 +02:00 Compare
kjuulh force-pushed renovate/all from f173aeaf33 to 23d811202e 2024-09-07 03:09:00 +02:00 Compare
kjuulh force-pushed renovate/all from 23d811202e to 0bf69aed61 2024-09-08 03:06:48 +02:00 Compare
kjuulh force-pushed renovate/all from 0bf69aed61 to 1356073a35 2024-09-16 03:03:17 +02:00 Compare
kjuulh force-pushed renovate/all from 1356073a35 to dfb2703d44 2024-09-18 03:13:27 +02:00 Compare
kjuulh force-pushed renovate/all from dfb2703d44 to ea1d957bb7 2024-09-19 07:03:54 +02:00 Compare
kjuulh force-pushed renovate/all from ea1d957bb7 to 9c7a299c54 2024-09-28 03:18:57 +02:00 Compare
kjuulh force-pushed renovate/all from 9c7a299c54 to ab9707a484 2024-09-30 03:02:57 +02:00 Compare
kjuulh force-pushed renovate/all from ab9707a484 to 7fb74a833e 2024-10-01 03:16:29 +02:00 Compare
kjuulh force-pushed renovate/all from 7fb74a833e to 4f8595442e 2024-10-02 03:14:10 +02:00 Compare
kjuulh force-pushed renovate/all from 4f8595442e to 73cad964fa 2024-10-04 06:56:12 +02:00 Compare
kjuulh force-pushed renovate/all from 73cad964fa to a167125e0b 2024-10-05 03:02:17 +02:00 Compare
kjuulh force-pushed renovate/all from a167125e0b to 829fdf3c75 2024-10-05 06:58:28 +02:00 Compare
kjuulh force-pushed renovate/all from 829fdf3c75 to d444f3f5b8 2024-10-06 03:03:11 +02:00 Compare
kjuulh force-pushed renovate/all from d444f3f5b8 to 3c57c06076 2024-10-06 06:59:12 +02:00 Compare
kjuulh force-pushed renovate/all from 3c57c06076 to ed5449b942 2024-10-07 02:58:38 +02:00 Compare
kjuulh force-pushed renovate/all from ed5449b942 to 8196fbd84a 2024-10-10 03:15:36 +02:00 Compare
kjuulh force-pushed renovate/all from 8196fbd84a to a073948f3f 2024-10-11 03:11:11 +02:00 Compare
kjuulh force-pushed renovate/all from a073948f3f to 8c4e7e2b20 2024-10-11 07:01:37 +02:00 Compare
kjuulh force-pushed renovate/all from 8c4e7e2b20 to 99c825db7b 2024-10-12 03:06:14 +02:00 Compare
kjuulh force-pushed renovate/all from 99c825db7b to eb31ed3909 2024-10-20 03:17:10 +02:00 Compare
kjuulh force-pushed renovate/all from eb31ed3909 to b4079ca022 2024-10-25 03:13:55 +02:00 Compare
kjuulh force-pushed renovate/all from b4079ca022 to f0787ee2b6 2024-11-02 07:06:25 +01:00 Compare
kjuulh force-pushed renovate/all from f0787ee2b6 to dc9bbd22bc 2024-11-04 02:58:18 +01:00 Compare
kjuulh force-pushed renovate/all from dc9bbd22bc to f84435294b 2024-11-06 02:54:20 +01:00 Compare
kjuulh force-pushed renovate/all from f84435294b to ccf9464b7e 2024-11-09 03:07:47 +01:00 Compare
kjuulh force-pushed renovate/all from ccf9464b7e to 2c7b20ccd1 2024-11-10 07:08:56 +01:00 Compare
kjuulh force-pushed renovate/all from 2c7b20ccd1 to d99f3eb646 2024-11-12 03:00:32 +01:00 Compare
kjuulh force-pushed renovate/all from d99f3eb646 to 4925fbc0e4 2024-11-13 03:35:07 +01:00 Compare
kjuulh force-pushed renovate/all from 4925fbc0e4 to 5da6f9d0e1 2024-11-15 03:10:42 +01:00 Compare
kjuulh force-pushed renovate/all from 5da6f9d0e1 to 861adb7a91 2024-11-26 07:22:17 +01:00 Compare
kjuulh force-pushed renovate/all from 861adb7a91 to 1de920f590 2024-11-27 04:09:15 +01:00 Compare
kjuulh force-pushed renovate/all from 1de920f590 to 778de602a4 2024-11-30 03:48:04 +01:00 Compare
kjuulh force-pushed renovate/all from 778de602a4 to b49f84ea30 2024-12-03 02:59:13 +01:00 Compare
kjuulh force-pushed renovate/all from b49f84ea30 to ee58f00c45 2024-12-05 03:14:40 +01:00 Compare
kjuulh force-pushed renovate/all from ee58f00c45 to 09c7198f02 2024-12-07 03:15:42 +01:00 Compare
kjuulh force-pushed renovate/all from 09c7198f02 to c35eb25cbf 2024-12-09 07:09:46 +01:00 Compare
kjuulh force-pushed renovate/all from c35eb25cbf to 1774568a47 2024-12-10 03:08:14 +01:00 Compare
kjuulh force-pushed renovate/all from 1774568a47 to bbdaf3eed2 2024-12-12 03:09:07 +01:00 Compare
kjuulh force-pushed renovate/all from bbdaf3eed2 to a5d783c2e2 2024-12-14 03:07:54 +01:00 Compare
kjuulh force-pushed renovate/all from a5d783c2e2 to 5323dd339d 2024-12-20 03:00:46 +01:00 Compare
kjuulh force-pushed renovate/all from 5323dd339d to 51cc84d201 2024-12-27 06:53:41 +01:00 Compare
kjuulh force-pushed renovate/all from 51cc84d201 to 184a12ecb1 2025-01-03 07:00:57 +01:00 Compare
kjuulh force-pushed renovate/all from 184a12ecb1 to c2c46b7625 2025-01-11 03:07:24 +01:00 Compare
kjuulh force-pushed renovate/all from c2c46b7625 to a95c00aee0 2025-01-13 03:12:50 +01:00 Compare
kjuulh force-pushed renovate/all from a95c00aee0 to 9c483e60af 2025-01-18 03:20:58 +01:00 Compare
kjuulh force-pushed renovate/all from 9c483e60af to e8d0c6695b 2025-02-01 03:16:33 +01:00 Compare
kjuulh force-pushed renovate/all from e8d0c6695b to 62ac944c0e 2025-02-01 07:17:21 +01:00 Compare
kjuulh force-pushed renovate/all from 62ac944c0e to e3b39f1b5d 2025-02-02 03:14:51 +01:00 Compare
kjuulh force-pushed renovate/all from e3b39f1b5d to 450e6f62da 2025-02-03 03:11:34 +01:00 Compare
kjuulh force-pushed renovate/all from 450e6f62da to e40df6b54b 2025-02-05 03:17:47 +01:00 Compare
kjuulh force-pushed renovate/all from e40df6b54b to 07930daf84 2025-02-09 03:21:20 +01:00 Compare
kjuulh force-pushed renovate/all from 07930daf84 to dffdf5f9e7 2025-02-10 03:14:00 +01:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/all:renovate/all
git checkout renovate/all
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: kjuulh/tree-sitter-rhai#2
No description provided.