|
0
|
1 |
YUI Compressor 2.4.2, 2008-11-10
|
|
|
2 |
--------------------------------
|
|
|
3 |
|
|
|
4 |
+ Preserved comments shouldn't prevent obfuscation (Thanks to Matjaz Lipus)
|
|
|
5 |
|
|
|
6 |
YUI Compressor 2.4.1, 2008-10-28
|
|
|
7 |
--------------------------------
|
|
|
8 |
|
|
|
9 |
+ Use preferentially lower case letters for obfuscated variable names.
|
|
|
10 |
Since JavaScript keywords use lower case letters most often, this
|
|
|
11 |
improves the efficiency of any compression algorithm (gzipping)
|
|
|
12 |
used after minification.
|
|
|
13 |
+ Don't append a semi-colon at the end of a JavaScript file when the
|
|
|
14 |
last token is a special comment.
|
|
|
15 |
|
|
|
16 |
YUI Compressor 2.4, 2008-10-21
|
|
|
17 |
------------------------------
|
|
|
18 |
|
|
|
19 |
+ Allowed the YUI Compressor (which uses a modified version of Rhino)
|
|
|
20 |
to work alongside the original (unmodified) rhino library by using
|
|
|
21 |
a custom class loader.
|
|
|
22 |
+ Added all that's necessary to build the YUI Compressor to the
|
|
|
23 |
downloable package.
|
|
|
24 |
+ Fixed unnecessary white space after return / typeof when possible.
|
|
|
25 |
|
|
|
26 |
YUI Compressor 2.3.6, 2008-07-10
|
|
|
27 |
--------------------------------
|
|
|
28 |
|
|
|
29 |
+ Fixed a few minor bugs with the CSS compressor
|
|
|
30 |
+ Changed packaging. The original Rhino library, which is used to build the
|
|
|
31 |
YUI Compressor, is not part of the downloadable archive. Too many people
|
|
|
32 |
put it in their classpath, generating a lot of invalid bugs.
|
|
|
33 |
|
|
|
34 |
YUI Compressor 2.3.5, 2008-02-08
|
|
|
35 |
--------------------------------
|
|
|
36 |
|
|
|
37 |
+ Added a warning when more than one 'var' statement is used in a single scope.
|
|
|
38 |
Automatic coalescence is extremely complicated, and would be unsafe if not
|
|
|
39 |
done properly.
|
|
|
40 |
|
|
|
41 |
YUI Compressor 2.3.4, 2008-02-07
|
|
|
42 |
--------------------------------
|
|
|
43 |
|
|
|
44 |
+ Expanded the list of reserved words used by isValidIdentifier()
|
|
|
45 |
|
|
|
46 |
YUI Compressor 2.3.3, 2008-02-04
|
|
|
47 |
--------------------------------
|
|
|
48 |
|
|
|
49 |
+ C-style comments starting with /*! are preserved. This is especially
|
|
|
50 |
useful with comments containing copyright/license information.
|
|
|
51 |
|
|
|
52 |
YUI Compressor 2.3.2, 2008-02-01
|
|
|
53 |
--------------------------------
|
|
|
54 |
|
|
|
55 |
+ Compressing an empty JS file throws an error [SourceForge bug #1884207]
|
|
|
56 |
+ When a string is the first token in a function body, it was removed from
|
|
|
57 |
the compressed file [SourceForge bug #1884314]
|
|
|
58 |
|
|
|
59 |
YUI Compressor 2.3.1, 2008-01-30
|
|
|
60 |
--------------------------------
|
|
|
61 |
|
|
|
62 |
+ Added test against list of reserved words in method isValidIdentifier.
|
|
|
63 |
|
|
|
64 |
YUI Compressor 2.3, 2008-01-28
|
|
|
65 |
------------------------------
|
|
|
66 |
|
|
|
67 |
+ Always output a ';' at the end of a minified JavaScript file. This allows
|
|
|
68 |
the concatenating of several minified files without the fear of introducing
|
|
|
69 |
a syntax error.
|
|
|
70 |
+ Removed all System.exit() statements. Throw exceptions instead. This is
|
|
|
71 |
especially useful when running the compressor from within a J2EE container.
|
|
|
72 |
[SourceForge bug #1834750]
|
|
|
73 |
+ Transform obj["foo"] into obj.foo whenever possible, saving 3 bytes.
|
|
|
74 |
+ Transform 'foo': ... into foo: ... whenever possible, saving 2 bytes.
|
|
|
75 |
+ Added support for multi-line string literals [SourceForge bug #1871453]
|
|
|
76 |
+ Added support for unescaped slashes inside character classes in regexp.
|
|
|
77 |
+ Minor performance improvements.
|
|
|
78 |
+ Preserve the escaping for an octal representation of a character in string
|
|
|
79 |
literals [SourceForge bug #1844894]
|
|
|
80 |
|
|
|
81 |
var a = '\001';
|
|
|
82 |
|
|
|
83 |
+ CSS: Preserve comments that hide CSS rules from IE Mac:
|
|
|
84 |
|
|
|
85 |
/* Hides from IE-mac \*/
|
|
|
86 |
...
|
|
|
87 |
/* End hide from IE-mac */
|
|
|
88 |
|
|
|
89 |
+ CSS: Added support for box model hack [SourceForge bug #1862107]
|
|
|
90 |
|
|
|
91 |
div.content {
|
|
|
92 |
width:400px;
|
|
|
93 |
voice-family: "\"}\"";
|
|
|
94 |
voice-family:inherit;
|
|
|
95 |
width:300px;
|
|
|
96 |
}
|
|
|
97 |
|
|
|
98 |
YUI Compressor 2.2.5, 2007-10-09
|
|
|
99 |
--------------------------------
|
|
|
100 |
|
|
|
101 |
+ Remove line terminator after escape in string literals.
|
|
|
102 |
|
|
|
103 |
YUI Compressor 2.2.4, 2007-10-01
|
|
|
104 |
--------------------------------
|
|
|
105 |
|
|
|
106 |
+ Fixed the way quote characters are counted in string literals
|
|
|
107 |
[SourceForge bug #1804576]
|
|
|
108 |
+ Do not use a regular expression using non-greedy matching to remove CSS
|
|
|
109 |
comments (if the comment is more than 800 characters long or so, a stack
|
|
|
110 |
overflow exception gets thrown) Instead, use good old parsing...
|
|
|
111 |
+ Fix unnecessary quote escaping in string literals.
|
|
|
112 |
|
|
|
113 |
YUI Compressor 2.2.3, 2007-09-28
|
|
|
114 |
--------------------------------
|
|
|
115 |
|
|
|
116 |
+ Transform </script into <\/script instead of replacing all </ into <\/.
|
|
|
117 |
+ Fixed bug related to the shortening of hexadecimal color codes (the string
|
|
|
118 |
"1px solid #aabbcc" became "1px solid#abc", missing a required white space)
|
|
|
119 |
+ Added --preserve-strings option to specify that concatenated string literals
|
|
|
120 |
should never be merged.
|
|
|
121 |
+ Do not convert \uXXXX and \xXX escape sequences to their unicode equivalent.
|
|
|
122 |
|
|
|
123 |
YUI Compressor 2.2.2, 2007-09-27
|
|
|
124 |
--------------------------------
|
|
|
125 |
|
|
|
126 |
+ Fixed regression related to the optimization of the amount of escaping
|
|
|
127 |
in string literals and the concatenation of string literals.
|
|
|
128 |
+ Modified the Rhino tokenizer to handle JScript conditional comments
|
|
|
129 |
natively (instead of hacking around the fact that Rhino is not keeping
|
|
|
130 |
track of comments)
|
|
|
131 |
+ Transform </ into <\/ in string literals. This is especially useful if the
|
|
|
132 |
code is written to a script block in an HTML document. This renders the old
|
|
|
133 |
hack '<scr'+'ipt ...><'+'/script>' completely useless.
|
|
|
134 |
+ When converting decimal rgb color values to hexadecimal color values,
|
|
|
135 |
prepend a '0' if the value is less than 16. Otherwise, rgb(0,124,114)
|
|
|
136 |
for instance becomes #07c72, which is incorrect.
|
|
|
137 |
+ In CSS files, do not change color names into their corresponding color
|
|
|
138 |
codes (and vice-versa) due to the high potential of introducing bugs
|
|
|
139 |
(rolled back from 2.2.1)
|
|
|
140 |
|
|
|
141 |
YUI Compressor 2.2.1, 2007-09-25
|
|
|
142 |
--------------------------------
|
|
|
143 |
|
|
|
144 |
+ Optimize quote escaping in JavaScript string literals by using the best quote
|
|
|
145 |
character (' or " depending on the occurrence of this character in the string)
|
|
|
146 |
+ Fixed minor bug in the CSS compressor. Colors should not be shortened in
|
|
|
147 |
filter: chroma(color="#FFFFFF");
|
|
|
148 |
Otherwise, it makes the filter break in Internet Explorer.
|
|
|
149 |
+ In CSS files, change color names into their corresponding color codes
|
|
|
150 |
(and vice-versa) if that change yields any savings.
|
|
|
151 |
|
|
|
152 |
YUI Compressor 2.2, 2007-09-18
|
|
|
153 |
------------------------------
|
|
|
154 |
|
|
|
155 |
+ Don't obfuscate function argument named $super if it is the first function
|
|
|
156 |
argument listed. This is to support Prototype 1.6's heretic implementation.
|
|
|
157 |
+ Added support for stdin/stdout (see README for more info)
|
|
|
158 |
+ Shorten colors from rgb(51,102,153) to #336699 in CSS files.
|
|
|
159 |
+ Shorten values from 0.8em to .8em in CSS files.
|
|
|
160 |
+ Added support for Internet Explorer's conditional comments in JavaScript
|
|
|
161 |
files. Note that the presence of a conditional comment inside a function
|
|
|
162 |
(i.e. not in the global scope) will reduce the level of compression for the
|
|
|
163 |
same reason the use of 'eval' or 'with' reduces the level of compression
|
|
|
164 |
(conditional comments, which do not get parsed, may refer to local variables,
|
|
|
165 |
which get obfuscated) In any case, the use of Internet Explorer's conditional
|
|
|
166 |
comment is to be avoided.
|
|
|
167 |
|
|
|
168 |
YUI Compressor 2.1.2, 2007-08-31
|
|
|
169 |
--------------------------------
|
|
|
170 |
|
|
|
171 |
+ Added --preserve-semi option
|
|
|
172 |
+ Modified --line-break option
|
|
|
173 |
|
|
|
174 |
YUI Compressor 2.1.1, 2007-08-30
|
|
|
175 |
--------------------------------
|
|
|
176 |
|
|
|
177 |
+ Fixed missing space in CSS background:url('foo.png')no-repeat
|
|
|
178 |
causing a background not to appear on Internet Explorer.
|
|
|
179 |
|
|
|
180 |
YUI Compressor 2.1, 2007-08-29
|
|
|
181 |
------------------------------
|
|
|
182 |
|
|
|
183 |
+ Pass the --line-break option to the CSS compressor.
|
|
|
184 |
+ Allow the output file to overwrite the input file (with version 2.0,
|
|
|
185 |
in this case, the output file was always empty)
|
|
|
186 |
+ Remove spaces before and after '(' and ')' as in background:url('xxx');
|
|
|
187 |
+ Merge (if possible) string literals that are appended in JavaScript files.
|
|
|
188 |
This not only makes the code smaller, it makes the code faster,
|
|
|
189 |
but allows you to maintain some readability in your source code.
|
|
|
190 |
+ Handle constructs such as a + ++ b or a + + "1" (in which case the
|
|
|
191 |
space between the operators must be kept!) and other similar cases...
|
|
|
192 |
+ Pass ErrorReporter instance to the constructor of class JavaScriptCompressor
|
|
|
193 |
(as suggested by David Bernard for his integration of the YUI Compressor
|
|
|
194 |
as a maven plugin)
|
|
|
195 |
|
|
|
196 |
YUI Compressor 2.0, 2007-08-27
|
|
|
197 |
------------------------------
|
|
|
198 |
|
|
|
199 |
+ Switched from Rhino 1.6R6 to Rhino 1.6R7
|
|
|
200 |
+ Integrated Isaac Schlueter's CSS compressor.
|
|
|
201 |
+ Refactored code to make it easier to use the compressor from a servlet
|
|
|
202 |
environment or another Java app (no need to pass in file names anymore)
|
|
|
203 |
+ Output a white-space character after 'throw' only when necessary.
|
|
|
204 |
+ Output a white-space character after 'break' and 'continue' when followed
|
|
|
205 |
by a label.
|
|
|
206 |
|
|
|
207 |
YUI Compressor 1.1, 2007-08-20
|
|
|
208 |
------------------------------
|
|
|
209 |
|
|
|
210 |
+ Java source now in package com.yahoo.platform.yui.compressor
|
|
|
211 |
+ Added --line-break option that adds a line feed character after each
|
|
|
212 |
semi-colon character (may help debugging with the MS Script debugger)
|
|
|
213 |
+ Added support for missing JavaScript features (get, set, const)
|
|
|
214 |
+ Do not show the entire stack trace when the input file cannot be found.
|
|
|
215 |
+ Removed the randomization of obfuscated symbols. When compressed code is
|
|
|
216 |
checked in CVS, unchanged files would otherwise end up being versioned.
|
|
|
217 |
+ Added web-based front-end to the YUI Compressor as part of the dist package.
|
|
|
218 |
+ Added a public entry point that makes the YUI Compressor easy to integrate
|
|
|
219 |
with an already existing Java application.
|
|
|
220 |
+ Simplified code by using the same parsing routines used to build the symbol
|
|
|
221 |
tree while looking for undeclared symbols.
|
|
|
222 |
+ Count how many times each identifier is used, and display a warning when an
|
|
|
223 |
identifier seems to be unused (code cannot safely be removed automatically)
|
|
|
224 |
+ Remove ';' when followed by a '}'. This yields an additional ~1.5% savings
|
|
|
225 |
on yahoo-dom-event.js compared to the JSMin version.
|
|
|
226 |
+ Output a white-space character after 'return' and 'case' only when necessary.
|