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