HHVM 4.25.0
HHVM 4.25 is released! This release marks the end of support for 4.19; 4.20-4.24 remain supported, as do the LTS releases 3.30 and 4.8.
Highlights
- Corrected stack trace file names and line numbers for inlined functions; previously, the file name and line number from the first non-inlined frame would be used instead.
- It is no longer a type error for a disposable to implement a non-disposable interface.
@paramdocumentation is now shown in IDE signature help.
Breaking Changes
- The
getAttributeRecursiveandgetAttributesRecursivereflection methods have been removed; they were previously marked as__Deprecated. - Many functions and methods have had their by-ref parameters replaced
with
inoutparameters:natsort(),natcasesort(),sort(),rsort(),asort(),arsort(),ksort(),krsort(),usort(),uasort(), anduksort()array_pop(),array_push(),array_shift(),array_splice(),array_unshift(), andshuffle()IntlTimeZone::getOffset()pagelet_server_task_result(),xbox_send_message(), andxbox_task_result()
call_user_method()andcall_user_method_array()have been removed - they have been deprecated since PHP4.- the runtime no longer recognizes the aliases
double,real,integer, andboolean; usefloat,int, andboolinstead. These aliases were previously typechecker errors. - Added return types to many Async MySQL methods; this may lead to new type errors.
hhast-migrate --ref-to-inout can be used for many of the reference-to-inout
changes.
Future Changes
- references will be completely removed from the language and runtime; we will be publishing details in a separate post.