You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Dave Rolsky <au...@urth.org> on 2002/07/23 19:54:14 UTC

ANNOUNCE: Mason 1.12

This release has a number of important improvements and it is highly
recommended that anyone use Mason 1.10 or 1.11 upgrade immediately in
order to fix a nasty memory leak in ApacheHandler.  1.12 is also quite a
bit faster than previous 1.1x versions.

Those folks still using 1.0x or earlier should upgrade if they want to
play with new features, but should not that there are a number of
backwards incompatibilities in the newest versions, so if you have working
code in production that you don't want to change, don't upgrade!

With that said, here are the changes for 1.12:

1.12

[ ENHANCEMENTS ]

- Various optimizations have been added to this release in order to
address the fact that Mason 1.11 is quite a bit slower than 1.05.  One
major factor was optimizing Params::Validate and Class::Container, so
for that reason this version of Mason requires Params::Validate 0.24
and Class::Container 0.07.  With these modules installed, this release
shows improvements of up to 50-60% in benchmarks that stress Mason's
weaknesses, with other benchmarks showing up to a 100% improvement.
- Made subclassing CGIHandler more useful by breaking out its arg
processing into a request_args method, just like ApacheHandler.
- Added alter_superclass method to Request class, for use by Request
subclasses.  See the HTML::Mason::Subclassing document for details.

[ BUG FIXES ]

- Fix HTML generated for error messages so that tags balance out.
Unbalanced table tags caused this page to not display properly with
Netscape 4.x.
- Fix nasty memory leaks in ApacheHandler.




Re: ANNOUNCE: Mason 1.12

Posted by David Wheeler <da...@wheeler.net>.
On Saturday, August 3, 2002, at 03:44  AM, Lupe Christoph wrote:

> Larry was anticipating a long line of Perl 5 versions... (Yes, I know
> $] is deprecated. But $^V does not print easily. And vector version
> numbers are not compatible with 5.005 and earlier, so CPAN modules
> avoid them.)

Not only that, but C<make dist> couldn't pick up v-numbers -- at least not 
in 5.6.x. Not sure about 5.8.0.

David

--
David Wheeler                                     AIM: dwTheory
david@wheeler.net                                 ICQ: 15726394
http://david.wheeler.net/                      Yahoo!: dew7e
                                                Jabber: Theory@jabber.org


Re: ANNOUNCE: Mason 1.12

Posted by Lupe Christoph <lu...@lupe-christoph.de>.
On Thursday, 2002-08-01 at 18:06:29 -0400, Perrin Harkins wrote:
> Dave Rolsky wrote:
> >It can, but I'm not sure what to update it to.  Frankly, I think CPAN is
> >more at fault here given that _many_ people use CVS for this sort of stuff
> >and this quite normal when using CVS.

It's not CPAN, it's Perl. Perl has been using decimal-fraction
version numbers for a looong time.

> This is a common complaint about CPAN.pm, but it's kept this way so far 
> because of performance issues with doing fancier version parsing.  I 
> would suggest following David Wheeler's advice and setting version 
> manually, so that you can just make 1.69 or something.

It would also break many modules on CPAN which rely on fractional
version numbers. People use 2.10 and then 2.101 indicating a minor
patch.

> Incidentally, all hell is going to break loose when Perl 5.10 gets 
> released.  Maybe that will force a change in CPAN.pm.

Huh? How so?

perl -e 'print $], "\n";'
5.006001

Larry was anticipating a long line of Perl 5 versions... (Yes, I know
$] is deprecated. But $^V does not print easily. And vector version
numbers are not compatible with 5.005 and earlier, so CPAN modules
avoid them.)

Luipe Christoph
-- 
| lupe@lupe-christoph.de       |           http://www.lupe-christoph.de/ |
| I have challenged the entire ISO-9000 quality assurance team to a      |
| Bat-Leth contest on the holodeck. They will not concern us again.      |
| http://public.logica.com/~stepneys/joke/klingon.htm                    |

Re: ANNOUNCE: Mason 1.12

Posted by Perrin Harkins <pe...@elem.com>.
Dave Rolsky wrote:
> It can, but I'm not sure what to update it to.  Frankly, I think CPAN is
> more at fault here given that _many_ people use CVS for this sort of stuff
> and this quite normal when using CVS.

This is a common complaint about CPAN.pm, but it's kept this way so far 
because of performance issues with doing fancier version parsing.  I 
would suggest following David Wheeler's advice and setting version 
manually, so that you can just make 1.69 or something.

Incidentally, all hell is going to break loose when Perl 5.10 gets 
released.  Maybe that will force a change in CPAN.pm.

- Perrin


