Upgrade to jQueryTools 1.2.7-dev for jQuery 1.7 support.  Use the 1.7
branch of plone.app.jquery with this branch.

jqt_checkout_build script produced the following output:

--------------------------------------------------------------------------------
FILE: jslint.js
--------------------------------------------------------------------------------
FILE: dateinput/skin1.css
  |-> plone: jquery.tools.dateinput.css
--------------------------------------------------------------------------------
FILE: dateinput/dateinput.js
  |-> jslint status: ERROR
      Lint at line 12 character 14: Expected an identifier and instead saw 'undefined' (a reserved word).
      (function($, undefined) {

      Lint at line 182 character 28: Missing '()' invoking a constructor.
      var date = new Date;

      Lint at line 194 character 28: Missing '()' invoking a constructor.
      now = new Date,

      Lint at line 224 character 26: 'original' is already defined.
      var original = input.clone(),

      Lint at line 228 character 29: Expected '{' and instead saw 'clone'.
      if (conf.value) clone.val(conf.value);   // jquery 1.6.2 val(undefined) will clear val()

      Lint at line 278 character 57: Expected an assignment or function call and instead saw an expression.
      conf.toggle ? self.toggle() : self.show();

      Lint at line 300 character 37: Expected an assignment or function call and instead saw an expression.
      e || (e = $.Event("api"));

      Lint at line 497 character 103: Use '===' to compare with 'undefined'.
      var date = integer(month) >= -1 ? new Date(integer(year), integer(month), integer(day == undefined || isNaN(day) ? 1 : day)) :

  |-> minified to: dateinput/dateinput.min.js
  |-> plone: jquery.tools.dateinput.js
  |-> plone: jquery.tools.dateinput.min.js
--------------------------------------------------------------------------------
FILE: overlay/overlay.apple.js
  |-> jslint status: OK
  |-> minified to: overlay/overlay.apple.min.js
  |-> plone: jquery.tools.plugins.js
  |-> plone: jquery.tools.plugins.min.js
--------------------------------------------------------------------------------
FILE: overlay/overlay.js
  |-> jslint status: OK
  |-> minified to: overlay/overlay.min.js
  |-> plone: jquery.tools.js
  |-> plone: jquery.tools.min.js
--------------------------------------------------------------------------------
FILE: rangeinput/rangeinput.js
  |-> jslint status: OK
  |-> minified to: rangeinput/rangeinput.min.js
  |-> plone: jquery.tools.rangeinput.js
  |-> plone: jquery.tools.rangeinput.min.js
--------------------------------------------------------------------------------
FILE: scrollable/scrollable.autoscroll.js
  |-> jslint status: ERROR
      Lint at line 48 character 20: Expected '{' and instead saw 'clearTimeout'.
      if (timer) clearTimeout(timer); // reset timeout, especially for onSeek event

      Lint at line 73 character 37: Expected an assignment or function call and instead saw an expression.
      stopped || api.play();

  |-> minified to: scrollable/scrollable.autoscroll.min.js
  |-> plone: jquery.tools.plugins.js
  |-> plone: jquery.tools.plugins.min.js
--------------------------------------------------------------------------------
FILE: scrollable/scrollable.js
  |-> jslint status: OK
  |-> minified to: scrollable/scrollable.min.js
  |-> plone: jquery.tools.js
  |-> plone: jquery.tools.min.js
--------------------------------------------------------------------------------
FILE: scrollable/scrollable.navigator.js
  |-> jslint status: ERROR
      Lint at line 106 character 34: Use '===' to compare with '0'.
      if (i % size == 0) addItem(i);

      Lint at line 106 character 40: Expected '{' and instead saw 'addItem'.
      if (i % size == 0) addItem(i);

      Lint at line 125 character 30: Use '===' to compare with '0'.
      if (i % size == 0) addItem(i);

      Lint at line 125 character 36: Expected '{' and instead saw 'addItem'.
      if (i % size == 0) addItem(i);

  |-> minified to: scrollable/scrollable.navigator.min.js
  |-> plone: jquery.tools.plugins.js
  |-> plone: jquery.tools.plugins.min.js
--------------------------------------------------------------------------------
FILE: tabs/tabs.js
  |-> jslint status: ERROR
      Lint at line 111 character 22: Expected '{' and instead saw 'return'.
      if (animating) return;    // don't allow other animations

      Lint at line 117 character 50: Expected an assignment or function call and instead saw an expression.
      w || ( w = this.getPanes().eq(0).width() );

  |-> minified to: tabs/tabs.min.js
  |-> plone: jquery.tools.js
  |-> plone: jquery.tools.min.js
--------------------------------------------------------------------------------
FILE: tabs/tabs.slideshow.js
  |-> jslint status: ERROR
      Lint at line 116 character 38: Expected an assignment or function call and instead saw an expression.
      stopped || self.play();

  |-> minified to: tabs/tabs.slideshow.min.js
  |-> plone: jquery.tools.plugins.js
  |-> plone: jquery.tools.plugins.min.js
--------------------------------------------------------------------------------
FILE: toolbox/toolbox.expose.js
  |-> jslint status: OK
  |-> minified to: toolbox/toolbox.expose.min.js
  |-> plone: jquery.tools.js
  |-> plone: jquery.tools.min.js
--------------------------------------------------------------------------------
FILE: toolbox/toolbox.flashembed.js
  |-> jslint status: OK
  |-> minified to: toolbox/toolbox.flashembed.min.js
  |-> plone: jquery.tools.plugins.js
  |-> plone: jquery.tools.plugins.min.js
--------------------------------------------------------------------------------
FILE: toolbox/toolbox.history.js
  |-> jslint status: ERROR
      Lint at line 29 character 57: Script URL.
      iframe = $("<iframe/>").attr("src", "javascript:false;").hide().get(0);

  |-> minified to: toolbox/toolbox.history.min.js
  |-> plone: jquery.tools.js
  |-> plone: jquery.tools.min.js
--------------------------------------------------------------------------------
FILE: toolbox/toolbox.mousewheel.js
  |-> jslint status: OK
  |-> minified to: toolbox/toolbox.mousewheel.min.js
  |-> plone: jquery.tools.plugins.js
  |-> plone: jquery.tools.plugins.min.js
--------------------------------------------------------------------------------
FILE: tooltip/tooltip.dynamic.js
  |-> jslint status: OK
  |-> minified to: tooltip/tooltip.dynamic.min.js
  |-> plone: jquery.tools.plugins.js
  |-> plone: jquery.tools.plugins.min.js
--------------------------------------------------------------------------------
FILE: tooltip/tooltip.js
  |-> jslint status: ERROR
      Lint at line 270 character 36: Expected '{' and instead saw 'tip'.
      if (!conf.tip) tip.data("__set", true);

  |-> minified to: tooltip/tooltip.min.js
  |-> plone: jquery.tools.js
  |-> plone: jquery.tools.min.js
--------------------------------------------------------------------------------
FILE: tooltip/tooltip.slide.js
  |-> jslint status: OK
  |-> minified to: tooltip/tooltip.slide.min.js
  |-> plone: jquery.tools.plugins.js
  |-> plone: jquery.tools.plugins.min.js
--------------------------------------------------------------------------------
FILE: validator/validator.js
  |-> jslint status: ERROR
      Lint at line 581 character 22: Use '!==' to compare with 'null'.
      if ((els != null) && (els.length != 0)) {

      Lint at line 581 character 46: Use '!==' to compare with '0'.
      if ((els != null) && (els.length != 0)) {

  |-> minified to: validator/validator.min.js
  |-> plone: jquery.tools.validator.js
  |-> plone: jquery.tools.validator.min.js
--------------------------------------------------------------------------------
FILE: jquery.form.js
  |-> jslint status: ERROR
      Lint at line 11 character 1: Unnecessary semicolon.
      ;(function($) {

      Lint at line 80 character 65: Script URL.
      iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'

      Lint at line 198 character 5: Inner functions should be listed at the top of the outer function.
      function fileUploadXhr(a) {

      Lint at line 198 character 27: 'fileUploadXhr' was used before it was defined.
      function fileUploadXhr(a) {

      Lint at line 202 character 36: Line breaking error ')'.
      if (a[i].type == 'file')

      Lint at line 203 character 17: Expected '{' and instead saw 'continue'.
      continue;

      Lint at line 210 character 52: Line breaking error ')'.
      for (var i=0; i < files.length; i++)

      Lint at line 211 character 21: Expected '{' and instead saw 'formdata'.
      formdata.append(name, files[i]);

      Lint at line 216 character 44: Line breaking error ')'.
      for (var k in options.extraData)

      Lint at line 217 character 17: Expected '{' and instead saw 'formdata'.
      formdata.append(k, options.extraData[k])

      Lint at line 217 character 57: Missing semicolon.
      formdata.append(k, options.extraData[k])

      Lint at line 216 character 13: The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.
      for (var k in options.extraData)

      Lint at line 240 character 24: Line breaking error ')'.
      if(beforeSend)

      Lint at line 241 character 15: Expected '{' and instead saw 'beforeSend'.
      beforeSend.call(o, xhr, options);

      Lint at line 247 character 30: 'fileUploadIframe' was used before it was defined.
      function fileUploadIframe(a) {

      Lint at line 263 character 14: Unnecessary semicolon.
      };

      Lint at line 275 character 27: Parens are not needed here.
      id = 'jqFormIO' + (new Date().getTime());

      Lint at line 279 character 19: Use '===' to compare with 'null'.
      if (n == null)

      Lint at line 279 character 26: Line breaking error ')'.
      if (n == null)

      Lint at line 280 character 18: Expected '{' and instead saw '$io'.
      $io.attr('name', id);

      Lint at line 282 character 17: Expected '{' and instead saw 'id'.
      id = n;

      Lint at line 306 character 66: Expected an assignment or function call and instead saw an expression.
      s.error && s.error.call(s.context, xhr, e, status);

      Lint at line 307 character 62: Expected an assignment or function call and instead saw an expression.
      g && $.event.trigger("ajaxError", [xhr, s, e]);

      Lint at line 308 character 64: Expected an assignment or function call and instead saw an expression.
      s.complete && s.complete.call(s.context, xhr, e);

      Lint at line 393 character 63: Line breaking error ')'.
      if (state.toLowerCase() == 'uninitialized')

      Lint at line 394 character 25: Expected '{' and instead saw 'setTimeout'.
      setTimeout(checkState,50);

      Lint at line 399 character 64: Expected an assignment or function call and instead saw an expression.
      timeoutHandle && clearTimeout(timeoutHandle);

      Lint at line 408 character 21: The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.
      for (var n in s.extraData) {

      Lint at line 418 character 106: Expected an assignment or function call and instead saw an expression.
      io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);

      Lint at line 466 character 30: Line breaking error ')'.
      if (!timedOut)

      Lint at line 467 character 21: Expected '{' and instead saw 'return'.
      return;

      Lint at line 469 character 101: Expected an assignment or function call and instead saw an expression.
      io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);

      Lint at line 479 character 57: Use '===' to compare with 'null'.
      if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML == '')) {

      Lint at line 479 character 87: Use '===' to compare with ''.
      if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML == '')) {

      Lint at line 496 character 26: Line breaking error ')'.
      if (isXml)

      Lint at line 497 character 21: Expected '{' and instead saw 's'.
      s.dataType = 'xml';

      Lint at line 531 character 78: Use '!==' to compare with 'null'.
      else if (dt == 'xml' && !xhr.responseXML && xhr.responseText != null) {

      Lint at line 538 character 24: 'e' is already defined.
      catch (e) {

      Lint at line 543 character 20: 'e' is already defined.
      catch (e) {

      Lint at line 560 character 76: Expected an assignment or function call and instead saw an expression.
      s.success && s.success.call(s.context, data, 'success', xhr);

      Lint at line 561 character 61: Expected an assignment or function call and instead saw an expression.
      g && $.event.trigger("ajaxSuccess", [xhr, s]);

      Lint at line 564 character 28: Use '===' to compare with 'undefined'.
      if (errMsg == undefined)

      Lint at line 564 character 40: Line breaking error ')'.
      if (errMsg == undefined)

      Lint at line 565 character 21: Expected '{' and instead saw 'errMsg'.
      errMsg = xhr.statusText;

      Lint at line 566 character 71: Expected an assignment or function call and instead saw an expression.
      s.error && s.error.call(s.context, xhr, status, errMsg);

      Lint at line 567 character 67: Expected an assignment or function call and instead saw an expression.
      g && $.event.trigger("ajaxError", [xhr, s, errMsg]);

      Lint at line 570 character 58: Expected an assignment or function call and instead saw an expression.
      g && $.event.trigger("ajaxComplete", [xhr, s]);

      Lint at line 576 character 65: Expected an assignment or function call and instead saw an expression.
      s.complete && s.complete.call(s.context, xhr, status);

      Lint at line 579 character 26: Line breaking error ')'.
      if (s.timeout)

      Lint at line 580 character 17: Expected '{' and instead saw 'clearTimeout'.
      clearTimeout(timeoutHandle);

      Lint at line 580 character 17: Too many errors. (57% scanned).

  |-> minified to: jquery.form.min.js
  |-> plone: jquery.form.js
  |-> plone: jquery.form.min.js
making github happy about rst ending
making github even happier
add changelog for pull request, #1
Merge branch 'master' into 1.4

Conflicts:
	jqt_checkout_build
update to jquerytools 1.2.7
Merge branch 'tmp' into 1.4

Conflicts:
	CHANGES.rst
	jqt_checkout_build
	plone/app/jquerytools/browser/jquery.form.js
	plone/app/jquerytools/browser/jquery.form.min.js
	plone/app/jquerytools/browser/jquery.tools.dateinput.js
	plone/app/jquerytools/browser/jquery.tools.dateinput.min.js
	plone/app/jquerytools/browser/jquery.tools.js
	plone/app/jquerytools/browser/jquery.tools.min.js
	plone/app/jquerytools/browser/jquery.tools.plugins.js
	plone/app/jquerytools/browser/jquery.tools.plugins.min.js
	plone/app/jquerytools/browser/jquery.tools.rangeinput.js
	plone/app/jquerytools/browser/jquery.tools.rangeinput.min.js
	plone/app/jquerytools/browser/jquery.tools.validator.js
	plone/app/jquerytools/browser/jquery.tools.validator.min.js