PApp
view release on metacpan or search on metacpan
$PApp::SCGI::Worker::WORKER_EXIT.
- PApp::SCGI: slight performance optimisations for papp-scgid.
- PApp::CGI warns did not print a trailing newline.
- add HTTP_AUTHORIZATION header suppoort to PApp::CGI.
- PApp::XSQL::Sablotron marked as deprecated.
- PApp::XSQL::Sablotron now increases Coro's cctx stack because
sablotron uses a lot of stack space.
- setting environment variable PAPP_INSTALL_SKIP_CONFIG=1 will skip
config installation and questions during make install.
2.2 Mon Feb 17 11:20:25 CET 2020
- greatly improved papp-scgid implementation and worker management.
- rewrite PApp::SCGI implementation.
- support stdin/stdout members for PApp::CGI objects.
- remove the eval workaround for older perls.
- PApp::CGI will now generate relative redirects, as per RFC 7231.
- implement Agni::obj_by_name and use it to allow names in more places.
- allow obj_by_name specs in PApp application specs.
2.1 Thu Feb 11 08:18:30 CET 2016
- $PApp::SQL::DBH and ::Database are now set during all of the
request execution, not just during run or exceptions.
- work around incompatible tiehandle changes in perl 5.16.
- work around incompatibilities between mariadb and mysql.
- use env variable PAPP_CREATE_TBALE_OPTIONS to specify create table
options in make init and make update.
- close the data handle in PApp::I18n to conserve file descriptors.
- dropped support for switching papp apps (pappid) via state.
- require perl 5.010 and enable its features by default in Agni.
- use more memory-efficient and faster object lookup in compiled
methods.
2.0 Tue Mar 19 13:23:25 CET 2013
- escape_html now converts windows-unicode (with windows-1252 garbage)
into numeric entitity escapes. escape_html is now ~20% faster as well.
- most of the changes below are due to the brutal removal of traditional
.papp application support in favour of pure agni.
- PApp::EditForm::ef_selectbox didn't interpret arrayrefs as data
values as per documentation.
- default charset for output is now always utf-8.
- work around further api breakage in 5.14.
- remove %S, %A, reference_url, current_locals, suburl, sublink,
retlink_p, retlink, returl, preferences_url, preferences_link.
- move LIBDIR/config.pl to /etc/papp/secure.
- remove most of the DEVELxxxx utf8 workarounds in the i18n scanning
code, fixing at least one bug introduced by a fix in perl :)
- use optimised bit arithmetic on perls with 64 bit-integers.
- work around a performance bnottleneck in expat's character
parsing, for a major agni --import speedup with large objects.
- implement a horrid workaround for PApp::CGI to support PApp's
way to set cookie headers (in itself a horrid workaround
for broken set-cookie parsing in most browsers).
1.45 Sun Nov 21 08:20:50 CET 2010
- port to perl 5.12.
- die if objects belonging to callbacks cannot be loaded.
- make sure gid is always quoted when creating callbacks.
1.44 Sat Jan 30 04:06:14 CET 2010
- ef_submit and ef_form surlargs are now interpreted before ef_cb_end
callbacks.
- this release breaks PApp::CGI due to changed cookie handling.
- disable autoloading for PApp::Storable.
- new functions PApp::add_cookie, PApp::cookie.
- new functions PApp::Util::{nonce,asciibits}.
- use Guard module to implement guards.
- use common::sense, convert PApp to strict mode.
- fix a bug in multipart form handling of unknown impact.
- fix a bug in PApp/HTML selectbox of unknown impact.
- speed up agni store operations by removing dead code
fetching _cache.
- speed up data::papp_special agni types considerably.
- work around corrupted Cookie:-headers sent by firefox.
- work around perl 5.10 setting readonly on lots of things.
1.43 Tue Dec 9 18:21:06 CET 2008
- implement $PApp::Storable::force_path and make use of it in retrieve.
1.42 Wed Nov 26 08:16:49 CET 2008
- PApp sometimes didn't refresh the stack pointer when necessary,
leading to crashes and data corruption on stack resizes (most
notably when running on secondary perl stacks).
- add storable serialisation protection to agni objects.
- add PApp::I18n::iso{639,3166} functions.
- replace "use strict" in agni by "use strict 'vars'" by default.
- speed up by not executing the use strict pragma on every
method compile.
- lowercase form method names to improve xhtml compatibility
(reported by Muttley).
- use net_mstore instead of store as default serialiser.
- fix a bug where surl would access unallocated memory
(which likely was harmless).
1.41 Mon Jan 28 21:06:10 CET 2008
- fix long-standing (harmless) bug where agni objects would become
blessed twice or more.
- really move lzf::set_serializer call into PApp::Config :(.
1.4 Sun Jan 20 13:33:53 CET 2008
- move lzf::set_serializer call into PApp::Config.
- avoid an sql access in PApp::Event when there are no new events.
- update to perl 5.10.
- upgrade storable to 5.10 version.
- remove some unicode bug workarounds that clash with perl 5.10.
1.3 Tue Oct 23 10:36:53 CEST 2007
- allow coderefs in fixup markers.
- PApp::HTML::alink now uses tag so supports %attrs prefix hash.
- use net_mstore for Compress::LZF, not mstore.
- include sysid in commitinfo.
- switch from JSON::Syck to JSON::XS.
- do not export empty msgids anymore, as this confuses the po
file reader into using the wrong target language.
- added PApp::guard.
- added clear-database option to bin/agni.
- fixed ef_form_name to return page-unique values.
- fixed ef_custom to simply return a new key.
- only install a warn handler during requests.
1.2 Sat Jan 6 20:27:32 CET 2007
- editform/checkbox now uses Agni::*64 functions.
- textarea now removes the leading newline when the content type
is "application/xhtml+xml" (this is a hack, it's impossible to
detect how the browser interprets the page, so one cannot work
around this incompatibility between html<=4 and xhtml).
- other callbacks were errornously executed at the next request
when one callback called any abort_ function.
- ef_submit surlargs get interpreted after form processing and
after ef_cb_end callbacks have been executed.
- small memory optimization: _type and _attr get shared between
- PApp::HTML::mailto_url now uses the above function to encode
headers.
- blindly accept anything when neither encoding is given, or
encoding is ascii|us-ascii|iso-8859-1, when processing
form data.
- abort_with_file no longer sends the file when $request->header_only
is true.
- session variables are no longer PApp-path-specific, PApp::Session
uses function interface instead of method interface.
1.01 Sun Feb 27 18:43:42 CET 2005
- improved speed of Agni fetch and store.
- PApp::ECMAScript::escape_string_* now also escape "<"
characters, to avoid common de-quoting bugs in browsers.
- implement --force option in bin/agni.
- PApp::ECMAScript string quoting functions will also quote &.
1.0 Tue Nov 23 18:08:14 CET 2004
- check obj_gidseq validity after every import.
- various exceptions could cause an agni object to become
highly unmagical.
- initial speed-up patch for Agni by dynamically patching
helem opcodes.
- {{..}}-references will do a hash lookup before calling "obj",
increasing speed by avoiding a function call.
- new function: PApp::insert_fixup.
0.95 Sat Apr 24 09:14:54 CEST 2004
- call PApp::Application->callback_exception when
papp execone handlers cause one.
- PApp::Application::Agni->callback_exception will call the method
of the same name in the mounted application.
- Apache-2.0 hack by oesi. Stable.
- mark functions in Storable.xs as static, as starting with
5.8.1 or 5.8.2 they were colliding with the functions in perls
Storable. Probable cause: Storable is built-in in my perl thus
it's symbols are found first (damn).
0.22 Sat Nov 1 14:26:10 CET 2003
- editform is now transactional, i.e. first phase check,
second phase cb_begin/assignments/cb_end.
- editform now supplies a guard value, but doesn't check it
(yet).
- database upgrade (replace obj_attr).
- calling PApp::Event::broadcast caused papp to ignore
the next two rounds of events.
- papp-env supports multiline-assignments.
- xpcse now asks for username/password, using a horrible
but low-dependency method.
- fix endless-loop bug in PApp::FormBuffer.
0.21 Mon Apr 21 17:15:30 CEST 2003
- database upgrade (nuke obj_isa), no release.
- xpcse now actually exits correctly and doesn't stay in memory.
- zaphod inspired some utf8_upgrade on readonly scalars fixes.
- ef_password no longer displays the previous contents,
and only stores non-empty inputs.
0.2 Fri Nov 15 20:04:32 CET 2002
- new function PApp::fixup_marker which lets you embed fixup markers
in the output stream and replace them at page output time.
- macro/editform's can now be nested. embedding ef_mbegin &c
automatically upgrades the form.
- fixed a serializing bug in PApp::Storable, reduced size, too.
- fixed a DBH race after ChildInit (fetch without execute...).
- new %PApp::temporary hash.
- Agni applications can be directly mounted now.
- $papp_ppkg_table is now a function (i.e. change occurrences to papp_ppkg_table).
- PApp::CGI fixed with respect to xpcse.
- --"" in :>-sections now doesn't interpolate anymore. might one day
be working, but now now.
- removed an illegal optimization in PApp::PCode.
- utf8-ified PApp::User.
- updated PApp::DataRef to support multiple keys. Also warns about
lots of deprecated uses that will be removed.
- DataRef now supports specialization (template objects).
- macro/editform now sets checkboxes to 0 instead of undef (an
implementation detail).
0.122 Mon Dec 3 19:32:50 CET 2001
- fixed hashing of long strings in PApp::I18n. This invalidates
all translation tables.
- fixed i18n tables. wrote 4 perlbug reports. flamed with jhi, who
is such a nice person...
- "fixed" import/export i18n tables with respect to various perl versions.
- PApp::Lock always timed out if the lock was down.
0.121 Fri Nov 30 10:53:24 CET 2001
- fixed apps/poedit.papp.
0.12 Sat Oct 27 16:55:26 CEST 2001
- INCOMPATIBLE CHANGE: $ppkg->insert and embed no longer do the
dereferencing for you, i.e. change
$ppkg->embed('name') to $ppkg->{pkg}{name}->embed.
- INCOMPATIBLE CHANGE: changed the syntax of all SURL_-cookies
into functions. This is more natural and gives me more freedom.
- added DataRef::invalidate.
- changed to using new Compress::LZF::sfreeze functionality.
0.03 ???
0.02 ???
- added multipart-parsing functions.
- added %arg hash, and "one-shot arguments" (see surl).
- modularization: many modules were split off into their
own packages, this package was divided into many modules.
The goal is still far away.
0.01 Thu Jan 13 06:02:04 CET 2000
- original version; created by cp -rp
( run in 1.381 second using v1.01-cache-2.11-cpan-49f99fa48dc )