PHP 5.2.0RC1 Released

tony2001

TeaM PHPClub
PHP 5.2.0RC1 Released

Туча изменений, новые экстеншены - zip, json и filter.
Пробуем; тестируем; удостоверяемся, что всё работает.
Если не работает - http://bugs.php.net

http://downloads.php.net/ilia/php-5.2.0RC1.tar.bz2
(fa36d378f7f1fd547b881b6323ae2c60)
http://downloads.php.net/ilia/php-5.2.0RC1.tar.gz
(e217195c90e123acce0c2f71ac07f88d)

Бинарники для Win32:

Main distibution:
http://downloads.php.net/edink/php-5.2.0RC1-Win32.zip

PECL collection:
http://downloads.php.net/edink/pecl-5.2.0RC1-Win32.zip

Debug pack:
http://downloads.php.net/edink/php-debug-pack-5.2.0RC1-Win32.zip

Changelog:

24 Jul 2006, PHP 5.2.0RC1
- Updated bundled MySQL client library to version 5.0.22 in the Windows
distribution.
(Edin)
- Updated timezonedb to version 2006.7. (Derick)

- Changed priority of PHPRC environment variable on win32 to be higher then
value from registry
. (Dmitry)
- Changed __toString() to be called wherever applicable. (Marcus)
- Changed E_ALL error reporting mode to include E_RECOVERABLE_ERROR. (Marcus)
- Changed realpath cache to be disabled when "open_basedir" or "safe_mode"
are enabled on per-request basis. (Ilia)

- Improved the Zend memory manager: (Dmitry)
. Removed unnecessary "--disable-zend-memory-manager" configure option.
. Added "--enable-malloc-mm" configure option which is enabled by default
in debug builds to allow using internal and external memory debuggers.
. Allow tweaking the memory manager with ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE
environment variables.
. For more information: Zend/README.ZEND_MM
- Improved safe_mode check for the error_log() function. (Ilia)
- Improved the error reporting in SOAP extension on request failure. (Ilia)
- Improved crypt() on win32 to be about 10 times faster and to have friendlier
license. (Frank, Dmitry)
- Improved performance of the implode() function on associated arrays. (Ilia)
- Improved performance of str_replace() when doing 1 char to 1 char or 1 char
to many chars replacement. (Ilia)
- Improved apache2filter SAPI:
. Allowed PHP to be an arbitrary filter in the chain and read the script
from the Apache stream. (John)
. Added support for apache2filter in the Windows build including binary
support for both Apache 2.0.x (php5apache2_filter.dll) and Apache 2.2.x
(php5apache2_2_filter.dll). (Edin)
- Improved apache2handler SAPI:
. Changed ap_set_content_type() to be called only once. (Mike)
. Added support for Apache 2.2 handler in the Windows distribution. (Edin)
- Improved FastCGI SAPI: (Dmitry)
. Removed source compatibility with libfcgi.
. Optimized access to FastCGI environment variables by using HashTable
instead of linear search.
. Allowed PHP_FCGI_MAX_REQUESTS=0 that assumes no limit.
. Allowed PHP_FCGI_CHILDREN=0 that assumes no worker children. (FastCGI
requests are handled by main process itself)
- Improved CURL:
. Added control character checks for "open_basedir" and "safe_mode" checks.
(Ilia)
. Added implementation of curl_multi_info_read(). (Brian)
- Improved PCRE: (Andrei)
. Added run-time configurable backtracking/recursion limits.
. Added preg_last_error(). (Andrei)
- Improved PDO:
. Added new attribute ATTR_DEFAULT_FETCH_MODE. (Pierre)
. Added FETCH_PROPS_LATE. (Marcus)
- Improved SPL: (Marcus)
. Made most iterator code exception safe.
. Added RegExIterator and RecursiveRegExIterator.
. Added full caching support and ArrayAccess to CachingIterator.
. Added array functions to ArrayObject/ArrayIterator and made them faster.
. Added support for reading csv and skipping empty lines in SplFileObject.
. Added CachingIterator::TOSTRING_USE_INNER, calls inner iterator __toString.
. Added ability to set the CSV separator per SplFileObject.
- Improved xmlReader: (Rob)
. Added readInnerXml(), xmlReader::setSchema().
. Added readInnerXML(), readOuterXML(), readString(), setSchema(). (2.6.20+)
. Changed to passing libxml options when loading reader.

