← Back to team overview

ius-coredev team mailing list archive

[Bug 1193477] Re: WL: php 5.5

 

Hi everyone,

first things first : thank you IUS team for all these amazing packages !
I'm using CentOS to host my customers' applications and IUS makes my life easier.

I was recently wondering why PHP 5.5 hasn't yet made it to the stable
repo, so here I am with a fresh Launchpad account, subscribed to this
bug.

Apart from this JSON thing, I understand you guys don't get enough feedback and don't have enough testers...
I benefit a lot from IUS, so I'd like to give back to the community and get involved to fill a tiny part of this gap.

I have a question that may seem stupid to experienced people like you :
how can I be a good tester ? What things should I test ? I only use your
PHP packages and I have a lot of PHP applications running in production,
so should I just upgrade some testing servers to 5.5 and see if my apps
run smoothly ? What data in particular should I give back ?

If everything runs well on php55u-testing, would something like "I have
this PHP app coded on top of framework X version Y running without
problems" be valuable to you ? Or should I just look for bugs I don't
get on previous PHP versions ? How do I know if this bug has something
to do with *your* packages and not 5.5 in general ?

I have a pretty good experience as a sysadmin but I've never been
involved in this kind of thing, so.. sorry for the newbie questions ! I
just want to bring something valuable to the table.

-- 
You received this bug notification because you are a member of IUS Core
Development, which is subscribed to IUS Community Project.
https://bugs.launchpad.net/bugs/1193477

Title:
  WL: php 5.5

Status in IUS Community Project:
  In Progress

