changelogs.md


nyakto/jade-async

Repository  -  API  -  Source

1.3.1

April 4, 2014
  • Fix error with tags in xml that are self-closing in html (@ForbesLindesay)
    • Fix error message for inline tags with content (@hiddentao)

1.3.0

March 2, 2014
  • Fix a bug where sometimes mixins were removed by an optimisation even though they were being called (@ForbesLindesay, reported by @leider)
    • Updated with to support automatically detecting when a value is "global" and removed redundant options.globals option (@ForbesLindesay)
    • Improve warnings for tags with multiple attributes (@ForbesLindesay)
    • Deprecate (with a warning) node.clone, block.replace, attrs.removeAttribute, attrs.getAttribute - these are all internal APIs for the AST (@ForbesLindesay)

1.2.0

February 26, 2014
  • Use variables instead of properties of jade, improving performance and reliability with nested templates (@ForbesLindesay)
    • Support compiling templates from stdin via a user typing (@yorkie)
    • Lazily add mixins (@ForbesLindesay)
    • Fix case fall-through (@ForbesLindesay)
    • Earlier errors for when without case and else without if (@ForbesLindesay)
    • Allow if/else etc. to not have a block.
    • Remove lib-cov legacy to make browserify work better (@silver83)
    • Add and improve test coverage using istanbul (@ForbesLindesay)

1.1.5

January 19, 2014
  • Add filename to and fix line numbers for missing space before text warning (@ijin82)
    • Fix filenames for some error reporting in extends/includes (@doublerebel)
    • Fix a corner case where a mixin was called with &attributes but no other attributes and a block that was supposed to be fixed in 1.1.4 (@ForbesLindesay)

1.1.4

January 9, 2014
  • Fix a corner case where a mixin was called with &attributes but no other attributes and a block (@ForbesLindesay)

1.1.3

January 9, 2014
  • Fix failure of npm prepublish not running

1.1.2

January 9, 2014
  • Fix same interaction of &attributes with false null or undefined but combined with dynamic attributes (@ForbesLindesay)

1.1.1

January 9, 2014
  • Fix a bug when &attributes is combined with static attributes that evaluate to false or null or undefined (@ForbesLindesay)

1.1.0

January 7, 2014
  • Fix class merging to work as documented (@ForbesLindesay)
    • Throw an error when the same attribute is duplicated multiple times (@ForbesLindesay)
    • Move more errors into the parser/lexer so they have more info about line numbers (@ForbesLindesay)
    • Support mixin blocks at the end of files (@ForbesLindesay)

1.0.2

December 31, 2013
  • Fix a bug when &attributes is combined with dynamic attributes (@ForbesLindesay)

1.0.1

December 29, 2013
  • Allow self closing tags to contian whitespace (@ForbesLindesay)
    • Allow tags to have a single white space after them (@ForbesLindesay)
    • Support text bodies of tags that begin with // rather than treating them as comments (@ForbesLindesay)

1.0.0

December 22, 2013

0.35.0

August 21, 2013
  • Add support for space separated attributes (thanks to @ForbesLindesay)
    • Add earlier errors for invalid JavaScript expressions (thanks to @ForbesLindesay)
    • Fix parsing files with UTF8 BOMs when they are includes or parent/layout templates (thanks to @kiinoo)

0.34.1

July 26, 2013
  • fix render file not working when called with callback (reported by @xieren58)

0.34.0

July 26, 2013
  • callbacks only called once for async methods even if they throw (reported by @davidcornu)
    • HTML comments are pretty printed better (thanks to @eddiemonge)
    • callbacks are optional and leaving them out results in synchronous operation (thanks to @ForbesLindesay)
    • empty filter nodes are now permitted (thanks to @coderanger)
    • overhaul website and documentation (thanks to @ForbesLindesay), much more of this to come.

0.33.0