- Added Zip Archive extension. (Pierre)
- Added RFC1867 fileupload processing hook. (Stefan E.)
- Added JSON and Filter extensions. (Derick, Rasmus)
- Added error messages to disk_free_space() and disk_total_space()
functions. FR #37971 (Tony)
- Added PATHINFO_FILENAME option to pathinfo() to get the filename. (Toby S.
and Christian S.)
- Added array_fill_keys() function. (Marcus, Matthew Wilmas)
- Added posix_initgroups() function. (Ilia)
- Added an optional parameter to parse_url() to allow retrieval of distinct URL
components. (Ilia)
- Added optional parameter to http_build_query() to allow specification of
string separator. (Ilia)
- Added image_type_to_extension() function. (Hannes, Ilia)
- Added allow_url_include ini directive to complement allow_url_fopen. (Rasmus)
- Added automatic module globals management. (Dmitry)
- Added RFC2397 (data: stream) support. (Marcus)
- Added new error mode E_RECOVERABLE_ERROR. (Derick, Marcus, Tony)
- Added support for getenv() input filtering. (Rasmus)
- Added support for constructors in interfaces to force constructor signature
checks in implementations. (Marcus)
- Added memory_get_peak_usage() function for retrieving peak memory usage of
a PHP script. (Ilia)
- Added pg_field_table() function. (Edin)
- Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML().
(Hannes)
- Added DOMNode::getNodePath() for getting an XPath for a node. (Christian)
- Added gmp_nextprime() function. (ants dot aasma at gmail dot com, Tony)
- Added error_get_last() function. (Mike)

- Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry)
- Optimized require_once() and include_once() by eliminating fopen(3)
on second usage. (Dmitry)
- Optimized request shutdown sequence. Restoring ini directives now iterates
only over modified directives instead of all. (Dmitry)

