Skip to content

Commit

Permalink
prepare release 0.4.0 (#273)
Browse files Browse the repository at this point in the history
  • Loading branch information
JelleZijlstra committed Nov 18, 2021
1 parent 53e7965 commit be17183
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 3 deletions.
33 changes: 31 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -678,9 +678,38 @@ The code is formatted using [Black](https://github.com/psf/black).

## Changelog

Unreleased

Version 0.4.0 (November 18, 2021)

- Support and test Python 3.10. Note that new features are not necessarily
supported.
- Support PEP 655 (`typing_extensions.Required` and `NotRequired`)
- Improve detection of missing return statements
- Improve detection of suspicious boolean conditions
- The return type of calls with `*args` or `**kwargs` is now inferred
correctly. The arguments are still not typechecked.
- Fix bug affecting type compatibility between literals and generics
- Improve type narrowing on the `in`/`not in` operator
- Improve type checking for format strings
- Add the `pyanalyze.value.AnyValue` class, replacing `pyanalyze.value.UNRESOLVED_VALUE`
- Improve formatting for `Union` types in errors
- Fix bug affecting type compatibility between types and literals
- Support `total=False` in `TypedDict`
- Deal with typeshed changes in `typeshed_client` 1.1.2
- Better type checking for `list` and `tuple.__getitem__`
- Improve type narrowing on the `==`/`!=` operator
- Reduce usage of `VariableNameValue`
- Improve `TypeVar` inference procedure
- Add support for constraints on the type of `self`, including if it has a union type
- Detect undefined `enum.Enum` members
- Improve handling of `Annotated`
- Add `pyanalyze.extensions.CustomCheck`
- Add `pyanalyze.extensions.ExternalType`
- If you have code dealing with `Value` objects, note that there are several changes:
- `value is UNRESOLVED_VALUE` will no longer be reliable. Use `isinstance(value, AnyValue)` instead.
- `TypedDictValue` now stores whether each key is required or not in its `items` dictionary.
- `UnboundMethodValue` now stores a `Composite` object instead of a `Value` object, and has a new
`typevars` field.
- There is a new `KnownValueWithTypeVars` class, but it should not be relevant to most use cases.

Version 0.3.1 (August 11, 2021)

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from setuptools.extension import Extension


VERSION = "0.3.1"
VERSION = "0.4.0"
# Used in internal packaging system.
if "SANTA_PACKAGE_VERSION" in os.environ:
VERSION = "%s.%s" % (VERSION, os.environ["SANTA_PACKAGE_VERSION"])
Expand Down

0 comments on commit be17183

Please sign in to comment.