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