Skip to content

Commit

Permalink
Announce HHVM 4.167
Browse files Browse the repository at this point in the history
  • Loading branch information
Wilfred committed Aug 25, 2022
1 parent b711d18 commit f26396a
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions _posts/2022-08-24-hhvm-4.167.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: "HHVM 4.167"
layout: post
author: wilfred
category: blog
---

HHVM 4.167 is released! 4.164 - 4.166 remain supported, as do the 4.128 and
4.153 LTS releases.

# Highlights

- Hover information has improved for constants, type names and enum
classes.
- More of the built-in extensions (`ext_json`, `ext_folly_variant`,
ext_thrift`, `ext_zlib`, `ext_server`, `ext_enum`) have more
extensive typing in their .hhi files, so the type checker can check
code using them.

This comment has been minimized.

Copy link
@Atry

Atry Aug 25, 2022

Contributor

@Wilfred Which are the changed functions? Are the changes backward compatible?

This comment has been minimized.

Copy link
@Wilfred

Wilfred Aug 25, 2022

Author Contributor

The runtime types haven't changed, just the signatures in the .hhi files. Several of the functions had no declared return type at all, for example.

This comment has been minimized.

Copy link
@Atry

Atry Aug 26, 2022

Contributor

Do you mean all type checker changes should be considered non-breaking changes? If it is the case, it is different from my previous practice. I used to consider even HH_FIXME code changes as breaking changes.
https://hhvm.com/blog/2022/04/20/hhvm-4.158.html

This comment has been minimized.

Copy link
@Atry

Atry Aug 26, 2022

Contributor

Anyway, I think we should have a better definition of Breaking Changes.

See #187

- `.hackpartial` settings in `.hhconfig` have been removed,
specifically `allowed_fixme_codes_partial`, `codes_not_raised_partial`
and `strict_codes`.
- `hh_client` now supports a `--is-subtype` to see if types are
compatible, using JSON from `--type-at-pos`
([commit](https://github.com/facebook/hhvm/commit/a5c0413f434f7b736e5a876f0af769e1e3ed694c)).
- HHVM now supports overriding type constants on interfaces, even if
they're not abstract
([commit](https://github.com/facebook/hhvm/commit/90d7b5c55ea2c5d9ca756a96a706a362aca0fadf)).

# Breaking Changes

- Having both `<<__Memoize>>` and `<<__MemoizeLSB>>` on a method
is now a type error.

0 comments on commit f26396a

Please sign in to comment.