UNPKG

17.5 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
10## 1.16.0 - 2017-07-14
11- Fix erroneously reverse-order inlining of style imports `<link rel="import" type="css">`.
12- 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:
13 - Disables rewriting urls in inlined html imports containing `<style>` tags inside `<dom-module>` containers.
14 - Include consideration of container `<dom-module>` `assetpath` property when rewriting urls inside inlined style imports.
15
16## 1.15.5 - 2017-06-01
17- Add --out-request-list to bin/vulcanize help message
18
19## 1.15.4 - 2017-03-21
20- `excludes` option now honors JavaScript asset references:
21 - Won't attempt to load the JS (which caused errors when local file not present.)
22 - Won't inline excluded JS files.
23- Added --out-request-list option, which writes a list of request URLs required
24 to vulcanize <html file> to a given file on success.
25
26## 1.15.3 - 2017-01-17
27- Fix for how paths are rewritten in nested import scenarios where paths to same
28 directory were ignored instead of treated as "." for relative path.
29
30## 1.15.2 - 2016-12-16
31- Fix for how assetpath is set when in the same directory, where assetpath attribute
32 for components in same directly were incorrectly set to "/".
33
34## 1.15.1 - 2016-12-16
35- Amended README and minor text fixes to CHANGELOG post release.
36
37## 1.15.0 - 2016-12-16
38- Fixed: Preserve style ordering when moving imports and links out of head tag.
39- Don't actually move anything out of head until an html import is encountered.
40
41## 1.14.12 - 2016-11-16
42- Removed update-notifier dependency and functionality
43- Fixed: Stopped moving links with certain rels out of the head tag to avoid breaking
44 favicons, manifests, and other such features.
45- Speed enhancements
46
47## 1.14.11 - 2016-04-11
48- Radically simpler inlining design. Move all imports and scripts into document
49 body, replace imports inline.
50- Add tests for more complicated inlining scenarios
51
52## 1.14.10 - 2016-04-07
53- Must use path resolution when moving `<head>` nodes
54
55## 1.14.9 - 2016-04-05
56- Try harder to preserve script ordering, move nodes from `<head>` of current
57 document into import inlining fragment
58
59## 1.14.8 - 2016-03-24
60- Undo hydrolysis inlining scripts
61
62## 1.14.7 - 2016-03-01
63- Fix inlining for firebase and other scripts that use `\\x3c/script` syntax
64 when making more scripts
65
66## 1.14.6 - 2016-02-23
67- Make sure `@license` comments always are maintained
68
69## 1.14.5 - 2016-01-21
70- Fix dom5 dependency to 1.3+
71
72## 1.14.4 - 2016-01-21
73- Make sure `<link rel="import type="css">` inlining is placed into a
74 `<dom-module>`'s `<template>`
75
76## 1.14.3 - 2016-01-19
77- Fix for trailing slash in `<base>` tag
78
79## 1.14.2 - 2016-01-19
80- Fix paths when preserving execution order moves scripts to body
81
82## 1.14.1 - 2016-01-14
83- Escape inline scripts
84- Strip Excludes fixed to have higher precedence than Excludes
85- Fix script execution order with imports, once and for all!
86
87## 1.14.0 - 2015-10-20
88- Add `output` option to write file from CLI
89
90## 1.13.1
91- Strip Excludes should be fuzzy
92
93## 1.13.0
94- Support custom hydrolysis file loaders
95
96## 1.12.3
97- Make sure `excludes` works with `redirects`
98
99## 1.12.2
100- Fix CLI spelling of `redirects`
101
102## 1.12.1
103- Fix misspelling of `redirects` in library options
104
105## 1.12.0
106- New `--redirect` flag and `redirect` argument to set up custom path mappings
107
108## 1.11.0
109- New `-add-import` flag and `addedImports` argument to add additional imports
110 to the target file.
111- Copy `@media` queries on external CSS files into inlined styles.
112- Fix excluding css files from computing dependencies.
113
114## 1.10.5
115- Fix a dumb unix path assumption for --inline-scripts and --inline-css +
116 absolute paths on windows.
117
118## 1.10.4
119- Fix excludes for js files and folders
120
121## 1.10.3
122- Fix regression in --strip-comments from 1.9.0
123
124## 1.10.2
125- Use URLs internally until calling hydrolysis
126- Fixes a bunch of inline issues for Windows
127
128## 1.10.1
129- Typecheck inputs in library usage
130- Fix README to say that `stripExcludes` is an Array not a Boolean
131
132## 1.10.0
133- Add `inputUrl` option to work around grunt and gulp plugins providing
134 filepaths that cannot be used as URLs to `vulcanize.process()`
135
136## 1.9.3
137- Fix abspath bug on windows machines
138
139## 1.9.2
140- Use new class API in binary
141- Update dependencies
142
143## 1.9.1
144- Fix `implicitStrip` in new Class based API
145
146## 1.9.0
147- New class based API:
148```js
149var Vulcanize = require('vulcanize');
150
151var vulcan = new Vulcanize(options);
152vulcan.process(...);
153```
154- `vulcanize.setOptions` and `vulcanize.process` are deprecated
155## 1.8.1
156- Bump hydrolysis to 1.12.0 with proper ordering
157
158## 1.8.0
159- Make stripComments work more reliably
160
161## 1.7.1
162- Don't try to inline styles from external sources
163
164## 1.7.0
165- Inline link[rel="stylesheet"] css as well as polymer import stylesheets
166
167## 1.6.0
168- Update usage of private API of hydrolysis
169- Correctly set 'implicit strip' option when used programatically
170
171## 1.5.1
172- Ignore external (http and https) resources from inlining
173
174## 1.5.0
175- Error on the use of old Polymer elements. Vulcanize 0.7.x is the last version
176 that will handle &lt; Polymer 0.8.
177- Rewrite urls for inlined styles
178
179## 1.4.4
180- Make sure excluded js files are totally removed (they inserted blank script
181 tags)
182
183## 1.4.3
184- Update dependencies and docs
185- Dependency update fixes cyclic dependencies
186
187## 1.4.2
188- Fix URL rewriting from parts of imports that end up in `<body>`
189
190## 1.4.1
191- `--implicit-strip` is default
192- Remove "comment normalization" when stripping, it was not self-stable
193
194## 1.4.0
195- Add `--strip-comments` to remove unnecessary comments
196
197## 1.3.0
198- Add `--inline-css` option to inline external stylesheets
199
200## 1.2.1
201- Update dependencies
202
203## 1.2.0
204- Change `--strip-exclude` to be an array of excludes to strip
205- `--implicit-strip` is the old `--strip-excludes` behavior
206
207## 1.1.0
208- Add `--inline-scripts` option to inline external scripts
209
210## 1.0.0
211- Rewrite on top of [hydrolysis](https://github.com/PolymerLabs/hydrolysis) and
212[dom5](https://github.com/PolymerLabs/dom5)
213- Factor out `--csp` flag into [crisper](https://github.com/PolymerLabs/crisper)
214- Remove html and javascript minification
215
216## 0.7.10
217- Collapse whitespace instead of removing it
218- Keep unique license comments
219
220## 0.7.9
221- Honor `<base>` urls in inline styles
222
223## 0.7.8
224- Update to whacko 0.17.3
225
226## 0.7.7
227- Honor `<base>` tag
228- Make all schemas "absolute" urls
229
230## 0.7.6
231- Don't rewrite urls starting with '#'
232
233## 0.7.5
234- Remove cssom, just use regexes
235
236## 0.7.4
237- Workaround for cssom not liking '{{ }}' bindings in `<style>` tags (unsupported, use `<core-style>` instead)
238
239## 0.7.3
240- Replace clean-css with cssom, which does less "optimizations"
241
242## 0.7.2
243- Disable css number rounding for crazy-sad flexbox hacks in IE 10
244- Add charset=utf-8 to all scripts
245- Better comment removal codepath
246
247## 0.7.1
248- Support for mobile URL Schemes "tel:" and "sms:"
249- Better reporting of javascript error messages with `--strip`
250- Handle buffers as input with `inputSrc`
251- Rename `outputSrc` to `outputHandler`
252
253## 0.7.0
254- Upgrade to whacko 0.17.2 with template support
255- add utils.searchAll to make a query that walks into `<template>` elements
256
257## 0.6.2
258- stick to whacko 0.17.1 until `<template>` support is complete
259
260## 0.6.1
261- fix bug with removing absolute imports
262
263## 0.6.0
264- Strip excluded imports by default (old behavior accessible with --no-strip-excludes flag)
265
266## 0.5.0
267- finally switch to new-world polymer license
268- Add a bunch of tests for lib/vulcan
269- Refactor test suites
270- tests for utils and optparser modules
271- Merge pull request #83 from jongeho1/undefined-element
272- undefined element fix
273- remove unnecessary require statement
274- Handle indirect prototype references in Polymer invocation
275- plumb abspath to all url rewriting
276- shields!
277- add travis config
278- add tests!
279- Add option for printing version and nag to update
280- move test folder to example
281- Merge branch 'master' of github.com:rush340/vulcanize into rush340-master
282- Merge pull request #75 from ragingwind/remove-importerjs
283- Merge pull request #77 from Polymer/use-whacko
284- Keep consistent ordering of import document heads and bodies
285- Don't create a whole document for inlining styles
286- Switch to whacko/parse5
287- fix flipped conditional
288- Merge pull request #76 from ragingwind/buffer
289- Support buffer in/out
290- Remove importer.js
291- more explicit checking of whether abspath is set
292- cleaned up regex matching of root
293- renamed webAbsPath to abspath
294- fixed cheerio options to perform the same parsing while reading and writing
295- if webAbsPath is passed in, use absolute paths everywhere
296- resolve webAbsPath if relative path provided
297- added recognition of double-slash paths as a remote absolute URL
298- applied webAbsPath option for handling absolute paths (based on jongeho1's pull request: https://github.com/Polymer/vulcanize/pull/36)
299
300## 0.4.3
301- Release 0.4.3
302- Mailto: is an absolute path
303- Merge pull request #70 from rush340/htmlentities
304- added missing use of CHEERIO_OPTIONS
305- fixed cheerio options to perform the same parsing while reading and writing
306- Merge pull request #59 from mozilla-appmaker/cheerio-write-fix
307- Merge pull request #65 from tbuckley/patch-1
308- Add quotes around filenames in CSS
309- audit license headers
310- fixed cheerio options to perform the same parsing while reading and writing
311- Never decode entities
312
313## 0.4.2
314- Fix inline svgs
315- Update README with --strip functionality
316
317## 0.4.1
318- Bump version to 0.4.1
319- Strip comments and whitespace from all nodes
320
321## 0.4.0
322- Bump to version 0.4.0
323- Replace noscript with explicit Polymer invocation, to ensure correct element registration order when CSP'ed.
324
325## 0.3.1
326- remove extraneous async module
327- Fixes #34
328
329## 0.3.0
330- Hide import content from view in the main document
331
332## 0.2.7
333- always add name to polymer invocation
334
335## 0.2.6
336- bump version
337- add small usage block to help
338- Make --strip work with --csp
339- Clean up use of get/setTextContent
340- Inline stylesheet happens after import path fixup, so outputPath of rewriteURL should be the overall outputPath
341
342## 0.2.5
343- update to 0.2.5
344- .text() was decoding HTML entities, read raw script node content for CSP
345- Support Polymer invocation without tag name
346- Fix slightly broken merge conflict
347- Enable `--inline --csp` mode to smash everything into one JS file
348- Upstream cheerio changed loop semantics to return "dom" nodes instead of sugared cheerio objects
349- Fix #29
350- Print help dialog if called without arguments
351- update dependencies
352
353## 0.2.4
354- Treat config file as "defaults", commandline flags override
355- Do path resolution before import processing and style inlining
356
357## 0.2.3
358- A few bug fixes
359
360## 0.2.2
361- Don't recalculate assetpath for handled elements
362- Bump to 0.2.1
363
364## 0.2.1
365- unbreak assetpath generation
366
367## 0.2.0
368- Prepare vulcanize 0.2.0
369- Merge pull request #25 from lborgav/patch-1
370- Fixing missing letters
371- Don't move external scripts around with CSP mode
372- Use uglify inline_script
373- Use cleancss only for stripping comments
374- Merge pull request #21 from azakus/modular
375- went a little too quick with the regex
376- Remove byte order mark
377- Make sure not to lose assetpath fix
378- First draft at a split out Importer
379- Inplace inline *all* imports
380- Copy setTextNode since it's so tiny
381- move all the option validation into optparser
382- Update npm dependencies
383- Split out path resolution
384- Break out option parser
385- Break out constants
386- Add the hooks for style and script excludes
387- Add changelog generation script
388- Merge pull request #16 from tbuckley/master
389- Include excluded script instead of its contents
390- Only put a trailing slash into assetpath attribute if there is a path
391- bump version
392- clone all styles (minus href and rel) from `<link>` to `<style>`
393- update to 0.1.13
394- Skip non-JS scripts and non-CSS styles
395- bump version
396- Make sure to CSPify main document first, load platform.js first in the output js file.
397- add test config for excluding polymer.html
398- Refactor handling of inlined and excluded import insertion
399- bump version
400- Fix subtle path bug in stylesheets
401- use uglify and clean-css to strip comments from js and css when using --strip
402- Clean up
403- bump version
404- --csp will now operate on the input html file as well
405- Fix script inlining to ignore parsing html comments
406- cheerio 0.13 seems to work just fine
407- inline stylesheets in the main page when using --inline
408- README: add ga beacon
409
410## 0.1.9
411- Reset excludes on each run
412
413## 0.1.8
414- Bump version
415- add "strip comments" functionality
416- fix minor typo in helep text: s/defualts/defaults
417
418## 0.1.7
419- bump version
420- add sub-import test to the top level import
421- Add --config option to specify user defined excludes
422- Add user-defined excludes from inling.
423
424## 0.1.6
425- bump version
426- test with absolute urls
427- remove console.log
428- Deduplicate absolute url imports
429- fix missing absolute imports
430
431## 0.1.5
432- bump to 0.1.5
433- Revert "polymer-scope is no longer supported"
434
435## 0.1.4
436- reset shared buffers on each handleMainDocument call
437
438## 0.1.3
439- bump version
440- move option checking to setOptions, not the bin
441- Add npm installation instructions
442- polymer-scope is no longer supported
443
444## 0.1.2
445
446## 0.1.15
447- Only put a trailing slash into assetpath attribute if there is a path
448
449## 0.1.14
450- bump version
451- clone all styles (minus href and rel) from `<link>` to `<style>`
452
453## 0.1.13
454- update to 0.1.13
455- Skip non-JS scripts and non-CSS styles
456
457## 0.1.12
458- bump version
459- Make sure to CSPify main document first, load platform.js first in the output js file.
460- add test config for excluding polymer.html
461- Refactor handling of inlined and excluded import insertion
462
463## 0.1.11
464- bump version
465- Fix subtle path bug in stylesheets
466- use uglify and clean-css to strip comments from js and css when using --strip
467- Clean up
468
469## 0.1.10
470- bump version
471- --csp will now operate on the input html file as well
472- Fix script inlining to ignore parsing html comments
473- cheerio 0.13 seems to work just fine
474- inline stylesheets in the main page when using --inline
475- README: add ga beacon
476- Reset excludes on each run
477- Bump version
478- add "strip comments" functionality
479- fix minor typo in helep text: s/defualts/defaults
480- bump version
481- add sub-import test to the top level import
482- Add --config option to specify user defined excludes
483- Add user-defined excludes from inling.
484- bump version
485- test with absolute urls
486- remove console.log
487- Deduplicate absolute url imports
488- fix missing absolute imports
489- bump to 0.1.5
490- Revert "polymer-scope is no longer supported"
491- reset shared buffers on each handleMainDocument call
492- bump version
493- move option checking to setOptions, not the bin
494- Add npm installation instructions
495- polymer-scope is no longer supported
496- bump version
497- update README to be more approachable
498- add a help dialog, fix "main" in package.json
499
500## 0.1.1
501- Bump version to 0.1.1
502- Fix paths from main html file if input or output directories are not current working directory
503- Add style url rewriting back
504- add other directories to testing
505- Merge pull request #3 from akhileshgupta/inline_styles_fix
506- Merge pull request #2 from akhileshgupta/concat_scripts_bugfix
507- variable rename and removing the unrequired check
508- fixing the use of .html(cssText) to update the styles content.
509- resolving script path from outputDir during concatenation
510- Merge pull request #1 from addyosmani/patch-1
511- Adds npm install snippet, minor formatting changes.
512
513## 0.1.0
514- semver recommends starting at 0.1.0
515- add repo info to package.json
516
517## 0.0.1
518- Update README.md
519- add license top
520- remove unrelated viz file
521- add license files
522- reference new executable path
523- reference bin/vulcanize for global npm install
524- split vulcan.js into vulcanize bin and lib/vulcan.js
525- reorder constant variables, add missing SCRIPT_SRC
526- inlineScripts now uses html text and regex, not cheerio api
527- Use html() to inline scripts, text() makes HTML Entities
528- Add --inline option to inline all scripts into main document (opposite of --csp)
529- Update README to reflect all-in-one html files
530- Try to insert inlined import exactly where the link was
531- make everything from imports inlined
532- update README with index-vulcanized output
533- Inlined stylesheets must have URL paths rewritten, move to import processing
534- inline css stylesheets into style tags in polymer elements
535- assetpath is handled by polymer now
536- Update README.md
537- Update README.md
538- Remove unused function
539- fix import location finding and windows path munging
540- Fix output directory for CSP js file
541- find better spots for vulcanized imports and scripts
542- Update to newer cheerio with fixed htmlparser
543- reflect new functionality in README, fix up newline issues, refactor constants
544- vulcanizer will now take in a single main document and produce a built version of that main document.
545- add a semicolon to all scripts to prevent weird insertion conditions
546- update README for CSP mode
547- For CSP, allow an option to separate scripts into a separate file
548- Process imports as whole files, no element extraction
549- breaking down doc tool for analysis
550- Update README for polymer-element
551- update for polymer-element
552- Much more useful README
553- use assetpath attribute on `<element>` to fix resolvePath usage in Polymer elements