"Rogers" 10-Sep-2015
- Update to jemalloc 4.0.0.
- Convert more architecture dependent code to VASM.
- Large bout of fixes for compiling hhvm under MSVC.
- Have hh_emitter support more of HHBC.
- Remove MInstrState from CGetM and IssetM's final operations.
- Refactor [un]serialize functions.
- Use profiling counters to decide whether to apply LICM.
- Move inlining to translateRegion.
- Implement intdiv function.
- Remove joomla and joomlacms from hhvm test suite.
- [hack] Add a --stats option to the client.
- [hack] GC the shared memory area more aggressively.
- [hack] Rework the representation of strings.
- Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
- Fix bug #69545 - avoid overflow when reading list and improve fix for bug #69545
- Fix #66387: Stack overflow with imagefilltoborder
- Fix #70064: imagescale(..., IMG_BICUBIC) leaks memory and Fix #69024: imagescale segfault with palette based image

"Quake" 27-Aug-2015
- ??

"Park" 13-Aug-2015
- ???

"Osborne" 30-Jul-2015
- Remove global LDAP requirement
- Don't require libXSLT globally
- Remove the global MCrypt requirement
- Remove the global search for LibUODBC
- Remove the global check for libpam
- use folly::writeFull wrapper for uploads
- Fix vararg handling for array_uintersect and others
- fix error message for abstract type constants
- Fix variadics in hhvm_get_frame_args
- Use poll() instead of select() in XDebugServer::createSocket.
- [hack] Error on overriding concrete type constant with an abstract one
- [hack] Grow shapes more correctly
- Array pointer modification functions (next, current, each etc) can be used on ArrayObject
- Eliminate ext_mbstring's dependence on ext_process
- Eliminate ext_mail's dependence on ext_process
- Use utf8 string literals in zend-html
- Don't allow abstract memoized methods
- [hack] Properly handle 'this' type for methods
- Fix lexing of "${fn()}"
- Fix lexing of #<?php
- [hack] Fix infinite loop in syntax error when closing a namespace
- Fix mispelling of COOKIE.
- Deal with self, static and parent constructors

"Nash" 16-Jul-2015
- Make ArrayData ref-count start at 1
- Remove the NOUSER define when compiling with MSVC, Cygwin, or MinGW
- Fix typos of `__MSC_VER` to be the correct value, `_MSC_VER`
- Shapes::removeKey(...) - remember the names of unset fields
- Shapes::toArray() - add .hhi
- Shapes::removeKey()
- Shapes::keyExists()
- Shapes::idx helper function for accessing optional fields
- Don't assume a scalar Map/Set initializer is an integer if its not a string
- Update mysqlclient library to 5.6.23 everywhere
- Port fix for php bug #48147
- Fixed #5475: ResourceBundle::getLocales('') don't return list of locales
- [hhvm][oss][frameworks] Add Smarty to Framework test runner
- Add in a facility to pool curl handles between requests.
- Fix xdebug trying to write to a nullptr std::FILE*.
- Fix bug when appending unaligned StringSlice
- Remove XDebug chrome support
- Incorrect return value from eval, Closure generated in first eval pass is returned in the second eval pass
- Stop throwing ints in xdebug
- CVE-2015-4663: Support verifying certificates on ssl/tls streams, enable by default
- Allow inlining immutable methods in non-repo mode
- Reusable TC
- Release some old hack design documentation
- Don't step into builtin functions in the debugger
- Support collections in array_map.hhas
- [hhvm] Make sure iteration of class_iterator actually stops
- [hhvm] Open source idx
- Add .hhas implementation of array_reduce
- Change memory layout for hni

"McQueen" 2-Jul-2015
- Add basic stream_socket_enable_crypto() client support
- [hack] Check types for class vars in decl mode as well
- [hhvm] Fix xdebug with multiple commands (and hopefully with PhpStorm)
- [hack][hhvm] Standard library for shapes - runtime support
- Fix date_create_immutable error state
- [hack] Include debug symbols in OSS build
- Update Hack Tools README to point to new OPAM Quick Install URL
- [hack] add color mode to Tty
- Update CMake/FindTBB.cmake for current Windows support.
- [hhvm][mac] Fix ext_ipc on Mac
- [hhvm][easy] Add README.md to php-octane
- [zoncolan] Missing cases to bring BW analysis at par with FW
- [zoncolan] Added "support" for reflection
- [zoncolan] Added support for XHP
- [hack][shapes] Anonymous shapes
- [hack][shapes] Structural subtyping for shapes proposal
- Fix some bugs in ext_servicerouter.cpp / ext_gatehouse.cpp
- [zoncolan] Added analysis of toplevel functions
- [zonconal] Adding shapes
- [hack] Infer types for constants in decl mode as well
- [hhvm] Enable JIT by default on Mac
- [hack] Format: Improve handling of comments in switch statements
- Make ObjectData ref-counts start at 1
- APC collection optimizations
- [Hack] Fix JSON escaping
- [hack] Make Typing_instantiate only work on decl ty
- use ...$args in invariant_violation()
- [hack] Make decl mode equivalent to partial + // UNSAFE
- [hhvm] Don't use libbfd in OSS build by default
- [hhvm][mac] Fix async mysql time calculation on Mac clang

"Lukather" 18-Jun-2015
- Check that the right operand of instanceof is not an enum
- Allow inlining static builtin methods
- Fix hhbbc not emitting RATs for public static properties.
- Fix overflow in array_slice
- Better error message for double quotes used in shape field names
- infer return type of floor/ceil
- Do not translate functions from units marked as interpret-only.
- Eliminate ldimm saveflags operand
- Allow folding the ideomatic hack callable wrappers
- Optimize NativeImpl
- Modify ReleaseVVOrExit to deal with VarEnvs
- Allow inlined 86ctors
- Fix folly build with Clang
- Re-fix region-prune-arcs assertion
- [mac] Fix crash compiling crc32 with Mac clang
- [mac] Use -force_load, not -all_load
- Don't constrain key or value for SetWithRefElem
- Remove IRBuilder::prepareForNextHHBC---just use exceptionStackBoundary
- Use HHBBC types to avoid generic IncRefs in Await translations
- Don't check for failed waithandles until after it wasn't finished
- Small tweaks to load-elim and store-elim tracing
- Support gvn for CountArrayFast
- Hoist fallbackccs above spills
- Variadic fixes for FCallBuiltin
- Proof of concept implementation of a "dump static strings to file" admin endpoint
- Sink VregKind and Bits into xls
- Specialize IncDecProp on integer object properties.
- Make collection initialization/destruction fast
- MixedArray data encoding microoptimization
- Micro-optimize json_encode
- Build HHVM with clang 3.6
- Fix deploy-to-tier under hg
- Optimized FCallBuiltin for max with 2 operands
- Add TargetProfile for Classes
- rds size logging tweaks
- Get rid of last frame creation site in MethodCache::handleSlowPath
- Lower hot Switch bytecodes into a series of comparisons
- typecheck for shape field names that start with numbers/are empty
- Remove typehint from Serializable::unserialize
- Switch the fatal error when compiling with MSVC to a warning.
- Better hhbbc types for SetOpElem, IncDecElem, and IncDecProp.
- Avoid __cxa_guard_acquire() in classof()
- Fix a bug in regionizeFunc causing some arcs to not be marked as covered
- Outline generic Inc/DecRefs that didn't see refcounted values during profiling
- use HNI return types in FCallBuiltin
- Make hh_server init message not linewrap on 80-column terminals
- Allow unset on array index expressions
- Add some precise_unions in memory-effects.cpp
- Move toplevel Vgen::emit() in vasm-x64.cpp
- Add HHI for Password
- Minor drive-by Func cleanup
- Fix bug when we run check type hoisting
- Get rid of local variable number in error message
- Deconflate preconditions and predictions
- Add HHVM README.md section on reporting security issues
- Fix memory leak in vasm-xls
- Revert D2067091 - "Don't ignore I<A> when declaring "extends I<A>, I<B>""
- Leave the TC an x64 ret when returning control from a resumed async function
- Remove exit placeholders before store/load elim and other passes
- Fix a bug in expand() for stack AliasClasses unioned with non-stack slots
- Add builtins to analysis
- Simplify CountArrayFast based on RAT array types
- Refactor packedArrayBoundsStaticCheck to return an enum
- Fix a load-elim bug when simplify() folds a CheckType into a Jmp
- Fix some problems with gvn on array instructions
- Rewrite JSON printer to use buffers instead of strings
- Make StringData::Make methods initialize the ref-count to one
- Remove unnecessary strcpy call in f_tempnam
- Selectively include DV inits and function bodies in the same region
- Add annotations to TransRec and use them for printing IR.
- Don't use strtok in trace.cpp
- Fix framework test runner options handling.
- Fix positional argument handling.
- More 4.9 build fixes
- Fix some hack errors.
- Check method preconditions at call sites and output errors and warnings
- [hhvm-lockdown] Improvements to serzialize_memoize_param
- Use md5 as key for scalar arrays
- Use static strings for special cases in serialize
- simplexml_load_file: check for null return from File::Open()
- Hoist CheckType
- Treat type aliases of classes like the aliased class in VerifyParamType
- Fix help string for optional arguments.
- Add ability to list tests and run a specific test to hphp framework suite.
- Fix some bugs with AliasAnalysis for stacks (bring back the stk_expand_map)
- curl: add support for CURLOPT_PROTOCOLS and friends
- Add curl_strerror
- Fixed single-line comments for mac
- Don't trigger a fatal error if MySQL wasn't required
- Use `mysql_config --socket` instead of mucking with paths
- Fixed SplPriorityQueue losing extract flags after clone
- `ConstructInstance` returns an exact type
- Fix test in OSS build
- Add Variant move assignment operators for various types
- Fix prologue counter used in irgen::emitFuncPrologue
- Add a runtime option to control the number of huge pages used for the text section
- HHVM parser support for new optional shape fields syntax
- LibDwarf shouldn't forcefully require LibElf
- Allow custom paths for pthread library when building Folly
- Update linker-script
- Peephole optimize away trivial copy2 sequences.
- Add ExitPlaceholders
- Increase hh_client auto-typecheck wait time
- Better register hinting
- memcpy rewriting
- Switch-related cleanup
- [HHBBC] Handle conflicting class/type-alias names in resolve_class()
- Miscellaneous optimization options for LLVM backend.
- Tune per arena lg_dirty_mult settings.
- Update CakePHP3 to 3.0.5
- Change test/run to discard line-comments in .opt files
- Fixed a memory leak in SplDoublyLinkedList's pop and shift methods
- Add $previous parameter to ErrorException::__construct
- Fix compile error in thread-safe-setlocale.cpp in clang.
- [hack] Allow anonymous functions to be subtypes of non-anonymous functions
- [hack] Don't print ANSI color sequences if output is not a TTY
- [hack] Format: Improve handling of XHP class members
- [hack] Don't add trailing comma to multiline function type hint
- [hack] Format: print colored diff output
- [hack] Add --patch option to hh_format
- [hack] Don't recurse infinitely on Tvar(x) -> Tunresolved[Tvar(x)]
- [hack] Have format code use Core library
- [hack] Fix up hh_json
- [hack] Don't assert false on unknown signals
- [hack] Avoid creating Tunresolved[Tunresolved[...]] in type unification
- [hack] Move instantiation of function tparams to Typing_phase.localize
- [hack] Update hackificator deploy script
- [hack] Don't run dfind in hack build tests
- [hack] Fail hard if initial heap size is too large
- [hack] Mock out logging when running tests
- [hack] Daemons should not print to the console
- [hack] Makefile: Sort dependencies alphabetically
- [hack] Fix crash with identifier named "namespace"
- [hack] Simplify HackEventLogger
- [hack] Add additional checks for implementing type constants
- [hack] Fix load script path lookup

