Skip to content

Releases: DetachHead/basedpyright

v1.36.2 (pyright 1.1.407)

23 Dec 03:37
04e32b2

Choose a tag to compare

What's Changed

  • Fix out of bounds top-level activeParameter being set when an individual signature has an activeParameter by @DetachHead in #1681
  • Add hint support to # pyright doc-level directives by @finite-state-machine in #1679
  • fix basedpyright --writebaseline not working if there are changes to write but the total error count didn't change by @DetachHead in #1685

New Contributors

Full Changelog: v1.36.1...v1.36.2

v1.36.1 (pyright 1.1.407)

11 Dec 15:00

Choose a tag to compare

What's Changed

  • fix an issue introduced in 1.36.0 that broke the browser version of basedpyright used in the playground by @DetachHead in #1675

Full Changelog: v1.36.0...v1.36.1

v1.36.0 (pyright 1.1.407)

09 Dec 14:27

Choose a tag to compare

What's Changed

  • fail in CI if baseline file needs updating and add --baselinemode cli argument by @DetachHead in #1667
  • Improve semantic tokens for Any, unknown, and unions by @KurtBoehm in #1670

Full Changelog: v1.35.0...v1.36.0

v1.35.0 (pyright 1.1.407)

03 Dec 14:33

Choose a tag to compare

What's Changed

improved completions for Literals and enums

in pyright/pylance, you only get completions for Literals that contain strings:

image

but in basedpyright, this now also works with Literals that contain other types, such as int, bool and Enum values:

image

unlike pyright/pylance, basedpyright now also supports completions for enum values:

image

this also works for other types of enums such as IntEnum and StrEnum

implemented by @KurtBoehm in #1644 & #1658

Full Changelog: v1.34.0...v1.35.0

v1.34.0 (pyright 1.1.407)

19 Nov 14:55

Choose a tag to compare

What's Changed

  • implement textDocument/implementation aka "Go to Implementations" by @beauxq in #1636 & #1649
  • Fix issues with semantic highlighting of decorators/properties by @KurtBoehm in #1632
  • document hover and "go to definition" on operators by @DetachHead in #1631
  • Chinese (Simplified) localization update (2025.11) by @NCBM in #1628
  • remove workaround for language server crash when installing basedpyright with uv, which was fixed over a year ago by @DetachHead in #1634

Full Changelog: v1.33.0...v1.34.0

v1.33.0 (pyright 1.1.407)

07 Nov 12:11

Choose a tag to compare

What's Changed

hover and "go to definition" on operators

pylance supports "go to definition" on some operators. basedpyright now supports this and takes it a step further by also showing hover information as well:

image

implemented by @KurtBoehm in #1576

docs

  • update zed docs to add back the recommendation to use the project's version of basedpyright again (i incorrectly assumed this was no longer necessary) by @DetachHead in #1602
  • Add neovim LSP server setting example using 0.11 format by @hydecnc in #1605

other changes

New Contributors

Full Changelog: v1.32.1...v1.33.0

v1.32.1 (pyright 1.1.407)

23 Oct 12:58

Choose a tag to compare

What's Changed

  • fix an accidental breaking change to dataclass_transform that was introduced in pyright 1.1.407 by @DetachHead in #1595

Full Changelog: v1.32.0...v1.32.1

v1.32.0 (pyright 1.1.407)

22 Oct 12:43

Choose a tag to compare

What's Changed

enableBasedFeatures

until now, basedpyright-exclusive type checking features have mostly come in the form of an additional diagnostic rule that users have the option to disable. but this approach limits us from making any interesting breaking changes to the type system itself.

this release introduces a new setting called enableBasedFeatures, which is disabled by default. enabling it will opt you into any changes we make that introduce breaking changes to the type system. in other words, if you're developing a library and expect your users to be using other type checkers, you should probably keep it disabled.

currently only one feature is behind this flag: the new skip_replace argument to the @dataclass_transform decorator, implemented by @decorator-factory in #1568

new diagnostic rule - reportSelfClsDefault

Pyright allows specifying a default value for self in instance methods and cls in class methods:

class Foo:
    def foo(self=1):
        ...

this is almost certainly a mistake, so this new diagnostic rule will warn against it.

also implemented by @decorator-factory in #1581

docs

other changes

  • use the name basedpyright instead of python when instantiating vscode's LanguageClient so that the logging can be configured using basedpyright.trace.server by @DetachHead in #1583
  • [zh-cn l10n] fix incorrect translation of paramNameMissing by @NCBM in #1588
  • Merge pyright 1.1.407 by @DetachHead in #1590

Full Changelog: v1.31.7...v1.32.0

v1.31.7 (pyright 1.1.406)

11 Oct 05:28

Choose a tag to compare

What's Changed

performance fixes

  • fix performance issues on large enums by @jabbera in #1535
  • quicker way to check if a class is an enum before reporting reportUnannotatedClassAttribute by @DetachHead in #1544

semantic highlighting

docs

  • update cli installation instructions to make it clear that we recommend uv by @DetachHead in #1549
  • update basedpyright badge to match the colour of the logo by @DetachHead in #1571

other changes

  • Chinese (Simplified) translations update (2025.10) by @NCBM in #1546
  • suggest import aliases from user code if explicitly re-exported by @mstmb-alan in #1539
  • report an error when attempting to subscript array.array at runtime on python <3.12 by @DetachHead in #1552
  • fix errors from new builtin string.templatelib module and generate stub docstrings for 3.14 by @DetachHead in #1551

New Contributors

Full Changelog: v1.31.6...v1.31.7

v1.31.6 (pyright 1.1.406)

01 Oct 13:13

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.31.5...v1.31.6