marko/CHANGELOG.md
2015-03-16 14:33:29 -06:00

3.8 KiB

Changelog

2.x

2.0.x

2.1.0

  • Fixes #47 - Added support for "taglib-imports"

2.0.12

  • Fixes #31 - Add support for providing prefix when scanning for tags
  • Allow "code" to be a function that lazily evaluates to a code string during code generation

2.0.11

  • Added method for custom node compilers to get access to the escapeXml function at runtime

2.0.10

  • Fixes #39 - Added missing return when using hot-reload

2.0.9

  • Fixed bad publish

2.0.8

  • Better merging of tags when loading and merging taglibs

2.0.7

  • Changes to avoid problems associated with the same taglib being found multiple times in the search path

2.0.6

  • renderBody function is only added if tag has children

2.0.5

  • Fixed #36 - Don't use invokeBody() in the cache taglib

2.0.4

  • Fixed #36 - Deprecated - When using <include> with body content, nested body content is now passed in as String property named body. Old behavior: nested content would be passed in as a Function property named invokeBody that would return the String value of the nested content. invokeBody() has been deprecated.

2.0.3

  • Fixed #36 - Don't use invokeBody() in test code and the HTML comments tag

2.0.2

  • Fixed #36 - Deprecated input.invokeBody() in favor of input.renderBody(out)
  • Fixed #37 - Duplicate input property for custom tag renderers

2.0.1

  • Fixed #35 - Added support for <compiler-options>. Example:
<compiler-options whitespace="preserve" />
A
B
C

2.0.0

  • Dynamic attributes for scanned tags without a tag will have dashes removed by default.
    • When using tags-dir to discover tags that do not have a marko-tag.json, the previous behavior was to allow all attributes and to use the actual attribute name as the input property name. For example, when using <hello first-name="John">, first name would need to be read in as input['first-name']. This was changed such that the first name property should now be read in as input.firstName (dashes removed and converted to camel case)
  • Changes to allow UI component to be put into a single JS file:
    • Updated taglib directory scanner to use index.js if found. New search order:
      1. renderer.js (use renderer.js if it exists)
      2. index.js (use index.js if it exists and assume it exports a renderer or render property)
      3. template.marko (use the template as the renderer if no renderer.js or index.js)
    • Changes to the taglib directory scanner could break existing code. Specifically, if a UI component directory had an index.js file and a template.marko file then in in marko@<2 the template.marko file would have been selected as the renderer. In marko@2.x, the index.js will be selected as the tag renderer.
  • Removed support for mapping a tag renderer to a module with a process method
  • Removed sub-module marko/renderer that exports raptor-renderer

1.x

1.6.x

1.6.1

  • Added back code to allow the new marko runtime to load templates compiled by an earlier compiler that used module.exports

1.6.0

  • Fixed #32. Switched from module.exports = function create(__helpers) { ... } to exports.create = function(__helpers) { ... } to avoid circular dependency problems

1.5.x

1.5.8

  • Added support for adding "static" code to the top of a compiled template (helpful for initializing variables or running code once).

1.5.7

1.5.6

  • Changes to avoid unoptimized code in V8

1.5.5

  • Handle case where template was loaded before hot-reload was enabled

1.5.4

  • Added support for $global in renderSync