Skip to content

Releases: streetsidesoftware/cspell

v8.4.0

19 Feb 09:47
Compare
Choose a tag to compare

Important Remarks

  • Support for ESLint flat configuration files - (#5270)

    eslint.config.js

    import cspellESLintPluginRecommended from '@cspell/eslint-plugin/recommended';
    
    export default [
        // other config imports
        cspellESLintPluginRecommended,
        // other configs
    ];

Features

feat: Support complex word lists (#5233)

feat: Support complex word lists (#5233)

fixes: #5222

The binary dictionary builder (TrieBlob) only supported word lists with 250 unique characters.

This was not an issue with the object based trie dictionaries used with the compiled dictionaries.


feat: Support ESLint flat config (#5270)

feat: Support ESLint flat config (#5270)

This feature add support for ESLint flat file configuration.

Configuration (new: eslint.config.js)

eslint.config.js using recommended.

import cspellESLintPluginRecommended from '@cspell/eslint-plugin/recommended';

export default [
    // other config imports
    cspellESLintPluginRecommended,
    // other configs
];

Or

eslint.config.js using configs.

import cspellConfigs from '@cspell/eslint-plugin/configs';

export default [
    // other config imports
    cspellConfigs.recommended,
    // other configs
];

Or

eslint.config.js using plugins

import cspellPlugin from '@cspell/eslint-plugin';

export default [
    // other config imports
    {
        plugins: { '@cspell': cspellPlugin },
        rules: {
            '@cspell/spellchecker': ['warn', {}],
        },
    },
    // other configs
];

Configuration (Legacy: .eslintrc)

Add "plugin:@cspell/recommended" to the extends section of the configuration.

.eslintrc

{
    "extends": ["plugin:@cspell/recommended"]
}

feat: Support sharing cache between windows and linux (#5267)

feat: Support sharing cache between windows and linux (#5267)

fixes: #5246

  • Defaults to the universal format instead of legacy.
  • Path separators are converted to / before being stored.

feat: Add `language` option to cspell eslint plugin (#5251)

feat: Add language option to cspell eslint plugin (#5251)

fixes: #5232


Fixes

dev: Work on supporting more complex dictionaries like Hungarian. (#5199)

dev: Work on supporting more complex dictionaries like Hungarian. (#5199)

This first PR is mostly a bit of refactoring. No real external changes are available.

Gist:

  • Performance: Reduce the amount of overhead generating the words.
  • Internally, use an array of rule indexes instead of a string that needs to be constantly manipulated to determine which rules to apply.
  • Looking into exporting a suffix tree instead of a list of words. The idea is to make it easier to convert the dictionary into a Trie.

Dictionary Updates

fix: Workflow Bot -- Update Dictionaries (main) (#5237)

fix: Workflow Bot -- Update Dictionaries (main) (#5237)

Update Dictionaries (main)

Summary

 .../snapshots/eslint/eslint/report.yaml            |  4 +---
 .../snapshots/eslint/eslint/snapshot.txt           |  3 +--
 .../snapshots/gitbucket/gitbucket/report.yaml      |  7 ++----
 .../snapshots/gitbucket/gitbucket/snapshot.txt     |  5 +----
 .../iluwatar/java-design-patterns/report.yaml      |  3 +--
 .../iluwatar/java-design-patterns/snapshot.txt     |  3 +--
 integration-tests/snapshots/mdx-js/mdx/report.yaml |  4 +---
 .../snapshots/mdx-js/mdx/snapshot.txt              |  4 +---
 .../microsoft/TypeScript-Website/report.yaml       |  3 +--
 .../microsoft/TypeScript-Website/snapshot.txt      |  3 +--
 .../snapshots/sveltejs/svelte/report.yaml          |  3 +--
 .../snapshots/sveltejs/svelte/snapshot.txt         |  3 +--
 .../snapshots/wireapp/wire-webapp/report.yaml      |  6 ++----
 .../snapshots/wireapp/wire-webapp/snapshot.txt     |  4 +---
 packages/cspell-bundled-dicts/package.json         |  6 +++---
 pnpm-lock.yaml                                     | 25 +++++++++++++---------
 16 files changed, 34 insertions(+), 52 deletions(-)

fix: Workflow Bot -- Update Dictionaries (main) (#5212)

fix: Workflow Bot -- Update Dictionaries (main) (#5212)

Update Dictionaries (main)

Summary

 integration-tests/snapshots/RustPython/RustPython/report.yaml  | 3 ++-
 integration-tests/snapshots/RustPython/RustPython/snapshot.txt | 3 ++-
 packages/cspell-bundled-dicts/package.json                     | 2 +-
 pnpm-lock.yaml                                                 | 9 +++++++--
 4 files changed, 12 insertions(+), 5 deletions(-)

fix: Workflow Bot -- Update Dictionaries (main) (#5200)

fix: Workflow Bot -- Update Dictionaries (main) (#5200)

Update Dictionaries (main)

Summary

 packages/cspell-bundled-dicts/package.json |  6 +++---
 pnpm-lock.yaml                             | 26 ++++++++++++++++++--------
 2 files changed, 21 insertions(+), 11 deletions(-)

fix: Workflow Bot -- Update Dictionaries (main) (#5182)

fix: Workflow Bot -- Update Dictionaries (main) (#5182)

Update Dictionaries (main)

Summary

 integration-tests/snapshots/aws-amplify/docs/report.yaml  | 5 +++--
 integration-tests/snapshots/aws-amplify/docs/snapshot.txt | 3 ++-
 packages/cspell-bundled-dicts/package.json                | 2 +-
 pnpm-lock.yaml                                            | 9 +++++++--
 4 files changed, 13 insertions(+), 6 deletions(-)

fix: Workflow Bot -- Update Dictionaries (main) (#5180)

fix: Workflow Bot -- Update Dictionaries (main) (#5180)

Update Dictionaries (main)

Summary

 packages/cspell-bundled-dicts/package.json |  4 ++--
 pnpm-lock.yaml                             | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

fix: Workflow Bot -- Update Dictionaries (main) (#5171)

fix: Workflow Bot -- Update Dictionaries (main) (#5171)

Update Dictionaries (main)

Summary

 packages/cspell-bundled-dicts/package.json |  4 ++--
 pnpm-lock.yaml                             | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

fix: Workflow Bot -- Update Dictionaries (main) (#5148)

fix: Workflow Bot -- Update Dictionaries (main) (#5148)

Update Dictionaries (main)

Summary

 .../MicrosoftDocs/PowerShell-Docs/report.yaml      |  3 +-
 .../MicrosoftDocs/PowerShell-Docs/snapshot.txt     |  3 +-
 .../snapshots/RustPython/RustPython/report.yaml    | 50 ++--------------------
 .../snapshots/RustPython/RustPython/snapshot.txt   | 46 +-------------------
 .../snapshots/alexiosc/megistos/report.yaml        |  4 +-
 .../snapshots/alexiosc/megistos/snapshot.txt       |  4 +-
 .../snapshots/eslint/eslint/report.yaml            |  4 +-
 .../snapshots/eslint/eslint/snapshot.txt           |  3 +-
 .../snapshots/php/php-src/report.yaml              |  3 +-
 .../snapshots/php/php-src/snapshot.txt             |  3 +-
 packages/cspell-bundled-dicts/package.json         |  4 +-
 pnpm-lock.yaml                                     | 17 +++++---
 12 files changed, 25 insertions(+), 119 deletions(-)

fix: Workflow Bot -- Update Dictionaries (main) (#5143)

fix: Workflow Bot -- Update Dictionaries (main) (#5143)

Update Dictionaries (main)

Summary

 .../snapshots/RustPython/RustPython/report.yaml    | 83 ++++++++++++++++++--
 .../snapshots/RustPython/RustPython/snapshot.txt   | 89 +++++++++++++++++++---
 .../snapshots/alexiosc/megistos/report.yaml        | 29 ++++++-
 .../snapshots/alexiosc/megistos/snapshot.txt       | 41 ++++++++--
 packages/cspell-bundled-dicts/package.json         |  2 +-
 .../cspell/src/app/__snapshots__/app.test.ts.snap  |  8 +-
 pnpm-lock.yaml                                     |  9 ++-
 7 files changed, 226 insertions(+), 35 deletions(-)

v8.3.2

02 Jan 13:11
Compare
Choose a tag to compare

Changes

Fixes

fix: cspell-tools - support excluding words (#5140)

fix: cspell-tools - support excluding words (#5140)

When compiling a word list, support excluding words based upon another word list.

This helps reduce the size of a dictionary.


v8.3.1

01 Jan 12:01
Compare
Choose a tag to compare

Changes

Fixes

fix: Improve Trace Results (#5133)

fix: Improve Trace Results (#5133)


fix: Workflow Bot -- Update Dictionaries (main) (#5131)

fix: Workflow Bot -- Update Dictionaries (main) (#5131)

Update Dictionaries (main)

Summary

 packages/cspell-bundled-dicts/package.json | 2 +-
 pnpm-lock.yaml                             | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

Dictionary Updates

fix: Workflow Bot -- Update Dictionaries (main) (#5131)

fix: Workflow Bot -- Update Dictionaries (main) (#5131)

Update Dictionaries (main)

Summary

 packages/cspell-bundled-dicts/package.json | 2 +-
 pnpm-lock.yaml                             | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

v8.3.0

30 Dec 09:13
Compare
Choose a tag to compare

Changes

Features

feat: Add untrusted mode to the config loader (#5127)

feat: Add untrusted mode to the config loader (#5127)

There are times it is necessary to prevent loading JavaScript based configuration.

It is now possible to switch the config loader into untrusted mode. In this mode, the loader will not load JavaScript files outside of the CSpell configuration.

This is to support: Workspace Trust Extension Guide | Visual Studio Code Extension API


feat: Support calling a function to get the config (#5126)

feat: Support calling a function to get the config (#5126)

With the release of v8.3.0 it will be possible to return a function from cspell.config.js files. This function will be called to get the configuration. It can return a Config Object or Promise that resolves to a Config Object.

Example:

cspell.config.mjs

import { readFile } from 'node:fs/promises';

/**
 * @returns {Promise<import('@cspell/cspell-types').CSpellUserSettings>}
 */
export default async function getConfig() {
    const words = (await readFile(new URL('requirements.txt', import.meta.url), 'utf8'))
        .replace(/[.,]|([=<>].*)/g, ' ')
        .split(/\s+/g);
    return { id: 'python-imports', words };
}

Dictionary Updates

fix: Upgrade dictionaries (cryptocurrencies) (#5128)

fix: Upgrade dictionaries (cryptocurrencies) (#5128)


v8.2.4

28 Dec 11:15
Compare
Choose a tag to compare

Changes

Fixes

fix: handle symbolic links to config files (#5122)

fix: handle symbolic links to config files (#5122)

fixes #5120


fix: API: Update DocValidator (#5115)

fix: API: Update DocValidator (#5115)

Add/expose:

  • trace - to trace a word to a dictionary
  • getCheckedTextRanges

fix: Workflow Bot -- Update Dictionaries (main) (#5114)

fix: Workflow Bot -- Update Dictionaries (main) (#5114)

Update Dictionaries (main)

Summary

 packages/cspell-bundled-dicts/package.json         | 10 ++---
 .../cspell/src/app/__snapshots__/app.test.ts.snap  |  1 +
 pnpm-lock.yaml                                     | 43 +++++++++++++---------
 3 files changed, 31 insertions(+), 23 deletions(-)

fix: Improve caching of dictionaries (#5105)

fix: Improve caching of dictionaries (#5105)

This change reduces dictionary reload for long running processes.

The dictionary loader uses a WeakMap to keep dictionaries. This is very effective for keeping the memory size down when using the command-line tool. But, it also throws out dictionaries too soon when the spell checker is used as part of a server. To address this, the dictionary loader keep the most recent 10-20 loaded dictionaries in memory.


Dictionary Updates

fix: Workflow Bot -- Update Dictionaries (main) (#5114)

fix: Workflow Bot -- Update Dictionaries (main) (#5114)

Update Dictionaries (main)

Summary

 packages/cspell-bundled-dicts/package.json         | 10 ++---
 .../cspell/src/app/__snapshots__/app.test.ts.snap  |  1 +
 pnpm-lock.yaml                                     | 43 +++++++++++++---------
 3 files changed, 31 insertions(+), 23 deletions(-)

v8.2.3

22 Dec 07:36
Compare
Choose a tag to compare

Changes

Fixes

fix: Improve performance by reducing FS requests (#5103)

fix: Improve performance by reducing FS reqeusts (#5103)


fix: correct the URI encoding (#5102)

fix: correct the URI encoding (#5102)

The uri encoding was overly aggressive.

This change only has an impact if there are special characters in the path.
Like: @$&+,=.


fix: Workflow Bot -- Update Dictionaries (main) (#5096)

fix: Workflow Bot -- Update Dictionaries (main) (#5096)

Update Dictionaries (main)

Summary

 .../Azure/azure-rest-api-specs/report.yaml         |   5 +-
 .../Azure/azure-rest-api-specs/snapshot.txt        |   3 +-
 .../snapshots/django/django/report.yaml            |   3 +-
 .../snapshots/django/django/snapshot.txt           |   3 +-
 .../snapshots/eslint/eslint/report.yaml            |  16 +--
 .../snapshots/eslint/eslint/snapshot.txt           |   4 +-
 .../iluwatar/java-design-patterns/report.yaml      |   3 +-
 .../iluwatar/java-design-patterns/snapshot.txt     |   3 +-
 .../snapshots/ktaranov/sqlserver-kit/report.yaml   |   6 +-
 .../snapshots/pagekit/pagekit/report.yaml          |   4 +-
 .../snapshots/pagekit/pagekit/snapshot.txt         |   4 +-
 .../snapshots/sveltejs/svelte/report.yaml          | 155 ++++++++++-----------
 .../snapshots/sveltejs/svelte/snapshot.txt         |   3 +-
 packages/cspell-bundled-dicts/package.json         |   8 +-
 pnpm-lock.yaml                                     |  32 ++---
 15 files changed, 117 insertions(+), 135 deletions(-)

fix: Use the VFS for all IO (#5095)

fix: Use the VFS for all IO (#5095)


Dictionary Updates

fix: Workflow Bot -- Update Dictionaries (main) (#5096)

fix: Workflow Bot -- Update Dictionaries (main) (#5096)

Update Dictionaries (main)

Summary

 .../Azure/azure-rest-api-specs/report.yaml         |   5 +-
 .../Azure/azure-rest-api-specs/snapshot.txt        |   3 +-
 .../snapshots/django/django/report.yaml            |   3 +-
 .../snapshots/django/django/snapshot.txt           |   3 +-
 .../snapshots/eslint/eslint/report.yaml            |  16 +--
 .../snapshots/eslint/eslint/snapshot.txt           |   4 +-
 .../iluwatar/java-design-patterns/report.yaml      |   3 +-
 .../iluwatar/java-design-patterns/snapshot.txt     |   3 +-
 .../snapshots/ktaranov/sqlserver-kit/report.yaml   |   6 +-
 .../snapshots/pagekit/pagekit/report.yaml          |   4 +-
 .../snapshots/pagekit/pagekit/snapshot.txt         |   4 +-
 .../snapshots/sveltejs/svelte/report.yaml          | 155 ++++++++++-----------
 .../snapshots/sveltejs/svelte/snapshot.txt         |   3 +-
 packages/cspell-bundled-dicts/package.json         |   8 +-
 pnpm-lock.yaml                                     |  32 ++---
 15 files changed, 117 insertions(+), 135 deletions(-)

v8.2.1

20 Dec 17:48
Compare
Choose a tag to compare

Changes

Fixes

fix: Export types used by the VFS (#5093)

fix: Export types used by the VFS (#5093)


v8.2.0

20 Dec 14:20
Compare
Choose a tag to compare

Changes

docs: Fix typo in cspell.schema.json (#5051)

docs: Fix typo in cspell.schema.json (#5051)

I'm not sure if this is the meaning of the sentence, but at least it alerts you to the apparent typo.


Features

feat: Support `${env:NAME}` in paths (#5078)

feat: Support ${env:NAME} in paths (#5078)

Related to #924


feat: Support loading remote configuration. (#5075)

feat: Support loading remote configuration. (#5075)

This PR is to add support for reading cspell configuration over https or a virtual file system used by VSCode.

It is not possible to load JavaScript files remotely until it is supported by NodeJS.


feat: create a redirect provider (#5071)

feat: create a redirect provider (#5071)

Make it easy to alias URLs.


feat: Use VirtualFS to read config files. (#5067)

feat: Use VirtualFS to read config files. (#5067)


Fixes

fix: Protect against missing sourceCode (#5091)

fix: Protect against missing sourceCode (#5091)

fixes: #5085


fix: Issue 4811 (#5087)

fix: Issue 4811 (#5087)

fixes #4811


fix: Add endpoints to VirtualFS (#5065)

fix: Add endpoints to VirtualFS (#5065)

Add:

  • writeFile
  • getCapabilities

fix: Workflow Bot -- Update Dictionaries (main) (#5064)

fix: Workflow Bot -- Update Dictionaries (main) (#5064)

Update Dictionaries (main)

Summary

 integration-tests/snapshots/ktaranov/sqlserver-kit/report.yaml  | 6 +-----
 integration-tests/snapshots/ktaranov/sqlserver-kit/snapshot.txt | 6 +-----
 packages/cspell-bundled-dicts/package.json                      | 2 +-
 pnpm-lock.yaml                                                  | 8 ++++----
 4 files changed, 7 insertions(+), 15 deletions(-)

fix: Add VFS API to cspel-io (#5055)

fix: Add VFS API to cspel-io (#5055)


fix: support non-file URLs when calculating GlobRoot (#5054)

fix: support non-file URLs when calculating GlobRoot (#5054)


fix: Workflow Bot -- Update Dictionaries (main) (#5049)

fix: Workflow Bot -- Update Dictionaries (main) (#5049)

Update Dictionaries (main)

Summary

 .../snapshots/alexiosc/megistos/report.yaml        |  3 +-
 .../snapshots/alexiosc/megistos/snapshot.txt       |  3 +-
 .../aspnetboilerplate/report.yaml                  |  5 ++-
 .../aspnetboilerplate/snapshot.txt                 |  5 ++-
 .../snapshots/django/django/report.yaml            | 12 +++----
 .../snapshots/django/django/snapshot.txt           |  6 ++--
 .../snapshots/eslint/eslint/report.yaml            |  6 ++--
 .../snapshots/eslint/eslint/snapshot.txt           |  3 +-
 .../googleapis/google-cloud-cpp/report.yaml        | 20 ++++--------
 .../googleapis/google-cloud-cpp/snapshot.txt       |  8 +----
 .../iluwatar/java-design-patterns/report.yaml      |  5 +--
 .../iluwatar/java-design-patterns/snapshot.txt     |  5 +--
 integration-tests/snapshots/mdx-js/mdx/report.yaml |  3 +-
 .../snapshots/mdx-js/mdx/snapshot.txt              |  3 +-
 .../snapshots/neovim/nvim-lspconfig/report.yaml    |  5 +--
 .../snapshots/neovim/nvim-lspconfig/snapshot.txt   |  5 +--
 .../snapshots/php/php-src/report.yaml              | 17 +++++-----
 .../snapshots/php/php-src/snapshot.txt             | 13 ++++----
 .../snapshots/sveltejs/svelte/report.yaml          | 38 ++++++++++------------
 .../snapshots/sveltejs/svelte/snapshot.txt         | 36 ++++++++++----------
 .../typescript-cheatsheets/react/report.yaml       |  7 ++--
 .../typescript-cheatsheets/react/snapshot.txt      |  3 +-
 packages/cspell-bundled-dicts/package.json         |  2 +-
 pnpm-lock.yaml                                     |  8 ++---
 24 files changed, 88 insertions(+), 133 deletions(-)

fix: Make sure virtual configs do not appear as source files (#5048)

fix: Make sure virtual configs do not appear as source files (#5048)


Dictionary Updates

fix: Workflow Bot -- Update Dictionaries (main) (#5064)

fix: Workflow Bot -- Update Dictionaries (main) (#5064)

Update Dictionaries (main)

Summary

 integration-tests/snapshots/ktaranov/sqlserver-kit/report.yaml  | 6 +-----
 integration-tests/snapshots/ktaranov/sqlserver-kit/snapshot.txt | 6 +-----
 packages/cspell-bundled-dicts/package.json                      | 2 +-
 pnpm-lock.yaml                                                  | 8 ++++----
 4 files changed, 7 insertions(+), 15 deletions(-)

fix: Workflow Bot -- Update Dictionaries (main) (#5049)

fix: Workflow Bot -- Update Dictionaries (main) (#5049)

Update Dictionaries (main)

Summary

 .../snapshots/alexiosc/megistos/report.yaml        |  3 +-
 .../snapshots/alexiosc/megistos/snapshot.txt       |  3 +-
 .../aspnetboilerplate/report.yaml                  |  5 ++-
 .../aspnetboilerplate/snapshot.txt                 |  5 ++-
 .../snapshots/django/django/report.yaml            | 12 +++----
 .../snapshots/django/django/snapshot.txt           |  6 ++--
 .../snapshots/eslint/eslint/report.yaml            |  6 ++--
 .../snapshots/eslint/eslint/snapshot.txt           |  3 +-
 .../googleapis/google-cloud-cpp/report.yaml        | 20 ++++--------
 .../googleapis/google-cloud-cpp/snapshot.txt       |  8 +----
 .../iluwatar/java-design-patterns/report.yaml      |  5 +--
 .../iluwatar/java-design-patterns/snapshot.txt     |  5 +--
 integration-tests/snapshots/mdx-js/mdx/report.yaml |  3 +-
 .../snapshots/mdx-js/mdx/snapshot.txt              |  3 +-
 .../snapshots/neovim/nvim-lspconfig/report.yaml    |  5 +--
 .../snapshots/neovim/nvim-lspconfig/snapshot.txt   |  5 +--
 .../snapshots/php/php-src/report.yaml              | 17 +++++-----
 .../snapshots/php/php-src/snapshot.txt             | 13 ++++----
 .../snapshots/sveltejs/svelte/report.yaml          | 38 ++++++++++------------
 .../snapshots/sveltejs/svelte/snapshot.txt         | 36 ++++++++++----------
 .../typescript-cheatsheets/react/report.yaml       |  7 ++--
 .../typescript-cheatsheets/react/snapshot.txt      |  3 +-
 packages/cspell-bundled-dicts/package.json         |  2 +-
 pnpm-lock.yaml                                     |  8 ++---
 24 files changed, 88 insertions(+), 133 deletions(-)

v8.1.3

06 Dec 13:32
Compare
Choose a tag to compare

Changes

Fixes

fix: Resolve relative imports without a leading `./` or `../`. (#5035)

fix: Resolve relative imports without a leading ./ or ../. (#5035)

So far it is not possible to reproduce.

Added tests for #5034


fix: Workflow Bot -- Update Dictionaries (main) (#5042)

fix: Workflow Bot -- Update Dictionaries (main) (#5042)

Update Dictionaries (main)

Summary

 .../snapshots/neovim/nvim-lspconfig/report.yaml          |  2 +-
 .../snapshots/neovim/nvim-lspconfig/snapshot.txt         |  2 +-
 packages/cspell-bundled-dicts/package.json               |  4 ++--
 pnpm-lock.yaml                                           | 16 ++++++++--------
 4 files changed, 12 insertions(+), 12 deletions(-)

fix: Make sure issues are reported relative to the specified root (#5043)

fix: Make sure issues are reported relative to the specified root (#5043)


Dictionary Updates

fix: Workflow Bot -- Update Dictionaries (main) (#5042)

fix: Workflow Bot -- Update Dictionaries (main) (#5042)

Update Dictionaries (main)

Summary

 .../snapshots/neovim/nvim-lspconfig/report.yaml          |  2 +-
 .../snapshots/neovim/nvim-lspconfig/snapshot.txt         |  2 +-
 packages/cspell-bundled-dicts/package.json               |  4 ++--
 pnpm-lock.yaml                                           | 16 ++++++++--------
 4 files changed, 12 insertions(+), 12 deletions(-)

v8.1.2

04 Dec 15:17
Compare
Choose a tag to compare

Changes

Fixes

fix: expose ConfigLoader API (#5032)

fix: expose ConfigLoader API (#5032)