"King" 4-Jun-2015
 - [hack] Format: `function() {...}` instead of `function () {...}`
 - [hack] Fix build with ocaml 4.01
 - [hack] Daemonize the logging process
 - [hh] typechecker: unify function terminality code for `noreturn`
 - [hh] format: 'elseif' => 'else if'
 - [hh] typechecker: remove Injectable deps
 - [hhvm][oss][perf] Reduce checks in Implode
 - [OSS Perf] Use FileCache for opendir() and readdir()
 - Link with boost_context library.
 - Rewrite store-elim as partial redundancy elimination
 - [hhvm] Simple script for OSS repo mode
 - add nullbyte detection to proc_open
 - add nullbyte detection to shell_exec,exec,system,passthru
 - optimize ini_get() for integer values too
 - Add an option to enable hotcfg/wholecfg regions only for functions marked as hot
 - [bootcamp][hh_client]strip current directory when printing errors to a tty
 - [HHVM] [Lockdown] Fast Object <=> Array cast
 - Do join/meet/widen/fixpoint for backwards analysis
 - Add check and test case for interface attempting to implement
 - Enable hotcfg region selector by default
 - [hack] User attributes on typedefs
 - Implement join meet widen etc for Forward_analysis_result
 - Add a hotcfg region selector that prunes wholecfg-like regions based on profile weights
 - Add support for errors, proof obligations, predicates and generic analysis summaries
 - Move array_map() to HNI.
 - [hh_format] Add support for Type Constants
 - allow RescheduleWaitHandle to work for [0..PHP_INT_MAX] as priority
 - Optimize str_replace(string, string, string)
 - Make IR invariants hold after irgen; check an unchecked one; fix disabling DCE
 - Fix an insert-asserts.cpp issue for critical edges
 - Let load-elim track AFrame/AStack knownTypes across php calls
 - Allow load-elim.cpp to insert phis when it can enable its optimizations
 - Improve AliasAnalysis::may_alias
 - Add a profile-guided code layout pass
 - Support variadic builtins via FCallBuiltin
 - Support "num args" extra parameter to HNI builtins
 - [hhbbc] Fix generation of ConcatN opcode
 - Add IR-gen support for VGetL of type Gen
 - hphp admin, don't ask for password for some simple queries
 - [hack] Reduce number of places where we call string_of_path
 - [hack][format] Don't add trailing commas after variadic params
 - [hack] Format: Handle XHP trait import syntax
 - Fix various issues with gcc-4.9 build
 - [hack] Format: Improve handling of XHP bodies
 - [hhvm] Port thread-safe-locale
 - Fix double free in stack trace handler.
 - Fix fastcgi behavior with FixPathInfo=true and apache 2.4+mod_proxy_fastcgi
 - Remove -fno-gcse option for clang.
 - LibPng and LibJpeg are required to build the GD extension
 - Create two separate tokens in translator-asm-helpers.S and remove ##.
 - Add support for widening to Ai_analysis_result
 - Introduce ARef class to load elimination
 - [hh] typechecker: improve uninit property error messages
 - [hh] typechecker: reconsider initialization rules for traits and abstract classes
 - Don't warn when xdebug cannot connect to a remote client.
 - [hhvm] Don't optimize out concat binops with potential side-effects
 - Call zend_startup_strtod if zend compact is enabled.
 - [hack][typechecker] Don't ignore I<A> when declaring "extends I<A>, I<B>"
 - [hhvm] Support user attributes on typedefs
 - Clean up func prologue APIs
 - Fix token for <?=
 - Fix SmartPtr-related PDO persistence bugs
 - Update third-party - new Squangle
 - Use GeneralEffects for InterpOne, ExitEffects for InterpOneCF
 - Use GeneralEffects for iterator instructions
 - Translate NullSafe FPushObjMethodD when the base is null
 - Add a simple dbgp client for debugging HHVM
 - Enable relocation and use ETCH_NAME in translator-asm-helpers on Mac.
 - Make irgen Concat support more types
 - Fix conversion order bugs in intepreter Concat operations
 - [hhvm] Fix ExtraArg leak when an VarEnv used in the same ActRec
 - Generate declarations for scan functions.
 - Remove error when goto inside a finally jumps to a label inside it. Add error when goto in a try-finally has target crossing finally.
 - Set pagezero size and .text.keep section executable on Mac.
 - Cache time zone validity.
 - Call zend_startup_strtod so ezc extensions can use zend_strtod.
 - Provide a way for an analysis to control fixpoint detection
 - Fix emitter bug with nullsafe property accesses on an sprop base

