Changes since Pike 7.4: |
---------------------------------------------------------------------- |
|
New/improved functionality: |
--------------------------- |
|
o rsif |
rsif can now work recursively in a file structure if given the |
flag -r or --recursive. Example: |
pike -x rsif -r 7.4 7.6 |
|
o The automatic garbage collection strategy is configurable |
The garbage collector can be configured to take both the amount of |
garbage and the cpu time spent in the gc into account. Automatic |
gc runs can also be disabled in critical regions. See the function |
Pike.gc_parameters. |
|
o sort() is stable |
Unlike previous releases, sort() will keep the original order |
between elements that are equal. This was not implemented as a |
separate function since it could be done with virtually no extra |
overhead. |
|
o sort() is portable |
Sort is now locale and platform independent. In other words, |
strings are now compared only according to the unicode value of |
every character. |
|
o Reworked codec |
The codec for serialization of Pike data types has been updated |
and has a significally improved successrate at encoding modules. |
|
o Less magic hacks |
Several Pike modules have been cleaned up from old hacks and |
workarounds for problems which now have proper solutions. This |
should improve size, performance, dumpability and readability |
of the affected code. In addition lots of internal types in Pike |
have been tightened up and several more files now use the pragma |
strict_types, which has resulted in some additional bugfixes. |
|
o INT64 |
On 64 bit architechtures Pike will now use full 64 bits integer |
before resorting to Gmp.mpz objects for large numbers. |
|
o IPv6 |
|
|
Language additions: |
------------------- |
|
|
New modules / classes / methods added: |
-------------------------------------- |
|
o trace() can trace all threads |
The configure option --without-thread-trace has been removed, but |
instead the trace() function has been extended to make it possible |
to set the trace level in all threads simultaneously. |
|
o Regexp.PCRE added to give libpcre support. |
Are you a closet-perlet? For those who missed the richer flora of |
regexp syntax that Perl supports, the Perl Compatible Regular |
Expression module is the answer. If you compile libpcre with UTF-8 |
support you will also get transparent wide string support. Several |
convenience functions are also added to the Regexp module to |
enable easier access to regular expressions. |
|
o Crypto/Nettle |
The crypto module has been almost completely rewritten and now |
uses libnettle as backend instead of the built int crypto |
algorithms that Pike had before. This will lead to more active |
development and optimization. The most common hash and cipher |
methods are already written in assembler for several platforms. As |
an example SHA1 is 40% faster than before. |
|
o _ADT |
o ADT.Struct |
o Debug.Wrapper |
o Geography RT38 |
o Int |
o Pike.Security |
o Protocols.HTTP.Session |
o Tools.Shoot/Standalone.benchmark |
o Standalone.cgrep |
o Standalone.dump |
o Image.NEO |
o Bz2 |
o Process.Process |
|
Optimizations: |
-------------- |
|
o Instantiation and destruction of pike-classes is now significantly faster. |
|
o Handling of bignums has been optimized, especially conversion |
to/from normal integers. |
|
|
Compatibility changes: |
---------------------- |
|
|
Compatibility changes without backward compatibility: |
----------------------------------------------------- |
|
|
C level/development changes: |
---------------------------- |
|
|
Bugs fixed: |
----------- |
|
|
Uncategorized misc changes: |
--------------------------- |
|