pike.git / CHANGES

version» Context lines:

pike.git/CHANGES:79:    The return value from catch blocks that exit normally has been    changed from a normal zero (i.e. zero_type 0) to UNDEFINED (i.e.    zero_type 1).      o SSL    The Pike SSL implementation now supports TLS 1.0. Also the LDAP    protocol and the methods in HTTP.Query now support secure transport    over SSL/TLS.      o Better predefine handling -  It is now possible to change the Pike predefines without forking a -  new Pike process. Use the master function add_predefine() and -  remove_predefine() to add and remove defines. +  It is now possible to change the predefined cpp() macros without +  forking a new Pike process. Use the master functions add_predefine() +  and remove_predefine() to add and remove defines.         Language additions:   -------------------      o foreach(X; Y; Z)    The foreach statement has been extended to allow iterations over    mappings, multisets and any object that implements the iterator    interface (see below). To make it possible to use this    conveniently, a new syntax has been added to get both the index
pike.git/CHANGES:132:       The built-in data types also have iterator classes with this    interface. They are found as Array.Iterator, Mapping.Iterator, etc    and can be used to iterate over these data types in some custom    fashion. This is especially useful for mappings and multisets,    which cannot be iterated over directly in any other way. For    example, to get some arbitrary index in a mapping m:       mixed any_index = Mapping.Iterator(m)->index();    -  Other available iterators includes the file line iterator, +  Other available iterators include the file line iterator,    available from Stdio.File through the method line_iterator(), and    the split iterator that iterates over the fragments of a splitted    string, available as String.SplitIterator.      o Automap    To perform per-element operations on arrays, there is now a convenience    syntax for map(), that can make code more readable in some situations.    Summing up two arrays element by element using automap looks like this:       a[*] + b[*]; // the result has as many elements as the shortest array.
pike.git/CHANGES:267:    (This feature has been added to later 7.2 releases too.)      o Constant objects    An object can now be constant, allowing for better performance    and better dumping. Used for example with Gmp.Bignum, Math.Matrix    and Image.Color.      o Increased weakness granularity    Instead of just declaring a mapping as weak, to avoid its    references to be counted during garbage collection, it is now -  possible to declare only the indices or values as weak. To this -  end set_weak_flag() now takes a second argument to define the kind -  of weakness its first argument should have; Pike.WEAK, +  possible to declare only the indices or only the values as weak. +  To this end set_weak_flag() now takes a second argument to define +  the kind of weakness its first argument should have; Pike.WEAK,    Pike.WEAK_VALUES or Pike.WEAK_INDICES. No second argument implies    Pike.WEAK, which is both Pike.WEAK_VALUES and Pike.WEAK_INDICES.         New modules / classes / methods added:   --------------------------------------      o ADT.History    ADT implementation of a "leaking stack". Hilfe example:    > object h=ADT.History(3);
pike.git/CHANGES:312:    > r->find_shortest_path(1,5);    (5) Result: ({ /* 4 elements */    1,    2,    3,    5    })      o Array    The array module has quite a few new and handy methods. -  common_prefix() finds the longest common prefix in an array of -  arrays. count() counts the number of occurences of an element in -  an array. greedy_diff() is a greedy version of the diff() +  common_prefix() finds the longest common prefix of the arrays in +  an array of arrays. count() counts the number of occurences of an +  element in an array. greedy_diff() is a greedy version of the diff()    algorithm. oid_sort_func() is an ordering function for    sort_array() that sorts SNMP OID values correctly. arrayify() is a -  simple helper function that makes arrays out of non arrays. +  simple helper function that makes arrays out of non-arrays.    uniq2(), unlike uniq(), works as the UNIX uniq command. Finally -  sum() sums the elements in an array using +. +  sum() sums the elements of an array using +.      o Audio.Codec and Audio.Format    Contain decoders/encoders and format parsers for audio using    Ffmpeg library. Currently WAV and MP3.    Note: The API remains marked "unstable".      o Crypto.md4    Hash used for NT Lanmanager passwords.      o Crypto.crypt_md5
pike.git/CHANGES:887:   ----------------------------      o Some global symbols have been renamed to avoid name clashes.    sp -> Pike_sp    fp -> Pike_fp    fatal -> Pike_fatal    empty_string -> empty_pike_string      o C-module symbols not available from other modules.    To avoid clashes between modules the symbols of dynamically loaded -  modules are now no longer available to each other. This relied on -  a predefined load order of dynamic modules to work, so any module -  that used this could have crashed unpredictably during start up. +  modules are now no longer available to each other. Modules that +  used this relied on a predefined load order of dynamic modules to +  work, so any such module could have failed to load unpredictedly.      o Pike valgrinded    Pike has been the subject to some Valgrind scrutiny. Some specific    Valgrind enhancements have been made to Pike to improve markup of    forbidden memory areas. While all Valgrind issues are not yet    resolved, partially due to Valgrind breakage, our confidence in    the quality of Pike has been reassured.      o Some gdb helpers.    If Pike is compiled with --with-rtldebug there's a function