"Jobs" 21-May-2015
 - [hhvm] Fix recursive ldap.h include on OS X
 - [hhvm] Add cast in async mysql
 - A little bit of thrift cleanup
 - Fix some gcc-4.9 compatibility issues
 - Remove comment referencing multi-line header support.
 - Clean up AKExists(Arr|Obj) codegen
 - [hack] Recheck changed files before responding to client
 - [hack] Remove unused Typing_env stuff
 - Fix the format of hash-crc.S to build on Mac and Cygwin.
 - Add input validation to urimap2 step
 - [hack] Fix OSS build
 - [hack] Check types of declared methods/vars/consts in decl mode
 - [hack] Require `?` in nullable decl parameters
 - [hack] Disable test_load_script_lib
 - [hack][load script] Complain if user doesn't seem to have much free space
 - [hack][load script] Avoid spurious failures in dir creation
 - [hack] Log the time it takes to recheck
 - Remove Server.WarmupDocument option
 - [hack] Remove Program.filter_update
 - Async command support in xdebug
 - [hh][typechecker] Add error for assigning to $this
 - [hhvm] More globally remove the OS X `isset` macro
 - [hhvm] Implement pipe2 compatibility
 - Make regionizeFunc aware of region retranslation arcs
 - AsioContext::exit should not copy its queues.
 - [hhvm] More RequestTimer stubbing on OS X
 - Use iterable queues in asio
 - Use to scheduler to run the taint analyses
 - Step 2 of Collections Migration
 - Augment call graph with calls to default constructors
 - Add prediction-based bytecode-level typechecks
 - Track predicted types in the eval stack
 - [hack] More logname tweaks
 - [hhvm] Better error reporting in ext_hh_client
 - [hhvm] We actually require boost 1.51
 - Add UnownedAndNonNull tag for SmartPtr ctor that sets the refcount of a non null ptr to one.
 - socket timeout support float
 - [hh] Move handling of "this" type into Typing_phase.localize
 - Fix XLS Vreg hinting
 - Remove MEMORY_PROFILING and memory_profiling build flags.
 - [hack] hh_client stop / restart should not fail if processes don't exist
 - Add support for incremental analysis and outer fix points.
 - Remove linter for XControllers with async names
 - [hack][load script] Handle unicode characters in file names
 - [hhvm] Add missing include for runtime.h in emitter.cpp
 - Correctly clear the vector to fix crash in cmd_break.
 - Fix lchgrp gid check and add warning as with chown
 - Added stream filter wildcard support + added convert.iconv.* filter
 - Fixed 'last day of this month' issue with DateTime
 - fix right log tips while php file not exists
 - Add contains_safe to the sparse-id-containers
 - AMIStateAny needs killing in various places
 - Make AliasAnalysis::expand more accurate
 - Fix compact accelerated protocol PHP byte decoding
 - Do not free the result of gethostbyname() to fix crash on Mac.
 - Step 1 of Collections HNI conversion
 - Fix some issues in insertAssertions
 - Remove the *Logged() allocation apis since hhprof is dead.
 - [hack][load script] Increase lock expiry time
 - Fix get_called_class() call in BuiltinEnum::assert
 - [hhvm/gdb] Learn how to read
 - [hhvm/gdb] ArrayKind moved into HeaderWord
 - Update constructors in Collection hhi files
 - Add the Ref alias class
 - [hack][format] Handle one-argument lambdas correctly
 - Fix XLS liveness computation
 - Fix ReflectionClass::getMethods filter with abstract methods and interfaces
 - Include missing errno.h in afdt-util.cpp.
 - Some cleanup to abi-x64.h
 - [trivial] fix a few comments about rVmSp
 - Remove remaining AdjustSP cases
 - Add mode for identifying function callsites in source file
 - [hhvm] No need to tell xargs to split on newlines
 - [hack][format] Better handling of nested XHP
 - Change hphp/test/run to use proxygen server for server mode
 - Annotate which translation has loops in TC print
 - [hack][lint] Add gen_slog warning
 - Fix the hphpd "run" command with arguments
 - Nix extra mov in func prologue guard
 - [hack] Log the command-line arguments to hh_client
 - [hack] Ensure client shuts down old connection before retrying
 - [hhvm] Move around where hardware counters are turned off
 - More accurate ReturnEffects
 - heap-trace: Use mark byte in header instead of metadata.
 - Fix catch block assertion in codegen
 - Fix re-enter effects
 - Partition members of RequestInjectionData
 - Add a call map to the call tree type
 - Remove ActRec::{kInvNameBit,hasInvName} (use the MagicDispatch flags instead)
 - Add ATTRIBUTE_NORETURN to raise_error
 - Use clang to add GC scan methods to classes.
 - Change a handful of virtual methods to override.
 - scan RequestEventHandlers
 - Modify ColAdd{New,}ElemC spec/behavior to not require isCollection check
 - [hh] Reduce error spew when typechecking anonymous functions
 - Fix building gd extension with libvpx 1.4.0
 - [hhvm] Change defaults for Hack/HHVM integration flags
 - [hhvm] ext_hh_client should deal with non-JSON reponse from hh_client
 - [HNI] NatveData classes should not extend Sweepable
 - Move count into HeaderWord
 - Kill WarnNonObjProp instruction
 - Add a class to help debug optimizations
 - [hack] Fix builtins_async_mysql type signature
 - [hack] Log the *age* of the merge base, not the date
 - Clean up the bits in ai.ml that call schedule code
 - NativeData classes with sweep() methods shouldn't extend Sweepable
 - Add support for %L[sdfC] to AsyncMysqlClient::queryf()
 - Enable proxygen server by default in OSS HHVM builds
 - [hack] Record the version of Jane Street's Core
 - [hack] Add Result module from Core
 - [hack] Simplify ClientStart code
 - Swap the Kind & mark bytes in HeaderWord
 - [hhvm/gdb] Better handling of memoized values from inferior
 - [hhvm/gdb] Accept more expressions for single-argument commands
 - Remove redundant if before inserting copy
 - Create a scheduler to run analysis tasks
 - [hhvm] We require boost 1.50
 - Replace incorrect uses of AliasAnalysis::must_alias and rename that function
 - Fix incorrect use of AliasClass::operator| in may_reenter
 - Use HeaderWord in various utility headers
 - make unboxPtr() work on any pointer type
 - Use HeaderWord in ArrayData and subclasses
 - Put collection reserves back into thrift.
 - [easy] add POW tokens to BinaryOpExpression::outputPHP
 - [hhvm] Fix test-context.h test
 - [hack] Make load script lock blocking
 - [hack] Remove redundant "already running" check
 - [hack] Always start up server even for `--retries 0`
 - [hhvm] OS X doesn't have or need -lrt
 - [hack] Sketchy null check should fold unresolved types
 - [hack] Have redundant-nullsafe check apply to property accesses too
 - [hack] escape shell glob for find
 - [hack] Fix ternary expression fake member handling
 - Remove unnecessary stores of TInitNull in irgen-builtin unusualCatch
 - Remove an AdjustSP in front of EagerSyncVMRegs
 - Don't AdjustSP in prepareForHHBCMergePoint, remove the TRACE_PUNT about it
 - Change kCrossCallRegs to not include rVmSp
 - Put DFS struct in unnamed namespace in region-whole-cfg
 - Allow test/run --wholecfg to run wholecfg
 - Don't redefine stack pointers for inlined functions
 - Make some hidden FramePtr dependencies explicit in the IR
 - Rename FPAbsOffset to FPInvOffset
 - Clarify DefInlineFPData::spOffset
 - Remove one of DefInlineFP's StkPtrs
 - Use a lot of ->func() instead of ->m_func for ActRecs in backtrace.cpp
 - Change native.cpp's getInvokeName to return func->fullName()
 - Don't require storing null to ActRec::m_invName at non-magic callsites
 - Make all functions have AttrMayUseVV in non repo auth mode
 - Fix some places where frames without AttrMayUseVV could get VarEnvs
 - Fix an error message in get_defined_vars
 - Turn ActRec flags into an enum to make it a little easier to extend
 - Use ActRec::kNumArgsMask in funcPrologueRedispatch
 - Add a unit test for a weird case with __call methods and constructors
 - Remove rStashedAR
 - Remove handleSRResumeTC entry point in enterTCHelper
 - Don't redefine StkPtrs for HHIR call instructions
 - Use HeaderWord in StringData
 - [hack] Ternary expressions should not leak lenv changes
 - Use HeaderWord in ObjectData and ResourceData
 - Remove the 'zend' command from hphpd
 - Track MixedArray capacity, hashtable size, and mask using m_scale
 - Fix writing of null-characters in SessionHandler
 - Add -latomic if needed in linking hhvm
 - Fix tc-print's LLVM flag
 - Fix rbp phis in vasm-llvm
 - Add declarations for ResourceData comparison functions.
 - Refactor HashCollection to work with a normal empty mixed array.
 - Fix various runtime options
 - Move tc-print tool to open source
 - [hack][load script] Close fds when shelling out
 - [hack][lint] Allow $_ as a param name
 - [hh] typechecker: rename "cvar" to "prop"
 - [hh] typechecker: tweak dynamic yield typing
 - [hack] Factor out version checking logic
 - [hhvm/gdb] AsyncFunctionWaitHandle has an m_children now
 - [folly] Move Singleton out of folly/experimental into folly/
 - HeaderWord for RefData
 - Rename HeaderKind::Native->NativeData and Resumable->ResumableFrame
 - Use root map manager for LDAP extension.
 - Construct analysis schedule from call tree
 - Fix findDefiningBlock
 - Don't crash HHVM with null-byte-ridden DOMDocument paths
 - Initialize collections with arrays
 - [hh][typechecker] Move localize logic into its own files
 - Fix exit service request for retranslations of the region entry block
 - [hack] Allow destructing assignment of ConstVector
 - [hack] Fix disabled build tests
 - [hack] Remove last of the covariance hacks
 - [asio] Introduce HH\Asio\{join,result,has_finished}()
 - [hh] use ... unpacking instead of cufa in meth_caller
 - [PDO] Fix double-free of SmartPtr
 - [hh] Fix return type of ImmVector::fromKeysOf
 - [libxml] Don't crash on invalidated arguments
 - [hhvm][ini] Refactor Config::[Get|Bind] functions for ini migration
 - Move Statement::KindOf and Expression::KindOf into Construct

 "Irwin" 8-May-2015
 - [hhvm] Optimization on array_slice
 - [hhvm] Add Hack.Lang.AutoTypecheck
 - [hh][typechecker] Move Expansion of Typedefs into Localize
 - Add rvalue ref versions of cast functions
 - Rename refcount-opts2.cpp to refcount-opts.cpp
 - [xenon] Fix crash when unwinding
 - MemoryManager API organization
 - Fix memory-effects for LookupClsMethod
 - Fix vasm jump optimization in presence of loops
 - [libxml] DOMDoc/DOMAttr memory leak
 - [hack] Remove cat_opts
 - [hack] Remove h2tp's List_ext
 - Switch to using Core_list
 - [xenon] Integrate with stack frame metadata
 - [hack] Have AI use Core_list instead of List
 - [hack] Remove opt_fold_left
 - [hack] Use the features available in 4.01
 - Build call tree to use for scheduler
 - [hack] Fix the month in our logs
 - set_frame_metadata(): allocate local and disable dynamic calls
 - [hack] Remove 3 second delay on small project startup time
 - [hhvm][easy] Fully-qualify some names in ext_hh_client
 - [hhvm/gdb] Use "new style classes"
 - Update vasm-llvm for bindcall ABI changes
 - Use cmpl instead of testl for surprise flag checks
 - Remove StLocNT instruction
 - Remove docjson hphpc option
 - [parser] Use FunctionContext to store hasCallToGetArgs flag
 - [hhvm] OCaml must be at least 4.01
 - Shrink mixed-array by eliminating m_cap field.
 - [hack] One more fix for `super`
 - [hack] Remove variance hacks for Collections
 - [hack] Static polymorphism check should fold unresolved types
 - [hack] Stabilize TVar numbers displayed by hh_show()
 - [hack] Remove Imm{Map,Set}::fromArray from hhis
 - [hack] Deprecate Set::fromArray
 - [hack] Add generics to Set::fromArray
 - Make Proxygen server open source
 - [hh] typechecker: check that parent::__construct is called
 - Add support for setting some xdebug options from hdf.
 - Update timelib version used by HHVM
 - Fix implicit integer conversion in XDebugServer
 - [hh][typechecker] Introduce Type "Phases" By Utilizing GADTs
 - Simplify CFG by merging blocks
 - [hhvm/gdb] Look up line numbers for PHP functions
 - [hhvm/gdb] Implement `info asio' command
 - [hhvm/gdb] Add asyncstk command for printing PHP async stacks
 - [hack] Fix handling of `super` constraints
 - Remove weird echo statement in test/run
 - Support xdebug handling the Debugger.resume command in chrome debugger protocol
 - Temporary workaround for EH problem in LLVM backend.
 - Make getTyped return a SmartPtr.  Add deprecation message.
 - Use signed int64_t for index in the AElemI AliasClass
 - Don't differentiate between cloned closures and normal funcs using rStashedAR
 - Make func-prologue-related unique stubs not use rVmSp
 - Make the stack overflow helper not require rVmSp on the way in
 - Remove the rest of the rVmSp uses in function prologues
 - Don't use rVmSp in emitMagicFuncPrologue
 - Fix a bug in method-statement that allowed __call to take named variadic params
 - Don't use rVmSp for stack overflow checks
 - Remove TranslArgs::dryRun
 - Fix small leak of strings from UniqueStubs::add
 - Add a way to read offsets from DecodedInstruction
 - Make arm BackEnd subclass final
 - Move emitTraceCall out of all the BackEnds, use an IR instruction instead
 - Make a VpassTracer for vasm passes
 - Allow unpacks in functions with call-by-ref args
 - Thread hooks create expensive backtraces
 - Update with patched LLVM.
 - More scaffolding for building analysis schedules
 - [hhvm][easy] Targeting 3.8.0
 - Create phi nodes for vmfp when needed in vasm-llvm
 - Add some missing dependencies in common
 - Moar const correctness.
 - Use SmartPtr in libxml
 - Replace newobj with makeSmartPtr in asio.
 - Catch and handle DataBlockFull exception during prologue generation
 - Add another condition for simpleProp
 - [hack] Deprecate Map::fromArray
 - [hack] Add generics to Map::fromArray
 - Add scaffolding for running and unit testing schedules
 - [hh] typechecker: improve handling of invariant ... [2/2]
 - [hh] typechecker: detect abstract static calls
 - [hh] typechecker: improve handling of invariant ...
 - Clean up call graph code and hide implementation
 - buildURIMap2 actually generate PHP classes
 - [hack] More logging for saved state
 - [hh] Don't use unpack operator for MethCallerHelper if there are no args
 - redis responseDouble returns false on error, not null
 - Make call graph aware of class (static) virtual methods
 - remove IR:CustomInstanceInit
 - remove __init__ usage from SplPriorityQueue
 - [hack] Touch file when something changes
 - Simplify the DefLabel case in GVN
 - [hhvm] Cache result of \HH\Client\typecheck
 - Updated call graph with overridden virtual methods
 - Add LLVMAttrs runtime option
 - Move experimental/tupperware -> tupperware/experimental
 - [hack] Only include .hhi files in our hhi.tar.gz
 - simpleProp depends on clsSpec but doesn't constrain on it
 - Add id<->root mapping interface to memory manager.
 - Refactor StringData using 16-bit CapCode
 - [hhvm] Simple implementation of phpinfo()
 - Fix packed array detection in emitter
 - Add some basic test coverage for live relocation
 - [hack] Fix typo in lint URI
 - [hh] typechecker: error on catch of non-Exception.
 - [hack] Remove autogen of tokens hhi
 - move Variant::unserialize to variable-unserializer
 - Clean up cgCheckStaticBitAndDecRef
 - move Variant::serialize() to variable-serializer
 - Fix crash in FCallUnpack
 - Extend the pos to method object map to include static methods and top level functions
 - Convert PackedArray capacity to a 16-bit pseudo-floating-point format.
 - Fix bug with closures in static methods
 - fix_duplicate_fastcgi_header
 - Clean up some SIMD instructions in LLVM backend
 - Volatile loads for inc/dec.
 - Add an option to only keep LLVM code if it's smaller than vasm
 - [hh] typechecker:  deduce correct return types for '// decl' generators
 - get Nast.method_ object corresponding to call graph target positions
 - Use movups instead of movdqu in codegen
 - [hh] typechecker: move responsibility for detecting generators to the parser
 - added first rudimental tracing
 - [create_function] Stop JITing per-request functions
 - [hack] Add deprecated Vector::fromArray back to hhi
 - [hack] Commit token updates
 - json_of_t
 - Add an HHI file for Transliterator
 - GVN doesn't check supportsGVN when looking through DefLabels
 - [hh] typechecker: check for `void` values used in function param expressions
 - [hh] typechecker: remove 'allow_null_as_void' from typing env
 - Remove litstr typedef
 - Don't emit Switch bytecode for 1-case switches
 - Updated the test cases so to be included in classes

"Harris" 23-Apr-2015
 - Fix preloadRepo
 - [asio] Two round enterContext()
 - Handle emptiness correctly in arrElemReturn
 - Turn off RecordSubprocessTimes by default
 - Ability to attach metadata to a stack frame
 - [h2tp] support parameter unpacking calls
 - fix memory leak while parse ini file
 - Stop the health monitor when the pagelet server stops
 - Avoid some overhead dealing with NewCol
 - [hhvm] Session: Preserve user save handler on session_destroy
 - Fix mapping the shared area of RDS in Cygwin.
 - Make ThreadManager initialization explicit, rather than load-time
 - Fix fread on an SSL socket potentially waiting for data from socket when
   OpenSSL already has data

"Gadd" 9-Apr-2015
 - Add catch traces to PHP-level calls
 - Run class initializers before ObjectData constructor
 - Avoid crash when invoking error handler from RetC
 - Call-time pass-by-reference is removed
 - Add xdebug_var_dump
 - Heap Tracer
 - [ini] Bind more options of collection types
 - [hack] Support static checks on double-quoted strings
 - Scan all of RDS
 - Partial HNI conversion of fb.idl.json
 - [hack] Allow class constants to be treated as static strings
 - [hh][typeconst] Add basic reflection support for type constants
 - [hphpd] Re-enable disabled breakpoints if trying to set them again
 - Support static property as foreach target
 - [ini] Make getting settings that are containers act correctly
 - Don't truncate regions to one bytecode in region-tracelet
 - SmartPtr cleanup
 - Don't attempt a Live translation after failing an Optimize translation
 - Disable ext_string hasExactlyOneRef opts
 - Add a dump-repo command
 - More efficient functions for reading/writing via afdt sockets
 - [hack] Make socket/logs world-writable
 - [hh][typeconst] Forbid constants from implementing abstract type constants
 - Fix an issue with inlining and unreachable code
 - OBC HNI Conversion
 - FBML HNI conversion
 - [asio] Kill BlockableWaitHandle
 - Merge collection types into header kind
 - Disable LocalCopyProp and EliminateDeadCode in hphpc's preOptimize
 - New refcount optimizations
 - Make the new refcount opts pass the default (remove calls to the old one)
 - Add a checkCfg pass that ensures each SSATmp is defined only once
 - Restructure mark loop, fix a couple bugs
 - Disable guard relaxation in wholecfg mode
 - StringBuffer HNI conversion
 - Using Linux perf mechanism to implement clock_gettime()
 - Add perf based code relocation step
 - Track sub process times in LightProcess
 - Enqueue ambiguous pointers after filtering
 - Allocate vxls spill space on demand
 - [hhvm] Add hh_client extension and \HH\Client\typecheck()
 - Implement bindcall in LLVM backend
 - Remove zf2
 - [hhvm] Improve behavior of hack lambdas for uninit vars
 - Track the main hardware counters for light processes
 - Use health monitor for pagelets

"Fry" 27-Mar-2015
 - Fix Reflection: Variadic parameters not marked as optional
 - Fix unnecessary dns lookups on startup of hhvm in non-server mode.
 - Memset with AVX2 support
 - Perform strict comparison for set() options array
 - Re-executing a PDOStatement with MySQL doesn't work correctly
 - Fix #4916 by using is_a() to check if the classname provided is valid
 - Set the memory limit default to 16GiB
 - Extend ZEND_GET_MODULE to present getModuleBuildInfo.
 - Added NULL check on module->functions in ZendExtension::moduleInit().
 - Fix reading Thrift's accelerated map when using compact protocol
 - Support null-safe property lookups
 - `unpack` should return an empty array for empty input
 - ReflectionClass: resolve default prop values from updated cache
 - Raise a cmake error if MySQL socket path can't be identified
 - Fix infinite loop in hphpd's client->server connection logic
 - [ini] Remove NoInfiniteLoopDetection
 - Update HHVM to use jemalloc-dev
 - Don't let odbc hang indefinitely
 - Add support for nullable XHP attribute types

"Earle" 12-Mar-2015
 - Fix some issues with the perf counters
 - Conditionally enable pthread_mutex_timedlock emulation
 - [hack] Run all declaration checks for builtin hhi files
 - Improve the new refcount optimizer
 - Improve return types of multiple HHIR opcodes
 - [hack] Check for unimplemented abstract functions in decl mode
 - Fix free of uninitialized ptr in GD
 - Fix segfault in unserialization when referencing invalid array element
 - Apply libmagic security updates
 - Fix incorrect use of ArrayIdx on a map with constant int-like string keys
 - Fix some bugs with reserved name (self, parent) restrictions
 - Convert MySQLi to NPH
 - [hack] Allow config whitelisting of <<UserAttributes>>
 - [hack] Improve hackificator
 - Avoid forming tracelets that can't have IR fully emitted
 - Add patch and instructions for building custom version of LLVM
 - Optimize ord()
 - Clean up jit::Type methods and improve its behavior
 - Make "Vary:" header more precise
 - Match PHP's `use strict;` easter egg and add one of our own
 - Add PowerPC64 arch-specific code
 - Add support for noreturn return typehint
 - Allow Bottom in the IR
 - Support hot/cold splitting in LLVM-generated code.
 - [hack] Add hh_client --list-modes
 - [hack] Add various lint checks and improve lint logic
 - Make __Deprecated('...') user attribute result in runtime warning
 - [hack] Avoid timing out when list of errors is very long
 - Improve interface method compat checks for Type Constants
 - [hack] Add HHI for SQLFormatter
 - [hack] Add HHI for mcrouter extension
 - Support for visiting non-BlockableWaitHandles in debug_backtrace()
 - Fix Switch-related bug in instrSuccOffsets
 - Introduce simplifier tool
 - Convert extensions to use SmartPtr
 - Fix memory effects for a bunch of HHIR opcodes

"Ditko" 26-Feb-2015
 - Make printf use HH\FormatString instead of FormatString (we're planning to
   un-reserve \FormatString in a future version).
 - Release the async mysql extension
 - Release an async MCRouter extension
 - FastCGI largely re-written; should fix several rare crashes
 - Make sure that C++ method signatures match the HNI
 - Make the typechecker be as strict about XHP classes as other classes. This
   can be reverted by putting 'unsafe_xhp=true' in your .hhconfig
 - The ZRANGEBYSCORE and ZREVRANGEBYSCORE need to take in start/end scores as strings
 - [asio] Move cycle detection from BlockableWaitHandle to WaitableWaitHandle
 - Add a StackTraceTimeout option to set the timeout for the backtrace handler.
 - Define FOLLY_HAVE_PTHREAD_SPINLOCK (for ppc port)
 - [hh_format] Change scoring function to match developers expectations better
 - update libmagic CVE-2014-0236
 - Fixes #4764 by adding a Redis::unwatch() method
 - Disable external entity loading to SOAP WSDL files CVE-2013-1643 CVE-2013-1824
 - [hhvm] MySQLi: Move mysqli class to NPH
 - [hh] typechecker: use __Deprecated for DynamicYield
 - zend initialization settings now work better
 - optimize ord('static string')
 - Reuse spill slots in vasm XLS
 - Fix ImmMap::values() and ImmMap::keys() to return ImmVector
 - Fix rare race between setting timeout and initializing thread locals
 - Fix exception leak in tc_unwind_personality
 - [hack] Fix load script time offset
 - [hack] Restore hhi touch
 - Create an IntervalTimer extension
 - [hhvm] Pass eom flag to Transport::sendImpl
 - [hack] Fix tmp dir creation
 - [hh][typeconst] Fix Parser Bug for Type Constant
 - Fix a bad bug in alias-analysis.cpp
 - remove obsolete libevent patch
 - Matched PHP's clowniness in long2ip()
 - Modified StringData::shrink() to check against the capacity
 - Backport PHP bug #54002 - crash in exif_read_data
 - Fix hhvm number formatter fa_IR tests
 - Better numa scheduling
 - Reduce code size in crc hash functions
 - Fix DebuggerDump serialization of keyless collections
 - Fix persistent redis connection using unix socket.
 - Fix segfault in mysql_escape_string without connection
 - Remove logic for perfectvirtuals from compiler
 - Implemented `hhvm-gdb` command and distribute gdb scripts
 - Add missing static method ImmVector::fromItems()
 - Don't cleanup RPC state in destructor if there's nothing to cleanup
 - Fix object comparison bug in HHVM
 - Fix Pair::{skip,skipWhile,take,takeWhile}() to return ImmVector
 - explicitly null-terminate buffer for gethostname()
 - Remove varray/miarray/msarray and ArrayTracer
 - Make CryptoLocalKeychainLoader static data managed by folly::Singleton
 - [hack] Allow Enum<arraykey>
 - [hhvm][fastcgi] Fix use-after-free after FastCGI protocol errors

"Colbert" 12-Feb-2015
 - Reduce size needed for reusable stubs
 - Replaced uses of StringData::bufferSlice() with mutableData()
 - [hhvm][ini] Provide mechanism to support collections of complex data structures
 - [hhvm][ini] Support mysqli ini settings
 - [hhvm/gdb] Enable hashing of strings w/o m_hash
 - Fix Memcache::connect with unix socket
 - fix bug #4727 with timezone_name_from_abbr()
 - [hack] Deprecate is_integer, is_long, and other is_* aliases
 - [hh] typechecker: check "inheritance" for class consts
 - [hhvm] Move DOM extension to NPH
 - [hh] typechecker: run (some) checks on abstract constants
 - [hack] Deprecate join, split, and create_function.
 - [hack][typeconst] Rework Type Consts to not use type defs
 - [hhvm] MySQLi: Support isset() for result fields
 - Fix memory leaks in CacheClient for getNextFinishedRequestID API
 - Make access log %h behave more like Apache
 - [hack] Recognize __Deprecated attribute on functions and methods
 - [hhvm] get_resource_type of closed files is "Unknown"
 - Implemented directives: variables_order&request_order
 - Show meaningful closure names in backtraces
 - [hh] typechecker: don't allow async blocks as lambda expressions
 - Add HH\get_headers_secure
 - [hhvm/gdb] Finish documenting GDB support
 - [hhvm/gdb] Fix parts of `hhx' that got out of sync
 - [hack][typeconst] Finalize Type Const syntax
 - [hhvm/gdb] Add pretty-printer support for object properties
 - [hhvm/gdb] Refactor lookup_func into component accessors
 - [hhvm/gdb] Support {Fixed,Indexed}StringMap in `idx'
 - [hhvm/gdb] Fix some bugs in `idx'
 - [hhvm/gdb] Add rawtype() and rawptr() helpers
 - [hh] add __Deprecated attribute wired to ReflectionFunction::isDeprecated
 - [hh] hh_format: support abstract const syntax [2/2]
 - [hh] h2tp: "support" abstract consts
 - [hh] hh_format: support abstract const syntax
 - [hh] typechecker: parse abstract const declarations
 - [hh] typechecker: only look for __callStatic for static methods
 - [hh] typechecker: fix references to `parent::constant`
 - [hack] Allow subtypes in arithmetic modulo op
 - Be more lenient in accepting extra ',' in icu date pattern gen.
 - Accept image/png as a legal mimetype from ext_imagick.

