3 - FastCGI fixes, perf improvements
4 - ext_zend_compat fixes
5 - Turn on XLS Register Allocator by default
6 - Fix server stats reporting
7 - 'num' scalar typehint that accepts both ints and floats
8 - fix support for typedef'd namespaces
9 - don't swallow fatals when autoloading
10 - Map collections learned the in-place retain() and retainWithKey()
11 - rename Set::difference() to Set::removeAll()
12 - Update Set to retain element insertion order
15 - FrozenMap collection
16 - Deprecated Vector|Set|Map::put() method removed
17 - == between Frozen{Vector|Set|Map} and {Vector|Set|Map} now can return true
19 "Beastie Boys" 6-Jan-2014
20 - Support lex-time binary constants (eg. 0b10111)
21 - StreamWrappers now support rmdir, mkdir, rename and unlink
22 - Miscellaneous Zend PHP compatibility fixes
23 - Default StatCache to off
24 - Miscellaneous FastCGI fixes
25 - Miscellaneous region compiler fixes
26 - Map and StableMap collections use the same underlying implementation
27 - Trait requirements enforced
28 - hhprof performance improvements
29 - Add array to string conversion notice
30 - Add RaiseNotice IR opcode
31 - Fix VirtualHost.<name>.Pattern matching
32 - Fix various memory leaks (pdo_parse_params, Gen*WaitHandle)
33 - Import a lot more Zend tests that used to crash or hang
35 - XLS register allocation cleanup
36 - Enable region compiler by default for JIT functions in ahot
37 - Fatal on eval() in RepoAuthoritative mode
39 - Fix a few SPL compatibility issues
41 "Appleseed" 23-Dec-2013
42 - Fix issues with DOCUMENT_ROOT in fastcgi
43 - Better type inference for collections and builtins in repo mode
44 - Shorter syntax for lambda expressions w/ automatic captures
45 - Parser support for trait require clauses
46 - Move FrozenVector and Set to the HH namespace
47 - Fix resource to array conversion
48 - Fix a request local memory leak in foreach of apc arrays
49 - Initial php_odbc API implementation
50 - Implement PHP's hash_copy() function
51 - Experimental tool: Memoization Opportunity Profiler
52 - Various small parity/behavior fixes (in phar, proc_open, filter_var)
53 - A Eval.DumpHhas=1 option to dump hhas for a php file
54 - Better warnings in Set::toArray
55 - Fix the behavior of foreach loops in finally blocks
56 - chmod -x runtime/vm/jit/*.{cpp,h}
57 - Changes to make hhvm build clean with clang-3.4
58 - Fix array_product to not be bug-compatible with PHP 5.2
59 - Change the Map datastructure---preserves order and does faster foreach
60 - FrozenSet collection
61 - Generate pid.map when we unmap text section, for the perf tool
62 - Implemented GlobIterator
63 - Implemented Reflection::export and Reflection::getModifierNames
66 - support date.timezone in ini files
68 - special comparisons for DateTime
69 - delete unimplemented functions
70 - support for the finally clause in try blocks
72 "Huarache" 26-Nov-2013
73 - Linker re-ordering of hot functions
74 - Huge pages for hot functions
75 - Implement ZipArchive
76 - preg_replace /e support
77 - get_mem_usage() no longer can be negative
78 - Userland file system support
79 - Implement fileinfo extension
81 - PDO::sqliteCreateFunction()
82 - Implement NumberFormatter
84 - Implement DatePeriod
85 - Many reflection fixes
87 - A ton of performance fixes
88 - A ton of open source framework fixes
89 - FastCGI Server Support
91 "Garlic Alfredo" 11-Nov-2013
92 - teach implode() about collections
93 - fix ini parsing leak
94 - Make array not an instanceof Traversable
97 - Initial support for using FastCGI
98 - Initial support for php.ini configuration files
99 - Log when a nullable (e.g. ?int) is incorrect
100 - Add support for collections to array_diff, array_diff_key, array_intersect,
102 - tc-print improvements and fixes
103 - Several debugger fixes
104 - More improvements to the experimental PHP extension compat layer
105 - Fixed how parse errors are handled by eval()
106 - Support custom reason for status header
107 - Emit better error message when hhvm's systemlib doesn't load properly
108 - Fixes / clarifications added to the bytecode specification
109 - Lots of other bug fixes, clean up, PHP compat fixes, and JIT improvements
111 "Sausage" 14-Oct-2013
112 - Direct invocation of callable arrays: $f = [$cls_or_obj, 'method']; $f()
114 - Support dynamically loadable extensions
115 - Support loading mini-systemlibs from extensions
117 "Tabasco" 30-Sep-2013
118 - Fix issues with __toString() functions that return non-string values
119 - Don't allow mock classes to extend collection classes
120 - Smarter memory allocation and scheduling for NUMA systems
121 - Improve profiler performance in the jit
122 - Fix several Zend compatibility issues
123 - Fix several bugs uncovered by ASAN
124 - Add collection support to array_keys, array_values, and array_combine
125 - Return a set-like array from Set::toArray
126 - Add to(Vector|Map|StableMap|Set) methods to collections
127 - Collections convert to boolean false when empty
128 - get_class_vars invokes the autoloader when necessary
129 - Rework the Zend compatibility layer to be more robust
130 - Allow traits to implement interfaces
131 - Support arbitrary expressions inside empty()
133 "Bobotie" 16-Sep-2013
134 - HNI (HipHop Native Interface) for calling C++ functions from PHP
135 - Fix PropertyAccessorMap::isset
136 - Expose more POSIX constants
137 - Fixed behavior of stream_get_contents when default args are used.
138 - Implement str_getcsv, and fix some fgetcsv related issues.
139 - [IPv6] Fix stream_socket_recvfrom & stream_socket_sendto.
140 - [IPv6] Fix socket_sentto_recvfrom_ipv6_udp Zend compatibility.
141 - Optimize closure invocation and __invoke (~3x faster to invoke)
142 - Import gettext extension
143 - string and object allocation optimizations (reduced memory usage for both)
144 - Import YAML extension
145 - Import ftp extension
148 - Fix order of custom attributes and visibility in ctor arg promotion
149 - Implement CachingIterator
150 - Implement RecursiveCachingIterator
151 - Generalized heuristic for choosing when to inline in the jit
152 - Introduced a Zend compatibility layer to compile extensions
153 - Imported calendar extension
154 - Use gcc-4.8.1 by default
155 - Improve hhvm command line parsing logic
156 - Fix register_shutdown in session_set_save_handler to match PHP 5.4
157 - Add "native" functions for use in Systemlib
158 - PHP extension source-compatitblility layer
159 - Fix ArrayIterator constructor PHP compatibility
160 - Enable building against libmemcached 1.0.8
161 - Debugger: $_ not cleared but still printed after exception
162 - Fix clone of SplPriorityQueue
163 - Debugger: Fix bugs when multiple threads hit the same breakpoint
164 - Fix several namespace bugs
165 - Several PHP compatibility fixes for ArrayObject and ArrayIterator
166 - Fix list assignment with collection literals
167 - support "tuple(...)" in initializer expressions
168 - HHVM should compile with libmemcached 1.0.9+
169 - Support "(new Vector {..})->method()" style syntax
170 - use trigger_error in PHP for Redis user errors
171 - multiple simplexml fixes
172 - fixed serialize/unserialize for SplObjectStorage
173 - Implement ReflectionParameter::IsCallable()
175 "Achiote" 19-Aug-2013
176 - Async stack traces in the debugger via the "wa" command
177 - Fix late static binding in static closures
178 - Fix breakpoints on generators
179 - Add SplObserver and SplSubject interfaces
180 - Update Iterable interface and add toArray() method
181 - Allow __get for undefined properties
182 - Implement get_included_files()
183 - Limit use of huge pages
185 "Churrasco" 05-Aug-2013
186 - Implement stream_is_local
187 - Implement read support for .phar
188 - Implement assert with string arguments
189 - Implement RecursiveArrayIterator
190 - Implement php_strip_whitespace()
191 - Support for timeouts in cli mode
192 - Closure allocation optimizations (~2x faster to allocate a closure)
193 - Implement Redis session handler
194 - New memory profiler, hhprof, with pprof compatible output
195 - Update isset($string[$k]) and empty($string[$k) to PHP 5.5 semantics
196 - Fixed a few parser bugs
197 - Fixed a few bugs with token_get_all()
198 - Fix (string)$obj semantics when __toString() is not defined
201 - Optimize vector-shaped Arrays (arrays with keys in range 0..size-1)
202 - Enable HHBC by default in debug builds
203 - Implement SplObjectStorage::getInfo()
204 - Initial rough draft of xhpast2, a replacement for xhpast
205 - fix compilation on Ubuntu 13.04
206 - OSX changes, next round
207 - Modify PHP's ext/standard/math/tests/(pow|abs).phpt to be HHVM friendly
208 - add XHP comment syntax based on http://www.w3.org/TR/REC-xml/#sec-comments
210 "Wasabi Peas" 08-Jul-2013
211 - always_assert when we run out of TC space
212 - Initial changes to get HHVM compiling on OSX
213 - Consolidate ObjectData and Instance
214 - Prototype heap tracing framework & Heap profiler
215 - Better JIT code generation for Mod and Div
216 - Fixes to enable compilation with clang
217 - Support for yield k => v
218 - Make HHVM's command line parsing closer to PHP
219 - Implement Redis extension
220 - Implement LimitIterator from SPL
221 - add SessionHandler from PHP 5.4
222 - Numerous Debugger fixes and new developer docs for Debugger
223 - Ported many extension tests to PHP