Changelog ========= # 3.x ## 3.4.x ### 3.4.2 - Improved error reporting in cases when code generation fails ([@mlrawlings](https://github.com/mlrawlings)) ### 3.4.1 - Additional tweaks for #298 - Always emit correct events for async fragments ### 3.4.0 - Fixes #298 - Always emit correct events for async fragments - Updated docs ## 3.3.x ### 3.3.0 - Include async fragment name in the `asyncFragmentFinish` events ([@kprakasam](https://github.com/kprakasam)) ## 3.2.x ### 3.2.0 - Fixes #286 - Add res.marko(templateData) for use with Express ([@mlrawlings](https://github.com/mlrawlings)) ## 3.1.x ### 3.1.9 - Fixes #288 - Provide API for discovering custom tags and attributes for autocomplete/tooling purposes - Documentation improvements ### 3.1.8 - Fixes #280 - Switch from jsonminify to strip-json-comments - Updated docs for Koa and Hapi - Additional tests for Node.js v6 ### 3.1.7 - Fixes #274 - marko-compiler-options tag is not properly ended when using raw parsing (for prettyprint) ### 3.1.6 - Fixes #268 - this.write is not a function for empty ArrayExpression ### 3.1.5 - Fixes #262 - node-require module removes `.marko` extension from filenames in compiled code ### 3.1.4 - Fixes #267 - Shorthand CSS class name cannot be combined with object/array class names ### 3.1.3 - Fixed #266 - Hot reloading fails if original template is deleted ### 3.1.2 - Fixed error reporting when using `compiler.parseRaw()` - Added test for #262 ### 3.1.1 - Improved whitespace removal for text nodes directly below the root ### 3.1.0 - Fixes #254 - Allow preserve whitespace to be enabled at the global level ## 3.0.x ### 3.0.7 - Fixes #240 - Always trim start and end of template (even if preserveWhitespace is true) - Fixes #260 - Circular custom tags causes infinite recursion when writeToDisk is set to false - Minor internal cleanup ### 3.0.6 - Don't wrap exception in `parseJavaScript` if error object was not created by Esprima ### 3.0.5 - Fixes #257 - Placeholders don't render for out-of-order async fragments ### 3.0.4 - Fixes #256 - Convert attributes to title case if no attributes are declared for a custom tag - Use `