1 | # Change Log
|
2 |
|
3 | All notable changes to this project will be documented in this file.
|
4 |
|
5 | The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
6 | and 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
|
149 | var Vulcanize = require('vulcanize');
|
150 |
|
151 | var vulcan = new Vulcanize(options);
|
152 | vulcan.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 < 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
|