Fix detection of single child widget when there is one child with a resize() method and another child without one.   Fixes #14822 !strict.
Add test case and fix another problem for Tree with custom !TreeNode class with supporting widgets, refs #15153 !strict
added missing property in package.json; fixes #14873; thanks scorgatelli
Make separate event names for each modified widget attribute, ex: attrmodified-selectedchildwidget.   Seems safer for performance.   Refs #13785 !strict.
Use event bubbling to monitor value, validity, etc. state changes in child form widgets.   Refs #13785 !strict.
Fixes #15163.  Change claro text color label rule to apply to the parent so that it can be overridden by the labelStyle inline style.
Support Select connecting to dojo.store.    Still connects to dojo.data legacy API (will be removed in 2.0).   Fixes #14866 !strict.
Fix aria role for multi-select tree, fixes #15172 !strict
Improve guard code for when underlay may already be destroyed, refs #10525 !strict.
"char" is a reserved word, so use a different variable name, refs #15153 !strict
Convert robot*.js files to baseless AMD, and remove document.write() usage.
 
 To get util/doh/robot.js to play nice with AMD (no document.write(), and no reference to dojo global), I introduced a dependency to dojo which theoretically wasn't needed before.   Perhaps it can be removed in the future.   If isolation is desired, the dojo-dependent code should be moved to dojo/robot.js, not put if if(){...} blocks.
 
 Also removed the document.write() usage in dojo/robotx.js to create a console div.   On IE6/IE7, we are already getting a firebug-lite console, so just using that.   (This might be dependent on having isDebug:true in the data-dojo-config of the test file though.)
 
 Theoretically fixes #14929 !strict.
Fixes #15141.  Add onLoadDeferred to Select so that InlineEditBox waits for the value to be set.  Added various automated tests. !strict
Fixes #14703.  Change TextBox's onInput to be called only once for most keyboard events.  Printable keys generate keypress and others keydown.  Added automated test.
Get DnD working on mobile.    Probably there are still some rough edges.  Fixes #15185 !strict.
Support dijit/Tree DnD on mobile, and support touch.over, touch.out, touch.enter, and touch.leave synthetic events from dojo/touch module.   Also fixed touch.move to behave like mousemove.

I refactored the touch.over/touch.out code to work by firing synthetic events when it that the user drags over a different node than before.   

About touch.move: Previously, on(node, touch.move, func) on mobile would only trigger func if the user started their drag inside of the specified node.   This did not match the behavior of on(node, touch.move, fun) on desktop, which was to fire events whenever the mouse was moved over the specified node, regardless of where the mouse movement started.   DnD at least was depending on the onmousemove-like behavior.

Refs #14185 !strict.
Re-enable _CssStateMixin to track focus events on widget subnodes since legacy themes (tundra, nihilo, soria) are using that feature for !ComboButton's in Toolbars on IE.

Refs #14568, fixes #15196 !strict.
Fixes #15200.  Selected was separated from Hover in 1.7 but the legacy themes need an extra CSS rule.
Use standard has.add()/has() for feature detection wraping.   Refs #12375 !strict.
Use standard has.add()/has() for feature detection wrapping.    Also, use domConstruct.destroy() to get behavior needed for IE.   Refs #12823 !strict.
Removing dependency on win.doc global-ish variable:

- Each widget has a document determined at creation time, usually implied by srcNodeRef.ownerDocument but also specifiable explicitly.    Save that in this.ownerDocument, and for convenience also record the associated <body> node in this.ownerDocumentBody.    Maybe this.ownerDocument should be called this.doc instead,  but I thought that might be confusing with Editor.document.

- In widgets, use this.ownerDocument instead of win.doc, and this.ownerDocumentBody  instead of win.body().

- Since domConstruct.create() doesn't take a document parameter, either pass in a refNode (which implies the document), or avoid using domConstruct.create().   Could also have wrapped the domConstruct.create() calls with win.withDoc(), or used domConstruct.toDom().

- Miscellaneous fixes to widgets.

- Make dojo/_base/window::body() take an optional document parameter.

Editor not yet converted.

Refs #15216 !strict.