NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3376 most downloaded on npm
JavaScript parser written in OCaml. Produces ESTree AST
Last release 3 days ago
24 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
434 releases · first in 2015
Publishing of flow-bin v0.125.0 failed to include the binaries. Oops!
Publishing of flow-bin v0.125.0 failed to include the binaries. Oops!
Likely to cause new Flow errors:
Likely to cause new Flow errors:
any.New features:
Notable bug fixes:
empty in some circumstances.Misc:
$FlowIssue and $FlowExpectedError as default suppression comments.type-at-pos and friends.Parser:
type keyword in type aliases.Library definitions:
thisArg parameter for array callback functions (e.g. map, reduce) to mixed.Array.flat.One column per quarter.
Use textEdit in identifier completion item responses over the LSP, to avoid possible behavior differences with different LSP clients.
Library Definitions:
StorageEvent overloads.Misc:
textEdit in identifier completion item responses over the LSP, to avoid possible behavior differences with different LSP clients.Parser:
flow-dev-tools:
update-suppressions subcommand.Added support for the babel react jsx transform with the react.runtime flowconfig option. When set to automatic the transform auto-imports jsx (the re
New Features:
react.runtime flowconfig
option. When set to automatic the transform auto-imports jsx (the replacement for
createElement) under a fresh name (unique of all existing names in the source).
When set to classic it will continue transpiling jsx to React.createElement.Notable bug fixes:
$Exact<T|U> as $Exact<T>|$Exact<U>. Before, when we checked
against this type we would treat it like $Exact<T> & $Exact<U>, instead.Misc:
$Exports<'m'> will now lookup module 'm' directly in builtins, instead of the
environment.Parser:
This diff is necessary to allow React to make breaking changes to react-dom without force-pinning Flow users to the latest version of react-dom.
Likely to cause new Flow errors:
Moved react-dom modules out of built-in libdefs. They are now available on flow-typed.
To install the libdefs, run flow-typed install --flow-version=0.122.0 react-dom@16.13.0
This diff is necessary to allow React to make breaking changes to react-dom without force-pinning Flow users to the latest version of react-dom.
Fixed an unsoundness in union and intersection spreads
Improved object spread-related error messages, which may cause suppressed errors to become unsuppressed because they moved to better locations
Improved Editor Integration:
f<tab> might complete foo(aParam), which is problematic if you don't want to call the function. Now it just completes foo. These snippets are further obviated by signature help, which appears when you type (.export { HERE } from ...)Misc:
HTMLUnknownElement and support for custom elements to document.createElement (thanks @YevhenKap!)--saved-state-no-fallback flag so that Flow exits when saved state is not foundexperimental.types_first now implies experimental.well_formed_exportsParser:
Made several improvements to errors:
Highlights:
Misc:
add-comments script to add comments on JSXText.flow files without @flowLib defs:
url.parse function (thanks @chicoxyzzy)console methods (thanks @goodmind)Element.hasAttributes()string index to NamedNodeMapElement.querySelector() and Element.querySelectorAll() overloadsPromise.allSettled()Likely to cause new Flow errors:
Likely to cause new Flow errors:
$Shape types now carry more information about the locations of errors that involve them, which may invalidate old suppressions.any-typed values are now refined by primitive typeof checks (example).New Features:
"Did You Mean?" IDE feature that suggests corrections to your code as you type. For example, if you write foo.bar on an object foo that doesn’t have a field named bar but does have a field named baz, the quick fix will apply that suggestion.
declare can now be used on class fields. When Flow implemented the class fields proposal, uninitialized class fields (e.g. class C { foo }) were not allowed, so we used that syntax for type-only declarations (class C { foo: string }). Since then, they now are initialized to undefined and Babel 8 will start to leave them. To maintain existing behavior, change uninitialized fields to use the declare keyword, signalling to Babel that they should be stripped (class C { declare foo: string }).
Notable bug fixes:
type-at-pos and signatureHelpMisc:
Notification to have read-only fieldsFixed a bug that would cause Flow to crash on some rechecks.
Notable bug fixes:
Implemented LSP textDocument/signatureHelp, which shows parameter hints when you are within an argument list in a call or new expression.
New Features:
new expression.Misc:
minimal_merge flagParser:
new expressions optionalAutocomplete for nullable objects will now suggest completions with optional chaining syntax
New Features:
unsafe-addition, which warns if either operand of an addition is null or voidBreaking change:
flow autocomplete --json no longer includes location information. This might affect some IDE integrations which have not yet updated to Flow's LSP server. The LSP integration is unaffected.Misc:
dir field to the Document libdef (Thanks, @lukeapage!)Improved timeouts related to Watchman that could cause the server to fail to start if Watchman is slow to respond. Added a file_watcher_timeout .flowc
file_watcher_timeout .flowconfig option and --file-watcher-timeout argument to flow start and flow server, which defaults to 120 seconds.Improved the behavior of $Diff and other type destructors when applied to unions.
Notable bug fixes:
$Diff and other type destructors when applied to unions.Misc:
Symbol from libdefs in favor of symbol.fs.promises.mkdir (thanks @gabrielrumiranda!)Notable bug fixes: * Fix #8259.
Notable bug fixes:
Flow now suggests similar names (if applicable) when issuing missing property errors.
New Features:
Misc:
Array.prototype.flat (#8237, thanks @nnmrts!).empty rather than any.Parser:
> and } in JSX child text is a parse error.Likely to cause new Flow errors:
Likely to cause new Flow errors:
symbol in non-strict equality as other primitive types (example). We allow for non-strict equality checks between two symbol types, and between a symbol and null/void (example).non-array-spread lint, and replaced it with a new .flowconfig option, babel_loose_array_spread.Notable bug fixes:
$Exact<T> failed when T resolved to a Shape<T>. [example]Misc:
tool add-comments by
flowlint-next-line instead of adding full $FlowFixMe suppressions on lints, andLikely to cause new Flow errors:
Likely to cause new Flow errors:
if (x?.y) and if (x?.y === 42) understand that x is truthy in the consequent. Flow also now refines subexpressions of optional chains. For example, given obj?.fun(obj.value), the second obj is known to be truthy since it is only reachable if the earlier obj?.fun is also truthy; therefore, you don't need to optional-chain it again (obj?.value).New Features:
symbol! Note that just like number is not a Number, and vice versa, symbol is not a Symbol. In the core lib defs, we change usage of Symbol to symbol & Symbol. Eventually, it will just be symbol. The symbol & Symbol is temporary for one version to allow for existing usage of the : Symbol to be codemodded to : symbol.Bug fixes:
$ElementType, that led to printing empty instead. This improves hover tooltips.Fixed autocomplete when at the end of file
Bug fixes:
signature-verification-failure) out when running flow check-contentsParser:
export default class implements Foo {} [example]Library definitions:
navigator.mediaDevices.getUserMedia (thanks @thecotne)InputEvent to removeEventListenerServiceWorkerContainer.getRegistrationMisc:
module.system.node.main_field option (see #8128 for more details)Likely to cause new Flow errors:
Likely to cause new Flow errors:
New Features:
ambiguous-object-type lint warning against use of {} object types (prefer {||} or {...} instead, even when exact-by-default is enabled).Notable bug fixes:
unclear-type lint errorMisc:
useDeferredValue and useTransition to React library definitionsbytesWritten function to library definition (thanks @farzonl)0.111.2 did not include the commit that bumped the Flow version inside of Flow. (@jbrown215 was a clown)
Notable bug fixes:
Add module.system.node.root_relative_dirname to allow you to configure where root relative paths resolve to
New features:
module.system.node.root_relative_dirname to allow you to configure where root relative paths resolve toNotable bug fixes:
Likely to cause new Flow errors:
Likely to cause new Flow errors:
New features:
experimental.minimal_merge) that speeds up rechecks when the experimental types-first mode is in use. This flag will be turned on by default and then removed in future releases.experimental.allow_skip_direct_dependents by default. The flag will be removed next release. This flag speeds up rechecks when the experimental types-first mode is in use.Notable bug fixes:
module.system.node.resolve_dirname=.. For those who relied on this bug to import modules using root-relative paths, you can now use module.system.node.allow_root_relative=true. See #8156 for more details.Misc:
flow status, flow check, etc. to choose character offset styleParser:
No longer show live Flow errors for files without @flow, unless all=true in the .flowconfig
Notable bug fixes:
all=true in the .flowconfigImproved positions for error messages involving the deprecated * type
New Features:
experimental.disable_live_non_parse_errors=true to the [options] section of your .flowconfig.Notable bug fixes:
[declarations] configuration in the presence of dependency cycles (thanks @STRML!)Misc:
--evaluate-type-destructors to type-at-pos command.--evaluate-type-destructors and --expand-type-aliases to dump-types command (thanks @goodmind!)process.env values from ?string to string|void (thanks @FireyFly!)* typeDeprecated $Supertype and $Subtype utilities are now removed entirely
Likely to cause new Flow errors:
delete, but now doesObject.defineProperty and similar methods now adhere more closely to the specNotable bug fixes:
$NonMaybeType<mixed> no longer includes null and undefined (Thanks @goodmind)Misc:
$Supertype and $Subtype utilities are now removed entirelyPerformance:
Library Definitions
HTMLStyleElement.sheet type (Thanks @kof)AsyncIterator to node.js (Thanks @goodmind)undefined to prelude (Thanks @goodmind)The deprecated flow ide command and associated machinery have been removed.
Notable bug fixes:
$ObjMap, $ObjMapi, $TupleMap, and $Call with incorrect arity.Misc:
flow ide command and associated machinery have been removed.Library definitions:
undefined to the prelude.Implement type refinements for property accesses through brackets (#7597, thanks @goodmind).
New Features:
Notable bug fixes:
%checks (#7863).Misc:
textDocument/documentHighlight request serviceable while Flow is in the middle of a recheck.--traces flag.undefined is involved.flow lsp is started while the server is initializing.Library Definitions:
We found and fixed a bug introduced in 0.105.0. Some internal code was using a hashing function and assumed collisions were far less likely than they
We found and fixed a bug introduced in 0.105.0. Some internal code was using a hashing function and assumed collisions were far less likely than they proved to be. This could lead to random nonsensical errors which would then disappear, usually involving missing object properties. This likely only affected extremely large projects.
Fixed the stack overflow reported by #8037. Thanks @lukeapage for isolating the repro!
Fixed the stack overflow reported by #8037. Thanks @lukeapage for isolating the repro!
Forgot to cherry-pick [rollouts] (an experimental new .flowconfig section) into v0.106.0
Forgot to cherry-pick [rollouts] (an experimental new .flowconfig section) into v0.106.0
Likely to cause new Flow errors:
Likely to cause new Flow errors:
?? operator. It now has a lower precedence than || and &&, and parentheses are required to nest it with them.<a:b prop={"hello" * 10} /> now errors)Notable bug fixes:
munge_underscores flowconfig optionMisc:
Parser:
break statements and array patternslibflowparser now supports esproposal_nullish_coalescing as an optionv0.105.0 started running the Flow server in a cgroup on Linux distros that support cgroup v2. However, some versions of systemd, which manages cgroups
v0.105.0 started running the Flow server in a cgroup on Linux distros that support cgroup v2. However, some versions of systemd, which manages cgroups, contain a bug that caused the Flow server to fail to start. This release avoids using cgroup on these systems. (#8012)
The deprecated $Enum<...> utility type has now been deleted. Use $Keys<...> instead.
Likely to cause new Flow errors:
Types for FileReader properties and methods are now more precise (e.g., some parameters typed
any are now typed ProgressEvent; some properties now have null added to their types). Thanks, @nwoltman!
The value type parameter V of $ReadOnlyMap and $ReadOnlyWeakMap is now covariant. Thanks, @goodmind!
Types for the vm module in node.js are now more precise. Thanks, @goodmind!
The deprecated $Enum<...> utility type has now been deleted. Use $Keys<...> instead.
Indexing tuples with floats is no longer allowed.
New Features:
Added support for React.Profiler (React v16.9+). Thanks, @bvaughn!
Added a --types flag to flow graph dep-graph to output only "type" dependencies: the subset of
imports that the types of a module's exports depends on. (Without the flag, we output "code"
dependencies: the set of all imports of a module.)
Preliminary support for automatically inserting annotations on a module's exports through LSP. Thanks to @akuhlens (summer intern with the Flow team)!
Preliminary support for definite assignment checking of class instance properties. Thanks to @pzp1997 (summer intern with the Flow team)!
Added an option to .flowconfig for exact-by-default objects.
Perf fixes:
Misc:
Parser:
Likely to cause new Flow errors:
Likely to cause new Flow errors:
Function.prototype.apply to only accept array-like objects, not any iterable.New Features:
non-array-spread lint rule: Fires when a non-array iterable is spread. This is useful for modeling the loose: true mode of @babel/plugin-transform-spread, where such code causes a runtime error.Notable Bug Fixes:
implicit-inexact-object linter.Misc:
psflow check --profileflow-remove-types:
declare exportParser:
await to be a parameter in async functionsAdded --types flag to flow cycle, when given only type dependencies are used to compute cycles
New Features:
--types flag to flow cycle, when given only type dependencies are used to compute cyclesNotable bug fixes:
Performance:
Library definitions:
Object and Function (which are aliases for any) in library definitions with anyany from library definitionsMisc:
Likely to cause new Flow errors:
Likely to cause new Flow errors:
MixedElement export into the module declaration, so it will now need to be qualified as React.MixedElement.Notable bug fixes:
$ObjMap).Misc:
defaultProps property and make them compatible with React.AbstractComponent.BigInts. (thanks, @goodmind!)rc.Libdefs:
Object type (equivalent to any) from WeakSet and $ReadOnlyWeakSet. (thanks, @goodmind!)Fixed a bug with suppressions in the experimental types-first mode.
Notable bug fixes:
Likely to cause new Flow errors:
Likely to cause new Flow errors:
$Keys now produces a more precise type, which may find errors where incompatible strings were passed to something expecting the $Keys of some object.New Features:
... to the
end of the props list. See here for context.Notable bug fixes:
Misc:
React.memo and React.lazy now both allow you to specify an instance type via React.AbstractComponent.recursion_limit. Most projects will not need to override this value.Parser:
#constructorThe $Enum built-in type annotation is now deprecated. Please use the semantically equivalent $Keys type instead.
Likely to cause new Flow errors:
React$ElementType annotation, which was previously unsafe, is now strict. Before you could create an element given a component with this type using arbitrary props. To annotate any component that accepts some given props, use React$ComponentType instead. Try Flow exampleReact$ComponentType annotation is now strict when used with refs. Before, it was possible to pass a ref having any type when creating an element from a component using this type. If you need to describe components that accept refs, use the React$AbstractComponent type instead. Try Flow example$Enum built-in type annotation is now deprecated. Please use the semantically equivalent $Keys type instead.New Features:
React$MixedElement as the sound superclass of all React elements. This is a type alias for React$Element<React$ElementType>.Misc:
decode method to HTMLImageElement (thanks, @vicapow!)Parser:
Fix bug where well-formed-exports errors were reported for unchecked files
Notable bug fixes:
$call property syntax, deprecated in Flow v0.75, has finally been removed.
Likely to cause new Flow errors:
any but are now typed as an empty object.$call property syntax, deprecated in Flow v0.75, has finally been removed.Notable bug fixes:
Misc:
Parser:
Do not report bad module uses in unchecked files
Notable bug fixes:
Turn the deprecated-utility lint on by default.
Likely to cause new Flow errors:
void before typechecking starts for functions without a return statement, lessening the impact of a union typechecking bug (#7322).deprecated-utility lint on by default.mixed refined to an array produces a read-only array.mixed refined to an object produces a read-only object.New Features:
.flowconfig (#7317).Notable bug fixes:
untyped-import lint rule so that export [type] * from triggers it.Misc:
deprecated-utility and dynamic-export lints when applying all=setting rules (#7473).$ObjMap or $ObjMapi (#7642).flow type-at-pos --json.DidOpen notifications from the IDE in order to make checking in IDE lazy mode more efficient.flow lsp automatically starts a server, it prefers the lazy mode set in a .flowconfig to the lazy mode passed on the CLI.this type is used incorrectly.React.Element behave differently than React$Element.any.Libdefs:
document.elementsFromPoint() (#7540).ConstantSourceNode (#7543).React.Suspense maxDuration attribute (#7613).Likely to cause new Flow errors:
Likely to cause new Flow errors:
mixed with instanceof A produces type A instead empty which was produced before.declare module are no longer automatically exported from that module as well.New Features:
Notable bug fixes:
flow coverage is passed an invalid input path.Misc:
typeof, tuples and interface types). The mapper got support for qualified identifiers.$Diff, etc. This should lead to more compact results.Library definition improvements:
Parser:
Object literals with spreads can be described by object types with spreads in the signature verifier/builder.
The inferred statics object type of React.createClass({}) will contain defaultProps: void, instead of defaultProps: {||} (unsealed empty object).
React.createClass({}) will contain defaultProps: void, instead of defaultProps: {||} (unsealed empty object).Added an overload for JSON.stringify allowing mixed input, which returns string | void. Without this, you can't call JSON.stringify on a mixed value a
JSON.stringify allowing mixed input, which returns string | void. Without this, you can't call JSON.stringify on a mixed value at all, because while Flow does allow refining mixed to "not void" (e.g. x === undefined ? undefined : JSON.stringify(x)), it does not support refining mixed to "not a function" (e.g. imagine you could do x === undefined || typeof x == 'function' ? undefined : JSON.stringify(x)). This rolls back some of the more restrictive behavior introduced in v0.95.0, but is still more restrictive and more accurate than in <= v0.94.0.Likely to cause new Flow errors:
Likely to cause new Flow errors:
undefined and functions in JSON.stringify: JSON.stringify(undefined) returns undefined instead of string. Rather than make it always return string | void, or use overloads to return void on those inputs, we instead disallow those inputs since they are rarely the intended behavior. (#7447)New features:
flow batch-coverage: A new command to compute aggregate coverage for directories and file lists. Instead of producing the coverage at each location, it sums them and reports the per-file percentage and the aggregate percentage.Bug fixes:
Other improvements:
Fixed dynamic-exports lint's spurious errors on exported classes and functions
Bug fixes:
dynamic-exports lint's spurious errors on exported classes and functionsPerformance:
Many libdef fixes and other improvements from the open source community:
Proxy$traps (thanks @talbenari1!)Additional lib def improvements:
current write-only in React.Ref - allowing union types for refsetMediaKeys API to definition of HTMLMediaElementhttp$Agent covariantLikely to cause new Flow errors:
Likely to cause new Flow errors:
any types and React proptypes for efficiency. This may result in some errors no longer being reported.New Features:
dynamic-export) which when enabled will warn when most dynamic types are exported from a file.any and empty when computing line coverage. empty types are colored blue and any types red when using the --color option. Note that this may cause new expressions to be considered uncovered.Notable bug fixes:
this-substitution.inexact-spread lint errors could appear in the wrong position.Many, many libdef fixes and improvements! Many thanks to the open source community for these, and to @nmote and @jbrown215 for reviewing and merging so many of these!
InputEvent(Listener|Handler|Types|) (thanks @keithamus!)IntersectionObserver constructor definition (thanks @apostolos!)ServiceWorkerMessageEvent extend ExtendableEvent (thanks @keyiiiii!)module.builtinModules to core libdef (thanks @simenB!)writable.setDefaultEncoding() (thanks @dnalborczyk!)util.callbackify to node type def (thanks @dnalborczyk!)BroadcastChannel (thanks @schmatz!)timingSafeEqual() (thanks @rolftimmermans!)destroy method to streams (thanks @hiikezoe!)XMLHttpRequest (thanks @robin-pham!)AnimationEvent (thanks @ngyikp!)Object.getOwnPropertyDescriptors (thanks @disnet!)EventEmitter API definition (thanks @antongolub!)Element.prototype.toggleAttribute (thanks @keithamus!)TransitionEvent to dom libdef (thanks @koddsson!)appendFile, appendFileSync (thanks @cappslock!)navigator.serviceWorker (thanks @dhui!)Uint8Array (thanks @cakoose!)dns.lookup() (thanks @shuhei!)https interfaces (thanks @cakoose!)createContextualFragment return a DocumentFragment (thanks @wincent!)oncontextmenu to HTMLElement (thanks @jasonLaster!)MediaDeviceInfo declaration (thanks @ea167!)userSelect to CSS declaration (thanks @shubhodeep9!)fs.promises.readFile being incorrectly overloaded (thanks @Macil!)EventSource to dom libdef. Likely to cause new errors (thanks @SlIdE42!)XDomainRequest in bom libdef. Likely to cause new errors (thanks @Mouvedia!)displayName property to React$Context (thanks @bvaughn!)typeof x === 'symbol' (thanks @mroch!)useRef type non-nullable (thanks @trysound!)Stream type to Node thanks (thanks @goodmind!)Misc:
Fixed a bug introduced in v0.92.0 which could cause the server to crash when using an IDE.
Notable bug fixes:
module.system.haste.name_reducers option for Windows (#7419 - thanks jamesisaac)Likely to cause new Flow errors:
Likely to cause new Flow errors:
Some fixes to tagged template literals will surface a new set of pre-existing errors!
New Features:
This release culminates months of hard work on quality of life improvements for IDE support. Expect your requests to be faster, and your requests to take a bit less time.
watchman to reduce the number of checked files.
Learn about it in the docs.Notable bug fixes:
Thank you to the opensource community for these fixes!
React.memo now accepts any kind of ComponentLikely to cause new Flow errors:
Likely to cause new Flow errors:
New Features:
--lazy-mode flag was added to all commands that may autostart a serverNotable bug fixes:
Misc:
Likely to cause new Flow errors:
Likely to cause new Flow errors:
Pull Requests:
Notable bug fixes:
Parser:
New deprecated-utility lint complains about deprecated Flow types. To start off, $Supertype and $Subtype are now deprecated. They were unsound and can…
Likely to cause new Flow errors:
React.forwardRef and better typing higher-order components. Docs are available here.New Features:
deprecated-utility lint complains about deprecated Flow types. To start off, $Supertype and $Subtype are now deprecated. They were unsound and can usually be replaced using shapes or bounded generics.React.AbstractComponent makes it way easier to type React higher-order components.React.Config is also intended to help type React higher-order components.Notable bug fixes:
flow coverage --color handles multi-byte characters betterflow coverage now supports --strip-rootMisc:
flow gen-flow-files due to bitrot. We do plan on building a better version in the future.{} now consistently represents an unsealed object. You can read more in the documentation. exampleLikely to cause new Flow errors:
Likely to cause new Flow errors:
Function and Object types be aliases for any. They were always unsafe types, just like any, but they had peculiar behavior. This change revealed places where they were handled improperly within Flow, and ended up surfacing type errors that were previously missed.New Features:
flow start --lazy-mode watchman). This improves the lazy mode experience for repositories which use Mercurial and Watchman. We will document it more when/if it proves itself.flow config check which validates the .flowconfig.Misc:
.flowconfig parsing less strict (in particular, if the --ignore-version flag is passed, do not fatal on unrecognized config options).type-at-pos to be displayed differently.string, rather than the singleton type of that literal. Now, this fact is surfaced in error messages.Libdefs:
React.Suspense.React.useMutationEffect hook.Likely to cause new Flow errors:
Likely to cause new Flow errors:
React.createRef definition. Refs are for any type of value,
not just React elements.New Features:
flow config find command that
finds the .flowconfig governing path.Notable bug fixes:
flow ls --json command.Misc:
flow port command.JSX.frag_closingElement of the AST to not be an option.import type and import typeof with default.Library definition changes:
PositionOptions optional.calculateChangedBits parameter to the React.createContext definition.React.ConcurrentMode and React.StrictMode definitions.React.lazy and React.memo definitions.Parser:
Removed the deprecated expression field from Function nodes in the AST.
Likely to cause new Flow errors:
any may result in new errors.New Features:
type-at-pos can reconstruct spread objects when evaluation of the spread is not possible.type-at-pos now supports implicit instantiation with _.$ReadOnlyMap, $ReadOnlyWeakMap, $ReadOnlySet, and $ReadOnlyWeakSet. These types and their mutable counterparts mostly follow the pattern of $ReadOnlyArray and Array: the read-only parent class provides non-mutating methods, and the usual mutable class extends it. Unlike $ReadOnlyArray, the new types are invariant in their type parameters.React.StrictMode type.flowtest package. flowtest is a CLI tool for running tests on Flow types.sharedmemory.heap_size option.Notable bug fixes:
module.exports objects.declare function.type-at-pos.flow suggest no longer outputs <<anonymous class>>.Remote in type-at-pos.Misc:
WeakMap keys must now be objects.preserve_inferred_literal_types is set. This does not change the behavior of type-at-pos.experimental.cancelable_rechecks option.Parser:
expression field from Function nodes in the AST.flow_parser.js which should cause it to stack overflow in fewer cases.{} instead of ; in pretty mode.var x = (): (string) => number => 123 because the first => is ambiguous. However, var x = (): T<(string) => number> => 123 is not ambiguous and we no longer disallow it.Likely to cause new Flow errors:
Likely to cause new Flow errors:
Fixed an issue that caused missing annotations errors to be suppressed.
Please read the full post for more information on what changed and tips on dealing with the new errors.
Likely to cause new Flow errors:
Likely to cause new Flow errors:
any and other types would be dropped. Instead, they are now
propagated. In some cases, this unblocks further constraint solving and helps find more errors.empty, whereas now this is an error.New Features:
_) type arguments to function / constructor calls. This is
especially useful when some type arguments are sufficient to pin down the type of the result; the
others can simply be _.Notable bug fixes:
get-def and find-refsMisc:
get-def and find-refs to reuse codegetBoundingClient returns a DOMRect instead of a ClientRect.Parser:
... to indicate inexactness in object typesLikely to cause new Flow errors:
Likely to cause new Flow errors:
Notable bug fixes:
?T) or "optional" (essentially T | void) types{p:T} to be a subtype of $Shape<{+p:T}>Misc:
--verbose to not log while loading flowlibs by default; pass --verbose-flowlibs to overrideLibrary definition changes:
ResizeObserver declarationsnet$Server.listening propertyprocess.cpuUsage()Parser:
export default async function to be a FunctionDeclaration not a FunctionExpressionYour coding agent can read these notes before it upgrades. Set up the MCP server →