Well, it’s been 2 months. My 2FA session timed out and it took a really long time to have my phone with me when I went do this, since I usually do it Saturday morning and don’t carry my phone with me on weekends. But I’m back now! Hooray!
In the last 2 months, there’s been a rather large amount of work. A couple of quick highlights are:
- HHVM 3.13 was released.
- The continued work on the Hack array types (
vecso far, I’m guessing
keysetwill be along shortly).
- IDL finally died.
- Lots of refactoring inside Hack.
- A cache for your cache so you can cache while you cache.
Highlights for previous (and future!) weeks can be found in the category’s archives.
Highlights of the last two months’ commits
- Keep accepting requests while in the shutdown wait period.
- Add support for get array access on
- Add an option to page the byte code repo into a cache page.
- Support checking the output of
- Work on making the Hack build reproducible.
- Improve null-check detection for
- Fix up
- Add support for brotli compression.
- Add a shutdown request to mimic the warmup requests but when HHVM stops.
- Fix line numbering in files with multiline
- Expose the server’s health as a percentage to PHP land with
dictliteral support in
- Made HNI classes faster, especially if they don’t have a destructor and don’t need sweeping.
- Remove collection-specific wait handles.
- Fix building extensions.
- Update the list of tokens Hack knows about.
- Work on fixing the Mac build some more.
- Stop caching variable enum values across requests.
- Add lots of cURL constants.
hh_client, which seems to be very similar to
- Bump the number of single JIT requests.
- Allow a new server to stop the old ones without performing a takeover.
- Add an option to enable concurrent JIT profiling. Maybe wait a release or two before enabling in production, but should be useful for sites that get concurrent requests right off the bat (without using warm up requests).
- Add an admin command to tell the server to prepare to stop.
- Throw a
RuntimeExceptionrather than a fatal when exhausting the cURL pool.
- Convert Vector to HNI.
- Support assigning a Pair or array through
hh_server --version --json.
- Infer the types of global constants.
- Ask the server being replaced to prepare to stop before telling it to stop.
Vector::splicebehave in the way it’s documented to.
- Convert Map and Set to HNI, completing the conversion (I still know that link off by heart).
- Allow constructing a
dictfrom an array and remove the
- Kill IDL support.
- Tell Hack about
hh_client --find-dependent-fileswhich lists the files that reference things in the given file list.
- Remove some APC functions from Hack that HHVM doesn’t support.
hh_client --version --json.
- Complain loudly if sending too much data over a pipe.
- Fix types for Memcache in PHP7 strict mode.
- Add getter methods to
- Support inline HHAS in systemlibs.
- Jit increment/decrement on strings.
- Support HHAS files in repo mode.
Variant, which skips a
- Disallow variable-variable syntax in Hack (with a test, so that it doesn’t get allowed again).
%win log formats (server uptime).
- Start on support for
- More runtime work on
- Rewrite some Map and ImmMap methods in HHAS.
- Support compressed PHARs.
- Reflection support for
- Some arm64 work.
- Ban references in
- Add a cache layer to APC so that you can cache while you cache.
- Support for recursive generic constraints in the more useful cases.