From 51dfe3dbdb7fa230f07df43905ced53e3dcfcc96 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Sun, 10 Nov 2024 23:26:57 -0500 Subject: [PATCH] docs: remove CHANGELOG.md --- CHANGELOG.md | 663 --------------------------------------------------- 1 file changed, 663 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index b1a00b28..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,663 +0,0 @@ -# Changelog - -## [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 (#3745) - -### Other - -- **templates**: Update npm packages - -## [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 - -- Introduce tree-sitter-language crate for grammar crates to depend on () -- Revert interning of a sequence or choice of a single rule () -- **bindings**: Use capsules in python () -- **dsl**: Support other JS runtimes () - -### Features - -- Add `fuzz` subcommand () -- Allow external scanners to use the logger () -- **bindings**: Add query constants to python -- **bindings**: Add node, python, swift tests () -- **bindings**: Update npm scripts () -- **cli**: Bump unicode data to v15.1.0 -- **cli**: Add debug build flag () -- **cli**: Attach helpful context when `grammar.json` cannot be found () -- **cli**: Add `--show-fields` flag to `test` command () -- **lib**: Add `ts_query_end_byte_for_pattern` () -- **lib**: Support no_std -- **zig**: Update outdated path syntax () - -### Bug Fixes - -- Always reset to the first language when iterating over language attributes () -- Better error when a supertype rule is invalid () -- 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 () -- **bindings**: Update go bindings () -- **cli**: Installation via authenticated proxy () -- **cli**: Dedup `preceding_auxiliary_symbols` () -- **dsl**: Improve error message when a rule function returns undefined () -- **generate**: Rename `cargo.toml` template () -- **go**: Update parser name in binding files, add to docs () -- **lib**: A null clock must have `tv_nsec` be 0 as well () -- **lib**: Restrict pattern_map optimization when a wildcard step has an immediate first child () -- **lib**: An empty root node should not precede an empty range () -- **lib**: Fix api header C++ interop () -- **make**: Fail properly on Windows () -- **rust**: Fetch `CARGO_MANIFEST_DIR` at runtime in build script () -- **rust**: Fix new clippy warnings () -- **test**: Multi-grammar corpus tests are now in the repo root () -- **wasm**: Update test - -### Performance - -- Hoist out common subexpressions in satisfies_text_predicates () - -### Documentation - -- Update changelog -- Remove duplicate pr # in changelog -- Add note for bullet -- Fix syntax highlighting unit testing example () -- Add tsserver annotation to example () -- Fix tree cursor documentation () -- Document rust library features () -- Clean up binding & parser lists () - -### Refactor - -- Remove ansi_term dependency () -- Remove difference dependency () -- **scripts**: Clean up bash scripts () - -### Testing - -- Modernize scanner files () - -### Build System and CI - -- **deps**: bump wasmtime, cc, and wasmparser ( -- **bindings**: Use language version in soname () -- **lib**: Include the minor in the soname -- **loader**: Make dependencies optional () -- **swift**: Declare header search path () -- **wasm**: Don't minify JS () -- **wasm**: Bump emscripten to 3.1.64 () -- **wasm**: Support big endian machines () -- **zig**: Git ignore updated Zig cache directory () - -### Other - -- Swap `sprintf()` for `snprintf()` () -- Add `.build` to gitignore () -- Reset language when resetting wasm store () -- Clone wasm store engine () -- **bindings**: Fix indent & line endings () - -## [0.22.6] — 2024-05-05 - -### Features - -- Improve handling of serialization buffer overflows () -- Reverse iteration through node parents () -- **cli**: Support `NO_COLOR` () -- **cli**: Add test listing and allow users to parse a specific test number () -- **grammar**: Add "inherits" field if available () - -### 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 () -- **cli**: Keep default cc flags in build -- **cli**: Properly account for multi-grammar repos when using docker to build a wasm parser () -- **generate**: Don't check arbitrarily named dirs -- **generate**: Take `AsRef` for the path parameter to avoid clones () -- **highlight**: Correct signature of `ts_highlighter_add_language` -- **lib**: Do not return field names for extras () -- **lib**: Advance the lookahead end byte by 4 when there's an invalid code point () -- **rust**: Update README example () -- **rust**: Use unix + wasi cfg instead of not windows for fd () -- **test**: Allow newlines in between test name and attribute -- **wasm**: Correct `childrenFromFieldXXX` method signatures () -- **xtask**: Always bump every crate in tandem -- **zig**: Make usable as a zig dependency () - -### Documentation - -- Mention build command variables -- Swap `\s` for `\\s` in query example -- **highlight**: Typo () - -### Refactor - -- **tests**: Migrate remaining `grammar.json` tests to `grammar.js` () - -### Build System and CI - -- Add nightly rustfmt to workflow for linting () -- Fix address sanitizer step () -- **deps**: Bump cc from 1.0.92 to 1.0.94 in the cargo group () -- **deps**: Bump the cargo group with 6 updates () -- **xtask**: Bump `build.zig.zon` version when bumping versions - -## [0.22.5] — 2024-04-14 - -### Bug Fixes - -- Avoid generating unused character set constants -- **cli**: Test parsing on windows () -- **rust**: Compilation on wasm32-wasi () - -## [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 - -## [0.22.3] — 2024-04-12 - -### Features - -- Add strncat to wasm stdlib -- Generate simpler code for matching large character sets () -- When loading languages via WASM, gracefully handle memory errors and leaks in external scanners () - -### Bug Fixes - -- **bindings**: Add utf-8 flag to python & node () -- **bindings**: Generate parser.c if missing () -- **bindings**: Remove required platforms for swift () -- **cli**: Fix mismatched parenthesis when accounting for `&&` () -- **lib**: Do not consider childless nodes for ts_node_parent () -- **lib**: Properly account for aliased root nodes and root nodes with - children in `ts_subtree_string` () -- **lib**: Account for the root node of a tree cursor being an alias () -- **lib**: Use correct format specifier in log message () -- **parser**: Fix variadic macro () -- render: Proper function prototypes () -- **windows**: Add `/utf-8` flag for parsers using unicode symbols () -- Add a semicolon after SKIP macros () -- Add back `build-wasm` temporarily () -- Add lifetime to matches function () -- Default output directory for `build --wasm` should use current_dir () -- Fix sorting of wasm stdlib symbols -- Insert "tree-sitter" section in current directory's package.json if it exists () -- Tie the lifetime of the cursor to the query in `QueryCursor::captures()` () -- Wrong flag check in `build.rs` - -### Performance - -- **cli**: Reduced the compile time of generated parsers by generating C code with fewer conditionals () - -### Documentation - -- Add NGINX grammar - -### Refactor - -- **parser**: Make REDUCE macro non-variadic () -- **js**: Misc fixes & tidying -- **rust**: Misc fixes & tidying - -### Testing - -- Add regression test for node parent + string bug () -- **test**: Allow colons in test names () - -### Build System and CI - -- Upgrade wasmtime -- Update emscripten version () -- **dependabot**: Improve PR labels () - -## [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 () -- **lib**: Implement Display for Node () - -### Bug Fixes - -- **bindings/wasm**: Fix `Parser.getIncludedRanges()` () -- **lib**: Makefile installation on macOS () -- **lib**: Makefile installation () -- **lib**: Avoid possible UB of calling memset on a null ptr when 0 is passed into `array_grow_by` () -- **lib**: Allow hiding symbols () - -### Documentation - -- Fix typo () -- **licensfe**: Update year () - -### Refactor - -- Remove dependency on which crate () -- Turbofish styling - -### Testing - -- Fix header writes () - -### Build System and CI - -- Simplify workflows () -- **lib**: Allow overriding CFLAGS on the commandline () - -## [0.22.1] — 2024-03-10 - -### Bug Fixes - -- Cli build script behavior on release - -## [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 () -- **bindings**: Convert node bindings to NAPI () -- **wasm**: Make `current*`, `is*`, and `has*` methods properties () -- **wasm**: Keep API in-line with upstream and start aligning with node () - -### Features - -- Add xtasks to assist with bumping crates () -- Improve language bindings () -- Expose the allocator and array header files for external scanners () -- 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 () -- **node**: Type tag the language () -- **test**: Add attributes for corpus tests - -### Bug Fixes - -- Apply some `scan-build` suggestions (unused assignment/garbage access) () -- Wrap `||` comparison in parentheses when `&&` is used () -- Ignore unused variables in the array macros () -- `binding.cc` overwrite should replace `PARSER_NAME` () -- Don't use `__declspec(dllexport)` on windows () -- Parsers should export the language function on windows -- Allow the regex `v` flag () -- **assertions**: Case shouldn't matter for comment node detection -- **bindings**: Editorconfig and setup.py fixes () -- **bindings**: Insert `types` after `main` if it exists () -- **bindings**: Fix template oversights () -- **cli**: Only output the sources with `--no-bindings` () -- **generate**: Add `.npmignore`, populate Swift's exclude list () -- **generate**: Extern allocator functions for the template don't need to be "exported" () -- **generate**: Camel case name in `Cargo.toml` description () -- **lib**: Include `api.h` so `ts_set_allocator` is visible () - -### Documentation - -- Add GitHub user and PR info to the changelog -- Add css for inline code () -- Document test attributes -- Add `Ohm` language parser -- Remove duplicate `the`'s () -- Add discord and matrix badges () - -### Refactor - -- Rename TS_REUSE_ALLOCATOR flag () -- Remove extern/const where possible -- **array**: Use pragma GCC in clang too -- **bindings**: Remove npmignore () - -### Testing - -- Don't use TS_REUSE_ALLOCATOR on Darwin systems () -- Add test case for parse stack merging with incorrect error cost bug () - -### Build System and CI - -- Improve changelog settings () -- Unify crate versions via workspace () -- Update `cc` to remove annoying debug output () -- Adjust dependabot settings () -- Use c11 everywhere -- Add uninstall command -- Don't skip tests on failing lint () -- Remove unused deps, bump deps, and bump MSRV to 1.74.1 () -- **bindings**: Metadata improvements -- **bindings**: Make everything c11 () -- **dependabot**: Update weekly instead of daily () -- **deps**: Bump the cargo group with 1 update () -- **deps**: Bump the cargo group with 1 update () -- **deps**: Bump deps & lockfile () -- **deps**: Bump the cargo group with 4 updates () -- **lint**: Detect if `Cargo.lock` needs to be updated () -- **lint**: Make lockfile check quiet () -- **swift**: Move 'cLanguageStandard' behind 'targets' () - -### Other - -- Make Node.js language bindings context aware () - 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 () -- Use workspace dependencies for internal crates like Tree-sitter () -- Remove vendored wasmtime headers () - 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 () - Allowing this invalid merge caused an invariant to be violated - later on during parsing, when handling a later error. -- Fix regression in `subtree_compare` () -- docs: Add `Ohm` language parser () -- Delete `binding_files.rs` () -- **bindings**: Consistent wording () -- **bindings**: Ignore more artifacts () - -## [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 () -- Implement first-line-regex () -- Error out if an empty string is in the `extras` array -- Allow specifying an external scanner's files () -- Better error info when a scanner is missing required symbols -- **cli**: Add an optional `grammar-path` argument for the playground () -- **cli**: Add optional `config-path` argument () -- **loader**: Add more commonly used default parser directories - -### Bug Fixes - -- Prettify xml output and add node position info () -- Inherited grammar generation -- Properly error out when the word property is an invalid rule -- Update schema for regex flags () -- Properly handle `Query.matches` when filtering out results () -- Sexp format edge case with quoted closed parenthesis () -- Always push the default files if there's no `externals` -- Don't log NUL characters () -- Don't throw an error if the user uses `map` in the grammar () -- Remove redundant imports () -- **cli**: Installation via a HTTP tunnel proxy () -- **cli**: Don't update tests automatically if parse errors are detected () -- **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 () - -### Documentation - -- Create issue template () -- Document regex limitations -- Mention that `token($.foo)` is illegal -- Explicitly mention behavior of walking outside the given "root" node for a `TSTreeCursor` () -- Small fixes () -- Add `Tact` language parser () -- **web**: Provide deno usage information () - -### Refactor - -- Extract regex check into a function and lower its precedence -- `&PathBuf` -> `&Path` () -- Name anonymous types in api.h () - -### Testing - -- Add quotes around bash variables () -- Update html tests - -### Build System and CI - -- Only create release for normal semver tags () -- Add useful development targets to makefile () -- Remove minimum glibc information in summary page () -- Use the native m1 mac runner () -- Add editorconfig () -- Remove symbolic links from repository () -- Move common Cargo.toml keys into the workspace and inherit them () -- Remove reviewers when drafting or closing a PR () -- Enable creating changelogs with git-cliff () -- Cache fixtures () -- Don't cancel jobs on master () -- Relax caching requirements () -- **deps**: Bump clap from 4.4.18 to 4.5.0 () -- **deps**: Bump wasmtime from v16.0.0 to v17.0.1 () -- **deps**: Bump wasmtime to v18.0.1 () -- **sanitize**: Add a timeout of 60 minutes () -- **sanitize**: Reduce timeout to 20 minutes () - -### Other - -- Document preferred language for scanner () -- Add java and tsx to corpus tests () -- Provide a CLI flag to open `log.html` () -- Some more clippy lints () -- Remove deprecated query parsing mechanism () -- Print out full compiler arguments ran when it fails () -- Deprecate C++ scanners () -- Add some documentation to the playground page () -- Update relevant rust tests () -- Clippy lints () -- Error out when multiple arguments are passed to `token`/`token.immediate` () -- Tidying -- Prefer turbofish syntax where possible () -- Use published wasmtime crates -- Cleaner cast -- Update `Cargo.lock` -- Get rid of `github_issue_test` file () -- **cli**: Use spawn to display `emcc`'s stdout and stderr () -- **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 () -- **test**: Use different languages for async tests () -- **wasm**: Use `SIDE_MODULE=2` to silence warning ()