2 - Make printf use HH\FormatString instead of FormatString (we're planning to
3 un-reserve \FormatString in a future version).
4 - Release the async mysql extension
5 - Release an async MCRouter extension
6 - FastCGI largely re-written; should fix several rare crashes
7 - Make sure that C++ method signatures match the HNI
8 - Make the typechecker be as strict about XHP classes as other classes. This
9 can be reverted by putting 'unsafe_xhp=true' in your .hhconfig
10 - The ZRANGEBYSCORE and ZREVRANGEBYSCORE need to take in start/end scores as strings
11 - [asio] Move cycle detection from BlockableWaitHandle to WaitableWaitHandle
12 - Add a StackTraceTimeout option to set the timeout for the backtrace handler.
13 - Define FOLLY_HAVE_PTHREAD_SPINLOCK (for ppc port)
14 - [hh_format] Change scoring function to match developers expectations better
15 - update libmagic CVE-2014-0236
16 - Fixes #4764 by adding a Redis::unwatch() method
17 - Disable external entity loading to SOAP WSDL files CVE-2013-1643 CVE-2013-1824
18 - [hhvm] MySQLi: Move mysqli class to NPH
19 - [hh] typechecker: use __Deprecated for DynamicYield
20 - zend initialization settings now work better
21 - optimize ord('static string')
22 - Reuse spill slots in vasm XLS
23 - Fix ImmMap::values() and ImmMap::keys() to return ImmVector
24 - Fix rare race between setting timeout and initializing thread locals
25 - Fix exception leak in tc_unwind_personality
26 - [hack] Fix load script time offset
27 - [hack] Restore hhi touch
28 - Create an IntervalTimer extension
29 - [hhvm] Pass eom flag to Transport::sendImpl
30 - [hack] Fix tmp dir creation
31 - [hh][typeconst] Fix Parser Bug for Type Constant
32 - Fix a bad bug in alias-analysis.cpp
33 - remove obsolete libevent patch
34 - Matched PHP's clowniness in long2ip()
35 - Modified StringData::shrink() to check against the capacity
36 - Backport PHP bug #54002 - crash in exif_read_data
37 - Fix hhvm number formatter fa_IR tests
38 - Better numa scheduling
39 - Reduce code size in crc hash functions
40 - Fix DebuggerDump serialization of keyless collections
41 - Fix persistent redis connection using unix socket.
42 - Fix segfault in mysql_escape_string without connection
43 - Remove logic for perfectvirtuals from compiler
44 - Implemented `hhvm-gdb` command and distribute gdb scripts
45 - Add missing static method ImmVector::fromItems()
46 - Don't cleanup RPC state in destructor if there's nothing to cleanup
47 - Fix object comparison bug in HHVM
48 - Fix Pair::{skip,skipWhile,take,takeWhile}() to return ImmVector
49 - explicitly null-terminate buffer for gethostname()
50 - Remove varray/miarray/msarray and ArrayTracer
51 - Make CryptoLocalKeychainLoader static data managed by folly::Singleton
52 - [hack] Allow Enum<arraykey>
53 - [hhvm][fastcgi] Fix use-after-free after FastCGI protocol errors
56 - Reduce size needed for reusable stubs
57 - Replaced uses of StringData::bufferSlice() with mutableData()
58 - [hhvm][ini] Provide mechanism to support collections of complex data structures
59 - [hhvm][ini] Support mysqli ini settings
60 - [hhvm/gdb] Enable hashing of strings w/o m_hash
61 - Fix Memcache::connect with unix socket
62 - fix bug #4727 with timezone_name_from_abbr()
63 - [hack] Deprecate is_integer, is_long, and other is_* aliases
64 - [hh] typechecker: check "inheritance" for class consts
65 - [hhvm] Move DOM extension to NPH
66 - [hh] typechecker: run (some) checks on abstract constants
67 - [hack] Deprecate join, split, and create_function.
68 - [hack][typeconst] Rework Type Consts to not use type defs
69 - [hhvm] MySQLi: Support isset() for result fields
70 - Fix memory leaks in CacheClient for getNextFinishedRequestID API
71 - Make access log %h behave more like Apache
72 - [hack] Recognize __Deprecated attribute on functions and methods
73 - [hhvm] get_resource_type of closed files is "Unknown"
74 - Implemented directives: variables_order&request_order
75 - Show meaningful closure names in backtraces
76 - [hh] typechecker: don't allow async blocks as lambda expressions
77 - Add HH\get_headers_secure
78 - [hhvm/gdb] Finish documenting GDB support
79 - [hhvm/gdb] Fix parts of `hhx' that got out of sync
80 - [hack][typeconst] Finalize Type Const syntax
81 - [hhvm/gdb] Add pretty-printer support for object properties
82 - [hhvm/gdb] Refactor lookup_func into component accessors
83 - [hhvm/gdb] Support {Fixed,Indexed}StringMap in `idx'
84 - [hhvm/gdb] Fix some bugs in `idx'
85 - [hhvm/gdb] Add rawtype() and rawptr() helpers
86 - [hh] add __Deprecated attribute wired to ReflectionFunction::isDeprecated
87 - [hh] hh_format: support abstract const syntax [2/2]
88 - [hh] h2tp: "support" abstract consts
89 - [hh] hh_format: support abstract const syntax
90 - [hh] typechecker: parse abstract const declarations
91 - [hh] typechecker: only look for __callStatic for static methods
92 - [hh] typechecker: fix references to `parent::constant`
93 - [hack] Allow subtypes in arithmetic modulo op
94 - Be more lenient in accepting extra ',' in icu date pattern gen.
95 - Accept image/png as a legal mimetype from ext_imagick.
98 - Miscellaneous fixes for clang dev build
99 - Make gd-jpeg compatible with jpeg-9
100 - [hh] typechecker: parse array-string-keys within interpolated strings
101 - [hh] T_FINALLY is a standard token
102 - [hack] Add option to format PHP and decl files
103 - [hhvm][easy] Care a little less about paths in filter_input_array.php
104 - Add HH\Asio\curl_exec() as an awaitable \curl_exec()
105 - Implement IntlChar class
106 - Add imagesetinterpolation to gd extension
107 - Add per-branch cli option support to benchy
108 - [hhvm] Restore -g to cmake debug builds
109 - Fix ReflectionClass method ordering
110 - Allow slightly malformed serialized strings, because PHP
111 - Use parameter coercing rather than explicit cast with chr()
112 - [hhvm] MySQLi: Set fetched fields prior calling a constructor
113 - Move Editor plugins to wiki
114 - Remove $ENV config from FindMySQL.cmake
115 - Fix bugs in floor and ceil behavior
116 - "Fix" tvCanBeCoercedToNumber() for malformed numeric strings
117 - Add missing file constants; use HNI for some existing ones too
118 - Fix SmartPtr move constructor on Variant.
119 - Trim values in Accept-Encoding: header filed
120 - Add "Vary: Accept-Encoding" to reposnse header when compression is enabled
121 - Fix memory leaks in MySQL common and MySQLi
122 - [hack] Various fixes for hh_format
123 - [hack] Allow array-get syntax for KeyedContainer
124 - [hack] Remove _tags file for Ocaml 3.12 compatibility
125 - Fix docs for DecodeCufIter
126 - Install hphp/runtime/version.h during make install
127 - Fix leak on bitwise string operations
128 - Improve test run to checking $_SERVER/$_ENV
129 - Cloning exceptions should raise a fatal error
130 - Disallow destructor/clone method be static
131 - [hhvm] Add version binary
132 - Update exception classes, fixes #4442
133 - Add a system profiler and hook some actions of interest to New Relic
134 - [hphp] Added NumberFormatter locale/rounding tests
135 - Add llvm/vasm bytecode counters
136 - [hack] Add support for immediately-executed async lambdas
137 - [hack] Add --no-load option, make load script path relative
138 - [hack] Have hh_server invoke the load script
139 - Add TYPO3 Unit tests to the OSS framework parity check
141 - Fix some stability issues in the server tests
142 - Remove Redis::SERIALIZER_IGBINARY constant
143 - Produce easier to handle HHVM version identifiers
144 - Fix bizarre memory corruption on exit
145 - Add Hack typing for array_values
146 - remove vim editor-plugin
147 - [hhvm] Fix mysqli segfault
148 - [hack] Improve position info in member-not-found error
149 - Update third party hash for small libmbfl change
150 - [hh] typechecker: canonicalize function names
151 - Capture full line ending for single-line comments
152 - Add a bunch of async helper functions
153 - [hack] Add --strict/--loose option to AT converter
154 - Autocomplete - don't suggest methods that aren't visible when class isn't fully known
155 - [hack] Fix return-in-finally check.
156 - [hack] Fix OSS tests
157 - [hack] Avoid relinking all of hh when format_hack changes
158 - [hh] updated various hhi files
159 - [hh] typechecker: parse "true", "false", "null", "array" more correctly
160 - [hh] hack build: don't generate newv calls in buildEgo
161 - [xenon] Fix attribution of CPU time spent in the asio scheduler
163 - Don't let GD create images that would exceed the request memory limit
164 - [hack] Set up proper test scaffold for hh_format
165 - [hack] Allow "$c[] = .." when $c is declared as a collection w/o type params
166 - [hack] Fix race in declaration of BuiltinEnum
169 - [asio] Introduce ConditionWaitHandle
170 - [hack] `hh_server --version` should not require a root
171 - [hack] Log exceptions thrown in the master process.
172 - [hack] Enable unused var warnings under typing/
173 - [hh] typechecker: unbound name errors in partial/decl mode
174 - [hack] Disallow trailing comma in used trait list
175 - [hack] Have coverage / coloring use a hook
176 - [hack] Create lock file if it doesn't exist
177 - Fix std::terminate when debugger is not attached during unwind
178 - [hack] Make `trait ... extends ...` into a parse error
179 - [hack] Make multiple inheritance a parse error
180 - [hh] typechecker: support Enum in xhp attribute declarations
181 - [hack] Raise type errors on undefined static polymorphism lookups.
182 - Fix realpath lookup
183 - [hack] Let any user write to the saved state dir.
184 - [hack] Don't have an optional param that's an option type
185 - RequestInitDocument 404 friendly reminder
186 - Implement Phar::running()
187 - Make Redis utility methods public
188 - Contiguous Heap Prototype
189 - [hh_format] Don't add trailing commas in used trait lists
190 - [hh_format] Don't add trailing commas in template parameter lists
191 - [hh_format] Fix bug with hh_format --diff duplicating some lines.
192 - [hh_format] Don't destroy whitespace in files with "**/" in comments
193 - fix for iconv_mime_decode_headers function skipping headers
194 - Add CPU option for JIT (EvalJitCPU). Defaults to 'native'.
195 - Limit glob flags to only ones supported by php
196 - make recursion limit for unserialize
197 - Allow trailing commas in short-lamba expressions
198 - Fix some leaks in new_socket_connect
199 - fixed decoding utf8 strings so they correctly return '?' on invalid sequences
200 - Actually get the realpath first thing when searching for a file.
202 - Simple speedup for is_dir
203 - [hh] typechecker: demand consistent casing for primitive typehints
204 - Support timestamp begins and ends for getTransitions()
205 - Add global value numbering pass
206 - Support \u escape sequences in double-quoted strings
207 - ResourceLimit.SerializationSizeLimit can be overwriten from the vhost config
208 - Check Eval.JitAMaxUsage when deciding whether to start profiling a function
209 - Allow hex in mb_encode_numericentity
210 - [hhvm] Work around leak in boost flat_set
211 - Add stream_await() for async stream "blocking"
212 - [typechecker] Add support for reading XHP attributes via "->:"
213 - Modify rpoSortCfg to reduce memory usage in refcount-opts
214 - Fix #4380, making get code and get message final
216 - Disable PGO for pseudo-mains
217 - Mock date/time functions in Isolation.php
218 - Fix error_get_last() not cleared when error handle function entered
219 - [hhvm] RFC: Native Property Handlers
220 - [hack] Define proper constants for CURLOPT and friends
221 - Make newlines in http headers a fatal error.
222 - Add Hack typing to array_keys
223 - Use a custom implementation of strtoll for unserialize
224 - [hack] control whether unseen <?php code is assumed via .hhconfig
227 - Converted objprof extension to use heap parsing
229 "Yelawolf" 4-Dec-2014
230 - Fix comparison of overflowing strings
231 - Fix potential memory corruption during ArrayData::set
232 - Introduce util to restart current process
233 - Share variable environment in eval'd assert
234 - [Find] Only escape spaces in paths for find
235 - Don't ignore Eval.JitAHotSize
236 - Fix checkCfg's defined-tmp checks to be aware of edge-defined tmps
237 - Fix bugs relating to edges in IRInstruction::become
238 - Fix insertPhis calls to IRUnit::replace()
239 - Use sha1sum for the repo-schema
240 - [hh] typechecker: add constants to hh_client --show
241 - [hack] Dump typedef info in `hh_client --show`
242 - Make BigNode parsable, extend HeapIter to visit BigNodes.
243 - Allow static invocation of DOMDocument::load* methods
244 - Allow "array" with type args to be used in XHP attribute declarations
245 - HTMLEncode strings in wddx_serialize_value()
246 - [hack] Make dependency on lz4 optional for OSS build.
247 - [hack] Have hh_server take the list of files to recheck as relative paths
248 - [hack] Docblock parser for AT
249 - Add version number to imagick extension
250 - Support Authorization header in apache_request_headers()
251 - [hack][build] Add needs_rerun hook for XController build step
252 - Fix call to fetchObject without class name
253 - Add possibility to create a DateTime object with timezone
254 - DateTimeImmutable::createFromFormat returns false on failure
255 - [hh] typechecker add PREG_* constants to hhi
256 - Raise warning when put_contents on non-regular file with exclusive lock.
257 - Use uncounted strings to cache non-static regexes
258 - Use specializeExact whenever we know AttrNoOverride from whole program analysis
259 - Fix some not-type-safe LdRef code generated in a situation with SetOpL
260 - Split inner ref type checks into a separate instruction from LdRef
261 - Add support for stream wrapper in include_path.
262 - cmake option to enable avx2 instruction support
263 - Add missing default to PharData::decompress()
264 - [hack] Add lz4 compression when saving server state.
265 - Fix leak in tvCoerce*
266 - Trie Search - optimizations for JS
267 - Don't throw an exception on unknown IP address for OSS
268 - [hh] parity: match php 5.6 in treatment of array_fill with num = 0
269 - Make ob_start function signature PHP 5.6 compatible
270 - Fix issues with private properties and apc
271 - Implement remaining straightforward vasm ops in llvm backend
272 - [hack] Type strlen's return value.
273 - [hack] add additional iterator interfaces
274 - Improve segaddr fixing for 32-bit destructors
275 - Fix parent::__cOnStRuCt and similar with PHP4 constructors
276 - Make stats.json on the admin server return valid json
277 - [hack] Simplify coverage JSON output, and add non-JSON output option.
278 - Remove kernel version assertions
279 - [hack] Fix bad escaping of directory names
280 - [hack] Add some hhi constants for pcntl.
281 - Fix problems in getCurrentPropertyOffset relating to m_ni.inputs
282 - Fix CSE to be aware of where SSATmps are known to be defined
283 - Add an analysis module for functions that query information about the IR
284 - Don't JIT functions that use $php_errormsg or $http_response_code
285 - Fix default SOAP HTTP client
286 - [hack] Member access is `->` followed by lvar, not word
287 - Fix comparison between doubles and hex numeric strings
288 - Implement a bunch more vasm instructions in llvm backend
289 - Enable ASAN for smart allocator
290 - Record the start time for every request
291 - Fix parsing of binary literals denoted with a capital '0B'
292 - Fix Symfony's it's not safe to rely on system timezone setting errors
293 - Allow non-static expressions in function parameter defaults
294 - Fix a bug in Index::lookup_constraint
295 - [hack] Add logging to server_options_cmd.
296 - Fix optional 'errorcode' parameter is not set up properly
297 - Fix PHP primitive default parameter type check
298 - Weaken assert in FileUtil::canonicalize
299 - [hack] Error when using "shape" as a type
300 - Fix getOldestStartTime
301 - Add zlib.output_compression ini option
302 - Add missing argument to DOMXPath::{query,execute}()
303 - htmlentities() should output valid ISO-8859-1 characeters to appropriate entities
304 - Remove bad assert from BaseVector::data()
305 - Cleanup sock and pid files on graceful exit from FastCGI
306 - [hack] Add script for determining server startup options
307 - [hack] Record init time in log output.
308 - Fix some bugs in intersecting specialized types
309 - [hack] Fix duplicate unbound name errors
310 - Update OCaml to 4.02.1
311 - [hhvm] Add per kind ArrayFunc counters for ArrayTracer
312 - Fix use-after-free in the access logs
313 - Wait for clean shutdown on SIGHUP
314 - [hhi] add at() to MysqlRow in hhi file
315 - [memoize] Go back to individual cache props for statics
316 - Break regions after FCall & friends when using LLVM
317 - Remove support for magic quotes (also removed in PHP 5.4)
318 - qlzcompress is not available everywhere, and there's no support for it in OSS
319 - Change the Profiler constructor to not necessarily force CPU affinity.
320 - Add getTypeText to ReflectionParameter
321 - Remove trailing junk from IP addresses for sockets
322 - Preserve index of sockets passed into/out-of socket_select()
323 - Fix lchown when no user found
324 - [hh] typechecker: split function bodies into named and unnamed
325 - [hack] fix error with capturing locals for a foreach using a ref
326 - guess root from supplied filename, where that makes sense
327 - Show a nice error when an invalid argument is passed to hphp -t
328 - Expose Imagick::getImageMimeType to userland
329 - SplFixedArray::FromArray() throws InvalidArgumentException not Exception
330 - Make default_socket_timeout match PHP 5.x
331 - VerifyRetTypeC optimizations for repo-mode
332 - Turn off refcount opts by default when HHIRBytecodeControlFlow is on
333 - Make profiled packed array gets not rejoin the main line
334 - Side exit on surprise flags for backward jumps
335 - Print edges with colors in IR dot graphs; make dotBodies usable
336 - Fix region-method support for loops
337 - Correct the return type of BaseG; fix some missing renames of Mem -> Memb
338 - Adopt PHP7's looser handling of return values in user session handler
339 - Honor the Redis timeout
340 - Fix mysqli_options. Stop asserting.
341 - Fix some bugs in hhbbc support for http_response_code, php_errormsg
342 - Introduce immediately executed async lambdas
343 - Allow nested namespaces with sane behavior
344 - Updated win32-cygwin patch Fixes Issue #4062
345 - [hh] typechecker: ReflectionClass hhi fixup
346 - [hack] Add hh_server --version
347 - Fix a few memory management issues in DOMDocument
348 - Prevent m_nextKI from going negative in MixedArray
349 - [hh] typechecker: declaration location in extend_final error
350 - [hack] Enable .hhconfig to control hh_server flags
351 - Respect status codes from `Status:` header in addition to `HTTP/` header
352 - Fix number_format() to deal with very large precisions/very large numbers
353 - Fix closure use var reflection for referenced vars
354 - Support self parameter typehint
355 - [h2tp] modify build to support h2tp
356 - [hh] hh_format: understand async lambdas
357 - [hack] added support for abstract class constants
360 - Fix readline request locals
361 - Don't leak HashContexts
362 - Fix a race freeing an APCHandle
363 - Don't clean up memory in AdminRequestHandler::abortRequest
364 - Fix setup/teardown for requests handled by WarmupRequestHandler
365 - Extend IR type system for more information about pointers
366 - Use proxygen as a git submodule
367 - Version of memcpy-x64 optimized for the tail end of 7,6,5,4 bytes in an N byte copy
368 - Eliminate default cases in DataType switches
369 - Match PHP5 backquote processing
370 - Add overflow info to is_numeric_string
371 - Add support for pre-built branches to benchy
372 - Allow calling closures inline
373 - Allow systemlib function declarations to use reserved words for function names
374 - Add HH\{int,float,bool} typehints to PHP
375 - Deep initialization for constant properties
376 - Enforce void return on native class constructors/destructors
377 - Replace NEWOBJ with newobj<T> and newres<T> functions
378 - Change default FCGI socket permissions
379 - Support openssl replacements which don't export RANG_egd()
380 - Fix use-after-free in TimeZone
381 - Support GCC/LLVM stack-smashing protection
382 - Make sure Type::Bottom is a subtype of everything
383 - Fix hphpd crash when printing systemlib classes
384 - Convert file extension to HNI
385 - Convert DOMDocument extension to HNI
386 - Convert POSIX extension to HNI
387 - Convert array_multisort to HNI
388 - Add fribidi extension for HHVM
389 - Mechanism for enabling request-local heap profiling
390 - Make prediction opts deal with arbitrary load/check instructions
391 - Add JSON output support to benchy
392 - HHIR pass to do dead store elimination on frame locals
393 - Adjust single parameter warnings for min()/max()
394 - Make AlwaysLogUnhandledExceptions=off and CallUserHandlerOnFatals=EnableHipHopSyntax
395 - Always use RuntimeOption::SourceRoot to resolve repo-auth lookups
396 - Refactor debugger tests
397 - Fix parser to allow "type" and "newtype" to be used as typevars
398 - Convert system/idl/function to HNI
399 - Remove type annotations for array_sum and array_product
400 - Don't populate the litstr-to-id map in RepoAuthoritative mode
401 - Move m_lineTable to a side table
402 - Only try to autoload classes with valid names
403 - Proper PDO connection errors
404 - Move hfsort linker script tool to OSS
405 - Move slow 'quick' tests to 'slow'
406 - Add option to make inconv actually match the docs
407 - Convert socket extension to HNI
408 - Convert stream extension to HNI
409 - Fix UserFile::access behavior to match PHP5
410 - Fix for wrong PATH_INFO and PATH_TRANSLATED (maybe)
411 - Move generated .h and .cpp to unique dir
412 - Fix for phat:// stream wrapper with no stub
413 - JSON encode closures as empty objects for PHP compat
414 - Disable parameter typehints for builtins to match PHP5
415 - Convert PDO extension to HNI
416 - Fix assert related to async return typehints
417 - Allow collections in array_sum() and array_product()
418 - Use the time in default xdebug output file
419 - Allow vxls to allocate vmsp during traces
420 - Only initialize sweepables on new threads
421 - Load Offset->line number mappings on demand
422 - Fix SOAP memory leak
423 - Add OSS support for benchy
425 "Will.i.am" 13-Nov-2014
426 - Add benchy.py for benchmarking HHVM
427 - Tune and enable PGO for all functions
428 - Generate HHIR opcode table by extracting lines from ir.specification
429 - Convert a few more extensions to HNI
430 - Limit the maximum number of bytecode instructions in a region
431 - Improvements to <<__Memoize>>
433 "Vanilla Ice" 27-Oct-2014
435 - An async method's return annotation (if there is one) must be "Awaitable"
436 - Fix a bug in how __Memoize sets up FPI regions
437 - Fix issues with shutdown/postsend functions
438 - Fix is_callable for interface and abstract methods
439 - Added support for ReflectionFunction::getClosureThis()
440 - Add option to run perf to hhvm_wrapper
441 - Use a global cache for timezone info
442 - Implement readline_info()
443 - Fix NumberFormatter::format for string values
444 - Corrected socket connect for IPv6 hosts
445 - [hack] Fix parsing of postfix operators.
446 - Region selector improvements
447 - Disallow <<__Memoize>> on interfaces
449 - Align recoverable fatal error's message with PHP
450 - [hack] Make hhi for some builtin constants.
451 - HHBBC improvements (enums, etc.)
452 - Properly shutdown debugger threads on exit
453 - [hack] support for 'abstract final' classes
454 - Convert string to HNI
455 - Fix SOAP extension type encoding
456 - make test runner not puke when run with xargs
457 - [hack] reflection support for first-class enums
458 - Make `yield;` a valid statement
460 "Ultramagnetic" 9-Oct-2014
462 - Closure::bind support
463 - Cleanup/shrink various runtime data structures
464 - Various jit performance optimizations
465 - Fix various debugger crashes
466 - Better handling of memory limits
467 - Hack: System user attributes will be prefixed with __, notably <<Override>> renamed to <<__Override>>
468 - Hack: Support for 'abstract final' non-instantiable non-inheritable "utility" classes
471 - Use vasm virtual registers in x64 backend, transition fully to vasm-xls
472 - 'arraykey' scalar typehint that accepts both ints and strings
473 - Add OSS benchmarking suite
474 - Fix PDO::bindColumn
475 - [resumable] Set resumed flag before suspending VarEnv
476 - Objprof for HHVM (Approx. instance counter)
477 - Make RUSAGE_THREAD available to getrusage PHP function
478 - clean up /tmp/test-run- files
479 - VASM register-coalescing via hinting
480 - Be more conservative about HNI types when there are InterceptableFunctions
481 - Add runtime support for null-safe method call operator "?->"
482 - Add sanity test system to OSS benchmarker
483 - Fix double deallocation of object in zend conversion of object to string
484 - [hhvm|memoize] Makes <<__Memoize>> work with arbitrary args
485 - Use raw troff encoding for official HHVM man page
486 - Add --php options to HHVM man page
487 - Fix GMP tests/crashes
488 - Implement posix_errno
489 - Xdebug remote debugging compatibility and bug fixes
490 - Add options parameter to DOMDocument::load/loadHTML()
491 - Add support for GNU tar symlinks to PharData
492 - Add max_file_uploads support
493 - Improve process error checking in perf runner
494 - posix_getgrgid()['members'] should be empty array if no users found
495 - Convert from jemalloc's obsolete *allocm() to *allocx()
496 - Use EqX instead of Eq for Obj/Num comparisons.
497 - make class closure consist with PHP
498 - Fix guard relaxation to work with bytecode control flow
499 - Allow vm-stack flushing in rpc threads
500 - stop killing LightProcesses while writing out stacktrace.log
501 - Get hhvm compiling with clang-3.5
502 - Update .hhi files for ConstSet, Set, and ImmSet
503 - Force the linker to keep symbols in lowmem on MacOSX
504 - Make guard relaxation work with unreachable code
505 - Add minimal hdf support to test runner
506 - Analyze/optimize pseudomains in hhbbc
507 - [hhvm|memoize] Fix segfault on certain memoized functions
508 - Support mappy ini configuration
509 - Xdebug cleanup and trivial features
510 - Abort the server if a request gets stuck
511 - Added support for Closure::bind()
513 "Snoop Dogg" 11-Sep-2014
514 - VASM phase 1: emit vasm instructions, with existing register allocation
515 - More xdebug support
516 - [hack] Implement async lambdas.
517 - add process memory and code segment size to admin memory page
518 - Overhauled xdebug remote debugging testing
519 - Add a mechanism for building and testing a zend extension as a DSO.
520 - Support fast object allocation path when Eval.EnableObjDestruct call is on
521 - Static string table memory usage
522 - Implement parallel repo preloading.
523 - Add mcrypt constants to hhi
524 - Move var_dump() to HNI, kill off variable.idl.json
525 - JIT: Use std, boost, and folly instead of smart containers.
526 - Hack: Support for variance (+/-) annotations on type-parameters
527 - Implement APCIterator
528 - Convert v?s?printf() to HNI using Variadics
529 - Enable variadics for HNI functions/methods
530 - Smooth a wrinkle in HHVM's safesort impl
531 - Make Set implement KeyedIterable and support bracket syntax for reading
535 - Make MemExceeded flag sticky
536 - Check for OOM during json decoding
537 - Check surprise flags when unserializing arrays and objects
538 - Limit curl timeout to remaining request timeout
539 - Add variant of openssl_pkcs7_verify that ignores cert expiration
540 - Numerous changes to support xdebug
541 - Remove use of non-threadsafe strtok()
542 - Numerous changes to normalize INI setting names
543 - update to new sqlite
544 - <<__Memoize>> support
545 - Hack: Print backtrace when worker dies
546 - Parser support for "varray(..)"
547 - Introduce kVPackedKind for vector-like arrays
548 - Move mailparse to HNI
549 - VASM start phase 1; emit vasm for some instructions
550 - Fix in headers defines for cygwin
551 - [hack] Parser: Fix decl mode's confusion of type hints and xhp.
552 - Create a unified stack for Xenon
553 - Move debugger from IDL to HNI
554 - Fix mcrypt_create_iv(..., MCRYPT_RAND) to auto-seed RNG
555 - Fix information leak in hash_equals() implementation
556 - don't statically link libgcc/libstdc++ by default on OSX
557 - Adds ssdeep module to HHVM
558 - added new raise_error family functions that skip the top frame of the backtrace.
559 - Add initial support for -d outside of --php mode
560 - Fix covariance for Const{Vector,Map,Set}, add tests
562 - Implement SplDoublyLinkedList::add
563 - Link against LLVM library if present.
564 - Disallow multiple 'default:' blocks in a single switch
565 - Introduce async function lambdas
566 - Document the PHP profilers
567 - Fix sample profiler output; make it more efficient
568 - Properly shut down fastcgi worker threads when connection is closed
569 - Delete SimpleProfiler
570 - Create HHVM man page
571 - Improved PHP compatibility in the reflection API.
573 "Queen Latifah" 14-Aug-2014
574 - Implement RecursiveCallbackFilterIterator
575 - cmake installations should no longer put files in hphp and now put them in hhvm
576 - Fix error for (Recursive)CachingIterator::ctor's param 1
577 - Force OOM check on large smart allocations
578 - Support stream wrappers in XML parser extensions, add external entity loader
579 - Fix LowPtr load in codegen
580 - Fix race condition in DebuggerProxy start/stop
581 - Log per request if oom or timeout triggered in dynostats
582 - Break out hhvm request timeout / memout counters for psp vs non-psp
583 - Support collections for third parameter of preg_replace() and friends
584 - Added functions imagewebp and imagecreatefromwebp
585 - Fix mb_convert_case when encoding set other than default
586 - Added function imagepalettecopy to ext_gd
587 - Remove reflection hacks for primitive typehints
588 - Fixed tempnam() creates paths with '//'
589 - Add LibGMP extension
590 - Fix heap overflow in sql_regcase() for input >1GB
591 - Add HHVM hookups for folly::Singleton
592 - Fix isset on classes extending ArrayObject
593 - Only track live objects that actually have destructors
594 - Specify ssl cipher list for curl with OpenSSL only
595 - Remove support for "service threads"
596 - PDO MySQL's getCode() didn't match errorInfo
597 - Run usercode before ending the request
598 - Make DynamicExtensions work in ini
599 - Provide backup utf8 sanitizer when UConverter is unavailable
600 - Pass duplicate flag to SNI Initial Handler Callback
601 - fb_intercept now accounts for variadic functions
602 - Add variadic function to fb_intercept test
603 - Implemented basic xdebug tracing
604 - Rename snappy methods
605 - Add sort_flags to ArrayObject::asort
606 - Changed CRYPT_BLOWFISH to 1 because apparently it is available
607 - Convert ext/mysql to HNI
608 - Add log when memory usage reached the MaxRSS
609 - Fix http headers parsing + Remove unused code + Fix indentation
610 - Fixed error output for json_encode
611 - Corrected the var_dump output for Exception class
612 - Relax restrictions on the typing of class constant shape field names.
613 - Fix file:// URL decoding in libxml functions and elsewhere
615 "Public Enemy" 31-July-2014
616 - Interface requirements (similar to trait requirements) enforced
617 - Initial support for PHP5.6 argument unpacking: f($x, $y, ...$args)
618 - Hack: hhi files are embedded in the hh_server binary
619 - removed trampolines and the Eval.JitTrampolines option
620 - Hack: improved support for Generators, including async generators
621 - Documentation of PHP-level profiling in doc/profiling.md
622 - Cleanup of PHP-level profilers
623 - Change default for Eval.EnableObjDestructCall to true
624 - Bundle PCRE 8.32 with open-source HHVM, so we can use the JIT
626 "Outkast" 17-July-2014
627 - PHP_VERSION is now 5.6
628 - Introduce Dbl specific relational IR opcodes
629 - Expose APC info to admin port
630 - Improve Zend compatibility in the reflection API
631 - Implement xdebug_call_class
632 - Hack: first version of formatter
633 - Convert ext/xsl to HNI
634 - Hack: improve init time
635 - Remove JIT::RuntimeType
636 - Fix floating-point overflow for binary, octal and hex literals
637 - Collections: Vector::addAllKeysOf
638 - Hack can build on OSX now
639 - Fix await/yield operator precedence
640 - Fix various xcontroller issues
641 - Enable HHIRBytecodeControlFlow by default
642 - Various changes/fixes to WholeCFG region selector
643 - Introduce async generators
645 - Fix Memcache::get($keys) when $keys is an array
646 - Implement xdebug_call_function
647 - Change order of wait handle processing from FIFO to LIFO
648 - Add Redis::_serialize()
650 "Notorious B.I.G." 25-Jun-2014
651 - Remove Translator::analyze (replaced by tracelet region selector)
652 - Allow empty keys in hash_hmac() and hash_hmac_file()
653 - Interface requirements supported in parser
654 - Implement xdebug_{peak_,}memory_usage
655 - Inline singleton-pattern functions
656 - Cleanup in PhpFile and FileRepository
657 - Fix mysqli_query return value for query without result
658 - Implement xdebug_call_file
659 - Add fastlz support to memcached extension
660 - Fix ini_get to return false for non-supported settings
661 - Fix PHP version constants
662 - All numeric comparisons involving NAN, except != and !==, are now false.
663 - Implement xdebug_call_line
665 - Remove dump-file-repo admin command
666 - Fix stdclass promotion of static private properties
667 - Remove unused locals in global dce (HHBBC)
668 - Get mockery at 100%
669 - Fix casting resource to object
670 - Relocate code to arbitrary alignment
671 - Always let the first character through for camelcase searching
672 - Implement xdebug configuration options
673 - Convert ext/memcache to HNI
674 - Match php5's memcache getoption
675 - ./configure --help now has all the options
676 - mysqli: return false on non-selects
677 - Don't include bt_handler or killpg in backtraces
678 - Don't buffer overrun on bad DNS TXT records
679 - Fixed property access to DOM and XMLReader classes
680 - Add support for ParamCoerceModeFalse
682 "Mos Def" 11-Jun-2014
683 - Turn on new tracelet region selector by default; analyze() is deprecated
684 - Fix a bug in debugBacktrace with NativeImpl methods
685 - Request local allocator now uses logarithmically spaced size classes
686 - Improvements to JIT'd FCallBuiltin to cause fewer spills
687 - Enable vtable-style dispatch on methods marked "abstract"
688 - JIT several instructions that were being punted: Unbox, File, Dir
689 - Increase "hinted drop" time on write lease, improving JIT'd code layout
690 - Implemented __toString functions in reflection classes
691 - Several tc-print bug fixes
692 - Some improvements in hhbbc arithmetic type inference
693 - More service requests are "ephemeral", reducing wasted stubs space
694 - HH\Vector now has a packed array internally, for O(1) conversions to array
695 - current() and key() now support expressions that can't be taken by reference
696 - Fix a long-standing but very rare race condition with Closure class names
697 - gcc 4.8 is the new minimum to build
698 - Various bug/compat fixes in Soap, SimpleXML, ArrayObject, DOMNode, mysqli
699 - Add a scheme to extend support for efficient packed arrays w/ cap up to 2^32
700 - Move vmfp, vmsp, and vmpc into RDS
701 - Fix some hard-to-hit bugs in inlining relating to stack overflow checks
702 - Faster int to double conversion when calling builtins from the JIT
703 - Fix ReflectionParameter::getClass for scalar typehints
704 - better tuning of the PGO 'hot function' threshold
705 - performance improvements to calling native class methods
706 - improve performance of async functions that exit via exception
707 - several bug fixes in refcount optimization pass relating to async functions
708 - More hhir-related docs in the hackers-guide
709 - Initial support for relocating generated machine code
710 - JIT optimizations for count()
711 - Corrected the result of var_dump and print_r for ArrayObject
712 - fix HH\autoload_set_paths with nested maps
713 - make ReflectionClass serializable
714 - ext/standard/output HNI conversion
715 - allow usage of zend-qsort in user sorts with a runtime option
717 "LL Cool J" 28-May-2014
718 - Over 200 other bug fixes (go lockdown!)
719 - Every HDF setting is now available as INI
720 - Cut session_id() size by 1/2
721 - Added 'Z' format string for pack/unpack
722 - We now build on clang
723 - Fix pcre cache to not fatal when full
724 - Implement $php_errormsg
725 - Adding -n CLI option to hhvm php mode
726 - Fix substitution of invalid UTF8 sequences in htmlspecialchars
727 - FastCGI: Use SCRIPT_FILENAME as the PHP script to run
728 - Can create DateTimeZone's from abbreviations
729 - Put all fastcgi params into $_SERVER
730 - Many DOM classes are now serializable
731 - Define the xhp tokens
732 - Many reflection changes for perf and compatibility
733 - Default fastcgi to listen on 127.0.0.1
734 - remove register_cleanup_function
736 - Set: retain(), reserve(), addAllKeysOf()
737 - {Set|ImmSet|Vector|ImmVector}::fromKeysOf()
740 - Backport fix for CVE-2011-2202
741 - Interfaces {Keyed}Container match arrays *and* collections, not iterables
742 - Added ** and **= operators to HHVM and more compatibility fixes with PHP5.6
743 - Fixes and improvements to collections
744 - Replace json decoder with json-c library
745 - Document VMRegAnchor and isVMFrame()
746 - Improvements to array iterator code
747 - Improvements to the type checker
748 - Allow parser to be generated with bison 3
749 - Improvements and speed up to reflection code
752 - Make handling of code.hot overflows more robust
753 - Catch server errors sooner
754 - Fix segfault and infinite recursion in fileinfo extension
755 - Resolve systemlib constants at compile time
756 - Resume resumables natively
757 - Import round() table optimizations from php-src
758 - Delete bytecode Peephole optimizer
759 - Remove most of annotation.cpp, and some other code gated on !UsedHHBBC
760 - Create phis for locals
761 - Fix free of "" in rfc1867PostHandler
762 - Add firstValue(), firstKey(), lastValue(), lastKey() to collections
763 - Add concat() to collections
764 - Clarify Hack license
765 - Add CakePHP3 to test runner
766 - Better error when TC is full
767 - Add hash_equals() from PHP 5.6
769 "Insane Poetry" 24-Apr-2014
770 - Support for PHP 5.6 variadic ...$args syntax for func declarations
771 - Open source HHMeasure, a simple and extensible microbenchmarking tool
772 - Added a new time-based sampling profiler (Project Xenon)
773 - Fix PCRE unicode handling
774 - Convert Zend compatibility layer and various extensions to HNI
775 - Encode execution mode (eager or resumed) into SrcKey
776 - Merge eager and resumed parts of async functions
777 - Rework various async / continuation bytecode instructions
779 "House of PHPain" 1-Apr-2014
780 - Allow direct arg passing with up to 15 params (7 if at least one is a double)
782 "Ghostface Killah" 17-Mar-2014
783 - Remove "HipHop" from error messages
784 - Add __IsFoldable user attribute for const-foldable functions
785 - Add __Native("NoFCallBuiltin") UA for builtins which need an actrec
786 - Add support for testing different outputs in repo mode
787 - Implement remaining functionality from intl extension
788 - Implement XSL extension
789 - Implement Stream Filters
790 - Improve php.ini support and get ready to kill HDF files
791 - Parse config files as ini files, unless filename contains '.hdf'
792 - Various fixes to Redis, JSON, SPL, DateTime, MySQLi, and others
793 - Remove C<T>Ref typedefs (use const T& now)
794 - JIT default on in command line mode
795 - gethostname() just returns what the syscall returns (Zend compat)
796 - HHBBC turned on in the build for facebook.com
798 "Fifty Cent" 3-Mar-2014
799 - Array parameter type constraints implicitly cast collections to arrays
800 - Fix issues with feof and fwrite
801 - Fix issues with sleep and inaccessible properties
802 - Dump a jemalloc pprod dump when a request hits OOM
803 - Make method_exists work with interface inheritance
804 - Fix crash in preg_replace with /e
805 - Support filename and content type in Curl uploads
807 - Handle relative paths in is_dir
808 - Add string conversion for array_fill_keys
809 - Implement various Imagick functionality
810 - Implement CUROPT_PROGRESSFUNCTION
811 - Implement PHP 5.6 __debugInfo() magic method
812 - Raise warnings when return type annotations mismatch
813 - Fix nested ArrayObject assignment
814 - Switch many ini settings to thread-time binding
815 - Clean up memory stat tracking
816 - Immutable collections are now prefixed with Imm instead of Fixed/Frozen
817 - Clean up type parameter for CheckType-related IR opcodes
818 - Remove legacy linear-scan register allocator and Eval.HHIRXls option
821 - reenabled jemalloc tcache flush for idle threads
822 - array_combine now performs __toString conversion on objects in $keys
823 - Allow streams in move_uploaded_file
824 - Fix a bug double closing a UserFile
825 - Warn when first arg to call_user_func is an object with no __invoke
826 - kill userland hdf functions
827 - Final method reports itself as final
828 - Implement IntlCalendar
829 - Disallow create_function in RepoAuthoritative mode
830 - Case-insensitive check for Accept-Encoding: gzip
832 "Donald Glover" 3-Feb-2014
833 - Support for "::class"
834 - Enable FCallBuiltin for HNI functions
835 - json_decode parity with PHP 5.4
836 - Fix race condition with profiling vs. non-profiling functions prologues
837 - Implement ini_get_all()
838 - Begin conversion of runtime options to INI
839 - Fix potential PGO-mode crash
840 - Fixes and enhancement in IR printing
841 - Vector and Set now supported by:
842 array_{shift,unshift,fill_keys,reverse,flip,size,chunk}, min, and max
843 - StableMap is now an alias for Map, which retains insertion order
844 - Map moved to HH namespace
845 - Fixes in XLS spilling of SIMD registers
846 - Support SCRIPT_FILENAME in FastCGI
847 - Implement stream_context_{get,set}_default
848 - Support for Intel VTune Amplifier XE
849 - Rewrite of SimpleXML
850 - Several HNI conversions, and a helper script
851 - Move Pair to HH namespace
852 - Fix get_included_files ordering
853 - Fix $_SERVER and $_ENV in FastCGI
854 - Update timelib to php 5.5.8
855 - Some dead code removal
859 - FastCGI fixes, perf improvements
860 - ext_zend_compat fixes
861 - Turn on XLS Register Allocator by default
862 - Fix server stats reporting
863 - 'num' scalar typehint that accepts both ints and floats
864 - fix support for typedef'd namespaces
865 - don't swallow fatals when autoloading
866 - Map collections learned the in-place retain() and retainWithKey()
867 - rename Set::difference() to Set::removeAll()
868 - Update Set to retain element insertion order
871 - FrozenMap collection
872 - Deprecated Vector|Set|Map::put() method removed
873 - == between Frozen{Vector|Set|Map} and {Vector|Set|Map} now can return true
875 "Beastie Boys" 6-Jan-2014
876 - Support lex-time binary constants (eg. 0b10111)
877 - StreamWrappers now support rmdir, mkdir, rename and unlink
878 - Miscellaneous PHP5 compatibility fixes
879 - Default StatCache to off
880 - Miscellaneous FastCGI fixes
881 - Miscellaneous region compiler fixes
882 - Map and StableMap collections use the same underlying implementation
883 - Trait requirements enforced
884 - hhprof performance improvements
885 - Add array to string conversion notice
886 - Add RaiseNotice IR opcode
887 - Fix VirtualHost.<name>.Pattern matching
888 - Fix various memory leaks (pdo_parse_params, Gen*WaitHandle)
889 - Import a lot more Zend tests that used to crash or hang
891 - XLS register allocation cleanup
892 - Enable region compiler by default for JIT functions in ahot
893 - Fatal on eval() in RepoAuthoritative mode
894 - Enable LTO for HHVM
895 - Fix a few SPL compatibility issues
897 "Appleseed" 23-Dec-2013
898 - Fix issues with DOCUMENT_ROOT in fastcgi
899 - Better type inference for collections and builtins in repo mode
900 - Shorter syntax for lambda expressions w/ automatic captures
901 - Parser support for trait require clauses
902 - Move FrozenVector and Set to the HH namespace
903 - Fix resource to array conversion
904 - Fix a request local memory leak in foreach of apc arrays
905 - Initial php_odbc API implementation
906 - Implement PHP's hash_copy() function
907 - Experimental tool: Memoization Opportunity Profiler
908 - Various small parity/behavior fixes (in phar, proc_open, filter_var)
909 - A Eval.DumpHhas=1 option to dump hhas for a php file
910 - Better warnings in Set::toArray
911 - Fix the behavior of foreach loops in finally blocks
912 - chmod -x runtime/vm/jit/*.{cpp,h}
913 - Changes to make hhvm build clean with clang-3.4
914 - Fix array_product to not be bug-compatible with PHP 5.2
915 - Change the Map datastructure---preserves order and does faster foreach
916 - FrozenSet collection
917 - Generate pid.map when we unmap text section, for the perf tool
918 - Implemented GlobIterator
919 - Implemented Reflection::export and Reflection::getModifierNames
922 - support date.timezone in ini files
924 - special comparisons for DateTime
925 - delete unimplemented functions
926 - support for the finally clause in try blocks
928 "Huarache" 26-Nov-2013
929 - Linker re-ordering of hot functions
930 - Huge pages for hot functions
931 - Implement ZipArchive
932 - preg_replace /e support
933 - get_mem_usage() no longer can be negative
934 - Userland file system support
935 - Implement fileinfo extension
937 - PDO::sqliteCreateFunction()
938 - Implement NumberFormatter
940 - Implement DatePeriod
941 - Many reflection fixes
943 - A ton of performance fixes
944 - A ton of open source framework fixes
945 - FastCGI Server Support
947 "Garlic Alfredo" 11-Nov-2013
948 - teach implode() about collections
949 - fix ini parsing leak
950 - Make array not an instanceof Traversable
952 "Burrito" 28-Oct-2013
953 - Initial support for using FastCGI
954 - Initial support for php.ini configuration files
955 - Log when a nullable (e.g. ?int) is incorrect
956 - Add support for collections to array_diff, array_diff_key, array_intersect,
958 - tc-print improvements and fixes
959 - Several debugger fixes
960 - More improvements to the experimental PHP extension compat layer
961 - Fixed how parse errors are handled by eval()
962 - Support custom reason for status header
963 - Emit better error message when hhvm's systemlib doesn't load properly
964 - Fixes / clarifications added to the bytecode specification
965 - Lots of other bug fixes, clean up, PHP compat fixes, and JIT improvements
967 "Sausage" 14-Oct-2013
968 - Direct invocation of callable arrays: $f = [$cls_or_obj, 'method']; $f()
970 - Support dynamically loadable extensions
971 - Support loading mini-systemlibs from extensions
973 "Tabasco" 30-Sep-2013
974 - Fix issues with __toString() functions that return non-string values
975 - Don't allow mock classes to extend collection classes
976 - Smarter memory allocation and scheduling for NUMA systems
977 - Improve profiler performance in the jit
978 - Fix several Zend compatibility issues
979 - Fix several bugs uncovered by ASAN
980 - Add collection support to array_keys, array_values, and array_combine
981 - Return a set-like array from Set::toArray
982 - Add to(Vector|Map|StableMap|Set) methods to collections
983 - Collections convert to boolean false when empty
984 - get_class_vars invokes the autoloader when necessary
985 - Rework the Zend compatibility layer to be more robust
986 - Allow traits to implement interfaces
987 - Support arbitrary expressions inside empty()
989 "Bobotie" 16-Sep-2013
990 - HNI (HipHop Native Interface) for calling C++ functions from PHP
991 - Fix PropertyAccessorMap::isset
992 - Expose more POSIX constants
993 - Fixed behavior of stream_get_contents when default args are used.
994 - Implement str_getcsv, and fix some fgetcsv related issues.
995 - [IPv6] Fix stream_socket_recvfrom & stream_socket_sendto.
996 - [IPv6] Fix socket_sentto_recvfrom_ipv6_udp Zend compatibility.
997 - Optimize closure invocation and __invoke (~3x faster to invoke)
998 - Import gettext extension
999 - string and object allocation optimizations (reduced memory usage for both)
1000 - Import YAML extension
1001 - Import ftp extension
1004 - Fix order of custom attributes and visibility in ctor arg promotion
1005 - Implement CachingIterator
1006 - Implement RecursiveCachingIterator
1007 - Generalized heuristic for choosing when to inline in the jit
1008 - Introduced a Zend compatibility layer to compile extensions
1009 - Imported calendar extension
1010 - Use gcc-4.8.1 by default
1011 - Improve hhvm command line parsing logic
1012 - Fix register_shutdown in session_set_save_handler to match PHP 5.4
1013 - Add "native" functions for use in Systemlib
1014 - PHP extension source-compatitblility layer
1015 - Fix ArrayIterator constructor PHP compatibility
1016 - Enable building against libmemcached 1.0.8
1017 - Debugger: $_ not cleared but still printed after exception
1018 - Fix clone of SplPriorityQueue
1019 - Debugger: Fix bugs when multiple threads hit the same breakpoint
1020 - Fix several namespace bugs
1021 - Several PHP compatibility fixes for ArrayObject and ArrayIterator
1022 - Fix list assignment with collection literals
1023 - support "tuple(...)" in initializer expressions
1024 - HHVM should compile with libmemcached 1.0.9+
1025 - Support "(new Vector {..})->method()" style syntax
1026 - use trigger_error in PHP for Redis user errors
1027 - multiple simplexml fixes
1028 - fixed serialize/unserialize for SplObjectStorage
1029 - Implement ReflectionParameter::IsCallable()
1031 "Achiote" 19-Aug-2013
1032 - Async stack traces in the debugger via the "wa" command
1033 - Fix late static binding in static closures
1034 - Fix breakpoints on generators
1035 - Add SplObserver and SplSubject interfaces
1036 - Update Iterable interface and add toArray() method
1037 - Allow __get for undefined properties
1038 - Implement get_included_files()
1039 - Limit use of huge pages
1041 "Churrasco" 05-Aug-2013
1042 - Implement stream_is_local
1043 - Implement read support for .phar
1044 - Implement assert with string arguments
1045 - Implement RecursiveArrayIterator
1046 - Implement php_strip_whitespace()
1047 - Support for timeouts in cli mode
1048 - Closure allocation optimizations (~2x faster to allocate a closure)
1049 - Implement Redis session handler
1050 - New memory profiler, hhprof, with pprof compatible output
1051 - Update isset($string[$k]) and empty($string[$k) to PHP 5.5 semantics
1052 - Fixed a few parser bugs
1053 - Fixed a few bugs with token_get_all()
1054 - Fix (string)$obj semantics when __toString() is not defined
1056 "Tamale" 22-Jul-2013
1057 - Optimize vector-shaped Arrays (arrays with keys in range 0..size-1)
1058 - Enable HHBC by default in debug builds
1059 - Implement SplObjectStorage::getInfo()
1060 - Initial rough draft of xhpast2, a replacement for xhpast
1061 - fix compilation on Ubuntu 13.04
1062 - OSX changes, next round
1063 - Modify PHP's ext/standard/math/tests/(pow|abs).phpt to be HHVM friendly
1064 - add XHP comment syntax based on http://www.w3.org/TR/REC-xml/#sec-comments
1066 "Wasabi Peas" 08-Jul-2013
1067 - always_assert when we run out of TC space
1068 - Initial changes to get HHVM compiling on OSX
1069 - Consolidate ObjectData and Instance
1070 - Prototype heap tracing framework & Heap profiler
1071 - Better JIT code generation for Mod and Div
1072 - Fixes to enable compilation with clang
1073 - Support for yield k => v
1074 - Make HHVM's command line parsing closer to PHP
1075 - Implement Redis extension
1076 - Implement LimitIterator from SPL
1077 - add SessionHandler from PHP 5.4
1078 - Numerous Debugger fixes and new developer docs for Debugger
1079 - Ported many extension tests to PHP