"Ballmer" 29-Jan-2015
 - Miscellaneous fixes for clang dev build
 - Make gd-jpeg compatible with jpeg-9
 - [hh] typechecker: parse array-string-keys within interpolated strings
 - [hh] T_FINALLY is a standard token
 - [hack] Add option to format PHP and decl files
 - [hhvm][easy] Care a little less about paths in filter_input_array.php
 - Add HH\Asio\curl_exec() as an awaitable \curl_exec()
 - Implement IntlChar class
 - Add imagesetinterpolation to gd extension
 - Add per-branch cli option support to benchy
 - [hhvm] Restore -g to cmake debug builds
 - Fix ReflectionClass method ordering
 - Allow slightly malformed serialized strings, because PHP
 - Use parameter coercing rather than explicit cast with chr()
 - [hhvm] MySQLi: Set fetched fields prior calling a constructor
 - Move Editor plugins to wiki
 - Remove $ENV config from FindMySQL.cmake
 - Fix bugs in floor and ceil behavior
 - "Fix" tvCanBeCoercedToNumber() for malformed numeric strings
 - Add missing file constants; use HNI for some existing ones too
 - Fix SmartPtr move constructor on Variant.
 - Trim values in Accept-Encoding: header filed
 - Add "Vary: Accept-Encoding" to reposnse header when compression is enabled
 - Fix memory leaks in MySQL common and MySQLi
 - [hack] Various fixes for hh_format
 - [hack] Allow array-get syntax for KeyedContainer
 - [hack] Remove _tags file for Ocaml 3.12 compatibility
 - Fix docs for DecodeCufIter
 - Install hphp/runtime/version.h during make install
 - Fix leak on bitwise string operations
 - Improve test run to checking $_SERVER/$_ENV
 - Cloning exceptions should raise a fatal error
 - Disallow destructor/clone method be static
 - [hhvm] Add version binary
 - Update exception classes, fixes #4442
 - Add a system profiler and hook some actions of interest to New Relic
 - [hphp] Added NumberFormatter locale/rounding tests
 - Add llvm/vasm bytecode counters
 - [hack] Add support for immediately-executed async lambdas
 - [hack] Add --no-load option, make load script path relative
 - [hack] Have hh_server invoke the load script
 - Add TYPO3 Unit tests to the OSS framework parity check
 - Array multi sort
 - Fix some stability issues in the server tests
 - Remove Redis::SERIALIZER_IGBINARY constant
 - Produce easier to handle HHVM version identifiers
 - Fix bizarre memory corruption on exit
 - Add Hack typing for array_values
 - remove vim editor-plugin
 - [hhvm] Fix mysqli segfault
 - [hack] Improve position info in member-not-found error
 - Update third party hash for small libmbfl change
 - [hh] typechecker: canonicalize function names
 - Capture full line ending for single-line comments
 - Add a bunch of async helper functions
 - [hack] Add --strict/--loose option to AT converter
 - Autocomplete - don't suggest methods that aren't visible when class isn't fully known
 - [hack] Fix return-in-finally check.
 - [hack] Fix OSS tests
 - [hack] Avoid relinking all of hh when format_hack changes
 - [hh] updated various hhi files
 - [hh] typechecker: parse "true", "false", "null", "array" more correctly
 - [hh] hack build: don't generate newv calls in buildEgo
 - [xenon] Fix attribution of CPU time spent in the asio scheduler
 - Add StructArrays
 - Don't let GD create images that would exceed the request memory limit
 - [hack] Set up proper test scaffold for hh_format
 - [hack] Allow "$c[] = .." when $c is declared as a collection w/o type params
 - [hack] Fix race in declaration of BuiltinEnum

