Commit 48 (Beta Candidate)
New features and improvements:
- {^{props/}} tag now supports data-linking: It is 2-way data bound.
  Samples to follow.
- observeAll events now provides additional contextual information:
  ev.data.allPath.
  See https://github.com/BorisMoore/jsviews/issues/232. Samples to follow.
- observeAll(object, cb[, filter]) allows an additional 'filter' parameter:
  a function to filter returned values. The filter feature is used by the
  {{props}} implementation.
- {{for}} {{include}} {{props}} now support omitting the data path
  parameter. When omitted, renders current data, - equivalent to
  {{for #data}} etc. {{for}} iterates if current data is an array
  {{include tmpl=…/}} renders template for current data, and does not
  iterate if current data is an array.
- Improved API for settings, plus bug fixes. Switch debugMode using
  $.views.settings.debugMode(boolean);. Switch other settings such as
  tryCatch using $.views.settings({tryCatch: false}).
- New support for rendering or linking arrays, without iteration (previously
  "layout = true" mode). Pass in value true for optional 'noIteration'
  parameter as in:
  tagCtx.render(someArray, context[, noIteration])
  template.render(data, context[, noiteration])
  template.link(container, data, context[, noiteration]).
- New support for custom tags with just a template - they no longer need a
  render method. They will iterate over arrays. To render arrays without
  iteration provide a render method which calls
  tagCtx.render(data, options, true);
  Samples to follow.
- New support for 2-way data-linking on content-editable elements.
  Samples to follow.
- Improvements to the "{on ...}" event binding: data-link="{on myHandler}"
  now defaults to the default trigger" "click";
- New support for a DataMap feature used by {{props}} implementation.
  More information/samples/documentation and updates to follow.
- New built-in tag, converter and helper provided for debugging:
  {{dbg/}}, {{dbg:somePath}}  {{myconverter:somePath:dbg}} ~dbg()
  When debugMode is true, the debugger will break at that point during
  template rendering.
- New {{jsonview/}} sample tag control. Insert anywhere in a template
  and it will render the current data item as JSON syntax, and when
  using JsViews/link() will dynamically update when the data changes
  observably. Use {{jsonview path.to.object.or.array/}} to show JSON
  for nested objects.

BREAKING CHANGES:
- Whenever the value null is returned from tag, the result is now
  consistently to render nothing (empty string). Previously {{:nullValue}}
  returned the empty string, but {^{:nullValue}}, {{attr:nullValue}} and
  {converterReturningNull:foo}} did not. This is a fix for
  https://github.com/BorisMoore/jsrender/issues/224.
- Data linking to arrays is simplified and more consistent. Now tags
  DO NOT automatically bind to arrays, and refresh when the array updates.
  {^{myTag path.to.array/}} will now update when the to.array property is
  update (property change) but not when the to.array itself changes
  observably. (array change). A tag should opt in to arraybinding either
  by deriving from the "for" tag - as in the 'range' sample:
  http://www.jsviews.com/#samples/tag-controls/range, or by following
  the using onAfterLink and onDispose to add/remove the onArrayChange
  handler, as in the {^{myWidget .../}} sample in the JsViews unit tests.
  This change relates to https://github.com/BorisMoore/jsviews/issues/158

Bug fixes:
- Fixed bugs in nested array binding (multi-dimensional arrays) See
  https://github.com/BorisMoore/jsviews/issues/227
- Fix for https://github.com/BorisMoore/jsviews/issues/235
- Fix for https://github.com/BorisMoore/jsrender/issues/221
- Fix for https://github.com/BorisMoore/jsrender/issues/226
- Fix for https://github.com/BorisMoore/jsrender/issues/227