2 - Removed support for Magic Quotes (also removed in PHP 5.4)
5 - Fix readline request locals
6 - Don't leak HashContexts
7 - Fix a race freeing an APCHandle
8 - Don't clean up memory in AdminRequestHandler::abortRequest
9 - Fix setup/teardown for requests handled by WarmupRequestHandler
10 - Extend IR type system for more information about pointers
11 - Use proxygen as a git submodule
12 - Version of memcpy-x64 optimized for the tail end of 7,6,5,4 bytes in an N byte copy
13 - Eliminate default cases in DataType switches
14 - Match PHP5 backquote processing
15 - Add overflow info to is_numeric_string
16 - Add support for pre-built branches to benchy
17 - Allow calling closures inline
18 - Allow systemlib function declarations to use reserved words for function names
19 - Add HH\{int,float,bool} typehints to PHP
20 - Deep initialization for constant properties
21 - Enforce void return on native class constructors/destructors
22 - Replace NEWOBJ with newobj<T> and newres<T> functions
23 - Change default FCGI socket permissions
24 - Support openssl replacements which don't export RANG_egd()
25 - Fix use-after-free in TimeZone
26 - Support GCC/LLVM stack-smashing protection
27 - Make sure Type::Bottom is a subtype of everything
28 - Fix hphpd crash when printing systemlib classes
29 - Convert file extension to HNI
30 - Convert DOMDocument extension to HNI
31 - Convert POSIX extension to HNI
32 - Convert array_multisort to HNI
33 - Add fribidi extension for HHVM
34 - Mechanism for enabling request-local heap profiling
35 - Make prediction opts deal with arbitrary load/check instructions
36 - Add JSON output support to benchy
37 - HHIR pass to do dead store elimination on frame locals
38 - Adjust single parameter warnings for min()/max()
39 - Make AlwaysLogUnhandledExceptions=off and CallUserHandlerOnFatals=EnableHipHopSyntax
40 - Always use RuntimeOption::SourceRoot to resolve repo-auth lookups
41 - Refactor debugger tests
42 - Fix parser to allow "type" and "newtype" to be used as typevars
43 - Convert system/idl/function to HNI
44 - Remove type annotations for array_sum and array_product
45 - Don't populate the litstr-to-id map in RepoAuthoritative mode
46 - Move m_lineTable to a side table
47 - Only try to autoload classes with valid names
48 - Proper PDO connection errors
49 - Move hfsort linker script tool to OSS
50 - Move slow 'quick' tests to 'slow'
51 - Add option to make inconv actually match the docs
52 - Convert socket extension to HNI
53 - Convert stream extension to HNI
54 - Fix UserFile::access behavior to match PHP5
55 - Fix for wrong PATH_INFO and PATH_TRANSLATED (maybe)
56 - Move generated .h and .cpp to unique dir
57 - Fix for phat:// stream wrapper with no stub
58 - JSON encode closures as empty objects for PHP compat
59 - Disable parameter typehints for builtins to match PHP5
60 - Convert PDO extension to HNI
61 - Fix assert related to async return typehints
62 - Allow collections in array_sum() and array_product()
63 - Use the time in default xdebug output file
64 - Allow vxls to allocate vmsp during traces
65 - Only initialize sweepables on new threads
66 - Load Offset->line number mappings on demand
67 - Fix SOAP memory leak
68 - Add OSS support for benchy
70 "Will.i.am" 13-Nov-2014
71 - Add benchy.py for benchmarking HHVM
72 - Tune and enable PGO for all functions
73 - Generate HHIR opcode table by extracting lines from ir.specification
74 - Convert a few more extensions to HNI
75 - Limit the maximum number of bytecode instructions in a region
76 - Improvements to <<__Memoize>>
78 "Vanilla Ice" 27-Oct-2014
81 "Ultramagnetic" 9-Oct-2014
83 - Closure::bind support
84 - Cleanup/shrink various runtime data structures
85 - Various jit performance optimizations
86 - Fix various debugger crashes
87 - Better handling of memory limits
88 - Hack: System user attributes will be prefixed with __, notably <<Override>> renamed to <<__Override>>
89 - Hack: Support for 'abstract final' non-instantiable non-inheritable "utility" classes
92 - Use vasm virtual registers in x64 backend, transition fully to vasm-xls
93 - 'arraykey' scalar typehint that accepts both ints and strings
94 - Add OSS benchmarking suite
96 - [resumable] Set resumed flag before suspending VarEnv
97 - Objprof for HHVM (Approx. instance counter)
98 - Make RUSAGE_THREAD available to getrusage PHP function
99 - clean up /tmp/test-run- files
100 - VASM register-coalescing via hinting
101 - Be more conservative about HNI types when there are InterceptableFunctions
102 - Add runtime support for null-safe method call operator "?->"
103 - Add sanity test system to OSS benchmarker
104 - Fix double deallocation of object in zend conversion of object to string
105 - [hhvm|memoize] Makes <<__Memoize>> work with arbitrary args
106 - Use raw troff encoding for official HHVM man page
107 - Add --php options to HHVM man page
108 - Fix GMP tests/crashes
109 - Implement posix_errno
110 - Xdebug remote debugging compatibility and bug fixes
111 - Add options parameter to DOMDocument::load/loadHTML()
112 - Add support for GNU tar symlinks to PharData
113 - Add max_file_uploads support
114 - Improve process error checking in perf runner
115 - posix_getgrgid()['members'] should be empty array if no users found
116 - Convert from jemalloc's obsolete *allocm() to *allocx()
117 - Use EqX instead of Eq for Obj/Num comparisons.
118 - make class closure consist with PHP
119 - Fix guard relaxation to work with bytecode control flow
120 - Allow vm-stack flushing in rpc threads
121 - stop killing LightProcesses while writing out stacktrace.log
122 - Get hhvm compiling with clang-3.5
123 - Update .hhi files for ConstSet, Set, and ImmSet
124 - Force the linker to keep symbols in lowmem on MacOSX
125 - Make guard relaxation work with unreachable code
126 - Add minimal hdf support to test runner
127 - Analyze/optimize pseudomains in hhbbc
128 - [hhvm|memoize] Fix segfault on certain memoized functions
129 - Support mappy ini configuration
130 - Xdebug cleanup and trivial features
131 - Abort the server if a request gets stuck
132 - Added support for Closure::bind()
134 "Snoop Dogg" 11-Sep-2014
135 - VASM phase 1: emit vasm instructions, with existing register allocation
136 - More xdebug support
137 - [hack] Implement async lambdas.
138 - add process memory and code segment size to admin memory page
139 - Overhauled xdebug remote debugging testing
140 - Add a mechanism for building and testing a zend extension as a DSO.
141 - Support fast object allocation path when Eval.EnableObjDestruct call is on
142 - Static string table memory usage
143 - Implement parallel repo preloading.
144 - Add mcrypt constants to hhi
145 - Move var_dump() to HNI, kill off variable.idl.json
146 - JIT: Use std, boost, and folly instead of smart containers.
147 - Hack: Support for variance (+/-) annotations on type-parameters
148 - Implement APCIterator
149 - Convert v?s?printf() to HNI using Variadics
150 - Enable variadics for HNI functions/methods
151 - Smooth a wrinkle in HHVM's safesort impl
152 - Make Set implement KeyedIterable and support bracket syntax for reading
156 - Make MemExceeded flag sticky
157 - Check for OOM during json decoding
158 - Check surprise flags when unserializing arrays and objects
159 - Limit curl timeout to remaining request timeout
160 - Add variant of openssl_pkcs7_verify that ignores cert expiration
161 - Numerous changes to support xdebug
162 - Remove use of non-threadsafe strtok()
163 - Numerous changes to normalize INI setting names
164 - update to new sqlite
165 - <<__Memoize>> support
166 - Hack: Print backtrace when worker dies
167 - Parser support for "varray(..)"
168 - Introduce kVPackedKind for vector-like arrays
169 - Move mailparse to HNI
170 - VASM start phase 1; emit vasm for some instructions
171 - Fix in headers defines for cygwin
172 - [hack] Parser: Fix decl mode's confusion of type hints and xhp.
173 - Create a unified stack for Xenon
174 - Move debugger from IDL to HNI
175 - Fix mcrypt_create_iv(..., MCRYPT_RAND) to auto-seed RNG
176 - Fix information leak in hash_equals() implementation
177 - don't statically link libgcc/libstdc++ by default on OSX
178 - Adds ssdeep module to HHVM
179 - added new raise_error family functions that skip the top frame of the backtrace.
180 - Add initial support for -d outside of --php mode
181 - Fix covariance for Const{Vector,Map,Set}, add tests
183 - Implement SplDoublyLinkedList::add
184 - Link against LLVM library if present.
185 - Disallow multiple 'default:' blocks in a single switch
186 - Introduce async function lambdas
187 - Document the PHP profilers
188 - Fix sample profiler output; make it more efficient
189 - Properly shut down fastcgi worker threads when connection is closed
190 - Delete SimpleProfiler
191 - Create HHVM man page
192 - Improved PHP compatibility in the reflection API.
194 "Queen Latifah" 14-Aug-2014
195 - Implement RecursiveCallbackFilterIterator
196 - cmake installations should no longer put files in hphp and now put them in hhvm
197 - Fix error for (Recursive)CachingIterator::ctor's param 1
198 - Force OOM check on large smart allocations
199 - Support stream wrappers in XML parser extensions, add external entity loader
200 - Fix LowPtr load in codegen
201 - Fix race condition in DebuggerProxy start/stop
202 - Log per request if oom or timeout triggered in dynostats
203 - Break out hhvm request timeout / memout counters for psp vs non-psp
204 - Support collections for third parameter of preg_replace() and friends
205 - Added functions imagewebp and imagecreatefromwebp
206 - Fix mb_convert_case when encoding set other than default
207 - Added function imagepalettecopy to ext_gd
208 - Remove reflection hacks for primitive typehints
209 - Fixed tempnam() creates paths with '//'
210 - Add LibGMP extension
211 - Fix heap overflow in sql_regcase() for input >1GB
212 - Add HHVM hookups for folly::Singleton
213 - Fix isset on classes extending ArrayObject
214 - Only track live objects that actually have destructors
215 - Specify ssl cipher list for curl with OpenSSL only
216 - Remove support for "service threads"
217 - PDO MySQL's getCode() didn't match errorInfo
218 - Run usercode before ending the request
219 - Make DynamicExtensions work in ini
220 - Provide backup utf8 sanitizer when UConverter is unavailable
221 - Pass duplicate flag to SNI Initial Handler Callback
222 - fb_intercept now accounts for variadic functions
223 - Add variadic function to fb_intercept test
224 - Implemented basic xdebug tracing
225 - Rename snappy methods
226 - Add sort_flags to ArrayObject::asort
227 - Changed CRYPT_BLOWFISH to 1 because apparently it is available
228 - Convert ext/mysql to HNI
229 - Add log when memory usage reached the MaxRSS
230 - Fix http headers parsing + Remove unused code + Fix indentation
231 - Fixed error output for json_encode
232 - Corrected the var_dump output for Exception class
233 - Relax restrictions on the typing of class constant shape field names.
234 - Fix file:// URL decoding in libxml functions and elsewhere
236 "Public Enemy" 31-July-2014
237 - Interface requirements (similar to trait requirements) enforced
238 - Initial support for PHP5.6 argument unpacking: f($x, $y, ...$args)
239 - Hack: hhi files are embedded in the hh_server binary
240 - removed trampolines and the Eval.JitTrampolines option
241 - Hack: improved support for Generators, including async generators
242 - Documentation of PHP-level profiling in doc/profiling.md
243 - Cleanup of PHP-level profilers
244 - Change default for Eval.EnableObjDestructCall to true
245 - Bundle PCRE 8.32 with open-source HHVM, so we can use the JIT
247 "Outkast" 17-July-2014
248 - PHP_VERSION is now 5.6
249 - Introduce Dbl specific relational IR opcodes
250 - Expose APC info to admin port
251 - Improve Zend compatibility in the reflection API
252 - Implement xdebug_call_class
253 - Hack: first version of formatter
254 - Convert ext/xsl to HNI
255 - Hack: improve init time
256 - Remove JIT::RuntimeType
257 - Fix floating-point overflow for binary, octal and hex literals
258 - Collections: Vector::addAllKeysOf
259 - Hack can build on OSX now
260 - Fix await/yield operator precedence
261 - Fix various xcontroller issues
262 - Enable HHIRBytecodeControlFlow by default
263 - Various changes/fixes to WholeCFG region selector
264 - Introduce async generators
266 - Fix Memcache::get($keys) when $keys is an array
267 - Implement xdebug_call_function
268 - Change order of wait handle processing from FIFO to LIFO
269 - Add Redis::_serialize()
271 "Notorious B.I.G." 25-Jun-2014
272 - Remove Translator::analyze (replaced by tracelet region selector)
273 - Allow empty keys in hash_hmac() and hash_hmac_file()
274 - Interface requirements supported in parser
275 - Implement xdebug_{peak_,}memory_usage
276 - Inline singleton-pattern functions
277 - Cleanup in PhpFile and FileRepository
278 - Fix mysqli_query return value for query without result
279 - Implement xdebug_call_file
280 - Add fastlz support to memcached extension
281 - Fix ini_get to return false for non-supported settings
282 - Fix PHP version constants
283 - All numeric comparisons involving NAN, except != and !==, are now false.
284 - Implement xdebug_call_line
286 - Remove dump-file-repo admin command
287 - Fix stdclass promotion of static private properties
288 - Remove unused locals in global dce (HHBBC)
289 - Get mockery at 100%
290 - Fix casting resource to object
291 - Relocate code to arbitrary alignment
292 - Always let the first character through for camelcase searching
293 - Implement xdebug configuration options
294 - Convert ext/memcache to HNI
295 - Match php5's memcache getoption
296 - ./configure --help now has all the options
297 - mysqli: return false on non-selects
298 - Don't include bt_handler or killpg in backtraces
299 - Don't buffer overrun on bad DNS TXT records
300 - Fixed property access to DOM and XMLReader classes
301 - Add support for ParamCoerceModeFalse
303 "Mos Def" 11-Jun-2014
304 - Turn on new tracelet region selector by default; analyze() is deprecated
305 - Fix a bug in debugBacktrace with NativeImpl methods
306 - Request local allocator now uses logarithmically spaced size classes
307 - Improvements to JIT'd FCallBuiltin to cause fewer spills
308 - Enable vtable-style dispatch on methods marked "abstract"
309 - JIT several instructions that were being punted: Unbox, File, Dir
310 - Increase "hinted drop" time on write lease, improving JIT'd code layout
311 - Implemented __toString functions in reflection classes
312 - Several tc-print bug fixes
313 - Some improvements in hhbbc arithmetic type inference
314 - More service requests are "ephemeral", reducing wasted stubs space
315 - HH\Vector now has a packed array internally, for O(1) conversions to array
316 - current() and key() now support expressions that can't be taken by reference
317 - Fix a long-standing but very rare race condition with Closure class names
318 - gcc 4.8 is the new minimum to build
319 - Various bug/compat fixes in Soap, SimpleXML, ArrayObject, DOMNode, mysqli
320 - Add a scheme to extend support for efficient packed arrays w/ cap up to 2^32
321 - Move vmfp, vmsp, and vmpc into RDS
322 - Fix some hard-to-hit bugs in inlining relating to stack overflow checks
323 - Faster int to double conversion when calling builtins from the JIT
324 - Fix ReflectionParameter::getClass for scalar typehints
325 - better tuning of the PGO 'hot function' threshold
326 - performance improvements to calling native class methods
327 - improve performance of async functions that exit via exception
328 - several bug fixes in refcount optimization pass relating to async functions
329 - More hhir-related docs in the hackers-guide
330 - Initial support for relocating generated machine code
331 - JIT optimizations for count()
332 - Corrected the result of var_dump and print_r for ArrayObject
333 - fix HH\autoload_set_paths with nested maps
334 - make ReflectionClass serializable
335 - ext/standard/output HNI conversion
336 - allow usage of zend-qsort in user sorts with a runtime option
338 "LL Cool J" 28-May-2014
339 - Over 200 other bug fixes (go lockdown!)
340 - Every HDF setting is now available as INI
341 - Cut session_id() size by 1/2
342 - Added 'Z' format string for pack/unpack
343 - We now build on clang
344 - Fix pcre cache to not fatal when full
345 - Implement $php_errormsg
346 - Adding -n CLI option to hhvm php mode
347 - Fix substitution of invalid UTF8 sequences in htmlspecialchars
348 - FastCGI: Use SCRIPT_FILENAME as the PHP script to run
349 - Can create DateTimeZone's from abbreviations
350 - Put all fastcgi params into $_SERVER
351 - Many DOM classes are now serializable
352 - Define the xhp tokens
353 - Many reflection changes for perf and compatibility
354 - Default fastcgi to listen on 127.0.0.1
355 - remove register_cleanup_function
357 - Set: retain(), reserve(), addAllKeysOf()
358 - {Set|ImmSet|Vector|ImmVector}::fromKeysOf()
361 - Backport fix for CVE-2011-2202
362 - Interfaces {Keyed}Container match arrays *and* collections, not iterables
363 - Added ** and **= operators to HHVM and more compatibility fixes with PHP5.6
364 - Fixes and improvements to collections
365 - Replace json decoder with json-c library
366 - Document VMRegAnchor and isVMFrame()
367 - Improvements to array iterator code
368 - Improvements to the type checker
369 - Allow parser to be generated with bison 3
370 - Improvements and speed up to reflection code
373 - Make handling of code.hot overflows more robust
374 - Catch server errors sooner
375 - Fix segfault and infinite recursion in fileinfo extension
376 - Resolve systemlib constants at compile time
377 - Resume resumables natively
378 - Import round() table optimizations from php-src
379 - Delete bytecode Peephole optimizer
380 - Remove most of annotation.cpp, and some other code gated on !UsedHHBBC
381 - Create phis for locals
382 - Fix free of "" in rfc1867PostHandler
383 - Add firstValue(), firstKey(), lastValue(), lastKey() to collections
384 - Add concat() to collections
385 - Clarify Hack license
386 - Add CakePHP3 to test runner
387 - Better error when TC is full
388 - Add hash_equals() from PHP 5.6
390 "Insane Poetry" 24-Apr-2014
391 - Support for PHP 5.6 variadic ...$args syntax for func declarations
392 - Open source HHMeasure, a simple and extensible microbenchmarking tool
393 - Added a new time-based sampling profiler (Project Xenon)
394 - Fix PCRE unicode handling
395 - Convert Zend compatibility layer and various extensions to HNI
396 - Encode execution mode (eager or resumed) into SrcKey
397 - Merge eager and resumed parts of async functions
398 - Rework various async / continuation bytecode instructions
400 "House of PHPain" 1-Apr-2014
401 - Allow direct arg passing with up to 15 params (7 if at least one is a double)
403 "Ghostface Killah" 17-Mar-2014
404 - Remove "HipHop" from error messages
405 - Add __IsFoldable user attribute for const-foldable functions
406 - Add __Native("NoFCallBuiltin") UA for builtins which need an actrec
407 - Add support for testing different outputs in repo mode
408 - Implement remaining functionality from intl extension
409 - Implement XSL extension
410 - Implement Stream Filters
411 - Improve php.ini support and get ready to kill HDF files
412 - Parse config files as ini files, unless filename contains '.hdf'
413 - Various fixes to Redis, JSON, SPL, DateTime, MySQLi, and others
414 - Remove C<T>Ref typedefs (use const T& now)
415 - JIT default on in command line mode
416 - gethostname() just returns what the syscall returns (Zend compat)
417 - HHBBC turned on in the build for facebook.com
419 "Fifty Cent" 3-Mar-2014
420 - Array parameter type constraints implicitly cast collections to arrays
421 - Fix issues with feof and fwrite
422 - Fix issues with sleep and inaccessible properties
423 - Dump a jemalloc pprod dump when a request hits OOM
424 - Make method_exists work with interface inheritance
425 - Fix crash in preg_replace with /e
426 - Support filename and content type in Curl uploads
428 - Handle relative paths in is_dir
429 - Add string conversion for array_fill_keys
430 - Implement various Imagick functionality
431 - Implement CUROPT_PROGRESSFUNCTION
432 - Implement PHP 5.6 __debugInfo() magic method
433 - Raise warnings when return type annotations mismatch
434 - Fix nested ArrayObject assignment
435 - Switch many ini settings to thread-time binding
436 - Clean up memory stat tracking
437 - Immutable collections are now prefixed with Imm instead of Fixed/Frozen
438 - Clean up type parameter for CheckType-related IR opcodes
439 - Remove legacy linear-scan register allocator and Eval.HHIRXls option
442 - reenabled jemalloc tcache flush for idle threads
443 - array_combine now performs __toString conversion on objects in $keys
444 - Allow streams in move_uploaded_file
445 - Fix a bug double closing a UserFile
446 - Warn when first arg to call_user_func is an object with no __invoke
447 - kill userland hdf functions
448 - Final method reports itself as final
449 - Implement IntlCalendar
450 - Disallow create_function in RepoAuthoritative mode
451 - Case-insensitive check for Accept-Encoding: gzip
453 "Donald Glover" 3-Feb-2014
454 - Support for "::class"
455 - Enable FCallBuiltin for HNI functions
456 - json_decode parity with PHP 5.4
457 - Fix race condition with profiling vs. non-profiling functions prologues
458 - Implement ini_get_all()
459 - Begin conversion of runtime options to INI
460 - Fix potential PGO-mode crash
461 - Fixes and enhancement in IR printing
462 - Vector and Set now supported by:
463 array_{shift,unshift,fill_keys,reverse,flip,size,chunk}, min, and max
464 - StableMap is now an alias for Map, which retains insertion order
465 - Map moved to HH namespace
466 - Fixes in XLS spilling of SIMD registers
467 - Support SCRIPT_FILENAME in FastCGI
468 - Implement stream_context_{get,set}_default
469 - Support for Intel VTune Amplifier XE
470 - Rewrite of SimpleXML
471 - Several HNI conversions, and a helper script
472 - Move Pair to HH namespace
473 - Fix get_included_files ordering
474 - Fix $_SERVER and $_ENV in FastCGI
475 - Update timelib to php 5.5.8
476 - Some dead code removal
480 - FastCGI fixes, perf improvements
481 - ext_zend_compat fixes
482 - Turn on XLS Register Allocator by default
483 - Fix server stats reporting
484 - 'num' scalar typehint that accepts both ints and floats
485 - fix support for typedef'd namespaces
486 - don't swallow fatals when autoloading
487 - Map collections learned the in-place retain() and retainWithKey()
488 - rename Set::difference() to Set::removeAll()
489 - Update Set to retain element insertion order
492 - FrozenMap collection
493 - Deprecated Vector|Set|Map::put() method removed
494 - == between Frozen{Vector|Set|Map} and {Vector|Set|Map} now can return true
496 "Beastie Boys" 6-Jan-2014
497 - Support lex-time binary constants (eg. 0b10111)
498 - StreamWrappers now support rmdir, mkdir, rename and unlink
499 - Miscellaneous PHP5 compatibility fixes
500 - Default StatCache to off
501 - Miscellaneous FastCGI fixes
502 - Miscellaneous region compiler fixes
503 - Map and StableMap collections use the same underlying implementation
504 - Trait requirements enforced
505 - hhprof performance improvements
506 - Add array to string conversion notice
507 - Add RaiseNotice IR opcode
508 - Fix VirtualHost.<name>.Pattern matching
509 - Fix various memory leaks (pdo_parse_params, Gen*WaitHandle)
510 - Import a lot more Zend tests that used to crash or hang
512 - XLS register allocation cleanup
513 - Enable region compiler by default for JIT functions in ahot
514 - Fatal on eval() in RepoAuthoritative mode
515 - Enable LTO for HHVM
516 - Fix a few SPL compatibility issues
518 "Appleseed" 23-Dec-2013
519 - Fix issues with DOCUMENT_ROOT in fastcgi
520 - Better type inference for collections and builtins in repo mode
521 - Shorter syntax for lambda expressions w/ automatic captures
522 - Parser support for trait require clauses
523 - Move FrozenVector and Set to the HH namespace
524 - Fix resource to array conversion
525 - Fix a request local memory leak in foreach of apc arrays
526 - Initial php_odbc API implementation
527 - Implement PHP's hash_copy() function
528 - Experimental tool: Memoization Opportunity Profiler
529 - Various small parity/behavior fixes (in phar, proc_open, filter_var)
530 - A Eval.DumpHhas=1 option to dump hhas for a php file
531 - Better warnings in Set::toArray
532 - Fix the behavior of foreach loops in finally blocks
533 - chmod -x runtime/vm/jit/*.{cpp,h}
534 - Changes to make hhvm build clean with clang-3.4
535 - Fix array_product to not be bug-compatible with PHP 5.2
536 - Change the Map datastructure---preserves order and does faster foreach
537 - FrozenSet collection
538 - Generate pid.map when we unmap text section, for the perf tool
539 - Implemented GlobIterator
540 - Implemented Reflection::export and Reflection::getModifierNames
543 - support date.timezone in ini files
545 - special comparisons for DateTime
546 - delete unimplemented functions
547 - support for the finally clause in try blocks
549 "Huarache" 26-Nov-2013
550 - Linker re-ordering of hot functions
551 - Huge pages for hot functions
552 - Implement ZipArchive
553 - preg_replace /e support
554 - get_mem_usage() no longer can be negative
555 - Userland file system support
556 - Implement fileinfo extension
558 - PDO::sqliteCreateFunction()
559 - Implement NumberFormatter
561 - Implement DatePeriod
562 - Many reflection fixes
564 - A ton of performance fixes
565 - A ton of open source framework fixes
566 - FastCGI Server Support
568 "Garlic Alfredo" 11-Nov-2013
569 - teach implode() about collections
570 - fix ini parsing leak
571 - Make array not an instanceof Traversable
573 "Burrito" 28-Oct-2013
574 - Initial support for using FastCGI
575 - Initial support for php.ini configuration files
576 - Log when a nullable (e.g. ?int) is incorrect
577 - Add support for collections to array_diff, array_diff_key, array_intersect,
579 - tc-print improvements and fixes
580 - Several debugger fixes
581 - More improvements to the experimental PHP extension compat layer
582 - Fixed how parse errors are handled by eval()
583 - Support custom reason for status header
584 - Emit better error message when hhvm's systemlib doesn't load properly
585 - Fixes / clarifications added to the bytecode specification
586 - Lots of other bug fixes, clean up, PHP compat fixes, and JIT improvements
588 "Sausage" 14-Oct-2013
589 - Direct invocation of callable arrays: $f = [$cls_or_obj, 'method']; $f()
591 - Support dynamically loadable extensions
592 - Support loading mini-systemlibs from extensions
594 "Tabasco" 30-Sep-2013
595 - Fix issues with __toString() functions that return non-string values
596 - Don't allow mock classes to extend collection classes
597 - Smarter memory allocation and scheduling for NUMA systems
598 - Improve profiler performance in the jit
599 - Fix several Zend compatibility issues
600 - Fix several bugs uncovered by ASAN
601 - Add collection support to array_keys, array_values, and array_combine
602 - Return a set-like array from Set::toArray
603 - Add to(Vector|Map|StableMap|Set) methods to collections
604 - Collections convert to boolean false when empty
605 - get_class_vars invokes the autoloader when necessary
606 - Rework the Zend compatibility layer to be more robust
607 - Allow traits to implement interfaces
608 - Support arbitrary expressions inside empty()
610 "Bobotie" 16-Sep-2013
611 - HNI (HipHop Native Interface) for calling C++ functions from PHP
612 - Fix PropertyAccessorMap::isset
613 - Expose more POSIX constants
614 - Fixed behavior of stream_get_contents when default args are used.
615 - Implement str_getcsv, and fix some fgetcsv related issues.
616 - [IPv6] Fix stream_socket_recvfrom & stream_socket_sendto.
617 - [IPv6] Fix socket_sentto_recvfrom_ipv6_udp Zend compatibility.
618 - Optimize closure invocation and __invoke (~3x faster to invoke)
619 - Import gettext extension
620 - string and object allocation optimizations (reduced memory usage for both)
621 - Import YAML extension
622 - Import ftp extension
625 - Fix order of custom attributes and visibility in ctor arg promotion
626 - Implement CachingIterator
627 - Implement RecursiveCachingIterator
628 - Generalized heuristic for choosing when to inline in the jit
629 - Introduced a Zend compatibility layer to compile extensions
630 - Imported calendar extension
631 - Use gcc-4.8.1 by default
632 - Improve hhvm command line parsing logic
633 - Fix register_shutdown in session_set_save_handler to match PHP 5.4
634 - Add "native" functions for use in Systemlib
635 - PHP extension source-compatitblility layer
636 - Fix ArrayIterator constructor PHP compatibility
637 - Enable building against libmemcached 1.0.8
638 - Debugger: $_ not cleared but still printed after exception
639 - Fix clone of SplPriorityQueue
640 - Debugger: Fix bugs when multiple threads hit the same breakpoint
641 - Fix several namespace bugs
642 - Several PHP compatibility fixes for ArrayObject and ArrayIterator
643 - Fix list assignment with collection literals
644 - support "tuple(...)" in initializer expressions
645 - HHVM should compile with libmemcached 1.0.9+
646 - Support "(new Vector {..})->method()" style syntax
647 - use trigger_error in PHP for Redis user errors
648 - multiple simplexml fixes
649 - fixed serialize/unserialize for SplObjectStorage
650 - Implement ReflectionParameter::IsCallable()
652 "Achiote" 19-Aug-2013
653 - Async stack traces in the debugger via the "wa" command
654 - Fix late static binding in static closures
655 - Fix breakpoints on generators
656 - Add SplObserver and SplSubject interfaces
657 - Update Iterable interface and add toArray() method
658 - Allow __get for undefined properties
659 - Implement get_included_files()
660 - Limit use of huge pages
662 "Churrasco" 05-Aug-2013
663 - Implement stream_is_local
664 - Implement read support for .phar
665 - Implement assert with string arguments
666 - Implement RecursiveArrayIterator
667 - Implement php_strip_whitespace()
668 - Support for timeouts in cli mode
669 - Closure allocation optimizations (~2x faster to allocate a closure)
670 - Implement Redis session handler
671 - New memory profiler, hhprof, with pprof compatible output
672 - Update isset($string[$k]) and empty($string[$k) to PHP 5.5 semantics
673 - Fixed a few parser bugs
674 - Fixed a few bugs with token_get_all()
675 - Fix (string)$obj semantics when __toString() is not defined
678 - Optimize vector-shaped Arrays (arrays with keys in range 0..size-1)
679 - Enable HHBC by default in debug builds
680 - Implement SplObjectStorage::getInfo()
681 - Initial rough draft of xhpast2, a replacement for xhpast
682 - fix compilation on Ubuntu 13.04
683 - OSX changes, next round
684 - Modify PHP's ext/standard/math/tests/(pow|abs).phpt to be HHVM friendly
685 - add XHP comment syntax based on http://www.w3.org/TR/REC-xml/#sec-comments
687 "Wasabi Peas" 08-Jul-2013
688 - always_assert when we run out of TC space
689 - Initial changes to get HHVM compiling on OSX
690 - Consolidate ObjectData and Instance
691 - Prototype heap tracing framework & Heap profiler
692 - Better JIT code generation for Mod and Div
693 - Fixes to enable compilation with clang
694 - Support for yield k => v
695 - Make HHVM's command line parsing closer to PHP
696 - Implement Redis extension
697 - Implement LimitIterator from SPL
698 - add SessionHandler from PHP 5.4
699 - Numerous Debugger fixes and new developer docs for Debugger
700 - Ported many extension tests to PHP