Skip to content

Commit 80ca944

Browse files
authored
Merge branch 'main' into feat/website
Signed-off-by: drainpixie <121581793+drainpixie@users.noreply.github.com>
2 parents 6d0e481 + 505e07c commit 80ca944

24 files changed

+1257
-508
lines changed

.github/workflows/cd-publish.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
private-key: ${{ secrets.APP_KEY }}
2929

3030
- name: "[INIT] Checkout"
31-
uses: actions/checkout@v5
31+
uses: actions/checkout@v6
3232
with:
3333
fetch-depth: 0
3434
token: ${{ steps.app-token.outputs.token }}
@@ -73,7 +73,7 @@ jobs:
7373
attestations: write
7474
steps:
7575
- name: "[INIT] Checkout"
76-
uses: actions/checkout@v5
76+
uses: actions/checkout@v6
7777
with:
7878
fetch-depth: 0
7979

@@ -112,7 +112,7 @@ jobs:
112112
subject-path: 'dist/*'
113113

114114
- name: "[UPLOAD] Artifacts"
115-
uses: actions/upload-artifact@v5
115+
uses: actions/upload-artifact@v6
116116
with:
117117
name: dist-artifacts
118118
path: dist/
@@ -126,12 +126,12 @@ jobs:
126126
contents: write
127127
steps:
128128
- name: "[INIT] Checkout"
129-
uses: actions/checkout@v5
129+
uses: actions/checkout@v6
130130
with:
131131
fetch-depth: 0
132132

133133
- name: "[DOWNLOAD] Artifacts"
134-
uses: actions/download-artifact@v6
134+
uses: actions/download-artifact@v7
135135
with:
136136
name: dist-artifacts
137137
path: dist/
@@ -164,7 +164,7 @@ jobs:
164164
id-token: write
165165
steps:
166166
- name: "[DOWNLOAD] Artifacts"
167-
uses: actions/download-artifact@v6
167+
uses: actions/download-artifact@v7
168168
with:
169169
name: dist-artifacts
170170
path: dist/

.github/workflows/ci-label.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: "[INIT] Checkout repository"
14-
uses: actions/checkout@v5
14+
uses: actions/checkout@v6
1515
- name: "[EXEC] Synchronize labels"
1616
uses: crazy-max/ghaction-github-labeler@v5
1717
with:

.github/workflows/ci-lint-test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010

1111
steps:
1212
- name: "[INIT] Checkout repository"
13-
uses: actions/checkout@v5
13+
uses: actions/checkout@v6
1414

1515
- name: "[INIT] Install Nix"
1616
uses: cachix/install-nix-action@v31
@@ -39,7 +39,7 @@ jobs:
3939

4040
steps:
4141
- name: "[INIT] Checkout repository"
42-
uses: actions/checkout@v5
42+
uses: actions/checkout@v6
4343

4444
- name: "[INIT] Install Nix (Unix)"
4545
if: runner.os != 'Windows'

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Nix
22
.direnv/
33
.envrc
4-
.result/
54
.pre-commit-config.yaml
5+
result/
66

77
# Python
88
*.egg

CHANGELOG.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,58 @@
22

33
## [0.16.0](https://github.com/amperser/proselint/compare/0.14.0..v0.16.0) - 2025-11-14
44

