Likely to cause new Flow errors:
- More subtyping errors will print the types that are incompatible. Some errors might have new locations.
- A
unique symbolannotation is now an error unless it is the type of aconstvariable, of areadonlyobject type or interface property, or of astatic readonlyclass field. - Flow will error on legacy variance syntax in library definition files
New Features:
- We have released
flow-parserandflow-eslintpackages that are drop-in replacement forhermes-parserandhermes-eslint. Babel docs and ESLint docs have been updated. - Object properties, class fields, methods, and the members of an interface or
declare classimported from another module, can be keyed by aunique symbol.
Notable bug fixes:
- Prevent a race that can leave server hanging
- Support TypeScript constructor objects in Flow class positions.
keyofover asymbolindex signature is nowsymbolrather thanstring.- A class can extend a value with a construct signature.
x !== undefinedno longer stops refining after a call that passesundefinedas an argument: (e.g. try-Flow)
Library Definitions:
- Well-known symbols on
Symbolare typed asunique symbol, andSymbol.metadatais now available.