July 12, 2013
  • Hugely more powerful error reporting (especially with compileDebug set explicitly to true)
    • Add a warning for tags with multiple attributes
    • be strict about requiring newlines after tags to fix some odd corner cases
    • fix escaping of class to allow it to be unescaped (thanks to @christiangenco)

0.32.0

June 28, 2013
  • remove jade.version and fix jade --version
    • add file name and line number to deprecation warnings
    • use constantinople for better constant detection
    • update with for a massive performance upgrade at compile time

0.31.2

June 7, 2013
  • fix overzealous deprecation warnings

0.31.1

May 31, 2013
  • fix line endings for executable command
    • fix locals variable being undefined
    • fix an obscure bug that could occur if multiple mixins interact badly (see substack/lexical-scope#13)

0.31.0

May 30, 2013
  • deprecate implicit text-only script and style tags
    • make with at compile time using lexical-scope
    • add options.parser that behaves exactly like options.compiler
    • add "component.json" for component (runtime) support
    • removed hasOwnProperty check in each loops
    • removed .min files from the repository (people can just generate these themselves)
    • use browserify to compile client side libraries
    • fix buggy block extending should now be fixed
    • fix preserve case of custom doctypes
    • fix regexps in attributes sometimes not being accepted
    • fix allow $ sign in each loop variable names
    • fix mixins with buffered code on the same line
    • fix separate class names by ` rather than,` (was sometimes incorrect)

0.30.0

April 25, 2013
  • add support for 'include' and 'extends' to use paths relative to basedir
    • fix accidental calling of functions in iteration block. Closes #986
    • fix: skip rethrow on client
    • fix each/else prefixed with -
    • fix multi-block prepend/append
    • swap -o and -O, set -o to --out

0.29.0

April 16, 2013
  • add "monocle" for watcher that actually works...
    • fix interpolation in blocks of text
    • fix attribute interpolation
    • move filters to an external library
    • fix JavaScript escaping corner cases

0.28.2

March 4, 2013
  • wtf coffeescript is not a dep

0.28.1

January 10, 2013
  • add passing of filename to include filters
    • fix wrong new lines for include filters

0.28.0

January 8, 2013
  • add .css and .js "filters". re #438
    • add include filters. Closes #283
    • fix "class:" within attribute escaping
    • removing ast filters
    • things I can't read:
    • 反馈地址
    • 样式
    • 联系
    • 初稿,翻译完
    • 接受大鸟的建议
    • 头晕,翻译一点点
    • 到过滤器翻译完毕
    • 翻译一部分
    • 中文翻译单独放
    • 特性部分
    • 再翻
    • 翻译一点点

0.27.7

November 5, 2012
  • fix each/else clause for enumerated objects
    • fix #764 (incorrect line number for error messages)
    • fix double-escaping of interpolated js slashes. Closes #784

0.27.6

October 5, 2012
  • Included templates can not override blocks of their parent. Closes #699

0.27.5

September 24, 2012
  • fix attr interpolation escaping. Closes #771

0.27.4

September 18, 2012
  • fix include yields. Closes #770

0.27.3

September 18, 2012
  • fix escaping of interpolation. Closes #769
    • loosen "mkdirp" version restriction [TooTallNate]

0.27.2

August 7, 2012
  • Revert "fixing string interpolation escaping #731", problems reported

0.27.1

August 6, 2012
  • fix attribute interpolation escaping #731
    • fix string interpolation escaping #731

0.27.0

July 26, 2012
  • added ability to pass in json file to --obj
    • add preliminary each else support. Closes #716
    • fix doctype bug overlooked in #712
    • fix stripping of utf-8 BOMs

0.26.3

June 25, 2012
  • Update version of commander that supports node v0.8.

0.26.2

June 22, 2012
  • Added --options alias of --obj
    • Added reserved word conflict prevention in Google's Closure Compiler
    • Added tag interpolation. Closes #657
    • Allow the compiled client to use it's own jade util functions [3rd-Eden]
    • Fixed attrs() escape bug [caseywebdev]

0.26.1

May 27, 2012
  • Changed default doctype to html5
    • Performance: statically compile attrs when possible [chowey]
    • Fixed some class attribute merging cases
    • Fixed so block doesn't consume blockquotes tag [chowey]
    • Fixed backslashes in text nodes [chowey]
    • Fixed / in text. Closes #638

0.26.0

May 4, 2012
  • Added package.json component support
    • Added explicit self-closing tag support. Closes #605
    • Added block statement
    • Added mixin tag-like behaviour [chowey]
    • Fixed mixins with extends [chowey]

0.25.0

April 18, 2012
  • Added preliminary mixin block support. Closes #310
    • Fixed whitespace handling in various situations [chowey]
    • Fixed indentation in various situations [chowey]

0.24.0

April 12, 2012
  • Fixed unescaped attribute compilation
    • Fixed pretty-printing of text-only tags (Warning: this may affect rendering) [chowey]

0.23.0

April 11, 2012
  • Added data-attr json stringification support. Closes #572
    • Added unescaped attr support. Closes #198
    • Fixed #1070, reverted mixin function statements
    • Fixed jade.1 typo

0.22.1

April 4, 2012
  • Fixed source tags. now self-closing. Closes #308
    • Fixed: escape backslashes in coffeescript filter

0.22.0

March 22, 2012
  • Added jade manpage (man jade after installation for docs)
    • Added -D, --no-debug to jade(1)
    • Added -p, --pretty to jade(1)
    • Added -c, --client option to jade(1)
    • Fixed -o { client: true } with stdin
    • Fixed: skip blank lines in lexer (unless within pipeless text). Closes #399

0.21.0

March 10, 2012
  • Added new input/output test suite using Mocha's string diffing
    • Added alias extend -> extends. Closes #527 [guillermo]
    • Fixed include escapes. Closes #513
    • Fixed block-expansion with .foo and #foo short-hands. Closes #498

0.20.3

February 16, 2012
  • Changed: pass .filename to filters only

0.20.2

February 16, 2012
  • Fixed :stylus import capabilities, pass .filename

0.20.1

February 2, 2012
  • Fixed Block#includeBlock() with textOnly blocks

0.20.0

December 28, 2011
  • Added a browser example
    • Added yield for block includes
    • Changed: replaced internal __ var with __jade [chrisleishman]
    • Fixed two globals. Closes #433

0.19.0

December 2, 2011
  • Added block append / prepend support. Closes #355
    • Added link in readme to jade-mode for Emacs
    • Added link to python implementation

0.18.0

November 21, 2011
  • Changed: only ['script', 'style'] are text-only. Closes #398'

0.17.0

November 10, 2011
  • jade.renderFile() is back! (for express 3.x)
    • Fixed Object.keys() failover bug

0.16.4

October 24, 2011
  • Fixed a test due to reserved keyword
    • Fixed: commander 0.1.x dep for 0.5.x

0.16.3

October 24, 2011
  • Added: allow leading space for conditional comments
    • Added quick implementation of a switch statement
    • Fixed parens in mixin args. Closes #380
    • Fixed: include files with a .jade extension as jade files

0.16.2

September 30, 2011
  • Fixed include regression. Closes #354

0.16.1

September 29, 2011
  • Fixed unexpected else bug when compileDebug: false
    • Fixed attr state issue for balancing pairs. Closes #353

0.16.0

September 26, 2011
  • Added include block support. Closes #303
    • Added template inheritance via block and extends. Closes #242
    • Added 'type="text/css"' to the style tags generated by filters.
    • Added 'uglifyjs' as an explicit devDependency.
    • Added -p, --path flag to jade(1)
    • Added support for any arbitrary doctype
    • Added jade.render(str[,options], fn) back
    • Added first-class while support
    • Added first-class assignment support
    • Fixed runtime.js Array.isArray() polyfill. Closes #345
    • Fixed: set .filename option in jade(1) when passing filenames
    • Fixed Object.keys() polyfill typo. Closes #331
    • Fixed include error context
    • Renamed magic "index" to "$index". Closes #350

0.15.4

September 5, 2011
  • Fixed script template html. Closes #316
    • Revert "Fixed script() tag with trailing ".". Closes #314"

0.15.3

August 30, 2011
  • Added Makefile example. Closes #312
    • Fixed script() tag with trailing ".". Closes #314

0.15.2

August 26, 2011
  • Fixed new conditional boundaries. Closes #307

0.15.1

August 26, 2011
  • Fixed jade(1) support due to res.render() removal
    • Removed --watch support (use a makefile + watch...)

0.15.0

August 26, 2011
  • Added client option to reference runtime helpers
    • Added Array.isArray() for runtime.js as well
    • Added Object.keys() for the client-side runtime
    • Added first-class if, unless, else and else if support
    • Added first-class each / for support
    • Added make benchmark for continuous-bench
    • Removed inline option, SS helpers are no longer inlined either
    • Removed Parser#debug()
    • Removed jade.render() and jade.renderFile()
    • Fixed runtime.js escape() bug causing window.escape to be used
    • Fixed a bunch of tests

0.14.2

August 16, 2011
  • Added include support for non-jade files
    • Fixed code indentation when followed by newline(s). Closes #295 [reported by masylum]

0.14.1

August 14, 2011
  • Added colons option for everyone stuck with ":". Closes #231
    • Optimization: consecutive lines are merged in compiled js

0.14.0

August 8, 2011
  • Added array iteration with index example. Closes #276
    • Added runtime.js
    • Added compileDebug option to enable lineno instrumentation
    • Added inline option to disable inlining of helpers (for client-side)

0.13.0

July 13, 2011
  • Added mixin support
    • Added include support
    • Added array support for the class attribute

0.12.4

June 23, 2011
  • Fixed filter indentation bug. Closes #243

0.12.3

June 21, 2011
  • Fixed empty strings support. Closes #223
    • Fixed conditional comments documentation. Closes #245

0.12.2

June 16, 2011
  • Fixed make test
    • Fixed block comments

0.12.1

June 4, 2011
  • Fixed attribute interpolation with double quotes. Fixes #232 [topaxi]

0.12.0

June 3, 2011
  • Added doctype as alias of !!!
    • Added; doctype value is now case-insensitive
    • Added attribute interpolation support
    • Fixed; retain original indentation spaces in text blocks

0.11.1

June 1, 2011
  • Fixed text block indentation [Laszlo Bacsi]
    • Changed; utilizing devDependencies
    • Fixed try/catch issue with renderFile(). Closes #227
    • Removed attribute ":" support, use "=" (option for ':' coming soon)

0.11.0

May 14, 2011
  • Added self object to avoid poor with(){} performance [masylum]
    • Added doctype option [Jeremy Larkin]

0.10.7

May 4, 2011
  • expose Parser

0.10.6

April 29, 2011
  • Fixed CS Object.keys() [reported by robholland]

0.10.5

April 26, 2011
  • Added error context after the lineno
    • Added; indicate failing lineno with ">"
    • Added Object.keys() for the client-side
    • Fixed attr strings when containing the opposite quote. Closes 207
    • Fixed attr issue with js expressions within strings
    • Fixed single-quote filter escape bug. Closes #196

0.10.4

April 5, 2011
  • Added html doctype, same as "5"
    • Fixed pre, no longer text-only

0.10.3

March 30, 2011
  • Fixed support for quoted attribute keys ex rss("xmlns:atom"="atom")

0.10.2

March 30, 2011
  • Fixed pipeless text bug with missing outdent

0.10.1

March 28, 2011
  • Fixed support/compile.js to exclude browser js in node
    • Fixes for IE [Patrick Pfeiffer]

0.10.0

March 25, 2011
  • Added AST-filter support back in the form of <tag>[attrs]<:><block>

0.9.3

March 24, 2011
  • Added Block#unshift(node)
    • Added jade.js for the client-side to the repo
    • Added jade.min.js for the client-side to the repo
    • Removed need for pipes in filters. Closes #185 Note that this will break filters used to manipulate the AST, until we have a different syntax for doing so.

0.9.2

March 23, 2011
  • Added jade --version
    • Removed ${} interpolation support, use #{}

0.9.1

March 16, 2011
  • Fixed invalid .map() call due to recent changes

0.9.0

March 16, 2011
  • Added client-side browser support via make jade.js and make jade.min.js.

0.8.9

March 15, 2011
  • Fixed preservation of newlines in text blocks

0.8.8

March 14, 2011
  • Fixed jade(1) stdio

0.8.7

March 14, 2011
  • Added mkdirs() to jade(1)
    • Added jade(1) stdio support
    • Added new features to jade(1), --watch, recursive compilation etc [khingebjerg]
    • Fixed pipe-less text newlines
    • Removed jade(1) --pipe flag

0.8.6

March 11, 2011
  • Fixed parenthesized expressions in attrs. Closes #170
    • Changed; default interpolation values == null to ''. Closes #167

0.8.5

March 9, 2011
  • Added pipe-less text support with immediate ".". Closes #157
    • Fixed object support in attrs
    • Fixed array support for attrs

0.8.4

March 8, 2011
  • Fixed issue with expressions being evaluated several times. closes #162

0.8.2

March 7, 2011
  • Added markdown, discount, and markdown-js support to :markdown. Closes #160
    • Removed :discount

0.8.1

March 4, 2011
  • Added pre pipe-less text support (and auto-escaping)

0.8.0

March 4, 2011
  • Added block-expansion support. Closes #74
    • Added support for multi-line attrs without commas. Closes #65

0.7.1

March 4, 2011
  • Fixed script() etc pipe-less text with attrs

0.7.0

March 4, 2011
  • Removed :javascript filter (it doesn't really do anything special, use script tags)
    • Added pipe-less text support. Tags that only accept text nodes (script, textarea, etc) do not require |.
    • Added :text filter for ad-hoc pipe-less
    • Added flexible indentation. Tabs, arbitrary number of spaces etc
    • Added conditional-comment support. Closes #146
    • Added block comment support
    • Added rss example
    • Added :stylus filter
    • Added :discount filter
    • Fixed; auto-detect xml and do not self-close tags. Closes #147
    • Fixed whitespace issue. Closes #118
    • Fixed attrs. ,, =, and : within attr value strings are valid Closes #133
    • Fixed; only output "" when code == null. Ex: span.name= user.name when undefined or null will not output "undefined". Closes #130
    • Fixed; throw on unexpected token instead of hanging

0.6.3

February 2, 2011
  • Added each support for Array-like objects [guillermo]

0.6.2

February 2, 2011
  • Added CSRF example, showing how you can transparently add inputs to a form
    • Added link to vim-jade
    • Fixed self-closing col support [guillermo]
    • Fixed exception when getAttribute or removeAttribute run into removed attributes [Naitik Shah]

0.6.0

December 19, 2010
  • Added unescaped interpolation variant !{code}. Closes #124
    • Changed; escape interpolated code by default #{code}

0.5.7

December 8, 2010
  • Fixed; hyphen in get tag()

0.5.6

November 24, 2010
  • Added exports.compile(str, options)
    • Renamed internal _ to __, since _() is commonly used for translation

0.5.5

October 30, 2010
  • Add coffeescript filter [Michael Hampton]

    • Added link to slim; a ruby implementation
    • Fixed quoted attributes issue.

    • Fixed attribute issue with over greedy regexp. Previously "p(foo=(((('bar')))))= ((('baz')))" would fail for example since the regexp would lookahead to far. Now we simply pair the delimiters.

0.5.4

October 18, 2010
  • Adding newline when using tag code when preceding text
    • Assume newline in tag text when preceding text
    • Changed; retain leading text whitespace
    • Fixed code block support to prevent multiple buffer openings [Jake Luer]
    • Fixed nested filter support

0.5.3

October 6, 2010
  • Fixed bug when tags with code also have a block [reported by chrisirhc]

0.5.2

October 5, 2010
  • Added; Text introduces newlines to mimic the grammar. Whitespace handling is a little tricky with this sort of grammar. Jade will now mimic the written grammar, meaning that text blocks using the "|" margin character will introduce a literal newline, where as immediate tag text (ex "a(href='#') Link") will not.

    This may not be ideal, but it makes more sense than what Jade was previously doing.

    • Added Tag#text to disambiguate between immediate / block text
    • Removed pretty option (was kinda useless in the state it was in)
    • Reverted ignoring of newlines. Closes #92.
    • Fixed; Parser#parse() ignoring newlines

0.5.1

October 4, 2010
  • Added many examples
    • Added; compiler api is now public
    • Added; filters can accept / manipulate the parse tree
    • Added filter attribute support. Closes #79
    • Added LL(*) capabilities
    • Performance; wrapping code blocks in {} instead of (function(){}).call(this)
    • Performance; Optimized attribute buffering
    • Fixed trailing newlines in blocks

0.5.0

September 11, 2010
  • Major refactor. Logic now separated into lexer/parser/compiler for future extensibility.
    • Added pretty option
    • Added parse tree output for debug option
    • Added new examples
    • Removed context option, use scope

0.4.1

September 9, 2010
  • Added support for arbitrary indentation for single-line comments. Closes #71
    • Only strip first space in text (ex '| foo' will buffer ' foo')

0.4.0

August 30, 2010
  • Added tab naive support (tabs are converted to a single indent, aka two spaces). Closes #24
    • Added unbuffered comment support. Closes #62
    • Added hyphen support for tag names, ex: "fb:foo-bar"
    • Fixed bug with single quotes in comments. Closes #61
    • Fixed comment whitespace issue, previously padding. Closes #55

0.3.0

August 4, 2010
  • Added single line comment support. Closes #25
    • Removed CDATA from :javascript filter. Closes #47
    • Removed sys local
    • Fixed code following tag

0.2.4

August 2, 2010
  • Added Buffer support to render()
    • Fixed filter text block exception reporting
    • Fixed tag exception reporting

0.2.3

July 27, 2010
  • Fixed newlines before block
    • Fixed; tag text allowing arbitrary trailing whitespace

0.2.2

July 16, 2010
  • Added support for jade.renderFile() to utilize primed cache
    • Added link to textmate bundle
    • Fixed filter issue with single quotes
    • Fixed hyphenated attr bug
    • Fixed interpolation single quotes. Closes #28
    • Fixed issue with comma in attrs

0.2.1

July 9, 2010
  • Added support for node-discount and markdown-js depending on which is available.

    • Added support for tags to have blocks and text. this kinda fucks with arbitrary whitespace unfortunately, but also fixes trailing spaces after tags with blocks.

    • Caching generated functions. Closes #46

0.2.0

July 8, 2010
  • Added - each support for readable iteration
    • Added markdown-js support (no compilation required)
    • Removed node-discount support

0.1.0

July 5, 2010
  • Added ${} support for interpolation. Closes #45
    • Added support for quoted attr keys: label("for": 'something') is allowed (although not required) [Guillermo]
    • Added :less filter [jakeluer]

0.0.2

July 3, 2010
  • Added context as synonym for scope option [Guillermo]
    • Fixed attr splitting: div(style:"color: red") is now allowed
    • Fixed issue with ( and ) within attrs: a(class: (a ? 'a' : 'b')) is now allowed
    • Fixed issue with leading / trailing spaces in attrs: a( href="#" ) is now allowed [Guillermo]