"Austin" 15-Jan-2015
 - [asio] Introduce ConditionWaitHandle
 - [hack] `hh_server --version` should not require a root
 - [hack] Log exceptions thrown in the master process.
 - [hack] Enable unused var warnings under typing/
 - [hh] typechecker: unbound name errors in partial/decl mode
 - [hack] Disallow trailing comma in used trait list
 - [hack] Have coverage / coloring use a hook
 - [hack] Create lock file if it doesn't exist
 - Fix std::terminate when debugger is not attached during unwind
 - [hack] Make `trait ... extends ...` into a parse error
 - [hack] Make multiple inheritance a parse error
 - [hh] typechecker: support Enum in xhp attribute declarations
 - [hack] Raise type errors on undefined static polymorphism lookups.
 - Fix realpath lookup
 - [hack] Let any user write to the saved state dir.
 - [hack] Don't have an optional param that's an option type
 - RequestInitDocument   404  friendly reminder
 - Implement Phar::running()
 - Make Redis utility methods public
 - Contiguous Heap Prototype
 - [hh_format] Don't add trailing commas in used trait lists
 - [hh_format] Don't add trailing commas in template parameter lists
 - [hh_format] Fix bug with hh_format --diff duplicating some lines.
 - [hh_format] Don't destroy whitespace in files with "**/" in comments
 - fix for iconv_mime_decode_headers function skipping headers
 - Add CPU option for JIT (EvalJitCPU). Defaults to 'native'.
 - Limit glob flags to only ones supported by php
 - make recursion limit for unserialize
 - Allow trailing commas in short-lamba expressions
 - Fix some leaks in new_socket_connect
 - fixed decoding utf8 strings so they correctly return '?' on invalid sequences
 - Actually get the realpath first thing when searching for a file.
 - Faster UnitCache
 - Simple speedup for is_dir
 - [hh] typechecker: demand consistent casing for primitive typehints
 - Support timestamp begins and ends for getTransitions()
 - Add global value numbering pass
 - Support \u escape sequences in double-quoted strings
 - ResourceLimit.SerializationSizeLimit can be overwriten from the vhost config
 - Check Eval.JitAMaxUsage when deciding whether to start profiling a function
 - Allow hex in mb_encode_numericentity
 - [hhvm] Work around leak in boost flat_set
 - Add stream_await() for async stream "blocking"
 - [typechecker] Add support for reading XHP attributes via "->:"
 - Modify rpoSortCfg to reduce memory usage in refcount-opts
 - Fix #4380, making get code and get message final
 - Add PHP_INT_MIN
 - Disable PGO for pseudo-mains
 - Mock date/time functions in Isolation.php
 - Fix error_get_last() not cleared when error handle function entered
 - [hhvm] RFC: Native Property Handlers
 - [hack] Define proper constants for CURLOPT and friends
 - Make newlines in http headers a fatal error.
 - Add Hack typing to array_keys
 - Use a custom implementation of strtoll for unserialize
 - [hack] control whether unseen <?php code is assumed via .hhconfig

Z* 18-Dec-2014
 - Converted objprof extension to use heap parsing

"Yelawolf" 4-Dec-2014
 - Fix comparison of overflowing strings
 - Fix potential memory corruption during ArrayData::set
 - Introduce util to restart current process
 - Share variable environment in eval'd assert
 - [Find] Only escape spaces in paths for find
 - Don't ignore Eval.JitAHotSize
 - Fix checkCfg's defined-tmp checks to be aware of edge-defined tmps
 - Fix bugs relating to edges in IRInstruction::become
 - Fix insertPhis calls to IRUnit::replace()
 - Use sha1sum for the repo-schema
 - [hh] typechecker: add constants to hh_client --show
 - [hack] Dump typedef info in `hh_client --show`
 - Make BigNode parsable, extend HeapIter to visit BigNodes.
 - Allow static invocation of DOMDocument::load* methods
 - Allow "array" with type args to be used in XHP attribute declarations
 - HTMLEncode strings in wddx_serialize_value()
 - [hack] Make dependency on lz4 optional for OSS build.
 - [hack] Have hh_server take the list of files to recheck as relative paths
 - [hack] Docblock parser for AT
 - Add version number to imagick extension
 - Support Authorization header in apache_request_headers()
 - [hack][build] Add needs_rerun hook for XController build step
 - Fix call to fetchObject without class name
 - Add possibility to create a DateTime object with timezone
 - DateTimeImmutable::createFromFormat returns false on failure
 - [hh] typechecker add PREG_* constants to hhi
 - Raise warning when put_contents on non-regular file with exclusive lock.
 - Use uncounted strings to cache non-static regexes
 - Use specializeExact whenever we know AttrNoOverride from whole program analysis
 - Fix some not-type-safe LdRef code generated in a situation with SetOpL
 - Split inner ref type checks into a separate instruction from LdRef
 - Add support for stream wrapper in include_path.
 - cmake option to enable avx2 instruction support
 - Add missing default to PharData::decompress()
 - [hack] Add lz4 compression when saving server state.
 - Fix leak in tvCoerce*
 - Trie Search - optimizations for JS
 - Don't throw an exception on unknown IP address for OSS
 - [hh] parity: match php 5.6 in treatment of array_fill with num = 0
 - Make ob_start function signature PHP 5.6 compatible
 - Fix issues with private properties and apc
 - Implement remaining straightforward vasm ops in llvm backend
 - [hack] Type strlen's return value.
 - [hack] add additional iterator interfaces
 - Improve segaddr fixing for 32-bit destructors
 - Fix parent::__cOnStRuCt and similar with PHP4 constructors
 - Make stats.json on the admin server return valid json
 - [hack] Simplify coverage JSON output, and add non-JSON output option.
 - Remove kernel version assertions
 - [hack] Fix bad escaping of directory names
 - [hack] Add some hhi constants for pcntl.
 - Fix problems in getCurrentPropertyOffset relating to m_ni.inputs
 - Fix CSE to be aware of where SSATmps are known to be defined
 - Add an analysis module for functions that query information about the IR
 - Don't JIT functions that use $php_errormsg or $http_response_code
 - Fix default SOAP HTTP client
 - [hack] Member access is `->` followed by lvar, not word
 - Fix comparison between doubles and hex numeric strings
 - Implement a bunch more vasm instructions in llvm backend
 - Enable ASAN for smart allocator
 - Record the start time for every request
 - Fix parsing of binary literals denoted with a capital '0B'
 - Fix Symfony's it's not safe to rely on system timezone setting errors
 - Allow non-static expressions in function parameter defaults
 - Fix a bug in Index::lookup_constraint
 - [hack] Add logging to server_options_cmd.
 - Fix optional 'errorcode' parameter is not set up properly
 - Fix PHP primitive default parameter type check
 - Weaken assert in FileUtil::canonicalize
 - [hack] Error when using "shape" as a type
 - Fix getOldestStartTime
 - Add zlib.output_compression ini option
 - Add missing argument to DOMXPath::{query,execute}()
 - htmlentities() should output valid ISO-8859-1 characeters to appropriate entities
 - Remove bad assert from BaseVector::data()
 - Cleanup sock and pid files on graceful exit from FastCGI
 - [hack] Add script for determining server startup options
 - [hack] Record init time in log output.
 - Fix some bugs in intersecting specialized types
 - [hack] Fix duplicate unbound name errors
 - Update OCaml to 4.02.1
 - [hhvm] Add per kind ArrayFunc counters for ArrayTracer
 - Fix use-after-free in the access logs
 - Wait for clean shutdown on SIGHUP
 - [hhi] add at() to MysqlRow in hhi file
 - [memoize] Go back to individual cache props for statics
 - Break regions after FCall & friends when using LLVM
 - Remove support for magic quotes (also removed in PHP 5.4)
 - qlzcompress is not available everywhere, and there's no support for it in OSS
 - Change the Profiler constructor to not necessarily force CPU affinity.
 - Add getTypeText to ReflectionParameter
 - Remove trailing junk from IP addresses for sockets
 - Preserve index of sockets passed into/out-of socket_select()
 - Fix lchown when no user found
 - [hh] typechecker: split function bodies into named and unnamed
 - [hack] fix error with capturing locals for a foreach using a ref
 - guess root from supplied filename, where that makes sense
 - Show a nice error when an invalid argument is passed to hphp -t
 - Expose Imagick::getImageMimeType to userland
 - SplFixedArray::FromArray() throws InvalidArgumentException not Exception
 - Make default_socket_timeout match PHP 5.x
 - VerifyRetTypeC optimizations for repo-mode
 - Turn off refcount opts by default when HHIRBytecodeControlFlow is on
 - Make profiled packed array gets not rejoin the main line
 - Side exit on surprise flags for backward jumps
 - Print edges with colors in IR dot graphs; make dotBodies usable
 - Fix region-method support for loops
 - Correct the return type of BaseG; fix some missing renames of Mem -> Memb
 - Adopt PHP7's looser handling of return values in user session handler
 - Honor the Redis timeout
 - Fix mysqli_options. Stop asserting.
 - Fix some bugs in hhbbc support for http_response_code, php_errormsg
 - Introduce immediately executed async lambdas
 - Allow nested namespaces with sane behavior
 - Updated win32-cygwin patch Fixes Issue #4062
 - [hh] typechecker: ReflectionClass hhi fixup
 - [hack] Add hh_server --version
 - Fix a few memory management issues in DOMDocument
 - Prevent m_nextKI from going negative in MixedArray
 - [hh] typechecker: declaration location in extend_final error
 - [hack] Enable .hhconfig to control hh_server flags
 - Respect status codes from `Status:` header in addition to `HTTP/` header
 - Fix number_format() to deal with very large precisions/very large numbers
 - Fix closure use var reflection for referenced vars
 - Support self parameter typehint
 - [h2tp] modify build to support h2tp
 - [hh] hh_format: understand async lambdas
 - [hack] added support for abstract class constants

