Skip to content
This repository has been archived by the owner on Dec 1, 2024. It is now read-only.

Releases: hhvm/hhast

v4.158.2

26 Apr 22:17
36642ed
Compare
Choose a tag to compare

This release supports current nightly builds, and is expected to support HHVM 4.160. There is no change in minimum Hack/HHVM version.

What's Changed

  • Update AST schema to 2022-04-25-0000 by @Atry in #456

Full Changelog: v4.158.1...v4.158.2

v4.158.1

26 Apr 20:08
0ce9f7a
Compare
Choose a tag to compare

This release supports current nightly builds, and HHVM 4.149. There is no change in minimum Hack/HHVM version.

What's Changed

  • Update AST schema to 2022-04-20-0001 by @Atry in #454
  • Use a shallow clone by @Atry in #451
  • Improve the commands to update schema by @Atry in #452

Full Changelog: v4.158.0...v4.158.1

v4.158.0

21 Apr 00:40
Compare
Choose a tag to compare

What's Changed

  • Update AST schema to HHVM 4.158.0 (internal version 2022-04-13-0002) by @Atry in #453
    • NoElseifLinter is removed because the keyword elseif is now an error since HHVM 4.158.0.

Full Changelog: v4.157.0...v4.158.0

v4.157.0: support HHVM/Hack v4.157.0

12 Apr 23:32
6bb312d
Compare
Choose a tag to compare

This release:

  • supports and requires HHVM 4.157
  • Support multiple type constraints on type constants (at the syntax level only so far)

v4.156.0: support HHVM/Hack v4.156.0, additional linters

08 Apr 21:35
Compare
Choose a tag to compare

This release:

  • supports and requires HHVM 4.156
  • adds DontCreateForwardingLambda , which lints against 'identity'-like lambdas, e.g. $x ==> func($x)
  • adds UnreachableCodeLinter

v4.139.4: support 2022.03.02 nightly

02 Mar 19:21
cade7dc
Compare
Choose a tag to compare

What's Changed

  • Suppress the 4323 typing error by @Atry in #440

Full Changelog: v4.139.3...v4.139.4

v4.139.3: support 2022.01.26 nightly

26 Jan 17:39
259bdaf
Compare
Choose a tag to compare

This release supports current nightly builds, and is expected to support HHVM 4.147. There is no change in minimum Hack/HHVM version.

v4.139.2

24 Jan 18:10
072367c
Compare
Choose a tag to compare

This release supports Hack/HHVM nightly-2022.01.19 and v4.145.0.

What's Changed

  • Support AST version 2021-12-08-0001 by @Atry in #437

Full Changelog: v4.139.1...v4.139.2

v4.139.1

20 Jan 23:25
Compare
Choose a tag to compare

This release supports Hack/HHVM nightly-2022.01.20, and we expect it to support v4.146.0.

What's Changed

Full Changelog: v4.139.0...v4.139.1

v4.139.0

10 Dec 23:19
Compare
Choose a tag to compare

This release fixes some minor issues in the HHClientLinter introduced by v4.135.0.

HHVM 4.126 and above remain supported.

About HHClientLinter

HHClientLinter is a special linter as a proxy to run linters written in OCaml via hh_client --lint, which could detect additional lint errors that are not covered by other HHAST linters. Now HHClientLinter is considered as publicly available, even though it's not enabled by default.

To enable HHClientLinter, put the following settings into your hhast-lint.json:

"extraLinters": [
  "Facebook\\HHAST\\HHClientLinter"
],

HHClientLinter can be configured to not report particular error codes by adding the following settings into your hhast-lint.json

"linterConfigs": {
  "Facebook\\HHAST\\HHClientLinter": {
    "ignore": [5624, 5639]
  }
}

or if you are interested in only particular error codes:

"linterConfigs": {
  "Facebook\\HHAST\\HHClientLinter": {
    "ignore_except": [5624, 5639]
  }
}

The definition of error codes can be found at lints_codes.ml.

The lint errors can be suppressed at the error code level with the help of HHAST_IGNORE_ERROR markers, for example:

/* HHAST_IGNORE_ERROR[5607] this lint error is a false positive */
$new = Vec\filter($this->_children, $c ==> $c !== $child);

HHAST_IGNORE_ALL is also supported for the whole file, but not encouraged:

// HHAST_IGNORE_ALL[5607] 5607 is ignored in the whole source file
// because of false positives when comparing a generic to a typed value

What's Changed

  • Use vec instead of keyset in HHClientLinter::TConfig by @Atry in #397
  • Limit the maximum number of hh_client processes to run in parallel by @Atry in #400
  • Dogfood HHClientLinter for hhast source code by @Atry in #398
  • Allow for unknown fields in the configuration of HHClientLinter by @Atry in #403
  • Reformat ProcessExecutionQueues using 2 spaces indentation by @Atry in #404
  • Fix lint errors emitted by HHClientLinter by @lexidor in #406
  • Remove HHClientLinter from NON_DEFAULT_LINTERS by @fredemmott in #411
  • Add Facebook\HHAST\HHClientLinter to extraLinters by @Atry in #413
  • Support file specific linter config by @Atry in #414
  • Mismatched configuration for a linter should fail the lint run (fix #405) by @Atry in #412
  • Don't ignore 5607 lint error under src/Migrations and fix an existing 5607 lint error by @Atry in #417
  • Ignore 5583 error code from hh_client --lint by @Atry in #419
  • Suppress lint errors file by file by @Atry in #418
  • By default ignore 5639 error code from hh_client --lint by @Atry in #422
  • Add a test to detect duplicated lint rules by @Atry in #427

Full Changelog: v4.135.1...v4.139.0