From d6f1d499f7920ecc03d437d2a1e3783dfd716720 Mon Sep 17 00:00:00 2001 From: Elijah Potter Date: Mon, 8 Sep 2025 14:24:02 -0600 Subject: [PATCH] Release 0.62.0 harper-brill@0.62.0 harper-comments@0.62.0 harper-core@0.62.0 harper-html@0.62.0 harper-literate-haskell@0.62.0 harper-ls@0.62.0 harper-pos-utils@0.62.0 harper-stats@0.62.0 harper-tree-sitter@0.62.0 harper-typst@0.62.0 Generated by cargo-workspaces --- Cargo.lock | 20 +++++----- harper-brill/Cargo.toml | 4 +- harper-cli/Cargo.toml | 12 +++--- harper-comments/Cargo.toml | 8 ++-- harper-core/Cargo.toml | 4 +- harper-html/Cargo.toml | 6 +-- harper-literate-haskell/Cargo.toml | 8 ++-- harper-ls/Cargo.toml | 14 +++---- harper-pos-utils/Cargo.toml | 2 +- harper-stats/Cargo.toml | 4 +- harper-tree-sitter/Cargo.toml | 4 +- harper-typst/Cargo.toml | 4 +- harper-wasm/Cargo.toml | 4 +- packages/chrome-plugin/package.json | 2 +- packages/harper.js/package.json | 2 +- packages/obsidian-plugin/package.json | 2 +- packages/vscode-plugin/package.json | 56 ++++++++++++++++++++++++++- 17 files changed, 105 insertions(+), 51 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 846bcf2e..8029408e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2287,7 +2287,7 @@ dependencies = [ [[package]] name = "harper-brill" -version = "0.61.0" +version = "0.62.0" dependencies = [ "harper-pos-utils", "lazy_static", @@ -2319,7 +2319,7 @@ dependencies = [ [[package]] name = "harper-comments" -version = "0.61.0" +version = "0.62.0" dependencies = [ "harper-core", "harper-html", @@ -2354,7 +2354,7 @@ dependencies = [ [[package]] name = "harper-core" -version = "0.61.0" +version = "0.62.0" dependencies = [ "ammonia", "bitflags 2.9.3", @@ -2391,7 +2391,7 @@ dependencies = [ [[package]] name = "harper-html" -version = "0.61.0" +version = "0.62.0" dependencies = [ "harper-core", "harper-tree-sitter", @@ -2402,7 +2402,7 @@ dependencies = [ [[package]] name = "harper-literate-haskell" -version = "0.61.0" +version = "0.62.0" dependencies = [ "harper-comments", "harper-core", @@ -2413,7 +2413,7 @@ dependencies = [ [[package]] name = "harper-ls" -version = "0.61.0" +version = "0.62.0" dependencies = [ "anyhow", "clap", @@ -2441,7 +2441,7 @@ dependencies = [ [[package]] name = "harper-pos-utils" -version = "0.61.0" +version = "0.62.0" dependencies = [ "burn", "burn-ndarray", @@ -2460,7 +2460,7 @@ dependencies = [ [[package]] name = "harper-stats" -version = "0.61.0" +version = "0.62.0" dependencies = [ "chrono", "harper-core", @@ -2471,7 +2471,7 @@ dependencies = [ [[package]] name = "harper-tree-sitter" -version = "0.61.0" +version = "0.62.0" dependencies = [ "harper-core", "tree-sitter", @@ -2490,7 +2490,7 @@ dependencies = [ [[package]] name = "harper-typst" -version = "0.61.0" +version = "0.62.0" dependencies = [ "harper-core", "itertools 0.14.0", diff --git a/harper-brill/Cargo.toml b/harper-brill/Cargo.toml index 4caac360..8b6cc03c 100644 --- a/harper-brill/Cargo.toml +++ b/harper-brill/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "harper-brill" -version = "0.61.0" +version = "0.62.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-pos-utils = { path = "../harper-pos-utils/", version = "0.61.0" } +harper-pos-utils = { path = "../harper-pos-utils/", version = "0.62.0" } lazy_static = "1.5.0" rs-conllu = "0.3.0" serde = "1.0.219" diff --git a/harper-cli/Cargo.toml b/harper-cli/Cargo.toml index 4a4223eb..17745b0e 100644 --- a/harper-cli/Cargo.toml +++ b/harper-cli/Cargo.toml @@ -9,13 +9,13 @@ repository = "https://github.com/automattic/harper" anyhow = "1.0.99" ariadne = "0.4.1" clap = { version = "4.5.47", features = ["derive", "string"] } -harper-stats = { path = "../harper-stats", version = "0.61.0" } +harper-stats = { path = "../harper-stats", version = "0.62.0" } dirs = "6.0.0" -harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.61.0" } -harper-core = { path = "../harper-core", version = "0.61.0" } -harper-pos-utils = { path = "../harper-pos-utils", version = "0.61.0", features = ["threaded"] } -harper-comments = { path = "../harper-comments", version = "0.61.0" } -harper-typst = { path = "../harper-typst", version = "0.61.0" } +harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.62.0" } +harper-core = { path = "../harper-core", version = "0.62.0" } +harper-pos-utils = { path = "../harper-pos-utils", version = "0.62.0", features = ["threaded"] } +harper-comments = { path = "../harper-comments", version = "0.62.0" } +harper-typst = { path = "../harper-typst", version = "0.62.0" } hashbrown = "0.16.0" serde = { version = "1.0.219", features = ["derive"] } serde_json = "1.0.143" diff --git a/harper-comments/Cargo.toml b/harper-comments/Cargo.toml index 9e67b3ca..7582a957 100644 --- a/harper-comments/Cargo.toml +++ b/harper-comments/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-comments" -version = "0.61.0" +version = "0.62.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" @@ -8,9 +8,9 @@ readme = "README.md" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.61.0" } -harper-html = { path = "../harper-html", version = "0.61.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.61.0" } +harper-core = { path = "../harper-core", version = "0.62.0" } +harper-html = { path = "../harper-html", version = "0.62.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.62.0" } itertools = "0.14.0" tree-sitter = "0.25.9" tree-sitter-bash = "0.25.0" diff --git a/harper-core/Cargo.toml b/harper-core/Cargo.toml index d3f00171..26225104 100644 --- a/harper-core/Cargo.toml +++ b/harper-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-core" -version = "0.61.0" +version = "0.62.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" @@ -31,7 +31,7 @@ foldhash = "0.2.0" strum_macros = "0.27.2" strum = "0.27.2" ammonia = "4.1.1" -harper-brill = { path = "../harper-brill", version = "0.61.0" } +harper-brill = { path = "../harper-brill", version = "0.62.0" } bitflags = { version = "2.9.3", features = ["serde"] } [dev-dependencies] diff --git a/harper-html/Cargo.toml b/harper-html/Cargo.toml index b3f5b308..cd4fdd6c 100644 --- a/harper-html/Cargo.toml +++ b/harper-html/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harper-html" -version = "0.61.0" +version = "0.62.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.61.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.61.0" } +harper-core = { path = "../harper-core", version = "0.62.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.62.0" } tree-sitter-html = "0.23.2" tree-sitter = "0.25.9" diff --git a/harper-literate-haskell/Cargo.toml b/harper-literate-haskell/Cargo.toml index 3b7ccc2f..86610d84 100644 --- a/harper-literate-haskell/Cargo.toml +++ b/harper-literate-haskell/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harper-literate-haskell" -version = "0.61.0" +version = "0.62.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.61.0" } -harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.61.0" } -harper-comments = { path = "../harper-comments", version = "0.61.0" } +harper-core = { path = "../harper-core", version = "0.62.0" } +harper-tree-sitter = { path = "../harper-tree-sitter", version = "0.62.0" } +harper-comments = { path = "../harper-comments", version = "0.62.0" } itertools = "0.14.0" paste = "1.0.14" diff --git a/harper-ls/Cargo.toml b/harper-ls/Cargo.toml index d6b1490d..2c14d336 100644 --- a/harper-ls/Cargo.toml +++ b/harper-ls/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-ls" -version = "0.61.0" +version = "0.62.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" @@ -8,12 +8,12 @@ readme = "README.md" repository = "https://github.com/automattic/harper" [dependencies] -harper-stats = { path = "../harper-stats", version = "0.61.0" } -harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.61.0" } -harper-core = { path = "../harper-core", version = "0.61.0", features = ["concurrent"] } -harper-comments = { path = "../harper-comments", version = "0.61.0" } -harper-typst = { path = "../harper-typst", version = "0.61.0" } -harper-html = { path = "../harper-html", version = "0.61.0" } +harper-stats = { path = "../harper-stats", version = "0.62.0" } +harper-literate-haskell = { path = "../harper-literate-haskell", version = "0.62.0" } +harper-core = { path = "../harper-core", version = "0.62.0", features = ["concurrent"] } +harper-comments = { path = "../harper-comments", version = "0.62.0" } +harper-typst = { path = "../harper-typst", version = "0.62.0" } +harper-html = { path = "../harper-html", version = "0.62.0" } tower-lsp-server = "0.22.1" tokio = { version = "1.47.1", features = ["fs", "rt", "rt-multi-thread", "macros", "io-std", "io-util", "net"] } clap = { version = "4.5.47", features = ["derive"] } diff --git a/harper-pos-utils/Cargo.toml b/harper-pos-utils/Cargo.toml index 24159a8b..ae971a63 100644 --- a/harper-pos-utils/Cargo.toml +++ b/harper-pos-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-pos-utils" -version = "0.61.0" +version = "0.62.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" diff --git a/harper-stats/Cargo.toml b/harper-stats/Cargo.toml index b13d45f1..cd45f6ab 100644 --- a/harper-stats/Cargo.toml +++ b/harper-stats/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harper-stats" -version = "0.61.0" +version = "0.62.0" edition = "2021" description = "The language checker for developers." license = "Apache-2.0" @@ -9,7 +9,7 @@ repository = "https://github.com/automattic/harper" [dependencies] serde = { version = "1.0.217", features = ["derive"] } -harper-core = { path = "../harper-core", version = "0.61.0", features = ["concurrent"] } +harper-core = { path = "../harper-core", version = "0.62.0", features = ["concurrent"] } uuid = { version = "1.18.1", features = ["serde", "v4"] } serde_json = "1.0.143" chrono = "0.4.41" diff --git a/harper-tree-sitter/Cargo.toml b/harper-tree-sitter/Cargo.toml index 8cdae9cd..57187a2b 100644 --- a/harper-tree-sitter/Cargo.toml +++ b/harper-tree-sitter/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "harper-tree-sitter" -version = "0.61.0" +version = "0.62.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.61.0" } +harper-core = { path = "../harper-core", version = "0.62.0" } tree-sitter = "0.25.9" diff --git a/harper-typst/Cargo.toml b/harper-typst/Cargo.toml index 56481763..761a2256 100644 --- a/harper-typst/Cargo.toml +++ b/harper-typst/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "harper-typst" -version = "0.61.0" +version = "0.62.0" edition = "2024" description = "The language checker for developers." license = "Apache-2.0" repository = "https://github.com/automattic/harper" [dependencies] -harper-core = { path = "../harper-core", version = "0.61.0" } +harper-core = { path = "../harper-core", version = "0.62.0" } typst-syntax = { version = "0.13.1" } ordered-float = { version = "5.0.0", features = ["serde"] } itertools = "0.14.0" diff --git a/harper-wasm/Cargo.toml b/harper-wasm/Cargo.toml index f6433d47..7c94945f 100644 --- a/harper-wasm/Cargo.toml +++ b/harper-wasm/Cargo.toml @@ -13,10 +13,10 @@ console_error_panic_hook = "0.1.7" tracing = "0.1.41" tracing-wasm = "0.2.1" wasm-bindgen = "0.2.97" -harper-core = { path = "../harper-core", version = "0.61.0", features = ["concurrent"] } +harper-core = { path = "../harper-core", version = "0.62.0", features = ["concurrent"] } once_cell = "1.21.3" serde-wasm-bindgen = "0.6.5" serde_json = "1.0.143" serde = { version = "1.0.219", features = ["derive"] } getrandom = { version = "0.3.3", default-features = false, features = ["wasm_js"] } -harper-stats = { path = "../harper-stats", version = "0.61.0", features = ["js"] } +harper-stats = { path = "../harper-stats", version = "0.62.0", features = ["js"] } diff --git a/packages/chrome-plugin/package.json b/packages/chrome-plugin/package.json index 31a548ce..a0768a65 100644 --- a/packages/chrome-plugin/package.json +++ b/packages/chrome-plugin/package.json @@ -1,7 +1,7 @@ { "name": "chrome-plugin", "displayName": "chrome-plugin", - "version": "0.61.0", + "version": "0.62.0", "author": "no one", "description": "The private grammar checker for 21st Century English", "type": "module", diff --git a/packages/harper.js/package.json b/packages/harper.js/package.json index 32d1c475..8e5f2a1f 100644 --- a/packages/harper.js/package.json +++ b/packages/harper.js/package.json @@ -1,6 +1,6 @@ { "name": "harper.js", - "version": "0.61.0", + "version": "0.62.0", "license": "Apache-2.0", "author": "Elijah Potter", "description": "The grammar checker that respects your privacy.", diff --git a/packages/obsidian-plugin/package.json b/packages/obsidian-plugin/package.json index 8aaedd06..ac65d71b 100644 --- a/packages/obsidian-plugin/package.json +++ b/packages/obsidian-plugin/package.json @@ -1,7 +1,7 @@ { "name": "obsidian-plugin", "private": true, - "version": "0.61.0", + "version": "0.62.0", "main": "main.js", "devDependencies": { "@rollup/plugin-node-resolve": "^16.0.0", diff --git a/packages/vscode-plugin/package.json b/packages/vscode-plugin/package.json index cbe497f9..f140145c 100644 --- a/packages/vscode-plugin/package.json +++ b/packages/vscode-plugin/package.json @@ -2,7 +2,7 @@ "name": "harper", "displayName": "Harper - Grammar / Spell Checking", "description": "The grammar checker for developers", - "version": "0.61.0", + "version": "0.62.0", "private": true, "author": "Elijah Potter", "publisher": "elijah-potter", @@ -175,6 +175,12 @@ "default": true, "description": "Finds and corrects common mistakes between 'a part' and 'apart'" }, + "harper.linters.Addicting": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Replaces `addicting` with `addictive` when used as an adjective." + }, "harper.linters.AdjectiveDoubleDegree": { "scope": "resource", "type": "boolean", @@ -661,6 +667,18 @@ "default": true, "description": "The name of the word `the` is `definite article`." }, + "harper.linters.DegreesKelvin": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Corrects use of `degrees kelvin` to `kelvins`." + }, + "harper.linters.DegreesKelvinSymbol": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Corrects use of `°K` to `K`." + }, "harper.linters.Desktop": { "scope": "resource", "type": "boolean", @@ -679,6 +697,12 @@ "default": true, "description": "Looks for incorrect spacing inside the closed compound `devops`." }, + "harper.linters.DigestiveTract": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Corrects `digestive track` to `digestive tract`." + }, "harper.linters.DiscourseMarkers": { "scope": "resource", "type": "boolean", @@ -1255,6 +1279,12 @@ "default": true, "description": "Prevents the erroneous spacing in `in tact`; `intact` is the single correct word." }, + "harper.linters.InterestedIn": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Ensures the correct preposition is used with the word `interested` (e.g. `interested in`)." + }, "harper.linters.Into": { "scope": "resource", "type": "boolean", @@ -1909,12 +1939,24 @@ "default": true, "description": "Ensure proper capitalization of proper nouns." }, + "harper.linters.PunctuationClusters": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Detects consecutive or mixed punctuation marks that should be reduced to a single comma, semicolon, colon, slash, question mark, exclamation mark, period, or ampersand." + }, "harper.linters.QuantifierNeedsOf": { "scope": "resource", "type": "boolean", "default": true, "description": "Detects missing `of` after the quantifier “a couple” when it precedes a plural noun" }, + "harper.linters.QuiteQuiet": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Corrects when `quiet` is a typo for `quite` or the other way around." + }, "harper.linters.RapidFire": { "scope": "resource", "type": "boolean", @@ -2335,6 +2377,12 @@ "default": true, "description": "Corrects `unless if`." }, + "harper.linters.UpdatePlaceNames": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "This rule looks for deprecated place names and offers to update them." + }, "harper.linters.Upset": { "scope": "resource", "type": "boolean", @@ -2467,6 +2515,12 @@ "default": true, "description": "Corrects `worst-case scenario` when the hyphen is missing or `worse` is used instead of `worst`." }, + "harper.linters.WouldNeverHave": { + "scope": "resource", + "type": "boolean", + "default": true, + "description": "Corrects `would/could have never` to `never would/could have`." + }, "harper.linters.WroughtIron": { "scope": "resource", "type": "boolean",