Pike 7.8.346 beta

View: New views
14 Messages — Rating Filter:   Alert me  

Pike 7.8.346 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

New build that I hope to release as a stable towards the end of the
week:

    http://pike.ida.liu.se/download/pub/pike/beta/7.8.346/

Windows build avilable.


Changes since Pike 7.8.316 (second stable 7.8 release):
-------------------------------------------------------

General
-------

o ADT.Heap
  The compat functions top() and size() are now marked as deprecated.


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

o Image.Image

  Added support for sending Color objects to the color() function.

o Sql.Sql

  Added support for fetching result sets as JSON-encoded strings.

o Calendar

  Updated timezone data to 2009j.

o Added "pike -x httpserver" that implements a minimal HTTP-server
  exporting the current directory.


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

o Lowered startup time by extending encode_value() and MasterCodec so
  that master.pike can be precompiled.

o Lowered startup time by reducing the number of MEMSET() calls done
  on startup.

o Allow threads while calling SWL_GL_SwapBuffers.

o Added optimization of has_value() and search() for single-character strings.

o Added optimization when combining two arrays where the second array
  contains a single item.


Bug fixes
---------

o Fixed casting of floats to strings to again work more like in Pike
  7.6 and earlier: The string will always contain either a "." or an
  "e" to signify that it is a float, and it will no longer display so
  many digits that the binary/decimal conversion errors become
  visible.

o Protocols.HTTP.Server.HeaderParser will now discard parts of a
  header value if the header value contains a newline (like "Host:
  google.com\n.hax.net\r\n") and headers without colon.

o file_open_socket() now attepts to set SO_REUSEPORT on the socket.
  Potentially fixes issues on FreeBSD 7.x where ports aren't reused.

o Calendar.TimeRanges now knows that `+() and `-() can get any number
  of arguments.

o The experimental extended ZFS support is disabled since it pulled in
  unwanted dependencies.

o Fixed propagation of changed module directories for joinnodes by
  zapping the joinnode cache.

o Fixed memory leak in Image.WBF.

o Fixed potential NULL-deref in Image.XWD.

o Fixed potential NULL-deref in Image.PNG.


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

o Nettle 2.0 is now supported.

Pike 7.8.346 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Solaris build now also available.

RE: Pike 7.8.346 beta

by Arjan van Staalduijnen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I noticed the optimizations for the single-element array and has_value()
en search() in the list of optimizations (Nice!). I noticed has_suffix()
and has_prefix() were not mentioned. I guess those could have a similar
optimization, but it'd be less worthwhile, because those doesn't have to
cycle through many characters (and likely therefor have a negative
effect in performance even?)

One other candidate that I was wondering about, is String.count(). (In
pike 7.4) it doesn't seem to accept a character for the second
parameter, but I wonder if it might be possible, and worthwhile
optimizing there as well?


Regards,

Arjan

Pike 7.8.346 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It's looking resonably good for a release. The changes that has gone
in the last few days don't look like they must be included, so my aim
is to release this beta as the stable this weekend.

Re: Pike 7.8.346 beta

by Martin Bähr :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

import GLU; fails with 7.8.346, 316 and 116 on my machine
(so it's not a regression at least),
but not with 7.8.201 from pikefarm on another machine

it might be an issue with foresight linux, but i don't see why, since GLU.pmod
is a pike script and i don't see any errors trying to load GLU.

somehow this error also affects the parsing of code that follows.
this parsing wierdness also happens with all pike 7.8 versions i tested
it also occurs when there is more code between the import line and the function.

============
import GLU;
void special(int k, int x, int y) {
        switch (k) {
        default:
                return;
        }
}

void main()
{
  special(1,2,3);
}

------------
test.mini:1:Module is neither mapping nor object
test.mini:5:Must return a value for a non-void function.
test.mini:5:Expected: mixed.
test.mini:5:Got     : void.
Pike: Failed to compile script.


Re: Pike 7.8.346 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Works here (Debian/testing, amd64):

zhuwuneng:/tmp> pike --version
Pike v7.8 release 346 Copyright © 1994-2008 Linköping University
Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are
welcome to redistribute it under certain conditions; read the files
COPYING and COPYRIGHT in the Pike distribution for more details.
zhuwuneng:/tmp> cat foo.pike
import GLU;
void special(int k, int x, int y) {
        switch (k) {
        default:
                return;
        }
}

void main()
{
  special(1,2,3);
}
zhuwuneng:/tmp> pike foo.pike
zhuwuneng:/tmp> uname -a
Linux zhuwuneng 2.6.30-1-amd64 #1 SMP Sat Aug 15 18:09:19 UTC 2009 x86_64 GNU/Linux
zhuwuneng:/tmp>


By the way, shouldn't the copyright be updated to contain the current
year?

Re: Pike 7.8.346 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

See also: tools/release_checks.pike

Re: Pike 7.8.346 beta

by Martin Bähr :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Release checks for Pike v7.8 release 346

Consider increasing the size of the builtin_constants mapping to 315
entries (currently 300/287).
The year in the copyright message in master.pike.in
needs an update.
The year in the copyright message in install.pike
needs an update.
The year in the copyright message in unbug
needs an update.
lib/modules/Protocols.pmod/IPv6.pmod is missing a #pike directive.
lib/modules/Sql.pmod/null.pike is missing a #pike directive.

not sure how that relates to the problem...

greetings, martin.

Re: Pike 7.8.346 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

This only relates to my a propos that the year in the copyright
message given by "pike --version" ought to be updated.

Pike 7.8.350 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

So, with some minor modifications*, none worthy of changelog entries:

    http://pike.ida.liu.se/download/pub/pike/beta/7.8.350/

Unless I hear protests this will go out as new stable monday evening.


* http://pike.ida.liu.se/development/cvs/pike.xml?v=7.8&between=2009-09-13%2013:08:00&and=2009-09-19%2010:31:55

Pike 7.8.350 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

A nice and round number.  Binaries for Solaris and Linux (32bit)
uploaded.

Re: Pike 7.8.350 beta

by Martin Bähr :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Sep 20, 2009 at 10:35:02PM +0000, Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum wrote:
> A nice and round number.  Binaries for Solaris and Linux (32bit)
> uploaded.

foresight linux packages now updated at pike=embee.rpath.org@fl:2-devel

greetings, martin.

Pike 7.8.350 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>So, with some minor modifications*, none worthy of changelog entries:
>
>    http://pike.ida.liu.se/download/pub/pike/beta/7.8.350/

I just fixed a fatal triggered by sprintf("%O") on mappings under some
circumstances. There also seems to be an issue with the machine-code
generation on sparc in combination with gcc 4.3.4.

Pike 7.8.352 beta

by Martin Stjernholm, Roxen IS @ Pike developers forum :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>>So, with some minor modifications*, none worthy of changelog entries:
>>
>>    http://pike.ida.liu.se/download/pub/pike/beta/7.8.350/
>
>I just fixed a fatal triggered by sprintf("%O") on mappings under some
>circumstances.

That's bad, and good that it's fixed. Are those circumstances things
that has happened in the real world? Is it a regression?

>There also seems to be an issue with the machine-code
>generation on sparc in combination with gcc 4.3.4.

Annoying, but less of a massive failure.


Now, 7.8.350 really was released yesterday. I was just to lazy to
convert the changes to XML and write the announcement. So lets have
another release tomorrow:

http://pike.ida.liu.se/download/pub/pike/beta/7.8.352/