Skip to content

Releases: hhvm/hack-codegen

Support HHVM 3.29

19 Oct 16:37
Compare
Choose a tag to compare

This release supports HHVM 3.29.x with optional strict features enabled.

Support HHVM 3.28

28 Aug 19:38
Compare
Choose a tag to compare
v3.2.1

Update forward compatibility level, fix lint warnings

Support nightly builds of HHVM/Hack, target 3.27+

05 Jul 18:39
Compare
Choose a tag to compare

This release contains minimal changes to 3.0.8, however it updates the version requirement to 3.27, oo reduce maintenance cost. Further 3.0.x releases targeting earlier versions of HHVM/Hack may be made as-needed, but are not currently planned.

Relicense, support new versions of the HSL and FBExpect, support for optional shape fields and nested shapes

12 Jun 15:15
Compare
Choose a tag to compare

This release:

  • is available under the MIT license
  • allows usage of recent versions of the Hack Standard Library
  • Adds support for optional shape fields via CodegenShape_FUTURE (thanks to @mwildehahn )

Support experimental typechecker options in HHVM 3.25

28 Feb 19:55
Compare
Choose a tag to compare
v3.0.7

support additional experimental typechecker options

Support additional typechecker restrictions

09 Feb 17:44
Compare
Choose a tag to compare

This release supports:

  • safe_array=true and safe_vector_array=true
  • enable_experimental_tc_features=no_fallback_in_namespaces (nightlies, expected in 3.25)

v3.0.4 was mis-tagged from master, and should not be used.

Support file-level constants

09 Jan 19:56
Compare
Choose a tag to compare

Added CodegenFile::addConst()

Support HHVM 3.24, require HHVM 3.23+, and add `HackBuilderValues::code()`

08 Jan 23:44
Compare
Choose a tag to compare

Fix regression in support for ImmMap/ImmDict/ImmVector

14 Nov 23:14
Compare
Choose a tag to compare
v3.0.1

fix support for Imm(Map|Set|Vector)

Increased consistency, support for vec/dict/keyset, support for HHVM 3.23

14 Nov 22:40
Compare
Choose a tag to compare
  • adds support for the upcoming HHVM 3.23 release
  • in general, methods that previously took collections will now take Traversable or KeyedTraversable instead, allowing them to be used with either Hack collections or Hack arrays
  • methods that returned collections now return Hack arrays
  • added support for running hackfmt-formatted output: add Facebook\HackCodegen\HackfmtFormatter as the formatter in your configuration object
  • <?hh // strict is now the default for generated files
  • added CLI script to verify signatures - this should be available as vendor/bin/hh-codegen-verify-signatures in projects that depend on hack-codegen
  • renamed addVar() (add a member variable) to addProperty(), and added addProperties()
  • replaced setGenericsDecl() with addGenerics() and addGeneric(), which take a string describing a generic
  • HackCodegenConfig no longer takes parameters - instead, call ->withRootDir($root) on the object to specify the root directory
  • consistency improvements:
    • addCase() now takes a value renderer as well as a value
    • endSwitch_() was renamed to endSwitch()
    • replaced setserAttribute() with addUserAttribute(), which takes a value renderer as well as a value, and addEmptyUserAttribute()
    • renamed setParameters() to addParameters()
    • split addComment() to addComment() and addCommentf()
    • split addIf() to addIf() and addIff()
    • split addLine() to addLine() and addLinef()