Changes since Pike 7.8.352 (third 7.8 release):
----------------------------------------------------------------------

Extensions and New Functions
----------------------------

o Added module Search. 

o has_prefix now works on objects.

o Standards.JSON

  New module for encoding and decoding JSON data. Implemented in C.

o Protocols.HTTP.Session will no longer override an existing
  content-type header in async_do_method_url.

o Protocols.HTTP

  Allow directly specifying the body of a POST request (needed for the Google
  Apps API).

o Updated timezone data to tzdata2010l.

o String.normalize_space

  New and efficient C implementation; sanitises whitespace, even in wide
  strings.

o String.trim_all_whites

  Extended to the entire range of Unicode white spaces. (And is faster.)

o Tools.PV and pike -x pv now works with GTK2 as well as GTK.

o Integer constants exported by modules can now be used in cpp expressions.

o Modules/programs that have the constant "dont_dump_program" will not
  be dumped on installation. This is used to prevent dumping of
  programs that check for external dependencies at compile time such
  as the MySQL module.

o Added Thread.Queue.peek_array.

o Fixed stack overrun bug in Nettle.CBC and Nettle.Proxy. This is not
  belived to be a security issue.

o Added System.getloadavg() on platforms that support the getloadavg() call.

o SSL

  Added support for AES to SSL3, and fixed bug that prevented some
  handshake failure alers to be sent to the client.

o ADT.Heap->values and ->num_values can now be overloaded.

Optimizations
-------------

o MIME should now use 1/3 less memory when decoding big messages.

o Improved performance of Process.run.

o Nettle.hash

  Disallow threads during hashing of small strings (current threshold is
  1 MB).  This change improves ApacheBench numbers ~20% for a Roxen
  benchmark on a quad-core Core i5.


Deprecations
------------

o The libpq based old Postgres driver is now deprecated.  The new pgsql
  driver is faster, better tested, more stable, maintained, has more
  features, does not depend on external libraries and is less filling.


Incompatible changes
--------------------

o Signal handlers in GTK2 do no longer get their arguments in the
  form of an array.  The prototype for a signal handler which was
  previously e.g.

    int query_tooltip(GTK2.Widget w, array(mixed) params, mixed callback_arg)

  now becomes

    int query_tooltip(GTK2.Widget w, int x, int y, int keyboard_tooltip,
                      GTK2.GObject tooltip, mixed callback_arg)


Bug fixes
---------

o Fixed backtraces when Protocols.HTTP.Query objects where garbage
  collected. [bug 5730]

o Fixed problem with Calendar.month_from_yday() when applied on week
  53. [bug 5303]

o Fixed leak in the PNG decoder for images with tRNS chunk.

o System.normalize_path no long fails for files with 8-bit chars in
  their names.

o Support undocumented OS behaviour on out-of-band data returning
  EOPNOTSUPP and ECONNRESET when a stream is half closed.
  The undocumented behaviour is found on (at least) 2.6.x Linux
  and FreeBSD 7.x and 8.x.

o Use nanosleep() when available instead of poll or select hacks for
  the Pike-level sleep() function.

o Fixed dangling cache reference in prepared statements when using CREATE
  statements via Sql.pgsql.

o Fixed broken (autore)connect logic in Sql.pgsql.

o Improved widestring support for Parser.Tabular.

o Fixed segfault in combine_path_nt on windows when the first char
  of an appended path is wide.

o Fixed fatal error in the constant expression evaluator of the
  compiler for certain code.

o Fixed a problem in "pike -x module" that prevented auto tools from
  running in the correct directory.

o Fixed memory leak on out of memory in Mysql.fetch_json_result().

o Fixed locking problem in Mysql.

o Fixed NULL-deref for compilation errors in range expressions.

o Fixes a segfault occuring if exit() is used from a thread when
  cleanup-on-exit is compiled in.

o Fixed so than an existing content-type is not overriden in
  async_do_method_url.

o Fixed issue where GTK objects weren't destroyed properly.
  http://pike.ida.liu.se/docs/tutorial/hello/window.xml now
  works again.

o Fixed several issues related to lables on the X and Y axises 
  and the calculation of xmaxvalue for the bars/line/linear case 
  in Graphics.Graph.

o Fixed encoding/decoding bug in "pike -x httpserver" that prevented
  files with space in the name for being accessable.

o Fixed bug that prevented literal zero to be considered a constant.


Building and installing
-----------------------

o Fixed som library searchpath issues.

o Some potential fixes for --enable-pikelib mode on platforms had
  problems with the final linking.

Reply via email to