Skip to content

Releases: check-spelling/check-spelling

Release 0.0.22

29 Sep 00:45
Compare
Choose a tag to compare

⏩ Upgrading

  • 🏷️ Test first on a branch by changing your workflow tags/references to this release. See 🐣 Breaking Changes for how to adapt your workflow.

Going forward, if you have suppress_push_for_open_pull_request: 1 in your workflow, you should probably change it to suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }} see Suppress PR check when workflow changes.

🐣 Breaking Changes

🗜️ Reorganized cspell Dictionaries

cspell: dictionaries have been reorganized.

Background

There are 3 related configuration items:

  • dictionary_source_prefixes
    • In v0.0.21, this had: "cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/"
    • In v0.0.22, it has: "cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20230509/dictionaries/"
  • extra_dictionaries
  • check_extra_dictionaries
    • The list has changed between v0.0.21 and v0.0.22, a bunch have moved, some have split, and a bunch have been added.

Migrating

You can migrate in a couple of ways:

  • Assuming you haven't set dictionary_source_prefixes, you can temporarily clear extra_dictionaries and check_extra_dictionaries and then use one run to get a new set of recommended extra_dictionaries and then set check_extra_dictionaries (typically to '').
  • If you want to keep your current cspell extra_dictionaries, change cspell to cspell_old (or anything that isn't cspell) and set dictionary_source_prefixes to something like this: {"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/", "cspell_old": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/"}.

Note that the main branch for check-spelling/cspell-dicts will move (roughly at the time of the v0.0.22 release and again for future releases).

Dropping printf special cases

Background

check-spelling has evolved from a very simple script that included some special handling for \r/\t/\n because it was originally developed to focus on C++ and similar files. Over time, check-spelling has been used on many repositories where these patterns can appear in contexts where they aren't C style escapes, and thus it has outgrown this assumption.

Migrating

You can copy the code from:
https://github.com/check-spelling/spell-check-this/blob/b968ca32e0e5961a85c7fe3e9431f81553c3f434/.github/actions/spelling/candidate.patterns#L591-L595 into candidate.patterns and consider one of those patterns is the appropriate pattern to include in your configuration.

If you have workarounds for the old behavior, you should be able to remove them.

💔 Dropping support for broken act

Background

nektos/act is an alternate implementation of the GitHub Actions api environment. Each of check-spelling, GHA, and act have bugs and evolve at different rates (check-spelling releases on by far the slowest cycle). check-spelling had some workarounds for quirks of act from a long time ago and those interacted badly with newer GHA behaviors. In order to simplify life, support for some of those quirks has been removed.

Migrating

Install a newer version of nektos/act.

check-spelling will use components that rely on node20, support for not complaining about it was added to act in v0.2.51

🎏 Deprecations

🗣️ Dropping support for on: schedule

Support for on: schedule will be removed in a future release (it probably hasn't been working for a while, but this is an official announcement that its support will be removed).

✨ New features

📚 Dictionary changes

🐜 Bug fixes

🔧 Tuning

💅 Minor polish

  • 🔢 Fix error counts for Check filenames and paths
  • 🏃 Performance fix for workflows that don't use patterns / forbidden / candidates
  • 🔧 Matrixes generate archives that the latest apply.pl can consume (fixes regression in v0.0.21)
  • 🔧 Matrixes generate SARIF reports with distinct categories enabling them all to render properly (fixes bug in v0.0.21)
  • 👼 SARIF should work again

Full Changelog: v0.0.21...v0.0.22


Note that there are over 200 commits in this release, the above is not a complete list of features.

Release 0.0.21

28 Nov 09:23
Compare
Choose a tag to compare

⏩ Upgrading

  • 🏷️ You can just change your workflow tags/references to this release, but some features require updates to the workflow (including sarif output and binary file detection); please consider applying the workflow from check-spelling/spell-check-this@prerelease. (The link will change shortly after this release is made.)
    • You will want to copy over the with: elements you're using (into each place that uses: check-spelling/check-spelling).

🐣 Breaking Changes

🗜️ Smaller cspell dictionaries

Background

There are 3 related configuration items:

  • dictionary_source_prefixes
    • In v0.0.20, this had: "cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/"
    • In v0.0.21, it has: "cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/"
  • extra_dictionaries
  • check_extra_dictionaries
    • The list has changed between v0.0.20 and v0.0.21, a bunch have moved, some have split, and a bunch have been added.

Migrating

You can migrate in a couple of ways:

  • Assuming you haven't set dictionary_source_prefixes, you can temporarily clear extra_dictionaries and check_extra_dictionaries and then use one run to get a new set of recommended extra_dictionaries and then set check_extra_dictionaries (typically to '').
  • If you want to keep your current cspell extra_dictionaries, change cspell to cspell_old (or anything that isn't cspell) and set dictionary_source_prefixes to something like this: {"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/", "cspell_old": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/"}.

Note that the main branch for check-spelling/cspell-dicts will move (roughly at the time of the v0.0.21 release and again for future releases).

🧗 act

Some changes in how the action works require actions/download-artifact and actions/upload-artifact which aren't generally supported by act. It might be possible to use --artifact-server-path, but I don't know how to do it.

Mitigation

You can apply changes equivalent to the changes to .github/workflows/spelling.yml to your workflow. This should enable the act workflows to conspire to share data between jobs. Alternatively, you could remove post_comment: 0 from your spelling job. And that should result in a report.

The log will include a base64 encoded zip file along with instructions to decode it and a command that will let you feed the file to apply.pl to apply its suggestions.

🏛️ Behavior change: File line column notation

Log output will now use a format like .github/workflows/spelling.yml:54:9 ... 21 to report problems. This should be friendlier to automated tools. Anyone who had written their own code to parse the old format will need to adjust their tooling. I don't expect this to be a big concern.

😢 Broken

Matrix

Apply

Apply handling for Matrix probably won't do the right thing. Instead, it will probably apply the results from the last job. This is fixed in prerelease and will be included in the next release.

Workaround

Instead of using a matrix, you can manually expand the matrix content. If you're feeling adventurous, you can make a pre job and then have each dependent item reuse that prejob. If you're using a matrix because the repository is expensive, the pre job might enable you to cache the repository itself.

Alternatively, you can test using prerelease.

SARIF 📰 As of 2023-09-08T02:08:41.1937091Z

check-spelling's detection of GitHub SARIF support no longer works. As such, you can't use SARIF with this version.

Workaround

A prerelease version should have working detection soon.

✨ New features

🔧 Tuning

💅 Minor polish


Note that there are nearly 100 commits in this release, the above is not a complete list of features.

Full Changelog: v0.0.20...v0.0.21

Release 0.0.21 Alpha 2

28 Nov 08:43
Compare
Choose a tag to compare

⏩ Upgrading

  • 🏷️ You can just change your workflow tags/references to this release, but some features require updates to the workflow (including sarif output and binary file detection); please consider applying the workflow from check-spelling/spell-check-this@prerelease. (The link will change shortly after this release is made.)
    • You will want to copy over the with: elements you're using (into each place that uses: check-spelling/check-spelling).

🐣 Breaking Changes

🗜️ Smaller cspell dictionaries

Background

There are 3 related configuration items:

  • dictionary_source_prefixes
    • In v0.0.20, this had: "cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/"
    • In v0.0.21, it has: "cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/"
  • extra_dictionaries
  • check_extra_dictionaries
    • The list has changed between v0.0.20 and v0.0.21, a bunch have moved, some have split, and a bunch have been added.

Migrating

You can migrate in a couple of ways:

  • Assuming you haven't set dictionary_source_prefixes, you can temporarily clear extra_dictionaries and check_extra_dictionaries and then use one run to get a new set of recommended extra_dictionaries and then set check_extra_dictionaries (typically to '').
  • If you want to keep your current cspell extra_dictionaries, change cspell to cspell_old (or anything that isn't cspell) and set dictionary_source_prefixes to something like this: {"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/", "cspell_old": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/"}.

Note that the main branch for check-spelling/cspell-dicts will move (roughly at the time of the v0.0.21 release and again for future releases).

🧗 act

Some changes in how the action works require actions/download-artifact and actions/upload-artifact which aren't generally supported by act. It might be possible to use --artifact-server-path, but I don't know how to do it.

Mitigation

You can apply changes equivalent to the changes to .github/workflows/spelling.yml to your workflow. This should enable the act workflows to conspire to share data between jobs. Alternatively, you could remove post_comment: 0 from your spelling job. And that should result in a report.

The log will include a base64 encoded zip file along with instructions to decode it and a command that will let you feed the file to apply.pl to apply its suggestions.

🏛️ Behavior change: File line column notation

Log output will now use a format like .github/workflows/spelling.yml:54:9 ... 21 to report problems. This should be friendlier to automated tools. Anyone who had written their own code to parse the old format will need to adjust their tooling. I don't expect this to be a big concern.

✨ New features

🔧 Tuning

💅 Minor polish


Note that there are nearly 100 commits in this release, the above is not a complete list of features. I'll try to improve the list for the official release.

Full Changelog: v0.0.20...v0.0.21-alpha1

Release 0.0.21 Alpha 1

25 Nov 20:35
Compare
Choose a tag to compare

⏩ Upgrading

  • 🏷️ You can just change your workflow tags/references to this release, but some features require updates to the workflow (including sarif output and binary file detection); please consider applying the workflow from check-spelling/spell-check-this@prerelease. (The link will change shortly after this release is made.)
    • You will want to copy over the with: elements you're using (into each place that uses: check-spelling/check-spelling).

🐣 Breaking Changes

🗜️ Smaller cspell dictionaries

Background

There are 3 related configuration items:

  • dictionary_source_prefixes
    • In v0.0.20, this had: "cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/"
    • In v0.0.21, it has: "cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/"
  • extra_dictionaries
  • check_extra_dictionaries
    • The list has changed between v0.0.20 and v0.0.21, a bunch have moved, some have split, and a bunch have been added.

Migrating

You can migrate in a couple of ways:

  • Assuming you haven't set dictionary_source_prefixes, you can temporarily clear extra_dictionaries and check_extra_dictionaries and then use one run to get a new set of recommended extra_dictionaries and then set check_extra_dictionaries (typically to '').
  • If you want to keep your current cspell extra_dictionaries, rename cspell to cspell_old (or anything that isn't cspell) and set dictionary_source_prefixes to something like this: {"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/", "cspell_old": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/"}.

Note that the main branch for check-spelling/cspell-dicts will move (roughly at the time of the v0.0.21 release and again for future releases).

💔 act

Act is broken in v0.0.21-alpha1. It should work better in v0.0.21-alpha2.

✨ New features

🔧 Tuning

💅 Minor polish


Note that there are nearly 100 commits in this release, the above is not a complete list of features. I'll try to improve the list for the official release.

Full Changelog: v0.0.20...v0.0.21-alpha1

Release 0.0.20

22 Jul 00:01
Compare
Choose a tag to compare

⏩ Upgrading

  • 🏷️ You can just change your workflow tags/references to this release, but some features require updates to the workflow (including collapsing the most recent comment if the current check passes ✅ ); please consider applying the workflow from check-spelling/spell-check-this@prerelease. (The link will change shortly after this release is made.)
    • You will want to copy over the with: elements you're using (into each place that uses: check-spelling/check-spelling).
  • 🐍 If you see complaints about b'... or r'... or similar, you probably should add something like this (from https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) to patterns.txt (you can select the subset that you actually use, which may be just b, r, and f):
    # Python stringprefix / binaryprefix
    \b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)'
    

🐣 Breaking Changes

✨ New features

📝 Documentation

☁️ Features that may have less need due to other improvements

💅 Minor polish

  • 🔍 Added problem matchers for curl, git, and jq.
  • 💬 Pretty comment references
  • 🔐 Comment references work for private repositories

🐜 Bug fixes

  • 🧹 #23 Collapse older check comments
  • 🗣️ #16 allow comments in dictionary, expect, and allow files (note that various components may drop comments from expect)
  • 😊 #12 remove duplicated word (there's now code to catch this for everyone going forward)
  • 📐 Fix handling of we'd (due to changing the minimum word length from 2 to 3, we no longer was a base word, but we'd wanted to stem to it)
  • 📃 Fix some handling of case folding issues (there are still some left)

🗑️ Cleanup

  • 🐳 Docker file content has been removed (this legacy content hasn't been used for a long time) -- to run locally, use nektos/act
  • ⬢node.js trampoline has been removed (this legacy content hasn't been used for a long time) in favor of composite actions
  • 🐎 Discontinued use of parallel -- it's too inconsistent and xargs -P is sufficient and sufficiently portable to satisfy the requirements of check-spelling.

0.0.20 Alpha 5

04 Apr 02:08
Compare
Choose a tag to compare
Pre-release

⏩ Upgrading

  • 🏷️ You can just change your tag to this release, but some features require updates to the workflow (including collapsing the most recent comment if the current check passes ✅ ); please consider applying the workflow from check-spelling/spell-check-this@prerelease.
    • You will want to copy over the with: elements you're using (into each place that uses: check-spelling/check-spelling).
  • 🐍 If you see complaints about b'... or r'... or similar, you probably should add something like this (from https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) to patterns.txt (you can select the subset that you actually use, which may be just b, r, and f):
    # Python stringprefix / binaryprefix
    \b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)'
    

🐣 Breaking Changes

✨ New features

📝 Documentation

☁️ Features that may have less need due to other improvements

💅 Minor polish

  • 🔍 Added problem matchers for curl, git, and jq.
  • 💬 Pretty comment references
  • 🔐 Comment references work for private repositories

🐜 Bug fixes

  • 🧹 #23 Collapse older check comments
  • 🗣️ #16 allow comments in dictionary, expect, and allow files (note that various components may drop comments from expect)
  • 😊 #12 remove duplicated word (there's now code to catch this for everyone going forward)
  • 📐 Fix handling of we'd (due to changing the minimum word length from 2 to 3, we no longer was a base word, but we'd wanted to stem to it)
  • 📃 Fix some handling of case folding issues (there are still some left)

🗑️ Cleanup

  • 🐳 Docker file content has been removed (this legacy content hasn't been used for a long time) -- to run locally, use nektos/act
  • ⬢node.js trampoline has been removed (this legacy content hasn't been used for a long time) in favor of composite actions
  • 🐎 Discontinued use of parallel -- it's too inconsistent and xargs -P is sufficient and sufficiently portable to satisfy the requirements of check-spelling.

0.0.20 Alpha 4

30 Dec 02:10
Compare
Choose a tag to compare
Pre-release

⏩ Upgrading

  • You can just change your tag to this release, but please consider applying the workflow from check-spelling/spell-check-this@prerelease.
    • You will want to copy over the with: elements you're using (into each place that uses check-spelling/check-spelling).
  • If you see complaints about b'... or r'... or similar, you probably should add something like this (from https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) to patterns.txt (you can select the subset that you actually use, which may be just b, r, and f):
    # Python stringprefix / binaryprefix
    \b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)'
    

✨ New features

📝 Documentation

☁️ Features that may have less need due to other improvements

🐜 Bug fixes

  • #12
  • Fix handling of we'd (due to changing the minimum word length from 2 to 3, we no longer was a base word, but we'd wanted to stem to it)
  • Fix some handling of case folding issues (there are still some left)

0.0.20 Alpha 3

18 Nov 07:59
Compare
Choose a tag to compare
Pre-release

⏩ Upgrading

  • You can just change your tag to this release, but please consider applying the workflow from check-spelling/spell-check-this@prerelease.
    • You will want to copy over the with: elements you're using (into each place that uses check-spelling/check-spelling).
  • If you see complaints about b'... or r'... or similar, you probably should add something like this (from https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) to patterns.txt (you can select the subset that you actually use, which may be just b, r, and f):
    # Python stringprefix / binaryprefix
    \b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)'
    

✨ New features

📝 Documentation

☁️ Features that may have less need due to other improvements

🐜 Bug fixes

  • #12
  • Fix handling of we'd (due to changing the minimum word length from 2 to 3, we no longer was a base word, but we'd wanted to stem to it)
  • Fix some handling of case folding issues (there are still some left)

0.0.20 Alpha 2

01 Nov 15:40
Compare
Choose a tag to compare
0.0.20 Alpha 2 Pre-release
Pre-release

⏩ Upgrading

You can just change your tag to this release, but please consider applying the workflow from check-spelling/spell-check-this@prerelease.

  • You will want to copy over the with: elements you're using (into each place that uses check-spelling/check-spelling.

✨ New features

📝 Documentation

☁️ Features that may have less need due to other improvements

🐜 Bug fixes

  • #12
  • Fix handling of we'd (due to changing the minimum word length from 2 to 3, we no longer was a base word, but we'd wanted to stem to it)
  • Fix some handling of case folding issues (there are still some left)

0.0.20 Alpha 1

31 Oct 18:37
Compare
Choose a tag to compare
0.0.20 Alpha 1 Pre-release
Pre-release

⏩ Upgrading

You can just change your tag to this release, but please consider applying the workflow from check-spelling/spell-check-this@prerelease.

  • You will want to copy over the with: elements you're using (into each place that uses check-spelling/check-spelling.

✨ New features

📝 Documentation

☁️ Features that may have less need due to other improvements

🐜 Bug fixes

  • #12
  • Fix handling of we'd (due to changing the minimum word length from 2 to 3, we no longer was a base word, but we'd wanted to stem to it)
  • Fix some handling of case folding issues (there are still some left)