news.txt 84 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026
  1. PHP NEWS
  2. |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  3. 01 Mar 2018, PHP 7.2.3
  4. - Core:
  5. . Fixed bug #75864 ("stream_isatty" returns wrong value on s390x). (Sam Ding)
  6. - Apache2Handler:
  7. . Fixed bug #75882 (a simple way for segfaults in threadsafe php just with
  8. configuration). (Anatol)
  9. - Date:
  10. . Fixed bug #75857 (Timezone gets truncated when formatted). (carusogabriel)
  11. . Fixed bug #75928 (Argument 2 for `DateTimeZone::listIdentifiers()` should
  12. accept `null`). (Pedro Lacerda)
  13. . Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it).
  14. (jhdxr)
  15. - LDAP:
  16. . Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros). (dzuelke)
  17. - libxml2:
  18. . Fixed bug #75871 (use pkg-config where available). (pmmaga)
  19. - PGSQL:
  20. . Fixed bug #75838 (Memory leak in pg_escape_bytea()). (ard_1 at mail dot ru)
  21. - Phar:
  22. . Fixed bug #54289 (Phar::extractTo() does not accept specific directories to
  23. be extracted). (bishop)
  24. . Fixed bug #65414 (deal with leading slash while adding files correctly).
  25. (bishopb)
  26. . Fixed bug #65414 (deal with leading slash when adding files correctly).
  27. (bishopb)
  28. - ODBC:
  29. . Fixed bug #73725 (Unable to retrieve value of varchar(max) type). (Anatol)
  30. - Opcache:
  31. . Fixed bug #75729 (opcache segfault when installing Bitrix). (Nikita)
  32. . Fixed bug #75893 (file_get_contents $http_response_header variable bugged
  33. with opcache). (Nikita)
  34. . Fixed bug #75938 (Modulus value not stored in variable). (Nikita)
  35. - SPL:
  36. . Fixed bug #74519 (strange behavior of AppendIterator). (jhdxr)
  37. - Standard:
  38. . Fixed bug #75916 (DNS_CAA record results contain garbage). (Mike,
  39. Philip Sharp)
  40. . Fixed bug #75981 (Prevent reading beyond buffer start in http wrapper).
  41. (Stas)
  42. 01 Feb 2018, PHP 7.2.2
  43. - Core:
  44. . Fixed bug #75742 (potential memleak in internal classes's static members).
  45. (Laruence)
  46. . Fixed bug #75679 (Path 260 character problem). (Anatol)
  47. . Fixed bug #75614 (Some non-portable == in shell scripts). (jdolecek)
  48. . Fixed bug #75786 (segfault when using spread operator on generator passed
  49. by reference). (Nikita)
  50. . Fixed bug #75799 (arg of get_defined_functions is optional). (carusogabriel)
  51. . Fixed bug #75396 (Exit inside generator finally results in fatal error).
  52. (Nikita)
  53. - FCGI:
  54. . Fixed bug #75794 (getenv() crashes on Windows 7.2.1 when second parameter is
  55. false). (Anatol)
  56. - IMAP:
  57. . Fixed bug #75774 (imap_append HeapCorruction). (Anatol)
  58. - Opcache:
  59. . Fixed bug #75720 (File cache not populated after SHM runs full). (Dmitry)
  60. . Fixed bug #75687 (var 8 (TMP) has array key type but not value type).
  61. (Nikita, Laruence)
  62. . Fixed bug #75698 (Using @ crashes php7.2-fpm). (Nikita)
  63. . Fixed bug #75579 (Interned strings buffer overflow may cause crash).
  64. (Dmitry)
  65. - PDO:
  66. . Fixed bug #75616 (PDO extension doesn't allow to be built shared on Darwin).
  67. (jdolecek)
  68. - PDO MySQL:
  69. . Fixed bug #75615 (PDO Mysql module can't be built as module). (jdolecek)
  70. - PGSQL:
  71. . Fixed bug #75671 (pg_version() crashes when called on a connection to
  72. cockroach). (magicaltux at gmail dot com)
  73. - Readline:
  74. . Fixed bug #75775 (readline_read_history segfaults with empty file).
  75. (Anatol)
  76. - SAPI:
  77. . Fixed bug #75735 ([embed SAPI] Segmentation fault in
  78. sapi_register_post_entry). (Laruence)
  79. - SOAP:
  80. . Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is
  81. used). (Anton Artamonov)
  82. . Fixed bug #75502 (Segmentation fault in zend_string_release). (Nikita)
  83. - SPL:
  84. . Fixed bug #75717 (RecursiveArrayIterator does not traverse arrays by
  85. reference). (Nikita)
  86. . Fixed bug #75242 (RecursiveArrayIterator doesn't have constants from parent
  87. class). (Nikita)
  88. . Fixed bug #73209 (RecursiveArrayIterator does not iterate object
  89. properties). (Nikita)
  90. - Standard:
  91. . Fixed bug #75781 (substr_count incorrect result). (Laruence)
  92. . Fixed bug #75653 (array_values don't work on empty array). (Nikita)
  93. - Zip:
  94. . Display headers (buildtime) and library (runtime) versions in phpinfo
  95. (with libzip >= 1.3.1). (Remi)
  96. 04 Jan 2018, PHP 7.2.1
  97. - Core:
  98. . Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26). (Laruence)
  99. . Fixed bug #75384 (PHP seems incompatible with OneDrive files on demand).
  100. (Anatol)
  101. . Fixed bug #75525 (Access Violation in vcruntime140.dll). (Anatol)
  102. . Fixed bug #74862 (Unable to clone instance when private __clone defined).
  103. (Daniel Ciochiu)
  104. . Fixed bug #75074 (php-process crash when is_file() is used with strings
  105. longer 260 chars). (Anatol)
  106. . Fixed bug #69727 (Remove timestamps from build to make it reproducible).
  107. (jelle van der Waa)
  108. - CLI server:
  109. . Fixed bug #73830 (Directory does not exist). (Anatol)
  110. - FPM:
  111. . Fixed bug #64938 (libxml_disable_entity_loader setting is shared between
  112. requests). (Remi)
  113. - GD:
  114. . Fixed bug #75571 (Potential infinite loop in gdImageCreateFromGifCtx).
  115. (Christoph)
  116. - Opcache:
  117. . Fixed bug #75608 ("Narrowing occurred during type inference" error).
  118. (Laruence, Dmitry)
  119. . Fixed bug #75579 (Interned strings buffer overflow may cause crash).
  120. (Dmitry)
  121. . Fixed bug #75570 ("Narrowing occurred during type inference" error).
  122. (Dmitry)
  123. . Fixed bug #75681 (Warning: Narrowing occurred during type inference,
  124. specific case). (Nikita)
  125. . Fixed bug #75556 (Invalid opcode 138/1/1). (Laruence)
  126. - PCRE:
  127. . Fixed bug #74183 (preg_last_error not returning error code after error).
  128. (Andrew Nester)
  129. - Phar:
  130. . Fixed bug #74782 (remove file name from output to avoid XSS). (stas)
  131. - Standard:
  132. . Fixed bug #75511 (fread not free unused buffer). (Laruence)
  133. . Fixed bug #75514 (mt_rand returns value outside [$min,$max]+ on 32-bit)
  134. (Remi)
  135. . Fixed bug #75535 (Inappropriately parsing HTTP response leads to PHP
  136. segment fault). (Nikita)
  137. . Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator
  138. that getrandom() is missing). (sarciszewski)
  139. . Fixed bug #73124 (php_ini_scanned_files() not reporting correctly).
  140. (John Stevenson)
  141. . Fixed bug #75574 (putenv does not work properly if parameter contains
  142. non-ASCII unicode character). (Anatol)
  143. - Zip:
  144. . Fixed bug #75540 (Segfault with libzip 1.3.1). (Remi)
  145. 30 Nov 2017, PHP 7.2.0
  146. - BCMath:
  147. . Fixed bug #46564 (bcmod truncates fractionals). (liborm85)
  148. - CLI:
  149. . Fixed bug #74849 (Process is started as interactive shell in PhpStorm).
  150. (Anatol)
  151. . Fixed bug #74979 (Interactive shell opening instead of script execution
  152. with -f flag). (Anatol)
  153. - CLI server:
  154. . Fixed bug #60471 (Random "Invalid request (unexpected EOF)" using a router
  155. script). (SammyK)
  156. - Core:
  157. . Added ZEND_COUNT, ZEND_GET_CLASS, ZEND_GET_CALLED_CLASS, ZEND_GET_TYPE,
  158. ZEND_FUNC_NUM_ARGS, ZEND_FUNC_GET_ARGS instructions, to implement
  159. corresponding builtin functions. (Dmitry)
  160. . "Countable" interface is moved from SPL to Core. (Dmitry)
  161. . Added ZEND_IN_ARRAY instruction, implementing optimized in_array() builtin
  162. function, through hash lookup in flipped array. (Dmitry)
  163. . Removed IS_TYPE_IMMUTABLE (it's the same as COPYABLE & !REFCOUNTED). (Dmitry)
  164. . Removed the sql.safe_mode directive. (Kalle)
  165. . Removed support for Netware. (Kalle)
  166. . Renamed ReflectionClass::isIterateable() to ReflectionClass::isIterable()
  167. (alias original name for BC). (Sara)
  168. . Fixed bug #54535 (WSA cleanup executes before MSHUTDOWN). (Kalle)
  169. . Implemented FR #69791 (Disallow mail header injections by extra headers)
  170. (Yasuo)
  171. . Implemented FR #49806 (proc_nice() for Windows). (Kalle)
  172. . Fix pthreads detection when cross-compiling (ffontaine)
  173. . Fixed memory leaks caused by exceptions thrown from destructors. (Bob,
  174. Dmitry).
  175. . Fixed bug #73215 (uniqid() should use better random source). (Yasuo)
  176. . Implemented FR #72768 (Add ENABLE_VIRTUAL_TERMINAL_PROCESSING flag for
  177. php.exe). (Michele Locati)
  178. . Implemented "Convert numeric keys in object/array casts" RFC, fixes
  179. bugs #53838, #61655, #66173, #70925, #72254, etc. (Andrea)
  180. . Implemented "Deprecate and Remove Bareword (Unquoted) Strings" RFC.
  181. (Rowan Collins)
  182. . Raised minimum supported Windows versions to Windows 7/Server 2008 R2.
  183. (Anatol)
  184. . Implemented minor optimization in array_keys/array_values(). (Sara)
  185. . Added PHP_OS_FAMILY constant to determine on which OS we are. (Jan Altensen)
  186. . Fixed bug #73987 (Method compatibility check looks to original
  187. definition and not parent). (pmmaga)
  188. . Fixed bug #73991 (JSON_OBJECT_AS_ARRAY not respected). (Sara)
  189. . Fixed bug #74053 (Corrupted class entries on shutdown when a destructor
  190. spawns another object). (jim at commercebyte dot com)
  191. . Fixed bug #73971 (Filename got limited to MAX_PATH on Win32 when scan
  192. directory). (Anatol)
  193. . Fixed bug #72359, bug #72451, bug #73706, bug #71115 and others related
  194. to interned strings handling in TS builds. (Anatol, Dmitry)
  195. . Implemented "Trailing Commas In List Syntax" RFC for group use lists only.
  196. (Sammy Kaye Powers)
  197. . Fixed bug #74269 (It's possible to override trait property with different
  198. loosely-equal value). (pmmaga)
  199. . Fixed bug #61970 (Restraining __construct() access level in subclass gives
  200. a fatal error). (pmmaga)
  201. . Fixed bug #63384 (Cannot override an abstract method with an abstract
  202. method). (pmmaga, wes)
  203. . Fixed bug #74607 (Traits enforce different inheritance rules). (pmmaga)
  204. . Fixed misparsing of abstract unix domain socket names. (Sara)
  205. . Change PHP_OS_FAMILY value from "OSX" to "Darwin". (Sebastian, Kalle)
  206. . Allow loading PHP/Zend extensions by name in ini files (extension=<name>).
  207. (francois at tekwire dot net)
  208. . Added object type annotation. (brzuchal)
  209. . Fixed bug #74815 (crash with a combination of INI entries at startup).
  210. (Anatol)
  211. . Fixed bug #74836 (isset on zero-prefixed numeric indexes in array broken).
  212. (Dmitry)
  213. . Added new VM instuctions ISSET_ISEMPTY_CV and UNSET_CV. Previously they
  214. were implemented as ISSET_ISEMPTY_VAR and UNSET_VAR variants with
  215. ZEND_QUICK_SET flag. (Nikita, Dmitry)
  216. . Fixed bug #49649 (unserialize() doesn't handle changes in property
  217. visibility). (pmmaga)
  218. . Fixed #74866 (extension_dir = "./ext" now use current directory for base).
  219. (Francois Laupretre)
  220. . Implemented FR #74963 (Improved error message on fetching property of
  221. non-object). (Laruence)
  222. . Fixed Bug #75142 (buildcheck.sh check for autoconf version needs to be updated
  223. for v2.64). (zizzy at zizzy dot net, Remi)
  224. . Fixed bug #74878 (Data race in ZTS builds). (Nikita, Dmitry)
  225. . Fixed bug #75515 ("stream_copy_to_stream" doesn't stream anymore). (Sara)
  226. - cURL:
  227. . Fixed bug #75093 (OpenSSL support not detected). (Remi)
  228. . Better fix for #74125 (use pkg-config instead of curl-config). (Remi)
  229. - Date:
  230. . Fixed bug #55407 (Impossible to prototype DateTime::createFromFormat).
  231. (kelunik)
  232. . Implemented FR #71520 (Adding the DateTime constants to the
  233. DateTimeInterface interface). (Majkl578)
  234. . Fixed bug #75149 (redefinition of typedefs ttinfo and t1info). (Remi)
  235. . Fixed bug #75222 (DateInterval microseconds property always 0). (jhdxr)
  236. . Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it).
  237. (jhdxr)
  238. - Dba:
  239. . Fixed bug #72885 (flatfile: dba_fetch() fails to read replaced entry).
  240. (Anatol)
  241. - DOM:
  242. . Implement #74837 (Implement Countable for DomNodeList and DOMNamedNodeMap).
  243. (Andreas Treichel)
  244. - EXIF:
  245. . Added support for vendor specific tags for the following formats:
  246. Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon, AGFA,
  247. Kyocera, Ricoh & Epson. (Kalle)
  248. . Fixed bug #72682 (exif_read_data() fails to read all data for some
  249. images). (Kalle)
  250. . Fixed bug #71534 (Type confusion in exif_read_data() leading to heap
  251. overflow in debug mode). (hlt99 at blinkenshell dot org, Kalle)
  252. . Fixed bug #68547 (Exif Header component value check error).
  253. (sjh21a at gmail dot com, Kalle)
  254. . Fixed bug #66443 (Corrupt EXIF header: maximum directory nesting level
  255. reached for some cameras). (Kalle)
  256. . Fixed Redhat bug #1362571 (PHP not returning full results for
  257. exif_read_data function). (Kalle)
  258. . Implemented #65187 (exif_read_data/thumbnail: add support for stream
  259. resource). (Kalle)
  260. . Deprecated the read_exif_data() alias. (Kalle)
  261. . Fixed bug #74428 (exif_read_data(): "Illegal IFD size" warning occurs with
  262. correct exif format). (bradpiccho at gmail dot com, Kalle)
  263. . Fixed bug #72819 (EXIF thumbnails not read anymore). (Kalle)
  264. . Fixed bug #62523 (php crashes with segfault when exif_read_data called).
  265. (Kalle)
  266. . Fixed bug #50660 (exif_read_data(): Illegal IFD offset (works fine with
  267. other exif readers). (skinny dot bravo at gmail dot com, Kalle)
  268. - Fileinfo:
  269. . Upgrade bundled libmagic to 5.31. (Anatol)
  270. - FPM:
  271. . Configuration to limit fpm slow log trace callers. (Sannis)
  272. . Fixed bug #75212 (php_value acts like php_admin_value). (Remi)
  273. - FTP:
  274. . Implement MLSD for structured listing of directories. (blar)
  275. . Added ftp_append() function. (blar)
  276. - GD:
  277. . Implemented imageresolution as getter and setter (Christoph)
  278. . Fixed bug #74744 (gd.h: stdarg.h include missing for va_list use in
  279. gdErrorMethod). (rainer dot jung at kippdata dot de, cmb)
  280. . Fixed bug #75111 (Memory disclosure or DoS via crafted .bmp image). (cmb)
  281. - GMP:
  282. . Fixed bug #70896 (gmp_fact() silently ignores non-integer input). (Sara)
  283. - Hash:
  284. . Changed HashContext from resource to object. (Rouven Weßling, Sara)
  285. . Disallowed usage of non-cryptographic hash functions with HMAC and PBKDF2.
  286. (Andrey Andreev, Nikita)
  287. . Fixed Bug #75284 (sha3 is not supported on bigendian machine). (Remi)
  288. - IMAP:
  289. . Fixed bug #72324 (imap_mailboxmsginfo() return wrong size).
  290. (ronaldpoon at udomain dot com dot hk, Kalle)
  291. - Intl:
  292. . Fixed bug #63790 (test using Spoofchecker which may be unavailable). (Sara)
  293. . Fixed bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change
  294. $position argument). (Laruence)
  295. - JSON:
  296. . Add JSON_INVALID_UTF8_IGNORE and JSON_INVALID_UTF8_SUBSTITUTE options for
  297. json_encode and json_decode to ignore or replace invalid UTF-8 byte
  298. sequences - it addresses request #65082. (Jakub Zelenka)
  299. . Fixed bug #75185 (Buffer overflow in json_decode() with
  300. JSON_INVALID_UTF8_IGNORE or JSON_INVALID). (Jakub Zelenka)
  301. . Fixed bug #68567 (JSON_PARTIAL_OUTPUT_ON_ERROR can result in JSON with null
  302. key). (Jakub Zelenka)
  303. - LDAP:
  304. . Implemented FR #69445 (Support for LDAP EXOP operations)
  305. . Fixed support for LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS in ldap_get_option
  306. . Fixed passing an empty array to ldap_set_option for client or server controls.
  307. - Mbstring:
  308. . Implemented request #66024 (mb_chr() and mb_ord()). (Masakielastic, Yasuo)
  309. . Implemented request #65081 (mb_scrub()). (Masakielastic, Yasuo)
  310. . Implemented request #69086 (enhancement for mb_convert_encoding() that
  311. handles multibyte replacement char nicely). (Masakielastic, Yasuo)
  312. . Added array input support to mb_convert_encoding(). (Yasuo)
  313. . Added array input support to mb_check_encoding(). (Yasuo)
  314. . Fixed bug #69079 (enhancement for mb_substitute_character). (masakielastic)
  315. . Update to oniguruma version 6.3.0. (Remi)
  316. . Fixed bug #69267 (mb_strtolower fails on titlecase characters). (Nikita)
  317. - Mcrypt:
  318. . The deprecated mcrypt extension has been moved to PECL. (leigh)
  319. - Opcache:
  320. . Added global optimisation passes based on data flow analysis using Single
  321. Static Assignment (SSA) form: Sparse Conditional Constant Propagation (SCCP),
  322. Dead Code Elimination (DCE), and removal of unused local variables
  323. (Nikita, Dmitry)
  324. . Fixed incorect constant conditional jump elimination. (Dmitry)
  325. . Fixed bug #75230 (Invalid opcode 49/1/8 using opcache). (Laruence)
  326. . Fixed bug (assertion fails with extended info generated). (Laruence)
  327. . Fixed bug (Phi sources removel). (Laruence)
  328. . Fixed bug #75370 (Webserver hangs on valid PHP text). (Laruence)
  329. . Fixed bug #75357 (segfault loading WordPress wp-admin). (Laruence)
  330. - OpenSSL:
  331. . Use TLS_ANY for default ssl:// and tls:// negotiation. (kelunik)
  332. . Fix leak in openssl_spki_new(). (jelle at vdwaa dot nl)
  333. . Added openssl_pkcs7_read() and pk7 parameter to openssl_pkcs7_verify().
  334. (jelle at vdwaa dot nl)
  335. . Add ssl security_level stream option to support OpenSSL security levels.
  336. (Jakub Zelenka).
  337. . Allow setting SNI cert and private key in separate files. (Jakub Zelenka)
  338. . Fixed bug #74903 (openssl_pkcs7_encrypt() uses different EOL than before).
  339. (Anatol)
  340. . Automatically load OpenSSL configuration file. (Jakub Zelenka)
  341. - PCRE:
  342. . Added support for PCRE JIT fast path API. (dmitry)
  343. . Fixed bug #61780 (Inconsistent PCRE captures in match results). (cmb)
  344. . Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()).
  345. (Dmitry)
  346. . Fixed bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after
  347. first input string). (Dmitry)
  348. . Fixed bug #75223 (PCRE JIT broken in 7.2). (Dmitry)
  349. . Fixed bug #75285 (Broken build when system libpcre don't have jit support).
  350. (Remi)
  351. - phar:
  352. . Fixed bug #74196 (phar does not correctly handle names containing dots).
  353. (mhagstrand)
  354. - PDO:
  355. . Add "Sent SQL" to debug dump for emulated prepares. (Adam Baratz)
  356. . Add parameter types for national character set strings. (Adam Baratz)
  357. - PDO_DBlib:
  358. . Fixed bug #73234 (Emulated statements let value dictate parameter type).
  359. (Adam Baratz)
  360. . Fixed bug #73396 (bigint columns are returned as strings). (Adam Baratz)
  361. . Expose DB-Library version as \PDO::DBLIB_ATTR_VERSION attribute on \PDO
  362. instance. (Adam Baratz)
  363. . Add test coverage for bug #72969. (Jeff Farr)
  364. - PDO_OCI:
  365. . Fixed Bug #74537 (Align --with-pdo-oci configure option with --with-oci8 syntax).
  366. (Tianfang Yang)
  367. - PDO_Sqlite
  368. . Switch to sqlite3_prepare_v2() and sqlite3_close_v2() functions (rasmus)
  369. - PHPDBG
  370. . Added extended_value to opcode dump output. (Sara)
  371. - Session:
  372. . Fixed bug #73461 (Prohibit session save handler recursion). (Yasuo)
  373. . PR #2233 Removed register_globals related code and "!" can be used as $_SESSION key name. (Yasuo)
  374. . Improved bug #73100 fix. 'user' save handler can only be set by session_set_save_handler()
  375. . Fixed bug #74514 (5 session functions incorrectly warn when calling in
  376. read-only/getter mode). (Yasuo)
  377. . Fixed bug #74936 (session_cache_expire/cache_limiter/save_path() trigger a
  378. warning in read mode). (morozov)
  379. . Fixed bug #74941 (session fails to start after having headers sent).
  380. (morozov)
  381. - Sodium:
  382. . New cryptographic extension
  383. . Added missing bindings for libsodium > 1.0.13. (Frank)
  384. - SPL:
  385. . Fixed bug #71412 (Incorrect arginfo for ArrayIterator::__construct).
  386. (tysonandre775 at hotmail dot com)
  387. . Added spl_object_id(). (Tyson Andre)
  388. - SQLite3:
  389. . Implement writing to blobs. (bohwaz at github dot com)
  390. . Update to Sqlite 3.20.1. (cmb)
  391. - Standard:
  392. . Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph)
  393. . Fixed bug #74300 (unserialize accepts two plus/minus signs for float number exponent part).
  394. (xKerman)
  395. . Compatibility with libargon2 versions 20161029 and 20160821.
  396. (charlesportwoodii at erianna dot com)
  397. . Fixed Bug #74737 (mysqli_get_client_info reflection info).
  398. (mhagstrand at gmail dot com)
  399. . Add support for extension name as argument to dl().
  400. (francois at tekwire dot net)
  401. . Fixed bug #74851 (uniqid() without more_entropy performs badly).
  402. (Emmanuel Dreyfus)
  403. . Fixed bug #74103 (heap-use-after-free when unserializing invalid array
  404. size). (Nikita)
  405. . Fixed bug #75054 (A Denial of Service Vulnerability was found when
  406. performing deserialization). (Nikita)
  407. . Fixed bug #75170 (mt_rand() bias on 64-bit machines). (Nikita)
  408. . Fixed bug #75221 (Argon2i always throws NUL at the end). (cmb)
  409. - Streams:
  410. . Default ssl/single_dh_use and ssl/honor_cipher_order to true. (kelunik)
  411. - XML:
  412. . Moved utf8_encode() and utf8_decode() to the Standard extension. (Andrea)
  413. - XMLRPC:
  414. . Use Zend MM for allocation in bundled libxmlrpc (Joe)
  415. - ZIP:
  416. . Add support for encrypted archives. (Remi)
  417. . Use of bundled libzip is deprecated, --with-libzip option is recommended. (Remi)
  418. . Fixed Bug #73803 (Reflection of ZipArchive does not show public properties). (Remi)
  419. . ZipArchive implements countable, added ZipArchive::count() method. (Remi)
  420. . Fix segfault in php_stream_context_get_option call. (Remi)
  421. . Fixed bug #75143 (new method setEncryptionName() seems not to exist
  422. in ZipArchive). (Anatol)
  423. - zlib:
  424. . Expose inflate_get_status() and inflate_get_read_len() functions.
  425. (Matthew Trescott)
  426. 23 Nov 2017, PHP 7.1.12
  427. - Core:
  428. . Fixed bug #75420 (Crash when modifing property name in __isset for
  429. BP_VAR_IS). (Laruence)
  430. . Fixed bug #75368 (mmap/munmap trashing on unlucky allocations). (Nikita,
  431. Dmitry)
  432. - CLI:
  433. . Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown
  434. function). (Laruence)
  435. - Enchant:
  436. . Fixed bug #53070 (enchant_broker_get_path crashes if no path is set). (jelle
  437. van der Waa, cmb)
  438. . Fixed bug #75365 (Enchant still reports version 1.1.0). (cmb)
  439. - Exif:
  440. . Fixed bug #75301 (Exif extension has built in revision version). (Peter
  441. Kokot)
  442. - GD:
  443. . Fixed bug #65148 (imagerotate may alter image dimensions). (cmb)
  444. . Fixed bug #75437 (Wrong reflection on imagewebp). (Fabien Villepinte)
  445. - intl:
  446. . Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead
  447. of destination). (andrewnester)
  448. - interbase:
  449. . Fixed bug #75453 (Incorrect reflection for ibase_[p]connect). (villfa)
  450. - Mysqli:
  451. . Fixed bug #75434 (Wrong reflection for mysqli_fetch_all function). (Fabien
  452. Villepinte)
  453. - OCI8:
  454. . Fixed valgrind issue. (Tianfang Yang)
  455. - OpenSSL:
  456. . Fixed bug #75363 (openssl_x509_parse leaks memory). (Bob, Jakub Zelenka)
  457. . Fixed bug #75307 (Wrong reflection for openssl_open function). (villfa)
  458. - Opcache:
  459. . Fixed bug #75373 (Warning Internal error: wrong size calculation). (Laruence, Dmitry)
  460. - PGSQL:
  461. . Fixed bug #75419 (Default link incorrectly cleared/linked by pg_close()). (Sara)
  462. - SOAP:
  463. . Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders). (villfa)
  464. - Zlib:
  465. . Fixed bug #75299 (Wrong reflection on inflate_init and inflate_add). (Fabien
  466. Villepinte)
  467. 26 Oct 2017, PHP 7.1.11
  468. - Core:
  469. . Fixed bug #75241 (Null pointer dereference in zend_mm_alloc_small()).
  470. (Laruence)
  471. . Fixed bug #75236 (infinite loop when printing an error-message). (Andrea)
  472. . Fixed bug #75252 (Incorrect token formatting on two parse errors in one
  473. request). (Nikita)
  474. . Fixed bug #75220 (Segfault when calling is_callable on parent).
  475. (andrewnester)
  476. . Fixed bug #75290 (debug info of Closures of internal functions contain
  477. garbage argument names). (Andrea)
  478. - Apache2Handler:
  479. . Fixed bug #75311 (error: 'zend_hash_key' has no member named 'arKey' in
  480. apache2handler). (mcarbonneaux)
  481. - Date:
  482. . Fixed bug #75055 (Out-Of-Bounds Read in timelib_meridian()). (Derick)
  483. - Hash:
  484. . Fixed bug #75303 (sha3 hangs on bigendian). (Remi)
  485. - Intl:
  486. . Fixed bug #75318 (The parameter of UConverter::getAliases() is not
  487. optional). (cmb)
  488. - litespeed:
  489. . Fixed bug #75248 (Binary directory doesn't get created when building
  490. only litespeed SAPI). (petk)
  491. . Fixed bug #75251 (Missing program prefix and suffix). (petk)
  492. - mcrypt:
  493. . Fixed bug #72535 (arcfour encryption stream filter crashes php). (Leigh)
  494. - MySQLi:
  495. . Fixed bug #75018 (Data corruption when reading fields of bit type). (Anatol)
  496. - OCI8:
  497. . Fixed incorrect reference counting. (Dmitry, Tianfang Yang)
  498. - Opcache
  499. . Fixed bug #75255 (Request hangs and not finish). (Dmitry)
  500. - PCRE:
  501. . Fixed bug #75207 (applied upstream patch for CVE-2016-1283). (Anatol)
  502. - PDO_mysql:
  503. . Fixed bug #75177 (Type 'bit' is fetched as unexpected string). (Anatol)
  504. - SPL:
  505. . Fixed bug #73629 (SplDoublyLinkedList::setIteratorMode masks intern flags).
  506. (J. Jeising, cmb)
  507. 28 Sep 2017, PHP 7.1.10
  508. - Core:
  509. . Fixed bug #75042 (run-tests.php issues with EXTENSION block). (John Boehr)
  510. - BCMath:
  511. . Fixed bug #44995 (bcpowmod() fails if scale != 0). (cmb)
  512. . Fixed bug #46781 (BC math handles minus zero incorrectly). (cmb)
  513. . Fixed bug #54598 (bcpowmod() may return 1 if modulus is 1). (okano1220, cmb)
  514. . Fixed bug #75178 (bcpowmod() misbehaves for non-integer base or modulus). (cmb)
  515. - CLI server:
  516. . Fixed bug #70470 (Built-in server truncates headers spanning over TCP
  517. packets). (bouk)
  518. - CURL:
  519. . Fixed bug #75093 (OpenSSL support not detected). (Remi)
  520. - GD:
  521. . Fixed bug #75124 (gdImageGrayScale() may produce colors). (cmb)
  522. . Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?). (cmb)
  523. - Gettext:
  524. . Fixed bug #73730 (textdomain(null) throws in strict mode). (cmb)
  525. - Intl:
  526. . Fixed bug #75090 (IntlGregorianCalendar doesn't have constants from parent
  527. class). (tpunt)
  528. . Fixed bug #75193 (segfault in collator_convert_object_to_string). (Remi)
  529. - PDO_OCI:
  530. . Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized
  531. before PHP-FPM sets it up). (Ingmar Runge)
  532. - SPL:
  533. . Fixed bug #75155 (AppendIterator::append() is broken when appending another
  534. AppendIterator). (Nikita)
  535. . Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach loop).
  536. (jhdxr)
  537. - Standard:
  538. . Fixed bug #75152 (signed integer overflow in parse_iv). (Laruence)
  539. . Fixed bug #75097 (gethostname fails if your host name is 64 chars long). (Andrea)
  540. 31 Aug 2017, PHP 7.1.9
  541. - Core:
  542. . Fixed bug #74947 (Segfault in scanner on INF number). (Laruence)
  543. . Fixed bug #74954 (null deref and segfault in zend_generator_resume()). (Bob)
  544. . Fixed bug #74725 (html_errors=1 breaks unhandled exceptions). (Andrea)
  545. . Fixed bug #75063 (Main CWD initialized with wrong codepage). (Anatol)
  546. . Fixed bug #75349 (NAN comparison). (Sara)
  547. - cURL:
  548. . Fixed bug #74125 (Fixed finding CURL on systems with multiarch support).
  549. (cebe)
  550. - Date:
  551. . Fixed bug #75002 (Null Pointer Dereference in timelib_time_clone). (Derick)
  552. - Intl:
  553. . Fixed bug #74993 (Wrong reflection on some locale_* functions). (Sara)
  554. - Mbstring:
  555. . Fixed bug #71606 (Segmentation fault mb_strcut with HTML-ENTITIES encoding).
  556. (cmb)
  557. . Fixed bug #62934 (mb_convert_kana() does not convert iteration marks).
  558. (Nikita)
  559. . Fixed bug #75001 (Wrong reflection on mb_eregi_replace). (Fabien
  560. Villepinte)
  561. - MySQLi:
  562. . Fixed bug #74968 (PHP crashes when calling mysqli_result::fetch_object with
  563. an abstract class). (Anatol)
  564. - OCI8:
  565. . Expose oci_unregister_taf_callback() (Tianfang Yang)
  566. - Opcache:
  567. . Fixed bug #74980 (Narrowing occurred during type inference). (Laruence)
  568. - phar:
  569. . Fixed bug #74991 (include_path has a 4096 char limit in some cases).
  570. (bwbroersma)
  571. - Reflection:
  572. . Fixed bug #74949 (null pointer dereference in _function_string). (Laruence)
  573. - Session:
  574. . Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start
  575. with "#"). (Andrew Nester)
  576. . Fixed bug #74833 (SID constant created with wrong module number). (Anatol)
  577. - SimpleXML:
  578. . Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces).
  579. (Laruence)
  580. - SPL:
  581. . Fixed bug #75049 (spl_autoload_unregister can't handle
  582. spl_autoload_functions results). (Laruence)
  583. . Fixed bug #74669 (Unserialize ArrayIterator broken). (Andrew Nester)
  584. . Fixed bug #74977 (Appending AppendIterator leads to segfault).
  585. (Andrew Nester)
  586. . Fixed bug #75015 (Crash in recursive iterator destructors). (Julien)
  587. - Standard:
  588. . Fixed bug #75075 (unpack with X* causes infinity loop). (Laruence)
  589. . Fixed bug #74103 (heap-use-after-free when unserializing invalid array
  590. size). (Nikita)
  591. . Fixed bug #75054 (A Denial of Service Vulnerability was found when
  592. performing deserialization). (Nikita)
  593. - WDDX:
  594. . Fixed bug #73793 (WDDX uses wrong decimal seperator). (cmb)
  595. - XMLRPC:
  596. . Fixed bug #74975 (Incorrect xmlrpc serialization for classes with declared
  597. properties). (blar)
  598. 03 Aug 2017, PHP 7.1.8
  599. - Core:
  600. . Fixed bug #74832 (Loading PHP extension with already registered function
  601. name leads to a crash). (jpauli)
  602. . Fixed bug #74780 (parse_url() broken when query string contains colon).
  603. (jhdxr)
  604. . Fixed bug #74761 (Unary operator expected error on some systems). (petk)
  605. . Fixed bug #73900 (Use After Free in unserialize() SplFixedArray). (nikic)
  606. . Fixed bug #74923 (Crash when crawling through network share). (Anatol)
  607. . Fixed bug #74913 (fixed incorrect poll.h include). (petk)
  608. . Fixed bug #74906 (fixed incorrect errno.h include). (petk)
  609. - Date:
  610. . Fixed bug #74852 (property_exists returns true on unknown DateInterval
  611. property). (jhdxr)
  612. - OCI8:
  613. . Fixed bug #74625 (Integer overflow in oci_bind_array_by_name). (Ingmar Runge)
  614. - Opcache:
  615. . Fixed bug #74623 (Infinite loop in type inference when using HTMLPurifier).
  616. (nikic)
  617. - OpenSSL:
  618. . Fixed bug #74798 (pkcs7_en/decrypt does not work if \x0a is used in content).
  619. (Anatol)
  620. . Added OPENSSL_DONT_ZERO_PAD_KEY constant to prevent key padding and fix bug
  621. #71917 (openssl_open() returns junk on envelope < 16 bytes) and bug #72362
  622. (OpenSSL Blowfish encryption is incorrect for short keys). (Jakub Zelenka)
  623. - PDO:
  624. . Fixed bug #69356 (PDOStatement::debugDumpParams() truncates query). (Adam
  625. Baratz)
  626. - SPL:
  627. . Fixed bug #73471 (PHP freezes with AppendIterator). (jhdxr)
  628. - SQLite3:
  629. . Fixed bug #74883 (SQLite3::__construct() produces "out of memory" exception
  630. with invalid flags). (Anatol)
  631. - Wddx:
  632. . Fixed bug #73173 (huge memleak when wddx_unserialize).
  633. (tloi at fortinet dot com)
  634. - zlib:
  635. . Fixed bug #73944 (dictionary option of inflate_init() does not work).
  636. (wapmorgan)
  637. 06 Jul 2017, PHP 7.1.7
  638. - Core:
  639. . Fixed bug #74738 (Multiple [PATH=] and [HOST=] sections not properly
  640. parsed). (Manuel Mausz)
  641. . Fixed bug #74658 (Undefined constants in array properties result in broken
  642. properties). (Laruence)
  643. . Fixed misparsing of abstract unix domain socket names. (Sara)
  644. . Fixed bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability).
  645. (Stas)
  646. . Fixed bug #74101, bug #74614 (Unserialize Heap Use-After-Free (READ: 1) in
  647. zval_get_type). (Nikita)
  648. . Fixed bug #74111 (Heap buffer overread (READ: 1) finish_nested_data from
  649. unserialize). (Nikita)
  650. . Fixed bug #74819 (wddx_deserialize() heap out-of-bound read via
  651. php_parse_date()). (Derick)
  652. - Date:
  653. . Fixed bug #74639 (implement clone for DatePeriod and DateInterval).
  654. (andrewnester)
  655. - DOM:
  656. . Fixed bug #69373 (References to deleted XPath query results). (ttoohey)
  657. - GD:
  658. . Fixed bug #74435 (Buffer over-read into uninitialized memory). (cmb)
  659. - Intl:
  660. . Fixed bug #73473 (Stack Buffer Overflow in msgfmt_parse_message). (libnex)
  661. . Fixed bug #74705 (Wrong reflection on Collator::getSortKey and
  662. collator_get_sort_key). (Tyson Andre, Remi)
  663. - Mbstring:
  664. . Add oniguruma upstream fix (CVE-2017-9224, CVE-2017-9226, CVE-2017-9227,
  665. CVE-2017-9228, CVE-2017-9229) (Remi, Mamoru TASAKA)
  666. - OCI8:
  667. . Add TAF callback (PR #2459). (KoenigsKind)
  668. - Opcache:
  669. . Fixed bug #74663 (Segfault with opcache.memory_protect and
  670. validate_timestamp). (Laruence)
  671. . Revert opcache.enable_cli to default disabled. (Nikita)
  672. - OpenSSL:
  673. . Fixed bug #74720 (pkcs7_en/decrypt does not work if \x1a is used in
  674. content). (Anatol)
  675. . Fixed bug #74651 (negative-size-param (-1) in memcpy in zif_openssl_seal()).
  676. (Stas)
  677. - PDO_OCI:
  678. . Support Instant Client 12.2 in --with-pdo-oci configure option.
  679. (Tianfang Yang)
  680. - Reflection:
  681. . Fixed bug #74673 (Segfault when cast Reflection object to string with
  682. undefined constant). (Laruence)
  683. - SPL:
  684. . Fixed bug #74478 (null coalescing operator failing with SplFixedArray).
  685. (jhdxr)
  686. - FTP:
  687. . Fixed bug #74598 (ftp:// wrapper ignores context arg). (Sara)
  688. - PHAR:
  689. . Fixed bug #74386 (Phar::__construct reflection incorrect). (villfa)
  690. - SOAP
  691. . Fixed bug #74679 (Incorrect conversion array with WSDL_CACHE_MEMORY).
  692. (Dmitry)
  693. - Streams:
  694. . Fixed bug #74556 (stream_socket_get_name() returns '\0'). (Sara)
  695. 8 Jun 2017, PHP 7.1.6
  696. - Core:
  697. . Fixed bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i).
  698. (Laruence)
  699. . Fixed bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST).
  700. (Laruence)
  701. . Fixed bug #74589 (__DIR__ wrong for unicode character). (Anatol)
  702. - intl:
  703. . Fixed bug #74468 (wrong reflection on Collator::sortWithSortKeys). (villfa)
  704. - MySQLi:
  705. . Fixed bug #74547 (mysqli::change_user() doesn't accept null as $database
  706. argument w/strict_types). (Anatol)
  707. - Opcache:
  708. . Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled). (Laruence)
  709. - phar:
  710. . Fixed bug #51918 (Phar::webPhar() does not handle requests sent through PUT
  711. and DELETE method). (Christian Weiske)
  712. - Readline:
  713. . Fixed bug #74490 (readline() moves the cursor to the beginning of the line).
  714. (Anatol)
  715. - Standard:
  716. . Fixed bug #74510 (win32/sendmail.c anchors CC header but not BCC).
  717. (Damian Wadley, Anatol)
  718. - xmlreader:
  719. . Fixed bug #74457 (Wrong reflection on XMLReader::expand). (villfa)
  720. 11 May 2017, PHP 7.1.5
  721. - Core:
  722. . Fixed bug #74408 (Endless loop bypassing execution time limit). (Laruence)
  723. . Fixed bug #74353 (Segfault when killing within bash script trap code).
  724. (Laruence)
  725. . Fixed bug #74340 (Magic function __get has different behavior in php 7.1.x).
  726. (Nikita)
  727. . Fixed bug #74188 (Null coalescing operator fails for undeclared static
  728. class properties). (tpunt)
  729. . Fixed bug #74444 (multiple catch freezes in some cases). (David Matějka)
  730. . Fixed bug #74410 (stream_select() is broken on Windows Nanoserver).
  731. (Matt Ficken)
  732. . Fixed bug #74337 (php-cgi.exe crash on facebook callback).
  733. (Anton Serbulov)
  734. . Patch for bug #74216 was reverted. (Anatol)
  735. - Date:
  736. . Fixed bug #74404 (Wrong reflection on DateTimeZone::getTransitions).
  737. (krakjoe)
  738. . Fixed bug #74080 (add constant for RFC7231 format datetime). (duncan3dc)
  739. - DOM:
  740. . Fixed bug #74416 (Wrong reflection on DOMNode::cloneNode).
  741. (Remi, Fabien Villepinte)
  742. - Fileinfo:
  743. . Fixed bug #74379 (syntax error compile error in libmagic/apprentice.c).
  744. (Laruence)
  745. - GD:
  746. . Fixed bug #74343 (compile fails on solaris 11 with system gd2 library).
  747. (krakjoe)
  748. - MySQLi:
  749. . Fixed bug #74432 (mysqli_connect adding ":3306" to $host if $port parameter
  750. not given). (Anatol)
  751. - MySQLnd:
  752. . Fixed bug #74376 (Invalid free of persistent results on error/connection
  753. loss). (Yussuf Khalil)
  754. - Intl:
  755. . Fixed bug #65683 (Intl does not support DateTimeImmutable). (Ben Scholzen)
  756. . Fixed bug #74298 (IntlDateFormatter->format() doesn't return
  757. microseconds/fractions). (Andrew Nester)
  758. . Fixed bug #74433 (wrong reflection for Normalizer methods). (villfa)
  759. . Fixed bug #74439 (wrong reflection for Locale methods). (villfa)
  760. - Opcache:
  761. . Fixed bug #74456 (Segmentation error while running a script in CLI mode).
  762. (Laruence)
  763. . Fixed bug #74431 (foreach infinite loop). (Nikita)
  764. . Fixed bug #74442 (Opcached version produces a nested array). (Nikita)
  765. - OpenSSL:
  766. . Fixed bug #73833 (null character not allowed in openssl_pkey_get_private).
  767. (Jakub Zelenka)
  768. . Fixed bug #73711 (Segfault in openssl_pkey_new when generating DSA or DH
  769. key). (Jakub Zelenka)
  770. . Fixed bug #74341 (openssl_x509_parse fails to parse ASN.1 UTCTime without
  771. seconds). (Moritz Fain)
  772. . Fixed bug #73808 (iv length warning too restrictive for aes-128-ccm).
  773. (Jakub Zelenka)
  774. - phar:
  775. . Fixed bug #74383 (phar method parameters reflection correction).
  776. (mhagstrand)
  777. - Readline:
  778. . Fixed bug #74489 (readline() immediately returns false in interactive
  779. console mode). (Anatol)
  780. - Standard:
  781. . Fixed bug #72071 (setcookie allows max-age to be negative). (Craig Duncan)
  782. . Fixed bug #74361 (Compaction in array_rand() violates COW). (Nikita)
  783. - Streams:
  784. . Fixed bug #74429 (Remote socket URI with unique persistence identifier
  785. broken). (Sara)
  786. 13 Apr 2017, PHP 7.1.4
  787. - Core:
  788. . Fixed bug #74149 (static embed SAPI linkage error). (krakjoe)
  789. . Fixed bug #73370 (falsely exits with "Out of Memory" when using
  790. USE_ZEND_ALLOC=0). (Nikita)
  791. . Fixed bug #73960 (Leak with instance method calling static method with
  792. referenced return). (Nikita)
  793. . Fixed bug #69676 (Resolution of self::FOO in class constants not correct).
  794. (Nikita)
  795. . Fixed bug #74265 (Build problems after 7.0.17 release: undefined reference
  796. to `isfinite'). (Nikita)
  797. . Fixed bug #74302 (yield fromLABEL is over-greedy). (Sara)
  798. - Apache:
  799. . Reverted patch for bug #61471, fixes bug #74318. (Anatol)
  800. - Date:
  801. . Fixed bug #72096 (Swatch time value incorrect for dates before 1970). (mcq8)
  802. - DOM:
  803. . Fixed bug #74004 (LIBXML_NOWARNING flag ingnored on loadHTML*).
  804. (somedaysummer)
  805. - iconv:
  806. . Fixed bug #74230 (iconv fails to fail on surrogates). (Anatol)
  807. - OCI8:
  808. . Fixed uninitialized data causing random crash. (Dmitry)
  809. - Opcache:
  810. . Fixed bug #74250 (OPcache compilation performance regression in PHP 5.6/7
  811. with huge classes). (Nikita)
  812. - OpenSSL:
  813. . Fixed bug #72333 (fwrite() on non-blocking SSL sockets doesn't work).
  814. (Jakub Zelenka)
  815. - PDO MySQL:
  816. . Fixed bug #71003 (Expose MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT to PDO
  817. interface). (Thomas Orozco)
  818. - SPL:
  819. . Fixed bug #74058 (ArrayObject can not notice changes). (Andrew Nester)
  820. - Sqlite:
  821. . Implemented FR #74217 (Allow creation of deterministic sqlite functions).
  822. (Andrew Nester)
  823. - Streams:
  824. . Fixed bug #74216 (Correctly fail on invalid IP address ports). (Sara)
  825. - Zlib:
  826. . Fixed bug #74240 (deflate_add can allocate too much memory). (Matt Bonneau)
  827. 16 Mar 2017, PHP 7.1.3
  828. - Core:
  829. . Fixed bug #74157 (Segfault with nested generators). (Laruence)
  830. . Fixed bug #74164 (PHP hangs when an invalid value is dynamically passed to
  831. typehinted by-ref arg). (Laruence)
  832. . Fixed bug #74093 (Maximum execution time of n+2 seconds exceed not written
  833. in error_log). (Laruence)
  834. . Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite).
  835. (Dmitry, Laruence)
  836. . Fixed bug #74084 (Out of bound read - zend_mm_alloc_small). (Laruence)
  837. . Fixed bug #73807 (Performance problem with processing large post request).
  838. (Nikita)
  839. . Fixed bug #73998 (array_key_exists fails on arrays created by
  840. get_object_vars). (mhagstrand)
  841. . Fixed bug #73954 (NAN check fails on Alpine Linux with musl). (Andrea)
  842. . Fixed bug #73677 (Generating phar.phar core dump with gcc ASAN enabled
  843. build). (ondrej)
  844. - Apache:
  845. . Fixed bug #61471 (Incomplete POST does not timeout but is passed to PHP).
  846. (Zheng Shao)
  847. - Date:
  848. . Fixed bug #73837 ("new DateTime()" sometimes returns 1 second ago value).
  849. (Derick)
  850. - FPM:
  851. . Fixed bug #69860 (php-fpm process accounting is broken with keepalive).
  852. (Denis Yeldandi)
  853. - Hash:
  854. . Fixed bug #73127 (gost-crypto hash incorrect if input data contains long
  855. 0xFF sequence). (Grundik)
  856. - GD:
  857. . Fixed bug #74031 (ReflectionFunction for imagepng is missing last two
  858. parameters). (finwe)
  859. - Mysqlnd:
  860. . Fixed bug #74021 (fetch_array broken data. Data more then MEDIUMBLOB).
  861. (Andrew Nester, Nikita)
  862. - Opcache:
  863. . Fixed bug #74152 (if statement says true to a null variable). (Laruence)
  864. . Fixed bug #74019 (Segfault with list). (Laruence)
  865. - OpenSSL:
  866. . Fixed bug #74022 (PHP Fast CGI crashes when reading from a pfx file).
  867. (Anatol)
  868. . Fixed bug #74099 (Memory leak with openssl_encrypt()). (Andrew Nester)
  869. . Fixed bug #74159 (Writing a large buffer to a non-blocking encrypted stream
  870. fails with "bad write retry"). (trowski)
  871. - PDO_OCI:
  872. . Fixed bug #54379 (PDO_OCI: UTF-8 output gets truncated). (gureedo / Oracle)
  873. - SQLite3:
  874. . Fixed bug #74413 (incorrect reflection for SQLite3::enableExceptions).
  875. (krakjoe)
  876. - Standard:
  877. . Fixed bug #74005 (mail.add_x_header causes RFC-breaking lone line feed).
  878. (Anatol)
  879. . Fixed bug #74041 (substr_count with length=0 broken). (Nikita)
  880. . Fixed bug #73118 (is_callable callable name reports misleading value for
  881. anonymous classes). (Adam Saponara)
  882. . Fixed bug #74105 (PHP on Linux should use /dev/urandom when getrandom is
  883. not available). (Benjamin Robin)
  884. . Fixed bug #74708 (Invalid Reflection signatures for random_bytes and
  885. random_int). (Tyson Andre, Remi)
  886. - Streams:
  887. . Fixed bug #73496 (Invalid memory access in zend_inline_hash_func).
  888. (Laruence)
  889. . Fixed bug #74090 (stream_get_contents maxlength>-1 returns empty string).
  890. (Anatol)
  891. 16 Feb 2017, PHP 7.1.2
  892. - Core:
  893. . Improved GENERATOR_CREATE opcode handler. (Bob, Dmitry)
  894. . Fixed bug #73877 (readlink() returns garbage for UTF-8 paths). (Anatol)
  895. . Fixed bug #73876 (Crash when exporting **= in expansion of assign op).
  896. (Sara)
  897. . Fixed bug #73962 (bug with symlink related to cyrillic directory). (Anatol)
  898. . Fixed bug #73969 (segfault in debug_print_backtrace). (andrewnester)
  899. . Fixed bug #73994 (arginfo incorrect for unpack). (krakjoe)
  900. . Fixed bug #73973 (assertion error in debug_zval_dump). (andrewnester)
  901. - DOM:
  902. . Fixed bug #54382 (getAttributeNodeNS doesn't get xmlns* attributes).
  903. (aboks)
  904. - DTrace:
  905. . Fixed bug #73965 (DTrace reported as enabled when disabled). (Remi)
  906. - FCGI:
  907. . Fixed bug #73904 (php-cgi fails to load -c specified php.ini file). (Anatol)
  908. . Fixed bug #72898 (PHP_FCGI_CHILDREN is not included in phpinfo()). (Anatol)
  909. - FPM:
  910. . Fixed bug #69865 (php-fpm does not close stderr when using syslog).
  911. (m6w6)
  912. - GD:
  913. . Fixed bug #73968 (Premature failing of XBM reading). (cmb)
  914. - GMP:
  915. . Fixed bug #69993 (test for gmp.h needs to test machine includes).
  916. (Jordan Gigov)
  917. - Hash:
  918. . Added hash_hkdf() function. (Andrey Andreev)
  919. . Fixed bug #73961 (environmental build dependency in hash sha3 source).
  920. (krakjoe)
  921. - Intl:
  922. . Fix bug #73956 (Link use CC instead of CXX). (Remi)
  923. - LDAP:
  924. . Fixed bug #73933 (error/segfault with ldap_mod_replace and opcache).
  925. (Laruence)
  926. - MySQLi:
  927. . Fixed bug #73949 (leak in mysqli_fetch_object). (krakjoe)
  928. - Mysqlnd:
  929. . Fixed bug #69899 (segfault on close() after free_result() with mysqlnd).
  930. (Richard Fussenegger)
  931. - Opcache:
  932. . Fixed bug #73983 (crash on finish work with phar in cli + opcache).
  933. (Anatol)
  934. - OpenSSL:
  935. . Fixed bug #71519 (add serial hex to return value array). (xrobau)
  936. . Fixed bug #73692 (Compile ext/openssl with openssl 1.1.0 on Win). (Anatol)
  937. . Fixed bug #73978 (openssl_decrypt triggers bug in PDO). (Jakub Zelenka)
  938. - PDO_Firebird:
  939. . Implemented FR #72583 (All data are fetched as strings). (Dorin Marcoci)
  940. - PDO_PgSQL:
  941. . Fixed bug #73959 (lastInsertId fails to throw an exception for wrong
  942. sequence name). (andrewnester)
  943. - Phar:
  944. . Fixed bug #70417 (PharData::compress() doesn't close temp file). (cmb)
  945. - posix:
  946. . Fixed bug #71219 (configure script incorrectly checks for ttyname_r). (atoh)
  947. - Session:
  948. . Fixed bug #69582 (session not readable by root in CLI). (EvgeniySpinov)
  949. - SPL:
  950. . Fixed bug #73896 (spl_autoload() crashes when calls magic _call()). (Dmitry)
  951. - Standard:
  952. . Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph)
  953. . Fixed bug #47021 (SoapClient stumbles over WSDL delivered with
  954. "Transfer-Encoding: chunked"). (Rowan Collins)
  955. . Fixed bug #72974 (imap is undefined service on AIX). (matthieu.sarter)
  956. . Fixed bug #72979 (money_format stores wrong length AIX). (matthieu.sarter)
  957. . Fixed bug #73374 (intval() with base 0 should detect binary). (Leigh)
  958. . Fixed bug #69061 (mail.log = syslog contains double information).
  959. (Tom Sommer)
  960. - ZIP:
  961. . Fixed bug #70103 (ZipArchive::addGlob ignores remove_all_path option). (cmb,
  962. Mitch Hagstrand)
  963. 19 Jan 2017, PHP 7.1.1
  964. - Core:
  965. . Fixed bug #73792 (invalid foreach loop hangs script). (Dmitry)
  966. . Fixed bug #73686 (Adding settype()ed values to ArrayObject results in
  967. references). (Nikita, Laruence)
  968. . Fixed bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created
  969. with list()). (Laruence)
  970. . Fixed bug #73727 (ZEND_MM_BITSET_LEN is "undefined symbol" in
  971. zend_bitset.h). (Nikita)
  972. . Fixed bug #73753 (unserialized array pointer not advancing). (David Walker)
  973. . Fixed bug #73783 (SIG_IGN doesn't work when Zend Signals is enabled).
  974. (David Walker)
  975. - CLI:
  976. . Fixed bug #72555 (CLI output(japanese) on Windows). (Anatol)
  977. - COM:
  978. . Fixed bug #73679 (DOTNET read access violation using invalid codepage).
  979. (Anatol)
  980. - DOM:
  981. . Fixed bug #67474 (getElementsByTagNameNS filter on default ns). (aboks)
  982. - Mbstring:
  983. . Fixed bug #73646 (mb_ereg_search_init null pointer dereference).
  984. (Laruence)
  985. - Mysqli:
  986. . Fixed bug #73462 (Persistent connections don't set $connect_errno).
  987. (darkain)
  988. - Mysqlnd:
  989. . Optimized handling of BIT fields - less memory copies and lower memory
  990. usage. (Andrey)
  991. . Fixed bug #73800 (sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE).
  992. (vanviegen)
  993. - Opcache:
  994. . Fixed bug #73789 (Strange behavior of class constants in switch/case block).
  995. (Laruence)
  996. . Fixed bug #73746 (Method that returns string returns UNKNOWN:0 instead).
  997. (Laruence)
  998. . Fixed bug #73654 (Segmentation fault in zend_call_function). (Nikita)
  999. . Fixed bug #73668 ("SIGFPE Arithmetic exception" in opcache when divide by
  1000. minus 1). (Nikita)
  1001. . Fixed bug #73847 (Recursion when a variable is redefined as array). (Nikita)
  1002. - PDO_Firebird:
  1003. . Fixed bug #72931 (PDO_FIREBIRD with Firebird 3.0 not work on returning
  1004. statement). (Dorin Marcoci)
  1005. - phpdbg:
  1006. . Fixed bug #73794 (Crash (out of memory) when using run and # command
  1007. separator). (Bob)
  1008. . Fixed bug #73704 (phpdbg shows the wrong line in files with shebang). (Bob)
  1009. - SQLite3:
  1010. . Reverted fix for bug #73530 (Unsetting result set may reset other result
  1011. set). (cmb)
  1012. - Standard:
  1013. . Fixed bug #73594 (dns_get_record does not populate $additional out
  1014. parameter). (Bruce Weirdan)
  1015. . Fixed bug #70213 (Unserialize context shared on double class lookup).
  1016. (Taoguang Chen)
  1017. . Fixed bug #73154 (serialize object with __sleep function crash). (Nikita)
  1018. . Fixed bug #70490 (get_browser function is very slow). (Nikita)
  1019. . Fixed bug #73265 (Loading browscap.ini at startup causes high memory usage).
  1020. (Nikita)
  1021. . Add subject to mail log. (tomsommer)
  1022. . Fixed bug #31875 (get_defined_functions additional param to exclude
  1023. disabled functions). (willianveiga)
  1024. - Zlib
  1025. . Fixed bug #73373 (deflate_add does not verify that output was not truncated).
  1026. (Matt Bonneau)
  1027. 01 Dec 2016, PHP 7.1.0
  1028. - Core:
  1029. . Added nullable types. (Levi, Dmitry)
  1030. . Added DFA optimization framework based on e-SSA form. (Dmitry, Nikita)
  1031. . Added specialized opcode handlers (e.g. ZEND_ADD_LONG_NO_OVERFLOW).
  1032. (Dmitry)
  1033. . Added [] = as alternative construct to list() =. (Bob)
  1034. . Added void return type. (Andrea)
  1035. . Added support for negative string offsets in string offset syntax and
  1036. various string functions. (Francois)
  1037. . Added a form of the list() construct where keys can be specified. (Andrea)
  1038. . Implemented safe execution timeout handling, that prevents random crashes
  1039. after "Maximum execution time exceeded" error. (Dmitry)
  1040. . Implemented the RFC `Support Class Constant Visibility`. (Sean DuBois,
  1041. Reeze Xia, Dmitry)
  1042. . Implemented the RFC `Catching multiple exception types`. (Bronislaw Bialek,
  1043. Pierrick)
  1044. . Implemented logging to syslog with dynamic error levels. (Jani Ollikainen)
  1045. . Implemented FR #72614 (Support "nmake test" on building extensions by
  1046. phpize). (Yuji Uchiyama)
  1047. . Implemented RFC: Iterable. (Aaron Piotrowski)
  1048. . Implemented RFC: Closure::fromCallable (Danack)
  1049. . Implemented RFC: Replace "Missing argument" warning with "\ArgumentCountError"
  1050. exception. (Dmitry, Davey)
  1051. . Implemented RFC: Fix inconsistent behavior of $this variable. (Dmitry)
  1052. . Fixed bug #73585 (Logging of "Internal Zend error - Missing class
  1053. information" missing class name). (Laruence)
  1054. . Fixed memory leak(null coalescing operator with Spl hash). (Tyson Andre)
  1055. . Fixed bug #72736 (Slow performance when fetching large dataset with mysqli
  1056. / PDO). (Dmitry)
  1057. . Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine
  1058. overflow). (cmb)
  1059. . Fixed bug #72696 (imagefilltoborder stackoverflow on truecolor images).
  1060. (cmb)
  1061. . Fixed bug #73350 (Exception::__toString() cause circular references).
  1062. (Laruence)
  1063. . Fixed bug #73329 ((Float)"Nano" == NAN). (Anatol)
  1064. . Fixed bug #73288 (Segfault in __clone > Exception.toString > __get).
  1065. (Laruence)
  1066. . Fixed for #73240 (Write out of bounds at number_format). (Stas)
  1067. . Fix pthreads detection when cross-compiling (ffontaine)
  1068. . Fixed bug #73337 (try/catch not working with two exceptions inside a same
  1069. operation). (Dmitry)
  1070. . Fixed bug #73156 (segfault on undefined function). (Dmitry)
  1071. . Fixed bug #73163 (PHP hangs if error handler throws while accessing undef
  1072. const in default value). (Nikita)
  1073. . Fixed bug #73172 (parse error: Invalid numeric literal). (Nikita, Anatol)
  1074. . Fixed bug #73181 (parse_str() without a second argument leads to crash).
  1075. (Nikita)
  1076. . Fixed bug #73025 (Heap Buffer Overflow in virtual_popen of
  1077. zend_virtual_cwd.c). (cmb)
  1078. . Fixed bug #73058 (crypt broken when salt is 'too' long). (Anatol)
  1079. . Fixed bug #72944 (Null pointer deref in zval_delref_p). (Dmitry)
  1080. . Fixed bug #72943 (assign_dim on string doesn't reset hval). (Laruence)
  1081. . Fixed bug #72598 (Reference is lost after array_slice()) (Nikita)
  1082. . Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by
  1083. password_verify). (Anatol)
  1084. . Fixed bug #72813 (Segfault with __get returned by ref). (Laruence)
  1085. . Fixed bug #72767 (PHP Segfaults when trying to expand an infinite operator).
  1086. (Nikita)
  1087. . TypeError messages for arg_info type checks will now say "must be ...
  1088. or null" where the parameter or return type accepts null. (Andrea)
  1089. . Fixed bug #72857 (stream_socket_recvfrom read access violation). (Anatol)
  1090. . Fixed bug #72663 (Create an Unexpected Object and Don't Invoke
  1091. __wakeup() in Deserialization). (Stas)
  1092. . Fixed bug #72681 (PHP Session Data Injection Vulnerability). (Stas)
  1093. . Fixed bug #72742 (memory allocator fails to realloc small block to large
  1094. one). (Stas)
  1095. . Fixed URL rewriter. It would not rewrite '//example.com/' URL
  1096. unconditionally. URL rewrite target hosts whitelist is implemented. (Yasuo)
  1097. . Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX).
  1098. (Yuji Uchiyama)
  1099. . Fixed bug #72683 (getmxrr broken). (Anatol)
  1100. . Fixed bug #72629 (Caught exception assignment to variables ignores
  1101. references). (Laruence)
  1102. . Fixed bug #72594 (Calling an earlier instance of an included anonymous
  1103. class fatals). (Laruence)
  1104. . Fixed bug #72581 (previous property undefined in Exception after
  1105. deserialization). (Laruence)
  1106. . Fixed bug #72543 (Different references behavior comparing to PHP 5)
  1107. (Laruence, Dmitry, Nikita)
  1108. . Fixed bug #72347 (VERIFY_RETURN type casts visible in finally). (Dmitry)
  1109. . Fixed bug #72216 (Return by reference with finally is not memory safe).
  1110. (Dmitry)
  1111. . Fixed bug #72215 (Wrong return value if var modified in finally). (Dmitry)
  1112. . Fixed bug #71818 (Memory leak when array altered in destructor). (Dmitry)
  1113. . Fixed bug #71539 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes)
  1114. (Dmitry, Nikita)
  1115. . Added new constant PHP_FD_SETSIZE. (cmb)
  1116. . Added optind parameter to getopt(). (as)
  1117. . Added PHP to SAPI error severity mapping for logs. (Martin Vobruba)
  1118. . Fixed bug #71911 (Unable to set --enable-debug on building extensions by
  1119. phpize on Windows). (Yuji Uchiyama)
  1120. . Fixed bug #29368 (The destructor is called when an exception is thrown from
  1121. the constructor). (Dmitry)
  1122. . Implemented RFC: RNG Fixes. (Leigh)
  1123. . Implemented email validation as per RFC 6531. (Leo Feyer, Anatol)
  1124. . Fixed bug #72513 (Stack-based buffer overflow vulnerability in
  1125. virtual_file_ex). (Stas)
  1126. . Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries
  1127. and applications). (Stas)
  1128. . Fixed bug #72523 (dtrace issue with reflection (failed test)). (Laruence)
  1129. . Fixed bug #72508 (strange references after recursive function call and
  1130. "switch" statement). (Laruence)
  1131. . Fixed bug #72441 (Segmentation fault: RFC list_keys). (Laruence)
  1132. . Fixed bug #72395 (list() regression). (Laruence)
  1133. . Fixed bug #72373 (TypeError after Generator function w/declared return type
  1134. finishes). (Nikita)
  1135. . Fixed bug #69489 (tempnam() should raise notice if falling back to temp dir).
  1136. (Laruence, Anatol)
  1137. . Fixed UTF-8 and long path support on Windows. (Anatol)
  1138. . Fixed bug #53432 (Assignment via string index access on an empty string
  1139. converts to array). (Nikita)
  1140. . Fixed bug #62210 (Exceptions can leak temporary variables). (Dmitry, Bob)
  1141. . Fixed bug #62814 (It is possible to stiffen child class members visibility).
  1142. (Nikita)
  1143. . Fixed bug #69989 (Generators don't participate in cycle GC). (Nikita)
  1144. . Fixed bug #70228 (Memleak if return in finally block). (Dmitry)
  1145. . Fixed bug #71266 (Missing separation of properties HT in foreach etc).
  1146. (Dmitry)
  1147. . Fixed bug #71604 (Aborted Generators continue after nested finally).
  1148. (Nikita)
  1149. . Fixed bug #71572 (String offset assignment from an empty string inserts
  1150. null byte). (Francois)
  1151. . Fixed bug #71897 (ASCII 0x7F Delete control character permitted in
  1152. identifiers). (Andrea)
  1153. . Fixed bug #72188 (Nested try/finally blocks losing return value). (Dmitry)
  1154. . Fixed bug #72213 (Finally leaks on nested exceptions). (Dmitry, Nikita)
  1155. . Fixed bug #47517 (php-cgi.exe missing UAC manifest).
  1156. (maxdax15801 at users noreply github com)
  1157. . Change statement and fcall extension handlers to accept frame. (Joe)
  1158. . Number operators taking numeric strings now emit E_NOTICEs or E_WARNINGs
  1159. when given malformed numeric strings. (Andrea)
  1160. . (int), intval() where $base is 10 or unspecified, settype(), decbin(),
  1161. decoct(), dechex(), integer operators and other conversions now always
  1162. respect scientific notation in numeric strings. (Andrea)
  1163. . Raise a compile-time warning on octal escape sequence overflow. (Sara)
  1164. - Apache2handler:
  1165. . Enable per-module logging in Apache 2.4+. (Martin Vobruba)
  1166. - BCmath:
  1167. . Fix bug #73190 (memcpy negative parameter _bc_new_num_ex). (Stas)
  1168. - Bz2:
  1169. . Fixed bug #72837 (integer overflow in bzdecompress caused heap
  1170. corruption). (Stas)
  1171. . Fixed bug #72613 (Inadequate error handling in bzread()). (Stas)
  1172. - Calendar:
  1173. . Fix integer overflows (Joshua Rogers)
  1174. . Fixed bug #67976 (cal_days_month() fails for final month of the French
  1175. calendar). (cmb)
  1176. . Fixed bug #71894 (AddressSanitizer: global-buffer-overflow in
  1177. zif_cal_from_jd). (cmb)
  1178. - CLI Server:
  1179. . Fixed bug #73360 (Unable to work in root with unicode chars). (Anatol)
  1180. . Fixed bug #71276 (Built-in webserver does not send Date header).
  1181. (see at seos fr)
  1182. - COM:
  1183. . Fixed bug #73126 (Cannot pass parameter 1 by reference). (Anatol)
  1184. . Fixed bug #69579 (Invalid free in extension trait). (John Boehr)
  1185. . Fixed bug #72922 (COM called from PHP does not return out parameters).
  1186. (Anatol)
  1187. . Fixed bug #72569 (DOTNET/COM array parameters broke in PHP7). (Anatol)
  1188. . Fixed bug #72498 (variant_date_from_timestamp null dereference). (Anatol)
  1189. - Curl
  1190. . Implement support for handling HTTP/2 Server Push. (Davey)
  1191. . Add curl_multi_errno(), curl_share_errno() and curl_share_strerror()
  1192. functions. (Pierrick)
  1193. . Fixed bug #72674 (Heap overflow in curl_escape). (Stas)
  1194. . Fixed bug #72541 (size_t overflow lead to heap corruption). (Stas).
  1195. . Fixed bug #71709 (curl_setopt segfault with empty CURLOPT_HTTPHEADER).
  1196. (Pierrick)
  1197. . Fixed bug #71929 (CURLINFO_CERTINFO data parsing error). (Pierrick)
  1198. - Date:
  1199. . Fixed bug #69587 (DateInterval properties and isset). (jhdxr)
  1200. . Fixed bug #73426 (createFromFormat with 'z' format char results in
  1201. incorrect time). (Derick)
  1202. . Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick)
  1203. . Fixed bug #48225 (DateTime parser doesn't set microseconds for "now").
  1204. (Derick)
  1205. . Fixed bug #52514 (microseconds are missing in DateTime class). (Derick)
  1206. . Fixed bug #52519 (microseconds in DateInterval are missing). (Derick)
  1207. . Fixed bug #60089 (DateTime::createFromFormat() U after u nukes microtime).
  1208. (Derick)
  1209. . Fixed bug #64887 (Allow DateTime modification with subsecond items).
  1210. (Derick)
  1211. . Fixed bug #68506 (General DateTime improvments needed for microseconds to
  1212. become useful). (Derick)
  1213. . Fixed bug #73109 (timelib_meridian doesn't parse dots correctly). (Derick)
  1214. . Fixed bug #73247 (DateTime constructor does not initialise microseconds
  1215. property). (Derick)
  1216. . Fixed bug #73147 (Use After Free in PHP7 unserialize()). (Stas)
  1217. . Fixed bug #73189 (Memcpy negative size parameter php_resolve_path). (Stas)
  1218. . Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails
  1219. parsing). (derick)
  1220. . Invalid serialization data for a DateTime or DatePeriod object will now
  1221. throw an instance of Error from __wakeup() or __set_state() instead of
  1222. resulting in a fatal error. (Aaron Piotrowski)
  1223. . Timezone initialization failure from serialized data will now throw an
  1224. instance of Error from __wakeup() or __set_state() instead of resulting in
  1225. a fatal error. (Aaron Piotrowski)
  1226. . Export date_get_interface_ce() for extension use. (Jeremy Mikola)
  1227. . Fixed bug #63740 (strtotime seems to use both sunday and monday as start of
  1228. week). (Derick)
  1229. - Dba:
  1230. . Fixed bug #70825 (Cannot fetch multiple values with group in ini file).
  1231. (cmb)
  1232. . Data modification functions (e.g.: dba_insert()) now throw an instance of
  1233. Error instead of triggering a catchable fatal error if the key is does not
  1234. contain exactly two elements. (Aaron Piotrowski)
  1235. - DOM:
  1236. . Fixed bug #73150 (missing NULL check in dom_document_save_html). (Stas)
  1237. . Fixed bug #66502 (DOM document dangling reference). (Sean Heelan, cmb)
  1238. . Invalid schema or RelaxNG validation contexts will throw an instance of
  1239. Error instead of resulting in a fatal error. (Aaron Piotrowski)
  1240. . Attempting to register a node class that does not extend the appropriate
  1241. base class will now throw an instance of Error instead of resulting in a
  1242. fatal error. (Aaron Piotrowski)
  1243. . Attempting to read an invalid or write to a readonly property will throw
  1244. an instance of Error instead of resulting in a fatal error. (Aaron
  1245. Piotrowski)
  1246. - DTrace:
  1247. . Disabled PHP call tracing by default (it makes significant overhead).
  1248. This may be enabled again using envirionment variable USE_ZEND_DTRACE=1.
  1249. (Dmitry)
  1250. - EXIF:
  1251. . Fixed bug #72735 (Samsung picture thumb not read (zero size)). (Kalle, Remi)
  1252. . Fixed bug #72627 (Memory Leakage In exif_process_IFD_in_TIFF). (Stas)
  1253. . Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE).
  1254. (Stas)
  1255. . Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment).
  1256. (Stas)
  1257. - Filter:
  1258. . Fixed bug #72972 (Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and
  1259. FILTER_FLAG_NO_PRIV_RANGE). (julien)
  1260. . Fixed bug #73054 (default option ignored when object passed to int filter).
  1261. (cmb)
  1262. . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8
  1263. range). (bugs dot php dot net at majkl578 dot cz)
  1264. - FPM:
  1265. . Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user).
  1266. (gooh)
  1267. - FTP:
  1268. . Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with
  1269. require_ssl_reuse). (Benedict Singer)
  1270. . Implemented FR #55651 (Option to ignore the returned FTP PASV address).
  1271. (abrender at elitehosts dot com)
  1272. - GD:
  1273. . Fixed bug #73213 (Integer overflow in imageline() with antialiasing). (cmb)
  1274. . Fixed bug #73272 (imagescale() is not affected by, but affects
  1275. imagesetinterpolation()). (cmb)
  1276. . Fixed bug #73279 (Integer overflow in gdImageScaleBilinearPalette()). (cmb)
  1277. . Fixed bug #73280 (Stack Buffer Overflow in GD dynamicGetbuf). (cmb)
  1278. . Fixed bug #50194 (imagettftext broken on transparent background w/o
  1279. alphablending). (cmb)
  1280. . Fixed bug #73003 (Integer Overflow in gdImageWebpCtx of gd_webp.c). (trylab,
  1281. cmb)
  1282. . Fixed bug #53504 (imagettfbbox gives incorrect values for bounding box).
  1283. (Mark Plomer, cmb)
  1284. . Fixed bug #73157 (imagegd2() ignores 3rd param if 4 are given). (cmb)
  1285. . Fixed bug #73155 (imagegd2() writes wrong chunk sizes on boundaries). (cmb)
  1286. . Fixed bug #73159 (imagegd2(): unrecognized formats may result in corrupted
  1287. files). (cmb)
  1288. . Fixed bug #73161 (imagecreatefromgd2() may leak memory). (cmb)
  1289. . Fixed bug #67325 (imagetruecolortopalette: white is duplicated in palette).
  1290. (cmb)
  1291. . Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor
  1292. images). (cmb)
  1293. . Fixed bug #72913 (imagecopy() loses single-color transparency on palette
  1294. images). (cmb)
  1295. . Fixed bug #68716 (possible resource leaks in _php_image_convert()). (cmb)
  1296. . Fixed bug #72709 (imagesetstyle() causes OOB read for empty $styles). (cmb)
  1297. . Fixed bug #72697 (select_colors write out-of-bounds). (Stas)
  1298. . Fixed bug #72730 (imagegammacorrect allows arbitrary write access). (Stas)
  1299. . Fixed bug #72596 (imagetypes function won't advertise WEBP support). (cmb)
  1300. . Fixed bug #72604 (imagearc() ignores thickness for full arcs). (cmb)
  1301. . Fixed bug #70315 (500 Server Error but page is fully rendered). (cmb)
  1302. . Fixed bug #43828 (broken transparency of imagearc for truecolor in
  1303. blendingmode). (cmb)
  1304. . Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read
  1305. access). (Pierre)
  1306. . Fixed bug #72519 (imagegif/output out-of-bounds access). (Pierre)
  1307. . Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()).
  1308. (Pierre)
  1309. . Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine
  1310. overflow). (Pierre)
  1311. . Fixed bug #72494 (imagecropauto out-of-bounds access). (Fernando, Pierre,
  1312. cmb)
  1313. . Fixed bug #72404 (imagecreatefromjpeg fails on selfie). (cmb)
  1314. . Fixed bug #43475 (Thick styled lines have scrambled patterns). (cmb)
  1315. . Fixed bug #53640 (XBM images require width to be multiple of 8). (cmb)
  1316. . Fixed bug #64641 (imagefilledpolygon doesn't draw horizontal line). (cmb)
  1317. - Hash:
  1318. . Added SHA3 fixed mode algorithms (224, 256, 384, and 512 bit). (Sara)
  1319. . Added SHA512/256 and SHA512/224 algorithms. (Sara)
  1320. - iconv:
  1321. . Fixed bug #72320 (iconv_substr returns false for empty strings). (cmb)
  1322. - IMAP:
  1323. . Fixed bug #73418 (Integer Overflow in "_php_imap_mail" leads to crash).
  1324. (Anatol)
  1325. . An email address longer than 16385 bytes will throw an instance of Error
  1326. instead of resulting in a fatal error. (Aaron Piotrowski)
  1327. - Interbase:
  1328. . Fixed bug #73512 (Fails to find firebird headers as don't use fb_config
  1329. output). (Remi)
  1330. - Intl:
  1331. . Fixed bug #73007 (add locale length check). (Stas)
  1332. . Fixed bug #73218 (add mitigation for ICU int overflow). (Stas)
  1333. . Fixed bug #65732 (grapheme_*() is not Unicode compliant on CR LF
  1334. sequence). (cmb)
  1335. . Fixed bug #73007 (add locale length check). (Stas)
  1336. . Fixed bug #72639 (Segfault when instantiating class that extends
  1337. IntlCalendar and adds a property). (Laruence)
  1338. . Fixed bug #72658 (Locale::lookup() / locale_lookup() hangs if no match
  1339. found). (Anatol)
  1340. . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain
  1341. names). (cmb)
  1342. . Fixed bug #72533 (locale_accept_from_http out-of-bounds access). (Stas)
  1343. . Failure to call the parent constructor in a class extending Collator
  1344. before invoking the parent methods will throw an instance of Error
  1345. instead of resulting in a recoverable fatal error. (Aaron Piotrowski)
  1346. . Cloning a Transliterator object may will now throw an instance of Error
  1347. instead of resulting in a fatal error if cloning the internal
  1348. transliterator fails. (Aaron Piotrowski)
  1349. . Added IntlTimeZone::getWindowsID() and
  1350. IntlTimeZone::getIDForWindowsID(). (Sara)
  1351. . Fixed bug #69374 (IntlDateFormatter formatObject returns wrong utf8 value).
  1352. (lenhatanh86 at gmail com)
  1353. . Fixed bug #69398 (IntlDateFormatter formatObject returns wrong value when
  1354. time style is NONE). (lenhatanh86 at gmail com)
  1355. - JSON:
  1356. . Introduced encoder struct instead of global which fixes bugs #66025 and
  1357. #73254 related to pretty print indentation. (Jakub Zelenka)
  1358. . Fixed bug #73113 (Segfault with throwing JsonSerializable). (julien)
  1359. . Implemented earlier return when json_encode fails, fixes bugs #68992
  1360. (Stacking exceptions thrown by JsonSerializable) and #70275 (On recursion
  1361. error, json_encode can eat up all system memory). (Jakub Zelenka)
  1362. . Implemented FR #46600 ("_empty_" key in objects). (Jakub Zelenka)
  1363. . Exported JSON parser API including json_parser_method that can be used
  1364. for implementing custom logic when parsing JSON. (Jakub Zelenka)
  1365. . Escaped U+2028 and U+2029 when JSON_UNESCAPED_UNICODE is supplied as
  1366. json_encode options and added JSON_UNESCAPED_LINE_TERMINATORS to restore
  1367. the previous behaviour. (Eddie Kohler)
  1368. - LDAP:
  1369. . Providing an unknown modification type to ldap_batch_modify() will now
  1370. throw an instance of Error instead of resulting in a fatal error.
  1371. (Aaron Piotrowski)
  1372. - Mbstring:
  1373. . Fixed bug #73532 (Null pointer dereference in mb_eregi). (Laruence)
  1374. . Fixed bug #66964 (mb_convert_variables() cannot detect recursion) (Yasuo)
  1375. . Fixed bug #72992 (mbstring.internal_encoding doesn't inherit default_charset).
  1376. (Yasuo)
  1377. . Fixed bug #66797 (mb_substr only takes 32-bit signed integer). (cmb)
  1378. . Fixed bug #72711 (`mb_ereg` does not clear the `$regs` parameter on
  1379. failure). (ju1ius)
  1380. . Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width).
  1381. (cmb)
  1382. . Fixed bug #72693 (mb_ereg_search increments search position when a match
  1383. zero-width). (cmb)
  1384. . Fixed bug #72694 (mb_ereg_search_setpos does not accept a string's last
  1385. position). (cmb)
  1386. . Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error).
  1387. (ju1ius)
  1388. . Deprecated mb_ereg_replace() eval option. (Rouven Weßling, cmb)
  1389. . Fixed bug #69151 (mb_ereg should reject ill-formed byte sequence).
  1390. (Masaki Kagaya)
  1391. . Fixed bug #72405 (mb_ereg_replace - mbc_to_code (oniguruma) -
  1392. oob read access). (Laruence)
  1393. . Fixed bug #72399 (Use-After-Free in MBString (search_re)). (Laruence)
  1394. . mb_ereg() and mb_eregi() will now throw an instance of ParseError if an
  1395. invalid PHP expression is provided and the 'e' option is used. (Aaron
  1396. Piotrowski)
  1397. - Mcrypt:
  1398. . Deprecated ext/mcrypt. (Scott Arciszewski, cmb)
  1399. . Fixed bug #72782 (Heap Overflow due to integer overflows). (Stas)
  1400. . Fixed bug #72551, bug #72552 (In correct casting from size_t to int lead to
  1401. heap overflow in mdecrypt_generic). (Stas)
  1402. . mcrypt_encrypt() and mcrypt_decrypt() will throw an instance of Error
  1403. instead of resulting in a fatal error if mcrypt cannot be initialized.
  1404. (Aaron Piotrowski)
  1405. - Mysqli:
  1406. . Attempting to read an invalid or write to a readonly property will throw
  1407. an instance of Error instead of resulting in a fatal error. (Aaron
  1408. Piotrowski)
  1409. - Mysqlnd:
  1410. . Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*). (cmb)
  1411. . Fixed bug #71863 (Segfault when EXPLAIN with "Unknown column" error when
  1412. using MariaDB). (Andrey)
  1413. . Fixed bug #72701 (mysqli_get_host_info() wrong output). (Anatol)
  1414. - OCI8
  1415. . Fixed bug #71148 (Bind reference overwritten on PHP 7). (Oracle Corp.)
  1416. . Fixed invalid handle error with Implicit Result Sets. (Chris Jones)
  1417. . Fixed bug #72524 (Binding null values triggers ORA-24816 error). (Chris Jones)
  1418. - ODBC:
  1419. . Fixed bug #73448 (odbc_errormsg returns trash, always 513 bytes).
  1420. (Anatol)
  1421. - Opcache:
  1422. . Fixed bug #73583 (Segfaults when conditionally declared class and function
  1423. have the same name). (Laruence)
  1424. . Fixed bug #69090 (check cached files permissions)
  1425. . Fixed bug #72982 (Memory leak in zend_accel_blacklist_update_regexp()
  1426. function). (Laruence)
  1427. . Fixed bug #72949 (Typo in opcache error message). (cmb)
  1428. . Fixed bug #72762 (Infinite loop while parsing a file with opcache enabled).
  1429. (Nikita)
  1430. . Fixed bug #72590 (Opcache restart with kill_all_lockers does not work).
  1431. (Keyur)
  1432. - OpenSSL:
  1433. . Fixed bug #73478 (openssl_pkey_new() generates wrong pub/priv keys with
  1434. Diffie Hellman). (Jakub Zelenka)
  1435. . Fixed bug #73276 (crash in openssl_random_pseudo_bytes function). (Stas)
  1436. . Fixed bug #73072 (Invalid path SNI_server_certs causes segfault).
  1437. (Jakub Zelenka)
  1438. . Fixed bug #72360 (ext/openssl build failure with OpenSSL 1.1.0).
  1439. (Jakub Zelenka)
  1440. . Bumped a minimal version to 1.0.1. (Jakub Zelenka)
  1441. . Dropped support for SSL2. (Remi)
  1442. . Implemented FR #61204 (Add elliptic curve support for OpenSSL).
  1443. (Dominic Luechinger)
  1444. . Implemented FR #67304 (Added AEAD support [CCM and GCM modes] to
  1445. openssl_encrypt and openssl_decrypt). (Jakub Zelenka)
  1446. . Implemented error storing to the global queue and cleaning up the OpenSSL
  1447. error queue (resolves bugs #68276 and #69882). (Jakub Zelenka)
  1448. - Pcntl
  1449. . Implemented asynchronous signal handling without TICKS. (Dmitry)
  1450. . Added pcntl_signal_get_handler() that returns the current signal handler
  1451. for a particular signal. Addresses FR #72409. (David Walker)
  1452. . Add signinfo to pcntl_signal() handler args (Bishop Bettini, David Walker)
  1453. - PCRE:
  1454. . Fixed bug #73483 (Segmentation fault on pcre_replace_callback). (Laruence)
  1455. . Fixed bug #73612 (preg_*() may leak memory). (cmb)
  1456. . Fixed bug #73392 (A use-after-free in zend allocator management).
  1457. (Laruence)
  1458. . Fixed bug #73121 (Bundled PCRE doesn't compile because JIT isn't supported
  1459. on s390). (Anatol)
  1460. . Fixed bug #72688 (preg_match missing group names in matches). (cmb)
  1461. . Downgraded to PCRE 8.38. (Anatol)
  1462. . Fixed bug #72476 (Memleak in jit_stack). (Laruence)
  1463. . Fixed bug #72463 (mail fails with invalid argument). (Anatol)
  1464. . Upgraded to PCRE 8.39. (Anatol)
  1465. - PDO:
  1466. . Fixed bug #72788 (Invalid memory access when using persistent PDO
  1467. connection). (Keyur)
  1468. . Fixed bug #72791 (Memory leak in PDO persistent connection handling). (Keyur)
  1469. . Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY
  1470. returns false). (cmb)
  1471. - PDO_DBlib:
  1472. . Fixed bug #72414 (Never quote values as raw binary data). (Adam Baratz)
  1473. . Allow \PDO::setAttribute() to set query timeouts. (Adam Baratz)
  1474. . Handle SQLDECIMAL/SQLNUMERIC types, which are used by later TDS versions.
  1475. (Adam Baratz)
  1476. . Add common PDO test suite. (Adam Baratz)
  1477. . Free error and message strings when cleaning up PDO instances.
  1478. (Adam Baratz)
  1479. . Fixed bug #67130 (\PDOStatement::nextRowset() should succeed when all rows
  1480. in current rowset haven't been fetched). (Peter LeBrun)
  1481. . Ignore potentially misleading dberr values. (Chris Kings-Lynne)
  1482. . Implemented stringify 'uniqueidentifier' fields.
  1483. (Alexander Zhuravlev, Adam Baratz)
  1484. - PDO_Firebird:
  1485. . Fixed bug #73087, #61183, #71494 (Memory corruption in bindParam).
  1486. (Dorin Marcoci)
  1487. . Fixed bug #60052 (Integer returned as a 64bit integer on X86_64). (Mariuz)
  1488. - PDO_pgsql:
  1489. . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo)
  1490. . Fixed bug #72570 (Segmentation fault when binding parameters on a query
  1491. without placeholders). (Matteo)
  1492. . Implemented FR #72633 (Postgres PDO lastInsertId() should work without
  1493. specifying a sequence). (Pablo Santiago Sánchez, Matteo)
  1494. - Phar:
  1495. . Fixed bug #72928 (Out of bound when verify signature of zip phar in
  1496. phar_parse_zipfile). (Stas)
  1497. . Fixed bug #73035 (Out of bound when verify signature of tar phar in
  1498. phar_parse_tarfile). (Stas)
  1499. - phpdbg:
  1500. . Added generator command for inspection of currently alive generators. (Bob)
  1501. - Postgres:
  1502. . Fixed bug #73498 (Incorrect SQL generated for pg_copy_to()). (Craig Duncan)
  1503. . Implemented FR #31021 (pg_last_notice() is needed to get all notice
  1504. messages). (Yasuo)
  1505. . Implemented FR #48532 (Allow pg_fetch_all() to index numerically). (Yasuo)
  1506. - Readline:
  1507. . Fixed bug #72538 (readline_redisplay crashes php). (Laruence)
  1508. - Reflection
  1509. . Undo backwards compatiblity break in ReflectionType->__toString() and
  1510. deprecate via documentation instead. (Nikita)
  1511. . Reverted prepending \ for class names. (Trowski)
  1512. . Implemented request #38992 (invoke() and invokeArgs() static method calls
  1513. should match). (cmb).
  1514. . Add ReflectionNamedType::getName(). This method should be used instead of
  1515. ReflectionType::__toString()
  1516. . Prepend \ for class names and ? for nullable types returned from
  1517. ReflectionType::__toString(). (Trowski)
  1518. . Fixed bug #72661 (ReflectionType::__toString crashes with iterable).
  1519. (Laruence)
  1520. . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants).
  1521. (Nikita Nefedov)
  1522. . Failure to retrieve a reflection object or retrieve an object property
  1523. will now throw an instance of Error instead of resulting in a fatal error.
  1524. (Aaron Piotrowski)
  1525. . Fix #72209 (ReflectionProperty::getValue() doesn't fail if object doesn't match type). (Joe)
  1526. - Session:
  1527. . Fixed bug #73273 (session_unset() empties values from all variables in which
  1528. is $_session stored). (Nikita)
  1529. . Fixed bug #73100 (session_destroy null dereference in ps_files_path_create).
  1530. (cmb)
  1531. . Fixed bug #68015 (Session does not report invalid uid for files save handler).
  1532. (Yasuo)
  1533. . Fixed bug #72940 (SID always return "name=ID", even if session
  1534. cookie exist). (Yasuo)
  1535. . Implemented session_gc() (Yasuo)
  1536. https://wiki.php.net/rfc/session-create-id
  1537. . Implemented session_create_id() (Yasuo)
  1538. https://wiki.php.net/rfc/session-gc
  1539. . Implemented RFC: Session ID without hashing. (Yasuo)
  1540. https://wiki.php.net/rfc/session-id-without-hashing
  1541. . Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow). (Laruence)
  1542. . Custom session handlers that do not return strings for session IDs will
  1543. now throw an instance of Error instead of resulting in a fatal error
  1544. when a function is called that must generate a session ID.
  1545. (Aaron Piotrowski)
  1546. . An invalid setting for session.hash_function will throw an instance of
  1547. Error instead of resulting in a fatal error when a session ID is created.
  1548. (Aaron Piotrowski)
  1549. . Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session
  1550. Deserialization). (Stas)
  1551. . Improved fix for bug #68063 (Empty session IDs do still start sessions).
  1552. (Yasuo)
  1553. . Fixed bug #71038 (session_start() returns TRUE on failure).
  1554. Session save handlers must return 'string' always for successful read.
  1555. i.e. Non-existing session read must return empty string. PHP 7.0 is made
  1556. not to tolerate buggy return value. (Yasuo)
  1557. . Fixed bug #71394 (session_regenerate_id() must close opened session on
  1558. errors). (Yasuo)
  1559. - SimpleXML:
  1560. . Fixed bug #73293 (NULL pointer dereference in SimpleXMLElement::asXML()).
  1561. (Stas)
  1562. . Fixed bug #72971 (SimpleXML isset/unset do not respect namespace). (Nikita)
  1563. . Fixed bug #72957 (Null coalescing operator doesn't behave as expected with
  1564. SimpleXMLElement). (Nikita)
  1565. . Fixed bug #72588 (Using global var doesn't work while accessing SimpleXML
  1566. element). (Laruence)
  1567. . Creating an unnamed or duplicate attribute will throw an instance of Error
  1568. instead of resulting in a fatal error. (Aaron Piotrowski)
  1569. - SNMP:
  1570. . Fixed bug #72708 (php_snmp_parse_oid integer overflow in memory
  1571. allocation). (djodjo at gmail dot com)
  1572. . Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and
  1573. unserialize()). (Stas)
  1574. - Soap:
  1575. . Fixed bug #73538 (SoapClient::__setSoapHeaders doesn't overwrite SOAP
  1576. headers). (duncan3dc)
  1577. . Fixed bug #73452 (Segfault (Regression for #69152)). (Dmitry)
  1578. . Fixed bug #73037 (SoapServer reports Bad Request when gzipped). (Anatol)
  1579. . Fixed bug #73237 (Nested object in "any" element overwrites other fields).
  1580. (Keith Smiley)
  1581. . Fixed bug #69137 (Peer verification fails when using a proxy with SoapClient)
  1582. (Keith Smiley)
  1583. . Fixed bug #71711 (Soap Server Member variables reference bug). (Nikita)
  1584. . Fixed bug #71996 (Using references in arrays doesn't work like expected).
  1585. (Nikita)
  1586. - SPL:
  1587. . Fixed bug #73423 (Reproducible crash with GDB backtrace). (Laruence)
  1588. . Fixed bug #72888 (Segfault on clone on splFileObject). (Laruence)
  1589. . Fixed bug #73029 (Missing type check when unserializing SplArray). (Stas)
  1590. . Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape
  1591. character). (cmb)
  1592. . Fixed bug #72684 (AppendIterator segfault with closed generator). (Pierrick)
  1593. . Attempting to clone an SplDirectory object will throw an instance of Error
  1594. instead of resulting in a fatal error. (Aaron Piotrowski)
  1595. . Calling ArrayIterator::append() when iterating over an object will throw an
  1596. instance of Error instead of resulting in a fatal error. (Aaron Piotrowski)
  1597. . Fixed bug #55701 (GlobIterator throws LogicException). (Valentin VĂLCIU)
  1598. - SQLite3:
  1599. . Update to SQLite 3.15.1. (cmb)
  1600. . Fixed bug #73530 (Unsetting result set may reset other result set). (cmb)
  1601. . Fixed bug #73333 (2147483647 is fetched as string). (cmb)
  1602. . Fixed bug #72668 (Spurious warning when exception is thrown in user defined
  1603. function). (Laruence)
  1604. . Implemented FR #72653 (SQLite should allow opening with empty filename).
  1605. (cmb)
  1606. . Fixed bug #70628 (Clearing bindings on an SQLite3 statement doesn't work).
  1607. (cmb)
  1608. . Implemented FR #71159 (Upgraded bundled SQLite lib to 3.9.2). (Laruence)
  1609. - Standard:
  1610. . Fixed bug #73297 (HTTP stream wrapper should ignore HTTP 100 Continue).
  1611. (rowan dot collins at gmail dot com)
  1612. . Fixed bug #73303 (Scope not inherited by eval in assert()). (nikic)
  1613. . Fixed bug #73192 (parse_url return wrong hostname). (Nikita)
  1614. . Fixed bug #73203 (passing additional_parameters causes mail to fail). (cmb)
  1615. . Fixed bug #73203 (passing additional_parameters causes mail to fail). (cmb)
  1616. . Fixed bug #72920 (Accessing a private constant using constant() creates
  1617. an exception AND warning). (Laruence)
  1618. . Fixed bug #65550 (get_browser() incorrectly parses entries with "+" sign).
  1619. (cmb)
  1620. . Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory).
  1621. (cmb)
  1622. . Fixed bug #55451 (substr_compare NULL length interpreted as 0). (Lauri
  1623. Kenttä)
  1624. . Fixed bug #72278 (getimagesize returning FALSE on valid jpg). (cmb)
  1625. . Fixed bug #61967 (unset array item in array_walk_recursive cause
  1626. inconsistent array). (Nikita)
  1627. . Fixed bug #62607 (array_walk_recursive move internal pointer). (Nikita)
  1628. . Fixed bug #69068 (Exchanging array during array_walk -> memory errors).
  1629. (Nikita)
  1630. . Fixed bug #70713 (Use After Free Vulnerability in array_walk()/
  1631. array_walk_recursive()). (Nikita)
  1632. . Fixed bug #72622 (array_walk + array_replace_recursive create references
  1633. from nothing). (Laruence)
  1634. . Fixed bug #72330 (CSV fields incorrectly split if escape char followed by
  1635. UTF chars). (cmb)
  1636. . Implemented RFC: More precise float values. (Jakub Zelenka, Yasuo)
  1637. . array_multisort now uses zend_sort instead zend_qsort. (Laruence)
  1638. . Fixed bug #72505 (readfile() mangles files larger than 2G). (Cschneid)
  1639. . assert() will throw a ParseError when evaluating a string given as the first
  1640. argument if the PHP code is invalid instead of resulting in a catchable
  1641. fatal error. (Aaron Piotrowski)
  1642. . Calling forward_static_call() outside of a class scope will now throw an
  1643. instance of Error instead of resulting in a fatal error. (Aaron Piotrowski)
  1644. . Added is_iterable() function. (Aaron Piotrowski)
  1645. . Fixed bug #72306 (Heap overflow through proc_open and $env parameter).
  1646. (Laruence)
  1647. . Fixed bug #71100 (long2ip() doesn't accept integers in strict mode).
  1648. (Laruence)
  1649. . Implemented FR #55716 (Add an option to pass a custom stream context to
  1650. get_headers()). (Ferenc)
  1651. . Additional validation for parse_url() for login/pass components).
  1652. (Ilia) (Julien)
  1653. . Implemented FR #69359 (Provide a way to fetch the current environment
  1654. variables). (Ferenc)
  1655. . unpack() function accepts an additional optional argument $offset. (Dmitry)
  1656. . Implemented #51879 stream context socket option tcp_nodelay (Joe)
  1657. - Streams:
  1658. . Fixed bug #73586 (php_user_filter::$stream is not set to the stream the
  1659. filter is working on). (Dmitry)
  1660. . Fixed bug #72853 (stream_set_blocking doesn't work). (Laruence)
  1661. . Fixed bug #72743 (Out-of-bound read in php_stream_filter_create).
  1662. (Loianhtuan)
  1663. . Implemented FR #27814 (Multiple small packets send for HTTP request).
  1664. (vhuk)
  1665. . Fixed bug #72764 (ftps:// opendir wrapper data channel encryption fails
  1666. with IIS FTP 7.5, 8.5). (vhuk)
  1667. . Fixed bug #72810 (Missing SKIP_ONLINE_TESTS checks). (vhuk)
  1668. . Fixed bug #41021 (Problems with the ftps wrapper). (vhuk)
  1669. . Fixed bug #54431 (opendir() does not work with ftps:// wrapper). (vhuk)
  1670. . Fixed bug #72667 (opendir() with ftp:// attempts to open data stream for
  1671. non-existent directories). (vhuk)
  1672. . Fixed bug #72771 (ftps:// wrapper is vulnerable to protocol downgrade
  1673. attack). (Stas)
  1674. . Fixed bug #72534 (stream_socket_get_name crashes). (Anatol)
  1675. . Fixed bug #72439 (Stream socket with remote address leads to a segmentation
  1676. fault). (Laruence)
  1677. - sysvshm:
  1678. . Fixed bug #72858 (shm_attach null dereference). (Anatol)
  1679. - Tidy:
  1680. . Implemented support for libtidy 5.0.0 and above. (Michael Orlitzky, Anatol)
  1681. . Creating a tidyNode manually will now throw an instance of Error instead of
  1682. resulting in a fatal error. (Aaron Piotrowski)
  1683. - Wddx:
  1684. . Fixed bug #73331 (NULL Pointer Dereference in WDDX Packet Deserialization
  1685. with PDORow). (Stas)
  1686. . Fixed bug #72142 (WDDX Packet Injection Vulnerability in
  1687. wddx_serialize_value()). (Taoguang Chen)
  1688. . Fixed bug #72749 (wddx_deserialize allows illegal memory access) (Stas)
  1689. . Fixed bug #72750 (wddx_deserialize null dereference). (Stas)
  1690. . Fixed bug #72790 (wddx_deserialize null dereference with invalid xml).
  1691. (Stas)
  1692. . Fixed bug #72799 (wddx_deserialize null dereference in
  1693. php_wddx_pop_element). (Stas)
  1694. . Fixed bug #72860 (wddx_deserialize use-after-free). (Stas)
  1695. . Fixed bug #73065 (Out-Of-Bounds Read in php_wddx_push_element). (Stas)
  1696. . Fixed bug #72564 (boolean always deserialized as "true") (Remi)
  1697. . A circular reference when serializing will now throw an instance of Error
  1698. instead of resulting in a fatal error. (Aaron Piotrowski)
  1699. - XML:
  1700. . Fixed bug #72135 (malformed XML causes fault) (edgarsandi)
  1701. . Fixed bug #72714 (_xml_startElementHandler() segmentation fault). (cmb)
  1702. . Fixed bug #72085 (SEGV on unknown address zif_xml_parse). (cmb)
  1703. - XMLRPC:
  1704. . Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing
  1705. array elements). (Laruence)
  1706. . Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn
  1707. simplestring.c). (Stas)
  1708. . A circular reference when serializing will now throw an instance of Error
  1709. instead of resulting in a fatal error. (Aaron Piotrowski)
  1710. - Zip:
  1711. . Fixed bug #68302 (impossible to compile php with zip support). (cmb)
  1712. . Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd).
  1713. (Laruence)
  1714. . Fixed bug #72520 (Stack-based buffer overflow vulnerability in
  1715. php_stream_zip_opener). (Stas)
  1716. . ZipArchive::addGlob() will throw an instance of Error instead of resulting
  1717. in a fatal error if glob support is not available. (Aaron Piotrowski)