diff --git a/.github/scripts/sync_version.py b/.github/scripts/sync_version.py index e7f6c36c4..8be0b3c60 100644 --- a/.github/scripts/sync_version.py +++ b/.github/scripts/sync_version.py @@ -2,13 +2,13 @@ import toml # Paths to the files -cargo_toml_path = 'ls/Cargo.toml' +cargo_toml_path = 'Cargo.toml' package_json_path = 'ls/editors/code/package.json' # Read the version from Cargo.toml with open(cargo_toml_path, 'r') as f: cargo_toml = toml.load(f) -version = cargo_toml['package']['version'] +version = cargo_toml['workspace']['package']['version'] # Read package.json with open(package_json_path, 'r') as f: diff --git a/.github/workflows/publish-vscode-extension.yaml b/.github/workflows/publish_vscode_extension.yaml similarity index 94% rename from .github/workflows/publish-vscode-extension.yaml rename to .github/workflows/publish_vscode_extension.yaml index 6ad568a39..f41a5668b 100644 --- a/.github/workflows/publish-vscode-extension.yaml +++ b/.github/workflows/publish_vscode_extension.yaml @@ -1,13 +1,11 @@ name: Build and Publish VSCode Extension on: + create: + tags: + - 'v*' + # Allows you to run this workflow manually from the Actions tab workflow_dispatch: - #push: - # branches: - # - main - # paths: - # - "ls/editors/code/**" - # - ".github/workflows/publish-vscode-extension.yaml" jobs: build-and-publish: diff --git a/Cargo.lock b/Cargo.lock index d257dfd09..28d745078 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,9 +55,9 @@ dependencies = [ [[package]] name = "annotate-snippets" -version = "0.12.12" +version = "0.12.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86cd1c51b95d71dde52bca69ed225008f6ff4c8cc825b08042aa1ef823e1980" +checksum = "74fc7650eedcb2fee505aad48491529e408f0e854c2d9f63eb86c1361b9b3f93" dependencies = [ "anstyle", "memchr", @@ -182,9 +182,9 @@ dependencies = [ [[package]] name = "assert_cmd" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85" +checksum = "9c5bcfa8749ac45dd12cb11055aeeb6b27a3895560d60d71e3c23bf979e60514" dependencies = [ "anstyle", "bstr", @@ -1322,9 +1322,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -1337,9 +1337,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -1347,15 +1347,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -1364,15 +1364,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", @@ -1381,21 +1381,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -1405,7 +1405,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -1777,15 +1776,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "indoc" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" -dependencies = [ - "rustversion", -] - [[package]] name = "inout" version = "0.1.4" @@ -1942,9 +1932,9 @@ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libm" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" @@ -2167,15 +2157,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2225,7 +2206,7 @@ dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", - "memoffset 0.6.5", + "memoffset", ] [[package]] @@ -2604,12 +2585,6 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - [[package]] name = "pkcs1" version = "0.7.5" @@ -2815,9 +2790,9 @@ dependencies = [ [[package]] name = "psl" -version = "2.1.195" +version = "2.1.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd5cbe0eeb605e2029aa8bd29e17ae797c156705dc515e4db22c3d69f7126d9" +checksum = "dcaf2b49c1b3cd056976b7ad695a2349901e8ac1777615676d9c56ffaaa9314d" dependencies = [ "psl-types", ] @@ -2853,35 +2828,32 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.26.0" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383" +checksum = "cf85e27e86080aafd5a22eae58a162e133a589551542b3e5cee4beb27e54f8e1" dependencies = [ - "indoc", "libc", - "memoffset 0.9.1", "once_cell", "portable-atomic", "pyo3-build-config", "pyo3-ffi", "pyo3-macros", - "unindent", ] [[package]] name = "pyo3-build-config" -version = "0.26.0" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f" +checksum = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7" dependencies = [ "target-lexicon", ] [[package]] name = "pyo3-ffi" -version = "0.26.0" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105" +checksum = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc" dependencies = [ "libc", "pyo3-build-config", @@ -2889,9 +2861,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.26.0" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded" +checksum = "f5d671734e9d7a43449f8480f8b38115df67bef8d21f76837fa75ee7aaa5e52e" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -2901,9 +2873,9 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.26.0" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf" +checksum = "22faaa1ce6c430a1f71658760497291065e6450d7b5dc2bcf254d49f66ee700a" dependencies = [ "heck", "proc-macro2", @@ -3417,9 +3389,9 @@ checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simd_cesu8" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e75ccd3404ef387c23d4cf34a30d49eab8f2aeb17e5ad575aacad434170daf" +checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" dependencies = [ "rustc_version", "simdutf8", @@ -4070,12 +4042,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "unindent" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" - [[package]] name = "unty" version = "0.0.4" @@ -5088,7 +5054,7 @@ dependencies = [ [[package]] name = "yara-x" -version = "1.13.0" +version = "1.14.0" dependencies = [ "aho-corasick", "annotate-snippets", @@ -5160,7 +5126,7 @@ dependencies = [ [[package]] name = "yara-x-capi" -version = "1.13.0" +version = "1.14.0" dependencies = [ "assert-call", "cbindgen", @@ -5170,7 +5136,7 @@ dependencies = [ [[package]] name = "yara-x-cli" -version = "1.13.0" +version = "1.14.0" dependencies = [ "anyhow", "ascii_tree", @@ -5210,7 +5176,7 @@ dependencies = [ [[package]] name = "yara-x-fmt" -version = "1.13.0" +version = "1.14.0" dependencies = [ "bitflags 2.11.0", "bstr", @@ -5224,7 +5190,7 @@ dependencies = [ [[package]] name = "yara-x-ls" -version = "0.0.7" +version = "1.14.0" dependencies = [ "async-lsp", "bitflags 2.11.0", @@ -5249,7 +5215,7 @@ dependencies = [ [[package]] name = "yara-x-macros" -version = "1.13.0" +version = "1.14.0" dependencies = [ "darling", "proc-macro2", @@ -5259,7 +5225,7 @@ dependencies = [ [[package]] name = "yara-x-parser" -version = "1.13.0" +version = "1.14.0" dependencies = [ "anyhow", "ascii_tree", @@ -5282,7 +5248,7 @@ dependencies = [ [[package]] name = "yara-x-proto" -version = "1.13.0" +version = "1.14.0" dependencies = [ "protobuf", "protobuf-codegen", @@ -5290,7 +5256,7 @@ dependencies = [ [[package]] name = "yara-x-proto-json" -version = "1.13.0" +version = "1.14.0" dependencies = [ "base64 0.22.1", "globwalk", @@ -5304,7 +5270,7 @@ dependencies = [ [[package]] name = "yara-x-proto-yaml" -version = "1.13.0" +version = "1.14.0" dependencies = [ "chrono", "globwalk", @@ -5318,7 +5284,7 @@ dependencies = [ [[package]] name = "yara-x-py" -version = "1.13.0" +version = "1.14.0" dependencies = [ "base64 0.22.1", "protobuf", diff --git a/Cargo.toml b/Cargo.toml index e2dfe5174..6f4aaf2aa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "1.13.0" +version = "1.14.0" authors = ["Victor M. Alvarez "] edition = "2024" homepage = "https://virustotal.github.io/yara-x" @@ -33,7 +33,7 @@ resolver = "3" [workspace.dependencies] aho-corasick = "1.1.4" -annotate-snippets = "0.12.12" +annotate-snippets = "0.12.13" anyhow = "1.0.102" hex = "0.4.3" ascii_tree = "0.1.1" @@ -81,7 +81,7 @@ pretty_assertions = "1.4.1" protobuf = "3.7.2" protobuf-codegen = "3.7.2" protobuf-parse = "3.7.2" -psl = "2.1.195" +psl = "2.1.196" quanta = "0.12.6" rayon = "1.11.0" regex = "1.12.3" @@ -103,16 +103,16 @@ walrus = "0.25.2" wasmtime = { version = "40.0.4", default-features = false } x509-parser = "0.18.0" yansi = "1.0.1" -yara-x = { path = "lib", version = "1.13.0", default-features = false } -yara-x-fmt = { path = "fmt", version = "1.13.0" } -yara-x-macros = { path = "macros", version = "1.13.0" } -yara-x-parser = { path = "parser", version = "1.13.0" } -yara-x-proto = { path = "proto", version = "1.13.0"} -yara-x-proto-yaml = { path = "proto-yaml", version = "1.13.0" } -yara-x-proto-json = { path = "proto-json", version = "1.13.0" } +yara-x = { path = "lib", version = "1.14.0", default-features = false } +yara-x-fmt = { path = "fmt", version = "1.14.0" } +yara-x-macros = { path = "macros", version = "1.14.0" } +yara-x-parser = { path = "parser", version = "1.14.0" } +yara-x-proto = { path = "proto", version = "1.14.0"} +yara-x-proto-yaml = { path = "proto-yaml", version = "1.14.0" } +yara-x-proto-json = { path = "proto-json", version = "1.14.0" } zip = "8.2.0" -simd-adler32 = "0.3.7" -simd_cesu8 = "1.1.0" +simd-adler32 = "0.3.8" +simd_cesu8 = "1.1.1" assert-call = "0.1.2" # Special profile that builds a release binary with link-time optimization. diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 226c126ec..313ad97ac 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -79,6 +79,6 @@ unicode-width = "0.2.2" wild = "2.2.1" [dev-dependencies] -assert_cmd = "2.0.17" +assert_cmd = "2.1.2" assert_fs = "1.1.3" predicates = { workspace = true } \ No newline at end of file diff --git a/ls/Cargo.toml b/ls/Cargo.toml index 7eadf2548..5ea4c5acd 100644 --- a/ls/Cargo.toml +++ b/ls/Cargo.toml @@ -7,7 +7,7 @@ edition.workspace = true license.workspace = true rust-version.workspace = true repository.workspace = true -version = "0.0.7" +version.workspace = true [lib] name = "yara_x_ls" @@ -36,7 +36,7 @@ default = ["full-compiler"] [dependencies] bitflags = { workspace = true } dashmap = { version = "6.1.0" } -futures = "0.3.31" +futures = "0.3.32" regex = { workspace = true } tracing = { version = "0.1.44", optional = true } tracing-subscriber = { version = "0.3.22", optional = true } diff --git a/parser/src/cst/mod.rs b/parser/src/cst/mod.rs index 31166cf02..42f26d283 100644 --- a/parser/src/cst/mod.rs +++ b/parser/src/cst/mod.rs @@ -776,7 +776,7 @@ impl Token { } pub fn replace(&mut self, text: &str) -> Node { - Node::new(rowan::SyntaxNode::new_root( + Node::new(rowan::SyntaxNode::new_root_mut( self.inner.replace_with(rowan::GreenToken::new( self.kind().into(), text, diff --git a/py/Cargo.toml b/py/Cargo.toml index 7f5060628..0e58624bd 100644 --- a/py/Cargo.toml +++ b/py/Cargo.toml @@ -55,7 +55,7 @@ default = [ [dependencies] base64 = { workspace = true } protobuf = { workspace = true } -pyo3 = { version = "0.26.0", features = [ +pyo3 = { version = "0.28.2", features = [ "abi3", "abi3-py38", "extension-module", @@ -69,4 +69,4 @@ yara-x-proto-json = { workspace = true } yara-x-fmt = { workspace = true } [build-dependencies] -pyo3-build-config = "0.26.0" +pyo3-build-config = "0.28.2"