Permalink
Commits on Jul 28, 2016
  1. Commit 80 (v0.9.80 - Beta)

    - Sync to version 80 used by JsViews - no significant changes
    
    Unit tests:
    
    - Several additional unit tests
    
    Documentation:
    
    - Several new and improved documentation topics including several new topics
      under "Targets for data-linking" at http://www.jsviews.com/#link-targets
    
    Bug fixes:
    
    - Some minor bug fixes
    committed Jul 28, 2016
Commits on Jul 13, 2016
  1. Commit 79 (v0.9.79 - Beta)

    - Sync to version 79 used by JsViews - no significant changes
    committed Jul 13, 2016
Commits on Jul 3, 2016
  1. Commit 78 (v0.9.78 - Beta)

    - Several minor bug fixes
    committed Jul 3, 2016
Commits on Jun 16, 2016
  1. Commit 77 (v0.9.77 - Beta)

    - Several minor bug fixes
    committed Jun 16, 2016
Commits on May 28, 2016
  1. Commit 76 (v0.9.76 - Beta)

    - New support for compiled View Models - using $.views.viewModels(...),
      and new map(), merge() and unmap() APIs for converting between plain
      object hierarchies and compiled View Model hierarchies - covered by
      the new documentation topics: http://www.jsviews.com/#jsrmodel,
      http://www.jsviews.com/#viewmodelsapi, http://www.jsviews.com/#jsvmodel
      and http://www.jsviews.com/#jsvviewmodelsapi.
    
    - Added escaping of = in {{>...}} and {{html:...}}
    
    - Prevent use of ['constructor'] in template expressions (so cannot
      instantiate new Function)
    
    - Several minor bug fixes
    
    - Several new and improved documentation topics:
      http://www.jsviews.com/#jsvapps Building apps (JsViews)
      http://www.jsviews.com/#jsrmodel Data / View Model (JsRender)
      http://www.jsviews.com/#jsvmodel Data / View Model (JsViews)
      http://www.jsviews.com/#viewmodelsapi Compiled View Models (JsViews)
      http://www.jsviews.com/#jsvviewmodelsapi Compiled View Models (JsViews)
      http://www.jsviews.com/#node/webpack Webpack support
      http://www.jsviews.com/#node/browserify Browserify support
    
    - Keyboard shortcuts provided for 'Search' on www.jsviews.com:
      Ctrl+/: search, Enter: new search, Escape: quit,
      Ctrl+Left/Right Arrow: Prev/Next result
    
    - Many additional unit tests
    committed May 28, 2016
Commits on Apr 3, 2016
  1. Commit 75 (v0.9.75 - Beta)

    Several new and improved documentation topics:
    
    - http://www.jsviews.com/#views JsRender view hierarchy
    - http://www.jsviews.com/#getindex Iterating over arrays: accessing the array index
    - http://www.jsviews.com/#contextualparams Contextual parameters
    - http://www.jsviews.com/#parentdata Accessing parent data
    - http://www.jsviews.com/#apps Building apps
    - http://www.jsviews.com/#jsrmodel Data / View Model
    - http://www.jsviews.com/#compiletmpl Using templates
    - http://www.jsviews.com/#d.templates Registering templates: $.templates()
    - http://www.jsviews.com/#helpers Using helpers
    - http://www.jsviews.com/#helpersapi Registering helpers: $.views.helpers()
    - http://www.jsviews.com/#converters Using converters
    - http://www.jsviews.com/#convertersapi Registering converters: $.views.converters()
    
    Unit tests
    - Many new unit tests added, especially for Browserify scenarios
    
    Bug fixes
    
    - #295 Issue with Browserify when loading
      jQuery statically, and JsRender/JsViews as a Browserify module
    committed Apr 3, 2016
