Releases: DetachHead/basedpyright
v1.19.0 (pyright 1.1.385)
What's Changed
fixing the overly strict default typeCheckingMode
it may be an unpopular opinion, but i believe that type checkers/linters should be as strict as possible by default - to ensure that the user is made aware of all potential issues in their code, and that they are the ones responsible for making the conscious decision to reduce the strictness if they wish. i expand on my perspective in this comment.
the reality though is that it's really annoying for the user to see the same red line on both an unknown import and an unused import.
basedpyright 1.19.0 introduces a new default typeCheckingMode
called "recommended"
, which sets most of the stricter rules to be reported as a warning instead of an error. we've also added a new setting called failOnWarnings
for the CLI which is enabled by default in this mode.
i believe this addresses the concerns some users have had regarding the default settings, while still ensuring that the user is made aware of all the checks basedpyright has to offer.
you can read more about the diagnostic rulesets in the docs.
(implemented in #759)
other changes
- add new
reportImplicitAbstractClass
diagnostic rule by @DetachHead & @KotlinIsland in #774 - generate builtin docstrings for python 3.13 by @DetachHead in #768
- update documentation for editables to clarify that it's talking about build backends rather than frontends by @DetachHead in #770
- Add link to pylance issues to pylance features page by @xixixao in #777
- update upstream pyright version to 1.1.385 by @DetachHead in #782
New Contributors
Full Changelog: v1.18.4...v1.19.0
v1.18.4 (pyright 1.1.384)
What's Changed
language server
- add settings to disable each type of inlay hint by @DetachHead in #738, #740
- don't show inlay hints for positional arguments by @DetachHead in #741
- only show exact matches in import suggestion code actions by @DetachHead in #748
documentation
- Fix diagnostic rule documentation links on old versions of basedpyright by @DetachHead in #737
- various improvements and fixes to the docs by @DetachHead in #743
- fix broken links
- update some wording that implied the only way to run basedpyright in an IDE is by using the vscode extension
- add some editor-specific examples of how to configure the language server
other changes
- update upstream pyright version to 1.1.384 by @DetachHead in #758
Full Changelog: v1.18.3...v1.18.4
v1.18.3 (pyright 1.1.383)
What's Changed
- update upstream pyright version to 1.1.383 by @DetachHead in #730
- fix some bugs with the automatic baseline updating by @DetachHead in #722
Full Changelog: v1.18.2...v1.18.3
v1.18.2 (pyright 1.1.382)
What's Changed
- fix hyperlinks to the docs from diagnostics in the language server by @DetachHead in #717
- fix issue where an empty baseline file was being automatically created when running basedpyright from the CLI by @DetachHead in #718
Full Changelog: v1.18.1...v1.18.2
v1.18.1 (pyright 1.1.382)
What's Changed
- fix baseline when running in multithreaded/background analysis mode by @DetachHead in #702
- improve baseline matching by using a diff algorithm and comparing the number of lines the diagnostic covers by @DetachHead in #708
- new documentation site by @DetachHead in #699, #712, #715, #716
Full Changelog: v1.18.0...v1.18.1
v1.18.0 (pyright 1.1.382)
What's Changed
baseline support (beta) 🚀🚀🚀
have you ever wanted to adopt a new tool or enable new checks in an existing project, only to be immediately bombarded with thousands of errors you'd have to fix? baseline solves this problem by allowing you to only report errors on new or modified code. it works by generating a baseline file keeping track of the existing errors in your project so that only errors in newly written or modified code get reported.
to enable baseline, run basedpyright --writebaseline
in your terminal or run the "basedpyright: Write new errors to baseline" task in vscode. this will generate a ./basedpyright/baseline.json
for your project. you should commit this file so others working on your project can benefit from it too.
this file gets automatically updated as errors are removed over time in both the CLI and the language server. if you ever need to baseline new errors or an error that resurfaced because you've modified the same line of code it was on, just run that command again.
heavily inspired by basedmypy
more info is available in the documentation
(implemented in #608)
other changes
- Chinese translations fix by @sena-nana & @NCBM in #598
- update upstream pyright version to 1.1.382 by @DetachHead in #694
New Contributors
- @sena-nana made their first contribution in #598
Full Changelog: v1.17.5...v1.18.0
v1.17.5 (pyright 1.1.381)
What's Changed
- update upstream pyright version to 1.1.381 by @DetachHead in #676
Full Changelog: v1.17.4...v1.17.5
v1.17.4 (pyright 1.1.380)
What's Changed
- improve fuzzy matching for auto-complete suggestions by @beauxq in #656
- fix minor typo in installation.md by @oguzhanmeteozturk in #661
- remove duplicate disableBytesTypePromotions from docs by @oguzhanmeteozturk in #660
- fix most stdlib modules not being included in import suggestions by @beauxq in #655
- update upstream pyright version to 1.1.380 by @DetachHead in #664
New Contributors
- @beauxq made their first contribution in #656
- @oguzhanmeteozturk made their first contribution in #661
Full Changelog: v1.17.3...v1.17.4
v1.17.3 (pyright 1.1.379)
What's Changed
- Add Helix configuration to installation.md by @Maarrk in #645
- fix crashes when no workspace is open by @DetachHead in #634
New Contributors
Full Changelog: v1.17.2...v1.17.3
v1.17.2 (pyright 1.1.379)
What's Changed
- Add emacs lsp-pyright installation instructions to docs by @zipy124 in #627
- improve cli/lsp installation instructions by @DetachHead in #628
- Add localization helper script by @NCBM in #633
- fix "Unhandled method" crashes in vscode extension by @DetachHead in #637
- update upstream pyright version to 1.1.379 by @DetachHead in #644
New Contributors
Full Changelog: v1.17.1...v1.17.2