"Xzibit" 20-Nov-2014
 - Fix readline request locals
 - Don't leak HashContexts
 - Fix a race freeing an APCHandle
 - Don't clean up memory in AdminRequestHandler::abortRequest
 - Fix setup/teardown for requests handled by WarmupRequestHandler
 - Extend IR type system for more information about pointers
 - Use proxygen as a git submodule
 - Version of memcpy-x64 optimized for the tail end of 7,6,5,4 bytes in an N byte copy
 - Eliminate default cases in DataType switches
 - Match PHP5 backquote processing
 - Add overflow info to is_numeric_string
 - Add support for pre-built branches to benchy
 - Allow calling closures inline
 - Allow systemlib function declarations to use reserved words for function names
 - Add HH\{int,float,bool} typehints to PHP
 - Deep initialization for constant properties
 - Enforce void return on native class constructors/destructors
 - Replace NEWOBJ with newobj<T> and newres<T> functions
 - Change default FCGI socket permissions
 - Support openssl replacements which don't export RANG_egd()
 - Fix use-after-free in TimeZone
 - Support GCC/LLVM stack-smashing protection
 - Make sure Type::Bottom is a subtype of everything
 - Fix hphpd crash when printing systemlib classes
 - Convert file extension to HNI
 - Convert DOMDocument extension to HNI
 - Convert POSIX extension to HNI
 - Convert array_multisort to HNI
 - Add fribidi extension for HHVM
 - Mechanism for enabling request-local heap profiling
 - Make prediction opts deal with arbitrary load/check instructions
 - Add JSON output support to benchy
 - HHIR pass to do dead store elimination on frame locals
 - Adjust single parameter warnings for min()/max()
 - Make AlwaysLogUnhandledExceptions=off and CallUserHandlerOnFatals=EnableHipHopSyntax
 - Always use RuntimeOption::SourceRoot to resolve repo-auth lookups
 - Refactor debugger tests
 - Fix parser to allow "type" and "newtype" to be used as typevars
 - Convert system/idl/function to HNI
 - Remove type annotations for array_sum and array_product
 - Don't populate the litstr-to-id map in RepoAuthoritative mode
 - Move m_lineTable to a side table
 - Only try to autoload classes with valid names
 - Proper PDO connection errors
 - Move hfsort linker script tool to OSS
 - Move slow 'quick' tests to 'slow'
 - Add option to make inconv actually match the docs
 - Convert socket extension to HNI
 - Convert stream extension to HNI
 - Fix UserFile::access behavior to match PHP5
 - Fix for wrong PATH_INFO and PATH_TRANSLATED (maybe)
 - Move generated .h and .cpp to unique dir
 - Fix for phat:// stream wrapper with no stub
 - JSON encode closures as empty objects for PHP compat
 - Disable parameter typehints for builtins to match PHP5
 - Convert PDO extension to HNI
 - Fix assert related to async return typehints
 - Allow collections in array_sum() and array_product()
 - Use the time in default xdebug output file
 - Allow vxls to allocate vmsp during traces
 - Only initialize sweepables on new threads
 - Load Offset->line number mappings on demand
 - Fix SOAP memory leak
 - Add OSS support for benchy

"Will.i.am" 13-Nov-2014
 - Add benchy.py for benchmarking HHVM
 - Tune and enable PGO for all functions
 - Generate HHIR opcode table by extracting lines from ir.specification
 - Convert a few more extensions to HNI
 - Limit the maximum number of bytecode instructions in a region
 - Improvements to <<__Memoize>>

"Vanilla Ice" 27-Oct-2014
 - Fix logging
 - An async method's return annotation (if there is one) must be "Awaitable"
 - Fix a bug in how __Memoize sets up FPI regions
 - Fix issues with shutdown/postsend functions
 - Fix is_callable for interface and abstract methods
 - Added support for ReflectionFunction::getClosureThis()
 - Add option to run perf to hhvm_wrapper
 - Use a global cache for timezone info
 - Implement readline_info()
 - Fix NumberFormatter::format for string values
 - Corrected socket connect for IPv6 hosts
 - [hack] Fix parsing of postfix operators.
 - Region selector improvements
 - Disallow <<__Memoize>> on interfaces
 - Convert APC to HNI
 - Align recoverable fatal error's message with PHP
 - [hack] Make hhi for some builtin constants.
 - HHBBC improvements (enums, etc.)
 - Properly shutdown debugger threads on exit
 - [hack] support for 'abstract final' classes
 - Convert string to HNI
 - Fix SOAP extension type encoding
 - make test runner not puke when run with xargs
 - [hack] reflection support for first-class enums
 - Make `yield;` a valid statement

"Ultramagnetic" 9-Oct-2014
 - Optimize strtr
 - Closure::bind support
 - Cleanup/shrink various runtime data structures
 - Various jit performance optimizations
 - Fix various debugger crashes
 - Better handling of memory limits
 - Hack: System user attributes will be prefixed with __, notably <<Override>> renamed to <<__Override>>
 - Hack: Support for 'abstract final' non-instantiable non-inheritable "utility" classes

"T-Pain" 25-Sep-2014
 - Use vasm virtual registers in x64 backend, transition fully to vasm-xls
 - 'arraykey' scalar typehint that accepts both ints and strings
 - Add OSS benchmarking suite
 - Fix PDO::bindColumn
 - [resumable] Set resumed flag before suspending VarEnv
 - Objprof for HHVM (Approx. instance counter)
 - Make RUSAGE_THREAD available to getrusage PHP function
 - clean up /tmp/test-run- files
 - VASM register-coalescing via hinting
 - Be more conservative about HNI types when there are InterceptableFunctions
 - Add runtime support for null-safe method call operator "?->"
 - Add sanity test system to OSS benchmarker
 - Fix double deallocation of object in zend conversion of object to string
 - [hhvm|memoize] Makes <<__Memoize>> work with arbitrary args
 - Use raw troff encoding for official HHVM man page
 - Add --php options to HHVM man page
 - Fix GMP tests/crashes
 - Implement posix_errno
 - Xdebug remote debugging compatibility and bug fixes
 - Add options parameter to DOMDocument::load/loadHTML()
 - Add support for GNU tar symlinks to PharData
 - Add max_file_uploads support
 - Improve process error checking in perf runner
 - posix_getgrgid()['members'] should be empty array if no users found
 - Convert from jemalloc's obsolete *allocm() to *allocx()
 - Use EqX instead of Eq for Obj/Num comparisons.
 - make class closure consist with PHP
 - Fix guard relaxation to work with bytecode control flow
 - Allow vm-stack flushing in rpc threads
 - stop killing LightProcesses while writing out stacktrace.log
 - Get hhvm compiling with clang-3.5
 - Update .hhi files for ConstSet, Set, and ImmSet
 - Force the linker to keep symbols in lowmem on MacOSX
 - Make guard relaxation work with unreachable code
 - Add minimal hdf support to test runner
 - Analyze/optimize pseudomains in hhbbc
 - [hhvm|memoize] Fix segfault on certain memoized functions
 - Support mappy ini configuration
 - Xdebug cleanup and trivial features
 - Abort the server if a request gets stuck
 - Added support for Closure::bind()

"Snoop Dogg" 11-Sep-2014
 - VASM phase 1: emit vasm instructions, with existing register allocation
 - More xdebug support
 - [hack] Implement async lambdas.
 - add process memory and code segment size to admin memory page
 - Overhauled xdebug remote debugging testing
 - Add a mechanism for building and testing a zend extension as a DSO.
 - Support fast object allocation path when Eval.EnableObjDestruct call is on
 - Static string table memory usage
 - Implement parallel repo preloading.
 - Add mcrypt constants to hhi
 - Move var_dump() to HNI, kill off variable.idl.json
 - JIT: Use std, boost, and folly instead of smart containers.
 - Hack: Support for variance (+/-) annotations on type-parameters
 - Implement APCIterator
 - Convert v?s?printf() to HNI using Variadics
 - Enable variadics for HNI functions/methods
 - Smooth a wrinkle in HHVM's safesort impl
 - Make Set implement KeyedIterable and support bracket syntax for reading
 - Covariance fixes

"RBX" 28-Aug-2014
 - Make MemExceeded flag sticky
 - Check for OOM during json decoding
 - Check surprise flags when unserializing arrays and objects
 - Limit curl timeout to remaining request timeout
 - Add variant of openssl_pkcs7_verify that ignores cert expiration
 - Numerous changes to support xdebug
 - Remove use of non-threadsafe strtok()
 - Numerous changes to normalize INI setting names
 - update to new sqlite
 - <<__Memoize>> support
 - Hack: Print backtrace when worker dies
 - Parser support for "varray(..)"
 - Introduce kVPackedKind for vector-like arrays
 - Move mailparse to HNI
 - VASM start phase 1; emit vasm for some instructions
 - Fix in headers defines for cygwin
 - [hack] Parser: Fix decl mode's confusion of type hints and xhp.
 - Create a unified stack for Xenon
 - Move debugger from IDL to HNI
 - Fix mcrypt_create_iv(..., MCRYPT_RAND) to auto-seed RNG
 - Fix information leak in hash_equals() implementation
 - don't statically link libgcc/libstdc++ by default on OSX
 - Adds ssdeep module to HHVM
 - added new raise_error family functions that skip the top frame of the backtrace.
 - Add initial support for -d outside of --php mode
 - Fix covariance for Const{Vector,Map,Set}, add tests
 - GMP cleanup/fixes
 - Implement SplDoublyLinkedList::add
 - Link against LLVM library if present.
 - Disallow multiple 'default:' blocks in a single switch
 - Introduce async function lambdas
 - Document the PHP profilers
 - Fix sample profiler output; make it more efficient
 - Properly shut down fastcgi worker threads when connection is closed
 - Delete SimpleProfiler
 - Create HHVM man page
 - Improved PHP compatibility in the reflection API.