Commits on Mar 20, 2016
  1. Commit 74 (v0.9.74 - Beta)

    Updates and new documentation topics:
    
    - Important updates and improvements to $.views.settings APIs:
      settings.allowCode(), settings.delimiters(), settings.debugMode() plus
      new settings.advanced(). See new documentation at www.jsviews.com/#settings
    
    - Support for error handling and debugging improved and extended, with
      some small changes to APIs - including for $.views.settings.debugMode,
      with full documention at www.jsviews.com/#onerror
    
    - {{>}} is now equivalent to {{>#data}}
    
    Minor breaking changes:
    
    - JsRender no longer uses the (0, eval)('this') expression
      to get the window object. This means that it can now be minified
      by the Visual Studio minifier, in spite of it not correctly minifying
      this expression. See BorisMoore/jsviews#323
    
    Bug fixes:
    
    - Several small bug fixes
    
    - This update also includes a security fix
    committed Mar 20, 2016
Commits on Feb 16, 2016
  1. Commit 73 (v0.9.73 - Beta)

    Minor update: no important changes or bug fixes
    
    - Updated copyright and updated links to latest jQuery, QUnit etc.
    
    - Some documentation improvements
    committed Feb 16, 2016
Commits on Jan 28, 2016
  1. Commit 72 (v0.9.72 - Beta)

    - Improved syntax error messages:
      BorisMoore/jsviews#332
    
    - Improved tag parsing:
      BorisMoore/jsviews#331
    
    - Minor bug fixes, including:
      #290
    
    - Many documentation additions and improvements, including:
      Documentation for #index and #getIndex():
      "http://jsviews.com/#viewobject@getIndex"
      #266
    
    - Improvements to jsviews.com search feature
    committed Jan 27, 2016
Commits on Jan 13, 2016
Commits on Dec 21, 2015
  1. Add cdnjs to ReadMe

    committed Dec 21, 2015
  2. Commit 71 (v0.9.71 - Beta)

    Minor breaking change:
    - {{mytag tmpl="foo"}} - "foo" template now replaces or wraps the content,
      as previously, but unlike previously, does not take precedence over a
      template declared in the tag definition. That template is still used to
      render {{mytag}}, but if it includes content, as {{include tmpl=#content/}},
      then the "foo" template will replace the rendered block content
      {{mytag}}...{{/mytag}}, or can itself wrap any block content using
      {{include tmpl=#content/}}
    committed Dec 21, 2015
Commits on Oct 8, 2015
  1. Merge pull request #272 from orthographic-pedant/spell_check/conditions

    Fix typographical error(s)
    committed Oct 8, 2015
Commits on Oct 7, 2015
  1. Merge pull request #271 from orthographic-pedant/spell_check/condition

    Fix typographical error(s)
    committed Oct 7, 2015
  2. Fix typographical error(s)

    Changed condidtions to conditions in README.
    orthographic-pedant committed Oct 7, 2015
  3. Fix typographical error(s)

    Changed condidtion to condition in README.
    orthographic-pedant committed Oct 7, 2015
Commits on Sep 24, 2015
  1. Commit 70 (v1.0.0-rc.70 - Release Candidate)

    - Updated readme
    
    - Improved syntax error detection:
    - BorisMoore/jsviews#317
    committed Sep 23, 2015
Commits on Sep 6, 2015
Commits on Sep 2, 2015
  1. Commit 68 (v1.0.0-beta.68 - Beta Candidate)

    Replaces commits 66 and 67.
    
    Updated documentation.
    See also https://github.com/BorisMoore/jsrender-node-starter.
    
    BREAKING CHANGES
    
    - One very minor breaking change: the $.views.compile(...) alias
      for $.templates has been removed from jsrender.js, but is still
      available for Node.js (e.g. for Hapi templates integration) as
      $.compile(...).
    
    NEW FEATURES
    
    - This version of JsRender has been published on NPM.
      Install using:
      $ npm install jsrender
    
    - Browserify Support:
      JsRender on Node.js provides a built-in Browserify transform
      for including compiled JsRender templates from the server, as part of
      the client javascript bundle generated by Browserify.
    
      Usage example:
    
      var tmplify = require('jsrender/tmplify');
      browserify(...) ... .transform(tmplify) ...
    
      See also https://github.com/BorisMoore/jsrender-node-starter,
      and http://www.jsviews.com/test/unit-tests-browserify.html
    
    - Continuing work for documentation/deployment to NPM. See
      BorisMoore/jsviews#254
      #225
    
    Bug Fixes:
    
    - #172
    committed Sep 2, 2015
Commits on Sep 1, 2015
  1. Commit 67 (v1.0.0-beta.67 - Beta Candidate)

    Added quick start documentation as README.md
    
    BREAKING CHANGES
    
    - One very minor breaking change: the $.views.compile(...) alias
      for $.templates has been removed from jsrender.js, but is still
      available for Node.js (e.g. for Hapi templates integration) as
      $.compile(...).
    
    NEW FEATURES
    
    - This version of JsRender will be published on NPM.
      Install using:
      $ npm install jsrender
    
    - Browserify Support:
      JsRender on Node.js provides a built-in Browserify transform
      for including compiled JsRender templates from the server, as part of
      the client javascript bundle generated by Browserify.
    
      Usage example:
    
      var tmplify = require('jsrender/tmplify');
      browserify(...) ... .transform(tmplify) ...
    
      See also http://www.jsviews.com/test/unit-tests-browserify.html
    
    - Continuing work for documentation/deployment to NPM. See
      BorisMoore/jsviews#254
      #225
    
    Bug Fixes:
    
    - #172
    committed Aug 30, 2015
Commits on Aug 18, 2015
  1. Commit 65 (v1.0.0-rc.65 - Release Candidate)

    BREAKING CHANGES AND IMPROVEMENTS
    
    - The global namespace when JsRender is loaded without jQuery
      is now window.jsrender. (Previously it was window.jsviews).
      So when using JsRender without jQuery, you can write:
      var $ = jsrender; - and use the $ var it in the same way you
      would use the global $ when JsRender is loaded with jQuery:
      e.g. $.templates(...) or $.views.helpers(...) etc.
    
    - AMD support has been improved and simplified. All AMD
      modules, including JsRender, with or without jQuery, now
      return the jQuery object (if loaded) or the analogous
      JsViews object.
    
    - Node.js support and integration has been improved - along
      with improved CommonJS support, and Browserify integration.
      The file system APIs now use the syntax tmpl="./file/path.html".
      The Node.js version of jsrender.js is available as a separate
      file (available at //jsviews.com/download/jsrender-node.js).
    
      The Node.js version of JsRender provides the complete set of
      JsRender APIs and features, together with integration
      with NodeJS view-engines such as Express and Hapi, APIs
      for loading templates from the file system, etc.
      The file system APIs now use the syntax tmpl="./file/path.html".
    
      It also includes a built-in Browserify transform (see "Browserify
      Support: below).
    
      (Note: JsRender and JsViews will soon be published to NPM).
    
    - The behavior when loading multiple instances of JsRender or
      JsViews files has been changed: When loading a new instance,
      the previous instance $.views, $.templates, etc. is no longer
      overwritten. So a component using JsRender or JsViews will not,
      when loaded, cause another already loaded component also using
      JsViews/JsRender to fail (except for collisions arising in the
      unlikely case where both happen to use the same
      template/converter/helper name).
    
      As part of this modified behavior, the noConflict support
      for JsRender had been removed.
    
    NEW FEATURES
    
    - Browserify Support:
      JsRender on Node.js provides a built-in Browserify
      transform - jsrender.tmplify, for including compiled JsRender
      templates from the server, as part of the client javascript
      bundle generated by Browserify.
    
      Usage example:
    
      var $jsr = require('jsrender');
    
      browserify(...) ... .transform($jsr.tmplify) ...
      See also http://www.jsviews.com/test/unit-tests-browserify.html
    
    - Initial work for deployment to Bower and NPM. See
      BorisMoore/jsviews#254
      #225
    
    Bug Fixes:
    
    - #263
      #264
      Caching of template on script elements. (Unit tests
      added)
    committed Aug 17, 2015
Commits on Aug 17, 2015
Commits on May 20, 2015
  1. Commit 64 (Post Beta)

    BREAKING CHANGES
    
    - debugMode is now false by default - which means
      that on error, an exception is thrown, rather than
      outputting an error message in the rendered output.
      To obtain previous behavior, set debugMode to true:
      $.views.settings.debugMode(true);
    
    - The $.views.sub.cvt() no longer exists. Use tag.cvtArgs().
    
     NEW FEATURES
    
    - AMD and CommonJs support for both JsRender and JsViews,
      providing both for NodeJS scenarios, and scenarios in which
      requireJS or similar AMD script loaders are used to load
      JsRender, JsObservable or JsViews.
    
    - Support for JsRender in NodeJS:
      Support for Express and Hapi view engines using JsRender
      Support for loading templates from file, on Node, using
      the syntax: tmpl="@file.path"
      See: https://github.com/BorisMoore/jsrender-node-starter
    
    - $.templates() now has an equivalent alternate name (alias):
      $.views.compile() which allows for immediate integration in some
      frameworks, such as Hapi templated views.
      See https://github.com/BorisMoore/jsrender-node-starter#hapi-templates-support
    
    - Similarly, a compiled template now has an alternative shortcut API
      for the render method. The compiled template is it's own render
      function, so for a compiled template: var tmpl = $.templates(...);
      the following are equivalent:
    
      tmpl.render(data, helpers);
      tmpl(data, helpers);
    
    - Support for allowCode has been simplified and improved. Docs to
      follow. You can now enable allowCode globally using
      $.views.settings.allowCode. A new tag: {{*: expression}} will
      return the evaluated expression - like {{: expression}} - but here
      the expression can allow any code.
    
    - JsRender now has noConflict support, for loading a new instance of
      JsRender, without conflict with an already loaded instance.
    
    - Tag property names can now include '.' and '_' characters:
      {{myTag _a=3 b.c=4 /}}
    
    - Support simplified syntax when defining custom tags with just a markup
      string (template), or jsut a render method:
      $.views.tags("myTag", "this is the template");
      $.views.tags("a", function(...){
         //this is the render function
      });
    
    - The debug helpers: {{dbg:}} {{dbg ...}} {{~dbg()}} now throw and catch,
      rather than including a debugger; statement. To use this feature set
      your browser/debugger to stop on caught exceptions.
      (See also #239)
    
    - A lot of changes have been made to considerably optimize performance
      when using JsRender to render simple templatesPerf. Optimized template
      will not need to instantiate view objects, and hence will be faster.
      A compiled template has a tmpl.useViews property which shows whether
      it allowed that optimization. (tmpl.useViews false)
    
    Bug Fixes:
    
    - #239:
    
    - #252
      (Improved syntax error message e.g.:
      '{{include}} block has {{/for}} with no open {{for}}'
    committed May 20, 2015
Commits on Mar 5, 2015
  1. Commit 63 (Post Beta)

    MINOR BREAKING CHANGES
    - Removed minor undocumented feature where custom tags
      could return false from init.
    
    NEW FEATURE
    - A new itemVar feature allows you to set a context variable
      on any tag, to provide access to the block context, even
      within nest tag blocks below.
      e.g. {{for people itemVar="~person"}}
      See #256
      and http://jsfiddle.net/BorisMoore/zgr90L3s/
    
    - Many new unit tests added for the above new feature.
    
    - Some small additional bug fixes.
    committed Mar 5, 2015
Commits on Feb 9, 2015
  1. Commit 62 (Post Beta)

    - Tag inheritance now supports multi-level inheritance with
      easy invocation of the base class implementation using
      this.base(...) or this.baseApply(arguments):
      e.g.
      {
        baseTag: "for",
        onAfterLink: function() {
          ...
          this.baseApply(arguments);
        }
        ...
      }
    
      Similarly for callbacks declared declaratively on tags:
      e.g.
      {{for items onAfterLink=~myHelper onUpdate=~dbg}}...
    
      function myHelper() {
        ...
        this.baseApply(arguments);
      }
    
    - Many new unit tests added for the above feature.
    
    - Some small additional bug fixes.
    committed Feb 9, 2015
Commits on Dec 25, 2014
  1. Commit 61 (Post Beta)

    - Improvements and bug fixes for complex templates using
      computed properties, with or without parameters,
      including computed values which return objects, and
      using paths which chain computed values - for example:
      {{:a.b().c.d.e(p, q).f}}
    
    - Full support for deep paths with computed values and
      optionally involving complex expressions - for example:
      {{:a.b().c.d.e(p + (r - 1), q + 't').f + 'x' + g}}
    
    - Improved support for custom tag inheritance from
      base tag - e.g.: {baseTag: "for", ...}
    
    Bug Fixes
    BorisMoore/jsviews#285
    BorisMoore/jsviews#287
    BorisMoore/jsviews#289
    
    - Several small additional bug fixes.
    committed Dec 25, 2014
Commits on Oct 15, 2014
  1. Commit 60 (Post Beta)

    - Sync with updated version 60 of JsViews.
    committed Oct 15, 2014
Commits on Sep 30, 2014
  1. Commit 59 (Post Beta)

    - sync with updated version 59 of JsViews.
    committed Sep 30, 2014
Commits on Sep 20, 2014
  1. Commit 58 (Post Beta)

    - sync with updated version 58 of JsViews
    committed Sep 20, 2014