Changes ======= 0.98 April 15, 2008 Converted two-argument forms of open() to three-argument forms Modified some tests to reflect current state of test smokers, alterations to Makefile.PL Removed obsolete Wyrds from the official dist 0.97 April 14, 2008 Minor changes to Inputs and Form interaction to allow zero non-null values where they would normally be forbidden Security enhancement where any submitted data containing a string that can be interpreted as a Wyrd is dropped unless an exception is explicitly made for it in the initialization data passed to Apache::Wyrd::DBL by Apache::Wyrd::Handler. This is to prevent user-submitted data from being executed if it is displayed on a page Setting the environment variables WYRD_USE_CGI and WYRD_USE_APR can be used to force the use of either CGI and CGI::Cookie or Apache::Request and Apache::Cookie as the underlying modules in the wrapper classes Apache::Wyrd::Request and Apache::Wyrd::Cookie Apache::Wyrd::Input & Apache::Wyrd::Input::Set more CSS and Java- Script friendly Apache::DBL now relies on DBI's connect_cached connection rather than doing its own caching Fixed a bug in Apache::Wyrd::Interfaces::Setter where interpolated variables were not being sorted in some _set_xxxx functions Fixed a bug in Apache::Wyrd::Interfaces::Setter where defined undef- equivalent but defined values were being interpreted as undefined Apache::Wyrd::Site::GDButton now accepts a template base-image gif or png Apache::Wyrd::Services::Auth now allows an authentication session to go ahead directly when the connection is on a secure port, with some limits on passed variables Apache::Wyrd::Services::Auth now passes through POST requests on "DECLINED". This allows it to be used with non-wyrd applications Documentation changes 0.96 May 1, 2007 Apache::Wyrd::Site::IndexBot uses basefile for index date tracking Documentation audit changes 0.95 April 30, 2007 Module cleanup: removed some example & undocumented Wyrds from the core distribution: CSSGene, Site:EditablePage, Site::SearchResults, Site::WidgetControl. Added missing Version Wyrd. Consolidated Lattice Wyrds into single file Added View Wyrd for displaying contents of enclosing Wyrds Added a FileCacheTimeout to Apache::Wyrd::Services::FileCache Apache::Wyrd::Redirect can now use "href" conventions. New normalize_href Apache::Wyrd::Services::SAK function for this Apache::Form & Apache::Wyrd::Input has more passthrough of valid attributes for their base tags (enctype, onkeydown, etc.) Wyrds now accept hyphen in the attribute-name as a valid character, to allow for compatibility with valid HTML attributes such as "accept-charset" Apache::Wyrd::Services::Index now feature-frozen and depreciated in favor of Apache::Wyrd::Services::MySQLIndex. This is due to locking and DB File corruption issues which could not be resolved Documentation changes 0.94 October 22, 2006 Indexer now requires perl 5.8 for Unicode support New interoperatable objects for building complex sites now available under Apache::Wyrd::Site::XXX New _cleanup method to complement the _setup method Lookup has new "nojoin" flag for formatted repeating queries New self_url method for DBL GIF support for Chart New Loop Wyrd for convenient iteration through SQL query results New View Wyrd as a data placemarker New PreAuth Handler Object for immediate (pre-denial) logons using Apache:::Wyrd::Site::Login Wyrds New MySQLIndex object to give Index a MySQL back-end Fixed bug where DBL was not passing its loglevel to newly created Wyrds Closed an open-database bug when the Wyrd::Apache::Services::Index was using the "bigfile" option. More explicit untie-ing of databases Index more efficient in the re-indexing of data attribute under the "bigfile" option Index no longer considers "_" punctuation Index now supports concurrency and transactions options to support Sleepycat Berkeley DB CDS and TXN modes when version 4+ of the library is used Fixed a bug where Apache::Wyrd::Form objects would not properly carry on a chain of forms spanning multiple pages Index bug removed: non-reverse-indexed indexes update properly Index lookups have optimization options, allowing more granular data retreival Form Inputs now handle enctype attributes Form Inputs now handle the triggers attribute correctly Checkbox and radio button opts now handle style attributes Checkbox sets now properly handle removing all checks if there is no "null" option Input Set objects now properly handle literal '0' values Using a different param from the input name now works properly on Input wyrds Escaped Form Inputs now also escape '<' and '>' Setter interface now supports a _template_hash method Limited support for internal redirects method via the abort_redirect method. Apache::Wyrd::Request attempts to recover the CGI environment after explicit calls to Apache's internal_redirect method The mother interface can now act on any attribute of a Wyrd, not just _data Mother interface allows arbitrary child storage and loads the Apache::Wyrd::Interfaces::Setter module itself IP addresses can now be checked in Apache::Wyrd::Services::Auth and Apache::Wyrd::Interfaces::GetUser to prevent cookie-theft Changed conditional expression interpretation order to behave more intuitively in Apache::Wyrd::Interfaces::Setter. _set now preserves conditionals which may not be addressed by the current _set operation, while clear_set interprets these conditionals as false. This allows better layering of _set-tings on the same argument SAK: file_attribute() now untaints the file path it generates sort_by_[i]key will reverse order on a key if the key is preceeded by a minus sign Documentation changes 0.93 March 25, 2005 New Wyrd: Apache::Wyrd::Services::Bot for defining a process to be invoked and monitoring that process from a browser window Added post_process hook for Handler Replaced MD5 with SHA1 for all internal hashing because of UTF problems with Digest::MD5 Index now defaults to using concurrency instead of locking in BerkeleyDB if version 4 or greater is installed Fixed fatal error in Index when exact matching whole phrases with a - or + qualifier Improvements to Index: "reversemaps" and "dirty" options for quicker updates, "bigfile" option for large pagesize secondary database for storing wholetext in a separate file, new tests Fixed bug where plain options passed to an Input::Set would be reversed between value and name Fixed bug where simple attributes composed entirely of non-word characters could cause parsing errors Fixed bug where Lookup would have a fatal error on the use of a joiner Handler now checks for a set content-type header before defaulting to text/html Fixed error reporting problem where unblessed references could be unintentionally treated as objects Documentation changes, additional debugging info 0.92 January 13, 2005 SearchParser operator precidence change to AND/OR/NOT/DIFF in that order Corrected malformed searches in SearchParser Changes to Makefile.PL: more checks, compensation for lib error in Apache::Test 1.19, better reporting of software versions 0.91 January 9, 2005 Fixed self_path bug where leading slashes were preserved in a path Added removal of purged entries' IDs from Index objects. Bug could allow purged entries to seem extant, but empty Fixed Makefile's dependency-test problems 0.90 December 16, 2004 Interfaces, standard methods for core modules are now frozen and should be considered stable Re-enabled custom responses. Custom responses via Wyrd->abort() and/or DBL->set_response() will now be permanent features Wyrds can now use abort() to hand off the request to another PerlRequestHandler Added global flag 'disable' to shut off a given Wyrd and all it's children Added file_path attribute, giving the absolute pathname of the file being served Minor bug fixes for increased reliability with Index objects and in SAK Documentation changes, spelling corrections 0.87 October 31, 2004 Added post-procesing hooks to SQLForm New sub for SAK Fixed a problem causing incorrect sorts on some Set Wyrds Returned handling of initial requests to Apache, and decline only non-text/html types Improved error reporting when a Wyrd mistakenly calls an undefined method Fixed occasional User object loading problems by explicitly checking %INC in GetUser interface 0.86 (September 22, 2004) Minor change in Makefile.PL to allow non-blocking of automated processes 0.85 (September 22, 2004) Wyrd Framework now works with CGI, not just libapreq/ Apache::Request New Cookie object to work with either CGI or libapreq More interactive testing w/survey Added auto-preloading of values to SQL Forms Turned off debugging line in Apache::Wyrd which was accidentally left on No longer interpret null documents as a SERVER_ERROR SAK checks for Setter interface on callers to setter-required subroutines 0.84 (September 3, 2004) Default behavior now for Text Datum objects is to trim whitespace Established minimum version dependency for XML::Dumper Put escaping of HTML entities in proper order for text-type inputs in Apache::Wyrd::Input Added hook methods to Datum Objects to allow translation of data from data store to browser and vice versa Abstracted template creation for Input Wyrds Fixed broken "rounding" value on Number Wyrds Wyrds with attributes of value "0" to be interpreted mathmatically rather than as undef Wyrds with attributes containing $, %, or @ longer interpret these as special variables under some conditions Documentation changes and code cleanup 0.83 (August 19, 2004) New Wyrds: Automatic graphical charts from Query Wyrds (Apache::Wyrd::Chart) English-language Numbers (Apache::Wyrd::Number), File-size (Apache::Wyrd::FileSize), CGI dump (Apache::Wyrd::ShowParams) Documentation Changes Null-byte string termination in DB file bug in Apache::Wyrd::Services::Key/Auth/LoginServer fix Better handling of self_path function in Apache::Wyrd::Handler object Apache::Wyrd::Services::FileCache object less strict for non-existent files Multiple queries in Apache::Wyrd::Lookup object (primarily to overcome sub-select limitations on some DBAs) More functions for Apache::Wyrd::Services::SAK 0.82 (March 25, 2004) Documentation changes Fix in Apache::Wyrd::Services::Index for failed tests in libdb4+ w/ perl 5.8+ 0.81 (March 18, 2004) Documentation/testing changes, March 18, 2004 0.8 (March 17, 2004) First public beta