diff --git a/.changeset/calm-ghosts-melt.md b/.changeset/calm-ghosts-melt.md deleted file mode 100644 index a2419638c5..0000000000 --- a/.changeset/calm-ghosts-melt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": minor ---- - -migrate NAPI front-end to WASM and ESM diff --git a/.changeset/cold-emus-arrive.md b/.changeset/cold-emus-arrive.md deleted file mode 100644 index 020b8bcc64..0000000000 --- a/.changeset/cold-emus-arrive.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": minor ---- - -add `TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed and erroneous nodes diff --git a/.changeset/cool-jobs-know.md b/.changeset/cool-jobs-know.md deleted file mode 100644 index 60faf87aa1..0000000000 --- a/.changeset/cool-jobs-know.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": patch ---- - -add support for Solidity `0.8.27`. diff --git a/.changeset/friendly-timers-beam.md b/.changeset/friendly-timers-beam.md deleted file mode 100644 index 6db8410008..0000000000 --- a/.changeset/friendly-timers-beam.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": minor ---- - -rename `Language` API to `Parser`, in preparation for introducing a multi-file compilation API. diff --git a/.changeset/lucky-fireants-design.md b/.changeset/lucky-fireants-design.md deleted file mode 100644 index 8e22911e15..0000000000 --- a/.changeset/lucky-fireants-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": patch ---- - -change `Parser::new()` constructor to `Parser::create()` static method. diff --git a/.changeset/many-forks-hope.md b/.changeset/many-forks-hope.md deleted file mode 100644 index 0ac500ee80..0000000000 --- a/.changeset/many-forks-hope.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": minor ---- - -merge `language`, `parse_error`, `parse_output` namespaces into the `parser` namespace. diff --git a/.changeset/poor-tomatoes-report.md b/.changeset/poor-tomatoes-report.md deleted file mode 100644 index 44d97b4bba..0000000000 --- a/.changeset/poor-tomatoes-report.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@nomicfoundation/slang": patch -# cSpell:ignore blobbasefee -# cSpell:ignore blobhash -# cSpell:ignore mcopy -# cSpell:ignore tload -# cSpell:ignore tstore ---- - -Fix the grammar of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`) added in `0.8.24`, as they were actually reserved in `0.8.25`. diff --git a/.changeset/silver-cherries-punch.md b/.changeset/silver-cherries-punch.md deleted file mode 100644 index 5060b4ea8e..0000000000 --- a/.changeset/silver-cherries-punch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": minor ---- - -merge `cursor`, `kinds`, `query`, and `text_index` namespaces into the `cst` namespace. diff --git a/.changeset/spotty-pigs-beg.md b/.changeset/spotty-pigs-beg.md deleted file mode 100644 index a54ed36d89..0000000000 --- a/.changeset/spotty-pigs-beg.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": minor ---- - -unify API methods on `TerminalNode` and `NonTerminalNode`, and add type assertions and guards to both types diff --git a/.changeset/stale-spoons-join.md b/.changeset/stale-spoons-join.md deleted file mode 100644 index 61c5d674d6..0000000000 --- a/.changeset/stale-spoons-join.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": minor ---- - -expose edges and edge labels on CST nodes via `Node.children()` method. This allows distinguishing between children of the same node based on their label/role in the parent, even if they have the same kind. diff --git a/.changeset/unlucky-tables-carry.md b/.changeset/unlucky-tables-carry.md deleted file mode 100644 index bb81726c55..0000000000 --- a/.changeset/unlucky-tables-carry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": minor ---- - -add `TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID that can be used in indexing/comparison at runtime. diff --git a/.changeset/wicked-jobs-rest.md b/.changeset/wicked-jobs-rest.md deleted file mode 100644 index 861406ee31..0000000000 --- a/.changeset/wicked-jobs-rest.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@nomicfoundation/slang": minor ---- - -add `TerminalKindExtensions.is_trivia()` API to distinguish between trivia nodes and other contentful nodes diff --git a/CHANGELOG.md b/CHANGELOG.md index bb3c01b3e7..ead1eb3d01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,35 @@ # changelog +## 0.18.0 + +### Minor Changes + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - migrate NAPI front-end to WASM and ESM + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed and erroneous nodes + +- [#1117](https://github.com/NomicFoundation/slang/pull/1117) [`be7bb79`](https://github.com/NomicFoundation/slang/commit/be7bb79c8f497e5283674878dacaa0fd1ec6e68a) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - rename `Language` API to `Parser`, in preparation for introducing a multi-file compilation API. + +- [#1116](https://github.com/NomicFoundation/slang/pull/1116) [`c88f9b5`](https://github.com/NomicFoundation/slang/commit/c88f9b5d50dabe111b9d1b6cb4e6b6b9e276f1da) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `language`, `parse_error`, `parse_output` namespaces into the `parser` namespace. + +- [#1115](https://github.com/NomicFoundation/slang/pull/1115) [`96df645`](https://github.com/NomicFoundation/slang/commit/96df64514ffec22ac41af38cc9f91e7b1e260a25) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `cursor`, `kinds`, `query`, and `text_index` namespaces into the `cst` namespace. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - unify API methods on `TerminalNode` and `NonTerminalNode`, and add type assertions and guards to both types + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - expose edges and edge labels on CST nodes via `Node.children()` method. This allows distinguishing between children of the same node based on their label/role in the parent, even if they have the same kind. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID that can be used in indexing/comparison at runtime. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_trivia()` API to distinguish between trivia nodes and other contentful nodes + +### Patch Changes + +- [#1096](https://github.com/NomicFoundation/slang/pull/1096) [`15c437c`](https://github.com/NomicFoundation/slang/commit/15c437c6c4902cd43e0027f750ba59e8f22f47f9) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add support for Solidity `0.8.27`. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - change `Parser::new()` constructor to `Parser::create()` static method. + +- [#1097](https://github.com/NomicFoundation/slang/pull/1097) [`e17af22`](https://github.com/NomicFoundation/slang/commit/e17af22cc4c1d373be751e525963f45ddf4dd3c3) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - Fix the grammar of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`) added in `0.8.24`, as they were actually reserved in `0.8.25`. + ## 0.17.0 ### Minor Changes diff --git a/Cargo.lock b/Cargo.lock index 66609041d2..6c24818809 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -391,7 +391,7 @@ checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "codegen_ebnf" -version = "0.17.0" +version = "0.18.0" dependencies = [ "Inflector", "codegen_language_definition", @@ -401,7 +401,7 @@ dependencies = [ [[package]] name = "codegen_language_definition" -version = "0.17.0" +version = "0.18.0" dependencies = [ "Inflector", "codegen_language_internal_macros", @@ -420,7 +420,7 @@ dependencies = [ [[package]] name = "codegen_language_internal_macros" -version = "0.17.0" +version = "0.18.0" dependencies = [ "itertools 0.13.0", "proc-macro2", @@ -430,14 +430,14 @@ dependencies = [ [[package]] name = "codegen_language_macros" -version = "0.17.0" +version = "0.18.0" dependencies = [ "codegen_language_definition", ] [[package]] name = "codegen_language_tests" -version = "0.17.0" +version = "0.18.0" dependencies = [ "codegen_language_definition", "codegen_language_macros", @@ -449,7 +449,7 @@ dependencies = [ [[package]] name = "codegen_runtime_cargo_crate" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "ariadne", @@ -466,7 +466,7 @@ dependencies = [ [[package]] name = "codegen_runtime_cargo_wasm" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "codegen_runtime_cargo_crate", @@ -480,7 +480,7 @@ dependencies = [ [[package]] name = "codegen_runtime_generator" -version = "0.17.0" +version = "0.18.0" dependencies = [ "Inflector", "anyhow", @@ -498,7 +498,7 @@ dependencies = [ [[package]] name = "codegen_runtime_npm_package" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "codegen_runtime_generator", @@ -507,7 +507,7 @@ dependencies = [ [[package]] name = "codegen_spec" -version = "0.17.0" +version = "0.18.0" dependencies = [ "Inflector", "anyhow", @@ -520,7 +520,7 @@ dependencies = [ [[package]] name = "codegen_testing" -version = "0.17.0" +version = "0.18.0" dependencies = [ "Inflector", "anyhow", @@ -1231,7 +1231,7 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" [[package]] name = "infra_cli" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "clap", @@ -1250,7 +1250,7 @@ dependencies = [ [[package]] name = "infra_utils" -version = "0.17.0" +version = "0.18.0" dependencies = [ "Inflector", "anyhow", @@ -1397,7 +1397,7 @@ dependencies = [ [[package]] name = "metaslang_bindings" -version = "0.17.0" +version = "0.18.0" dependencies = [ "metaslang_cst", "metaslang_graph_builder", @@ -1409,7 +1409,7 @@ dependencies = [ [[package]] name = "metaslang_cst" -version = "0.17.0" +version = "0.18.0" dependencies = [ "nom", "serde", @@ -1418,7 +1418,7 @@ dependencies = [ [[package]] name = "metaslang_graph_builder" -version = "0.17.0" +version = "0.18.0" dependencies = [ "env_logger", "indoc", @@ -2204,7 +2204,7 @@ dependencies = [ [[package]] name = "slang_solidity" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "ariadne", @@ -2222,7 +2222,7 @@ dependencies = [ [[package]] name = "slang_solidity_cli" -version = "0.17.0" +version = "0.18.0" dependencies = [ "clap", "semver", @@ -2232,7 +2232,7 @@ dependencies = [ [[package]] name = "slang_testlang" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "ariadne", @@ -2275,7 +2275,7 @@ dependencies = [ [[package]] name = "solidity_cargo_tests" -version = "0.17.0" +version = "0.18.0" dependencies = [ "Inflector", "anyhow", @@ -2297,7 +2297,7 @@ dependencies = [ [[package]] name = "solidity_cargo_wasm" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "codegen_runtime_generator", @@ -2312,7 +2312,7 @@ dependencies = [ [[package]] name = "solidity_language" -version = "0.17.0" +version = "0.18.0" dependencies = [ "codegen_language_definition", "codegen_language_macros", @@ -2321,7 +2321,7 @@ dependencies = [ [[package]] name = "solidity_npm_package" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "codegen_runtime_generator", @@ -2331,7 +2331,7 @@ dependencies = [ [[package]] name = "solidity_spec" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "codegen_spec", @@ -2341,7 +2341,7 @@ dependencies = [ [[package]] name = "solidity_testing_perf" -version = "0.17.0" +version = "0.18.0" dependencies = [ "iai-callgrind", "infra_utils", @@ -2352,7 +2352,7 @@ dependencies = [ [[package]] name = "solidity_testing_sanctuary" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "clap", @@ -2372,11 +2372,11 @@ dependencies = [ [[package]] name = "solidity_testing_snapshots" -version = "0.17.0" +version = "0.18.0" [[package]] name = "solidity_testing_solc" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "ariadne", @@ -2585,7 +2585,7 @@ dependencies = [ [[package]] name = "testlang_cargo_tests" -version = "0.17.0" +version = "0.18.0" dependencies = [ "metaslang_graph_builder", "semver", @@ -2594,7 +2594,7 @@ dependencies = [ [[package]] name = "testlang_cargo_wasm" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "codegen_runtime_generator", @@ -2609,7 +2609,7 @@ dependencies = [ [[package]] name = "testlang_language" -version = "0.17.0" +version = "0.18.0" dependencies = [ "codegen_language_definition", "codegen_language_macros", @@ -2618,7 +2618,7 @@ dependencies = [ [[package]] name = "testlang_npm_package" -version = "0.17.0" +version = "0.18.0" dependencies = [ "anyhow", "codegen_runtime_generator", diff --git a/Cargo.toml b/Cargo.toml index 1282b7e021..ccadb478a9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "0.17.0" +version = "0.18.0" rust-version = "1.79.0" # __RUST_STABLE_VERSION_MARKER__ (keep in sync) edition = "2021" publish = false @@ -49,42 +49,42 @@ members = [ # # Internal # -codegen_ebnf = { path = "crates/codegen/ebnf", version = "0.17.0" } -codegen_language_definition = { path = "crates/codegen/language/definition", version = "0.17.0" } -codegen_language_internal_macros = { path = "crates/codegen/language/internal_macros", version = "0.17.0" } -codegen_language_macros = { path = "crates/codegen/language/macros", version = "0.17.0" } -codegen_language_tests = { path = "crates/codegen/language/tests", version = "0.17.0" } -codegen_runtime_cargo_crate = { path = "crates/codegen/runtime/cargo/crate", version = "0.17.0" } -codegen_runtime_cargo_wasm = { path = "crates/codegen/runtime/cargo/wasm", version = "0.17.0" } -codegen_runtime_generator = { path = "crates/codegen/runtime/generator", version = "0.17.0" } -codegen_runtime_npm_package = { path = "crates/codegen/runtime/npm/package", version = "0.17.0" } -codegen_spec = { path = "crates/codegen/spec", version = "0.17.0" } -codegen_testing = { path = "crates/codegen/testing", version = "0.17.0" } +codegen_ebnf = { path = "crates/codegen/ebnf", version = "0.18.0" } +codegen_language_definition = { path = "crates/codegen/language/definition", version = "0.18.0" } +codegen_language_internal_macros = { path = "crates/codegen/language/internal_macros", version = "0.18.0" } +codegen_language_macros = { path = "crates/codegen/language/macros", version = "0.18.0" } +codegen_language_tests = { path = "crates/codegen/language/tests", version = "0.18.0" } +codegen_runtime_cargo_crate = { path = "crates/codegen/runtime/cargo/crate", version = "0.18.0" } +codegen_runtime_cargo_wasm = { path = "crates/codegen/runtime/cargo/wasm", version = "0.18.0" } +codegen_runtime_generator = { path = "crates/codegen/runtime/generator", version = "0.18.0" } +codegen_runtime_npm_package = { path = "crates/codegen/runtime/npm/package", version = "0.18.0" } +codegen_spec = { path = "crates/codegen/spec", version = "0.18.0" } +codegen_testing = { path = "crates/codegen/testing", version = "0.18.0" } -infra_cli = { path = "crates/infra/cli", version = "0.17.0" } -infra_utils = { path = "crates/infra/utils", version = "0.17.0" } +infra_cli = { path = "crates/infra/cli", version = "0.18.0" } +infra_utils = { path = "crates/infra/utils", version = "0.18.0" } -metaslang_bindings = { path = "crates/metaslang/bindings", version = "0.17.0" } -metaslang_graph_builder = { path = "crates/metaslang/graph_builder", version = "0.17.0" } -metaslang_cst = { path = "crates/metaslang/cst", version = "0.17.0" } +metaslang_bindings = { path = "crates/metaslang/bindings", version = "0.18.0" } +metaslang_graph_builder = { path = "crates/metaslang/graph_builder", version = "0.18.0" } +metaslang_cst = { path = "crates/metaslang/cst", version = "0.18.0" } -slang_solidity = { path = "crates/solidity/outputs/cargo/crate", version = "0.17.0" } -slang_solidity_cli = { path = "crates/solidity/outputs/cargo/cli", version = "0.17.0" } -solidity_cargo_tests = { path = "crates/solidity/outputs/cargo/tests", version = "0.17.0" } -solidity_cargo_wasm = { path = "crates/solidity/outputs/cargo/wasm", version = "0.17.0" } -solidity_language = { path = "crates/solidity/inputs/language", version = "0.17.0" } -solidity_npm_package = { path = "crates/solidity/outputs/npm/package", version = "0.17.0" } -solidity_spec = { path = "crates/solidity/outputs/spec", version = "0.17.0" } -solidity_testing_perf = { path = "crates/solidity/testing/perf", version = "0.17.0" } -solidity_testing_sanctuary = { path = "crates/solidity/testing/sanctuary", version = "0.17.0" } -solidity_testing_snapshots = { path = "crates/solidity/testing/snapshots", version = "0.17.0" } -solidity_testing_solc = { path = "crates/solidity/testing/solc", version = "0.17.0" } +slang_solidity = { path = "crates/solidity/outputs/cargo/crate", version = "0.18.0" } +slang_solidity_cli = { path = "crates/solidity/outputs/cargo/cli", version = "0.18.0" } +solidity_cargo_tests = { path = "crates/solidity/outputs/cargo/tests", version = "0.18.0" } +solidity_cargo_wasm = { path = "crates/solidity/outputs/cargo/wasm", version = "0.18.0" } +solidity_language = { path = "crates/solidity/inputs/language", version = "0.18.0" } +solidity_npm_package = { path = "crates/solidity/outputs/npm/package", version = "0.18.0" } +solidity_spec = { path = "crates/solidity/outputs/spec", version = "0.18.0" } +solidity_testing_perf = { path = "crates/solidity/testing/perf", version = "0.18.0" } +solidity_testing_sanctuary = { path = "crates/solidity/testing/sanctuary", version = "0.18.0" } +solidity_testing_snapshots = { path = "crates/solidity/testing/snapshots", version = "0.18.0" } +solidity_testing_solc = { path = "crates/solidity/testing/solc", version = "0.18.0" } -slang_testlang = { path = "crates/testlang/outputs/cargo/crate", version = "0.17.0" } -testlang_cargo_tests = { path = "crates/testlang/outputs/cargo/tests", version = "0.17.0" } -testlang_cargo_wasm = { path = "crates/testlang/outputs/cargo/wasm", version = "0.17.0" } -testlang_language = { path = "crates/testlang/inputs/language", version = "0.17.0" } -testlang_npm_package = { path = "crates/testlang/outputs/npm/package", version = "0.17.0" } +slang_testlang = { path = "crates/testlang/outputs/cargo/crate", version = "0.18.0" } +testlang_cargo_tests = { path = "crates/testlang/outputs/cargo/tests", version = "0.18.0" } +testlang_cargo_wasm = { path = "crates/testlang/outputs/cargo/wasm", version = "0.18.0" } +testlang_language = { path = "crates/testlang/inputs/language", version = "0.18.0" } +testlang_npm_package = { path = "crates/testlang/outputs/npm/package", version = "0.18.0" } # # External diff --git a/crates/codegen/runtime/npm/package/CHANGELOG.md b/crates/codegen/runtime/npm/package/CHANGELOG.md index bb3c01b3e7..ead1eb3d01 100644 --- a/crates/codegen/runtime/npm/package/CHANGELOG.md +++ b/crates/codegen/runtime/npm/package/CHANGELOG.md @@ -1,5 +1,35 @@ # changelog +## 0.18.0 + +### Minor Changes + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - migrate NAPI front-end to WASM and ESM + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed and erroneous nodes + +- [#1117](https://github.com/NomicFoundation/slang/pull/1117) [`be7bb79`](https://github.com/NomicFoundation/slang/commit/be7bb79c8f497e5283674878dacaa0fd1ec6e68a) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - rename `Language` API to `Parser`, in preparation for introducing a multi-file compilation API. + +- [#1116](https://github.com/NomicFoundation/slang/pull/1116) [`c88f9b5`](https://github.com/NomicFoundation/slang/commit/c88f9b5d50dabe111b9d1b6cb4e6b6b9e276f1da) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `language`, `parse_error`, `parse_output` namespaces into the `parser` namespace. + +- [#1115](https://github.com/NomicFoundation/slang/pull/1115) [`96df645`](https://github.com/NomicFoundation/slang/commit/96df64514ffec22ac41af38cc9f91e7b1e260a25) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `cursor`, `kinds`, `query`, and `text_index` namespaces into the `cst` namespace. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - unify API methods on `TerminalNode` and `NonTerminalNode`, and add type assertions and guards to both types + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - expose edges and edge labels on CST nodes via `Node.children()` method. This allows distinguishing between children of the same node based on their label/role in the parent, even if they have the same kind. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID that can be used in indexing/comparison at runtime. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_trivia()` API to distinguish between trivia nodes and other contentful nodes + +### Patch Changes + +- [#1096](https://github.com/NomicFoundation/slang/pull/1096) [`15c437c`](https://github.com/NomicFoundation/slang/commit/15c437c6c4902cd43e0027f750ba59e8f22f47f9) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add support for Solidity `0.8.27`. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - change `Parser::new()` constructor to `Parser::create()` static method. + +- [#1097](https://github.com/NomicFoundation/slang/pull/1097) [`e17af22`](https://github.com/NomicFoundation/slang/commit/e17af22cc4c1d373be751e525963f45ddf4dd3c3) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - Fix the grammar of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`) added in `0.8.24`, as they were actually reserved in `0.8.25`. + ## 0.17.0 ### Minor Changes diff --git a/crates/metaslang/cst/CHANGELOG.md b/crates/metaslang/cst/CHANGELOG.md index bb3c01b3e7..ead1eb3d01 100644 --- a/crates/metaslang/cst/CHANGELOG.md +++ b/crates/metaslang/cst/CHANGELOG.md @@ -1,5 +1,35 @@ # changelog +## 0.18.0 + +### Minor Changes + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - migrate NAPI front-end to WASM and ESM + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed and erroneous nodes + +- [#1117](https://github.com/NomicFoundation/slang/pull/1117) [`be7bb79`](https://github.com/NomicFoundation/slang/commit/be7bb79c8f497e5283674878dacaa0fd1ec6e68a) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - rename `Language` API to `Parser`, in preparation for introducing a multi-file compilation API. + +- [#1116](https://github.com/NomicFoundation/slang/pull/1116) [`c88f9b5`](https://github.com/NomicFoundation/slang/commit/c88f9b5d50dabe111b9d1b6cb4e6b6b9e276f1da) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `language`, `parse_error`, `parse_output` namespaces into the `parser` namespace. + +- [#1115](https://github.com/NomicFoundation/slang/pull/1115) [`96df645`](https://github.com/NomicFoundation/slang/commit/96df64514ffec22ac41af38cc9f91e7b1e260a25) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `cursor`, `kinds`, `query`, and `text_index` namespaces into the `cst` namespace. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - unify API methods on `TerminalNode` and `NonTerminalNode`, and add type assertions and guards to both types + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - expose edges and edge labels on CST nodes via `Node.children()` method. This allows distinguishing between children of the same node based on their label/role in the parent, even if they have the same kind. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID that can be used in indexing/comparison at runtime. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_trivia()` API to distinguish between trivia nodes and other contentful nodes + +### Patch Changes + +- [#1096](https://github.com/NomicFoundation/slang/pull/1096) [`15c437c`](https://github.com/NomicFoundation/slang/commit/15c437c6c4902cd43e0027f750ba59e8f22f47f9) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add support for Solidity `0.8.27`. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - change `Parser::new()` constructor to `Parser::create()` static method. + +- [#1097](https://github.com/NomicFoundation/slang/pull/1097) [`e17af22`](https://github.com/NomicFoundation/slang/commit/e17af22cc4c1d373be751e525963f45ddf4dd3c3) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - Fix the grammar of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`) added in `0.8.24`, as they were actually reserved in `0.8.25`. + ## 0.17.0 ### Minor Changes diff --git a/crates/metaslang/graph_builder/CHANGELOG.md b/crates/metaslang/graph_builder/CHANGELOG.md index bb3c01b3e7..ead1eb3d01 100644 --- a/crates/metaslang/graph_builder/CHANGELOG.md +++ b/crates/metaslang/graph_builder/CHANGELOG.md @@ -1,5 +1,35 @@ # changelog +## 0.18.0 + +### Minor Changes + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - migrate NAPI front-end to WASM and ESM + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed and erroneous nodes + +- [#1117](https://github.com/NomicFoundation/slang/pull/1117) [`be7bb79`](https://github.com/NomicFoundation/slang/commit/be7bb79c8f497e5283674878dacaa0fd1ec6e68a) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - rename `Language` API to `Parser`, in preparation for introducing a multi-file compilation API. + +- [#1116](https://github.com/NomicFoundation/slang/pull/1116) [`c88f9b5`](https://github.com/NomicFoundation/slang/commit/c88f9b5d50dabe111b9d1b6cb4e6b6b9e276f1da) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `language`, `parse_error`, `parse_output` namespaces into the `parser` namespace. + +- [#1115](https://github.com/NomicFoundation/slang/pull/1115) [`96df645`](https://github.com/NomicFoundation/slang/commit/96df64514ffec22ac41af38cc9f91e7b1e260a25) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `cursor`, `kinds`, `query`, and `text_index` namespaces into the `cst` namespace. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - unify API methods on `TerminalNode` and `NonTerminalNode`, and add type assertions and guards to both types + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - expose edges and edge labels on CST nodes via `Node.children()` method. This allows distinguishing between children of the same node based on their label/role in the parent, even if they have the same kind. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID that can be used in indexing/comparison at runtime. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_trivia()` API to distinguish between trivia nodes and other contentful nodes + +### Patch Changes + +- [#1096](https://github.com/NomicFoundation/slang/pull/1096) [`15c437c`](https://github.com/NomicFoundation/slang/commit/15c437c6c4902cd43e0027f750ba59e8f22f47f9) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add support for Solidity `0.8.27`. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - change `Parser::new()` constructor to `Parser::create()` static method. + +- [#1097](https://github.com/NomicFoundation/slang/pull/1097) [`e17af22`](https://github.com/NomicFoundation/slang/commit/e17af22cc4c1d373be751e525963f45ddf4dd3c3) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - Fix the grammar of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`) added in `0.8.24`, as they were actually reserved in `0.8.25`. + ## 0.17.0 ### Minor Changes diff --git a/crates/solidity/outputs/cargo/cli/CHANGELOG.md b/crates/solidity/outputs/cargo/cli/CHANGELOG.md index bb3c01b3e7..ead1eb3d01 100644 --- a/crates/solidity/outputs/cargo/cli/CHANGELOG.md +++ b/crates/solidity/outputs/cargo/cli/CHANGELOG.md @@ -1,5 +1,35 @@ # changelog +## 0.18.0 + +### Minor Changes + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - migrate NAPI front-end to WASM and ESM + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed and erroneous nodes + +- [#1117](https://github.com/NomicFoundation/slang/pull/1117) [`be7bb79`](https://github.com/NomicFoundation/slang/commit/be7bb79c8f497e5283674878dacaa0fd1ec6e68a) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - rename `Language` API to `Parser`, in preparation for introducing a multi-file compilation API. + +- [#1116](https://github.com/NomicFoundation/slang/pull/1116) [`c88f9b5`](https://github.com/NomicFoundation/slang/commit/c88f9b5d50dabe111b9d1b6cb4e6b6b9e276f1da) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `language`, `parse_error`, `parse_output` namespaces into the `parser` namespace. + +- [#1115](https://github.com/NomicFoundation/slang/pull/1115) [`96df645`](https://github.com/NomicFoundation/slang/commit/96df64514ffec22ac41af38cc9f91e7b1e260a25) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `cursor`, `kinds`, `query`, and `text_index` namespaces into the `cst` namespace. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - unify API methods on `TerminalNode` and `NonTerminalNode`, and add type assertions and guards to both types + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - expose edges and edge labels on CST nodes via `Node.children()` method. This allows distinguishing between children of the same node based on their label/role in the parent, even if they have the same kind. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID that can be used in indexing/comparison at runtime. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_trivia()` API to distinguish between trivia nodes and other contentful nodes + +### Patch Changes + +- [#1096](https://github.com/NomicFoundation/slang/pull/1096) [`15c437c`](https://github.com/NomicFoundation/slang/commit/15c437c6c4902cd43e0027f750ba59e8f22f47f9) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add support for Solidity `0.8.27`. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - change `Parser::new()` constructor to `Parser::create()` static method. + +- [#1097](https://github.com/NomicFoundation/slang/pull/1097) [`e17af22`](https://github.com/NomicFoundation/slang/commit/e17af22cc4c1d373be751e525963f45ddf4dd3c3) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - Fix the grammar of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`) added in `0.8.24`, as they were actually reserved in `0.8.25`. + ## 0.17.0 ### Minor Changes diff --git a/crates/solidity/outputs/cargo/crate/CHANGELOG.md b/crates/solidity/outputs/cargo/crate/CHANGELOG.md index bb3c01b3e7..ead1eb3d01 100644 --- a/crates/solidity/outputs/cargo/crate/CHANGELOG.md +++ b/crates/solidity/outputs/cargo/crate/CHANGELOG.md @@ -1,5 +1,35 @@ # changelog +## 0.18.0 + +### Minor Changes + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - migrate NAPI front-end to WASM and ESM + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed and erroneous nodes + +- [#1117](https://github.com/NomicFoundation/slang/pull/1117) [`be7bb79`](https://github.com/NomicFoundation/slang/commit/be7bb79c8f497e5283674878dacaa0fd1ec6e68a) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - rename `Language` API to `Parser`, in preparation for introducing a multi-file compilation API. + +- [#1116](https://github.com/NomicFoundation/slang/pull/1116) [`c88f9b5`](https://github.com/NomicFoundation/slang/commit/c88f9b5d50dabe111b9d1b6cb4e6b6b9e276f1da) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `language`, `parse_error`, `parse_output` namespaces into the `parser` namespace. + +- [#1115](https://github.com/NomicFoundation/slang/pull/1115) [`96df645`](https://github.com/NomicFoundation/slang/commit/96df64514ffec22ac41af38cc9f91e7b1e260a25) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `cursor`, `kinds`, `query`, and `text_index` namespaces into the `cst` namespace. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - unify API methods on `TerminalNode` and `NonTerminalNode`, and add type assertions and guards to both types + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - expose edges and edge labels on CST nodes via `Node.children()` method. This allows distinguishing between children of the same node based on their label/role in the parent, even if they have the same kind. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID that can be used in indexing/comparison at runtime. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_trivia()` API to distinguish between trivia nodes and other contentful nodes + +### Patch Changes + +- [#1096](https://github.com/NomicFoundation/slang/pull/1096) [`15c437c`](https://github.com/NomicFoundation/slang/commit/15c437c6c4902cd43e0027f750ba59e8f22f47f9) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add support for Solidity `0.8.27`. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - change `Parser::new()` constructor to `Parser::create()` static method. + +- [#1097](https://github.com/NomicFoundation/slang/pull/1097) [`e17af22`](https://github.com/NomicFoundation/slang/commit/e17af22cc4c1d373be751e525963f45ddf4dd3c3) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - Fix the grammar of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`) added in `0.8.24`, as they were actually reserved in `0.8.25`. + ## 0.17.0 ### Minor Changes diff --git a/crates/solidity/outputs/npm/package/CHANGELOG.md b/crates/solidity/outputs/npm/package/CHANGELOG.md index bb3c01b3e7..ead1eb3d01 100644 --- a/crates/solidity/outputs/npm/package/CHANGELOG.md +++ b/crates/solidity/outputs/npm/package/CHANGELOG.md @@ -1,5 +1,35 @@ # changelog +## 0.18.0 + +### Minor Changes + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - migrate NAPI front-end to WASM and ESM + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed and erroneous nodes + +- [#1117](https://github.com/NomicFoundation/slang/pull/1117) [`be7bb79`](https://github.com/NomicFoundation/slang/commit/be7bb79c8f497e5283674878dacaa0fd1ec6e68a) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - rename `Language` API to `Parser`, in preparation for introducing a multi-file compilation API. + +- [#1116](https://github.com/NomicFoundation/slang/pull/1116) [`c88f9b5`](https://github.com/NomicFoundation/slang/commit/c88f9b5d50dabe111b9d1b6cb4e6b6b9e276f1da) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `language`, `parse_error`, `parse_output` namespaces into the `parser` namespace. + +- [#1115](https://github.com/NomicFoundation/slang/pull/1115) [`96df645`](https://github.com/NomicFoundation/slang/commit/96df64514ffec22ac41af38cc9f91e7b1e260a25) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `cursor`, `kinds`, `query`, and `text_index` namespaces into the `cst` namespace. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - unify API methods on `TerminalNode` and `NonTerminalNode`, and add type assertions and guards to both types + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - expose edges and edge labels on CST nodes via `Node.children()` method. This allows distinguishing between children of the same node based on their label/role in the parent, even if they have the same kind. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID that can be used in indexing/comparison at runtime. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_trivia()` API to distinguish between trivia nodes and other contentful nodes + +### Patch Changes + +- [#1096](https://github.com/NomicFoundation/slang/pull/1096) [`15c437c`](https://github.com/NomicFoundation/slang/commit/15c437c6c4902cd43e0027f750ba59e8f22f47f9) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add support for Solidity `0.8.27`. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - change `Parser::new()` constructor to `Parser::create()` static method. + +- [#1097](https://github.com/NomicFoundation/slang/pull/1097) [`e17af22`](https://github.com/NomicFoundation/slang/commit/e17af22cc4c1d373be751e525963f45ddf4dd3c3) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - Fix the grammar of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`) added in `0.8.24`, as they were actually reserved in `0.8.25`. + ## 0.17.0 ### Minor Changes diff --git a/crates/solidity/outputs/npm/package/package.json b/crates/solidity/outputs/npm/package/package.json index 89cf79bdb7..c489133293 100644 --- a/crates/solidity/outputs/npm/package/package.json +++ b/crates/solidity/outputs/npm/package/package.json @@ -1,6 +1,6 @@ { "name": "@nomicfoundation/slang", - "version": "0.17.0", + "version": "0.18.0", "type": "module", "description": "A modular set of compiler APIs empowering the next generation of Solidity code analysis and developer tooling. Written in Rust and distributed in multiple languages.", "homepage": "https://nomicfoundation.github.io/slang/", diff --git a/crates/testlang/outputs/npm/package/CHANGELOG.md b/crates/testlang/outputs/npm/package/CHANGELOG.md index bb3c01b3e7..ead1eb3d01 100644 --- a/crates/testlang/outputs/npm/package/CHANGELOG.md +++ b/crates/testlang/outputs/npm/package/CHANGELOG.md @@ -1,5 +1,35 @@ # changelog +## 0.18.0 + +### Minor Changes + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - migrate NAPI front-end to WASM and ESM + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_valid()` API to distinguish correctly-parsed and erroneous nodes + +- [#1117](https://github.com/NomicFoundation/slang/pull/1117) [`be7bb79`](https://github.com/NomicFoundation/slang/commit/be7bb79c8f497e5283674878dacaa0fd1ec6e68a) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - rename `Language` API to `Parser`, in preparation for introducing a multi-file compilation API. + +- [#1116](https://github.com/NomicFoundation/slang/pull/1116) [`c88f9b5`](https://github.com/NomicFoundation/slang/commit/c88f9b5d50dabe111b9d1b6cb4e6b6b9e276f1da) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `language`, `parse_error`, `parse_output` namespaces into the `parser` namespace. + +- [#1115](https://github.com/NomicFoundation/slang/pull/1115) [`96df645`](https://github.com/NomicFoundation/slang/commit/96df64514ffec22ac41af38cc9f91e7b1e260a25) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - merge `cursor`, `kinds`, `query`, and `text_index` namespaces into the `cst` namespace. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - unify API methods on `TerminalNode` and `NonTerminalNode`, and add type assertions and guards to both types + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - expose edges and edge labels on CST nodes via `Node.children()` method. This allows distinguishing between children of the same node based on their label/role in the parent, even if they have the same kind. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalNode.id` and `Nonterminal.id` properties to get a numeric ID that can be used in indexing/comparison at runtime. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add `TerminalKindExtensions.is_trivia()` API to distinguish between trivia nodes and other contentful nodes + +### Patch Changes + +- [#1096](https://github.com/NomicFoundation/slang/pull/1096) [`15c437c`](https://github.com/NomicFoundation/slang/commit/15c437c6c4902cd43e0027f750ba59e8f22f47f9) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - add support for Solidity `0.8.27`. + +- [#1120](https://github.com/NomicFoundation/slang/pull/1120) [`25eef3e`](https://github.com/NomicFoundation/slang/commit/25eef3e8c64aa03e195aefbba0867bfa7646b821) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - change `Parser::new()` constructor to `Parser::create()` static method. + +- [#1097](https://github.com/NomicFoundation/slang/pull/1097) [`e17af22`](https://github.com/NomicFoundation/slang/commit/e17af22cc4c1d373be751e525963f45ddf4dd3c3) Thanks [@OmarTawfik](https://github.com/OmarTawfik)! - Fix the grammar of keywords (`blobbasefee`, `blobhash`, `mcopy`, `tload`, `tstore`) added in `0.8.24`, as they were actually reserved in `0.8.25`. + ## 0.17.0 ### Minor Changes diff --git a/package-lock.json b/package-lock.json index 4ea38bc3e6..e7a3c5c382 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,7 +50,7 @@ }, "crates/solidity/outputs/npm/package": { "name": "@nomicfoundation/slang", - "version": "0.17.0", + "version": "0.18.0", "license": "MIT", "dependencies": { "@bytecodealliance/preview2-shim": "0.17.0"