Bug description:
  PHP 5 ChangeLog

  Version 5.5.0

  20-Jun-2013
  Drop support for bison < 2.4 when building PHP from GIT source
  Improved Zend Engine:
  Added ARMv7/v8 versions of various Zend arithmetic functions that are implemented using inline assembler
  Added systemtap support by enabling systemtap compatible dtrace probes on linux
  Optimized access to temporary and compiled VM variables. 8% less memory reads
  The VM stacks for passing function arguments and syntaticaly nested calls were merged into a single stack. The stack size needed for op_array execution is calculated at compile time and preallocated at once. As result all the stack push operations don't require checks for stack overflow any more
  General improvement:
  Added generators and coroutines.
  Added "finally" keyword.
  Added simplified password hashing API.
  Added support for constant array/string dereferencing.
  Added Class Name Resolution As Scalar Via "class" Keyword
  Added support for using empty() on the result of function calls and other expressions
  Added support for non-scalar Iterator keys in foreach
  Added support for list in foreach
  Core:
  Added Zend Opcache extension and enable building it by default.
  Added array_column function which returns a column in a multidimensional array
  Added boolval()
  Added "Z" option to pack/unpack
  Added optional second argument for assert() to specify custom message
  Added support for changing the process's title in CLI/CLI-Server SAPIs. The implementation is more robust that the proctitle PECL module
  Improve set_exception_handler while doing reset
  Return previous handler when passing NULL to set_error_handler and set_exception_handler
  Implemented #64175 (Added HTTP codes as of RFC 6585)
  Implemented #60738 (Allow 'set_error_handler' to handle NULL)
  Implemented #60524 (specify temp dir by php.ini)
  Implemented #46487 (Dereferencing process-handles no longer waits on those processes)
  Fixed bug #65051 (count() off by one inside unset())
  Fixed bug #64988 (Class loading order affects E_STRICT warning)
  Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC)
  Fixed bug #64960 (Segfault in gc_zval_possible_root)
  Fixed bug #64936 (doc comments picked up from previous scanner run)
  Fixed bug #64934 (Apache2 TS crash with get_browser())
  Fixed bug #64879 (Heap based buffer overflow in quoted_printable_encode, CVE 2013-2110)
  Fixed bug #64853 (Use of no longer available ini directives causes crash on TS build)
  Fixed bug #64821 (Custom Exceptions crash when internal properties overridden)
  Fixed bug #64720 (SegFault on zend_deactivate).
  Fixed bug #64677 (execution operator `` stealing surrounding arguments)
  Fixed bug #64660 (Segfault on memory exhaustion within function definition)
  Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap: segfault)
  Fixed bug #64565 (copy doesn't report failure on partial copy)
  Fixed bug #64555 (foreach no longer copies keys if they are interned)
  Fixed bug #47675 and Fixed bug #64577 (fd leak on Solaris)
  Fixed bug #64544 (Valgrind warnings after using putenv)
  Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration)
  Fixed bug #64503 (Compilation fails with error: conflicting types for 'zendparse')
  Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11)
  Fixed bug #64523 allow XOR in php.ini
  Fixed bug #64354 (Unserialize array of objects whose class can't be autoloaded fail)
  Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT'])
  Fixed bug #64166 (quoted-printable-encode stream filter incorrectly discarding whitespace)
  Fixed bug #64142 (dval to lval different behavior on ppc64)
  Fixed bug #64135 (Exceptions from set_error_handler are not always propagated)
  Fixed bug #63980 (object members get trimmed by zero bytes)
  Fixed bug #63874 (Segfault if php_strip_whitespace has heredoc)
  Fixed bug #63830 (Segfault on undefined function call in nested generator)
  Fixed bug #63822 (Crash when using closures with ArrayAccess)
  Fixed bug #61681 (Malformed grammar)
  Fixed bug #61038 (unpack("a5", "str\0\0") does not work as expected)
  Fixed bug #61025 (__invoke() visibility not honored)
  Fixed bug #60833 (self, parent, static behave inconsistently case-sensitive)
  Fixed bug #52126 timestamp for mail.log
  Fixed bug #49348 (Uninitialized ++$foo->bar; does not cause a notice)
  Fixed bug #23955 allow specifying Max-Age attribute in setcookie()
  Fixed bug #18556 (Engine uses locale rules to handle class names)
  Fix undefined behavior when converting double variables to integers. The double is now always rounded towards zero, the remainder of its division by 2^32 or 2^64 (depending on sizeof(long)) is calculated and it's made signed assuming a two's complement representation
  Removed legacy features:
  Remove php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(), zend_logo_guid()
  Drop Windows XP and 2003 support
  Apache2 Handler SAPI:
  Enabled Apache 2.4 configure option for Windows.
  Calendar:
  Fixed bug #64895 (Integer overflow in SndToJewish).
  Fixed bug #54254 (cal_from_jd returns month = 6 when there is only one Adar).
  CLI server:
  Fixed bug #64128 (buit-in web server is broken on ppc64).
  CURL:
  Remove curl stream wrappers.
  Implemented #46439 - added CURLFile for safer file uploads
  Added support for CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPT_APPEND, CURLOPT_DIRLISTONLY, CURLOPT_NEW_DIRECTORY_PERMS, CURLOPT_NEW_FILE_PERMS, CURLOPT_NETRC_FILE, CURLOPT_PREQUOTE, CURLOPT_KRBLEVEL, CURLOPT_MAXFILESIZE, CURLOPT_FTP_ACCOUNT, CURLOPT_COOKIELIST, CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPT_CONNECT_ONLY, CURLOPT_LOCALPORT, CURLOPT_LOCALPORTRANGE, CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_SSL_SESSIONID_CACHE, CURLOPT_FTP_SSL_CCC, CURLOPT_HTTP_CONTENT_DECODING, CURLOPT_HTTP_TRANSFER_DECODING, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_ADDRESS_SCOPE, CURLOPT_CRLFILE, CURLOPT_ISSUERCERT, CURLOPT_USERNAME, CURLOPT_PASSWORD, CURLOPT_PROXYUSERNAME, CURLOPT_PROXYPASSWORD, CURLOPT_NOPROXY, CURLOPT_SOCKS5_GSSAPI_NEC, CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOPT_TFTP_BLKSIZE, CURLOPT_SSH_KNOWNHOSTS, CURLOPT_FTP_USE_PRET, CURLOPT_MAIL_FROM, CURLOPT_MAIL_RCPT, CURLOPT_RTSP_CLIENT_CSEQ, CURLOPT_RTSP_SERVER_CSEQ, CURLOPT_RTSP_SESSION_ID, CURLOPT_RTSP_STREAM_URI, CURLOPT_RTSP_TRANSPORT, CURLOPT_RTSP_REQUEST, CURLOPT_RESOLVE, CURLOPT_ACCEPT_ENCODING, CURLOPT_TRANSFER_ENCODING, CURLOPT_DNS_SERVERS and CURLOPT_USE_SSL
  Fixed bug #55635 (CURLOPT_BINARYTRANSFER no longer used. The constant still exists for backward compatibility but is doing nothing)
  Fixed bug #54995 (Missing CURLINFO_RESPONSE_CODE support)
  Added new functions curl_escape, curl_multi_setopt, curl_multi_strerror curl_pause, curl_reset, curl_share_close, curl_share_init, curl_share_setopt curl_strerror and curl_unescape
  Addes new curl options CURLOPT_TELNETOPTIONS, CURLOPT_GSSAPI_DELEGATION, CURLOPT_ACCEPTTIMEOUT_MS, CURLOPT_SSL_OPTIONS, CURLOPT_TCP_KEEPALIVE, CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL
  DateTime:
  Added DateTimeImmutable - a variant of DateTime that only returns the modified state instead of changing itself.
  Fixed bug #64825 (Invalid free when unserializing DateTimeZone).
  Fixed bug #64359 (strftime crash with VS2012)
  Fixed bug #62852 (Unserialize Invalid Date causes crash)
  Fixed bug #61642 (modify("+5 weekdays") returns Sunday)
  Fixed bug #60774 (DateInterval::format("%a") is always zero when an interval is created using the createFromDateString method)
  Fixed bug #54567 (DateTimeZone serialize/unserialize)
  Fixed bug #53437 (Crash when using unserialized DatePeriod instance)
  dba:
  Fixed bug #62489 (dba_insert not working as expected)
  Filter:
  Implemented #49180 added MAC address validation.
  Fileinfo:
  Upgraded libmagic to 5.14.
  Fixed bug #64830 (mimetype detection segfaults on mp3 file)
  Fixed bug #63590 (Different results in TS and NTS under Windows)
  Fixed bug #63248 (Load multiple magic files from a directory under Windows)
  FPM:
  Add --with-fpm-systemd option to report health to systemd, and systemd_interval option to configure this. The service can now use Type=notify in the systemd unit file.
  Ignore QUERY_STRING when sent in SCRIPT_FILENAME
  Log a warning when a syscall fails
  Implemented #64764 (add support for FPM init.d script)
  Fixed bug #64915 (error_log ignored when daemonize=0)
  Fixed bug #63999 (php with fpm fails to build on Solaris 10 or 11)
  Fixed some possible memory or resource leaks and possible null dereference detected by code coverity scan
  GD:
  Fixed bug #64962 (imagerotate produces corrupted image).
  Fixed bug #64961 (segfault in imagesetinterpolation)
  Fix build with system libgd >= 2.1 which is now the minimal version required (as build with previous version is broken). No change when bundled libgd is used
  Upgraded libgd to 2.1
  hash:
  Added support for PBKDF2 via hash_pbkdf2().
  Fixed bug #64745 (hash_pbkdf2() truncates data when using default length and hex output)
  intl:
  Added UConverter wrapper.
  The intl extension now requires ICU 4.0+
  Added intl.use_exceptions INI directive, which controls what happens when global errors are set together with intl.error_level
  MessageFormatter::format() and related functions now accepted named arguments and mixed numeric/named arguments in ICU 4.8+
  MessageFormatter::format() and related functions now don't error out when an insufficient argument count is provided. Instead, the placeholders will remain unsubstituted
  MessageFormatter::parse() and MessageFormat::format() (and their static equivalents) don't throw away better than second precision in the arguments
  IntlDateFormatter::__construct and datefmt_create() now accept for the $timezone argument time zone identifiers, IntlTimeZone objects, DateTimeZone objects and NULL
  IntlDateFormatter::__construct and datefmt_create() no longer accept invalid timezone identifiers or empty strings
  The default time zone used in IntlDateFormatter::__construct and datefmt_create() (when the corresponding argument is not passed or NULL is passed) is now the one given by date_default_timezone_get(), not the default ICU time zone
  The time zone passed to the IntlDateFormatter is ignored if it is NULL and if the calendar passed is an IntlCalendar object -- in this case, the IntlCalendar's time zone will be used instead. Otherwise, the time zone specified in the $timezone argument is used instead. This does not affect old code, as IntlCalendar was introduced in this version
  IntlDateFormatter::__construct and datefmt_create() now accept for the $calendar argument also IntlCalendar objects
  IntlDateFormatter::getCalendar() and datefmt_get_calendar() return false if the IntlDateFormatter was set up with an IntlCalendar instead of the constants IntlDateFormatter::GREGORIAN/TRADITIONAL. IntlCalendar did not exist before this version
  IntlDateFormatter::setCalendar() and datefmt_set_calendar() now also accept an IntlCalendar object, in which case its time zone is taken. Passing a constant is still allowed, and still keeps the time zone
  IntlDateFormatter::setTimeZoneID() and datefmt_set_timezone_id() are deprecated. Use IntlDateFormatter::setTimeZone() or datefmt_set_timezone() instead
  IntlDateFormatter::format() and datefmt_format() now also accept an IntlCalendar object for formatting
  Added the classes: IntlCalendar, IntlGregorianCalendar, IntlTimeZone, IntlBreakIterator, IntlRuleBasedBreakIterator and IntlCodePointBreakIterator
  Added the functions: intlcal_get_keyword_values_for_locale(), intlcal_get_now(), intlcal_get_available_locales(), intlcal_get(), intlcal_get_time(), intlcal_set_time(), intlcal_add(), intlcal_set_time_zone(), intlcal_after(), intlcal_before(), intlcal_set(), intlcal_roll(), intlcal_clear(), intlcal_field_difference(), intlcal_get_actual_maximum(), intlcal_get_actual_minimum(), intlcal_get_day_of_week_type(), intlcal_get_first_day_of_week(), intlcal_get_greatest_minimum(), intlcal_get_least_maximum(), intlcal_get_locale(), intlcal_get_maximum(), intlcal_get_minimal_days_in_first_week(), intlcal_get_minimum(), intlcal_get_time_zone(), intlcal_get_type(), intlcal_get_weekend_transition(), intlcal_in_daylight_time(), intlcal_is_equivalent_to(), intlcal_is_lenient(), intlcal_is_set(), intlcal_is_weekend(), intlcal_set_first_day_of_week(), intlcal_set_lenient(), intlcal_equals(), intlcal_get_repeated_wall_time_option(), intlcal_get_skipped_wall_time_option(), intlcal_set_repeated_wall_time_option(), intlcal_set_skipped_wall_time_option(), intlcal_from_date_time(), intlcal_to_date_time(), intlcal_get_error_code(), intlcal_get_error_message(), intlgregcal_create_instance(), intlgregcal_set_gregorian_change(), intlgregcal_get_gregorian_change() and intlgregcal_is_leap_year()
  Added the functions: intltz_create_time_zone(), intltz_create_default(), intltz_get_id(), intltz_get_gmt(), intltz_get_unknown(), intltz_create_enumeration(), intltz_count_equivalent_ids(), intltz_create_time_zone_id_enumeration(), intltz_get_canonical_id(), intltz_get_region(), intltz_get_tz_data_version(), intltz_get_equivalent_id(), intltz_use_daylight_time(), intltz_get_offset(), intltz_get_raw_offset(), intltz_has_same_rules(), intltz_get_display_name(), intltz_get_dst_savings(), intltz_from_date_time_zone(), intltz_to_date_time_zone(), intltz_get_error_code(), intltz_get_error_message()
  Added the methods: IntlDateFormatter::formatObject(), IntlDateFormatter::getCalendarObject(), IntlDateFormatter::getTimeZone(), IntlDateFormatter::setTimeZone()
  Added the functions: datefmt_format_object(), datefmt_get_calendar_object(), datefmt_get_timezone(), datefmt_set_timezone(), datefmt_get_calendar_object(), intlcal_create_instance()
  mbstring:
  Fixed bug #64769 (mbstring PHPTs crash on Windows x64).
  MCrypt:
  mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() and mcrypt_ofb() now throw E_DEPRECATED.
  mysql:
  This extension is now deprecated, and deprecation warnings will be generated when connections are established to databases via mysql_connect(), mysql_pconnect(), or through implicit connection: use MySQLi or PDO_MySQL instead
  Dropped support for LOAD DATA LOCAL INFILE handlers when using libmysql. Known for stability problems
  Added support for SHA256 authentication available with MySQL 5.6.6+
  mysqli:
  Added mysqli_begin_transaction()/mysqli::begin_transaction(). Implemented all options, per MySQL 5.6, which can be used with START TRANSACTION, COMMIT and ROLLBACK through options to mysqli_commit()/mysqli_rollback() and their respective OO counterparts. They work in libmysql and mysqlnd mode
  Added mysqli_savepoint(), mysqli_release_savepoint()
  Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB pointer has closed)
  Fixed bug #64394 (MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS undeclared when using Connector/C)
  mysqlnd:
  Add new begin_transaction() call to the connection object. Implemented all options, per MySQL 5.6, which can be used with START TRANSACTION, COMMIT and ROLLBACK
  Added mysqlnd_savepoint(), mysqlnd_release_savepoint()
  Fixed bug #63530 (mysqlnd_stmt::bind_one_parameter crashes, uses wrong alloc for stmt->param_bind)
  Fixed return value of mysqli_stmt_affected_rows() in the time after prepare() and before execute()
  PCRE:
  Merged PCRE 8.32
  Deprecated the /e modifier
  Fixed bug #63284 (Upgrade PCRE to 8.31)
  PDO:
  Fixed bug #63176 (Segmentation fault when instantiate 2 persistent PDO to the same db server)
  PDO_DBlib:
  Fixed bug #63638 (Cannot connect to SQL Server 2008 with PDO dblib)
  Fixed bug #64338 (pdo_dblib can't connect to Azure SQL)
  Fixed bug #64808 (FreeTDS PDO getColumnMeta on a prepared but not executed statement crashes)
  PDO_pgsql:
  Fixed bug #64949 (Buffer overflow in _pdo_pgsql_error)
  PDO_mysql:
  Fixed bug #48724 (getColumnMeta() doesn't return native_type for BIT, TINYINT and YEAR)
  pgsql:
  Added pg_escape_literal() and pg_escape_identifier()
  Fixed bug #46408 Locale number format settings can cause pg_query_params to break with numerics
  Phar:
  Fixed timestamp update on Phar contents modification
  readline:
  Fixed bug #55694 (Expose additional readline variable to prevent default filename completion)
  Reflection:
  Fixed bug #64007 (There is an ability to create instance of Generator by hand)
  Sockets:
  Added recvmsg() and sendmsg() wrappers
  Fixed bug #64508 (Fails to build with --disable-ipv6)
  Fixed bug #64287 (sendmsg/recvmsg shutdown handler causes segfault)
  SPL:
  Fixed bug #64997 (Segfault while using RecursiveIteratorIterator on 64-bits systems)
  Fixed bug #64264 (SPLFixedArray toArray problem)
  Fixed bug #64228 (RecursiveDirectoryIterator always assumes SKIP_DOTS)
  Fixed bug #64106 (Segfault on SplFixedArray[][x] = y when extended)
  Fixed bug #60560 (SplFixedArray un-/serialize, getSize(), count() return 0, keys are strings)
  Fixed bug #52861 (unset fails with ArrayObject and deep arrays)
  Implement #48358 (Add SplDoublyLinkedList::add() to insert an element at a given offset)
  SNMP:
  Fixed bug #64765 (Some IPv6 addresses get interpreted wrong)
  Fixed bug #64159 (Truncated snmpget)
  Fixed bug #64124 (IPv6 malformed)
  Fixed bug #61981 (OO API, walk: $suffix_as_key is not working correctly)
  SOAP:
  Added SoapClient constructor option 'ssl_method' to specify ssl method
  Streams:
  Fixed bug #64770 (stream_select() fails with pipes returned by proc_open() on Windows x64)
  Fixed Windows x64 version of stream_socket_pair() and improved error handling
  Tokenizer:
  Fixed bug #60097 (token_get_all fails to lex nested heredoc)
  Zip:
  Upgraded libzip to 0.10.1
  Fixed bug #64452 (Zip crash intermittently)
  Fixed bug #64342 (ZipArchive::addFile() has to check for file existence)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ius/+bug/1193477/+subscriptions


References