RE: [Mason-devel] Re: ANNOUNCE: Mason 1.12

Posted by Jonathan Swartz <sw...@pobox.com>.
> >>>>> "DR" == Dave Rolsky <au...@urth.org> writes:
>
> DR> See, that's the problem.  We're up in the hundreds.  Maybe we
> should've
> DR> started formatting these with '%04d' way back when but that certainly
> DR> wouldn't help now.
>
> How 'bout removing Mason 1.05 from CPAN?  Or are there too many apps
> that require that specific version?
>
> I know RT had to be updated to work with the latest releases, so for a
> while it required 1.05.

That won't be an option for a long while. There are a number of features
that have not yet been ported to 1.1x.


Re: ANNOUNCE: Mason 1.12

Posted by Vivek Khera <kh...@kcilink.com>.
>>>>> "DR" == Dave Rolsky <au...@urth.org> writes:

DR> See, that's the problem.  We're up in the hundreds.  Maybe we should've
DR> started formatting these with '%04d' way back when but that certainly
DR> wouldn't help now.

How 'bout removing Mason 1.05 from CPAN?  Or are there too many apps
that require that specific version?

I know RT had to be updated to work with the latest releases, so for a
while it required 1.05.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D.                Khera Communications, Inc.
Internet: khera@kciLink.com       Rockville, MD       +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera   http://www.khera.org/~vivek/

[OT] Re: ANNOUNCE: Mason 1.12

Posted by David Wheeler <da...@wheeler.net>.
On Thursday, August 1, 2002, at 02:11  PM, Dave Rolsky wrote:

> See, that's the problem.  We're up in the hundreds.  Maybe we should've
> started formatting these with '%04d' way back when but that certainly
> wouldn't help now.

I've given up on letting CVS set $VERSION, for just this reason. It's a 
major PITA. I set $VERSION manually.

> Or we could just use the CVS revision as an integer, not a float.  That is
> weirder in some ways, but will just work right forever.

Hm, not sure I understand how this would work.

David

--
David Wheeler                                     AIM: dwTheory
david@wheeler.net                                 ICQ: 15726394
http://david.wheeler.net/                      Yahoo!: dew7e
                                                Jabber: Theory@jabber.org


Re: ANNOUNCE: Mason 1.12

Posted by Dave Rolsky <au...@urth.org>.
On Thu, 1 Aug 2002, David Wheeler wrote:

> No, CVS is kind-of brain-dead about this. I suggest you use sprintf to
> properly format the version number with appropriate number of 0s.
>
> Although, with those version numbers, it might be a little late.

See, that's the problem.  We're up in the hundreds.  Maybe we should've
started formatting these with '%04d' way back when but that certainly
wouldn't help now.

We _could_ just jack up the first number, but that'd be a bit odd given
that Mason itself is only at 1.1201.

Or we could just use the CVS revision as an integer, not a float.  That is
weirder in some ways, but will just work right forever.


-dave

/*==================
www.urth.org
we await the New Sun
==================*/


Re: ANNOUNCE: Mason 1.12

Posted by David Wheeler <da...@wheeler.net>.
On Thursday, August 1, 2002, at 01:43  PM, Dave Rolsky wrote:

> It can, but I'm not sure what to update it to.  Frankly, I think CPAN is
> more at fault here given that _many_ people use CVS for this sort of stuff
> and this quite normal when using CVS.

No, CVS is kind-of brain-dead about this. I suggest you use sprintf to 
properly format the version number with appropriate number of 0s.

Although, with those version numbers, it might be a little late.

David

--
David Wheeler                                     AIM: dwTheory
david@wheeler.net                                 ICQ: 15726394
http://david.wheeler.net/                      Yahoo!: dew7e
                                                Jabber: Theory@jabber.org


RE: [Mason-devel] Re: ANNOUNCE: Mason 1.12

Posted by Ian Robertson <ia...@eziba.com>.
If you ax version numbers now, what happens if someone who already has
a versioned copy of ApacheHandler installed asks CPAN to upgrade it?
Will it conclude that it already has the most up to date version?  For
that matter, if another CPAN module simply lists H::M::AH as a
dependency (as opposed to H::M), which version of Html-Mason will CPAN
grab?  My guess would be the one with the highest (defined) version of
Apache::Handler.

        - Ian


