UNPKG

34 kBMarkdownView Raw
1# Change Log
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](http://keepachangelog.com/)
6and this project adheres to [Semantic Versioning](http://semver.org/).
7
8<!-- ## Unreleased -->
9<!-- Add new, unreleased changes here. -->
10
11## 4.0.5 - 2019-01-10
12* Fixed issue where excluded URLs were not resolved by the analyzer when bundler was initialized, resulting in some imports not being treated as excluded.
13* Fixed issue where `<script type="module" src="x.js">` tags would not inline if the referenced script contained no `import` or `export` statements.
14* Removed non-essential files from published package, such as tests.
15
16## 4.0.4 - 2018-10-18
17* Fixed issue with newer version of chalk that broke `polymer-bundler -h` output. https://github.com/Polymer/tools/issues/741
18
19## 4.0.3 - 2018-10-15
20* Fix issue with multiple dynamic imports of the same fragment. https://github.com/Polymer/tools/issues/568
21
22## 4.0.2 - 2018-06-28
23* Fix NPM audit warnings.
24
25## 4.0.1 - 2018-05-11
26* Added missing `babel-types` to dependencies instead of relying on it transitively.
27
28## 4.0.0 - 2018-05-08
29* Fixed inline module scripts which used bare name specifiers to correctly resolve them using the module resolutions of the Analyzer.
30
31## 4.0.0-pre.7 - 2018-05-03
32* Dropped support for node v6. This is a soft break, as we aren't
33 making any changes that are known to break node v6, but we're no longer testing against it. See our [node version support policy](https://www.polymer-project.org/2.0/docs/tools/node-support)
34 for details.
35* Added support for `import.meta.url` preservation in bundled modules.
36
37## 4.0.0-pre.6 - 2018-04-25
38- Bundled documents now have a `language` field. It will be `html` when the ast
39 node is an HTML Parse5 node, and `js` when the ast node is a JS babel node.
40- Rewritten dynamic `import()` calls now test if a bundle has exports before
41 attempting to destructure bundle.
42
43## 4.0.0-pre.5 - 2018-04-17
44- Update for breaking Analyzer change.
45
46## 4.0.0-pre.4 - 2018-04-02
47- Fix issue where external script tags referencing bundled ES modules were not updated.
48
49## 4.0.0-pre.3 - 2018-03-28
50- [BREAKING] The `--in-html` and `--out-html` arguments for `bin/polymer-bundler` are now `--in-file` and `--out-file` because input filetypes are no longer limited to HTML.
51- ES6 Module Bundling! Bundler can simultaneously process HTML imports and ES6 module imports, including inline `<script type="module">` scripts.
52- Fixed issue where `export * from 'x'` did not export identifiers from module `x`.
53
54## 4.0.0-pre.2 - 2018-03-20
55- Upgraded to use `polymer-analyzer` version `3.0.0-pre.17`.
56- Switched to `FsUrlResolver` from `PackageUrlResolver` as the default `UrlResolver` for bundling contexts. This is because `PackageUrlResolver` is intended for component analysis, not application analysis.
57
58## 4.0.0-pre.1 - 2018-03-07
59- [BREAKING] Upgraded to use `polymer-analyzer` version `3.0.0-pre.13` which requires the `ResolvedUrl` type in nearly all places where URLs are exchanged and provides strict typing on URLs used globally. Eliminated the local `UrlString` type.
60- [BREAKING] Removed `relativeUrl` function from `url-utils`, shifting responsibility to `Bundler#analyzer.urlResolver.relative()`.
61- [BREAKING] Removed `import-utils.ts` and migrated all HTML-specific bundling code out of it and out of `bundler.ts` into a new class `HtmlBundler`. Renamed `ast-utils.ts` to `parse5-utils.ts` since "ast" is ambiguous when we have JavaScript ASTs coming in.
62- [BREAKING] `Bundle` class now has a required `type` property as first argument to its constructor, with current possible values of `html-fragment` and `es6-module`.
63- [BREAKING] The `DepsIndex` type returned from `buildDepsIndex` has changed to a single map of entrypoints to dependencies.
64- Added support for `<script type="module">` and bundling of ES6 modules by following `import` statements. Dynamic `import()` statements are treated similarly to the `<link rel="lazy-import">` tag in that the import target implicitly defines a new entrypoint/bundle.
65- The `BundleResult` returned by `Bundler#bundle()` includes serialized contents instead of just the root AST node of bundled document.
66
67## 3.1.1 - 2017-10-20
68- Fixed an issue with moving deprecated CSS import links into templates reported in [Polymer CLI Issue #917](https://github.com/polymer/polymer-cli/issues/917).
69
70## 3.1.0 - 2017-10-02
71- Fixed [issue #596](https://github.com/Polymer/polymer-bundler/issues/596) where html import to bundle file itself was being injected due to bad path check condition in the inject step.
72- Fixed [issue #600](https://github.com/Polymer/polymer-bundler/issues/600) where `<link rel=stylesheet>` inside a `<template>` was not inlined. If you want to exclude a specific stylesheet from inlining, you can add its path the the `excludes` option (or `--exclude` on command line).
73
74## 3.0.1 - 2017-07-17
75- Fixed [issue #592](https://github.com/Polymer/polymer-bundler/issues/592) where the `--manifest-out` option of `bin/polymer-bundler` did not correctly include the basis document of shell files in inlined content list.
76
77## 3.0.0 - 2017-07-14
78- BREAKING: The following changes support polymer 2.x, but will break some Polymer 1.x projects which may rely on the rewriting of relative urls within style tags. For those projects, set the `rewriteUrlsInTemplates` option to `true` or use `--rewriteUrlsInTemplates` at command-line.
79 - Fixed [issue #579](https://github.com/Polymer/polymer-bundler/issues/579) where `url()` values inside `<style>` tags inside of `<dom-module>` tags of inlined html imports were rewritten without consideration of the module's `assetpath` property.
80 - Fixed issue when stylesheet imports are inlined inside of a `<dom-module>` the url resolution now takes into consideration the `assetpath`.
81
82## 2.3.1 - 2017-07-13
83- Rolling back these changes from 2.3.0 release which break polymer 1.x bundling case and going to release them in polymer-bundler 3.x because they are breaking changes:
84 - Fixed [issue #579](https://github.com/Polymer/polymer-bundler/issues/579) where `url()` values inside `<style>` tags inside of `<dom-module>` tags of inlined html imports were rewritten without consideration of the module's `assetpath` property.
85 - Fixed issue when stylesheet imports are inlined inside of a `<dom-module>` the url resolution now takes into consideration the `assetpath`.
86
87## 2.3.0 - 2017-07-12
88- Fixed issue where inlined `<link rel="import" type="css" ...>` "stylesheet imports" (deprecated but still supported) were inlined in reverse order. Fixes [issue #575](https://github.com/Polymer/polymer-bundler/issues/575).
89- Added a `missingImports` property to the `Bundle` class (part of the `BundleManifest`).
90- The JSON generated by `--manifest-out` now includes a `_missing` url collection when any are encountered that could not be loaded.
91- Added missing `--rewrite-urls-in-templates` option to `bin/polymer-bundler`.
92- Fixed issue where HTML imports which were not inlined, because they matched an entry in the `excludes` option, were being erroneously added to the bundle's `missingImports` set.
93- Fixed [issue #579](https://github.com/Polymer/polymer-bundler/issues/579) where `url()` values inside `<style>` tags inside of `<dom-module>` tags of inlined html imports were rewritten without consideration of the module's `assetpath` property.
94- Fixed issue when stylesheet imports are inlined inside of a `<dom-module>` the url resolution now takes into consideration the `assetpath`.
95
96## 2.2.0 - 2017-06-28
97- Fixed issue where bundles produced by shell strategy incorrectly included eager html imports of the shell. https://github.com/Polymer/polymer-bundler/issues/471
98- Fixed the `--inline-scripts` and `--inline-css` options, previously inlining happened regardless of whether the options were actually set. Important, if you use the `bin/polymer-bundler` CLI you must provide these options to inline scripts and css now.
99- Fixed issue producing assetpath in application root. https://github.com/Polymer/polymer-bundler/issues/562
100- Fixed issue where absolute paths were not handled properly. https://github.com/Polymer/polymer-bundler/issues/559
101- Fixed issue where out-dir was essentially ignored for a single bundle case. https://github.com/Polymer/polymer-bundler/issues/560
102- Fixed issue where, if a different version of polymer-analyzer was given to Bundler's constructor, it caused instanceof check failures and resulting in documents not being identified as documents; added more definitive error messaging for this scenario as stop-gap until we switch to a no instanceof version of polymer-analyzer interface.
103
104## 2.1.0 - 2017-06-14
105- Added a `--redirect` option to `bin/polymer-bundler`.
106- Added a `--root` option to `bin/polymer-bundler`.
107- Added support for preserving important comments of the form `<!--! ... -->` when using `stripComments`.
108- The `excludes` option now supports excluding specific script and css file and containing folder urls.
109- The `stripComments` behavior now removes comments inside templates.
110- Fixed issue with incorrect URL rewrites in inlined CSS (when URL points outside of the package root). https://github.com/Polymer/polymer-bundler/issues/531
111- Fixed error when generating source maps due to original line or column not being available. https://github.com/Polymer/polymer-bundler/issues/516
112- Fixed `--manifest-out` option to include inlined scripts and styles and emit during single bundle cases. https://github.com/Polymer/polymer-bundler/issues/549 and https://github.com/Polymer/polymer-bundler/issues/550
113
114## 2.0.3 - 2017-06-07
115- Fixed issue with lazy-imports impacting bundle inlining logic. https://github.com/Polymer/polymer-bundler/issues/536
116- Fixed issue with hidden div being created inside dom-modules. https://github.com/Polymer/polymer-bundler/issues/535
117- Fixed issue with injected dependencies inside dom-modules in shell when using lazy-imports. https://github.com/Polymer/polymer-bundler/issues/534
118
119## 2.0.2 - 2017-06-02
120- In cases such as the shell merge strategy, imports which are not originally
121 part of the shell are now inserted before other imports which are dependent
122 on them. Fixes https://github.com/Polymer/polymer-bundler/issues/517.
123
124## 2.0.1 - 2017-05-19
125- Don't include the `by-polymer-bundler` hidden div in bundled files
126 if it is empty.
127
128## 2.0.0 - 2017-05-18
129- Official 2.0.0 release of polymer-bundler! 🎉
130- Fixed a bug with url-rewriting in cases where base urls provided
131 has mix of relative and absolute pathnames.
132
133## 2.0.0-pre.18 - 2017-05-15
134- Updated dependency on `polymer-analyzer` to ^2.0.0 now that it is
135 out of alpha.
136
137## 2.0.0-pre.17 - 2017-05-11
138- BREAKING: Bundler's `bundle()` method now returns a `BundleResult`
139 instead of just a document collection. It does this to include a
140 copy of the provided manifest, where each bundle includes a record
141 of the sets of imports which were inlined during bundling.
142
143## 2.0.0-pre.16 - 2017-05-10
144- Fixed issue where an inlined import's `<link rel="lazy-import">` href
145 was being adjusted, but should not be adjusted when governed by the
146 containing dom-module's assetpath.
147
148## 2.0.0-pre.15 - 2017-05-08
149- Fixed case where an inlined import's `<link rel="lazy-import">` tags
150 were being moved.
151- Updated `polymer-analyzer` to latest version.
152
153## 2.0.0-pre.14 - 2017-05-03
154- BREAKING: Bundler options now include `strategy` and `urlMapper`. These
155 have been moved out from the `generateManifest` method which now only
156 takes the `entrypoints` array. If you had code that used this method,
157 you'll need to move those parameters to your `new Bundler({...})` call.
158- Added new url mapper functions to make customizing destination of shared
159 bundle files easier: `generateSharedBundleUrlMapper` and
160 `generateCountingSharedBundleUrlMapper` in `src/build-manifest`.
161- Fixed an issue where `<link rel="lazy-import">` tags were being moved
162 out of their containing `<dom-module>` tags.
163- Export all of the bundle manifest types and functions on the default
164 namespace of `polymer-bundler`.
165
166## 2.0.0-pre.13 - 2017-05-01
167- BREAKING: Bundler now supports "lazy imports" aka `<link rel="lazy-import">`.
168 URLs which are imported lazily are implicitly treated as entrypoints. This
169 is a breaking change because, previously, Bundler would incorrectly treat
170 lazy imports just like regular imports.
171- BREAKING: Bundler now inlines Scripts and CSS by default. Pass `inlineCss`
172 and `inlineScripts` as `false` explicitly to disable.
173- Fixed an issue where `exclude` option did not actually support folder names.
174
175## 2.0.0-pre.12 - 2017-04-14
176- BREAKING: Public API change. The `bundle()` method now takes a manifest
177 instead of entrypoints, strategy and mapper. To produce a manifest,
178 use new public method `generateManifest()`.
179- The polymer-bundler CLI now uses the current working directory as
180 the package root folder for its Analyzer, allowing absolute paths to
181 resolve properly.
182- Fixed an issue where an immediate `<style>` child of `<dom-module>` was
183 not moved into generated `<template>`.
184- BREAKING: Added option `rewriteUrlsInTemplates` to support rewriting of urls
185 found in `src`, `href`, `action`, `assetpath` and `style` attributes
186 found inside `<template>` elements, when inlining html imports. Previously,
187 this was done by default. Now requires explicit option.
188- BREAKING: inlinining functions in `import-utils` require an explicit
189 `analyzer` argument.
190- BREAKING: Dropped support for node v4, added support for node v8. See our
191 [node version support policy]
192 (https://www.polymer-project.org/2.0/docs/tools/node-support) for details.
193- Fixed an issue where bundler was adding `<html>`, `<head>`, and `<body>` tags
194 to documents that didn't have them.
195- Removed unused/not-implemented options from the polymer-bundler CLI and
196 corresponding `Bundler` options: `strip-exclude`, `no-implicit-strip` and
197 `redirect`.
198- Corrected the CLI usage output.
199- Corrected the README.
200
201## 2.0.0-pre.11 - 2017-03-20
202- Bump dependency on analyzer
203
204## 2.0.0-pre.10 - 2017-03-15
205- Add a sourcemap option to properly handle or create sourcemaps for
206 script tags
207
208## 2.0.0-pre.9 - 2017-03-07
209- Bump dependency on analyzer
210
211## 2.0.0-pre.8 - 2017-03-03
212- Uses `polymer-analyzer` directly to obtain import document sources and
213 ASTs. This enforces agreement with the Analyzer as to which documents
214 should be inlined/bundled.
215- Fixes issue where protocol-less URLs (those that start with `//`) were
216 treated as absolute paths.
217- Renamed/refactored to draw a clearer distinction between ASTs and
218 documents.
219- Fixes issue where absolute paths in urls would be rewritten in unexpected
220 ways because they were not resolved by the same url resolver rules used
221 by the Analyzer.
222
223## 2.0.0-pre.7 - 2017-03-03
224- Bump dependency on analyzer.
225
226## 2.0.0-pre.6 - 2017-02-17
227- Handle `<base href="...">` values correctly when inlining imports.
228- Apply `<base target="...">` to links and forms in the same document as
229 appropriate.
230- License comments are deduplicated properly now.
231- Server-Side Include comments `<!--# ... -->` are no longer stripped.
232- Fixed a bug where element attributes inside `<template>` tags were not
233 being rewritten when html imports were inlined.
234
235## 2.0.0-pre.5 - 2017-02-14
236- Handle base tags when resolving the dependency graph of imports.
237
238## 2.0.0-pre.4 - 2017-02-06
239- Fixed a bug where bundling using generateShellMergeStrategy would result in
240 builds missing imports which should have been appended to shell.
241
242## 2.0.0-pre.3 - 2017-01-31
243- Changed the way bundle documents are generated, so that bundles based on a
244 source file retain their HTML structure instead of always being synthesized
245 from a blank document.
246- bundle() is the only public method on Bundler class now.
247- Bundler does not explicitly throw an error if it spots a `<polymer-element>`
248 somewhere in a document.
249- `--add-import` and `--importUrl` options have been removed. These features,
250 as expressed, need to be conceptually reworked to work in bundler's new
251 multi-bundle paradigm.
252- `--abspath`/`basePath` have been removed, anticipating their reimplementation
253 in `polymer-build`. https://github.com/polymer/polymer-build/issues/117
254
255## 2.0.0-pre.2 - 2017-01-17
256- Minor API difference the way Bundler class is exported to make it import
257 friendly.
258- Reduced set of files in published package.
259
260## 2.0.0-pre.1 - 2017-01-17
261- Complete rewrite of codebase in Typescript and changed from hydrolysis to
262 polymer-analyzer.
263- Built-in support for build sharding.
264- Optionally generates a manifest of each bundle's imports.
265
266## 1.16.0 - 2017-07-14
267- Fix erroneously reverse-order inlining of style imports `<link rel="import" type="css">`.
268- Added `--polymer2` flag that changes some of the rewriting behaviors to support the fact that Polymer 2.x honors the `assetpath` of `<dom-module>` when interpreting style urls:
269 - Disables rewriting urls in inlined html imports containing `<style>` tags inside `<dom-module>` containers.
270 - Include consideration of container `<dom-module>` `assetpath` property when rewriting urls inside inlined style imports.
271
272## 1.15.5 - 2017-06-01
273- Add --out-request-list to bin/vulcanize help message
274
275## 1.15.4 - 2017-03-21
276- `excludes` option now honors JavaScript asset references:
277 - Won't attempt to load the JS (which caused errors when local file not present.)
278 - Won't inline excluded JS files.
279- Added --out-request-list option, which writes a list of request URLs required
280 to vulcanize `<html file>` to a given file on success.
281
282## 1.15.3 - 2017-01-17
283- Fix for how paths are rewritten in nested import scenarios where paths to same
284 directory were ignored instead of treated as "." for relative path.
285
286## 1.15.2 - 2016-12-16
287- Fix for how assetpath is set when in the same directory, where assetpath attribute
288 for components in same directly were incorrectly set to "/".
289
290## 1.15.1 - 2016-12-16
291- Amended README and minor text fixes to CHANGELOG post release.
292
293## 1.15.0 - 2016-12-16
294- Fixed: Preserve style ordering when moving imports and links out of head tag.
295- Don't actually move anything out of head until an html import is encountered.
296
297## 1.14.12 - 2016-11-16
298- Removed update-notifier dependency and functionality
299- Fixed: Stopped moving links with certain rels out of the head tag to avoid breaking
300 favicons, manifests, and other such features.
301- Speed enhancements
302
303## 1.14.11 - 2016-04-11
304- Radically simpler inlining design. Move all imports and scripts into document
305 body, replace imports inline.
306- Add tests for more complicated inlining scenarios
307
308## 1.14.10 - 2016-04-07
309- Must use path resolution when moving `<head>` nodes
310
311## 1.14.9 - 2016-04-05
312- Try harder to preserve script ordering, move nodes from `<head>` of current
313 document into import inlining fragment
314
315## 1.14.8 - 2016-03-24
316- Undo hydrolysis inlining scripts
317
318## 1.14.7 - 2016-03-01
319- Fix inlining for firebase and other scripts that use `\\x3c/script` syntax
320 when making more scripts
321
322## 1.14.6 - 2016-02-23
323- Make sure `@license` comments always are maintained
324
325## 1.14.5 - 2016-01-21
326- Fix dom5 dependency to 1.3+
327
328## 1.14.4 - 2016-01-21
329- Make sure `<link rel="import type="css">` inlining is placed into a
330 `<dom-module>`'s `<template>`
331
332## 1.14.3 - 2016-01-19
333- Fix for trailing slash in `<base>` tag
334
335## 1.14.2 - 2016-01-19
336- Fix paths when preserving execution order moves scripts to body
337
338## 1.14.1 - 2016-01-14
339- Escape inline scripts
340- Strip Excludes fixed to have higher precedence than Excludes
341- Fix script execution order with imports, once and for all!
342
343## 1.14.0 - 2015-10-20
344- Add `output` option to write file from CLI
345
346## 1.13.1
347- Strip Excludes should be fuzzy
348
349## 1.13.0
350- Support custom hydrolysis file loaders
351
352## 1.12.3
353- Make sure `excludes` works with `redirects`
354
355## 1.12.2
356- Fix CLI spelling of `redirects`
357
358## 1.12.1
359- Fix misspelling of `redirects` in library options
360
361## 1.12.0
362- New `--redirect` flag and `redirect` argument to set up custom path mappings
363
364## 1.11.0
365- New `-add-import` flag and `addedImports` argument to add additional imports
366 to the target file.
367- Copy `@media` queries on external CSS files into inlined styles.
368- Fix excluding css files from computing dependencies.
369
370## 1.10.5
371- Fix a dumb unix path assumption for --inline-scripts and --inline-css +
372 absolute paths on windows.
373
374## 1.10.4
375- Fix excludes for js files and folders
376
377## 1.10.3
378- Fix regression in --strip-comments from 1.9.0
379
380## 1.10.2
381- Use URLs internally until calling hydrolysis
382- Fixes a bunch of inline issues for Windows
383
384## 1.10.1
385- Typecheck inputs in library usage
386- Fix README to say that `stripExcludes` is an Array not a Boolean
387
388## 1.10.0
389- Add `inputUrl` option to work around grunt and gulp plugins providing
390 filepaths that cannot be used as URLs to `vulcanize.process()`
391
392## 1.9.3
393- Fix abspath bug on windows machines
394
395## 1.9.2
396- Use new class API in binary
397- Update dependencies
398
399## 1.9.1
400- Fix `implicitStrip` in new Class based API
401
402## 1.9.0
403- New class based API:
404```js
405var Vulcanize = require('vulcanize');
406
407var vulcan = new Vulcanize(options);
408vulcan.process(...);
409```
410- `vulcanize.setOptions` and `vulcanize.process` are deprecated
411## 1.8.1
412- Bump hydrolysis to 1.12.0 with proper ordering
413
414## 1.8.0
415- Make stripComments work more reliably
416
417## 1.7.1
418- Don't try to inline styles from external sources
419
420## 1.7.0
421- Inline link[rel="stylesheet"] css as well as polymer import stylesheets
422
423## 1.6.0
424- Update usage of private API of hydrolysis
425- Correctly set 'implicit strip' option when used programatically
426
427## 1.5.1
428- Ignore external (http and https) resources from inlining
429
430## 1.5.0
431- Error on the use of old Polymer elements. Vulcanize 0.7.x is the last version
432 that will handle &lt; Polymer 0.8.
433- Rewrite urls for inlined styles
434
435## 1.4.4
436- Make sure excluded js files are totally removed (they inserted blank script
437 tags)
438
439## 1.4.3
440- Update dependencies and docs
441- Dependency update fixes cyclic dependencies
442
443## 1.4.2
444- Fix URL rewriting from parts of imports that end up in `<body>`
445
446## 1.4.1
447- `--implicit-strip` is default
448- Remove "comment normalization" when stripping, it was not self-stable
449
450## 1.4.0
451- Add `--strip-comments` to remove unnecessary comments
452
453## 1.3.0
454- Add `--inline-css` option to inline external stylesheets
455
456## 1.2.1
457- Update dependencies
458
459## 1.2.0
460- Change `--strip-exclude` to be an array of excludes to strip
461- `--implicit-strip` is the old `--strip-excludes` behavior
462
463## 1.1.0
464- Add `--inline-scripts` option to inline external scripts
465
466## 1.0.0
467- Rewrite on top of [hydrolysis](https://github.com/PolymerLabs/hydrolysis) and
468[dom5](https://github.com/PolymerLabs/dom5)
469- Factor out `--csp` flag into [crisper](https://github.com/PolymerLabs/crisper)
470- Remove html and javascript minification
471
472## 0.7.10
473- Collapse whitespace instead of removing it
474- Keep unique license comments
475
476## 0.7.9
477- Honor `<base>` urls in inline styles
478
479## 0.7.8
480- Update to whacko 0.17.3
481
482## 0.7.7
483- Honor `<base>` tag
484- Make all schemas "absolute" urls
485
486## 0.7.6
487- Don't rewrite urls starting with '#'
488
489## 0.7.5
490- Remove cssom, just use regexes
491
492## 0.7.4
493- Workaround for cssom not liking '{{ }}' bindings in `<style>` tags (unsupported, use `<core-style>` instead)
494
495## 0.7.3
496- Replace clean-css with cssom, which does less "optimizations"
497
498## 0.7.2
499- Disable css number rounding for crazy-sad flexbox hacks in IE 10
500- Add charset=utf-8 to all scripts
501- Better comment removal codepath
502
503## 0.7.1
504- Support for mobile URL Schemes "tel:" and "sms:"
505- Better reporting of javascript error messages with `--strip`
506- Handle buffers as input with `inputSrc`
507- Rename `outputSrc` to `outputHandler`
508
509## 0.7.0
510- Upgrade to whacko 0.17.2 with template support
511- add utils.searchAll to make a query that walks into `<template>` elements
512
513## 0.6.2
514- stick to whacko 0.17.1 until `<template>` support is complete
515
516## 0.6.1
517- fix bug with removing absolute imports
518
519## 0.6.0
520- Strip excluded imports by default (old behavior accessible with --no-strip-excludes flag)
521
522## 0.5.0
523- finally switch to new-world polymer license
524- Add a bunch of tests for lib/vulcan
525- Refactor test suites
526- tests for utils and optparser modules
527- Merge pull request #83 from jongeho1/undefined-element
528- undefined element fix
529- remove unnecessary require statement
530- Handle indirect prototype references in Polymer invocation
531- plumb abspath to all url rewriting
532- shields!
533- add travis config
534- add tests!
535- Add option for printing version and nag to update
536- move test folder to example
537- Merge branch 'master' of github.com:rush340/vulcanize into rush340-master
538- Merge pull request #75 from ragingwind/remove-importerjs
539- Merge pull request #77 from Polymer/use-whacko
540- Keep consistent ordering of import document heads and bodies
541- Don't create a whole document for inlining styles
542- Switch to whacko/parse5
543- fix flipped conditional
544- Merge pull request #76 from ragingwind/buffer
545- Support buffer in/out
546- Remove importer.js
547- more explicit checking of whether abspath is set
548- cleaned up regex matching of root
549- renamed webAbsPath to abspath
550- fixed cheerio options to perform the same parsing while reading and writing
551- if webAbsPath is passed in, use absolute paths everywhere
552- resolve webAbsPath if relative path provided
553- added recognition of double-slash paths as a remote absolute URL
554- applied webAbsPath option for handling absolute paths (based on jongeho1's pull request: https://github.com/Polymer/vulcanize/pull/36)
555
556## 0.4.3
557- Release 0.4.3
558- Mailto: is an absolute path
559- Merge pull request #70 from rush340/htmlentities
560- added missing use of CHEERIO_OPTIONS
561- fixed cheerio options to perform the same parsing while reading and writing
562- Merge pull request #59 from mozilla-appmaker/cheerio-write-fix
563- Merge pull request #65 from tbuckley/patch-1
564- Add quotes around filenames in CSS
565- audit license headers
566- fixed cheerio options to perform the same parsing while reading and writing
567- Never decode entities
568
569## 0.4.2
570- Fix inline svgs
571- Update README with --strip functionality
572
573## 0.4.1
574- Bump version to 0.4.1
575- Strip comments and whitespace from all nodes
576
577## 0.4.0
578- Bump to version 0.4.0
579- Replace noscript with explicit Polymer invocation, to ensure correct element registration order when CSP'ed.
580
581## 0.3.1
582- remove extraneous async module
583- Fixes #34
584
585## 0.3.0
586- Hide import content from view in the main document
587
588## 0.2.7
589- always add name to polymer invocation
590
591## 0.2.6
592- bump version
593- add small usage block to help
594- Make --strip work with --csp
595- Clean up use of get/setTextContent
596- Inline stylesheet happens after import path fixup, so outputPath of rewriteURL should be the overall outputPath
597
598## 0.2.5
599- update to 0.2.5
600- .text() was decoding HTML entities, read raw script node content for CSP
601- Support Polymer invocation without tag name
602- Fix slightly broken merge conflict
603- Enable `--inline --csp` mode to smash everything into one JS file
604- Upstream cheerio changed loop semantics to return "dom" nodes instead of sugared cheerio objects
605- Fix #29
606- Print help dialog if called without arguments
607- update dependencies
608
609## 0.2.4
610- Treat config file as "defaults", commandline flags override
611- Do path resolution before import processing and style inlining
612
613## 0.2.3
614- A few bug fixes
615
616## 0.2.2
617- Don't recalculate assetpath for handled elements
618- Bump to 0.2.1
619
620## 0.2.1
621- unbreak assetpath generation
622
623## 0.2.0
624- Prepare vulcanize 0.2.0
625- Merge pull request #25 from lborgav/patch-1
626- Fixing missing letters
627- Don't move external scripts around with CSP mode
628- Use uglify inline_script
629- Use cleancss only for stripping comments
630- Merge pull request #21 from azakus/modular
631- went a little too quick with the regex
632- Remove byte order mark
633- Make sure not to lose assetpath fix
634- First draft at a split out Importer
635- Inplace inline *all* imports
636- Copy setTextNode since it's so tiny
637- move all the option validation into optparser
638- Update npm dependencies
639- Split out path resolution
640- Break out option parser
641- Break out constants
642- Add the hooks for style and script excludes
643- Add changelog generation script
644- Merge pull request #16 from tbuckley/master
645- Include excluded script instead of its contents
646- Only put a trailing slash into assetpath attribute if there is a path
647- bump version
648- clone all styles (minus href and rel) from `<link>` to `<style>`
649- update to 0.1.13
650- Skip non-JS scripts and non-CSS styles
651- bump version
652- Make sure to CSPify main document first, load platform.js first in the output js file.
653- add test config for excluding polymer.html
654- Refactor handling of inlined and excluded import insertion
655- bump version
656- Fix subtle path bug in stylesheets
657- use uglify and clean-css to strip comments from js and css when using --strip
658- Clean up
659- bump version
660- --csp will now operate on the input html file as well
661- Fix script inlining to ignore parsing html comments
662- cheerio 0.13 seems to work just fine
663- inline stylesheets in the main page when using --inline
664- README: add ga beacon
665
666## 0.1.9
667- Reset excludes on each run
668
669## 0.1.8
670- Bump version
671- add "strip comments" functionality
672- fix minor typo in helep text: s/defualts/defaults
673
674## 0.1.7
675- bump version
676- add sub-import test to the top level import
677- Add --config option to specify user defined excludes
678- Add user-defined excludes from inling.
679
680## 0.1.6
681- bump version
682- test with absolute urls
683- remove console.log
684- Deduplicate absolute url imports
685- fix missing absolute imports
686
687## 0.1.5
688- bump to 0.1.5
689- Revert "polymer-scope is no longer supported"
690
691## 0.1.4
692- reset shared buffers on each handleMainDocument call
693
694## 0.1.3
695- bump version
696- move option checking to setOptions, not the bin
697- Add npm installation instructions
698- polymer-scope is no longer supported
699
700## 0.1.2
701
702## 0.1.15
703- Only put a trailing slash into assetpath attribute if there is a path
704
705## 0.1.14
706- bump version
707- clone all styles (minus href and rel) from `<link>` to `<style>`
708
709## 0.1.13
710- update to 0.1.13
711- Skip non-JS scripts and non-CSS styles
712
713## 0.1.12
714- bump version
715- Make sure to CSPify main document first, load platform.js first in the output js file.
716- add test config for excluding polymer.html
717- Refactor handling of inlined and excluded import insertion
718
719## 0.1.11
720- bump version
721- Fix subtle path bug in stylesheets
722- use uglify and clean-css to strip comments from js and css when using --strip
723- Clean up
724
725## 0.1.10
726- bump version
727- --csp will now operate on the input html file as well
728- Fix script inlining to ignore parsing html comments
729- cheerio 0.13 seems to work just fine
730- inline stylesheets in the main page when using --inline
731- README: add ga beacon
732- Reset excludes on each run
733- Bump version
734- add "strip comments" functionality
735- fix minor typo in helep text: s/defualts/defaults
736- bump version
737- add sub-import test to the top level import
738- Add --config option to specify user defined excludes
739- Add user-defined excludes from inling.
740- bump version
741- test with absolute urls
742- remove console.log
743- Deduplicate absolute url imports
744- fix missing absolute imports
745- bump to 0.1.5
746- Revert "polymer-scope is no longer supported"
747- reset shared buffers on each handleMainDocument call
748- bump version
749- move option checking to setOptions, not the bin
750- Add npm installation instructions
751- polymer-scope is no longer supported
752- bump version
753- update README to be more approachable
754- add a help dialog, fix "main" in package.json
755
756## 0.1.1
757- Bump version to 0.1.1
758- Fix paths from main html file if input or output directories are not current working directory
759- Add style url rewriting back
760- add other directories to testing
761- Merge pull request #3 from akhileshgupta/inline_styles_fix
762- Merge pull request #2 from akhileshgupta/concat_scripts_bugfix
763- variable rename and removing the unrequired check
764- fixing the use of .html(cssText) to update the styles content.
765- resolving script path from outputDir during concatenation
766- Merge pull request #1 from addyosmani/patch-1
767- Adds npm install snippet, minor formatting changes.
768
769## 0.1.0
770- semver recommends starting at 0.1.0
771- add repo info to package.json
772
773## 0.0.1
774- Update README.md
775- add license top
776- remove unrelated viz file
777- add license files
778- reference new executable path
779- reference bin/vulcanize for global npm install
780- split vulcan.js into vulcanize bin and lib/vulcan.js
781- reorder constant variables, add missing SCRIPT_SRC
782- inlineScripts now uses html text and regex, not cheerio api
783- Use html() to inline scripts, text() makes HTML Entities
784- Add --inline option to inline all scripts into main document (opposite of --csp)
785- Update README to reflect all-in-one html files
786- Try to insert inlined import exactly where the link was
787- make everything from imports inlined
788- update README with index-vulcanized output
789- Inlined stylesheets must have URL paths rewritten, move to import processing
790- inline css stylesheets into style tags in polymer elements
791- assetpath is handled by polymer now
792- Update README.md
793- Update README.md
794- Remove unused function
795- fix import location finding and windows path munging
796- Fix output directory for CSP js file
797- find better spots for vulcanized imports and scripts
798- Update to newer cheerio with fixed htmlparser
799- reflect new functionality in README, fix up newline issues, refactor constants
800- vulcanizer will now take in a single main document and produce a built version of that main document.
801- add a semicolon to all scripts to prevent weird insertion conditions
802- update README for CSP mode
803- For CSP, allow an option to separate scripts into a separate file
804- Process imports as whole files, no element extraction
805- breaking down doc tool for analysis
806- Update README for polymer-element
807- update for polymer-element
808- Much more useful README
809- use assetpath attribute on `<element>` to fix resolvePath usage in Polymer elements