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