>>>>> "JS" == Jonathan Swartz <sw...@pobox.com> writes:

 >> I think we should just get rid of the version number in
 >> ApacheHandler.  I hate it when there's more than one version
 >> number per distribution.
 >> 
 >> -Ken

 JS> I'd be up for that too. Why *do* we have version numbers in all the
 JS> individual modules?


 JS> -------------------------------------------------------
 JS> This sf.net email is sponsored by:ThinkGeek
 JS> Welcome to geek heaven.
 JS> http://thinkgeek.com/sf
 JS> _______________________________________________
 JS> Mason-devel mailing list
 JS> Mason-devel@lists.sourceforge.net
 JS> https://lists.sourceforge.net/lists/listinfo/mason-devel

RE: [Mason-devel] Re: ANNOUNCE: Mason 1.12

Posted by Jonathan Swartz <sw...@pobox.com>.
> I think we should just get rid of the version number in
> ApacheHandler.  I hate it when there's more than one version
> number per distribution.
>
>   -Ken

I'd be up for that too. Why *do* we have version numbers in all the
individual modules?

Re: [Mason-devel] Re: ANNOUNCE: Mason 1.12

Posted by David Wheeler <da...@wheeler.net>.
On Wednesday, August 7, 2002, at 07:24  PM, Ken Williams wrote:

> I think we should just get rid of the version number in ApacheHandler.  I 
> hate it when there's more than one version number per distribution.

Well, it depends on the nature of the distribution, but I would agree that 
Mason is one of those that probably ought to have but one version number.

David

--
David Wheeler                                     AIM: dwTheory
david@wheeler.net                                 ICQ: 15726394
http://david.wheeler.net/                      Yahoo!: dew7e
                                                Jabber: Theory@jabber.org


Re: [Mason-devel] Re: ANNOUNCE: Mason 1.12

Posted by Ken Williams <ke...@mathforum.org>.
On Friday, August 2, 2002, at 06:43 AM, Dave Rolsky wrote:

> On 1 Aug 2002, Vivek Khera wrote:
>
>> Cool... I just updated one system from 1.05 to 1.1201 and cpan says
>> that HTML::Mason::ApacheHandler is now older than the version in 1.05:
>>
>> Package namespace         installed    latest  in CPAN file
>> HTML::Mason::ApacheHandler     1.242      1.68  
>> J/JS/JSWARTZ/HTML-Mason-1.05.tar.gz
>>
>> ...
>>
>> Can the version number for ApacheHandler get fixed up so CPAN doesn't
>> think it is old?
>
> It can, but I'm not sure what to update it to.  Frankly, I 
> think CPAN is
> more at fault here given that _many_ people use CVS for this 
> sort of stuff
> and this quite normal when using CVS.
>
> But we'll come up with something.
>

I think we should just get rid of the version number in 
ApacheHandler.  I hate it when there's more than one version 
number per distribution.

  -Ken


Re: ANNOUNCE: Mason 1.12

Posted by Dave Rolsky <au...@urth.org>.
On 1 Aug 2002, Vivek Khera wrote:

> Cool... I just updated one system from 1.05 to 1.1201 and cpan says
> that HTML::Mason::ApacheHandler is now older than the version in 1.05:
>
> Package namespace         installed    latest  in CPAN file
> HTML::Mason::ApacheHandler     1.242      1.68  J/JS/JSWARTZ/HTML-Mason-1.05.tar.gz
>
> ...
>
> Can the version number for ApacheHandler get fixed up so CPAN doesn't
> think it is old?

It can, but I'm not sure what to update it to.  Frankly, I think CPAN is
more at fault here given that _many_ people use CVS for this sort of stuff
and this quite normal when using CVS.

But we'll come up with something.


-dave

/*==================
www.urth.org
we await the New Sun
==================*/


Re: ANNOUNCE: Mason 1.12

Posted by Vivek Khera <kh...@kcilink.com>.
>>>>> "DR" == Dave Rolsky <au...@urth.org> writes:

DR> This release has a number of important improvements and it is highly
DR> recommended that anyone use Mason 1.10 or 1.11 upgrade immediately in
DR> order to fix a nasty memory leak in ApacheHandler.  1.12 is also quite a
DR> bit faster than previous 1.1x versions.

Cool... I just updated one system from 1.05 to 1.1201 and cpan says
that HTML::Mason::ApacheHandler is now older than the version in 1.05:

Package namespace         installed    latest  in CPAN file
HTML::Mason::ApacheHandler     1.242      1.68  J/JS/JSWARTZ/HTML-Mason-1.05.tar.gz
Template                       2.07      2.08  A/AB/ABW/Template-Toolkit-2.08.tar.gz

but Mason is latest version:

