Upstream changes:
- Core
+ Added init_pmc method to PackFileView.
- Documentation
+ Added source lines from 'docs/index/book.json' to 'index.json'
to make display of 'Parrot Developer's Guide: PIR (draft)'
display more like the other books, e.g., 'PCT Book'.
+ Removed 'docs/index/book.json' as unnecessary.
- Build
+ Improve on 'sudo make install' permission errors by using
File::Copy::cp.
* Specific DragonFly configuration was added
* A couple of K_USING_BSD macros were changed to __NetBSD__ along with
other changes to support FreeBSD and DragonFly
* If MySQL is on the system, CMake will find it and try to use it.
Problem 1: It's broken, it can't link to libmysql
Problem 2: If it could, it would affect PLIST
So disable MySQL detection for now, sqlite3 is what's used.
I suspect there are other CMake detection logic that aren't accounted
for yet in Konoha.
Requested by Aleksej Lebedev in private mail.
Changes since 4.7.0:
4.7.0.6
The stability (-st) branch is now the official branch for point
releases, so the -st suffix has been retired.
- Security fixes
- on 64-bit machines the "random" procedure no longer truncates result
values (which caused very nonrandom results for very large values).
Note that random shouldn't be used for security-critical code.
- Core libraries
- tcp-connect now closes socket on connection timeout
[thanks to Jorg Wittenberger].
- Ensure srfi-13 string comparison returns a boolean, fix bugs in
xsubstring and string-xcopy!, and add a test suite.
- Fix off-by-one error in pending finalizer code which could lead to crash.
- Exceptions signalled by code that executes in finalizers will now
be caught and do not propagate upwards into arbitrary user code.
4.7.0.5-st
- Build system
- LLVM gcc and clang can now be used to compile the system. Previously,
building with LLVM produced binaries that would hang and use 100% CPU.
Fixes compatibility with OS X 10.6 and later.
- Core libraries
- symbols with a single-char print-name were not always properly escaped
when printed readably (#772)
4.7.0.4-st
- Core libraries
- "with-input-from-file", "with-output-to-file", "with-input-from-pipe" and
"with-output-to-pipe" now properly restore the standard input/output
ports in case the body thunk escapes
- Build system
- Fixes for port tests
- C_TARGET_INCLUDE_HOME fix for cygwin
4.7.0.3-st
- Core libraries
- fixed bug in reading of octal escape in string literal
- Compiler
- fixed erroneous optimization of toplevel assignments in the presence
of conditionals (found by Paul Colby and Mario Domenench Goulart).
For example, this had printed "undefined" and now prints "good":
(define A #t)
(define B 'undefined)
(if A
(set! B 'good)
(set! B 'bad))
(print B)
4.7.0.2-st
- Core libraries
- port-procedures now check correctly for argument-ports being open
(thanks to Peter Bex)
- fixed irregex overlapping charsets problem (#636)
- Runtime system
- fixed handling of "inf" floating-point predicate for Solaris
(thanks to Claude Marinier)
- Core tools
- "chicken-profile"
- fixed broken percentage calculation (thanks to "megane")
- Compiler
- the "-uses" option handles whitespace in unit lists given on the
command line (thanks to Santosh Rajan)
4.7.0.1-st
- Build system
- The default target library name for an installation configured for cross-
compilation is now "libchicken" and independent on any particular
setting of PROGRAM_PREFIX/PROGRAM_SUFFIX (thanks to Otavio Salvador)
- Compiler
- Fixed incorrect optimization rules for some fp-rounding and fixnum operators
- Unused arguments in callback wrappers were incorrectly optimized away (#584)
- Core libraries
- Fixed bugs in "make-pathname" and "normalize-pathname" (thanks to Jim Ursetto)
- The reader is now more consistent when parsing symbol- and keyword names
that are fully or partially escaped (thanks to Kon Lovett)
- Fixed a bug in the Windows implementation of "file-type" (thanks to
Jim Ursetto)
- Fixed a bug in the implementation of "current-milliseconds" that could
result in integer-overflow
- Fixed an incorrect type-check in "list-ref" (thanks to Sven Hartrumpf)
- Fixed bug in "string->number" that caused out-of-range characters to
be accepted for base > 10 (thanks to Jim Ursetto)
- Foreign function interface
- "int32" was not properly detected as a valid foreign type (thanks
to Jim Ursetto)
- Syntax expander
- Fixed a bug in the processing of extended lambda-lists (thanks to Peter Bex)
Changelog:
2011-08-08 j.m.reneau <renejm@users.sourceforge.net> 0.9.6.68
* added TEXTWIDTH statement to return width of a string i the current font before output to the graphics area
2011-08-07 j.m.reneau <renejm@users.sourceforge.net> 0.9.6.67
* added -r option to command line to switch UI to run only mode
Armed Bear Common Lisp (ABCL) is a full implementation of
the Common Lisp language featuring both an interpreter and
a compiler, running in the JVM. Originally started to be
a scripting language for the J editor, it now supports JSR-223
(Java scripting API): it can be a scripting engine in any Java
application. Additionally, it can be used to implement (parts of)
the application using Java to Lisp integration APIs.
Changes in Racket 5.3
* Submodules are nested module declarations that can be loaded and
run independently from the enclosing module. For an overview of
submodules, see
http://blog.racket-lang.org/2012/06/submodules.html
* The futures visualizer is a graphical profiling tool for parallel
programs using futures. The tool shows a detailed execution
timeline depicting the migration of futures between threads, and
gives detailed information about each runtime synchronization that
occurred during program execution. In addition, `would-be-future'
is a special type of future that always executes sequentially and
records all potential barricades a regular future would encounter.
* Optimization Coach (formerly Performance Report) reports
information about Racket's inlining optimizations. Optimization
Coach can be launched in any language through the View menu.
* The new `images/flomap' library defines floating-point bitmaps and
fast image processing operations on them. It is written in Typed
Racket, so Typed Racket code may use it without the cost of
contract checks.
* The new `json' library supports parsing and generating JSON.
(Originally based on Dave Herman's planet library.)
* `racket/string' is extended with a set of simplified string
manipulation functions that are more convenient than using
regexps. `regexp-match*' and friends can now be used with new
keyword arguments to return specific matched regexp group/s and
gaps between matches.
* The new `racket/generic' library allows generic function
definitions, which dispatch to methods added to a structure type
via the new `#:methods' keyword.
* The `class' form supports declaring a method abstract. An
abstract method prevents a class from being instantiated unless it
is overridden.
* The contract library comes with support for interfaces, generics,
prompts, continuation-marks, and structs.
* Most error messages use a new multi-line format that is more
consistent with contract errors and accommodates more information.
* Typed Racket supports function definitions with keyword arguments;
the startup time of Typed Racket programs has been sharply
reduced.
* The new `ffi/com' library replaces MysterX; a compatibility
`mysterx' library remains, but without ActiveX support. The new
`ffi/unsafe/com' library offers a more primitive and direct way to
use COM classes and methods.
* There is now a very complete completion code for zsh. It is not
included in the distribution though; get it at http://goo.gl/DU8JK
(This script and the bash completions will be included in the
standard installers in future versions.)
--- DEPRECATION ----------------------------------------------------
Effective this release:
- The `tex2page' and `combinator-parser' libraries have been moved
from the Racket distribution to PLaneT:
(require (planet plt/tex2page))
(require (planet plt/combinator-parser))
The following has been deprecated and will be removed in the
January 2013 release:
- the `planet' command-line tool; use `raco planet' instead.
The following has been deprecated and will be removed in the
August 2013 release:
- the `mzlib/class100' library; use `racket/class' instead.
Changes in sbcl-1.0.58 relative to sbcl-1.0.57:
* enhancement: implicit generic function warnings now specify the package
in which the new generic function is being created.
* enhancement: SB-EXT:ATOMIC-UPDATE makes it easy to perform non-destructive
updates of CAS-able places (similar to Clojure's swap!).
* enhancement: run-program no longer decodes and re-encodes environment when
:environment argument is not provided. (lp#985904)
* enhancement: errors during compiler-macro expansion no longer cause
runtime errors, only a compile-time warning, otherwise behaving as if
the compiler macro had declined to expand.
* optimization: On x86-64, code alignment of block headers is done with
multi-byte NOPs now instead of repetitions of the single-byte NOP.
* optimization: MAP-INTO is substantially faster when the target sequence is
of unknown type; mapping into lists is no longer O(N^2). (thanks to James
M. Lawrence)
* optimization: the compiler no longer heap-conses to check exits in cases
where the exit function is dynamic extent, or when it can prove the exit
function cannot escape.
* optimization: SB-SEQUENCE:DOSEQUENCE is faster on vectors of unknown
element type, and vectors that aren't SIMPLE-ARRAYs.
* optimization: CL:SORT and CL:STABLE-SORT are more efficient in execution
speed (around 1/3 the time in some cases), and a little better in terms of
comparison calls. (Thanks to Takeru Ohta)
* bug fix: On SPARC, a limitation on the number of code constants emittable
by the compiler has been lifted, allowing certain long functions to
compiled and assembled which had previously been unsupported; fixes
cl-bench on this ISA (lp#1008996).
* bug fix: potential for infinite recursion during compilation of CLOS slot
typechecks when dependency graph had loops. (lp#1001799)
* bug fix: error forms reported with some program-errors were not escaped
properly.
* bug fix: functions from EVAL are now on more equal footing with functions
from COMPILE. (lp#1000783, lp#851170, lp#922408)
* bug fix: ENSURE-GENERIC-METHOD-COMBINATION accepts method combination
objects as its :METHOD-COMBINATION argument, not just lists designating
method combinations. (lp#936513)
* bug fix: run-program no longer unconditionally uses /tmp/ for temporary
files. (lp#968837).
* bug fix: restore build on solaris/sparc. (lp#1008506)
* bug fix: an issue with LDB in the PowerPC backend has been resolved;
this fixes an issue found with cl-postgres (thanks to Tomas Hlavaty).
* bug fix: compiler-macro lambda-lists specifying non-keyword symbols
as keyword arguments no longer accidentally match unevaluated symbols
against them.
* bug fix: FORMAT used to loop infinitely in some cases when a COLINC
parameter was zero, now it signals an error. (lp#905817, fixed since
1.0.56.19)
* bug fix: run-program with :pty t no longer makes the pty as the process's
controling terminal.
A very large number of patches is required to properly build a stock
gcc on DragonFly, as evidenced by the patches added to lang/gcc47.
DragonFly already has a very good gcc46-based compiler in lang/gnat-aux.
DragonFly users that specifically need gcc46 have been told to use
gnat-aux. There's no need to make maintenance of lang/gcc46 harder so
it's masked on DragonFly to show its intentionally unsupported.
The libraries of gcc-aux are not located on standard search paths for
the runtime linker to find. Moreover, libraries from other versions
of gcc may be and in that case rtld will link the wrong library. To
fix this, an rpath to ${PREFIX}/gcc-aux/lib will be inserted into every
dynamic binary created by gcc-aux.
Other changes include:
1) simpler and more robust detection of an existing gcc-aux compiler to
be used rather than the older bootstrap compiler.
2) Fixed FreeBSD support. FreeBSD bootstraps are available but not yet
listed due to lack of testing (however, it should work out of the box)
3) Fixed some c++ testsuite directives for dejagnu
Pkgsrc changes:
- Add a patch to track the addition of Parrot_get_cpu_type() to misc.c,
which is platform-dependent on NetBSD.
- Fix pbc_to_exec.winxed so that there are no rpath build-directory
references in installed executables. Reported upstream as issue #803.
- Adjust PLIST to match installed files.
Upstream changes:
- Core
+ Added .write_bytes and .read_bytes methods to FileHandle and Socket
PMCs.
+ Added Parrot_api_set_stdhandle, Parrot_api_new_call_object and
Parrot_api_setup_signature functions to the embedding API
+ Removed the "can" VTABLE
- Languages
+ Winxed snapshot updated to 1.9.1
- New syntax for parameters in multi
- New syntax for initalization with new
- Cast to var improved
- IMCC
+ Removed .line, .file, setline and setfile directives from IMCC
- Documentation
+ Fixed up Pod in 240 files to pass 't/codingstd/pod_description.t'.
- Tests
+ Added 'docs/pdds' and 'docs/pdds/draft' as files for
'Parrot::Test::Pod.pm' to exclude.
- Build
+ Reduced number of packages under 'lib/Parrot/Pmc2c/'.
+ Added method-level documentation to several of the remaining packages.
+ Added 'docs/pdds' and 'docs/pdds/draft' as files for
'Parrot::Test::Pod.pm' to exclude.
- Community
+ M1, a C-like language that targets M0 had a burst of development
and now has many working examples such as recursive Fibonacci and
recursive factorial : https://github.com/parrot/m1
+ Parrot bindings to LAPACK are being worked on as part of Google
Summer of Code: https://github.com/leto/parrot-lapack
ECL 12.7.1:
===========
* Bugs fixed:
- The implementation of locks and condition variables based on POSIX threads
was not safe under interrupts. It has all been reimplemented using atomic
userspace operations plus a new wait queue.
- :CDECL was not accepted as an FFI declaration due to a typo.
- REMOVE-METHOD and FIND-METHOD were not generic functions.
- MAKE-LOAD-FORM's methods for standard-object, structure-object and
condition did not signal an error).
* Visible changes:
- ECL builds with support for threads by default (where available).
- DIRECTORY no longer complains when it finds an inexistent directory
component: it simply returns NIL as the list of pathnames.
- CASE now complains when the OTHERWISE/T clause is not the last one.
- Instead of issuing an error, LOOP now only produces a STYLE-WARNING
when iteration forms appear at the wrong place, as in (LOOP WHILE ...)
followed by some assignment.
- EXT:MKDIR no longer accepts pathnames as inputs to avoid problems with
pathnames that contain name or type components.
- ENSURE-DIRECTORIES-EXIST accepts the keyword argument :MODE which is
passed to MKDIR.
- In EXT:RUN-PROGRAM the child process is delayed until the parent has created
the process structure and stored the process id in it. Formerly we had race
conditions due to the child exiting before the parent was able to call
sigwait().
- Where available, ECL now defines the constants EXT:+SIGRTMIN+ and
EXT:+SIGRTMAX+, as well as EXT:+SIGRT0+ through EXT:+RTMINn+ where n =
SIGRTMAX - SIGRTMIN Those signals can be then trapped.
- The interrupt handler for floating point exceptions does not care about
the value of EXT:*INTERRUPTS-ENABLED* or similar mechanisms because such
interrupt has to be treated as an error, not as something optional. The
same applies to other evil signals, such as SIGSEGV or SIGBUS.
- New functions (EXT:GET-INTERRUPT-HANDLER code) and
(EXT:SET-INTERRUPT-HANDLER code function-designator) allow the user to
customize how these interrupts are caught. SET-INTERRUPT-HANDLER runs an
implicit EXT:CATCH-SIGNAL.
- ECL now exports the symbols FFI:C-INT-MAX, FFI:C-INT-MIN, FFI:C-LONG-MAX,
etc, which correspond to the POSIX C constants INT_MAX, INT_MIN, LONG_MAX,
and similar ones.
- APROPOS-LIST no longer returns duplicate symbols.
- The ABORT restart is now bound on every new thread (except the main one,
where either the user or the toplevel must take care of that).
* Windows:
- ECL guesses whether the input / output / error streams are consoles. If
so, it sets up a special type of stream that copes with the deficiencies
of read()/write() and similar functions on consoles -- namely that they
may read or write a larger number of bytes than demanded because they
translate the input/output to and from the corresponding codepage.
(EXPERIMENTAL)
- ECL detects the codepage that the console is using and applies it as
the appropriate external format (with :CRLF convention).
- ECL's console stream signals EOF when Ctrl-Z is detected.
* Metaobject protocol:
- Implemented CLOS:COMPUTE-APPLICABLE-METHODS-USING-CLASSES.
- COMPUTE-APPLICABLE-METHODS and CLOS:COMPUTE-EFFECTIVE-METHOD are now
generic functions.
- Implemented and used in the core: VALIDATE-SUPERCLASSES
- UPDATE-DEPENDENT, MAP-DEPENDENTS and related functions have been fixed. They
are now invoked by REMOVE-METHOD and REINITIALIZE-INSTANCE, when acting on
generic functions, standard classes, etc.
- (SETF CLASS-NAME) is now implemented using REINITIALIZE-INSTANCE.
- ENSURE-CLASS-USING-CLASS now registers the class with
FIND-CLASS. ENSURE-CLASS relies on E-C-U-C doing that.
- EXTRACT-LAMBDA-LIST and EXTRACT-SPECIALIZER-NAMES implemented.
- CLOS:GENERIC-FUNCTION-DECLARATIONS and slot CLOS:DECLARATIONS are now
implemented (even if not used by ECL itself).
- Implemented the class CLOS:METAOBJECT
- Implemented SPECIALIZER and EQL-SPECIALIZER, together with
ADD-DIRECT-METHOD, REMOVE-DIRECT-METHOD, SPECIALIZER-DIRECT-METHODS,
SPECIALIZER-DIRECT-GENERIC-FUNCTIONS and EQL-SPECIALIZER-OBJECT. ECL now
uses these objects internally for method dispatch.
- DEFMETHOD now relies on MAKE-METHOD-LAMBDA to create the appropriate
function.
- Implemented COMPUTE-DISCRIMINATING-FUNCTION.
- ECL's discriminating functions use COMPUTE-APPLICABLE-METHODS-USING-CLASSES
on those classes in which the user may redefine or extend the
method. Elsewhere, ECL relies on the internal equivalent of
COMPUTE-APPLICABLE-METHODS, which _always_ memoizes results.
- When reinitializing a class instance, ECL would not remove the class from
its former superclasses.
- The method combination slot of a generic function is now precomputed by
using FIND-METHOD-COMBINATION in SHARED-INITIALIZE.
- METHOD-COMBINATION is now a class with slots and it is used by ECL for
computing effective methods.
- The MOP and CL classes and metaclasses do not contain any slot whose name
is exported by any of the CL or CL-USER packages.
This adds shlib version handling to rubyversion.mk, a fix to configure
(include <sys/time.h> when checking for struct timespec) and a workaround
for broken code if getgrnam_r is available.
Pkgsrc changes -- minor adaptation to installed files.
Upstream changes:
- Core
+ Most internal calls to libc exit(x) have been replaced with
Parrot_x_* API calls or PARROT_FORCE_EXIT
- Documentation
+ 'pdd31_hll.pod' made stable in 'docs/pdds/'.
+ Updated main 'README' to 'README.pod'
+ Updated various dependencies, e.g., 'lib/Parrot/Distribution.pm'.
+ Updated all 'README' files to 'README.pod' files.
+ Added 'README.pod' files to top-level directories.
- Tests
+ Update various tests to pull from new 'README.pod'
+ Updated 't/tools/install/02-install_files.t' to pull from new
'README.pod'
- Community
- Platforms
- Tools
+ pbc_merge has been fixed to deduplicate constant strings and
merge annotations segments
No security fix, but bug fix only,
Fri Jun 29 21:26:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (stack_extend): prevent ALLOCA_N, which reserves a memory
space with for restoring machine stack stored in each threads, from
optimization out. backport r34278 from the trunk.
Mon Jun 18 18:32:43 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
* backport r32609 from trunk.
* ext/openssl/ossl_hmac.c: Revert checking return type of
HMAC_Init_ex as it is not compatible with OpenSSL < 1.0.0.
Mon Jun 18 18:32:43 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
* backport r32606 from trunk.
* ext/openssl/ossl_digest.c: Check return value of EVP_DigestInit_ex.
* ext/openssl/ossl_hmac.c: Check return value of HMAC_Init_ex.
Thanks, Jared Jennings, for the patch.
[ Ruby 1.9 - Bug #4944 ] [ruby-core:37670]
Sun Jun 10 03:00:21 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (ruby_setjmp): need to save the stack after r2 (the Table
of Contents on ppc64) is saved onto the stack by getcontext().
based on <https://bugzilla.redhat.com/show_bug.cgi?id=628715>.
Bug#4411
Thu Jun 7 19:00:35 2012 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c (VpMemAlloc): Fixes a bug reported
by Drew Yao <ayao at apple.com>
Wed Jun 6 15:09:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_thread_join), ext/thread/thread.c (wake_one): adjusts
targets of rest waiting threads to join. [ruby-core:23457]
Wed Jun 6 14:44:13 2012 Kenta Murata <mrkn@mrkn.jp>
* bignum.c (rb_big2dbl), test/ruby/test_bignum.rb (test_to_f):
A negative Bignum out of Float range should be converted to -Infinity.
[ruby-core:30492] [Bug #3362]
Wed Jun 6 14:06:02 2012 Tanaka Akira <akr@fsij.org>
* lib/webrick/utils.rb: fix fcntl call.
* lib/drb/unix.rb: ditto.
Mon May 21 16:29:47 2012 Akinori MUSHA <knu@iDaemons.org>
* ext/syslog/syslog.c (mSyslog_inspect): Make sure self is a
module before calling rb_class2name().
Fri May 11 14:09:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC,
must not cast it to unsigned long, which may be shorter than
VALUE, and the result can be mere garbage.
Sat Apr 14 18:51:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* bignum.c (rb_big2str0): prevent working clone from
GC. [exerb-dev:0578]. patched by MURASE Masamitsu
<masamitsu.murase AT gmail.com> at [exerb-dev:0580]
Fri Mar 2 11:44:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (mark_dump_arg): mark destination string. patch by
Vit Ondruch. [Bug #4339]
* marshal.c (clear_dump_arg, clear_load_arg): clean up also data
tables as same as symbols tables.
Fri Mar 2 11:44:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (struct {dump,load}_arg): manage with dfree, instead
of using local variable which may be moved by context switch.
Minor fixes in documentation
Path to AWK interpreter is detected at build time (not hardcoded
/usr/bin/awk). This fixes runawk on, for example, Haiku.
Clean-ups in build system. mk-configure-0.23.0 is required.
19-July-2012
o Core
* Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed Salt)
* Fixed bug #62432 (ReflectionMethod random corrupt memory on high
concurrent)
* Fixed bug #62373 (serialize() generates wrong reference to the
object).
* Fixed bug #62357 (compile failure: (S) Arguments missing for
built-in function __memcmp)
* Fixed bug #61998 (Using traits with method aliases appears to result
in crash during execution)
* Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value
that includes a semi-colon)
* Fixed potential overflow in _php_stream_scandir (CVE-2012-2688)
o EXIF
* Fixed information leak in ext exi
o FPM
* Fixed bug #62205 (php-fpm segfaults (null passed to strstr)
* Fixed bug #62160 (Add process.priority to set nice(2) priorities)
* Fixed bug #62153 (when using unix sockets, multiples FPM instances)
* Fixed bug #62033 (php-fpm exits with status 0 on some failures to
start)
* Fixed bug #61839 (Unable to cross-compile PHP with --enable-fpm)
* Fixed bug #61835 (php-fpm is not allowed to run as root)
* Fixed bug #61295 (php-fpm should not fail with commented 'user'
* Fixed bug #61218 (FPM drops connection while receiving some binary
values in FastCGI requests)
* Fixed bug #61045 (fpm don't send error log to fastcgi clients).
(fat) for non-root start)
* Fixed bug #61026 (FPM pools can listen on the same address).
(fat) can be launched without errors)
o Iconv
* Fixed bug #55042 (Erealloc in iconv.c unsafe)
o Intl
* Fixed bug #62083 (grapheme_extract() memory leaks)
* Fixed bug #62081 (IntlDateFormatter constructor leaks memory when
called twice)
* Fixed bug #62070 (Collator::getSortKey() returns garbage)
* Fixed bug #62017 (datefmt_create with incorrectly encoded timezone
leaks pattern)
* Fixed bug #60785 (memory leak in IntlDateFormatter constructor)
* ResourceBundle constructor now accepts NULL for the first two arguments
o JSON
* Fixed bug #61359 (json_encode() calls too many reallocs)
o libxml
* Fixed bug #62266 (Custom extension segfaults during xmlParseFile
with FPM SAPI)
o Phar
* Fixed bug #62227 (Invalid phar stream path causes crash)
o Readline
* Fixed bug #62186 (readline fails to compile - void function should
not return a value)
o Reflection
* Fixed bug #62384 (Attempting to invoke a Closure more than once
causes segfault)
* Fixed bug #62202 (ReflectionParameter::getDefaultValue() memory
leaks with constant)
o Sockets
* Fixed bug #62025 (__ss_family was changed on AIX 5.3)
o SPL
* Fixed bug #62433 (Inconsistent behavior of
RecursiveDirectoryIterator to dot files)
* Fixed bug #62262 (RecursiveArrayIterator does not implement
Countable)
o XML Writer
* Fixed bug #62064 (memory leak in the XML Writer module)
o Zip
* Upgraded libzip to 0.10.
{
19-July-2012
o Zend Engine
* Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value
that includes a semi-colon)
o COM
* Fixed bug #62146 com_dotnet cannot be built shared
o Core
* Fixed potential overflow in _php_stream_scandir, CVE-2012-2688
* Fixed bug #62432 (ReflectionMethod random corrupt memory on high
concurrent)
* Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed Salt)
o Fileinfo
* Fixed magic file regex support
o FPM
* Fixed bug #61045 (fpm don't send error log to fastcgi clients)
* Fixed bug #61835 (php-fpm is not allowed to run as root)
* Fixed bug #61295 (php-fpm should not fail with commented 'user' for
non-root start)
* Fixed bug #61026 (FPM pools can listen on the same address)
* Fixed bug #62033 (php-fpm exits with status 0 on some failures to
start)
* Fixed bug #62153 (when using unix sockets, multiples FPM instances
can be launched without errors)
* Fixed bug #62160 (Add process.priority to set nice(2) priorities)
* Fixed bug #61218 (FPM drops connection while receiving some binary
values in FastCGI requests)
* Fixed bug #62205 (php-fpm segfaults (null passed to strstr))
o Intl
* Fixed bug #62083 (grapheme_extract() memory leaks)
* Fixed bug #62081 (IntlDateFormatter constructor leaks memory when
called twice)
* Fixed bug #62070 (Collator::getSortKey() returns garbage)
* Fixed bug #62017 (datefmt_create with incorrectly encoded timezone
leaks pattern)
* Fixed bug #60785 (memory leak in IntlDateFormatter constructor)
o JSON
* Reverted fix for bug #61537
o Phar
* Fixed bug #62227 (Invalid phar stream path causes crash)
o Reflection
* Fixed bug #62384 (Attempting to invoke a Closure more than once
causes segfault)
* Fixed bug #62202 (ReflectionParameter::getDefaultValue() memory
leaks with constant)
o SPL
* Fixed bug #62262 (RecursiveArrayIterator does not implement Countable)
o SQLite
* Fixed open_basedir bypass, CVE-2012-3365
o XML Write
* Fixed bug #62064 (memory leak in the XML Writer module)
o Zip
* Upgraded libzip to 0.10