|
2 | 2 |
|
3 | 3 | ## [0.16.0](https://github.com/amperser/proselint/compare/0.14.0..v0.16.0) - 2025-11-14 |
4 | 4 |
|
| 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 | + |
5 | 57 | ### ⛰️ Features |
6 | 58 |
|
7 | 59 | - *(registry)* Add strict padding for checks ([#1428](https://github.com/amperser/proselint/issues/1428)) - ([f1894bc](https://github.com/amperser/proselint/commit/f1894bccf5cb9344eca5daba64ad0b3ec8577784)) |
|
0 commit comments