Note:
Due to large number of likely new Flow errors that will be introduced in the next release, we decided to create an extra release to ease the upgrade process.
We announced in the recent blog post that we would remove the enforce_local_inference_annotations option in flowconfigs, as it became the default in v0.189.0. This change will be delayed to v0.191.0 instead.
Likely to cause new Flow errors:
Flow will now error on indexed write to exact objects without indexed type.
Flow now requires that the target of extends clauses in class definitions are either variables, casts, or member expressions, rather than allowing arbitrary expressions.
We fixed a bug in which type arguments were not passed to the type parameters of static callable methods.
We unblocked constraints involving any and type applications like Promise<T>, which may cause new downstream errors to be discovered.
Notable bug fixes:
Fix a bug that can cause the Flow server to unnecessarily restart when Watchman restarts
v0.189.0
Likely to cause new Flow errors:
enforce_local_inference_annotations is now on by default. To migrate your codebase run the following codemod to add the required annotations: flow codemod annotate-lti. More details on the changes are explained in the Requiring More Annotations to Functions and Classes in Flow blog post.
New Features:
Class members can be suggested by autocomplete even if this is not typed explicitly.
Notable bug fixes:
We will now consistently emit object-this-reference errors. Previously these errors were missing when the object is an argument of Object.freeze(), Object.defineProperties() or Object.create().
Fix crash when walking directories that can't be accessed.
Fixed a potential crash when two type identifiers are declared in the same block.
Library Definitions:
Improve fs.readFile type definition when the encoding config option is supplied.
v0.188.2
Bug fixes:
Fix crash during incremental recheck
Performance:
Improve performance of auto-imports index update for large codebases
v0.188.1
Bug fixes:
Fix a crash when querying hg
Misc:
We renamed the codemod command flow codemod annotate-lti to flow codemod annotate-functions-and-classes to clarify that this is not the only codemod necessary for enabling LTI eventually.
v0.188.0
Likely to cause new Flow errors:
Previously we supported a weird JS runtime rule for constructor returns when you call new SomeClass:
If the returned value is primitive, then it's ignored and the instance will be returned instead.
If the returned value is object like, then the return object will be the eval result of new SomeClass.
This is confusing, and we dropped support for this feature in this release. Now we enforce that all class constructors must return void.
Note:
Due to large number of likely new Flow errors that will be introduced in the next release, we decided to create an extra release to ease the upgrade process.
We announced in the recent blog post that we would remove the enforce_local_inference_annotations option in flowconfigs, as it became the default in v0.189.0. This change will be delayed to v0.191.0 instead.
Likely to cause new Flow errors:
Flow will now error on indexed write to exact objects without indexed type.
Flow now requires that the target of extends clauses in class definitions are either variables, casts, or member expressions, rather than allowing arbitrary expressions.
We fixed a bug in which type arguments were not passed to the type parameters of static callable methods.
We unblocked constraints involving any and type applications like Promise<T>, which may cause new downstream errors to be discovered.
Notable bug fixes:
Fix a bug that can cause the Flow server to unnecessarily restart when Watchman restarts
0.189.0
Likely to cause new Flow errors:
enforce_local_inference_annotations is now on by default. To migrate your codebase run the following codemod to add the required annotations: flow codemod annotate-lti. More details on the changes are explained in the Requiring More Annotations to Functions and Classes in Flow blog post.
New Features:
Class members can be suggested by autocomplete even if this is not typed explicitly.
Notable bug fixes:
We will now consistently emit object-this-reference errors. Previously these errors were missing when the object is an argument of Object.freeze(), Object.defineProperties() or Object.create().
Fix crash when walking directories that can't be accessed.
Fixed a potential crash when two type identifiers are declared in the same block.
Library Definitions:
Improve fs.readFile type definition when the encoding config option is supplied.
0.188.2
Bug fixes:
Fix crash during incremental recheck
Performance:
Improve performance of auto-imports index update for large codebases
0.188.1
Bug fixes:
Fix a crash when querying hg
Misc:
We renamed the codemod command flow codemod annotate-lti to flow codemod annotate-functions-and-classes to clarify that this is not the only codemod necessary for enabling LTI eventually.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps flow-parser from 0.166.0 to 0.190.0.
Release notes
Sourced from flow-parser's releases.
... (truncated)
Changelog
Sourced from flow-parser's changelog.
... (truncated)
Commits
221616d
v0.190.041d9d4d
Pass children hints down to jsx children5f524e2
InstanceT any propagation73eaeff
[lti] Always resolve tvars at expression boundaries54e94c6
Ban unknown computed property assignment when the object is sealed or exact998bb27
typesafe wrappers for Heap.prepare_write_...098a5d0
DRY write_cas_digestf76a8d8
ObjT any propagation3251934
Clean up after incremental revdeps rolloutd7a1a9b
Fix ordering for classesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)