Apache-ASP
view release on metacpan or search on metacpan
site/changes.html view on Meta::CPAN
<td bgcolor=white ><font face="verdana,helvetica" size=-1><b><nobr><font color=#993399>CHANGES</font></nobr></b></font></td>
</tr>
<tr>
<td bgcolor=white><font size=-2 face="verdana" color=#993399><b><nobr> </nobr></b></font></td>
<td bgcolor=white ><font face="verdana,helvetica" size=-1><b><nobr><a href="license.html" style="text-decoration:none"><font color=#063678>LICENSE</font></a></nobr></b></font></td>
</tr>
<tr><td colspan=2><hr size=1></td></tr>
<tr>
<td bgcolor=white><font size=-2 face="verdana" color=#993399><b><nobr> </nobr></b></font></td>
<td bgcolor=white ><font face="verdana,helvetica" size=-1><b><nobr><a href="eg/index.html" style="text-decoration:none"><font color=#063678>EXAMPLES</font></a></nobr></b></font></td>
</tr>
</table>
</td></tr>
</table>
<br>
<center>
<a href=http://www.apache-asp.org/><img src="powered_by_apache_asp.jpg" width="88" height="31" alt="Powered by Apache::ASP" border="0"></a>
<br>
<a href=http://perl.apache.org><img src="powered_by_modperl.gif" width="88" height="31" alt="Powered by ModPerl and Apache" border="0"></a>
<br>
<a href=http://www.perl.com><img src="rectangle_power_perl.gif" width="88" height="31" alt="Powered by Perl" border="0"></a>
</center>
</td>
<td valign=top bgcolor=white>
<font size=+0 face=verdana,arial>
<font face=verdana><font class=title size=+1 color=#555555><b>CHANGES</b></font>
<font face="courier new" size=3><pre>
</pre></font>Apache::ASP has been in development since 1998, and
was production ready since its .02 release. Releases
are always used in a production setting before being
made publically available.
<font face="courier new" size=3><pre>
</pre></font>In July 2000, the version numbers of releases went
from .19 to 1.9 which is more relevant to software development
outside the perl community. Where a .10 perl module usually
means first production ready release, this would be the
equivalent of a 1.0 release for other kinds of software.
<font face="courier new" size=3><pre>
+ = improvement - = bug fix (d) = documentations
</pre></font>
<hr size=1>
<table width=100% border=0 cellpadding=1 cellspacing=3>
<tr>
<td valign=top><font face="lucida console" size=-1>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2024b1e08d7>$VERSION = 2.63; $DATE="03/14/2018"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202023e855d>$VERSION = 2.09; $DATE="01/30/2001";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%20239066cad>$VERSION = 2.62; $DATE="08/16/2011"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2021002eb7e>$VERSION = 2.07; $DATE="11/26/2000";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202c3b7fac7>$VERSION = 2.61; $DATE="05/24/2008"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202909e81ef>$VERSION = 2.03; $DATE="08/01/2000";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2021803a342>$VERSION = 2.59; $DATE="05/23/2005"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202727b0736>$VERSION = 2.01; $DATE="07/22/2000";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2022aa8a3f0>$VERSION = 2.57; $DATE="01/29/2004"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202784583b1>$VERSION = 2.00; $DATE="07/15/2000";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202d9674a90>$VERSION = 2.55; $DATE="08/09/2003"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2010d78b35d>$VERSION = 1.95; $DATE="07/10/2000";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2022c8082fb>$VERSION = 2.53; $DATE="04/10/2003"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%201b231718a>$VERSION = 1.93; $DATE="07/03/2000";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2025b84bf7e>$VERSION = 2.51; $DATE="02/10/2003"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2010d8c7b1b>$VERSION = 1.91; $DATE="07/02/2000";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202eaeef6e0>$VERSION = 2.49; $DATE="11/10/2002"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200f0c93549>$VERSION = 0.19; $DATE="NOT RELEASED";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202a705193b>$VERSION = 2.47; $DATE="11/06/2002"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2004a1da04f>$VERSION = 0.18; $DATE="02/03/2000";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%20204276936>$VERSION = 2.45; $DATE="10/13/2002"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200792d4e8d>$VERSION = 0.17; $DATE="11/15/99";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2022337f806>$VERSION = 2.41; $DATE="09/29/2002"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2003dd1597d>$VERSION = 0.16; $DATE="09/22/99";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%20252d85c29>$VERSION = 2.39; $DATE="09/10/2002"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200a2fa9027>$VERSION = 0.15; $DATE="08/24/1999";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202c1fa6b38>$VERSION = 2.37; $DATE="07/03/2002"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200b667e0c4>$VERSION = 0.14; $DATE="07/29/1999";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202af464d94>$VERSION = 2.35; $DATE="05/30/2002"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200fcc7c76f>$VERSION = 0.12; $DATE="07/01/1999";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%20276381ac3>$VERSION = 2.33; $DATE="04/29/2002"</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200bd024b52>$VERSION = 0.11; $DATE="06/24/1999";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202a77480eb>$VERSION = 2.31; $DATE="01/22/2002";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200c7f99fbe>$VERSION = 0.10; $DATE="05/24/1999";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202be948898>$VERSION = 2.29; $DATE="11/19/2001";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2005ee189f2>$VERSION = 0.09; $DATE="04/22/1999";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%20211fd057b>$VERSION = 2.27; $DATE="10/31/2001";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200ea85a09a>$VERSION = 0.08; $DATE="02/06/1999";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%20276d7fe30>$VERSION = 2.25; $DATE="10/11/2001";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2003960e08a>$VERSION = 0.07; $DATE="01/20/1999";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2024674da9c>$VERSION = 2.23; $DATE="10/11/2001";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200394bbc7f>$VERSION = 0.06; $DATE="12/21/1998";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202c37caa32>$VERSION = 2.21; $DATE="8/5/2001";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2003a5fe2db>$VERSION = 0.05; $DATE="10/19/1998";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2029e6581ab>$VERSION = 2.19; $DATE="7/10/2001";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2009ffce1f9>$VERSION = 0.04; $DATE="10/14/1998";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%20282c9e25e>$VERSION = 2.17; $DATE="6/17/2001";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%200ec664faf>$VERSION = 0.03; $DATE="09/14/1998";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%202d4094038>$VERSION = 2.15; $DATE="06/12/2001";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%20055b248f9>$VERSION = 0.02; $DATE="07/12/1998";</a>
</font>
</td>
</tr>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2023614edca>$VERSION = 2.11; $DATE="05/29/2001";</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#%24VERSION%20%3D%2009faee67f>$VERSION = 0.01; $DATE="06/26/1998";</a>
</font>
</td>
</tr>
</table>
<hr size=1>
<p>
<p>
<a name=%24VERSION%20%3D%2024b1e08d7></a>
<font face=verdana><font class=title size=+0 color=#555555><b>$VERSION = 2.63; $DATE="03/14/2018"</b></font>
<font face="courier new" size=3><pre>
+ Added section ``raw'' to MailErrors.inc to debug POSTs without
form fields
- MailErrorsHTML now uses monospaced fonts for errors. Easier on
the eyes and more informative
</pre></font>
<p>
<a name=%24VERSION%20%3D%20239066cad></a>
<font face=verdana><font class=title size=+0 color=#555555><b>$VERSION = 2.62; $DATE="08/16/2011"</b></font>
<font face="courier new" size=3><pre>
- Fixed 'application/x-www-form-urlencoded' for AJAX POSTs post
Firefox 3.x
+ First sourceforge.net hosted version
+ Incremented version number to actually match SVN branch tag
</pre></font>
<p>
<a name=%24VERSION%20%3D%202c3b7fac7></a>
<font face=verdana><font class=title size=+0 color=#555555><b>$VERSION = 2.61; $DATE="05/24/2008"</b></font>
<font face="courier new" size=3><pre>
- updated for more recent mod_perl 2 environment to trigger correct loading of modules
+ loads modules in a backwards compatible way for older versions of mod_perl 1.99_07 to 1.99_09
+ license changes from GPL to Perl Artistic License
</pre></font>
<p>
<a name=%24VERSION%20%3D%2021803a342></a>
<font face=verdana><font class=title size=+0 color=#555555><b>$VERSION = 2.59; $DATE="05/23/2005"</b></font>
<font face="courier new" size=3><pre>
+ added "use bytes" to Response object to calculate Content-Length
correctly for UTF8 data, which should require therefore at least
perl version 5.6 installed
+ updated to work with latest mod_perl 2.0 module naming convention,
thanks to Randy Kobes for patch
+ examples now exclude usage of Apache::Filter & Apache::SSI under mod_perl 2.0
</pre></font>
<p>
<a name=%24VERSION%20%3D%2022aa8a3f0></a>
site/changes.html view on Meta::CPAN
embedded perl blocks <% #perl %>
Compiles were slow because of an old PerlScript compatibility
parsing trick where $Request->QueryString('hi')->{item}
would be parsed to $Request->QueryString('hi') which works.
I think the regexp that I was using had O(n^2) characteristics
and it took a really big perl block to 10 +seconds to parse
to understand there was a problem :(
I doubt anyone needed this compatibility, I don't even see
any code that looks like this in the online PerlScript examples,
so I've commented out this parsing trick for now. If you
need me to bring back this functionality, it will be in the
form of a config setting.
For information on PerlScript compatibility, see the PerlScript
section in the ASP docs.
-Added UniquePackages config option, that if set brings back
the old method of compiling each ASP script into its own
separate package. As of v.10, scripts are compiled by default
into the same package, so that scripts, dynamic includes & global.asa
can share globals. This BROKE scripts in the same ASP Application
that defined the same sub routines, as their subs would redefine
each other.
UniquePackages has scripts compiled into separate perl packages,
so they may define subs with the same name, w/o fear of overlap.
Under this settings, scripts will not be able to share globals.
-Secure field for cookies in $Response->Cookies() must be TRUE to
force cookie to be secure. Before, it just had to be defined,
which gave wrong behavior for Secure => 0.
+$Response->{IsClientConnected} set to one by default. Will
work out a real value when I upgrade to apache 1.3.6. This
value has no meaning before, as apache aborts the perl code
when a client drops its connection in earlier versions.
+better compile time debugging of dynamic includes, with
Debug 2 setting
+"use strict" friendly handling of compiling dynamic includes
with errors
</pre></font>
<p>
<a name=%24VERSION%20%3D%200bd024b52></a>
<font face=verdana><font class=title size=+0 color=#555555><b>$VERSION = 0.11; $DATE="06/24/1999";</b></font>
<font face="courier new" size=3><pre>
+Lots of documentation updates
+The MailHost config option is the smtp server used for
relay emails for the Mail* config options.
+MailAlertTo config option used for sending a short administrative
alert for an internal ASP error, server code 500. This is the
compliment to MailErrorsTo, but is suited for sending a to a
small text based pager. The email sent by MailErrorsTo would
then be checked by the web admin for quick response & debugging
for the incident.
The MailAlertPeriod config specifies the time in minutes during
which only one alert will be sent, which defaults to 20.
+MailErrorsTo config options sends the results of a 500 error
to the email address specified as if Debug were set to 2.
If Debug 2 is set, this config will not be on, as it is
for production use only. Debug settings less than 2 only
log errors to the apache server error log.
-StatINCMatch / StatINC can be used in production and work
even after a server graceful restart, which is essential for
a production server.
-Content-Length header is set again, if BufferingOn is set, and
haven't $Response->Flush()'d. This broke when I introduce
the Script_OnEnd event handler.
+Optimized reloading of the GlobalPackage perl module upon changes,
so that scripts and dynamic includes don't have to be recompiled.
The global.asa will still have to be though. Since we started
compiling all routines into a package that can be named with
GlobalPackage, we've been undeffing compiled scripts and includes
when the real GlobalPackage changed on disk, as we do a full sweep
through the namespace. Now, we skip those subs that we know to
be includes or scripts.
-Using Apache::Symbol::undef() to undefine precompiled scripts
and includes when reloading those scripts. Doing just an undef()
would sometimes result in an "active subroutine undef" error.
This bug came out when I started thrashing the StatINC system
for production use.
+StatINCMatch setting created for production use reloading of
perl modules. StatINCMatch allows StatINC reloading of a
subset of all the modules defined in %INC, those that match
$module =~ /$StatINCMatch/, where module is some module name
like Class/Struct.pm
+Reoptimized pod comment parsing. I slowed it down to sync
lines numbers in the last version, but found another corner I could cut.
</pre></font>
<p>
<a name=%24VERSION%20%3D%200c7f99fbe></a>
<font face=verdana><font class=title size=+0 color=#555555><b>$VERSION = 0.10; $DATE="05/24/1999";</b></font>
<font face="courier new" size=3><pre>
+= improvement; - = bug fix
+Added index.html file to ./eg to help people wade through
the examples. This one has been long overdue.
+Clean config option, or setting $Response->{Clean} to 1 - 9,
uses HTML::Clean to compress text/html output of ASP scripts.
I like the Clean 1 setting which is lightweight, stripping
white space for about 10% compression, at a cost of less than
a 5% performance penalty.
+Using pod style commenting no longer confuses the line
numbering. ASP script line numbers are almost exactly match
( run in 0.722 second using v1.01-cache-2.11-cpan-39bf76dae61 )