Embperl
view release on metacpan or search on metacpan
Changes.pod view on Meta::CPAN
=head1 2.1.0 15. Nov 2005
- Added better UTF-8 support:
- Output escaping now takes Perl's UTF-8 flags into
account and will not escape UTF-8 chars anymore
- Diretive Embperl_Output_Esc_Charset allows to
generaly switch between Latin1, Latin2 and UTF-8.
(For UTF-8 this is not necessary when Perl's UTF-8
Flag is correctly set, but this is not the case
for all datasources)
- Form data that is send to Embperl and put into %fdat
get now Perl's internal UTF8 flags set, in case
the data posted contains a valid UTF8 string.
This can be disabled with the option
optFormDataNoUtf8.
- Added Module Embperl::Inline, which allows to embed
Embperl code in an ordinary Perl module. This makes
is easy to install system wide libraries, which need
to contain Embperl code/markup. See perldoc Embperl::Inline
- [$ sub $] now can takes arguments and inital code like:
[$ sub foo ($self, $a, $b) my $c = $self -> {bar} $]
- Embperl subroutines are now called in array context, to
allow to return multiple return values.
- Added validate type TimeValue, which is a numeric value
followed by s, m, h, d or w.
- Added validate type PosInteger, which is a positiv integer
value
- Added Support for calling Embperl::Object::Execute inside
an Embperl page. (Allow to nest new requests)
- Corrected HTML/XML escaping inside from <textarea> tags.
- Fixed Segfault that could occur when a Embperl sub does
not contain anything.
- Fixed compile problem with timezone on BSD systems
- Fixed URLs in website to work correctly on static mirrors
- Embperl development has been moved from CVS to SVN.
See L<"SVN.pod"|SVN.pod> .
=head1 2.0.1 3. October 2005
- Turn off Apache maintainer mode symbols, so it works with SuSE Apache
- Integrated KWiki into Embperl website (available under eg/web)
- Don't croak if Apache request record is not available (e.g. during startup)
- Fixed wrong setup of $epreq -> param -> filename, when a Embperl offline
processing is made inside an Embperl page. Reported by Gavin Carr.
- Return correct http status codes 403 and 404 if access to a file is
forbidden or the file was not found. Reported by Cliff Rayman.
- Added Date header for Embperl::Mail, Suggested by Robert.
=head1 2.0.0 14. August 2005
- http headers from %http_headers_out will now also be send when the
init method of an application object return non zero (e.g. 302 for redirect).
- Updated xsl stylesheet and css styles of website for better display
of code sections.
- Updated db/epwebapp.pl to make it more robust and fix some minor bugs
and also allows to set edit and view_level (anonymous, login, admin)
for every table.
=head1 2.0rc5 7. August 2005
- Added attribute content-type to mail:send tag (Syntax Mail).
Patch from Axel Beckert.
- Added preloadfiles parameter to %initparam, which allows to
preload files in the parent process, when running under mod_perl.
See perldoc Config.pod for details.
- Fixed unresolved symbol when compiling under SuSE 9.3 (because SuSE
compiles Apache 2 in maintainer mode)
- Fixed strange output when Perl code inside of [$ sub $] returns
before any output.
- Fixed mail:send tag (Syntax Mail), so that Perl code inside the tag
for example to set an attribute, is now executed correctly.
- Fixed incorrect quoting of single quotes inside of <textarea> values,
reported by Axel Beckert.
- Fixed a potential segfault in cache handling. Patch from Yatin Chawathe.
- Documentation cleanup
- Added test for optKeepSpaces.
- Added test for application object in Execute tests.
- Make sure Embperl is listed after Apache itself in the server signature.
=head1 2.0rc4 19. Juni 2005
- Adapted to new mod_perl namespace. Embperl now works correctly
with mod_perl version >= 2.0rc5 (older version are still supported)
NOTE: For file uploads to work you also need to upgrade CGI.pm
- Fixed problem with Execute when GlobalRequestRec option is not
set in mod_perl config.
- use gmtime_r instead of gmtime for time calculation to be thread safe
=head1 2.0rc3 14. March 2005
- Handle warnings the same way under Embperl and Embperl::Object, so they
are in both cases log to embperl.log and the Apache error log and show
up on the error page. Reported by Dirk Melchers.
- Report line number and file name in unstructures jump error messages.
Requested by Michael Smith.
- Fixed sigsegv under solaris cause by NULL point in debug output.
- Applied patches from Angus Lees to make Embperl compile and test on
64Bit machines and avoid some compiler warnings.
- Add pod for embpmsgid.pl from Angus Lees.
- Fix [= =] with included spaces in embpmsgid.pl. Reported by Robert.
- Make undef values for translation hashs treat as the same as
non exists. Requested by Robert.
- Let embpmsgid.pl parse out language tags of gettext, sort output
and don't convert chars > 128 to octal values. Requested by Robert.
- Fixed make test module load problem for mod_perl tests, when
mod_perl is staticly linked into Apache
- Documentation updates and cleanup
- Output an error message when an Embperl sub is called and no
Embperl request is active.
- Do not use method call to output in send_error_page to avoid
trouble with overloaded output function.
- Fixed segfault which occured sometimes randomly after compile
of Embperl page source.
- Reimplemented SetupSession, CleanupSession and SetSessionCookie
which can be used to access Embperl session data from outside,
for example from mod_perl Authentication handler.
- Fixed problem with undefined $req_rec when Embperl::Execute
is called from a registry script. Reported by Martin Moss.
- If an object is passed to die inside Execute the errors array
will receive this object and will not be stringified.
Changes.pod view on Meta::CPAN
inside " ", you will still get a warning)
- Open HTML source in binary mode on Win32 to avoid overhead of crlf -> lf
translation.
- Use aplog_error for apache_1.3 to avoid senseless os errors written to
httpd error log
- Removed some uninitializied value messages when running with
-w / PerlWarn on, spotted by Todd R. Eigenschink
- Fixed a bug which has caused nested 'while' loops to execute incorrectly
if the condition of the outer one is false
=head1 0.23-beta 31 Dec 1997
- Fixed a bug which caused $req_rec to be not defined anymore (Thanks to
Todd R. Eigenschink for the hint and debugging)
- Fixed a bug in escaping special HTML char to normal ascii (Thanks to
Todd R. Eigenschink for the hint)
- Makefile.PL now sets the path to your Perl binary in embpexec.pl and
embpexec.test.pl, so that it works regardless of where your Perl is located
(Thanks to Randall Schwartz for the hint)
- Added the SSLDisable to the test config when running an httpsd. (Thanks
to David Scott for the hint and Ralf S. Engelschall for the Syntax)
- Fixed a bug in <META> tag interpretation which was causing random errors
when not compiled for mod_perl
=head1 0.22-beta 28 Dec 1997
- Changed include path generated in Makefile.PL so Embperl also
compiles with apache_1.3b3 (Thanks to Doug Bagley for the hint)
=head1 0.21-beta 25 Dec 1997
- Embperl offline mode now works under Win 32 (mod_perl and cgi mode
not tested under Win 32 yet, but maybe it works too)
- Totally reworked safenamespace and operatormask handling. Works now
without memory leak, is fully configurable and also does p-code
caching. If you use it, please look at the documentation, because
the configuration has changed.
- Embperl now sends its own error document if it detects an error.
The page contains all the error messages and if you have the
dbgLogLink enabled, all errors are links to the corresponding
line in the logfile. (this can be disabled with optDisableEmbperlErrorPage)
- Added new metacommand [$VAR ... $], which can be used to declare
variables and apply the strict pragma (same as use strict ; use vars )
- Added debug flag dbgHeadersIn which causes Embperl to log all http
headers which are received from the client
- Don't change any unknown HTML Escapes (i.e. && has been translated
to ? in versions < 0.21)
- dbgShowCleanup logs all variables which are automatically undefined at the
end of a request (for scalars the value is also shown)
- Error messages will also be cached, so that the compiling of the code
only takes place once, because erroneous Perl code will cause memory
leaks in Perl itself if it's compiled on and on and on.
- Optimized the compiling of the embedded Perl code
- Changed use Apache::Constants to conform with the new default exports
introduced in mod_perl-1.07_01
- Output of the 'hidden' metacommand is sorted in the same order as the input
from the formfields (sorting order can also be supplied as third argument)
- <meta http-equiv= ... > will override the corresponding http header
(this keeps netscape from asking the user to reload the document
when the content-type differs between the http header and the
meta http-equiv)
This can also be used to set http headers
- Fixed a problem that Embperl magic variables do not work when
the package exists before the first call to Embperl
- Fixed a problem that caused a SIGSEGV when retrieving the same document
containing a Perl error for the second time from the same child
- Fixed a problem that caused Embperl to terminate in offline/cgi-mode
when the file was not found or when access was forbidden
- Fixed a problem with the 'hidden' metacommand, which came up when
arguments were supplied with surrounding spaces
- Fixed a problem that Embperl did not handle metacommands correctly
when HTML tags (e.g. <br>) were embedded
=head1 0.20-beta 15 Nov 97
- Every file is executed in a separate package (don't confuse this
with safe namespaces) to reduce unwanted effects on each other
- Added the configuration directive EMBPERL_PACKAGE which can be used to override
the automatically-generated package name
- The namespace (package) used by a request is cleaned up afterwards.
That means that every scalar, hash or array is undef'ed after the
request to make sure nothing is lying around to possibly make the next request
misbehave.
This requires mod_perl with PERL_CLEANUP=1 and PERL_STACKED_HANDLER=1!
NOTE: To get persistent variables, place them in another namespace i.e.
write $persistent::x instead of $x
- Added configuration directive EMBPERL_OPTIONS to configure various runtime
options. Now only the scalar cleanup can be disabled.
- use log_error for writing to Apache error log to get timestamp
- Escaping inside an <A> tag is changed from an HTML escape to a URL escape
i.e. the space is translated to + and & is translated to %26 and so on
- Escaping can now be turned on and off via $escmode
- Concats ENV and cgi_env under mod_perl so that PerlSetEnv can be used
instead of SetEnv for configuration. In contrast to SetEnv, PerlSetEnv
allows different values per directory/virtual host
- Added two links to show source-loglines and eval-loglines when dbgLogLink
is enabled to have a quick jump to the logfile
- Reget pid for every request, so the correct one will be written to the
logfile, also when Embperl is loaded at server startup
- Check error log in make test, added test for error output
- Fixed a bug which causes Embperl to cause a SIGSEGV when a Perl syntax
error occurred
- Fixed a bug so that a '>' inside of [+/- ... -/+] is not detected as the end
of an HTML tag (Thanks to Todd R. Eigenschink)
=head1 0.19-beta 29 Oct 97
- Rewrote the code for the LOG handle. Now the handle LOG is tied so that every
print/printf is written to embperl.log at the right position. Use this to
do logging from your embedded code or modules
- Fixed a bug which caused garbage to be displayed in dynamic tables (or made
parts of the table disappear)
=head1 0.18-beta 25 Oct 97
- Added caching of p-code. Now all Perl code is compiled only once. On the
second request, the compiled p-code is used. This makes, for example, the
( run in 0.907 second using v1.01-cache-2.11-cpan-d7f47b0818f )