Skip to content

Alpha release 17

Pre-release
Pre-release
Compare
Choose a tag to compare
@jsoref jsoref released this 31 Dec 19:16
· 667 commits to prerelease since this release

Upgrade notes

When upgrading your repository, (as always,) you'll want to apply this upgrade to a branch and review and consider the output -- review the GitHub Action Log details and address any warnings before merging to your default branch.

  • Please see Breaking changes for a note about stemming.
  • You may want to switch from schedule/pull_request to pull_request_target (see New features).
    I recommend that you try this in a fork, or an unrelated fork of your GitHub repository before switching.
    If you choose to adopt this feature, please wait until after you upgrade instead of doing so in the upgrade commit.
  • This release (and previous releases) should be perfectly happy with ubuntu-latest becoming ubuntu-20.04, so you can ignore this message.

Breaking changes

I try to minimize breaks as much as possible.

You might not even consider this a breaking change.

It's indeed a necessary bug-fix, but from my perspective it changes a core element of how the system works, and will probably result in a couple of additional lines in each project's expect file. This really isn't a big deal in the scheme of things, but I feel it's important to call out.

Stemming is performed after dictionary checking instead of before

Previously words were grouped into families before being checked against the dictionary, and if the core word was in the dictionary, its related words would be dropped as well. Now only words that are in the dictionary are dropped.

This fixes:

  • 🥔 potatos ❌ -- which was previously only reported as a typo if potato was not in the corpus.

When upgrading, you may see complaints about:

  • evals (eval is in the dictionary)
  • maxed (max is in the dictionary)
  • playlists (playlist is in the dictionary)
  • XXs (XX is in the dictionary)

... or similar items. In each case, the root of the word is in the dictionary, and unfortunately the conjugation is not. In order to correct against 🥔 🥔 potatoes misspellings, the folding order had to be reversed. It's a small price to pay for correctness (🍠 ).

If you'd like these words to be treated as words, you can add them to an allow file instead of an expect file. There isn't a huge difference between the two. The main distinction is that the action tries to minimize the expect file, whereas the dictionary is just the sum of all its items (unless of course you remove items using reject).

New features

  • 🏋️ pull_request_target can be used instead of schedule
  • 📕 Specify dictionary_url / dictionary_version to replace the default dictionary
  • 📍 run locally using nektos/act
  • ✪ Improved out of the box experience: .github/actions/spelling/ can be used without any yaml configuration
  • 🏃 improved comment command for updating expect
  • 📝 improved instructions and documentation

🐜Bug fixes

  • reject should work
  • 🚪Windows/DOS line ending compatibility updating expect
  • 🤯 Avoid losing headers in comment output