"Queen Latifah" 14-Aug-2014
 - Implement RecursiveCallbackFilterIterator
 - cmake installations should no longer put files in hphp and now put them in hhvm
 - Fix error for (Recursive)CachingIterator::ctor's param 1
 - Force OOM check on large smart allocations
 - Support stream wrappers in XML parser extensions, add external entity loader
 - Fix LowPtr load in codegen
 - Fix race condition in DebuggerProxy start/stop
 - Log per request if oom or timeout triggered in dynostats
 - Break out hhvm request timeout / memout counters for psp vs non-psp
 - Support collections for third parameter of preg_replace() and friends
 - Added functions imagewebp and imagecreatefromwebp
 - Fix mb_convert_case when encoding set other than default
 - Added function imagepalettecopy to ext_gd
 - Remove reflection hacks for primitive typehints
 - Fixed tempnam() creates paths with '//'
 - Add LibGMP extension
 - Fix heap overflow in sql_regcase() for input >1GB
 - Add HHVM hookups for folly::Singleton
 - Fix isset on classes extending ArrayObject
 - Only track live objects that actually have destructors
 - Specify ssl cipher list for curl with OpenSSL only
 - Remove support for "service threads"
 - PDO MySQL's getCode() didn't match errorInfo
 - Run usercode before ending the request
 - Make DynamicExtensions work in ini
 - Provide backup utf8 sanitizer when UConverter is unavailable
 - Pass duplicate flag to SNI Initial Handler Callback
 - fb_intercept now accounts for variadic functions
 - Add variadic function to fb_intercept test
 - Implemented basic xdebug tracing
 - Rename snappy methods
 - Add sort_flags to ArrayObject::asort
 - Changed CRYPT_BLOWFISH to 1 because apparently it is available
 - Convert ext/mysql to HNI
 - Add log when memory usage reached the MaxRSS
 - Fix http headers parsing + Remove unused code + Fix indentation
 - Fixed error output for json_encode
 - Corrected the var_dump output for Exception class
 - Relax restrictions on the typing of class constant shape field names.
 - Fix file:// URL decoding in libxml functions and elsewhere

"Public Enemy" 31-July-2014
 - Interface requirements (similar to trait requirements) enforced
 - Initial support for PHP5.6 argument unpacking: f($x, $y, ...$args)
 - Hack: hhi files are embedded in the hh_server binary
 - removed trampolines and the Eval.JitTrampolines option
 - Hack: improved support for Generators, including async generators
 - Documentation of PHP-level profiling in doc/profiling.md
 - Cleanup of PHP-level profilers
 - Change default for Eval.EnableObjDestructCall to true
 - Bundle PCRE 8.32 with open-source HHVM, so we can use the JIT

"Outkast" 17-July-2014
  - PHP_VERSION is now 5.6
  - Introduce Dbl specific relational IR opcodes
  - Expose APC info to admin port
  - Improve Zend compatibility in the reflection API
  - Implement xdebug_call_class
  - Hack: first version of formatter
  - Convert ext/xsl to HNI
  - Hack: improve init time
  - Remove JIT::RuntimeType
  - Fix floating-point overflow for binary, octal and hex literals
  - Collections: Vector::addAllKeysOf
  - Hack can build on OSX now
  - Fix await/yield operator precedence
  - Fix various xcontroller issues
  - Enable HHIRBytecodeControlFlow by default
  - Various changes/fixes to WholeCFG region selector
  - Introduce async generators
  - Kill clock_settime
  - Fix Memcache::get($keys) when $keys is an array
  - Implement xdebug_call_function
  - Change order of wait handle processing from FIFO to LIFO
  - Add Redis::_serialize()

"Notorious B.I.G." 25-Jun-2014
 - Remove Translator::analyze (replaced by tracelet region selector)
 - Allow empty keys in hash_hmac() and hash_hmac_file()
 - Interface requirements supported in parser
 - Implement xdebug_{peak_,}memory_usage
 - Inline singleton-pattern functions
 - Cleanup in PhpFile and FileRepository
 - Fix mysqli_query return value for query without result
 - Implement xdebug_call_file
 - Add fastlz support to memcached extension
 - Fix ini_get to return false for non-supported settings
 - Fix PHP version constants
 - All numeric comparisons involving NAN, except != and !==, are now false.
 - Implement xdebug_call_line
 - Optimize ini_get
 - Remove dump-file-repo admin command
 - Fix stdclass promotion of static private properties
 - Remove unused locals in global dce (HHBBC)
 - Get mockery at 100%
 - Fix casting resource to object
 - Relocate code to arbitrary alignment
 - Always let the first character through for camelcase searching
 - Implement xdebug configuration options
 - Convert ext/memcache to HNI
 - Match php5's memcache getoption
 - ./configure --help now has all the options
 - mysqli: return false on non-selects
 - Don't include bt_handler or killpg in backtraces
 - Don't buffer overrun on bad DNS TXT records
 - Fixed property access to DOM and XMLReader classes
 - Add support for ParamCoerceModeFalse

"Mos Def" 11-Jun-2014
 - Turn on new tracelet region selector by default; analyze() is deprecated
 - Fix a bug in debugBacktrace with NativeImpl methods
 - Request local allocator now uses logarithmically spaced size classes
 - Improvements to JIT'd FCallBuiltin to cause fewer spills
 - Enable vtable-style dispatch on methods marked "abstract"
 - JIT several instructions that were being punted:  Unbox, File, Dir
 - Increase "hinted drop" time on write lease, improving JIT'd code layout
 - Implemented __toString functions in reflection classes
 - Several tc-print bug fixes
 - Some improvements in hhbbc arithmetic type inference
 - More service requests are "ephemeral", reducing wasted stubs space
 - HH\Vector now has a packed array internally, for O(1) conversions to array
 - current() and key() now support expressions that can't be taken by reference
 - Fix a long-standing but very rare race condition with Closure class names
 - gcc 4.8 is the new minimum to build
 - Various bug/compat fixes in Soap, SimpleXML, ArrayObject, DOMNode, mysqli
 - Add a scheme to extend support for efficient packed arrays w/ cap up to 2^32
 - Move vmfp, vmsp, and vmpc into RDS
 - Fix some hard-to-hit bugs in inlining relating to stack overflow checks
 - Faster int to double conversion when calling builtins from the JIT
 - Fix ReflectionParameter::getClass for scalar typehints
 - better tuning of the PGO 'hot function' threshold
 - performance improvements to calling native class methods
 - improve performance of async functions that exit via exception
 - several bug fixes in refcount optimization pass relating to async functions
 - More hhir-related docs in the hackers-guide
 - Initial support for relocating generated machine code
 - JIT optimizations for count()
 - Corrected the result of var_dump and print_r for ArrayObject
 - fix HH\autoload_set_paths with nested maps
 - make ReflectionClass serializable
 - ext/standard/output HNI conversion
 - allow usage of zend-qsort in user sorts with a runtime option

"LL Cool J" 28-May-2014
 - Over 200 other bug fixes (go lockdown!)
 - Every HDF setting is now available as INI
 - Cut session_id() size by 1/2
 - Added 'Z' format string for pack/unpack
 - We now build on clang
 - Fix pcre cache to not fatal when full
 - Implement $php_errormsg
 - Adding -n CLI option to hhvm php mode
 - Fix substitution of invalid UTF8 sequences in htmlspecialchars
 - FastCGI: Use SCRIPT_FILENAME as the PHP script to run
 - Can create DateTimeZone's from abbreviations
 - Put all fastcgi params into $_SERVER
 - Many DOM classes are now serializable
 - Define the xhp tokens
 - Many reflection changes for perf and compatibility
 - Default fastcgi to listen on 127.0.0.1
 - remove register_cleanup_function
 - Map: reserve()
 - Set: retain(), reserve(), addAllKeysOf()
 - {Set|ImmSet|Vector|ImmVector}::fromKeysOf()

"Kanye West"
  - Backport fix for CVE-2011-2202
  - Interfaces {Keyed}Container match arrays *and* collections, not iterables
  - Added ** and **= operators to HHVM and more compatibility fixes with PHP5.6
  - Fixes and improvements to collections
  - Replace json decoder with json-c library
  - Document VMRegAnchor and isVMFrame()
  - Improvements to array iterator code
  - Improvements to the type checker
  - Allow parser to be generated with bison 3
  - Improvements and speed up to reflection code

"Jay-Z" 9-May-2014
  - Make handling of code.hot overflows more robust
  - Catch server errors sooner
  - Fix segfault and infinite recursion in fileinfo extension
  - Resolve systemlib constants at compile time
  - Resume resumables natively
  - Import round() table optimizations from php-src
  - Delete bytecode Peephole optimizer
  - Remove most of annotation.cpp, and some other code gated on !UsedHHBBC
  - Create phis for locals
  - Fix free of "" in rfc1867PostHandler
  - Add firstValue(), firstKey(), lastValue(), lastKey() to collections
  - Add concat() to collections
  - Clarify Hack license
  - Add CakePHP3 to test runner
  - Better error when TC is full
  - Add hash_equals() from PHP 5.6

"Insane Poetry" 24-Apr-2014
  - Support for PHP 5.6 variadic ...$args syntax for func declarations
  - Open source HHMeasure, a simple and extensible microbenchmarking tool
  - Added a new time-based sampling profiler (Project Xenon)
  - Fix PCRE unicode handling
  - Convert Zend compatibility layer and various extensions to HNI
  - Encode execution mode (eager or resumed) into SrcKey
  - Merge eager and resumed parts of async functions
  - Rework various async / continuation bytecode instructions

"House of PHPain" 1-Apr-2014
  - Allow direct arg passing with up to 15 params (7 if at least one is a double)

"Ghostface Killah" 17-Mar-2014
  - Remove "HipHop" from error messages
  - Add __IsFoldable user attribute for const-foldable functions
  - Add __Native("NoFCallBuiltin") UA for builtins which need an actrec
  - Add support for testing different outputs in repo mode
  - Implement remaining functionality from intl extension
  - Implement XSL extension
  - Implement Stream Filters
  - Improve php.ini support and get ready to kill HDF files
  - Parse config files as ini files, unless filename contains '.hdf'
  - Various fixes to Redis, JSON, SPL, DateTime, MySQLi, and others
  - Remove C<T>Ref typedefs (use const T& now)
  - JIT default on in command line mode
  - gethostname() just returns what the syscall returns (Zend compat)
  - HHBBC turned on in the build for facebook.com

"Fifty Cent" 3-Mar-2014
  - Array parameter type constraints implicitly cast collections to arrays
  - Fix issues with feof and fwrite
  - Fix issues with sleep and inaccessible properties
  - Dump a jemalloc pprod dump when a request hits OOM
  - Make method_exists work with interface inheritance
  - Fix crash in preg_replace with /e
  - Support filename and content type in Curl uploads
  - MySQLi fixes
  - Handle relative paths in is_dir
  - Add string conversion for array_fill_keys
  - Implement various Imagick functionality
  - Implement CUROPT_PROGRESSFUNCTION
  - Implement PHP 5.6 __debugInfo() magic method
  - Raise warnings when return type annotations mismatch
  - Fix nested ArrayObject assignment
  - Switch many ini settings to thread-time binding
  - Clean up memory stat tracking
  - Immutable collections are now prefixed with Imm instead of Fixed/Frozen
  - Clean up type parameter for CheckType-related IR opcodes
  - Remove legacy linear-scan register allocator and Eval.HHIRXls option

