Pkgsrc change:
o Canonicalize HOMEPAGE
Upstream changes:
[Changes for 0.41 - 2007-10-16]
* LICENSING CHANGE: This compilation and all individual files in it
are now under the permissive "MIT" license.
* Tidied up source code and test files.
2.54:
* Make it possible to load setup files w/o running them. Code
needing to do so can call IkiWiki::Setup::load, which will return
a hash of values.
* ikiwiki-transition: Fix command-line processing so the prefix_directives
transition works again.
* template: Add support for a BASENAME variable.
* Fixes creation of pages when clicking on WikiLinks starting with "/".
* Change deb dependencies to list Text::Markdown before markdown, since
the former, while slower, has a much better html parser that avoids
numerous bugs.
* Move yesno function out of inline and into IkiWiki core, not exported.
* Error handling improvement for preprocess hooks. It's now safe to call
error() from such hooks; it will cause a nicely formatted error message
to be inserted into the page.
* Cut the size of the binary package in half by excluding pages for bugs
and todo items from the html shipped in it.
* parentlinks: New plugin, split out of ikiwiki core and enabled by default,
and several new fields added to allow for advanced styling. (intrigeri)
* smileys: Some fixes for escaped smileys.
* smileys: Note that smileys need to be double-escaped for the escaping to
work. Markdown removes one level of escaping.
* Add a postscan hook.
* search: Use postscan hook, avoid updating index when previewing.
* git: Put web committer name/openid/address in the git author field.
The committer's email address is not used (because leaking email addresses
is not liked by many users). Closes: #451023
* git: Fix parsing of git logs with no commit messages at all.
* search: Fixes for title stemming, and use better term for tags.
(Rebuilding the wiki on upgrade to this version is recommended if you
use the search plugin.)
* meta, inline: Support guid options, to allow forcing a particular url or
uuid in feeds.
* meta: fix title() PageSpec
* Some footer style changes.
* aggregate: Add an `aggregateinternal` option, which allows storing
aggregated data to internal-use files, rather than wiki pages. This
can save disk space, and be faster.
* ikiwiki-transition: Add a `aggregateinternal` transition to rename
the aggregated files.
2.53:
* search: generate configuration files once only when rebuilding
* attachment: Fix an uninitialised value warning when editing a page
that currently has no attachments.
* Fix a bug with links to pages whose names contained colons.
* attachment: Support old versions of CGI.pm that lack an upload method.
* Include ikiwiki.setup in examples in the debian package.
* attachment: Support perl 5.8's buggy version of CGI.pm.
* otl: Support utf-8 files. (Recai Oktaş)
2.52:
* attachment: New plugin for uploading and managing attachments.
This includes a fairly powerful PageSpec based admin pref for deciding
whether to accept a given upload, and an attachment management interface
on the edit page.
* If attachments are not enabled, configure CGI.pm to disable file
uploads by default. (An anti-DOS measure.)
* toggle: Add support for toggles that are open by default.
* toggle: Fix to work in preview mode.
* toggle: Add javascript to top of page, not to end. This avoids flicker
since closed toggles will not be displayed as the page is loading.
* The editpage form now uses the raw page name, not the page title, in its
'page' cgi parameter. Using the title was ambiguous and made it
impossible to tell between some pages, like "foo/bar" and "foo__47__bar",
sometimes causing the wrong page to be edited.
* This change means that some edit links need to be updated.
Force a rebuild on upgrade to this version.
* Above change also allowed really fixing escaped slashes from the blogpost
form.
2.51:
* Improve toplevel parentlink to link directly to index.html when usedirs is
disabled.
* map: Add a "show" parameter. "show=title" can be used to display page
titles, rather than the default page name. Based on a patch from
Jaldhar H. Vyas, Closes: #484510
* hnb: New plugin, contributed by Axel Beckert.
* meta: Store "description" in pagestate for use by other plugins.
* map: Support show=description.
* textile: The Text::Textile perl module has some regexps that fail if
input is flagged as utf-8, but contains invalid characters such as 0x92.
To prevent it from crashing, re-encode the content before calling it,
which will ensure that it's really utf-8.
* Version the suggests of xapian-omega to a version known to be new enough
to work with ikiwiki. Reportedly, version 0.9.9 is too old to work.
Closes: #486592
* creole: New plugin from Bernd Zeimetz. Closes: #486930
* aggregate: Add template parameter.
* Add support for the universal edit button <http://universaleditbutton.org/>
(To get this on all pages of an exiting wiki, rebuild the wiki.)
* txt: New plugin, contributed by Gabriel McManus.
* smiley: Generate links relative to the destpage. (Fixes a reversion from
2.41.)
* toc: Revert change in 2.45 that made it run at sanitize time. That broke
use of toc in a sidebar.
* Call format hooks when generating page previews, thus fixing toc display
there, as well as fixing inlins to again display in page previews, since
it's started using format hooks. This also allows several other things,
like embed, that use format hooks, to work during page preview time.
* Format hooks should not rely on getting an entire html document, as they
will only get the body during page preview.
* toggle: Deal with preview mode when adding javascript.
2.50:
* img: Support captions.
* img: Don't generate empty title attributes, etc.
* img: Allow setting defaults for class and id too.
* ikiwiki-mass-rebuild: Make group list comparison more robust.
* search: Work around xapian bug #486138 by only stemming locales
in a whitelist.
2.49:
* haiku: Generate valid xhtml.
* ikiwiki-mass-rebuild: Don't trust $! when setting $)
* inline: The optimisation in 2.41 broke nested inlines. Detect those
and avoid overoptimising.
* search: Converted to use xapian-omega.
* Filter hooks are no longer called during the scan phase. This will
prevent wikilinks added by filters from being scanned properly. But
no known filter hook does that, so let's not waste time on it.
* Pass a destpage parameter to the sanitize hook.
* The search interface now allows searching for a page by title
("title:foo"), as well as for pages that contain a given link
("link:bar").
Changes:
Version: 3.12
- Makefile.PL If no mod_perl version is found, just require mod_perl2.
This makes sure that CPAN testers will get the right dependencies.
way. Also set up PREREQ_PM properly for mod_perl version 1.
Version: 3.11
- Fix tiny pod doc error.
- Escape CR and LF in 'destination' field to prevent possible XSS attack
[Steffen Schwigon]
- Fix a Cross Site Scripting attack
- changes in caching API
Changes in 1.7.0:
- new event/notification/authentication/session framework
- OpenID support
- improvements for LDAP auth, attachment performance, logging etc
Sun Jun 22 17:07:20 cet 2008 mikulas:
-dump and -source don't lockup on authentication failure
Sat Jun 21 19:58:53 MET 2008 mikulas
Accept broken numbers in HTTP code
Sat Jun 21 18:00:54 cet 2008 mikulas:
Allow '+' in command-line URLs
Thu Jun 12 03:34:53 cet 2008 mikulas:
Erase clipboard on OS/2 before copying to it - this prevents bugs
when copying to/from Mozilla
Mon Jun 9 02:34:24 MET 2008 mikulas:
Process and 	 in form entry "value" attribute
Tue Jun 3 00:22:49 CEST 2008 mikulas:
Fixed various display glitches with 64-bit big endian systems
Sun May 18 21:47:46 CEST 2008 mikulas:
Fixed display quirks on Sparc framebuffer console
Fixed some quirks on 64-bit big endian systems
updated dependencies
ChangeLog:
---
version: 0.39
date: Tue Mar 6 12:13:40 PST 2007
changes:
- Adding documentation for Kwiki 2
- Explain that people should use Kwiki from SVN rather than CPAN for now
2.19 Wed Jan 26 21:57:36 CST 2005
- We now use $r->print() instead of print() inside SSI.pm, because
the latter seemed to have buffering problems.
- Added a Build.PL for installation via Module::Build.
- Modified ssi_include() to check for an HTTP_OK status from the
subrequest in addition to an OK status from the handler. [Aaron
Ross]
- Fixed an undefined-value warning that occurred in the time-related
components when the time zone wasn't set. [Aaron Ross]
- Made some modernization updates to the Apache::test module we use
during testing.
- Use Test.pm for testing output rather than my custom stuff.
2.18 Tue Jan 22 12:22:16 CST 2002
Doing an include can mess up %ENV (and thus the query string, and
the table of set variables), so we now make sure we restore it after
executing a subrequest.
2.17 Mon Jan 14 13:58:21 CST 2002
Added the Apache::FakeSSI class, which implements server-side
includes in pure-perl so that its output can be filtered via
Apache::Filter. Note that its <!--#exec cgi="..."--> isn't
functional yet.
Fixed a problem with the MANIFEST - file t/docs.check/16 was missing.
- took maintainership for package
- cleanup up Makefile
- introduced options.mk file for the package
p5-Cache-Cache is set to default, modperl has been removed from the
default options, added to options.mk
fcgi has been added to options.mk for lighttpd usage
- MESSAGE file entry edited for lighttpd webserver
ChangeLog:
Revision history for HTML::Mason.
An HTML version of this file, complete with links to documentation, is
available at http://www.masonhq.com/code/history.html.
** denotes an incompatible change
1.39 Jan 30, 2008
[ ENHANCEMENTS ]
- CHI may now be used as the backend for $m->cache as an updated
alternative to Cache::Cache. Among other things, this facilitates
easy use of Cache::FastMmap and memcached for data
caching. Cache::Cache is still the default for now, and is still
listed as a prereq for Mason.
1.38 Dec 20, 2007
[ BUG FIXES ]
- (Hopefully) fixed a problem where the cpan shell thought that Mason
needed mod_perl1 as a prereq when it was trying to require a newish
version of mod_perl2.
- If you called $r->send_http_header() explicitly in a component under
mod_perl 1.x, headers would end up getting sent again once the
component finished executing. Reported by Brett Gardner.
- Component call with content end tags could not span multiple
lines. Fixing this makes it consistent with the opening tag. Patch
by Alex Robinson.
- Includes a possible fix for a test failure in 10-cache.t. This
failure is a problem in the test code, not the Mason core code.
1.37 Sep 6, 2007
[ BUG FIXES ]
- Mason could send the HTTP headers twice under mod_perl 1.x when
making a request for a directory path that was handled by a
dhandler. Reported by David Beaudet.
- If you set the Content-Type header in a handler sub before passing
control to Mason via ApacheHandler, this value was overwritten if
the request was for a directory path.
[ ENHANCEMENTS ]
- Make t/08-ah.t and t/16-live-cgi.t more verbose about why they are
skipping tests when they do so. Based on a patch from
C.J. Adams-Collier.
1.36 Jun 10, 2007
[ BUG FIXES ]
- If a component with content call ending tag appeared inside a
subcomp or method without an opening tag, then the compiler dies
with a Perl error, rather than reporting the error
usefully. Reported by Rich Williams.
- Under mod_perl 2, if decline_dirs was false and a directory was
requested, you got a "Use of uninitialized value" warning from
ApacheHandler in your logs. Reported by Ogden Nefix.
- HTML::Entities is now a prereq. Not requiring it made for various
weird gyrations in the tests that didn't seem to work all the time,
causing various failures. Fixes RT #24827.
- Request::CGIHandler->exec() now returns the return value from
executing the component, just like a normal Request. Reported by
Adrian Irving-Beer.
[ ENHANCEMENTS ]
- Added a new Compiler::ToObject parameter,
named_component_subs. Turning this on makes it possible to profile
components.
- Added a new Request parameter, component_error_handler. This can be
set to change how component compilation and runtime errors are
handled. It can also be set to false to just let errors go
unhandled, which could speed up apps that throw a lot of non-object
exceptions.
1.35 Oct 17, 2006
[ BUG FIXES ]
- Version 1.34 introduced a bug that caused corruption of the callers
stack when a component call with content was used.
- When Mason tried to load a package required for a feature (like
Cache::Cache for $m->cache) and this failed, the error message would
say something like "Can't locate Cache::Cache". However, the real
error could be that Cache::Cache was present, but a module required by
Cache::Cache was not. Now we report the real missing module.
- Some people saw a spurious test failure in 05-request.t. RT #22099.
- Added Module::Build to the build_requires prereqs.
1.34 Oct 14, 2006
[ BUG FIXES ]
- List Module::Build as a build prereq in the Build.PL, so it shows up
in META.yml. Reported by Colin Henein. RT #22097.
- Apache::Request and mod_perl{1,2} will no longer show up as prereqs
in META.yml. Requested by Jesse Vincent.
- Fixed a serious memory leak bug where an object referenced in
arguments to another component was never destroyed. Reported by
Dominic Mitchell.
- Using $m->call_next from a helper component should reset base_comp
to the request_comp. Reported by Mark Elrod.
- The 08-ah.t and 16-live-cgi.t test files could fail with an error
like "Failed to re-load 'Mason::Build'" when Mason was being installed
via the CPANPLUS shell (and maybe other cases). Reported by David
Wheeler.
- Fixed a bug where $m->clear_buffer inside a component called from a
comp_with_content did not clear all buffers.
[ ENHANCEMENTS ]
- Added support for get_server_port() in FakeApache. Patch from Dieter
Piercey.
1.33 May 28, 2006
[ BUG FIXES ]
- If $m->flush_buffer() was called when there was a filter somewhere
in the component chain, the flush did nothing. Task id #596. Reported
by Shane McCarron.
- Added several tests for $m->flush_buffer() and $m->clear_buffer(),
which will hopefully avoid more bugs in this part of the code.
- On Win32, a test failed when Mason tried to use rename to move a dir
into an existing dir. Patch by Shane McCarron. Task id #594 and RT
#17828.
- Trying to load HTML::Mason::ApacheHandler outside of mod_perl caused
an error "like Undefined subroutine &Apache::perl_hook called at
/usr/local/share/perl/5.8.7/HTML/Mason/ApacheHandler.pm line
257". While it will never _run_ outside of mod_perl, it should at
least load.
- Fixed test in 14a-fake_apache.t that failed with CGI.pm >= 3.16.
- The example code in the HTML::Mason::Resolver::Null code was
just wrong. Fixed by John Siracusa.
- Fixed a test failure in 06-compile.t when using bleadperl. RT
#17118.
1.32 January 3, 2006
[ BUG FIXES ]
- Under mod_perl 1.x with error_mode set to output, the headers were
sent after the content when a compilation error occurred. Reported by
Gareth Kirwan. Task id #592.
- URI-escape utf8 characters the same way that CGI::escape and
URI::Escape::uri_escape_utf8 do. Patch by Denis Shaposhnikov.
- On startup Mason creates a file named ".__obj_create_marker" in the
object directory. Under mod_perl, Mason was not chmod'ing the file
when Apache was started as root. This led to permission errors in
environments where the Interp is created anew every request. Task id
#593.
- Treat the return value of component execution as a string in
ApacheHandler. This prevent warnings about comparing the empty string
to a number when a component returns "". Reported by Benjamin Franz.
- Setting a MasonPlugins Apache parameter caused a fatal error. Patch
by David Jack Olrik.
- Calling base_comp() on the Request object inside a plugin's
start_request_hook method caused an infinite recursion in Mason.
Reported by Jesse Vincent.
ChangeLog:
2.0 - September 11th, 2007
Allow passing an arrayref of hashrefs through fdat (Mark Stosberg, Michael Graham)
Several new shortcuts: (Mark Stosberg)
Allow calling fill() as a class method as a shortcut.
Allow \$html as shortcut for scalarref => \$html
Allow \@html as shortcut for arrayref => \@html
Allow \*html as shortcut for file => \*html
Allow 'html' as shortcut for file => 'html'
Allow $q as shortcut for fobject => $q
Allow \%fdat as shortcut for fdat => \%fdat
In summary, instead of this:
my $fif = HTML::FillInForm->new;
$fif->fill( scalarref => \$html, fdat => \%data );
You can simply write:
HTML::FillInForm->fill( \$html, \%data );
Fixed disable_fields bug (Boris Zentner)
Add support for ID attribute on form tags (name attribute is
deprecated in xhtml) [rt.cpan.org #27376] (Anthony Ettinger)
1.07 - August 2nd, 2007
Added 'disable_fields' method [rt.cpan.org #6342] (Trevor Schellhorn)
Support IE down-level revealed HTML comments [rt.cpan.org #19468] (Michael Peters)
hash is not reset before each() is called [rt.cpan.org #24980] (Simon P. Ditner)
Fix a bug the last plaintext part might be chopped if called via
scalarref [rt.cpan.org #21750] (Tatsuhiko Miyagawa)
Fix bug when passing 0 in array ref to textfields, also see
[rt.cpan.org #22195] (Paul Miller)
No longer generate warning if empty array as the value for a select attribute is passed (Dave Rolsky)
took maintainership
ChangeLog:
Version: 1.024 Sat Sep 24 21:56:42 CDT 2005
- Fixed a bug that probably only I would ever see - when running the
"disttest" action, it was actually using the server configuration
from the top-level distribution directory, not the dist-dir
directory.
- For some reason all the files in the tarball of 1.023 looks like
they're read-only and non-executable, which causes lots of tests to
fail (e.g. those trying to execute CGI-style scripts). I'm
re-releasing what looks like correct permissions. [Spotted by Tom
Kirkpatrick]
Version: 1.023 Mon Jun 6 06:05:44 CDT 2005
- Fixed a testing bug under (certain versions of?) Mac OS X, in which
none of the pages in t/real.t would generate any output. [Peter
Farmer]
took maintainership
- weird ChangeLog by upstream
ChangeLog:
2.10 Sat Feb 3 11:21:00 PST 2007
- Changed VERSION to 2.10 to get properly indexed by CPAN
No other changes.
1.24 Thu Feb 1 09:48:50 PST 2007
- Applied fixes for http://rt.cpan.org/Ticket/Display.html?id=3673
- use warnings pragma
- use base instead of modifying @ISA
- Changed 'return undef' to 'return'
- Added the primitive mocks to test.pl
0.01 Mon Apr 3 10:50:32 2000
- original version; created by h2xs 1.19
took maintainership
- not all changes have been logges by upstream -
ChangeLog:
$VERSION = 2.59; $DATE="05/23/2005"
+ 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
$VERSION = 2.57; $DATE="01/29/2004"
- $Server->Transfer will update $0 correctly
- return 0 for mod_perl handler to work with latest mod_perl 2 release
when we were returning 200 ( HTTP_OK ) before
- fixed bug in $Server->URL when called like $Server->URL($url)
without parameters. Its not clear which perl versions this bug
affected.
$VERSION = 2.55; $DATE="08/09/2003"
- Bug fixes for running on standalone CGI mode on Win32 submitted
by Francesco Pasqualini
+ Added Apache::ASP::Request::BINMODE for binmode() being
called on STDIN after STDIN is tied to $Request object
+ New RequestBinaryRead configuration created, may be turned off
to prevent $Request object from reading POST data
++ mod_perl 2 optmizations, there was a large code impact on this,
as much code was restructured to reduce the differences between
mod_perl 1 and mod_perl 2, most importantly, Apache::compat is
no longer used
+ preloaded CGI for file uploads in the mod_perl environment
- When XSLT config is set, $Response->Redirect() should work now
Thanks to Marcus Zoller for pointing problem out
+ Added CookieDomain setting, documented, and added test to cover
it in t/cookies.t . Setting suggested by Uwe Riehm, who nicely
submitted some code for this.
$VERSION = 2.53; $DATE="04/10/2003"
+ XMLSubs tags with "-" in them will have "-" replaced with "_" or underscore, so a
tag like <my:render-table /> will be translated to &my::render_table() ... tags with
- in them are common in extended XML syntaxes, but perl subs cannot have - in them only.
+ Clean setting now works on output when $Response->{ContentType} begins with text/html;
like "text/html; charset=iso-8859-2" ... before Clean would only work on output marked
with ContentType text/html. Thanks to Szymon Juraszczyk for recommending fix.
--Fixed a bug which would cause Session_OnEnd to be called twice on sessions in a certain case,
particularly when an old expired session gets reused by and web browser... this bug was
a result of a incomplete session cleanup method in this case. Thanks to Oleg Kobyakovskiy
for reporting this bug. Added test in t/session_events.t to cover this problem going forward.
- Compile errors from Apache::ASP->Loader() were not being reported. They will
be reported again now. Thanks to Thanos Chatziathanassiou for discovering and
documenting this bug. Added test in t/load.t to cover this problem going forward.
+ use of chr(hex($1)) to decode URI encoded parameters instead of pack("c",hex($1))
faster & more correct, thanks to Nikolay Melekhin for pointing out this need.
(d) Added old perlmonth.com articles to ./site/articles in distribution
and linked to them from the docs RESOURCES section
(d) Updated documention for the $Application->SessionCount API
+ Scripts with named subroutines, which is warned against in the style guide,
will not be cached to help prevent my closure problems that often
hurt new developers working in mod_perl environments. The downside
is that these script will have a performance penalty having to be
recompiled each invocation, but this will kill many closure caching
bugs that are hard to detect.
- $Request->FileUpload('upload_file', 'BrowserFile') would return
a glob before that would be the file name in scalar form. However
this would be interpreted as a reference incorrectly. The fix
is to make sure this is always a scalar by stringifying
this data internally. Thanks to Richard Curtis for pointing
out this bug.
$VERSION = 2.51; $DATE="02/10/2003"
+ added t/session_query_parse.t test to cover use of SessionQueryParse
and $Server->URL APIs
- Fixed duplicate "&" bug associated with using $Server->URL
and SessionQueryParse together
+ Patch to allow $Server->URL() to be called multiple times on the same URL
as in $Server->URL($Server->URL($url, \%params), \%more_params)
(d) Added new testimonials & sites & created a separate testimonials page.
- SessionQueryParse will now add to & to the query strings
embedded in the HTML, instead of & for proper HTML generation.
Thanks to Peter Galbavy for pointing out and Thanos Chatziathanassiou
for suggesting the fix.
- $Response->{ContentType} set to text/html for developer error reporting,
in case this was set to something else before the error occured.
Thanks to Philip Mak for reporting.
- Couple of minor bug fixes under PerlWarn use, thanks Peter Galbavy
for reporting.
+ Added automatic load of "use Apache2" for compat with mod_perl2
request objects when Apache::ASP is loaded via "PerlModule Apache::ASP"
Thanks to Richard Curtis for reporting bug & subsequent testing.
- When GlobalPackage config changes, but global.asa has not, global.asa
will be recompiled anyway to update the GlobalPackage correctly.
Changing GlobalPackage before would cause errors if global.asa was
already compiled.
++ For ANY PerlSetVar type config, OFF/Off/off will be assumed
to have value of 0 for that setting. Before, only a couple settings
had this semantics, but they all do now for consistency.
- Fix for InodeNames config on OpenBSD, or any OS that might have
a device # of 0 for the file being stat()'d, thanks to Peter Galbavy
for bug report.
++ Total XSLT speedups, 5-10% on large XSLT, 10-15% on small XSLT
+ bypass meta data check like expires for XSLT Cache() API use
because XSLT tranformations don't expire, saves hit to cache dbm
for meta data
+ use of direct Apache::ASP::State methods like FETCH/STORE
in Cache() layer so we don't have to go through slower tied interface.
This will speed up XSLT & and include output caching mostly.
+ minor optimizations for speed & memory usage
$VERSION = 2.49; $DATE="11/10/2002"
-- bug introduced in 2.47 cached script compilations for executing
scripts ( not includes ) of the same name in different directories
for the same Global/GlobalPackage config for an application.
Fix was to remove optimization that caused problem, and
created test case t/same_name.t to cover bug.
$VERSION = 2.47; $DATE="11/06/2002"
++ Runtime speed enhancements for 15-20% improvement including:
+ INTERNAL API ReadFile() now returns scalar ref as memory optimization
+ cache InodeNames config setting in ASP object now for common lookups
+ removed CompileChecksum() INTERNAL API, since it was an unnecesary
method decomposition along a common code path
+ removed IsChanged() INTERNAL API since compiling of scripts
is now handled by CompileInclude() which does this functionality already
+ removed unnecessary decomp of IncludesChanged() INTERNAL API, which was along
critical code path
+ do not call INTERNAL SearchDirs() API when compiling base script
since we have already validated its path earlier
+ Use stat(_) type shortcut for stat() & -X calls where possible
+ Moved @INC initilization up to handler() & consolidated with $INCDir lib
+ removed useless Apache::ASP::Collection::DESTROY
+ removed useless Apache::ASP::Server::DESTROY
+ removed useless Apache::ASP::GlobalASA::DESTROY
+ removed useless Apache::ASP::Response::DESTROY
- Default path for $Response->{Cookies} was from CookiePath
config, but this was incorrect as CookiePath config is only
for $Session cookie, so now path for $Response->{Cookies}
defaults to /
- Fixed bug where global.asa events would get undefined with
StatINC and GlobalPackage set when the GlobalPackage library
changed & get reloaded.
(d) Documented long time config NoCache.
-- Fixed use with Apache::Filter, capable as both source
and destination filter. Added ./site/eg/filter.filter example
to demonstrate these abilities.
+ Use $r->err_headers_out->add Apache::Table API for cookies
now instead of $r->cgi_header_out. Added t/cookies.t test to
cover new code path as well as general $Response->Cookies API.
Also make cookies headers sorted by cookie and dictionary key
while building headers for repeatable behavior, this latter was
to facilitate testing.
- fixed $Server->Mail error_log output when failing to connect
to SMTP server.
+ added tests to cover UniquePackages & NoCache configs since this
config logic was updated
+ made deprecated warnings for use of certain $Response->Member
calls more loudly write to error_log, so I can remove the AUTOLOAD
for Response one day
- Probably fixed behavior in CgiHeaders, at least under perl 5.8.0, and
added t/cgi_headers.t to cover this config.
+ removed $Apache::ASP::CompressGzip setting ability, used to possibly
set CompressGzip in the module before, not documented anyway
+ removed $Apache::ASP::Filter setting ability to set Filter globally,
not documented anyway
+ removed old work around for setting ServerStarting to 0
at runtime, which was bad for Apache::DBI on win32 a long
time ago:
$Apache::ServerStarting and $Apache::ServerStarting = 0;
If this code is still needed in Apache::ASP->handler() let
me know.
+ check to make sure data in internal database is a HASH ref
before using it for session garbage collection. This is to
help prevent against internal database corruption in a
network share that does not support flock() file locking.
+ For new XMLSubs ASP type <%= %> argument interpolation
activated with XMLSubsPerlArgs 0, data references can now
be passed in addition to SCALAR/string references, so one
can pass an object reference like so:
<my:tag value="<%= $Object %>" />
This will only work as long as the variable interpolation <%= %>
are flushed against the containing " " or ' ', or else the object
reference will be stringified when it is concatenated with
the rest of the data.
Testing for this feature was added to ./t/xmlsubs_aspargs.t
This feature is still experimental, and its interface may change.
However it is slated for the 3.0 release as default method,
so feedback is appreciated.
+ For new XMLSubs ASP type <%= %> argument interpolation
activated with XMLSubsPerlArgs 0, <% %> will no longer work,
just <%= %>, as in
<my:tag value="some value <%= $value %> more data" />
This feature is still experimental, and its interface may change.
However it is slated for the 3.0 release as default method,
so feedback is appreciated.
$VERSION = 2.45; $DATE="10/13/2002"
++New XMLSubsPerlArgs config, default 1, indicates how
XMLSubs arguments have always been parsed. If set to 0,
will enable new XMLSubs args that are more ASP like with
<%= %> for dynamic interpolation, such as:
<my:xmlsub arg="<%= $data %>" arg2="text <%= $data2 %>" />
Settings XMLSubsPerlArgs to 0 is experimental for now, but
will become the default by Apache::ASP version 3.0
++Optimization for static HTML/XML files that are served up
via Apache::ASP so that they are not compiled into perl subroutines
first. This makes especially native XSLT both faster & take
less memory to serve, before XSL & XML files being transformed
by XSLT would both be compiled as normal ASP script first, so
now this will happen if they really are ASP scripts with embedded
<% %> code blocks & XMLSubs being executed.
+Consolidate some config data for Apache::ASP->Loader to use
globals in @Apache::ASP::CompileChecksumKeys to know which
config data is important for precompiling ASP scripts.
+Further streamlined code compilation. Now both base
scripts and includes use the internal CompileInclude() API
to generate code.
-Fixed runtime HTML error output when Debug is set to -2/2,
so that script correctly again gets rendered in final perl form.
Added compile time error output to ./site/eg/syntax_error.htm
when a special link is clicked for a quick visual test.
-Cleaned up some bad coding practices in ./site/eg/global.asa
associated changes in other example files. Comment example
global.asa some for the first time reader
-DemoASP.pm examples module needed "use strict" fix, thanks
to Allan Vest for bug report
--$rv = $Response->Include({ File => ..., Cache => 1});
now works to get the first returned value fetched from
the cache. Before, because a list was always returned,
$rv would have been equal to the number of items returned,
even if the return value list has just one element.
(d) added site/robots.txt file with just a comment for
search engine indexing
-fixed ./site/eg/binary_write.htm to not use
$Response->{ContentLength} because it does not exist.
Fixed it to use $Response->AddHeader now instead
$VERSION = 2.41; $DATE="09/29/2002"
-Removed CVS Revision tag from Apache::ASP::Date, which
was causing bad revision numbers in CPAN after CVS integration
of Apache::ASP
+removed cgi/asp link to ../asp-perl from distribution. This
link was for the deprecated asp script which is now asp-perl
$VERSION = 2.39; $DATE="09/10/2002"
-Turn off $^W explicitly before reloading global.asa. Reloading
global.asa when $^W is set will trigger subroutine redefinition
warnings. Reloading global.asa should occur without any problems
under normal usage of the system, thus this work around.
This fix is important to UseStrict functionality because warnings
automatically become thrown as die() errors with UseStrict enabled,
so we have to disable normal soft warnings here.
-$Response->Include() runtime errors now throw a die() that
can be trapped. This was old functionality that has been restored.
Other compile time errors should still trigger a hard error
like script compilation, global.asa, or $Response->Include()
without an eval()
+Some better error handling with Debug 3 or -3 set, cleaned
up developer errors messages somewhat.
$VERSION = 2.37; $DATE="07/03/2002"
-Fixed the testing directory structures for t/long_names.t
so that tar software like Archive::Tar & Solaris tar that
have problems with long file names will still be able
to untar distribution successfully. Now t/long_names.t
generates its testing directory structures at runtime.
-Fixes for "make test" to work under perl 5.8.0 RC2,
courtesy of Manabu Higashida
+SessionQueryForce setting created for disabling use of cookies
for $Session session-id passing, rather requiring use of SessionQuery*
functionality for session-id passing via URL query string.
By default, even when SessionQuery* options are used, cookies will
be used if available with SessionQuery* functionality acting only
as a backup, so this makes it so that cookies will never be used.
+Escape ' with HTMLEncode() to '
-Trying to fix t/server_mail.t to work better for platforms
that it should skip testing on. Updated t/server.t test case.
+Remove exit() from Makefile.PL so CPAN.pm's automatic
follow prereq mechanism works correctly. Thanks to Slaven Rezic
for pointing this out.
+Added Apache::compat loading in mod_perl environment for better
mod_perl 2.0 support.
$VERSION = 2.35; $DATE="05/30/2002"
+Destroy better $Server & $Response objects so that my
closure references to these to not attempt to work in the future
against invalid internal data. There was enough data left in these
old objects to make debugging the my closure problem confusing, where
it looked like the ASP object state became invalid.
+Added system debug diagnostics to inspect StateManager group cleanup
(d) Documentation update about flock() work around for
Win95/Win98/WinMe systems, confirmed by Rex Arul
(d) Documentation/site build bug found by Mitsunobu Ozato,
where <% %> not being escaped correctly with $Server->HTMLEncode().
New japanese documentation project started by him
at http://sourceforge.jp/projects/apache-asp-jp/
-InitPackageGlobals() called after new Apache::ASP object created so
core system templates can be compiled even when there was a runtime
compilation error of user templates. Bug fix needed pointed out by
Eamon Daly
$VERSION = 2.33; $DATE="04/29/2002"
- fixed up t/server_mail.t test to skip if a sendmail server
is not available on localhost. We only want the test to run
if there is a server to test against.
+ removed cgi/asp script, just a symlink now to the ./asp-perl script
which in this way deprecates it. I had it hard linked, but the
distribution did not untar very well on win32 platform.
+ Reordered the modules in Bundle::Apache::ASP for a cleaner install.
- Fixed bug where XMLSubs where removing <?xml version ... ?> tag
when it was needed in XSLT mode.
+ $Server->Mail({ CC => '...', BCC => '...' }), now works to send
CC & BCC headers/recipients.
+ Removed $Apache::ASP::Register definition which defined the current
executing Apache::ASP object. Only one part of the application was
using it, and this has been fixed. This would have been an unsafe
use of globals for a threaded environment.
+ Decreased latency when doing Application_OnStart, used to sleep(1)
for CleanupMaster sync, but this is not necessary for Application_OnStart
scenario
+ Restructure code / core templates for MailErrorsTo funcationality.
Wrote test mail_error.t to cover this. $ENV{REMOTE_USER} will now
be displayed in the MailErrorsTo message when defined from 401 basic auth.
+ $Server->RegisterCleanup should be thread safe now, as it no longer relies
on access to @Apache::ASP::Cleanup for storing the CODE ref stack.
+ test t/inode_names.t for InodeNames and other file tests covering case
of long file names.
- Fixed long file name sub identifier bug. Added test t/long_names.t.
+ CacheDir may now be set independently of StateDir. It used to default
to StateDir if it was set.
++ Decomposition of modules like Apache::ASP::Session & Apache::ASP::Application
out of ASP.pm file. This should make the source more developer friendly.
This selective code compilation also speeds up CGI requests that do not
need to load unneeded modules like Apache::ASP::Session, by about 50%,
so where CGI mode ran at about 2.1 hits/sec before, now for
light requests that do not load $Session & $Application, requests
run at 3.4 hits/sec, this is on a dual PIII-450 linux 2.4.x
- Caching like for XSLTCache now works in CGI mode.
This was a bug that it did not before.
+ $Server->File() API added, acts as a wrapper around
Apache->request->filename Added test in t/server.t
++ *** EXPERIMENTAL / ALPHA FEATURE NOTE BEGIN ***
New $PERLLIB/Apache/ASP/Share/ directory created to
hold system & user contributed components, which will be found
on the $Server->MapInclude() path, which helps $Response->Include
search '.',Global,IncludesDir, and now Apache::ASP::Share for
includes to load at runtime.
The syntax for loading a shared include is to prefix the file
name with Share:: as in:
$Response->TrapInclude('Share::CORE/MailError.inc');
New test to cover this at t/share.t
This feature is experimental. The naming convention may change
and the feature may disappear altogether, so only use if you
are interesting in experimenting with this feature & will
provide feedback about how it works.
*** EXPERIMENTAL / ALPHA FEATURE NOTE END ***
+ asp-perl script now uses ./asp.conf instead of ./asp.config
for runtime configuration via %Config defined there. Update docs
for running in standalone CGI mode
+ Make use of MANFEST.SKIP to not publish the dev/* files anymore.
- Script_OnEnd guaranteed to run after $Response->End, but
it will not run if there was an error earlier in the request.
+ lots of new test cases covering behaviour of $Response->End
and $Response->Redirect under various conditions like XMLSubs
and SoftRedirect and global.asa Script_OnStart
+ asp-perl will be installed into the bin executables when
Apache::ASP is installed. asp-perl is the command line version
of Apache::ASP that can also be used to run script in CGI mode.
Test case covering asp-perl functionality.
+ asp CGI/command line script now called asp-perl. I picked this
name because Apache::ASP often has the name asp-perl in distributions
of the module.
+ Apache::ASP::CGI::Test class now subclass of Apache::ASP::CGI. To facilitate
this Apache::ASP::CGI::init() now called OO like Apache::ASP::CGI->init()
Fixed up places where the old style was called. New Test class allows
a dummy Apache request object to be built which caches header & body output
for later inspection instead of writing it to STDOUT.
- $Response->Redirect() under SoftRedirect 1 will not first Clear() buffer
- $Response->Redirect() in an XMLSubs will work now ... behavior
of $Response->Flush() being turned off in an XMLSubs was interfering with this.
+ srand() init tracking done better, thanks for patch from Ime Smits
+ Added file/directory being used for precompilation in
Apache::ASP->Loader($file, ...) to output like:
[Mon Feb 04 20:19:22 2002] [error] [asp] 4215 (re)compiled 22 scripts
of 22 loaded for $file
This is so that when precompiling multiple web sites
each with different directories, one can easier see the
compile output relevant to the Loader() command being run.
+ better decomp of Apache::ASP site build files at ./build/* files,
which is good should anyone look at it for ideas.
+ improved test suite to error when unintended output results from
t/*.t test scripts.
- () now supported in XMLSubsMatch config, added xmlsubsmatch.t test...
specifically a config like
PerlSetVar (aaa|bbb):\w+
should now work. Thanks for bug report from David Kulp.
+ Added an early srand() for better $ServerID creation
+ Work around for DSO problems where $r is not always correctly
defined in Apache::ASP::handler(). Thanks to Tom Lear for patch.
$VERSION = 2.31; $DATE="01/22/2002";
+ $Server->MapInclude() API extension created to wrap up Apache::ASP::SearchDirs
functionality so one may do an conditional check for an include existence befor
executing $Response->Include(). Added API test to server.t
+ $Server->Transfer() now allows arguments like $Response->Include(), and now acts just
as a wrapper for:
$Response->Include($file, @args);
$Response->End();
added test case at t/server_transfer.t
+ Removed dependency of StatINC functionality on Apache::Symbol. Apache::Symbol
is no longer required. Added test of t/stat_inc.t for correct StatINC initialization
for platforms where Devel::Symdump is present.
+ Better error message when $Request->Params has not been defined with RequestParams
config & it gets used in script. Added test case as t/request_params_none.t
+ Directories cannot now be included as scripts via $Response->Include(), added
test case to t/include.t
- No longer make $Response->Flush dependent on $Response->IsClientConnected() to
be true to write output to client. There have been spurious errors reported
about the new ( >= 2.25 ) IsClientConnected code, and this will limit the impact
of that functionality possibly not working still to those users explicitly using
that API.
+ $Response->AddHeader($header_name, $value) now will set $Response members
for these headers: Content-Type, Cache-Control, Expires. This is to avoid
both the application & Apache::ASP sending out duplicate headers. Added
test cases for this to t/response.t
+ split up Bundle::Apache::ASP into that, and Bundle::Apache::ASP::Extra
the former with just the required modules to run, and the latter
for extra functionality in Apache::ASP
+ new $Request->{Method} member to return $r->method of GET or POST that
client browser is requesting, added t/request.t sub test to cover this member.
$VERSION = 2.29; $DATE="11/19/2001";
+Added some extra help text to the ./cgi/asp --help message
to clarify how to pass arguments to a script from the command line.
+When using $Server->Mail() API, if Content-Type header is set,
and MIME-Version is not, then a "MIME-Version: 1.0" header will be sent
for the email. This is correct according to RFC 1521 which specifies
for the first time the Content-Type: header for email documents.
Thanks to Philip Mak for pointing out this correct behavior.
+Made dependent on MLDBM::Sync version .25 to pass the taint_check.t test
+Improved server_mail.t test to work with mail servers were relaying is denied
+Added <html><body> tags to MailErrorsTo email
--Fixed SessionCount / Session_OnEnd bug, where these things were not
working for $Sessions that never had anything written to them.
This bug was introduced in 2.23/2.25 release.
There was an optimization in 2.23/2.25 where a $Session that was never
used does not write its state lock file & dbm files to disk, only if
it gets written too like $Session->{MARK}++. Tracking of these NULL $Sessions
then is handled solely in the internal database. For $Session garbage
collection though which would fire Session_OnEnd events and update
SessionCount, the Apache::ASP::State->GroupMembers() function was just
looking for state files on disk ... now it looks in the internal database
too for SessionID records for garbage collection.
Added a test at ./t/session_events.t for these things.
+Some optimizations for $Session API use.
+Added support for XSLT via XML::LibXSLT, patch courtesy of Michael Buschauer
-Got rid of an warning when recompiling changing includes under perl 5.6.1...
undef($code) method did not work for this perl version, rather undef(&$code) does.
Stopped using using Apache::Symbol for this when available.
-Make Apache::ASP script run under perl taint checking -T for perl 5.6.1...
$code =~ tr///; does not work to untaint here, so much use the slower:
$code =~ /^(.*)$/s; $code = $1; method to untaint.
-Check for inline includes changing, included in a dynamic included
loaded at runtime via $Response->Include(). Added test case for
this at t/include_change.t. If an inline include of a dynamic include
changes, the dynamic include should get recompiled now.
-Make OK to use again with PerlTaintCheck On, with MLDBM::Sync 2.25.
Fixed in ASP.pm, t/global.asa, and created new t/taint_check.t test script
+Load more modules when Apache::ASP is loaded so parent will share more
with children httpd:
Apache::Symbol
Devel::Symdump
Config
lib
MLDBM::Sync::SDBM_File
+When FileUploadMax bytes is exceeded for a file upload, there will not
be an odd error anymore resulting from $CGI::POST_MAX being triggered,
instead the file upload input will simply be ignored via $CGI::DISABLE_UPLOADS.
This gives the developer the opportunity to tell the user the the file upload
was too big, as demonstrated by the ./site/eg/file_upload.asp example.
To not let the web client POST a lot of data to your scripts as a form
of a denial of service attack use the apache config LimitRequestBody for the
max limits. You can think of PerlSetVar FileUploadMax as a soft limit, and
apache's LimitRequestBody as a hard limit.
--Under certain circumstances with file upload, it seems that IsClientConnected()
would return an aborted client value from $r->connection->aborted, so
the buffer output data would not be flushed to the client, and
the HTML page would return to the browser empty. This would be under
normal file upload use. One work-around was to make sure to initialize
the $Request object before $Response->IsClientConnected is called,
then $r->connection->aborted returns the right value.
This problem was probably introduced with IsClientConnected() code changes
starting in the 2.25 release.
$VERSION = 2.27; $DATE="10/31/2001";
+ Wrapped call to $r->connection->fileno in eval {} so to
preserve backwards compatibility with older mod_perl versions
that do not have this method defined. Thanks to Helmut Zeilinger
for catching this.
+ removed ./dev directory from distribution, useless clutter
+ Removed dependency on HTTP::Date by taking code into
Apache::ASP as Apache::ASP::Date. This relieves
the dependency of Apache::ASP on libwww LWP libraries.
If you were using HTTP::Date functions before without loading
"use HTTP::Date;" on your own, you will have to do this now.
+ Streamlined code execution. Especially worked on
$Response->IsClientConnected which gets called during
a normal request execution, and got rid of IO::Select
dependency. Some function style calls instead of OO style
calls where private functions were being invokes that one
would not need to override.
- Fixed possible bug when flushing a data buffer where there
is just a '0' in it.
+ Updated docs to note that StateCache config was deprecated
as of 2.23. Removed remaining code that referenced the config.
+ Removed references to unused OrderCollections code.
- Better Cache meta key, lower chance of collision with
unrelated data since its using the full MD5 keyspace now
+ Optimized some debugging statements that resulted
from recent development.
+ Tie::TextDir .04 and above is supported for StateDB
and CacheDB settings with MLDBM::Sync .21. This is good for
CacheDB where output is larger and there are not many
versions to cache, like for XSLTCache, where the site is
mostly static.
+ Better RESOURCES section to web site, especially with adding
some links to past Apache::ASP articles & presentations.
$VERSION = 2.25; $DATE="10/11/2001";
+ Improved ./site/apps/search application, for better
search results at Apache::ASP site. Also, reengineered
application better, with more perl code moved to global.asa.
Make use of MLDBM::Sync::SDBM_File, where search database
before was engineering around SDBM_File's shortcomings.
- Fix for SessionSerialize config, which broke in 2.23
Also, added t/session_serialize.t to test suite to catch
this problem in the future.
$VERSION = 2.23; $DATE="10/11/2001";
+Make sure a couple other small standard modules get loaded
upon "PerlModule Apache::ASP", like Time::HiRes, Class::Struct,
and MLDBM::Serializer::Data::Dumper. If not available
these modules won't cause errors, but will promote child httpd
RAM sharing if they are.
-XMLSubs args parsing fix so an arg like z-index
does not error under UseStrict. This is OK now:
<my:layer z-index=3 top=0 left=0> HTML </my:layer>
-Only remove outermost <SCRIPT> tags from global.asa
for IIS/PerlScript compatibility. Used to remove
all <SCRIPT> tags, which hurt when some subs in globa.asa
would be printing some JavaScript.
+$Response->{IsClientConnected} now updated correctly
before global.asa Script_OnStart. $Response->IsClientConnect()
can be used for accurate accounting, while
$Response->{IsClientConnected} only gets updated
after $Response->Flush(). Added test cases to response.t
+$Server->HTMLEncode(\$data) API extension, now can take
scalar ref, which can give a 5% improvement in benchmarks
for data 100K in size.
-Access to $Application is locked when Application_OnEnd &
Application_OnStart is called, creating a critical section
for use of $Application
++MLDBM::Sync used now for core DBM support in Apache::ASP::State.
This drastically simplifies/stabilizes the code in there
and will make it easier for future SQL database plugins.
+New API for accessing ASP object information in non content
handler phases:
use Apache::ASP;
sub My::Auth::handler {
my $r = shift;
my $ASP = Apache::ASP->new($r)
my $Session = $ASP->Session;
}
In the above example, $Session would be the same $Session
object created later while running the ASP script for this
same request.
Added t/asp_object.t test for this. Fixed global.asa to only
init StateDir when application.asp starts which is the first
test script to run.
-Fixed on Win32 to make Apache::ASP->new($r) able to create
multiple master ASP objects per request. Was not reentrant
safe before, particularly with state locking for dbms like
$Application & $Session.
++Output caching for includes, built on same layer ( extended )
as XSLTCache, test suite at t/cache.t. Enabled with special
arguments to
$Response->Include(\%args, @include_args)
$Response->TrapInclude(\%args, @include_args)
$Server->Execute(\%args, @include_args)
where %args = (
File => 'file.inc',
Cache => 1, # to activate cache layer
Expires => 3600, # to expire in one hour
LastModified => time() - 600, # to expire if cached before 10 minutes ago
Key => $Request->Form, # to cache based on checksum of serialized form data,
Clear => 1, # to not allow fetch from cache this time, will always execute include
);
Like the XSLTCache, it uses MLDBM::Sync::SDBM_File
by default, but can use DB_File or GDBM_File if
CacheDB is set to these.
See t/cache.t for API support until this is documented.
+CacheSize now supports units of M, K, B like
CacheSize 10M
CacheSize 10240K
CacheSize 10000000B
CacheSize 10000000
-Better handling of $Session->Abandon() so multiple
request to the same session while its being destroyed
will have the right effect.
+Optimized XMLSubs parsing. Scripts with lots lof XMLSubs
now parse faster for the first time. One test script with
almost 200 such tags went from a parse time of around 3 seconds
to .7 seconds after optimizations.
+Updated performance tuning docs, particularly for using
Apache::ASP->Loader()
+$Server->URL($url, \%params) now handles array refs
in the params values like
$Server->URL($url, { key => [ qw( value1 value2 ) ] })
This is so that query string data found in
$Request->QueryString that gets parsed into this form
from a string like: ?key=value&key=value2 would be
able to be reused passed back to $Server->URL to
create self referencing URLs more easily.
-Bug fix where XMLSubs like <s:td /> now works on perl
5.005xx, thanks to Philip Mak for reporting & fix.
+When searching for included files, will now join
the absolute path of the directory of the script
with the name of the file if its a relative file
name like ./header.inc. Before, would just look
for something like ././header.inc by using '.'
as the first directory to look for includes in.
The result of this is that scripts in two directories
configured with the same Global setting should be able
to have separate local header.inc files without causing
a cached namespace collision.
+$Server->Config() call will return a hash ref
to all the config setting for that request, like
Apache->dir_config would.
-StatINC setting with Apache::ASP->Loader() works again.
This makes StatINC & StatINCMatch settings viable
for production & development use when the system has
very many modules.
-Cookieless session support with configs like SessionQueryParse
and SessionQuery now work for URLs with frags in them
like http://localhost?arg=value#frag
+@rv = $Response->Include() now works where there are
multiple return values from an include like:
<% return(1,2); %>
took maintainership
ChangeLog:
2.2 Tue Apr 29 10:44:57 EDT 2008
- Fix test failure by requiring at least HTML::FillInForm 1.07 (RT#35056)
No code changes.
ChangeLog:
4.10 Tue Jun 17, 2008
This release maintains the same API public from 4.06. Changes since the
last stable release include documentation updates and refactors to the internal
of CGI::Application.
[DOCUMENTATION]
Several documentation improvements (Mark Stosberg)
- Reformat POD so methods are easier browse on CPAN
- Highlight some specific, common plugins to use
- Mention that we now have two CGI::App specific testing tools to use
Test::WWW::Mechanize::CGIApp and Test::WWW::Selenium::CGIApp
- Introduce and recommend CGI::Application::Dispatch
- Consolidated the documentation on error_mode()
- Split out those application methods which are essential from
those that are not.
- Use and recommend "$c" instead of "$self" to cut down on
typing for something that is abstract anyway, and represented
a simple "." in Perl 6.
- Mention CGI::Application::Server for offline website development.
- Update the introduction to clarify that we are a proven, lightweight
option.
- Removed the "experimental" flag on the error hook.
- Mention in the second Perl.com article in the "more reading" section.
- Document darcs repo URL. (Suggested by Gabor)
4.07_03 Mon Jun 16, 2008
[INTERNALS]
- The refactor to split up run() in 4.07_01 started to always pass the run mode
name as an argument to run modes. The behavior has now been reverted to
only pass the run mode name in the AUTOLOAD case. (Mark Stosberg)
[DOCUMENTATION]
- Fix typo in example. Thanks to Lesley Binks.
- document that header_props() can be usefully called with no arguments
to return the current headers. Thanks to neuhaus, RT#33992.
4.07_02 Weds Oct 31, 2007
[DOCUMENTATION]
- typo corrections (Evan Zacks)
- The docs for header_type() have been improved, including an example of using
CGI::Applicatin::Plugin::Redirect (Mark Stosberg)
[INTERNALS]
- Reverted switch to Class::MOP in 4.07_01, which benchmarking showed
to be slower. (Mark Stosberg)
- Beautify the code for _send_headers (Chris Dolan, Mark Stosberg)
4.07_01 Sun Jul 2, 2006
[INTERNALS]
- Switched from using Class::ISA to Class::MOP for introspection. Class::MOP
models the way this will be done Perl6, providing the same result. (Mark Stosberg)
- better test diagnostics (rjbs)
- improve test coverage (rjbs)
- improve consistency of checks for false/0len/undef (rjbs)
- split &run up into chunks (not yet finalized). New methods currently include:
__get_runmode
__get_runmeth
__get_body
Feedback is welcome on whether these should be exposed to the user, with
(possibly) better names. (rjbs)
0.34
* Call setup_environment if a Net::Server is being used, for consistency.
* Don't print_banner if a Net::Server is being used.
* Make header parsing comply with RFC 2616. [rt.cpan.org #21411]
0.33 Fri Apr 25 13:57:30 EDT 2008
* The new support for background processes notifying the parent
didn't quite work right for some apps using HSS. It's been
reverted for now and the tests TODOED
0.32 Thu Apr 24 09:45:14 EDT 2008
* At least Apache and lighttpd put unencoded strings into PATH_INFO,
so so should we.
* Patch from ntyni@iki.fi to make backgrounding of the standalone
server's server process deterministic. [rt.cpan.org #28122]
0.07 Wed, 19 Mar 2008 18:41:56 +0000
- Only serve files not directories, thanks to Bradley Bailey
for the report.
Closes http://rt.cpan.org/Public/Bug/Display.html?id=34068
- Fixed url handling for requests from IE/
Closes http://rt.cpan.org/Public/Bug/Display.html?id=27650
0.06 Mon, 23 Jul 2007 10:42:37 +0100
- Fixed problem with handling empty files where they have no
file extension or it is not recognised by MIME::Types.
Thanks to Mark Stosberg for the report
0.05 Mon, 6 Nov 2006 09:29:42 +0000
- Applied patch from Max Maischein to use the binmode function
rather than the binmode method of IO::File, which only exists
in newer versions of that module which we were not requiring.
0.04 Thu, 20 Jul 2006 12:03:21 +0100
- Applied patch from Tom Hukins to make
HTTP::Server::Simple::Static RFC compliant. Section 4.1 of
RFC 2616, "Message Types", states that header fields should
be separated by CRLF. This is done in the manner recommended
in perlport(1).
- Also applied patch from Tom Hukins to add the "use bytes"
pragma to ensure Content-Length contains the number of bytes
in the response body, not the number of characters.
0.03 Tue, 13 Jun 2006 11:00:58 +0100
- Fixed documentation to show that HTTP::Server::Simple::CGI
should be used as the base class.
Closes: http://rt.cpan.org/Public/Bug/Display.html?id=18682
- Switched to using IO::File for the file handling, also
turned on binmode to help those on Windows serve images, etc.
Pkgsrc change: removed direct dependency on p5-HTML-Tagset
(it is pulled in by p5-HTML-Tree).
Upstream changes:
0.951 Thu Sep 13 10:19:00 CET 2001
One small bugfix by Michael Kablitz
- textarea-handling was broken and needed double $ because of
references. Damn typos. Funny thing: nobody else mentioned it.
Half a year with a broken package :-)
0.95 Fri Feb 10 08:01:00 CET 2001
Some bugfixes from Sean M. Burke:
- textarea was still broken in new_many, now fixed.
- iteration over self->content || [], not self->content alone
(that one could be undef)
0.9 Thu Feb 9 19:43:00 CET 2001
Some bugfixes and some extensions by Sean M. Burke:
- ISINDEX is supported
- a new constructor new_many is created that parses all forms of
a HTML file so you don't have to manually extract links any more.
This constructor handles stray form elements outside of forms.
- the name of form elements is cached and can be queried
0.8 Mon Dec 18 09:57:00 CET 2000
Some bugfixes and some extensions:
- textarea should now work in both forms. Before there was either
a problem with textareas that included some default text, or
with empty textareas. Now Form.pm does look wether the contents
of a textarea is able to perform as_HTML and only uses it if
it is able to do it. Should fix some longstanding problems with
textareas.
- ex/yahoo.pl wasn't in the MANIFEST
- added a simple test procedure that just checks if it can be loaded
Pkgsrc change: add dependency on p5-libwww.
Upstream changes:
0.22 Thu May 1 00:18:38 CEST 2008
[TESTS]
- increased test coverage
- t/23connect.t doesn't need an Internet connection any more,
thus closing RT ticket #19653.
- t/67complete.t tests HTTP::Proxy::BodyFilter::complete
[DOCUMENTATION]
- closed RT ticket #33465 (Jimbo), by explaining in a little
more detail how HTTP::Proxy::BodyFilter::complete works.
0.21 Sun Apr 20 04:34:47 CEST 2008
[ENHANCEMENTS]
- HTTP::Proxy::Engine::Legacy and HTTP::Proxy::Engine::ScoreBoard
log the number of remaining child processes (in addition to
their pids), thanks to Amos Shapira.
[FIXES]
- HTTP::Proxy::BodyFilter::save had a bug that prevented the
'filename' parameter to be correctly used to compute the
filename to save to, and that made the proxy die the second
time the filter was called.
This fix allowed to close RT tickets #14548 (Max Maischein),
#18644 (Mark Tilford) and #33018 (Roland Stigge and Gunnar Wolf).
- HTTP::Proxy::BodyFilter::save had many other bugs, which the
test suite allowed to spot and fix.
[TESTS]
- t/67save.t provides 96% coverage of HTTP::Proxy::BodyFilter::save,
and helped fix many bugs in it.
- fixed t/22http.t and t/22transparent.t not to break when the
DNS wrongly resolves an invalid address.
[DOCUMENTATION]
- closed RT ticket #25295 (Matsuno Tokuhiro) with a doc patch.
0.20 Fri Aug 18 10:25:11 CEST 2006
[ENHANCEMENTS]
- Added a will_modify() method to HTTP::Proxy::BodyFilter, that
lets the proxy know if a filter may modify the content length,
thus closing RT ticket #21051 (Chris Dolan)
- If no filter in the current stack will modify the content length,
then the header is not removed
[FIXES]
- closed RT tickets #3184 and #20251 (chunked encoding was enforced
while transfering data between a client and server using
different versions of HTTP, causing unwanted garbage to appear
in the data)
- removed useless "ERROR: Getting request failed:" messages
when there are simply "No more requests from this connection"
[INTERNALS]
- Removed the HTTP::Proxy::FilterStack class from inside HTTP::Proxy
and put it in its own module file
- renamed HTTP::Proxy::FilterStack::active() as will_modify() for
consistency reasons
[TESTS]
- updated t/22http.t and t/23connect.t following Ken Williams'
recommandations in RT ticket #19986
[DOCUMENTATION]
- patched a small inconsistency in HTTP::Proxy::BodyFilter's
documentation (and closed RT ticket #20303)
- fully documented HTTP::Proxy::FilterStack
0.19 Fri Apr 28 19:55:41 CEST 2006
[ENHANCEMENTS]
- HTTP::Proxy::HeaderFilter::simple now lets one define an
end() method as well
[FIXES]
- HTTP::Proxy::(Body|Header)Filter::simple now provide a default
filter() that does nothing if their constructor is not given one
(thanks to Merijn Brand)
- close RT ticket #14548 by correcting the 'filename' check
in HTTP::Proxy::BodyFilter::save (Max Maischein)
- ERROR messages are always logged (Mark Tilford)
[TESTS]
- more tests for log() and logmask() in t/11log.t
version: 0.62
date: ???
changes:
- blocked elements are not blocked if they are contained within
a blocked element (with much thanks to Dominick Bellizzi for
the patch)
- rules_for_tag() now dereferences the 'alias' subrule
2.08a 23 June 2008
- Fixed outputing row class attribute twice.
Request and fix from Reinhard Mutz
2.08 10 April 2008
- Added delRow and delSectionRow methods.
Request from Kyle Davenport <kyle.davenport at fmr.com>
- Fixed error in getTable, which output the wrong section attributes.
Request and fix from Colin Fine <colin.fine at pace.co.uk>
- Added getSection method to modularize the creation of Section HTML.
- Created new set of methods which apply Cell attributes
across a row. This is to make a clear distinction from
those methods that set row attributes (tr). Suggest by
Colin Fine <colin.fine at pace.co.uk>
2.07b
05 February 2008
- Fixed error in setSectionRowWidth.
Request from Ravi Kondamuru <ravikondamuru at gmail.com>
2.07a
04 February 2008
- Changed status from beta to full.
- Fixed error in setCellHeight.
Request from Ravi Kondamuru <ravikondamuru at gmail.com>
2.07-b2
09 October 2007
- Removed text output when empty table is printed.
Request from Erik Tank <erik at atjeu.com>
2.07-b1
17 September 2007
- Changed order of output for table sections, to comply
with the HTML 4.01 standard.
2.07-beta
13 September 2007
- Added THEAD, TFOOT and TBODY sections.
Request from Miguel Santinho <msantinho at simplicidade.com>.
There are now methods that take a section and section
number as parameters. ie. setSectionCell ( 'tbody', 0,
2, 3, 'Cell 2,3');
Existing methods default to working on the first tbody
section, for backwards compatibility.
You can have only one each of tfoot and thead sections,
but multiple tbody sections.
2.06
4 June 2007
- Added patch for even/odd row class support, supplied by Chris Weyl
Thanks to Chris Weyl <cweyl at alumni.drew.edu> for this patch.
2.05
15 March 2007
- Fixed code so that all HTML tags and attributes are in lower case.
2.04
23 January 2006
- AUTOLOAD method was making the module sliently ignore calls to invalid
methods.
Thanks to Gordon Lack <gml4410 at ggr.co.uk> for the fix.
2.03
6 December 2005
- Added get methods for Style attributes.
Thanks to Douglas Riordan <doug.riordan at gmail.com> for this.
Zope 2.11.1 (2008/07/17)
Bugs Fixed
- Suppressed DeprecationWarning during import of ZPublisher.Iterators:
that module needs to use Z2-style interfaces in 2.11, for BBB, but
the Interface module itself issues the warning on import.
- Launchpad #246748: added 'immediate' option to sendXXX() methods
for sending a mail immediately by-passing the zope.sendmail delivery
mechanism
- Launchpad #246290: fixed backward compatibility issue
- zope.testing : updated to 3.5.3
- Launchpad #245649: the Products package is now a proper
"namespace package" under the rules specified by setuptools.
- zope.viewlets: updated to 3.4.2
- zope.sendmail: updated to 3.5.0 (fixing Launchpad #230831)
- Launchpad #239636: Ensure that HEAD requests lock an empty body
for NotFound errors.
- fixed outdated transaction.commit(1) call in
ZODBMountPoint.SimpleTrailblazer
- Changed homepage URL as the old one is unaccessible
ChangeLog:
- no entry for 1.10 -
1.09
* add method "pointset" to VRML::VRML2
* bug in method line fixed
1.08
* add method "torus" to VRML::VRML2
1.07
* add "language" to method text
1.06
* remove a bug in VRML::VRML2::Standard::IndexedFaceSet (Thanx Bridget Kenyon)
1.05
* add "textrans" to method "appearance" in VRML::VRML2
* ROUTEs now moved at the end of nodes
ChangeLog:
4.34 - Sunday, July 13, 2008
* SECURITY: Patch CGI::Session::Driver::file to stop \ and / characters being used in
session ids and hence in file names. These characters, possibly combined with '..',
could have been used to access files outside the designated session file directory.
Reported by TAN Chew Keong of vuln.sg.
* FIX: Patch CGI::Session to propagate error upwards when _load_pluggables() fails.
See RT#37628 and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=490198.
* INTERNAL: Ship a machine-readable version of this file under the name Changelog.ini.
The latter file is generated by ini.report.pl, which is shipped with Module::Metadata::Changes.
The reason Changelog.ini does not contain a separate section for each version in this file
is that some of the versions documented below have no datestamp, and ini.report.pl does not create
fake datestamps.
4.33 - Monday, July 7, 2008
* FIX: Patch CGI::Session::Driver::mysql to replace 'REPLACE INTO ...' with
'INSERT INTO ... ON DUPLICATE KEY UPDATE ...'. See RT#37069.
Thanks to Steve Kirkup for the patch. I (Ron) installed MySQL V 5.0.51a for testing.
Note: http://dev.mysql.com/doc/refman/5.0/en/releasenotes-cs-5-0-45.html and similar docs
list various MySQL errors fixed recently for the above new syntax. Also, the new version
is now much more like the Postgres code, which is another reason it has been adopted.
* FIX: t/mysql.t used to test setting the global variable $CGI::Session::MySQL::TABLE_NAME.
The test for this (in t/mysql.t) was introduced in V 4.00_09.
However, since V 4.29_1, changes to CGI::Session::Driver's new() method mean
this way of setting the session table's name no longer works, and so the variable
$CGI::Session::MySQL::TABLE_NAME is now not used. Hence it has been removed.
Code in CGI::Session::Driver::DBI used to set $class::TABLE_NAME for all database drivers.
This code has also been removed. Moral: Don't use global variables.
Call $session = CGI::Session -> new(..., ..., (TableName => 'new_name'}) or,
after creating the object, call $session -> table_name('new_name').
To retrieve the name, call $name = $session -> table_name().
4.32 - Tuesday, June 17, 2008
* FIX: Packaging of 4.31 release was botched.
4.31 - Tuesday, June 10, 2008
* FIX: Patch CGI::Session::Driver::DBI to check that the DBI handle still exists before trying
to ping it. This handles the case where the DBI object is destroyed before the session object.
See RT#35925.
* FIX: Patch CGI::Session::Driver::DBI's remove() which still hard-coded the column name 'id' instead
of using the new feature which allows the user to specify the name of the column. See RT#36235.
* FIX: Patch POD yet again to emphasize that an explicit call to destroy() should be followed by
explicit call to flush(), in particular in the case where the program is not exiting and
hence auto-flushing is not activated. Sections patched are 'A Warning about Auto-flushing'
and the docs for delete(). See RT#34668.
4.30 - Friday, April 25, 2008
* FIX: Patch POD for CGI::Session in various places, to emphasize even more that auto-flushing is
unreliable, and that flush() should always be called explicitly before the program exits.
The changes are a new section just after SYNOPSIS and DESCRIPTION, and the PODs for flush(),
and delete(). See RT#17299 and RT#34668
* NEW: Add t/new_with_undef.t and t/load_with_undef.t to explicitly demonstrate the effects of
calling new() and load() with various types of undefined or fake parameters. See RT#34668
* FIX: Patch POD for new() and load() to clarify the result of calling these with undef, or with
an initialized CGI object with an undefined or fake CGISESSID. See RT#34668.
Specifically: You are strongly advised to run the old-fashioned
'make test TEST_FILES=t/new_with_undef.t TEST_VERBOSE=1' or the new-fangled
'prove -v t/new_with_undef.t', for both new*.t and load*.t, and examine the output
* FIX: Patch POD in various tiny ways to improve the grammar
4.29_2 - Thursday, March 27, 2008
* FIX: stop ExtUtils::MakeMaker trying to create Build.PL (Ron Savage)
* FIX: Disable trying to use utf8 in tests. (Ron Savage) Ref RT#21981, RT#28516
4.29_1 - Saturday, March 15, 2008
Special Thanks to Ron Savage who did the bulk of the work to put this release together.
* FIX: Patch CGI::Session to fix RT#29138 (Patch by Barry Friedman)
* NEW: Add a note to CGI::Session's POD referring to utf8 problems, and include references
to RT#21981 (Reported by erwan) and RT#28516 (Reported by jasoncrowther)
* FIX: Patch CGI::Session::Driver::DBI.pm to fix RT#24601 (Patch by latypoff)
* FIX: Patch CGI::Session::Driver::DBI.pm to fix RT#24355 (Reported by fenlisesi, patch by Ron Savage)
* NEW: Add t/bug24285.t to ensure session data files are created properly when the user specifies a
directory other than /tmp (Reported by William Pearson RT#24285, patch by Ron Savage)
* FIX: Patch t/ip_matches.t and t/bug21592.t to remove test files left in /tmp, to fix RT#29969
(Reported by ANDK, patch by Ron Savage)
* FIX: Patch POD for CGI::Session::Driver::file to clarify how to use the option to change the
file name pattern used to created session files (Report by appleaday RT#33635,
patch by Ron Savage)
* FIX: Patch CGI::Session::Driver::sqlite to add sub DESTROY to fix RT#32932
(Patch by Alexander Batyrshin, corrected by Ron Savage)
* FIX: Remove CGI::Session::Seralize::json and t/g4_dbfile_json.t until such time as this code
can be made to work reliably. Both JSON::Syck and JSON::XS have been tried, and in both
cases t/g4_dbfile_json.t dies horribly (but differently). Patch POD for CGI::Session to
remove references to JSON. RT#25325 (Reported by bkw, patch by Ron Savage)
* NEW: Patch CGI::Session's POD and load() to allow the session/cookie name default of CGISESSID
to be overridden. (Patch by Lee Carmichael RT#33437, reformatted by Ron Savage). Lee has
also patched t/name.t to test the new functionality
* NEW: Split CGI::Session::Serialize::yaml out into its own distro. Get it hot from CPAN!
* NEW: Add Build.PL for Module::Build users. This also requires adding PL_FILES => {}
to Makefile.PL to beat ExtUtils::MakeMaker over the head, otherwise it executes
'perl Build.PL Build'
* NEW: Support specification of both the id column name and the a_session column name in the
sessions table, by extending the options acceptable in CGI::Session->new(..,..,{here}).
Allow: {TableName => 'session', IdColName => 'my_id', DataColName => 'my_data'}.
Default: {TableName => 'sessions', IdColName => 'id', DataColName => 'a_session'}.
Allow any 1, 2 or 3 of these options. Missing keys default as specified.
(Patch by Chris RT#2224. Implemented differently by Ron Savage). Supported drivers:
o MySQL (native to CGI::Session)
o ODBC (separate distro, CGI::Session::Driver::odbc V 1.01)
o Oracle (separate distro, CGI::Session::Driver::oracle V 1.01)
o Postgres (native)
o SQLite (native)
* Fixed several security issues.
* Fixed several stability issues.
* Fixed an issue where the phishing and malware database did not update on first launch.
* Under certain circumstances, Firefox 3.0 did not properly save the SSL certificate exceptions list.
* Updated the internal Public Suffix list.
* In certain cases, installing Firefox 2 in the same directory in which Firefox 3 has been installed resulted in Firefox 2 being unstable. This issue was fixed as part of Firefox 2.0.0.15.
* Fixed an issue where, when printing a selected region of content from the middle of a page, some of the output was missing (bug 433373).
* Fixed a Linux issues where, for users on a PPP connection (dialup or DSL) Firefox always started in "Offline" mode (bug 424626).
* Updated translations.
* Fix album display for folders which do not contain any images. This fixes
8212.
* Fix invalid redirect in default view for comments.
* Update the sharing page:
o never reindex more than once when making changes.
o modify the search button to only search. Previously it would also
apply all changes in addition to doing a search.
o do nothing if the form is submitted but no changes were made.
o handle invalid LDAP or OpenID users correctly.
* Update Archetypes:
o use Content-Disposition instead of Content-disposition as HTTP
header for downloads. Fixes problems with MS Internet Explorer 6,
which appears to be case sensitive contrary to standards.
o Add a new viewlet manager which allows adding of content at the
bottom of content edit views.
o Add an option to the reference field to also copy references when
copying an object.
* Update reference browser widget:
o Make it possible to remove references for single-reference fields.
o Add a new property 'startup_directory_method' to use a callable
to determine the startup directory.
o Inserted references were not checked by default on Internet Explorer
7. This fixes 7936.
o Added a new property 'hide_inaccessible'. When set all items for
which the user has no View permission are hidden.
* Add a 'random items' option to the collection portlet.
* Update GenericSetup import steps at each point when loading multiple
profiles. Fixes CMF bug 213905.
* Fix group handling to use group introspection PAS plugins, making it
possible to ask, for example, LDAP groups for their members.
* Fix user search to honour the order of user enumeration PAS plugins
and correctly merge search results.
* Add support for po files inside i18n folders in Python packages.
They need to registered as a Zope2 product but don't need to be in
the Products.* namespace anymore.
* Do not create redirects for temporary URLs used while creating a new
content object. This fixes 8260 and part of 7278.
* Update viewlets to use the 'index' attribute rather than 'render' for
setting viewlet templates. This allows them to be overriden using the
'template' ZCML attribute.
* Do not show the display menu if it is disabled.
* Add an actionMenuSelected class to selected menu items.
* Standardize the rendering of the title in the folder contents template.
* Fix a problem with disappearing security context for customized
browser views.
* Make it possible to customize viewlet and portlet templates registered
with the same name for multiple browser layers.
* Correctly handle objects with a space in their id in the broken-link-checker.
Updated packages and products
* Archetypes 1.5.9
* Products.ATReferenceBrowserWidget 2.0.2
* Products.CMFPlone 3.1.3
* Products.CMFQuickInstallerTool 2.1.6
* Products.GenericSetup 1.4.1
* Products.PlacelessTranslationService 1.4.12
* Products.PlonePAS 3.6
* Products.PloneTranslations: 3.1.3
* five.customerize 0.3
* plone.app.content 1.1.3
* plone.app.contentmenu 1.1.3
* plone.app.customerize 1.1.1
* plone.app.layout 1.1.3
* plone.app.linkintegrity 1.0.10
* plone.app.portlets 1.1.3
* plone.app.redirector 1.0.9
* plone.app.workflow 1.1.3
* plone.fieldsets 1.0.2
* plone.portlet.collection 1.1.3
* plone.session 2.0