# BEM-XJST Changelog # 2018-05-17 [v8.9.5](https://github.com/bem/bem-xjst/compare/v8.9.4...v8.9.5), @tadatuta Performance optimization of `utils.isSimple`. BEMHTML: Roll back `Set` optimization in BEMHTML.prototype.renderMix. # 2018-05-07 [v8.9.4](https://github.com/bem/bem-xjst/compare/v8.9.3...v8.9.4), @tadatuta Performance: optimization in BEMHTML.prototype.renderMix # 2018-04-17 [v8.9.3](https://github.com/bem/bem-xjst/compare/v8.9.2...v8.9.3), @miripiruni From v8.6.8 exportName [was in lower case](https://github.com/bem/bem-xjst/commit/b20bb52bfd9d73f81e13f7164c21104b7f4fdc64#diff-ee97c5091b89979aace94674818996baL32) (`bemhtml` or `bemtree`). Now this degradation fixed. Commits: * [[`2cbdb1635a`](https://github.com/bem/bem-xjst/commit/2cbdb1635a)] - Merge pull request #517 from bem/issue-516_export-name (Slava Oliyanchuk) # 2018-04-16 [v8.9.2](https://github.com/bem/bem-xjst/compare/v8.9.1...v8.9.2), @miripiruni 1) New `singleQuotesInJsAttrs` option. Read [documentation](https://github.com/bem/bem-xjst/blob/master/docs/en/3-api.md#singlequotesfordataattrs-option). 2) Fixed bug with runtime lint and circular json in stack trace. 3) Documentation updated: templates will be applyed for any `attrs` field with BEM-entities. Commits: * [[`b314d859a3`](https://github.com/bem/bem-xjst/commit/b314d859a3)] - Merge pull request #518 from bem/singleQuotesInJsAttrs (Slava Oliyanchuk) * [[`28a0a4ad37`](https://github.com/bem/bem-xjst/commit/28a0a4ad37)] - Merge pull request #519 from bem/issue-474__circular-json (Slava Oliyanchuk) * [[`d520b6624b`](https://github.com/bem/bem-xjst/commit/d520b6624b)] - Merge pull request #521 from bem/issue-423__attrs-apply (Slava Oliyanchuk) * [[`ae23db1828`](https://github.com/bem/bem-xjst/commit/ae23db1828)] - **Docs**: attrs templating hidden feature (for #423) (miripiruni) * [[`26b3ea543c`](https://github.com/bem/bem-xjst/commit/26b3ea543c)] - Merge pull request #515 from bem/tadatuta-patch-1 (Slava Oliyanchuk) * [[`63c31acf6c`](https://github.com/bem/bem-xjst/commit/63c31acf6c)] - Merge pull request #522 from vrozaev/prose-patch-1 (Slava Oliyanchuk) * [[`87ca06be5f`](https://github.com/bem/bem-xjst/commit/87ca06be5f)] - соркащенный =\> сокращенный (Rozaev Viktor) * [[`3152b1f85f`](https://github.com/bem/bem-xjst/commit/3152b1f85f)] - Runtime lint: custom stringify function (fix for #474) (miripiruni) * [[`0c15b96ddc`](https://github.com/bem/bem-xjst/commit/0c15b96ddc)] - **BEMHTML**: singleQuotesForDataAttrs option (miripiruni) * [[`d5c13102a1`](https://github.com/bem/bem-xjst/commit/d5c13102a1)] - Single quotes for data-attrs (sbmaxx) * [[`d407a669d2`](https://github.com/bem/bem-xjst/commit/d407a669d2)] - fixup (miripiruni) * [[`ed90694d97`](https://github.com/bem/bem-xjst/commit/ed90694d97)] - Update 3-api.md (Vladimir Grinenko) * [[`e87712b141`](https://github.com/bem/bem-xjst/commit/e87712b141)] - **Docs**: Add anchor (Vladimir Grinenko) # 2018-03-05 [v8.9.1](https://github.com/bem/bem-xjst/compare/v8.9.0...v8.9.1), @miripiruni Bug fixed: dot-delimited dependencies from global scope in object notation. Example: ```js var bundle = bemhtml.generate('', { requires: { i18n: { globals: 'BEM.I18N' } } }); ``` Notation with dot (`BEM.I18N`) did not work from v8.6.7 to v8.9.0. Now this bug fixed. Commits: * [[`fc7b19fc4f`](https://github.com/bem/bem-xjst/commit/fc7b19fc4f)] - Merge pull request #501 from dustyo-O/global-dot-delimited-deps (Slava Oliyanchuk) # 2018-02-20 [v8.9.0](https://github.com/bem/bem-xjst/compare/v8.8.8...v8.9.0), @miripiruni Brand new object-like shortcut syntax. See docs for examples. # 2018-02-12 [v8.8.8](https://github.com/bem/bem-xjst/compare/v8.8.7...v8.8.8), @miripiruni Module require resolving refactor. See [docs](https://github.com/bem/bem-xjst/blob/v8.8.8/docs/en/3-api.md#using-thirdparty-libraries). In other case, if you specify multiple modular systems, template will attempt to get it from them in this order: 1. Global 2. CommonJS 2. YModules (if available) If required module was found on some step, next steps will be ignored and template will use that first retrieved module. Thus, if module available in global variable, its value will be provided inside template, in spite of module avialability in CommonJS/YModules. Same way, CommonJS module is more prior to YModules one. Commits: * [[`4b1b87c427`](https://github.com/bem/bem-xjst/commit/4b1b87c427f7d0ad5ca143717030d4c94ba78845)] - Module require resolving refactor (#493) # 2018-02-05 [v8.8.7](https://github.com/bem/bem-xjst/compare/v8.8.6...v8.8.7), @miripiruni Dependency enb/enb-source-map updated to v1.12.0. Commits: * [[`2ac8eb7339`](https://github.com/bem/bem-xjst/commit/2ac8eb7339)] - **Deps**: enb/enb-source-map 1.12.0 (miripiruni) # 2018-02-01 [v8.8.6](https://github.com/bem/bem-xjst/compare/v8.8.5...v8.8.6), @miripiruni * Don't output `i-bem` html class if `cls()` and `bem:false` (issue #499) * Documentation: minor codestyle issues fixed # 2017-11-18 [v8.8.5](https://github.com/bem/bem-xjst/compare/v8.8.4...v8.8.5), @miripiruni Previous source maps support fixed. Commits: * [[`ba102b752a`](https://github.com/bem/bem-xjst/commit/ba102b752a)] - Merge pull request #488 from bem/issue-487_apply (Slava Oliyanchuk) * [[`e3d1bddc5f`](https://github.com/bem/bem-xjst/commit/e3d1bddc5f)] - **Tests**: apply() should lookup field from bemjson by default (miripiruni) * [[`e7b7d13a7c`](https://github.com/bem/bem-xjst/commit/e7b7d13a7c)] - **Docs**: apply mode without templates (fix for #487) (miripiruni) * [[`0f01a86f0e`](https://github.com/bem/bem-xjst/commit/0f01a86f0e)] - тся/ться (DoctorDee) # 2017-10-24 [v8.8.4](https://github.com/bem/bem-xjst/compare/v8.8.3...v8.8.4), @miripiruni Fixed #484 Wrap should save BEMContext. Commits: * [[`309a9d1d37`](https://github.com/bem/bem-xjst/commit/309a9d1d37)] - Merge pull request #485 from bem/issue-484__wrap-bug (Slava Oliyanchuk) * [[`070701f3ad`](https://github.com/bem/bem-xjst/commit/070701f3ad)] - **bem-xjst**: Wrap should save BEMContext (miripiruni) # 2017-10-13 [v8.8.3](https://github.com/bem/bem-xjst/compare/v8.8.2...v8.8.3), @miripiruni Patch version for several fixes in `generate()` method. Commits: * [[`2eb33ddeec`](https://github.com/bem/bem-xjst/commit/2eb33ddeec)] - **Compiler**: several require fixes (#481) (dustyo-O) * [[`739ba5aa06`](https://github.com/bem/bem-xjst/commit/739ba5aa06)] - Merge pull request #483 from innabelaya/master (Slava Oliyanchuk) * [[`fa096983bb`](https://github.com/bem/bem-xjst/commit/fa096983bb)] - fix typo (Inna Belaya) # 2017-09-26 [v8.8.2](https://github.com/bem/bem-xjst/compare/v8.8.1...v8.8.2), @miripiruni Fix: generate() exports to commonJS Commits: * [[`45cff63b77`](https://github.com/bem/bem-xjst/commit/45cff63b77)] - **compiler**: use exp var instead of global to export (Alexandr Shleyko) * [[`d459327fe1`](https://github.com/bem/bem-xjst/commit/d459327fe1)] - **Examples**: source maps in Node.js (miripiruni) # 2017-09-26 [v8.8.1](https://github.com/bem/bem-xjst/compare/v8.8.0...v8.8.1), @miripiruni Custom naming improved: `mods` can be an object `{ name: '...', val: '...' }`. Backward capability is supported. Commits: * [[`85a5f41570`](https://github.com/bem/bem-xjst/commit/85a5f41570)] - Merge pull request #470 from bem/issue-469__mod-val-setting (Slava Oliyanchuk) * [[`8e4a9e3459`](https://github.com/bem/bem-xjst/commit/8e4a9e3459)] - **Docs**: fix argument name (miripiruni) # 2017-09-26 [v8.8.0](https://github.com/bem/bem-xjst/compare/v8.7.1...v8.8.0), @miripiruni When you use `production` option with `true` value you can define function for custom error logging. This function will be used instead of regular `console.error`. Custom function will be filled with two arguments: 1) Object with block, element and modifiers fields where error occurred. 2) Original JS error. You can define custom `onError` function by extending prototype of `BEMContext`. For example: ```js var bemxjst = require('bem-xjst'); var templates = bemxjst.bemhtml.compile('', { production: true }); templates.BEMContext.prototype.onError = function(context, err) { … }; ``` Commits: * [[`3d818a7548`](https://github.com/bem/bem-xjst/commit/3d818a7548)] - **BEMXJST**: API for custom error logger (fix for #475) (miripiruni) * [[`3ad1d8b513`](https://github.com/bem/bem-xjst/commit/3ad1d8b513)] - **Trivial**: test for applyNext changes in this.ctx (miripiruni) * [[`738ee7a71c`](https://github.com/bem/bem-xjst/commit/738ee7a71c)] - Fix username in the example (baymer) # 2017-07-18 [v8.7.1](https://github.com/bem/bem-xjst/compare/v8.7.0...v8.7.1), @miripiruni Nested mixes are supported. This functionality has been worked in v1.x but then somehow was broken. Now you can use it again. ```js { block: 'b', mix: { block: 'c', mix: { block: 'nested-mix', js: true } } } ``` Will be rendered as: ```html
``` BEMHTML: OL and UL end tags is not optional according to [W3C HTML4 spec](https://www.w3.org/TR/html4/index/elements.html). Commits: * [[`a2c71800c6`](https://github.com/bem/bem-xjst/commit/a2c71800c6)] - Merge pull request #473 from bem/issue-472 (Slava Oliyanchuk) * [[`3e777b797a`](https://github.com/bem/bem-xjst/commit/3e777b797a)] - Remove ul and ol from list of optional tags, they are NOT optional (Vitaly Harisov) * [[`58916ebf05`](https://github.com/bem/bem-xjst/commit/58916ebf05)] - Merge pull request #471 from gulalex181/prose-patch-1 (Slava Oliyanchuk) * [[`04374187b6`](https://github.com/bem/bem-xjst/commit/04374187b6)] - Пропущен предлог в "описано *в* разделе про режимы" (Alexander Gulnyashkin) * [[`1641c5b45c`](https://github.com/bem/bem-xjst/commit/1641c5b45c)] - Merge pull request #448 from bem/issue-241__nested-mixes-2 (Slava Oliyanchuk) # 2017-07-18 [v8.7.0](https://github.com/bem/bem-xjst/compare/v8.6.13...v8.7.0), @miripiruni * [Source map support added](https://github.com/bem/bem-xjst/blob/master/docs/en/3-api.md#source-maps). * Runtime line check: mods can’t be Array typed. Commits: * [[`83acd1491d`](https://github.com/bem/bem-xjst/commit/83acd1491d)] - Merge pull request #454 from bem/issue-108__source-maps (Slava Oliyanchuk) * [[`9167586c17`](https://github.com/bem/bem-xjst/commit/9167586c17)] - Source map support (issue #108) (miripiruni) * [[`f01daa92a1`](https://github.com/bem/bem-xjst/commit/f01daa92a1)] - Merge pull request #462 from bem/issue-420__runtime-lint-mods-value (Slava Oliyanchuk) # 2017-07-13 [v8.6.13](https://github.com/bem/bem-xjst/compare/v8.6.12...v8.6.13), @miripiruni `generate()` method fixed: CommonJS variant should not affect global. Commits: * [[`64f1fef2b6`](https://github.com/bem/bem-xjst/commit/64f1fef2b6)] - Merge pull request #457 from bem/qfox.generate-commonjs-module (Slava Oliyanchuk) * [[`f12b428185`](https://github.com/bem/bem-xjst/commit/f12b428185)] - Merge pull request #463 from bem/greenkeeper-uglify-js-3.0.14 (Slava Oliyanchuk) # 2017-06-07 [v8.6.12](https://github.com/bem/bem-xjst/compare/v8.6.11...v8.6.12), @miripiruni Dependency updated: vow and uglify-js. Commits: * [[`908c67d5ef`](https://github.com/bem/bem-xjst/commit/908c67d5ef)] - **Migration**: js() to addJs() tests added (miripiruni) * [[`f869eff854`](https://github.com/bem/bem-xjst/commit/f869eff854)] - Merge pull request #453 from bem/issue-449__bench-for-8x (Slava Oliyanchuk) * [[`88ea1bf670`](https://github.com/bem/bem-xjst/commit/88ea1bf670)] - Merge pull request #456 from bem/greenkeeper-vow-0.4.16 (Slava Oliyanchuk) * [[`f70449d2a5`](https://github.com/bem/bem-xjst/commit/f70449d2a5)] - chore(package): update vow to version 0.4.16 (greenkeeperio-bot) * [[`887c452615`](https://github.com/bem/bem-xjst/commit/887c452615)] - **Bench**: support v8.x (Fix #449) (miripiruni) * [[`b832e39287`](https://github.com/bem/bem-xjst/commit/b832e39287)] - Merge pull request #440 from bem/translation-review (Slava Oliyanchuk) * [[`745b2ffeb8`](https://github.com/bem/bem-xjst/commit/745b2ffeb8)] - fix syntax (Sergei Bocharov) * [[`a2d25efb5a`](https://github.com/bem/bem-xjst/commit/a2d25efb5a)] - Merge pull request #447 from bem/greenkeeper-uglify-js-3.0.3 (Slava Oliyanchuk) * [[`bad85fc45b`](https://github.com/bem/bem-xjst/commit/bad85fc45b)] - chore(package): update uglify-js to version 3.0.3 (greenkeeperio-bot) # 2017-04-28 [v8.6.11](https://github.com/bem/bem-xjst/compare/v8.6.10...v8.6.11), @miripiruni Fixed bug: now BEMXJST exec new oninit functions on every compile (see issue #356). Commits: * [[`4d164a5f56`](https://github.com/bem/bem-xjst/commit/4d164a5f56)] - Merge pull request #437 from bem/issue-356__oninit (Slava Oliyanchuk) # 2017-04-28 [v8.6.10](https://github.com/bem/bem-xjst/compare/v8.6.9...v8.6.10), @miripiruni Memory lick fixed. See https://github.com/bem/bem-xjst/issues/433 This release is port of v4.4.2 Commits: * [[`876b5cbfd6`](https://github.com/bem/bem-xjst/commit/876b5cbfd6)] - **Match**: Fixed this.restoreDepth call possibly (issue #433) (miripiruni) # 2017-04-28 [v8.6.9](https://github.com/bem/bem-xjst/compare/v8.6.8...v8.6.9), @miripiruni Fixed several bugs: 1. wrong depth calculation (see issue #439) 2. Absent i-bem when mix elem with js (issue #441) 3. ApplyCtx and wrong position value (issue #202) Commits: * [[`da1e3aa691`](https://github.com/bem/bem-xjst/commit/da1e3aa691)] - **BEMXJST**: run() should revert depth (fix #439) (miripiruni) * [[`a23e36c1cc`](https://github.com/bem/bem-xjst/commit/a23e36c1cc)] - mocha watch npm command (miripiruni) * [[`808469f270`](https://github.com/bem/bem-xjst/commit/808469f270)] - **BEMHTML**: fix render i-bem when mix elem with js (fix #441) (miripiruni) * [[`8afc3109a3`](https://github.com/bem/bem-xjst/commit/8afc3109a3)] - **Compiler**: exportName option (fix for #397) (miripiruni) * [[`578c89a204`](https://github.com/bem/bem-xjst/commit/578c89a204)] - **BEMXJST**: applyCtx should reset position (miripiruni) # 2017-04-28 [v8.6.8](https://github.com/bem/bem-xjst/compare/v8.6.7...v8.6.8), @miripiruni BEMTREE and BEMHTML allows you using thirdparty libraries as well as a global dependencies and YModules, CommonJS modules and global depsendencies. See [docs](https://github.com/bem/bem-xjst/blob/master/docs/en/3-api.md#using-thirdparty-libraries) for more information. Commits: * [[`45d841594b`](https://github.com/bem/bem-xjst/commit/45d841594b)] - Merge pull request #424 from bem/issue-375__modules (Slava Oliyanchuk) # 2017-03-19 [v8.6.7](https://github.com/bem/bem-xjst/compare/v8.6.6...v8.6.7), @miripiruni Technical release. Rollback commit: https://github.com/bem/bem-xjst/pull/429/files Commits: * [[`4b09e72281`](https://github.com/bem/bem-xjst/commit/4b09e72281)] - Merge pull request #429 from bem/rollback-recompileInput (Slava Oliyanchuk) * [[`20236743ce`](https://github.com/bem/bem-xjst/commit/20236743ce)] - Rollback function reuse in recompileInput (Vladimir Grinenko) # 2017-03-17 [v8.6.6](https://github.com/bem/bem-xjst/compare/v8.6.5...v8.6.6), @miripiruni `oninit` fixed. It was broken after bundle minification (v8.6.1) Comment: * [[`5fc91cbf49`](https://github.com/bem/bem-xjst/commit/5fc91cbf49)] - **BEMXJST**: revert exportApply optimization (miripiruni) # 2017-03-16 [v8.6.5](https://github.com/bem/bem-xjst/compare/v8.6.4...v8.6.5), @miripiruni Fixed bug with `unquotedAttrs: true` option: BEMHTML should escape attributes. Commits: * [[`fa054d71a2d`](https://github.com/bem/bem-xjst/commit/fa054d71a2dc6365484f15e53e045dbdbcd2ec1a)] - **BEMHTML**: unquotedAttrs should escape attributes (miripiruni) # 2017-03-15 [v8.6.4](https://github.com/bem/bem-xjst/compare/v8.6.3...v8.6.4), @miripiruni Commits: * [[`96bcd16fcc`](https://github.com/bem/bem-xjst/commit/96bcd16fcc)] - Merge pull request #426 from bem/do-not-require-in-runtime (Slava Oliyanchuk) * [[`d6323faa7c`](https://github.com/bem/bem-xjst/commit/d6323faa7c)] - Compiler .generate(): do not require in runtime (miripiruni) # 2017-02-27 [v8.6.3](https://github.com/bem/bem-xjst/compare/v8.6.2...v8.6.3), @miripiruni Fixed bug with function template body and appendContent()/prependContent(). See issue #422. Commits: * [[`92ba4570eb`](https://github.com/bem/bem-xjst/commit/92ba4570eb)] - Merge pull request #425 from bem/issue-422__append-prepend-bug (Slava Oliyanchuk) * [[`79602b94f6`](https://github.com/bem/bem-xjst/commit/79602b94f6)] - **TREE**: fixed issue #422 append/prepend content with function body (miripiruni) * [[`4adfc677b0`](https://github.com/bem/bem-xjst/commit/4adfc677b0)] - **Trivial**: node 7 in Travis (miripiruni) # 2017-02-27 [v8.6.2](https://github.com/bem/bem-xjst/compare/v8.6.1...v8.6.2), @miripiruni Fixed bug with `match()` without argument. See issue [#418](https://github.com/bem/bem-xjst/issues/418). Commits: * [[`d6187fb28a`](https://github.com/bem/bem-xjst/commit/d6187fb28a)] - **TRIVIAL**: remove gziped artifacts after size test (miripiruni) * [[`0b5cb61800`](https://github.com/bem/bem-xjst/commit/0b5cb61800)] - Merge pull request #419 from bem/issue-418__match-argument (Slava Oliyanchuk) * [[`a834c30ddd`](https://github.com/bem/bem-xjst/commit/a834c30ddd)] - **TREE**: Match must have an argument (#418 fixed) (miripiruni) # 2017-02-17 [v8.6.1](https://github.com/bem/bem-xjst/compare/v8.6.0...v8.6.1), @miripiruni 1. CI check: BEMHML and BEMTREE bundle size after gzip. Now you can see it in Travis log. 2. Bundle size reduced (–6%). 3. Now bem-xjst in Node.js used without bundling via browserify. 4. BEMHTML.renderMix fixed. 5. Coverage increased to 100%. Commits: * [[`91b5abea50`](https://github.com/bem/bem-xjst/commit/91b5abea50)] - **BEMXJST**: allow apply() inside match() (fix for #309) (miripiruni) * [[`4eabbfe5a8`](https://github.com/bem/bem-xjst/commit/4eabbfe5a8)] - **BEMXJST**: smaller runUnescaped (miripiruni) * [[`155fc64253`](https://github.com/bem/bem-xjst/commit/155fc64253)] - **ClassBuilder**: buildElemClass always used with modVal (miripiruni) * [[`06310a7b1d`](https://github.com/bem/bem-xjst/commit/06310a7b1d)] - More optimizations (miripiruni) * [[`8e6f1395a4`](https://github.com/bem/bem-xjst/commit/8e6f1395a4)] - **BEMHTML**: _shortTagCloser definition fix (miripiruni) * [[`feeb97192f`](https://github.com/bem/bem-xjst/commit/feeb97192f)] - **BEMXJST**: localBody fn compress; sharedContext compress (miripiruni) * [[`fb2b63f09d`](https://github.com/bem/bem-xjst/commit/fb2b63f09d)] - **CI**: bundle size after uglifyjs (miripiruni) * [[`b1e459fa17`](https://github.com/bem/bem-xjst/commit/b1e459fa17)] - **BEMHTML**: get rid of unused variable and curly brackets (miripiruni) * [[`3af967b7bf`](https://github.com/bem/bem-xjst/commit/3af967b7bf)] - **BEMHTML**: inline renderNoTag function (miripiruni) * [[`26361d748b`](https://github.com/bem/bem-xjst/commit/26361d748b)] - **Context**: Remove unused _onceRef (miripiruni) * [[`fc5b329ac4`](https://github.com/bem/bem-xjst/commit/fc5b329ac4)] - More squeeze (miripiruni) * [[`43a3cb71fd`](https://github.com/bem/bem-xjst/commit/43a3cb71fd)] - Compact utils.fnToString (miripiruni) * [[`a044604aba`](https://github.com/bem/bem-xjst/commit/a044604aba)] - Compact defaultBody function (miripiruni) * [[`7e49f78cad`](https://github.com/bem/bem-xjst/commit/7e49f78cad)] - Drop all optional function names (miripiruni) * [[`9ea4fa86ab`](https://github.com/bem/bem-xjst/commit/9ea4fa86ab)] - ***Revert*** "Error.captureStackTrace for IE" (miripiruni) * [[`ee703d61b3`](https://github.com/bem/bem-xjst/commit/ee703d61b3)] - More compress (miripiruni) * [[`529252328f`](https://github.com/bem/bem-xjst/commit/529252328f)] - **Tree**: minify method definition (miripiruni) * [[`40ca41d26c`](https://github.com/bem/bem-xjst/commit/40ca41d26c)] - **Tests**: case with any subpredicates order (miripiruni) * [[`0da1f697de`](https://github.com/bem/bem-xjst/commit/0da1f697de)] - Istanbul ignore else (miripiruni) * [[`6b91a4b1ba`](https://github.com/bem/bem-xjst/commit/6b91a4b1ba)] - **ExtendMatch**: removed unnecessary local call (miripiruni) * [[`ad9b2b7814`](https://github.com/bem/bem-xjst/commit/ad9b2b7814)] - More tests (miripiruni) * [[`a24357a0e9`](https://github.com/bem/bem-xjst/commit/a24357a0e9)] - **BEMHTML**: renderMix fixed (miripiruni) * [[`687969fb14`](https://github.com/bem/bem-xjst/commit/687969fb14)] - Use bem-xjst in Node.js without bundling via browserify (#407 and #408 fixed) (Slava Oliyanchuk) # 2017-01-27 [v8.6.0](https://github.com/bem/bem-xjst/compare/v8.5.2...v8.6.0), @miripiruni Migration tool and Static linter introduced. See [readme](https://github.com/bem/bem-xjst/blob/master/migration/README.md). Commits: * [[`4ed06f1b84`](https://github.com/bem/bem-xjst/commit/4ed06f1b84)] - More tests (#405) (Slava Oliyanchuk) * [[`cebda10963`](https://github.com/bem/bem-xjst/commit/cebda10963)] - migrate bin removed (miripiruni) * [[`b9fd0c43ae`](https://github.com/bem/bem-xjst/commit/b9fd0c43ae)] - Line in lint report added (Slava Oliyanchuk) * [[`4c7b5ff259`](https://github.com/bem/bem-xjst/commit/4c7b5ff259)] - Link to migration readme fixed (Slava Oliyanchuk) * [[`97a6fe54c6`](https://github.com/bem/bem-xjst/commit/97a6fe54c6)] - Link to migration readme fixed (Slava Oliyanchuk) * [[`0b3b876b95`](https://github.com/bem/bem-xjst/commit/0b3b876b95)] - Static analyzer: migration and lint tool (fix for #49 and #353) (Slava Oliyanchuk) * [[`edac12fa4b`](https://github.com/bem/bem-xjst/commit/edac12fa4b)] - Link to option (Slava Oliyanchuk) * [[`960c604862`](https://github.com/bem/bem-xjst/commit/960c604862)] - Runtime lint readme (Slava Oliyanchuk) * [[`a4146c1c94`](https://github.com/bem/bem-xjst/commit/a4146c1c94)] - **Deps**: Throw away minimalistic-assert dependency (#398) (Slava Oliyanchuk) # 2017-01-10 [v8.5.2](https://github.com/bem/bem-xjst/compare/v8.5.1...v8.5.2), @miripiruni This release is port of v7.6.4. Fixed bug in BEMTREE: special html field render as it’s value. Example of BEMJSON: `{ block: 'b1', content: { html: '| table header | table cell |
|---|