- Fixed memory leaks in openssl streams context options. (Pierre)
- Fixed handling of extremely long paths inside tempnam() function. (Ilia)
- Fixed bug #38183 (disable_classes=Foobar causes disabled class to be
called Foo). (Jani)
- Fixed bug #38179 (imagecopy from a palette to a truecolor image loose
alpha channel) (Pierre)
- Fixed bug #38146 (Cannot use array returned from foo::__get('bar') in write
context). (Dmitry)
- Fixed bug #38125 (undefined reference to spl_dual_it_free_storage). (Marcus)
- Fixed bug #38086 (stream_copy_to_stream() returns 0 when maxlen is bigger
than the actual length). (Tony)
- Fixed bug #38072 (boolean arg for mysqli_autocommit() is always true on
Solaris). (Tony)
- Fixed bug #38067 (Parameters are not decoded from utf-8 when using encoding
option). (Dmitry)
- Fixed bug #38055 (Wrong interpretation of boolean parameters). (Dmitry)
- Fixed bug #38019 (segfault extending mysqli class). (Dmitry)
- Fixed bug #38005 (SoapFault faultstring doesn't follow encoding rules).
(Dmitry)
- Fixed bug #38004 (Parameters in SoapServer are decoded twice). (Dmitry)
- Fixed bug #38003 (in classes inherited from MySQLi it's possible to call
private constructors from invalid context). (Tony)
- Fixed bug #37987 (invalid return of file_exists() in safe mode). (Ilia)
- Fixed bug #37947 (zend_ptr_stack reallocation problem). (Dmitry)
- Fixed bug #37945 (pathinfo() cannot handle argument with special characters
like german "Umlaute"). (Mike)
- Fixed bug #37931 (possible crash in OCI8 after database restart
when using persistent connections). (Tony)
- Fixed bug #37920 (compilation problems on z/OS). (Tony)
- Fixed bug #37864 (file_get_contents() leaks on empty file). (Hannes)
- Fixed bug #37862 (Integer pointer comparison to numeric value).
(bugs-php at thewrittenword dot com)
- Fixed bug #37816 (ReflectionProperty does not throw exception when accessing
protected attribute). (Marcus)
- Fixed bug #37811 (define not using toString on objects). (Marcus)
- Fixed bug #37807 (segmentation fault during SOAP schema import). (Tony)
- Fixed bug #37806 (weird behavior of object type and comparison). (Marcus)
- Fixed bug #37780 (memory leak trying to execute a non existing file (CLI)).
(Mike)
- Fixed bug #37747 (strtotime segfaults when given "nextyear"). (Derick)
- Fixed bug #37720 (merge_php_config scrambles values). (Mike,
pumuckel at metropolis dot de)
- Fixed bug #37709 (Possible crash in PDO::errorCode()). (Ilia)
- Fixed bug #37707 (clone without assigning leaks memory). (Ilia, Nuno, Dmitri)
- Fixed bug #37705 (Semaphore constants not available). (Ilia)
- Fixed bug #37671 (MySQLi extension fails to recognize BIT column). (Ilia)
- Fixed bug #37667 (Object is not added into array returned by __get). (Marcus)
- Fixed bug #37635 (parameter of pcntl signal handler is trashed). (Mike)
- Fixed bug #37632 (Protected method access problem). (Marcus)
- Fixed bug #37630 (MySQL extensions should link against thread safe client
libs if built with ZTS). (Mike)
- Fixed bug #37620 (mysqli_ssl_set validation is inappropriate). (Georg)
- Fixed bug #37616 (DATE_RFC822 does not product RFC 822 dates).
(Hannes Magnusson, Derick)
- Fixed bug #37614 (Class name lowercased in error message). (Johannes)
- Fixed bug #37587 (var without attribute causes segfault). (Marcus)
- Fixed bug #37586 (Bumped minimum PCRE version to 6.6, needed for recursion
limit support). (Ilia)
- Fixed bug #37569 (WDDX incorrectly encodes high-ascii characters). (Ilia)
- Fixed bug #37565 (Using reflection::export with simplexml causing a crash).
(Marcus)
- Fixed bug #37563 (array_key_exists performance is poor for &$array). (Ilia)
- Fixed bug #37558 (timeout functionality doesn't work after a second PHP
startup on the same thread). (p dot desarnaud at wanadoo dot fr)
- Fixed bug #37531 (oci8 persistent connection corruption). (Tony)
- Fixed bug #37523 (namespaces added too late, leads to missing xsi:type
attributes. incompatibility with libxml2-2.6.24). (Dmitry)
- Fixed bug #37514 (strtotime doesn't assume year correctly). (Derick)
- Fixed bug #37510 (session_regenerate_id changes session_id() even on
failure). (Hannes)
- Fixed bug #37505 (touch() truncates large files). (Ilia)
- Fixed bug #37499 (CLI segmentation faults during cleanup with sybase-ct
extension enabled). (Tony)
- Fixed bug #37496 (FastCGI output buffer overrun). (Piotr, Dmitry)
- Fixed bug #37487 (oci_fetch_array() array-type should always default to
OCI_BOTH). (Tony)
- Fixed bug #37457 (Crash when an exception is thrown in accept() method of
FilterIterator). (Marcus)
- Fixed bug #37456 (DOMElement->setAttribute() loops forever). (Rob)
- Fixed bug #37428 (PHP crashes on windows if there are startup errors
and event log is used for logging them). (Edin)
- Fixed bug #37418 (tidy module crashes on shutdown). (Tony)
- Fixed bug #37416 (iterator_to_array() hides exceptions thrown in rewind()
method). (Tony)
- Fixed bug #37413 (Rejected versions of flex that don't work). (Ilia)
- Fixed bug #37395 (recursive mkdir() fails to create nonexistent directories
in root dir). (Tony)
- Fixed bug #37394 (substr_compare() returns an error when offset equals
string length). (Ilia)
- Fixed bug #37392 (Unnecessary call to OCITransRollback() at the end of
request). (Tony)
- Fixed bug #37376 (fastcgi.c compile fail with gcc 2.95.4). (Ilia)
- Fixed bug #37368 (Incorrect timestamp returned for strtotime()). (Derick)
- Fixed bug #37363 (PDO_MYSQL does not build if no other mysql extension is
enabled). (Mike)
- Fixed bug #37348 (make PEAR install ignore open_basedir). (Ilia)
- Fixed bug #37341 ($_SERVER in included file is shortened to two entries,
if $_ENV gets used). (Dmitry)
- Fixed bug #37313 (sigemptyset() used without including <signal.h>).
(jdolecek)
- Fixed bug #37306 (max_execution_time = max_input_time). (Dmitry)
- Fixed Bug #37278 (SOAP not respecting uri in __soapCall). (Dmitry)
- Fixed bug #37256 (php-fastcgi doesn't handle connection abort). (Dmitry)
- Fixed bug #37244 (Added strict flag to base64_decode() that enforces
RFC3548 compliance). (Ilia)
- Fixed bug #37144 (PHP crashes trying to assign into property of dead object).
(Dmitry)
- Fixed bug #36949 (invalid internal mysqli objects dtor). (Mike)
- Fixed bug #36759 (Objects destructors are invoked in wrong order when script
is finished). (Dmitry)
- Fixed bug #36630 (umask not reset at the end of the request). (Ilia)
- Fixed bug #35886 (file_get_contents() fails with some
combinations of offset & maxlen). (Nuno)
- Fixed bug #35512 (Lack of read permission on main script results in
E_WARNING rather then E_ERROR). (Ilia)
- Fixed bug #34180 (--with-curlwrappers causes PHP to disregard some HTTP
stream context options). (Mike)
- Fixed bug #34005 (oci_password_change() fails).
(pholdaway at technocom-wireless dot com, Tony)
- Fixed bug #29538 (number_format and problem with 0). (Matthew Wilmas)
 