"Eminem" 18-Feb-2014
  - reenabled jemalloc tcache flush for idle threads
  - array_combine now performs __toString conversion on objects in $keys
  - Allow streams in move_uploaded_file
  - Fix a bug double closing a UserFile
  - Warn when first arg to call_user_func is an object with no __invoke
  - kill userland hdf functions
  - Final method reports itself as final
  - Implement IntlCalendar
  - Disallow create_function in RepoAuthoritative mode
  - Case-insensitive check for Accept-Encoding: gzip

"Donald Glover" 3-Feb-2014
  - Support for "::class"
  - Enable FCallBuiltin for HNI functions
  - json_decode parity with PHP 5.4
  - Fix race condition with profiling vs. non-profiling functions prologues
  - Implement ini_get_all()
  - Begin conversion of runtime options to INI
  - Fix potential PGO-mode crash
  - Fixes and enhancement in IR printing
  - Vector and Set now supported by:
    array_{shift,unshift,fill_keys,reverse,flip,size,chunk}, min, and max
  - StableMap is now an alias for Map, which retains insertion order
  - Map moved to HH namespace
  - Fixes in XLS spilling of SIMD registers
  - Support SCRIPT_FILENAME in FastCGI
  - Implement stream_context_{get,set}_default
  - Support for Intel VTune Amplifier XE
  - Rewrite of SimpleXML
  - Several HNI conversions, and a helper script
  - Move Pair to HH namespace
  - Fix get_included_files ordering
  - Fix $_SERVER and $_ENV in FastCGI
  - Update timelib to php 5.5.8
  - Some dead code removal

"Coolio" 21-Jan-2014
  - Turn on Region JIT
  - FastCGI fixes, perf improvements
  - ext_zend_compat fixes
  - Turn on XLS Register Allocator by default
  - Fix server stats reporting
  - 'num' scalar typehint that accepts both ints and floats
  - fix support for typedef'd namespaces
  - don't swallow fatals when autoloading
  - Map collections learned the in-place retain() and retainWithKey()
  - rename Set::difference() to Set::removeAll()
  - Update Set to retain element insertion order
  - remove APC stats
  - Fixes for ARM mode
  - FrozenMap collection
  - Deprecated Vector|Set|Map::put() method removed
  - == between Frozen{Vector|Set|Map} and {Vector|Set|Map} now can return true

"Beastie Boys" 6-Jan-2014
  - Support lex-time binary constants (eg. 0b10111)
  - StreamWrappers now support rmdir, mkdir, rename and unlink
  - Miscellaneous PHP5 compatibility fixes
  - Default StatCache to off
  - Miscellaneous FastCGI fixes
  - Miscellaneous region compiler fixes
  - Map and StableMap collections use the same underlying implementation
  - Trait requirements enforced
  - hhprof performance improvements
  - Add array to string conversion notice
  - Add RaiseNotice IR opcode
  - Fix VirtualHost.<name>.Pattern matching
  - Fix various memory leaks (pdo_parse_params, Gen*WaitHandle)
  - Import a lot more Zend tests that used to crash or hang
  - Clean up base.h
  - XLS register allocation cleanup
  - Enable region compiler by default for JIT functions in ahot
  - Fatal on eval() in RepoAuthoritative mode
  - Enable LTO for HHVM
  - Fix a few SPL compatibility issues

"Appleseed" 23-Dec-2013
  - Fix issues with DOCUMENT_ROOT in fastcgi
  - Better type inference for collections and builtins in repo mode
  - Shorter syntax for lambda expressions w/ automatic captures
  - Parser support for trait require clauses
  - Move FrozenVector and Set to the HH namespace
  - Fix resource to array conversion
  - Fix a request local memory leak in foreach of apc arrays
  - Initial php_odbc API implementation
  - Implement PHP's hash_copy() function
  - Experimental tool: Memoization Opportunity Profiler
  - Various small parity/behavior fixes (in phar, proc_open, filter_var)
  - A Eval.DumpHhas=1 option to dump hhas for a php file
  - Better warnings in Set::toArray
  - Fix the behavior of foreach loops in finally blocks
  - chmod -x runtime/vm/jit/*.{cpp,h}
  - Changes to make hhvm build clean with clang-3.4
  - Fix array_product to not be bug-compatible with PHP 5.2
  - Change the Map datastructure---preserves order and does faster foreach
  - FrozenSet collection
  - Generate pid.map when we unmap text section, for the perf tool
  - Implemented GlobIterator
  - Implemented Reflection::export and Reflection::getModifierNames

"Tom Yum" 9-Dec-2013
  - support date.timezone in ini files
  - implement fileinfo
  - special comparisons for DateTime
  - delete unimplemented functions
  - support for the finally clause in try blocks

"Huarache" 26-Nov-2013
  - Linker re-ordering of hot functions
  - Huge pages for hot functions
  - Implement ZipArchive
  - preg_replace /e support
  - get_mem_usage() no longer can be negative
  - Userland file system support
  - Implement fileinfo extension
  - wordwrap() fixes
  - PDO::sqliteCreateFunction()
  - Implement NumberFormatter
  - Implement Locale
  - Implement DatePeriod
  - Many reflection fixes
  - Stub out PharData
  - A ton of performance fixes
  - A ton of open source framework fixes
  - FastCGI Server Support

"Garlic Alfredo" 11-Nov-2013
  - teach implode() about collections
  - fix ini parsing leak
  - Make array not an instanceof Traversable

"Burrito" 28-Oct-2013
  - Initial support for using FastCGI
  - Initial support for php.ini configuration files
  - Log when a nullable (e.g. ?int) is incorrect
  - Add support for collections to array_diff, array_diff_key, array_intersect,
    array_intersect_key
  - tc-print improvements and fixes
  - Several debugger fixes
  - More improvements to the experimental PHP extension compat layer
  - Fixed how parse errors are handled by eval()
  - Support custom reason for status header
  - Emit better error message when hhvm's systemlib doesn't load properly
  - Fixes / clarifications added to the bytecode specification
  - Lots of other bug fixes, clean up, PHP compat fixes, and JIT improvements

"Sausage" 14-Oct-2013
  - Direct invocation of callable arrays: $f = [$cls_or_obj, 'method']; $f()
  - ASAN clean
  - Support dynamically loadable extensions
  - Support loading mini-systemlibs from extensions

"Tabasco" 30-Sep-2013
  - Fix issues with __toString() functions that return non-string values
  - Don't allow mock classes to extend collection classes
  - Smarter memory allocation and scheduling for NUMA systems
  - Improve profiler performance in the jit
  - Fix several Zend compatibility issues
  - Fix several bugs uncovered by ASAN
  - Add collection support to array_keys, array_values, and array_combine
  - Return a set-like array from Set::toArray
  - Add to(Vector|Map|StableMap|Set) methods to collections
  - Collections convert to boolean false when empty
  - get_class_vars invokes the autoloader when necessary
  - Rework the Zend compatibility layer to be more robust
  - Allow traits to implement interfaces
  - Support arbitrary expressions inside empty()

"Bobotie" 16-Sep-2013
  - HNI (HipHop Native Interface) for calling C++ functions from PHP
  - Fix PropertyAccessorMap::isset
  - Expose more POSIX constants
  - Fixed behavior of stream_get_contents when default args are used.
  - Implement str_getcsv, and fix some fgetcsv related issues.
  - [IPv6] Fix stream_socket_recvfrom & stream_socket_sendto.
  - [IPv6] Fix socket_sentto_recvfrom_ipv6_udp Zend compatibility.
  - Optimize closure invocation and __invoke (~3x faster to invoke)
  - Import gettext extension
  - string and object allocation optimizations (reduced memory usage for both)
  - Import YAML extension
  - Import ftp extension

"Kimchi" 2-Sep-2013
  - Fix order of custom attributes and visibility in ctor arg promotion
  - Implement CachingIterator
  - Implement RecursiveCachingIterator
  - Generalized heuristic for choosing when to inline in the jit
  - Introduced a Zend compatibility layer to compile extensions
  - Imported calendar extension
  - Use gcc-4.8.1 by default
  - Improve hhvm command line parsing logic
  - Fix register_shutdown in session_set_save_handler to match PHP 5.4
  - Add "native" functions for use in Systemlib
  - PHP extension source-compatitblility layer
  - Fix ArrayIterator constructor PHP compatibility
  - Enable building against libmemcached 1.0.8
  - Debugger: $_ not cleared but still printed after exception
  - Fix clone of SplPriorityQueue
  - Debugger: Fix bugs when multiple threads hit the same breakpoint
  - Fix several namespace bugs
  - Several PHP compatibility fixes for ArrayObject and ArrayIterator
  - Fix list assignment with collection literals
  - support "tuple(...)" in initializer expressions
  - HHVM should compile with libmemcached 1.0.9+
  - Support "(new Vector {..})->method()" style syntax
  - use trigger_error in PHP for Redis user errors
  - multiple simplexml fixes
  - fixed serialize/unserialize for SplObjectStorage
  - Implement ReflectionParameter::IsCallable()

"Achiote" 19-Aug-2013
  - Async stack traces in the debugger via the "wa" command
  - Fix late static binding in static closures
  - Fix breakpoints on generators
  - Add SplObserver and SplSubject interfaces
  - Update Iterable interface and add toArray() method
  - Allow __get for undefined properties
  - Implement get_included_files()
  - Limit use of huge pages

"Churrasco" 05-Aug-2013
  - Implement stream_is_local
  - Implement read support for .phar
  - Implement assert with string arguments
  - Implement RecursiveArrayIterator
  - Implement php_strip_whitespace()
  - Support for timeouts in cli mode
  - Closure allocation optimizations (~2x faster to allocate a closure)
  - Implement Redis session handler
  - New memory profiler, hhprof, with pprof compatible output
  - Update isset($string[$k]) and empty($string[$k) to PHP 5.5 semantics
  - Fixed a few parser bugs
  - Fixed a few bugs with token_get_all()
  - Fix (string)$obj semantics when __toString() is not defined

"Tamale" 22-Jul-2013
  - Optimize vector-shaped Arrays (arrays with keys in range 0..size-1)
  - Enable HHBC by default in debug builds
  - Implement SplObjectStorage::getInfo()
  - Initial rough draft of xhpast2, a replacement for xhpast
  - fix compilation on Ubuntu 13.04
  - OSX changes, next round
  - Modify PHP's ext/standard/math/tests/(pow|abs).phpt to be HHVM friendly
  - add XHP comment syntax based on http://www.w3.org/TR/REC-xml/#sec-comments

"Wasabi Peas" 08-Jul-2013
  - always_assert when we run out of TC space
  - Initial changes to get HHVM compiling on OSX
  - Consolidate ObjectData and Instance
  - Prototype heap tracing framework & Heap profiler
  - Better JIT code generation for Mod and Div
  - Fixes to enable compilation with clang
  - Support for yield k => v
  - Make HHVM's command line parsing closer to PHP
  - Implement Redis extension
  - Implement LimitIterator from SPL
  - add SessionHandler from PHP 5.4
  - Numerous Debugger fixes and new developer docs for Debugger
  - Ported many extension tests to PHP