5+
### 💥 Breaking Changes
6+
7+
This release is not backwards compatible. The following breaking changes have been made.
8+
9+
#### As a program
10+
11+
- Python 3.9 is now end-of-life, and no longer supported
12+
- Different calling conventions. See `--help` for a full list of options
13+
- `proselint --version` is now `proselint version`, for consistency with other linters
14+
- `proselint` is now `proselint check`
15+
- `proselint --dump-config` and `--dump-default-config` are now `proselint dump-config` and `dump-config --default`
16+
- `--time` and `--clean` have been removed
17+
- `--debug` is now `--verbose`
18+
- `--json` and `--compact` are now `--output-format json` and `--output-format compact`
19+
- Several checks have been removed and renamed as an implementation of [#1373](https://github.com/amperser/proselint/issues/1373).
20+
User configurations will need to be modified accordingly
21+
- `airlinese`, `bureaucratese`, `chatspeak`, `commercialese`, `corporate_speak`, and `jargon` have been recategorized under `industrial_language`.
22+
- `security`, `links`, and `cursing` (except for `cursing.nword`) have been removed
23+
- `sexism`, `lgbtq`, and `cursing.nword`have been recategorized under `social_awareness`
24+
- `consistency.spacing` has been moved to `typography.punctuation.spacing`
25+
- `typography.exclamation` and `hyperbole` have been merged and moved to `typography.punctuation.hyperbole`
26+
- `consistency.spelling` has been moved to `spelling.consistency`
27+
- `consistency` has been removed
28+
- All modules that previously contained a single check file have been flattened
29+
- `archaism.misc` is now `archaism`
30+
- `hedging.misc` is now `hedging`
31+
- `lexical_illusions.misc` is now `lexical_illusions`
32+
- `malapropisms.misc` is now `malapropisms`
33+
- `mixed_metaphors.misc.bottleneck` is now `mixed_metaphors.bottleneck`
34+
- `misc.mondegreens` is now `mondegreens`
35+
- `needless_variants.misc` is now `needless_variants`
36+
- `nonwords.misc` is now `nonwords`
37+
- `oxymorons.misc` is now `oxymorons`
38+
- `skunked_terms.misc` is now `skunked_terms`
39+
- `uncomparables.misc` is now `uncomparables`
40+
- There is a new JSON output schema for `--output-format json`. This is [documented](https://github.com/amperser/proselint/blob/v0.16.0/docs/wire-schema.md), stable, and versioned. Plugins will require updates.
41+
- The on-disk cache has been removed
42+
43+
#### As a library
44+
45+
- The cache has been removed, along with all related features in `proselint.tools`
46+
- The `score` module has been removed
47+
- The build backend is now `uv_build`
48+
- The `topics` and `context` features of `proselint.tools` have been removed
49+
- The `_check` functions of `proselint.tools` have been replaced by classes in `proselint.registry.checks.types`
50+
- Checks are now specified with `Check` in `proselint.registry.checks`
51+
- Lint runs are executed with `LintFile` and return `LintResult`, both in `proselint.tools`
52+
- The `ppm_threshold` wrapper in `proselint.tools` has been replaced by `CheckFlags` in `proselint.registry.checks`
53+
- The `max_errors` wrapper in `proselint.tools` has been removed
54+
- `load_options` in `proselint.tools` has been replaced by the `proselint.config` module
55+
- `errors_to_json` in `proselint.tools` has been replaced by `LintResult.into_dict`
56+
557
### ⛰️ Features
658

759
- *(registry)* Add strict padding for checks ([#1428](https://github.com/amperser/proselint/issues/1428)) - ([f1894bc](https://github.com/amperser/proselint/commit/f1894bccf5cb9344eca5daba64ad0b3ec8577784))

README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,22 @@ nix profile install nixpkgs#proselint
8383
`proselint` is available on:
8484

8585
- A [demo editor](http://proselint.com/write)
86-
- [Sublime Text](https://github.com/amperser/proselint/tree/main/plugins/sublime/SublimeLinter-contrib-proselint)
87-
- [Atom Editor](https://github.com/smockle/linter-proselint) (thanks to [Clay Miller](https://github.com/smockle)).
8886
- Emacs via [Flycheck](http://www.flycheck.org/) or via [Flymake](https://sr.ht/~manuel-uberti/flymake-proselint/)
8987
- Vim via [ALE](https://github.com/w0rp/ale) or [Syntastic](https://github.com/vim-syntastic/syntastic) (thanks to @lcd047, @Carreau, and [Daniel M. Capella](https://github.com/polyzen))
88+
- Neovim via [none-ls.nvim](https://github.com/nvimtools/none-ls.nvim) (none-ls has [diagnostics](https://github.com/nvimtools/none-ls.nvim/blob/main/doc/BUILTINS.md#proselint-1) and [code actions](https://github.com/nvimtools/none-ls.nvim/blob/main/doc/BUILTINS.md#proselint) for proselint)
89+
- [pre-commit](https://pre-commit.com/) (by [Andy Airey](https://github.com/aairey))
90+
- [MegaLinter](https://oxsecurity.github.io/megalinter/latest/descriptors/spell_proselint/)
91+
92+
The following plugins are also available, but they are archived or unmaintained:
93+
94+
- [Atom Editor](https://github.com/smockle/linter-proselint) (thanks to [Clay Miller](https://github.com/smockle)).
95+
- [coala](https://github.com/coala/bear-docs/blob/master/docs/ProseLintBear.rst) (thanks to the [coala Development Group](https://github.com/coala-analyzer))
96+
- [Danger](https://github.com/dbgrandi/danger-prose) (thanks to [David Grandinetti](https://github.com/dbgrandi) and [Orta Therox](https://github.com/orta))
97+
- [IntelliJ](https://github.com/kropp/intellij-proselint) (by [Victor Kropp](https://github.com/kropp))
9098
- Neovim via [null-ls](https://github.com/jose-elias-alvarez/null-ls.nvim) (null-ls has [diagnostics](https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/lua/null-ls/builtins/diagnostics/proselint.lua) and [code actions](https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/lua/null-ls/builtins/code_actions/proselint.lua) for proselint)
9199
- [Phabricator's `arc` CLI](https://github.com/google/arc-proselint) (thanks to [Jeff Verkoeyen](https://github.com/jverkoey))
92-
- [Danger](https://github.com/dbgrandi/danger-prose) (thanks to [David Grandinetti](https://github.com/dbgrandi) and [Orta Therox](https://github.com/orta))
100+
- [Sublime Text](https://github.com/amperser/proselint/tree/main/plugins/sublime/SublimeLinter-contrib-proselint)
93101
- [Visual Studio Code](https://github.com/ppeszko/vscode-proselint) (thanks to [Patryk Peszko](https://github.com/ppeszko))
94-
- [coala](https://github.com/coala-analyzer/bear-docs/blob/master/docs/ProseLintBear.rst) (thanks to the [coala Development Group](https://github.com/coala-analyzer))
95-
- [IntelliJ](https://github.com/kropp/intellij-proselint) (by [Victor Kropp](https://github.com/kropp))
96-
- [pre-commit](https://pre-commit.com/) (by [Andy Airey](https://github.com/aairey))
97-
- [Statick](https://github.com/sscpac/statick-md)
98-
- [MegaLinter](https://oxsecurity.github.io/megalinter/latest/descriptors/spell_proselint/)
99102

100103
### Usage
101104

0 commit comments

Comments
 (0)