StUV

Rotaredom
tony2001
когда предположительно будет релиз на самом пхп.нет ?
 

si

Administrator
StUV
Given the long time it took to make this RC there are A LOT of
changes, both in terms of new features and bug fixes. Please try to
find the time to test this release over the course of the next few
weeks so any issues can be resolved. If all goes well we will have a
pre-final RC2 in about 3 weeks, tentative date August 14th.
To see
the full scope of the changes take a look at the NEWS file. The
things of particular note are the 3 new extensions (zip, json and
filter), which until now only had limited testing so any real-world
testing would be highly appreciated. There have also been some
performance tweaks done in the engine, so try to see how PHP 5.2.0
performs compared to earlier releases, if you notice any depredations
in speed, please make us aware of it.

Ilia Alshanetsky
 

StUV

Rotaredom
tony2001
si
спасибо

но, к сожалению, не имею возможности ставить rc...

-~{}~ 25.07.06 14:58:

зы: новые фичи и багфиксы впечатляют - будем с нетерпением ждать релиз
 

si

Administrator
но, к сожалению, не имею возможности ставить rc...

-~{}~ 25.07.06 14:58:

зы: новые фичи и багфиксы впечатляют - будем с нетерпением ждать релиз
не понятно чем для тебя будет отличаться в таком случае RC от релиза, только названием ?
 

Wicked

Новичок
si
иногда политика компании просто не разрешает ставить нерелизную версию.
 

tony2001

TeaM PHPClub
политика компании вряд ли запрещает установку в свою личную директорию.
 

StUV

Rotaredom
si
не для меня
для руководства =)

tony2001
в моем случае нечего тестить в личной директории
 

si

Administrator
иногда политика компании просто не разрешает ставить нерелизную версию.
т.е если что-то перестанет работать на той версии которая называется релизом кому то будет морально легче ?
 

Wicked

Новичок
кому-то будет гораздо легче от знания того, что они ставят более стабильную версию, и что-то перестанет работать с несколько меньшей вероятностью.

пс: si, ты какие-то странные вопросы задаешь, будто сам ичего этого не знаешь...
 

si

Administrator
имхо вероятность ни сколько не меньше (есть куча примеров из истории РНР). а вопросы скажем намеренно наводящие, может до кого и дойдет.
 

Wicked

Новичок
до меня вот не доходит :)

и все таки... если все так, как ты говоришь... то почему-бы не выпускать сразу релиз? без всяких там кандидатов, которые как бы ничем и не хуже?
 

si

Administrator
положительная разница между RC и релизом будет только тогда когда много людей будет принимать участие в RC процессе, а сидеть и ждать когда кто-то поймает "твои баги" по меньше мере не конструктивно хотя когда такая позиция оправдана, если не планируется использовать новую к выходу версию но тогда и не ждут релиза. я понятно объясняю ?
 

WP

^_^
Там например не работает magic_quotes_gpc, т.е. не имеет эффекта, хотя get_magic_quotes_gpc() дает true. Репорт уже накатал.
 

StUV

Rotaredom
si
когда моя контора заключит официальное партнеское соглашение с зендом, тогда и будем ставить rc на тестовые серваки
;)
 

tony2001

TeaM PHPClub
WP
отличный репорт. 0 информации и не воспроизводится.
5 баллов.

-~{}~ 26.07.06 11:31:

StUV
мм? нет, ты правда думаешь, что PHP - это продукт какой-либо компании?
 
Сверху