UNPKG

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