Module id = HTML::Mason
    DESCRIPTION  Build sites from modular Perl/HTML blocks
    CPAN_USERID  DROLSKY (Dave Rolsky <au...@urth.org>)
    CPAN_VERSION 1.1201
    CPAN_FILE    D/DR/DROLSKY/HTML-Mason-1.1201.tar.gz
    DSLI_STATUS  MdpO (mature,developer,perl,object-oriented)
    MANPAGE      Mason - High-performance, dynamic web site authoring system
    INST_FILE    /usr/local/lib/perl5/site_perl/5.6.1/HTML/Mason.pm
    INST_VERSION 1.1201


Can the version number for ApacheHandler get fixed up so CPAN doesn't
think it is old?

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D.                Khera Communications, Inc.
Internet: khera@kciLink.com       Rockville, MD       +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera   http://www.khera.org/~vivek/

Re: PerlSendHeader and $r->header_out

Posted by Stas Bekman <st...@stason.org>.
Rafiq Ismail (ADMIN) wrote:
> Hi People With Functioning Brain Cells,
> 
> I'm having a brief period of grief, which I'm sure I've been through
> before.
> 
> I have this situation where I set a cookie using:
> $r->header_out('Set-Cookie'=>$cookie);
> 
> Now this is all fine, however I'm having a major problem in getting my
> header into the right place.

Have you tried using Apache::Cookie or CGI::Cookie? If these work for 
you, either stick to them or look at how their work.



__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


PerlSendHeader and $r->header_out

Posted by "Rafiq Ismail (ADMIN)" <ra...@joshua.dreamthought.com>.
Hi People With Functioning Brain Cells,

I'm having a brief period of grief, which I'm sure I've been through
before.

I have this situation where I set a cookie using:
$r->header_out('Set-Cookie'=>$cookie);

Now this is all fine, however I'm having a major problem in getting my
header into the right place.

If I call $r->send_http_header right after my $r->header_out(set_stuff)
directive, and then call $r->print("page contents"), I get:

page_contents
HTTP_HEADERS DISPLAYED HERE (INCLUDING COOKIE HEADER)

Now, I experimented with PerlSendHeader being set to On, whilst disabling
the call to $r->send_http_header, yet it then appears to give me a header
which doesn't include the cookie header:

HTTP/1.1 200 OK
Date: Thu, 25 Jul 2002 13:01:12 GMT
Server: Apache/1.3.20 (Linux/SuSE) PHP/4.0.6 mod_perl/1.26
Transfer-Encoding: chunked
Content-Type: text/html

Any idea what is going on?

I'd like to just send_http_header with the headers appearing on top of my
page.  It appears to do things in the wrong order.  There is no
duplication of headers either.

If anyone can help and would fancy flying me out, I'll even buy you a
beer. :)

My content handler returns the result of another method called within the
same module.  This method is passed the request object, which in turn it
uses to send the headers and print the page.  This seems 'sensible' to me;
so why is it not working??

Many Thanks,

Fiq




========================================================
       "We're so wonderfully wonderfully wonderfully
	Wonderfully pretty
	Oh you know that I'd do anything for you
	We should have each other to tea, huh?
	We should have each other with cream
	Then curl up by the fire
	And sleep for awhile
	It's the grooviest thing
	It's the perfect dream"
		- The Cure, "Love Cats."



Re: ANNOUNCE: Mason 1.12

Posted by Josh Chamas <jo...@chamas.com>.
Dave Rolsky wrote:
> This release has a number of important improvements and it is highly
> recommended that anyone use Mason 1.10 or 1.11 upgrade immediately in
> order to fix a nasty memory leak in ApacheHandler.  1.12 is also quite a
> bit faster than previous 1.1x versions.
> 

Some quick benchmarks show the good work that was done...

Test Name                           Test File Hits/sec  # of Hits Time(sec) secs/Hit  Bytes/Hit Mem(KB)
---------                           --------- --------- --------- --------- --------- --------- ---------
HTML::Mason v1.11 2000              h2000.mas   16.0       320     20.03    0.062584  28785     58044
HTML::Mason v1.11                   hello.mas   53.8      1077     20.01    0.018578  196       44580

Test Name                           Test File Hits/sec  # of Hits Time(sec) secs/Hit  Bytes/Hit Mem(KB)
---------                           --------- --------- --------- --------- --------- --------- ---------
HTML::Mason v1.12 2000              h2000.mas   28.4       568     20.02    0.035252  28785     57316
HTML::Mason v1.12                   hello.mas  114.2      2299     20.14    0.008759  196       40480

I'll have the benchmarks at http://chamas.com/bench/ updated
shortly with new numbers for Mason.  Good job.

--Josh
________________________________________________________________
Josh Chamas, Founder                   phone:714-625-4051
Chamas Enterprises Inc.                http://www.chamas.com
NodeWorks Link Checking                http://www.nodeworks.com