* Minor build fixes

  * SECURITY UPDATE: Previous versions of Jifty did not 
  protect users against a class of remote data access vulnerability. If an
  attacker knew the structure of your local filesystem and you were using 
  the "standalone" webserver in production, the attacker could gain read
  only access to local files. 
  We found this vulnerability on 6 July 2006 during an internal Security 
  scan. We've added new tests to ensure that these and other similar
  vulnerabilities don't recur.

  We recommend that ALL users of Jifty UPGRADE to 0.60706 IMMEDIATELY.

  * The last CPAN release was broken. No real changes.

060615 (15 June 2006)

The following incompatible changes were made to Jifty. For a complete changelog,
please see the "Changes" file.

 * Removed the ActionBasePath and CurrentUserClass configuration
   variables.  This breaks backwards compatibility.

 * If you've overridden /_elements/javascript in your app, you'll want to 
   take a look at the new stock version to see what has changed.

 * The JS method document.getElementsBySelector() no longer exists.  Use 
   cssQuery() instead.

 * Jifty::Record now returns empty objects for related objects that can't be 
   loaded, rather than undef

 * The keybinding JS code is now a more proper library 
   (Jifty.KeyBindings) and less intrusive.  If you've overridden the 
   default /_elements/wrapper in your app, you'll want to make sure you get 
   rid of the keybinding javascript (see the stock wrapper).  Just include 
   <& /_elements/keybindings &> wherever you want the keybindings for a 
   page to appear.

 * This shouldn't be the cause of breakage, but the included rico.js is 
   no longer a stock Rico build.  See the comments at the top of the file 
   if you're interested.

 * 'last_rule' now aborts only the current stage -- thus, last_rule                         
   from a 'before' block will *NOT* prevent the RUN stage from happening!
   This is a *BACKWARDS-INCOMPATIBILE CHANGE*, but fixes the dispatcher
   to agree with its docs.
 * 'abort' is the correct call to skip straight to the cleanup block.                       
 * This allows the edit in place plugin to 'claim' its path and                             
   protect it from access control in the app's 'before' blocks                                                                                                                              

0.60507 (7 May 2006)

  * Pod fixes from Eric Wilhelm
    lib/Jifty/Object.pm - removed incorrect '=for' directive
    lib/Jifty/Web/Form/Field.pm - removed incorrect '=for' directive
    lib/Jifty/Web/Form.pm - removed incorrect '=for' directive

  * Better failure messages on when schema upgrades with SQLite fail
    from Alex Vandiver

  * Be a little more explicit about SQLite's limitation, and a possible
    (painful) workaround

  * Update the inc tree to 0.62 for various fixes,
    in particular improved share_dir compatibility. --Audrey Tang

  * We were inconsistently using Jifty::Util::make_path as a
    subroutine. It's a class method.  This could break the stub
    generators and tutorial.  Thanks to Sean E. Millichamp

0.60505 - Cinco de Jifty! (5 May 2006)

  * Native support for times and timezones.

  * Bug fixes (Many contributors)

  * Documentation updates (Many contributors)

  * Win32 Support (Audrey Tang)

  * New Session layer based on Jifty instead of Apache::Session.
    Designed for AJAX and Continations (alexmv)

  * Jifty internal metadata store (The begining of an internal configuration
    management system (alexmv)

  * Form fields no longer automatically insert the field name by itself
    as a class.  Instead, the class has changed to "argument-<fieldname>"
	to avoid conflicts with generic class names (such as date).

  * Move allow and deny'ing of actions into Jifty::API; this breaks
    backwards compatibility.

  * Don't allow applications to be named "Jifty" by default.  They are
    forced to be named "JiftyApp" now, for namespace reasons.

  * Remove Jifty->web->actions method; you should be using
    Jifty::Form's actions method.

  * Beginning of localization support.

  * Notifications can now take a user object or an email address

  * "sort order for arguments" patch, as suggested by miyagawa.  This
    makes use of sort_order column property of Jifty::DBI

  * YAML -> Jifty::YAML

  * Switch from Time::ParseDate to Date::Manip, since the former isn't
    win32 compatible

  * Shuffle the Mason and static handlers into Jifty::View namespace

  * Jifty no longer attempts to AJAX submit file upload fields

  * We no longer write DefaultStaticRoot and DefaultTemplateRoot into
    config files

  * Added a "LogLevel" option to the Jifty config file, so you can
    more easily enable debug logging.


  * 'return if already_run' in after rules so they run only once

  * Overhauled the static server to try really hard to force caching
    by clients.  It also gzips its content, if possible.

  * More stylish forms

  * Allow Jifty->web->return( to => "..default path..", ...)

  * Actually accept region names to refresh

  * Halo improvements

  * chromatic supplied a patch to switch from UNIVERSAL::isa to ->isa.

  * Trivial webservices hack

  * It's now possible to override Jifty::Record's baseclass in your


  * Use Jifty::Util->require to log require errors

  * Auto-generate Bootstrap class

  * Give us a way to get the CurrentUser from a Mech object during

  * When calling a continuation, try to make sure that the urls are
    really different, not just differently canonicalized, lest we get
    an infinite loop

  * Default to not showing debug logs

  * Fragments in JS land now know about their parents, and pass their
    superstructure in the fragment request.  This lets $region->parent
    have full information.

  * 'refresh => region' mode for replacement

  * Better docs on region replacement

  * add_* calls on Jifty::Request now return the object added, not the


  * Jifty::Dispatcher written

  * Jifty::Handler is now an object, not a utility. It has the power
    to "run" a request.

  * Call chain is now Handler to Dispatcher, which calls Jifty::Web
    and Mason, instead of the other way around.

  * Better Documentation coverage.

  * Paint on some really bitchin 'go faster' stripes on the server.

  * Refactored the dispatcher to use exceptions rather than LABELS: so
    that Devel::DProf doesn't fall over

  * Added a new "DevelMode" flag, to toggle the peformance-killing
    development aids.

  * Only drop tables if the tests all succeeded

  * Fragments now go through the dispatcher

  * `jifty schema` overhaul

  * Mandatory form fields now have a css marker.

  * Do away with setup_actions mason method

  * Stop using mason notes

  * Jifty::Script::Schema support for basic mysql love

  * lighttpd support.

  * Move autocomplete.xml and validator.xml to __jifty/.

  * Upgrade to Scriptaculous 1.5.1.

  * Delete is its own action now, instead of being part of Update.


 * Jifty::Action->argument_names should sort keys lexographically, not
   random hash-ordering.

 * Remove last vestiges of ::Delete from ::Update

 * Refactored Jifty::Config to allow the application class to be
   specified when calling Config->guess

 * Refactored Jifty::Script::App into bite-sized morsels

 * Made Jifty::Script::App generate a config file

 * Made Jifty::Script::App and Jifty::Config::Guess happy with
   multi-level package names

0.51225 - Initial release