-
Docker based image updated for Python 3.14.3 slim trixie via PR #325 from Dependabot.
-
Cleaned up the error messaging, to address issue #328 from @akohout-hai, the error message is now more correct, but not improved in general
-
Improvements have been added to the docker entrypoint, based on a PR from @akohout-hai which fixes an issue with handling of spaces in files names and directories, see PR #322 for details. This is his first contribution to the project and I want to thank him for his contribution, which is highly appreciated.
-
Docker based image updated to Python 3.14.3 slim trixie via PR #320 from Dependabot.
- A minor security issue in the dependency: pymdown-extensions, which is used by the core component PySpelling
- Docker based image updated to Python 3.14.2 slim trixie via PR #310 from Dependabot. The version is the same, the image has had updates.
- Support for Portuguese (Portugal and Brazil) for both Hunspell and Aspell, requested by: @mdiazgoncalves via issue #298
- Docker image updated to Python 3.14.2 trixie slim Release notes for Python 3.14.2
- Via an issue #293 from @shoverbj, an update to the core component PySpelling from version 2.12.0 to version
2.12.1was made, this allows for use of large dictionaries with Aspell
-
PySpelling the core component has been updated to version 2.12.0, which introduces support for maximum available cores. The feature is described in the release notes for PySpelling 2.12.0. See the documentation for PySpelling.
-
The flag was introduced with release 2.10 of PySpelling, which was adopted in release 0.36.0 of this action.
-
Docker image updated to Python 3.14.0 trixie slim Release notes for Python 3.14.0, this originated from the PR mentioned below, however updated to Trixie from Bookworm and as always the slim variant is used
-
Bumped the requirement for cython to
3.0.11or above, addressing a build issue with lxml, located when testing the PR : #274 from @dependabot, the above update of Python -
In general the Docker build file had a few updates since the above changes required some tweaking of the Dockerfile
- Order of installation of dependencies adjusted to ensure that lxml can build correctly
- Installation of:
- build-essential
- pkg-config
- libxml2-dev
- libxslt1-dev
- zlib1g-dev
-
With version 2.11 of PySpelling a new command line option
--skip-dict-compileis introduced to PySpelling and is adopted by this action. This will skip the dictionary compiling step if the dictionary already exists. Changes to a custom dictionary will be ignored., see the release notes for PySpelling. Do see the updated documentation for details.- The feature can be enabled by setting the input parameter
skip_dict_compiletotrue, the default isfalse, meaning that the dictionary will be compiled on each run of the action. - This can save time if you have a large custom dictionary that does not change often.
- The feature can be enabled by setting the input parameter
-
Docker image updated to Python 3.13.7 bookworm slim Release notes for Python 3.13.7
- Docker image updated to Python 3.13.5 slim via PR #249 from Dependabot. Release notes for Python 3.13.5
- Docker image updated to Python 3.13.4 slim via PR #246 from Dependabot. Release notes for Python 3.13.4
-
Support for Italian as requested by: Stefan Oderbolz (@metaodi) via issue #241, the support is both for
aspellandhunspell -
Docker image updated to Python 3.13.3 slim via PR #238 from Dependabot. Release notes for Python 3.13.3
-
pymdown-extensionshave been updated to:10.15.0hopefully addressing the issue outlined in issue #233 from: Micha Hobert (@Isengo1989). @facelessuser made the release of the dependency and I have included it in this release
-
Support for
hunspellvia PR #224 from @funkillThese opens up for use of
hunspellinstead of the default:aspell. The following languages are supported:- English
- German
- Spanish
- French
- Russian
- Ukranian
And the
aspelllanguage support has been extended with:- Russian
- Ukranian
So the two spell checkers are aligned.
-
The action now emits more information on what versions of tools it is using thanks to PR #234 from @brooke-hamilton
The tools are:
aspellhunspellpyspelling
-
One step closer to full Docker image build automation via PR #218 from @shyim.
This means that the PR #108 from @sxd was closed - the contribution from @sxd was highly appreciated since it helped to understand the problem area and the solution.
PR #218 addresses issue: #193, which was a request for
arm64support. Issue #80 is still open and will not be closed until we have a fully automated build process for the Docker image.
- Docker image updated to Python 3.13.2 slim via PR #228 from Dependabot. Release notes for Python 3.13.2
- Docker image updated to Python 3.13.1 slim via PR #225 from Dependabot. Release notes for Python 3.13.1
-
Docker base image updated from
python:3.13.0-slim-bullseyetopython:3.13.0-slim-bookworm. Which should give us some time in to live, end of life take into consideration:
-
Docker image updated to Python 3.13.0 slim via PR #217 from Dependabot. Release notes for Python 3.13.0
-
Since lxml was not building I bumped to the latest release 5.3.0. In in relation to that, so I while I was at it I went through the dependencies and updated the ones possible using a PySpelling build as the baseline. The following dependencies were updated:
-
beautifulsoup4 bumped from version 4.12.2 to 4.12.3, see release notes
-
lxml bumped from version 4.9.3 to 5.3.0, see release notes
-
Markdown bumped from version 3.4.4 to 3.7, see release notes
-
pymdown-extensions bumped from version 10.4 to 10.11.2, see release notes
-
PyYAML bumped from version 6.0.1 to 6.0.2, see release notes
-
soupsieve bumped from version 2.5 to 2.6, see release notes
-
This is an attempt at addressing the conflict between using the PySpelling
--sourceparameter and thesourcesparameter in the PySpelling configuration file introduced by this action. With the recommendation of using the GitHub Action: tj-actions/changed-files, the use of the--sourceflag was adopted, but this bypasses the filtering mechanism, which can be enabled in the configuration file. The update recommendation is due to the fact that you might experience unwanted behaviour if yoursourcescontain negated file patterns. The patch enables application of the configured filter to the source parameters, so the action can be used with the--sourceparameter and thesourcesconfiguration parameter in combination.- Issue #213
- Docker image updated to Python 3.12.7 slim via PR #215 from Dependabot. Release notes for Python 3.12.7
- Docker image updated to Python 3.12.6 slim via PR #212 from Dependabot. Release notes for Python 3.12.6
- Docker image updated to Python 3.12.5 slim via PR #210 from Dependabot. Release notes for Python 3.12.5
- Minor error in the previous release, re-releasing as
0.40.0see changes from0.39.0below
-
PR from @snyk-bot #204 this updates the indirect Python dependency
zippfrom version3.15.0to3.19.1The dependency has a security flaw, please see below references.Do note
zippis not a direct dependency, but it is a dependency ofimportlib-metadata, which is a dependency ofpyspelling, which is the core component of this action.By indicating is as a direct dependency of version 3.19.1, we can ensure that the action is not vulnerable, even though the vulnerability might not directly exploitable in the context of this action.
References:
- Docker image updated to Python 3.12.4 slim via PR #202 from Dependabot. Release notes for Python 3.12.4
-
Docker image updated to Python 3.12.3 slim via PR #199 from Dependabot. Release notes for Python 3.12.3
-
Docker image updated to Python 3.12.2 slim via PR #197 from Dependabot. Release notes for Python 3.12.2
-
With version 2.10 of PySpelling the action now supports the configuration of running jobs in parallel, see the documentation for PySpelling
-
Docker image updated to Python 3.12.1 slim via PR #191 from Dependabot. Release notes for Python 3.12.1
- Docker image updated to Python 3.12.0 slim via PR #177 from Snyk. Release notes for Python 3.12.0
Bumping to Python 3.12.0 slim, introduced a number of dependency updates, not all were required, but I have decided to update quite a few, since the Docker image is rebuilt anyway.
- backrefs bumped from version 5.0.1 to 5.6.0, see release notes
- beautifulsoup4 bumped from version 4.9.3 to 4.12.2, see release notes
- lxml bumped from version 4.9.2 to 4.9.3, see release notes
- Markdown bumped from version 3.3.4 to 3.4.4, see release notes
- pymdown-extensions bumped from version 10.0.1 to 10.4, see release notes
- PyYAML bumped from version 5.4.1 to 6.0.1, see release notes
- soupsieve bumped from version 2.2.1 to 2.5, see release notes
-
Bumped the core component PySpelling to version 2.9, together with wcmatch, bumped to version 2.5, all via PR #174 bu @jonasbn
-
Docker image updated to Python 3.11.5 slim via PR #170 from Snyk. Release notes for Python 3.11.5
-
Added constraint for
requirements.txtsince one of the dependencies does not support Cython version 3.
I found two guides to fixing the problem:
- "Getting requirements to build wheel did not run successfully for sap aicore"
- "Getting requirements to build wheel did not run successfully exit code: 1"
They state somewhat the same and I have applied a fix via PR #172 now the Docker image can build again
-
An update is recommended if you are using the
output_fileparameter, since the output file handling was shielding the propagation of the status of the actual spellcheck.The issue was observed in #166 reported by @nlhomme, where the action was reporting success, even though the spellcheck was failing.
The bug information was lifted into a new issue #167 and was addressed in PR #168 by @jonasbn
- Docker image updated to Python 3.11.4 slim via PR #164 from Snyk. Release notes for Python 3.11.4
-
@dependabot raised an alert for the used dependency: pymdown-extensions. The vulnerability is labelled as CVE-2023-32309. The issue has been present in pymdown-extensions since version 1.5.0 and is patched in version 10.0.
-
Snyk has provided a patch via PR #158, which has been tested and no regressions has been observed, even with a version leap for pymdown-extensions. from version 8.2 to 10.0. The GitHub Action has been updated to use the patched version, even though there are no direct use of the vulnerable code in the action, but we do not want to be the source of a vulnerability.
-
pymdown-extensions was increased to version 10.0.1, since a bug fix was released to follow up on the security patch.
- Docker image updated to Python 3.11.3 slim via PR #152 from @dependabot. Release notes for Python 3.11.3
-
PySpelling updated from version 2.8.1 to 2.8.2, including several fixes
- FIX: Ensure that Aspell actually uses the encoding passed to it for dictionaries.
- FIX: Use a disallow list for problematic or unsupported arguments to the underlying spell checker instead of using a more restrictive allow list.
- FIX: Fix logic bug in JavaScript filter.
-
Lifted from the release notes for PySpelling
-
Docker image updated to Python 3.11.2 slim via PR #142 from @dependabot. Release notes for Python 3.11.2
-
Docker image updated to Python 3.11.1 slim via PR #139 from @dependabot. Release notes for Python 3.11.1
-
lxml bumped to version 4.9.1 from 4.9.1 to get the build to work, without jumping through too many hoops. We prefer relying on wheel instead of building from source, since
lxmlcan become quite a time sink
- Docker image updated to Python 3.10.8 slim via PR #129 from @snyk-bot. Release notes for Python 3.10.8
-
Support for default PySpelling configuration files via PR #116 from @proffalken
-
Docker image updated to Python 3.10.6 slim via PR #117 from @dependabot. Release notes for Python 3.10.6
- The core component PySpelling has been updated from version 2.7.3 to version 2.8.1, see the release history for PySpelling
-
lxmlrequirement bumped from version 4.6.5 to 4.9.1 addressing a security issue SNYK-PYTHON-LXML-2940874 / CVE-2022-2309 / CWE-476 via PR #104 from @snyk-bot -
Docker image updated to Python 3.10.5 slim from 3.10.4 slim via PR #102 from @dependabot. Release notes for Python 3.10.5
-
@riccardoporreca created issue #68 requested the ability to create an output artifact.
With release 0.24.0 this is now available.
The action configuration has to have the
output_fileparameter specified, which is a new optional parameter.name: Spellcheck Action on: workflow_dispatch: push: jobs: build: name: Spellcheck runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: rojopolis/spellcheck-github-actions@0.24.0 name: Spellcheck (no output file) with: source_files: README.md CHANGELOG.md - uses: rojopolis/spellcheck-github-actions@0.24.0 name: Spellcheck (with output file) with: source_files: README.md CHANGELOG.md task_name: Markdown output_file: spellcheck-output.txt - uses: actions/upload-artifact@v3 name: Archive spellcheck output output with: name: Spellcheck artifact path: spellcheck-output.txt
This introduces the use of the
upload-artifact@v3action.The generated artifact can be downloaded via GitHub UI/API, please consult the documentation for details and pointers.
Thanks to @riccardoporreca for his suggestion.
- Minor issue in release 0.23.1, the action was not adjusted to the latest release
- Addressing issue #84 via PR #90 from @jonasbn. With the introduction of use of optional quotes, do note the limitations outlined in the documentation - thanks to @xsaero00 for the bug report
-
Support for the French language. Support requested by @gcattan via issue #87
-
Docker image updated to Python 3.10.4 slim via PR #86 from @dependabot. Release notes for Python 3.10.4
-
Docker image updated to Python 3.10.3 slim via PR #85 from @dependabot. Release notes for Python 3.10.3
-
Testing the new Spanish support feature more thoroughly, demonstrated that the Docker build process was broken and only English worked
- Support for the Spanish language. Support requested and implemented by @electrocucaracha via PR #81
- Release 0.21.0 was build and uploaded from the wrong architecture. This release addressed this issue (#79), thanks @chrispat for reporting
- Docker image updated to Python 3.10.2 slim via PR #78 from @dependabot
- Made the version specified in the
action.ymlfollow the version indicated in the repository. Apparently we where pointing tolatest, which is good when and if we are backwards compatible and yes we are still in alpha expressed semantically by the version numbers starting with0as in0.20.0. This would however allow for us to release breaking changes, without breaking a lot of workflows, which would fetch the latest Docker image, which can be either unstable or a major release
- Requirement lxml updated from 4.6.3 to 4.6.5 via PR #71 from @snyk-bot. This addresses a security, cross-site scripting vulnerability (XSS) in the lxml library, see SNYK-PYTHON-LXML-2316995
From the release notes for lxml 4.6.5:
A vulnerability (GHSL-2021-1038) in the HTML cleaner allowed sneaking script content through SVG images. A vulnerability (GHSL-2021-1037) in the HTML cleaner allowed sneaking script content through CSS imports and other crafted constructs.
- Docker image updated to Python 3.10.1 slim via PR #70 from @dependabot
- This release introduces an enhancement or new feature if your will, implemented by @riccardoporreca via PR #67. The enhancement takes advantage of the ability to make annotations on actions, so you can from the action overview see an annotation indicating the error by the emitted error message from the action
- Docker image updated to Python 3.9.7 slim via PR #62 and again to Python 3.10.0 slim via PR #64 both from dependabot
Experienced an issue with the new multi-stage Docker build, where aspell disappears.
This release implements a hack to make use that it is present, by reinstalling it :-/
REF: PR #56 addressing issue #55
The issue in the Docker build is patched, but is still present, see issue #57
WARNING! This release is not working, please use release 0.16.0
Issue #53 describes an issue with ignoring Markdown regions with code fences. This was an issue in pyspelling, which is the core component in this action. Luckily @facelessuser, the maintainer of pyspelling was to fix it. So the requirement for pyspelling was bumped from 2.6.1 to 2.7.3
Thanks to @supernovae and @facelessuser
This however demonstrated that several of the dependencies was not up to date.
The following dependencies have been updated:
- backrefs updated from 4.5 to 5.0.1
- bracex updated from 2.0.1 to 2.1.1
- lxml updated from 4.6.0 to 4.6.3
- Markdown updated from 3.3.1 to 3.3.4
- pymdown-extensions updated from 8.1 to 8.2
- pyspelling updated from 2.6.1 to 2.7.3
- PyYAML updated from 5.3.1 to 5.4.1
- six updated from 1.15.0 to 1.16.0
- soupsieve updated from 2.0.1 to 2.2.1
- wcmatch updated from 7.1 to 8.2
Additionally some work has been done in regard to the Docker build, so it is possible to specify new languages, using multi-stage build, see PR #39 addressing issue: #13
Please see the Wiki for details.
Thanks to @aSemy and @edumco
-
Thanks to @PeterPetrik for correction to command line example in README
-
Docker image updated to Python 3.9.6 slim via PR #51 from @dependabot
- Docker image updated to Python 3.9.5 slim via PR #48 from @dependabot
- Docker image updated to Python 3.9.4 slim via PR #41 from @dependabot
- Docker image updated to Python 3.9.2 slim via PR #38 from @dependabot
- Added support for German spelling:
lang: de, including: Swiss and Austrian dictionaries addressing issue #35 via PR #36. This is experimental and will need further investigation. Aspell support 53 different dictionaries and supporting them all increases the Docker image size significantly so dynamic loading of dictionaries has to be investigated further, without increasing build time to a point where a pre-built Docker image is not longer feasible
- Added capability to specify a set of files in the action, bypassing the filename pattern specified in the configuration. Implementation from PR #34 from Matt Calvert, @miff2000
- Minor correction to the documentation, a significant change did not make it into 0.9.0, , PR #32 from Pavel Skipenes, @pavelskipenes
- Added new ability specify an alternative path to a configuration file, PR #31 from Pavel Skipenes, @pavelskipenes
- Added support for extensions for Python's Markdown, namely the
pymdown-extensionsintroducing thesuperfencesextension, which can be used to address certain issue, which cannot be handled by handling of codefences by the Python Markdown implementation out of the box
- Docker image updated to Python 3.9.1 slim via PR #27 from @dependabot
-
Docker image updated to Python 3.9.0 slim
-
Python requirement
lxmlupdated to version 4.6.0, with wheel supporting Python 3.9.0 -
Requirement
pyspellingupdated to version 2.6.1 from 2.6.0 -
Python requirement
backrefsupdated to version 4.5 -
Python requirement
beautifulsoup4updated to version 4.9.3 -
Python requirement
bracexupdated to version 2.0.1 -
Python requirement
html5libupdated to version 1.1 -
Python requirement
Markdownupdated to version 3.3.1 -
Python requirement
wcmatchupdated to version 7.1
Contribution to documentation by Michael Flaxman, @mflaxman
-
The action now uses a DockerHub served image, which mean that the Docker image does not have to be built at every invocation
-
The documentation has been updated and the use of the
wordlist.txtis no longer default. You have to introduce it yourself into your configuration, meaning that everything still works as expected for existing configurations -
A minor bug introduced in 0.4.0 in the handling of the
wordlist.txtwas addressed
-
Introduced support for:
ymlextension in addition toyamlfor YAML configuration files. Please refer to the documentation for details -
Introduced support for hidden configuration files, so prefixing the spellcheck configuration file to make it less intrusive in your repository is now supported patch from @sbates130272, PR: #7. Please refer to the documentation for details
-
The default configuration has been limited to Markdown, please see additional examples in the
examples/directory -
Updates to documentation, still work in progress
-
Improved support to local development using Docker
-
Release 0.3.0 (below) never made it to the GitHub Marketplace, this might be due to a missing
action.yml
-
Addressing issue with
wordlist.txtfile handling -
This release never made it to the GitHub Marketplace, this might be due to changes in GitHub requirements, please see following release 0.4.0
- Introducing support for custom configurations and dictionaries
- Initial release by @rojopolis