diff --git a/CHANGELOG.md b/CHANGELOG.md index d015e433..69abb0a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,177 @@ # Changelog +## [0.24.1] - 2024-10-04 + +### Bug Fixes + +- **generate**: Move generated header files into the generate crate + +### Other + +- 0.24.1 + +## [0.24.0] - 2024-10-04 + +### Breaking + +- Remove C++ support for external scanners () +- Remove `filter` flag from commands in favor of `include` and `exclude` () +- Remove the `build-wasm` subcommand () +- Move generation of grammar files to an `init` command () +- Implement `StreamingIterator` instead of `Iterator` for `QueryMatches` and `QueryCaptures` () +- **generate**: Remove unused rules () +- **lib**: Child_containing_descendant now returns direct children () +- **lib**: Treat nodes' end ranges exclusively in `goto_first_child_for_{byte,point}` () + +### Features + +- Add an API to time out query executions () +- Add `field_name_for_named_child` () +- Add `root` field in node-types.json () +- Add eslint configuration package () +- Provide a `rebuild` flag to force rebuild parsers () +- Add shell completions () +- Move generate logic to its own crate () +- Add `--overview-only` to `test` subcommand () +- Move tree-sitter configuration to dedicated file (#3700) () +- **api**: Expose function to check if symbol represents a supertype () +- **bindings**: Bump `go-tree-sitter` version () +- **cli**: Add a `no-ranges` flag to the parse command () +- **generate**: Bump `tree-sitter` dev dependency to `0.23` () +- **generate**: Add a no-op `--no-bindings` flag +- **init**: Add an update flag () +- **language**: Derive Clone and Copy on LanguageFn () +- **schema**: Misc improvements () +- **test**: Test all queries + +### Bug Fixes + +- Correct comment quote () +- Properly handle utf8 code points for highlight and tag assertions () +- Do not generate spurious files if the grammar path is not the default path () +- Disallow empty string literals in rules () +- Correct test name parsing when the prior test has equal signs () +- Handle more cases of editing subtrees that depend on column values () +- Exclude APIs that dup given file descriptors from WASI builds () +- Deprecate `child_containing_descendant` and add `child_with_descendant` instead () +- **binding_web**: Correct `edit` signature () +- **binding_web**: Remove nonexistent function definition () +- **bindings**: Use `RUST_BINDING_VERSION` in `Cargo.toml` template +- **bindings**: Lower go version to `1.22` () +- **build**: Correct wasm root path lookup () +- **build**: Force rebuild parsers when build is invoked () +- **cli**: Remove conflicting short flags in the `fuzz` subcommand () +- **cli**: Keep skipped tests unchanged in the test/corpus () +- **cli**: Remove duplicate short options from `fuzz` command (#3635) () +- **cli**: Generate the parser version from the config as well +- **docs**: Fix highlight readme example using compatible versions () +- **fuzz**: Skip tests marked with `:skip` & don't report errors on tests marked with `:error` () +- **generate**: Remove necessary files from gitignore template () +- **generate**: Disallow inline variables referencing themselves () +- **generate**: Add `tree-sitter` to the `dev-dependencies` of the Cargo.toml () +- **generate**: Do not generate large character sets for unused variables () +- **generate**: Remove excludes in `Package.swift` () +- **generate**: Add `*.scm` section to `.editorconfig` template () +- **generate**: Filter out unused rules in other spots () +- **init**: Fix some schema issues +- **init**: Don't prompt to reconfigure () +- **init**: Do not migrate `package.json` on error () +- **lib**: Correct extra node creation from non-zero root-alias cursors () +- **lib**: Backtrack to the last relevant iterator if no child was found () +- **lib**: Peek at the next sibling when iterating to find the child that contains a given descendant () +- **lib**: Correct descendant-for-range behavior with zero-width tokens () +- **lib**: Silence warnings with `-Wpedantic` () +- **lib**: Ensure an unfinished state was found before removing it () +- **rust**: Add missing TSNode functions () +- **test**: Exit with an error if a test marked with `:error` has no error +- **test**: Retain attributes when running `test -u` () +- **test**: Correctly handle assertions on empty lines () +- **wasm**: Use / paths for workdir () + +### Documentation + +- Add Kotlin to the playground () +- **changelog**: Add 0.23.0 release notes () + +### Refactor + +- Improve the grammar schema +- **cli**: Break out subcommand logic into separate functions () + +### Build System and CI + +- Add backport workflow () +- Bump deps () +- Bump language to `0.1.1` () +- **bindings**: Add CMakeLists.txt file () +- **cmake**: Link wasmtime dependencies () +- **deps**: Bump the cargo group across 1 directory with 11 updates () +- **deps**: Bump the cargo group with 3 updates () +- **lib**: Build using cmake () +- **make**: Support darwin cross-compile () +- **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` () +- Update generate crate paths () +- **bindings**: Update rust lib docs () +- **lib**: Add parameter names in declarations that are missing them () +- **tests**: Do not use `.as_bytes().len()` on strings () + +## [0.23.2] - 2024-10-01 + +This release only corrected the version in a crate so publishing wouldn't fail. + +## [0.23.1] - 2024-09-30 + +### Features + +- **bindings**: Bump `go-tree-sitter` version +- **generate**: Bump `tree-sitter` dev dependency to `0.23` +- **language**: Derive Clone and Copy on LanguageFn + +### Bug Fixes + +- Correct comment quote +- Properly handle utf8 code points for highlight and tag assertions +- Do not generate spurious files if the grammar path is not the default path +- Disallow empty string literals in rules +- Correct test name parsing when the prior test has equal signs +- Handle more cases of editing subtrees that depend on column values +- Exclude APIs that dup given file descriptors from WASI builds +- **binding_web**: Correct `edit` signature +- **binding_web**: Remove nonexistent function definition +- **cli**: Remove conflicting short flags in the `fuzz` subcommand +- **cli**: Keep skipped tests unchanged in the test/corpus +- **cli**: Remove duplicate short options from `fuzz` command (#3635) +- **docs**: Fix highlight readme example using compatible versions +- **fuzz**: Skip tests marked with `:skip` & don't report errors on tests marked with `:error` +- **generate**: Remove necessary files from gitignore template +- **generate**: Disallow inline variables referencing themselves +- **generate**: Add `tree-sitter` to the `dev-dependencies` of the Cargo.toml +- **generate**: Do not generate large character sets for unused variables +- **generate**: Remove excludes in `Package.swift` +- **lib**: Correct extra node creation from non-zero root-alias cursors +- **lib**: Backtrack to the last relevant iterator if no child was found +- **lib**: Peek at the next sibling when iterating to find the child that contains a given descendant +- **lib**: Correct descendant-for-range behavior with zero-width tokens +- **rust**: Add missing TSNode functions +- **test**: Exit with an error if a test marked with `:error` has no error +- **test**: Retain attributes when running `test -u` +- **wasm**: Use / paths for workdir + +### Build System and CI + +- **deps**: Bump the cargo group across 1 directory with 11 updates +- **make**: Support darwin cross-compile + +### Other + +- **bindings**: Update rust lib docs + ## [0.23.0] - 2024-08-26 ### Breaking