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