13
=item 1.99_12 - Decemeber 22, 2003
13
=item 1.99_14 - May 21, 2004
15
APR::SockAddr::port() accessor is now read-only [Stas]
17
APR::Pool now has destroy() and clear() available [Stas]
19
now logging the errors happening in pool cleanup callbacks [Stas]
21
use the new Apache-Test attribute -minclient in the test suites. Now
22
along with the default maxclients = minclients+1, we no longer should
23
get 'server reached MaxClients setting' errors. [Stas]
25
new API for APR::Socket recv() and send() + updated tests [Stas]
27
add infrastructure for new ModPerl::Const constants and the first
28
constant ModPerl::EXIT. [Stas]
30
re-implement ModPerl::Util::exit to use exception objects, so it's
31
possible to detect exit called in eval context and call it again
32
outside the eval context. [Stas]
34
add the perl interface for the new exception handling code (mod_perl,
35
apache and apr methods will now throw exceptions with $@ being an
36
object). New class APR::Error was added, to handle the exception
37
objects with overload methods. Also added confess and croak
38
equivalents of Carp's methods, since at the moment the Carp's ones
39
don't work as is. The following perl and C methods have been renamed:
40
modperl_apr_strerror => modperl_error_strerror
41
APR::strerror => APR::Error::strerr
44
set the 'error-notes' table to the error message on
45
HTTP_INTERNAL_SERVER_ERROR [Stas]
47
fix the apxs build function to not handle empty lookups as errors
48
[Randy Kobes, Steve Hay]
50
fix type casting problems in the io functions [Stas]
52
add support for libgtop 2.5.0+ (maintenance mode) [Stas]
54
APR::Socket::timeout_set now croaks on failure [Stas]
56
significantly speedup the startup of threaded mpm test suite, by
57
configuring only the minimal number of perl interpreters to start
60
make APR::Socket::opt_(set|get) working (and change the previous
63
make sure that our protocol module tests that interact with the socket
64
use a blocking read [Joe Orton]
66
Use a better approach to figure out whether we need to strip perl's
67
LargeFilesSource flag, by checking whether libapr was compiled with
68
-D_FILE_OFFSET_BITS=64 or not. Checking for APR_HAS_LARGE_FILES is
69
useless since it doesn't tell whether 32 vs 64 bits off_t and similar
70
types are used [Joe Orton]
72
'SetHandler perl-script' no longer grabs any newly encountered END
73
blocks, and removes them from PL_endav, but only if they are
74
explicitly registered via ModPerl::Global::special_list_register(END
75
=> $package_name) (this is a new function). It's now possible to have
76
a complete control of when END blocks are run from the user space, not
77
only in the registry handlers [Stas]
79
END blocks encountered by child processes and not hijacked by
80
ModPerl::Global::special_list_register() are now executed at the
81
server shutdown (previously they weren't executed at all). [Stas]
83
Added test to ensure <Perl> sections can have things like %Location
86
Fix the installation on Win32 so that an appropriate Apache2
87
subdirectory under the Perl tree is used when MP_INST_APACHE2 is
88
specified [Randy Kobes]
90
Fix a redefined warning in Apache::Status [Stas]
92
Fix Apache::Status, to lookup the Apache::Request version without
93
loading it. Only if a suitable (2.x) version is found -- load and use
94
it. Previously loading the 1.x version was affecting Apache::compat.
97
Fix a bug in special blocks handling (like END), which until now was
98
dropping on the floor all blocks but the last one (mainly affecting
99
registry handlers). [Stas]
101
The filter streaming API print() function, now correctly handles a
104
Fix Registry handlers, not to lose the execution errors, when they
105
include END blocks [Stas]
109
=item 1.99_13 - March 8, 2004
111
respect $ENV{APACHE_TEST_STARTUP_TIMEOUT} settings if any [Stas]
113
Added tests for issuing subrequests from filters [Geoffrey Young]
115
Updated to the new Apache License Version 2.0 [Gozer]
117
Drop the support for making GATEWAY_INTERFACE special. It's not needed
118
as $ENV{MOD_PERL}, available in both mod_perl generations, should be
119
used to test whether the code is running under mod_perl. [Stas]
121
Handle correctly the situation when response HTTP headers are printed
122
from the handler and the response body starts with \000, which is the
123
case with some images like .ico. [Stas]
125
Apache::PerlSections->dump() and store(filename) [Gozer]
127
expose $c->keepalive related constants and $c->keepalives counter
130
Perl handlers are now guaranteed to run before core C handlers for
131
all request phases. [Geoffrey Young]
133
Fix the STDIN/OUT overriding process to handle gracefully cases, when
134
either or both are closed/bogus (the problem was only with useperlio
137
copy apr_table_compress logic from later httpd versions in case mod_perl
138
is built against 2.0.46, as mod_perl now requires it internally. users
139
should be aware that 2.0.47 may become the oldest supported httpd version
140
in the near future. [Geoffrey Young]
142
Fix the corruption of the httpd process argv[0], caused by $0
145
ModPerl::MethodLookup::lookup_method now handles sub-classed objects
148
standard %ENV population with CGI variables and contents of the
149
subprocess_env table (such as SetEnv and PassEnv) has been delayed
150
until the last possible moment before content-generation runs.
151
PerlSetEnv and PerlPassEnv are each an exception to this and are
152
placed in both %ENV and the subprocess_env table immediately,
153
regardless of the current [+-]SetupEnv setting.
156
fix PerlAddVar configuration merging [Geoffrey Young]
158
Anonymous subs are now supported in push_handlers, set_handlers,
159
add_input_filter, etc. A fast cached cv is used with non-ithreaded
160
perl. A slower deparse/eval approach (via B::Deparse) is used with
161
ithreads enabled perls. Further optimizations are planned for the
164
ht_time w/o the pool is now available only via override/restore compat
165
API. format_time, has been renamed back to ht_time, and the default
166
values for fmt, time and gmt are now supported. [Stas]
168
it's now possible to push new handlers into the same phase that is
169
running at the moment [Stas].
171
when $r->handler($new_handler) is called from a response phase, it now
172
checks that the response handler type is not switched (e.g. from
173
'modperl' to 'perl-script') from the currently used one [Stas]
175
Since Apache::SubProcess is now part of the mp2 API, add
176
$r->cleanup_for_exec as a noop in Apache::compat. That function is no
177
longer needed in Apache2. [Stas]
179
When 'perl Makefile.PL PREFIX=/foo/bar' is used and mod_perl 1 is
180
found, but at different prefix no longer require
181
MP_INST_APACHE2=1. [Stas]
183
modperl_mgv_resolve now croaks when a module scheduled for autoloading
184
fails to load. AutoLoaded modules shouldn't silently fail. [Stas]
186
Perl(Input|Output)FilterHandler handlers are now always AutoLoaded, as
187
if '+' prefix was used. This must be performed to get the access to
188
filter attributes long before the filter itself is executed. [Stas]
190
APR/Pool.xs has been reimplemented. The problem with the previous
191
implementation is that a dead perl pool object could hijack a newly
192
created pool, which didn't belong to that object, but which happened
193
to be allocated at the same memory location. The problem is that
194
apr_pool_user_data_set/get has no mechanism to check whether the pool
195
has changed since it was last assigned to (it does but only in the
196
debug mode). It really needs some signature mechanism which can be
197
verified that the pool is still the same pool. Since apr_pool doesn't
198
have this feature, the reference counting has been reimplemented using
199
a plain sv reference. Several new (mainly hijacking) tests which badly
200
fail with the previous impelementation have been added. [Stas]
202
fix calling $r->subprocess_env() in a void context so that it only
203
populates %ENV if also called with no arguments. also, make sure it
204
can be called more than once and still populate %ENV.
207
add APR::Brigade::pool() to allow access to the pool associated with
208
the brigade [Geoffrey Young]
210
make 't/TEST -startup_timeout secs' working (previously user's value
213
ModPerl::Registry and friends now support non-parsed headers scripts,
214
whose filename =~ /^nph-/, identically to mod_cgi. + test [Stas]
216
implement APR::Brigade::length() and APR::Brigade::flatten() (the
217
latter implements a wrapper for apr_brigade_flatten, but also includes
218
an emulation of apr_brigade_pflatten) as [Geoffrey Young]
220
($r|$s)->add_config() now die if failed (previously returned the
223
fix context problems in <perl> sections and
224
PerlModule/PerlLoadModule/PerlRequre under threaded mpms w/
225
PerlOptions +Parent/+Clone in Vhosts + TestVhost::config test. [Stas]
227
Implemented Apache::get_server_version and Apache::get_server_built
228
as constant subroutines [Geoffrey Young]
230
Moved some functions out of the Apache:: namespace:
231
Apache::unescape_url() is now Apache::URI::unescape_url()
232
Apache::log_pid() is now Apache::Log::log_pid()
233
Apache::LOG_MARK() is now Apache::Log::LOG_MARK()
236
if MP_AP_PREFIX is used apxs and apr-config from the apache build tree
237
won't work, so it can't co-exist with MP_APXS and MP_APR_CONFIG build
238
options - ensure that this doesn't happen. [Stas]
240
server_root_relative() now requires either a valid pool or an $r, $s,
241
or $c object as a first argument. also, the returned result is a
242
copy, protecting against cases where the pool would go out of scope
243
before the result. [Geoffrey Young]
245
Check the success of sysopen in tmpfile() in compat [Geoffrey Young]
247
make sure DynaLoader is loaded before XSLoader, not only with perl
248
5.6.1, but always because of the issues with <Perl> sections are
249
loaded from +Parent vhost [Stas]
251
added ($r|$s)->is_perl_option_enabled($option_name), to test for
252
PerlOptions + tests [Stas]
254
On Solaris add a workaround for xs/APR/APR/Makefile.PL to build
255
APR.so, correctly linked against apr and apr-util libs, by addding the
256
missing -R paths corresponding to -L flags. EU::MM was adding them via
257
LD_RUN_PATH instead of using -R, but since perl's lddflags may have -R
258
it overrides LD_RUN_PATH. So explicitly add anything that may go into
259
LD_RUN_PATH via -R. Also make sure that -R coming from Apache will
260
appear first. [Brad Lanam <bll@gentoo.com>]
262
'make dist' now generates and picks Apache-Test/META.yml which was
263
always reported missing, as it was included in Apache-Test/MANIFEST
266
fix the $r->read function to return undef on failure similar to the
267
core perl function and make $! available for those who test for read()
270
Make sure that pnotes are destroyed after PerlCleanup handlers are
271
finished and not before + test. [Stas]
275
=item 1.99_12 - December 22, 2003
15
277
Restore a proper behavior of all Registry handlers, but PerlRun, not
16
278
to reset %INC to forget any .pl files required during the script's