The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.60722

* Dispatcher fixes to deal with the better canonicalization we started doing in
   0.60707
* changed all instances of '/usr/bin/perl' to '/usr/bin/env perl'
* added a path option to Jifty::Web->url
* added url tests
* Jifty::Manual::Actions -- update the worldview to reflect the
  parameters/arguments concept split.
* Introduce aliases.  See Jifty::Param::Schema for the table.
* Declarative Jifty Parameters.
* See Jifty::Param and Jifty::Param::Schema for the new syntax.
* Also added dependencies for Jifty::Script::Deps and declarative parameters.
* Also updated test applications to use declarative parameters. 
* Adding the CSS browser selector trick from http://rafael.adm.br/css_browser_selector/ to Jifty
* After autocomplete, trigger a validation.
* Upping JSON::Syck version dependency. 0.14 fixes escaping in single-quoted strings.
* Add a tooltip to the dismiss link and hide the dotted border
* Trailing commas are not good for JS in Safari
* Let's not blow up if we have placeholders on an input without a form
* Don't fade autocomplete in and out, just show and hide it
* Not submitting placeholder values when we submit forms or AJAX
* Add the class before we set the text, so that it appears grayed-out, rather than appearing and *then* graying out
* Support multi-line placeholders
* textareas can have placeholders, too; Style them appropriately as well
* Adding support for placeholders, grayed-out text in form fields that is written in with JS and vanishes on focus
* Auto-accept cpan's wisdom about prompts (Jifty::Deps)
* 0th sketch at "jifty deps"
* packaging plan updates
* J::Web::redirect can take a Clickable as arg, so make goto do that, instead of passing a URL with parameters, which doesn't work right
* Proper port support on urls. Thanks to jpeacock.
*  Resolve inconsistent filenames vs packages (Plugins)
* Switched Jifty::Web::url to use uri.pm rather than "heuristics"
* Let's not blow up if an action has a result that's an unblessed reference.
* Don't upgrade the database versions with schema --print. I'm not sure
  if there's a good way to persuade JDBI to give us the SQL to print, so
  we're just spitting out a warning for now, but that's better than the
  old behavior.
* Stop notification from flipping out if you use a scalar as the To:
* basic smoke test for jifty's notifications 
* Only set active child on create if we have a request
* More serious failure message, and don't imply that it's necessarily the server's fault.
* update .po files
* Jifty::Dispatcher - there's no call_next, remove it from POD, fnord.
* Refactoring message rendering slightly
* Fix Jifty-Win32 by having canonicalize_path always returning
  /-separated paths, never \-separated paths.
* Let classes be set on menu items
* Adding a warning about our slow Rico.Corner.round
* Documenting how to write sane Behaviours that don't leak memory (leak
  less memory, probably) in IE and aren't dog-slow.
* Fix JS memory leak in IE
* Make jifty tests respect the current given @INC, so it doesn't
  use lib when you are supposed to use blib during make test.
* Make the subtest system less painful.
* Use Jifty::Script to invoke test server, so it doesn't depend on
  bin/jifty.
* Fix a Safari display bug
* Fix calendar positioning bug and make sure it works when the date field is within a relative or absolutely positioned element
* Test file for Jifty::Client
* First pass at a Jifty client module.
*  English orthography fixes.
* Trailing commas in Perl are good.  In Javascript, they aren't, and sometimes cause IE to barf (like this one).
*  Hide focus border
* Lowering the autocomplete delay
* first-pass editorial run over Continuations.pod.
* Sketchy sketchy handwavy descriptions of page region backend.
  Ramblings totally not expected to be interpretable.
* Wrap the popup notification div in dropshadow wrapper hooks
* Mention webservices in Actions doc
* Double fallback goes the way of the dodo
* Continuation manual
* Set up the output API for mapping of request parameters (input API
  already existed)
* Change method of getting results out of response on continuation RETURN
* Fewer calls to ->arguments, though they might be cached already.
* Not all CurrentUser classes may have a "nobody"
* Jifty::Web::Form:Clickable - provide a bit more info on how to use
  the "returns" field.
* jifty-dispatcher.graffle that shows the dispatch chain.
* Nicer "server down" message
* Re-enable form inputs after failure
* toggleable page region clickables weren't doing the right thing when used in non-ajax mode
* Fix the validation and autocomplete race condition
* Skip nobody and superuser when we do notifications


060707

  * Minor build fixes

060706
  * 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.


060616
  * 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.


0.60321

  * '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
    app


0.60221

  * 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
    testing

  * 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
    request


0.60213

  * 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.


0.51228

 * 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