UNPKG

29.8 kBMarkdownView Raw
1## 1.9.33 / Tue Aug 21 2015
2
3- hotfix [fex-team/fis#646](https://github.com/fex-team/fis/issues/646)
4
5## 1.9.32 / Tue Aug 18 2015
6
7- 升级 fis-optimizer-uglify-js, 修复 uglify 报错时的提示错误。
8
9## 1.9.31 / Wed Jul 29 2015
10
11- 升级 fis-optimizer-uglify-js, 优化 sourcemap
12
13## 1.9.30 / Wed Jul 22 2015
14
15- 升级 fis-command-install 通过镜像下载 fis-components。
16
17## 1.9.29 / Wed Jul 08 2015
18
19> 升级 fis-command-install,解决 component.json 可能被替换成 0 的问题。
20
21## 1.9.28 / Mon Jun 15 2015
22
23> 升级 fis-command-release 解决 watch 时文件夹被删的 bug.
24
25## 1.9.27 / Thu Jun 11 2015
26
27> 升级 fis-kernel 至 v2.0.17 <br>
28> 升级 fis-commond-release 至 v0.12.1
29
30- 修复 Bug [#530](https://github.com/fex-team/fis/issues/530)
31 - 缓存 File 对象导致的 watch 两次相互影响的问题
32
33## 1.9.26 / Mon Jun 08 2015
34
35> 升级 fis-command-release 至 v0.12.0 <br>
36> 升级 fis-kernel 至 v2.0.16
37
38- 修复 Bug #455
39- 修复 Bug #527
40- project.exclude & project.include 过滤条件也在 watch 时能正常工作
41- 固定 fis-command-install 的版本号
42- 支持 img `srcset`
43
44
45## 1.9.24 / Tue May 26 2015
46
47> 升级 fis-kenerl 至 v2.0.15
48
49## 1.9.21 / Wed May 13 2015
50
51> 升级 fis-command-server至v0.7.5
52
53- 本地调试支持https服务器
54
55## 1.9.20 / Wed May 13 2015
56
57> 升级 fis-postprocessor-jswrapper至v0.0.12
58
59- 恢复原有 `define` 包裹逻辑,防止现有代码异常
60
61## 1.9.19 / Tue May 12 2015
62
63> 升级 fis-optimizer-png-compressor至v0.1.0
64
65> 升级 fis-spriter-csssprites至v0.3.0
66
67- 禁止 png 图片压缩时 `libpng` warning 信息输出 (非 Windows 环境)
68- 提升 Linux x64 上的图片压缩的稳定性,提升 csssprites 的稳定性
69- 提供 Linux / Unix 系统下手动编译依赖图形工具的[教程]()及其[编译脚本](https://github.com/xiangshouding/some-scripts/blob/master/install-fis-image-deps.sh),以防某些系统由于 glibc 版本过低导致已提供二进制扩展无法加载时方便修复;
70
71## 1.9.18 / Wed May 06 2015
72
73> 升级 fis-command-server至v1.7.4
74
75> 升级 fis-deploy-default至v0.0.6
76
77> 升级 fis-postprocessor-jswrapper至v0.0.11
78
79- 修正 `fis server {open|clean}`, `fis release -d preview` 服务器 root 一致性问题;
80
81 当用户 `fis server start --root=<root>` 设定了某一个目录为服务器 root,那么后续执行
82 `fis server open`、`fis server clean`、`fis release` 的时候都会操作这个目录。这个 root
83 信息会被保存,现在未提供**重置**的接口。
84
85- 修正 jswrapper 如果一个文件已经 define 的情况下仍然去做 define 的问题
86- 更新了所有依赖的代码,可方便在 fis 仓库查看 fis 依赖的核心代码。
87
88## 1.9.16 / Wed Apr 29 2015
89
90> 升级 fis-preprocessor-components 到 0.1.18
91
92- 支持 `paths` 设置
93
94## 1.9.13 / Fri Apr 10 2015
95
96
97> 升级 fis-command-server至v1.7.3
98
99- 提升 node 服务稳定性
100
101## 1.9.12 / Thu Apr 09 2015
102
103> 升级 fis-preprocessor-components 到 0.1.16
104
105## 1.9.11 / Wed Mar 25 2015
106
107> 升级 fis-optimizer-uglify-js 到 0.1.7
108
109## 1.9.10 / Mon Mar 17 2015
110
111- bugfix
112 - 由于调用 chdir 导致的产出目录工作异常的问题
113 - 修复由于文件结尾注释导致的 jswrapper 失效问题
114
115## 1.9.8 / Mon Mar 16 2015
116
117- 支持 node 0.12.0
118 - *Linux 32* 还未支持,欢迎PR,详细参考 #331
119
120## 1.9.5 / Mon Feb 09 2015
121
122hotfix
123
124## 1.9.4 / Mon Feb 02 2015
125
126> 升级fis-command-release至v0.11.4
127
128- 修复`-m 2`无法保留不带md5文件的问题
129
130
131## 1.9.3 / Wed Jan 28 2015
132
133添加 fis-prepackager-derived 插件,允许编译期派生出新文件来。
134
135## 1.9.1 / Mon Jan 12 2015
136
137> 添加[组件生态](https://github.com/fis-components/components)功能。
138
139## 1.8.13 / Tue Dec 31 2014
140
141> hotfix
142
143> 升级fis-kernel至v2.0.12
144
145## 1.8.12 / Tue Dec 30 2014
146
147> hotfix
148
149> 升级fis-kernel至v2.0.11
150
151## 1.8.11 / Tue Dec 30 2014
152
153> 彻底排除文件以优化性能
154
155> 升级fis-kernel至v2.0.10
156
157## 1.8.10 / Tue Dec 16 2014
158
159> colors也有问题,已提交[PR](https://github.com/Marak/colors.js/issues/90),等更新升级
160
161> 升级fis-deploy-default至v0.0.2
162
163## 1.8.9 / Tue Dec 16 2014
164
165> commander恢复原来的版本,新版本修改了某些特性,后续再跟进升级
166
167## 1.8.8 / Tue Dec 16 2014
168
169> 升级fis-command-server至v1.7.1
170
171> 升级colors至v1.0.3
172
173> 升级commander至v2.5.1
174
175> 升级fis-optimizer-uglify-js至v0.1.6,升级uglify-js到2.4.15
176
177## 1.8.7 / Tue Nov 18 2014
178
179回滚 fis-command-server, 待进一步测试。
180
181## 1.8.6 / Tue Nov 18 2014
182
183升级 fis-command-server 至 0.7.0
184
185 merge 此次修改 https://github.com/fex-team/fis-command-server/pull/5
186
187## 1.8.5 / Tue Oct 29 2014
188
189升级 fis-command-release 至 0.11.3
190
191 处理 GBK 编码BUG
192
193## 1.8.4 / Tue Oct 28 2014
194
195升级 fis-command-release 至 0.11.2
196
197 添加fis-deploy-default默认配置
198
199## 1.8.2 / Mon Oct 20 2014
200
201HOTFIX
202
203 修复fis-command-release堆栈溢出问题
204
205## 1.8.0 / Fri Oct 17 2014
206
207升级 fis-command-release 至 0.11.0
208
209 deploy阶段支持插件扩展
210
211 修复若干BUG
212
213修复watch失效BUG
214
215添加project.watch.usePolling配置
216
217## 1.7.22 / Mon Oct 13 2014
218
219升级 fis-optimizer-uglify-js 至 0.1.5
220
221 添加开关 sourcemap
222
223## 1.7.21 / Sat Oct 11 2014
224
225升级 fis-optimizer-uglify-js 至 0.1.4
226直接内嵌源码到 sourcemap
227
228## 1.7.18 - 1.7.20 / Fri Oct 10 2014
229
230升级 fis-optimizer-uglify-js 至 0.1.3
231
232## 1.7.17 / Mon Sep 15 2014
233
234修复`project.exclude`的文件,在扫描文件的时候依然被处理的问题
235
236
237> 升级fis-command-release至v0.9.10
238
239> 升级fis-kernel至v2.0.9
240
241## 1.7.16 / Fri Aug 29 2014
242
243hotfix
244
245## 1.7.15 / Thu Aug 21 2014
246
247修复若干bug
248
249> 升级fis-command-server至v0.6.12
250
251> 升级fis-optimizer-png-compressor至v0.0.6
252
253> 升级fis-spriter-csssprites至v0.2.5
254
255> 升级fis-kernel至v2.0.7
256
257## 1.7.14 / Tue Jul 02 2014
258
259hotfix 缓存依赖更新失效问题
260
261bugfix 由于node更改normalize接口导致路径匹配错误bug
262
263## 1.7.13 / Tue Jul 01 2014
264
265> 升级fis-command-server至v0.6.10
266
267> 升级fis-kernel至v2.0.4
268
269bugfix #94
270
271## 1.7.12 / Thu Jun 05 2014
272
273> clean-css 有bug,降级到1.x版本
274
275## 1.7.11 / Wed Jun 04 2014
276
277> 升级fis-optimizer-clean-css至v0.0.10
278
279> 升级fis-optimizer-uglify-js至v0.1.2
280
281+ uglifyjs升级至v2.4.13
282+ clean-css升级至v2.1.8
283
284## 1.7.10 / Wed Jun 04 2014
285
286> 升级fis-optimizer-png-compressor至v0.0.5
287
288## 1.7.9 / Mon May 12 2014
289
290> 升级fis-spriter-csssprites至v0.2.3
291
292> 升级fis-optimizer-png-compressor至v0.0.4
293
294* [feature] csssprites支持background-size
295
296 background-size 只支持图片同倍率缩小或者放大;scale < 1缩小, scale > 1放大;其配置如下,当设置scale时,不需要给每一个规则都写上background-size,csssprites会根据scale产出正确的结果。
297
298 ```javascript
299 fis.config.set('settings.spriter.csssprites', {
300 scale: 0.5
301 });
302 ```
303
304## 1.7.8 / Tue Apr 22 2014
305
306> 升级fis-kernel至v2.0.3
307
308[feature] 将jsx、styl纳入默认识别的文件中
309
310* jsx
311 isText: true
312 isJsLike: true
313 mime: text/javascript
314* style
315 isText: true
316 isCssLike: true
317 mime: text/css
318
319## 1.7.7 / Wed Apr 16 2014
320
321> 升级fis-kernel至v2.0.2
322
323> 升级fis-spriter-csssprites至v0.2.0
324
325* [bugfix] 单机多用户编译缓存冲突bug
326* [bugfix] csssprites 合并后css一个规则有太多selector导致在ie6下失效的bug
327
328## 1.7.4 / Mon Mar 24 2014
329
330> 升级fis-spriter-csssprites至v0.1.9
331
332> 升级fis-command-release至v0.9.7
333
334> 升级fis-command-server至v0.6.9
335
336* 启动node服务器时,在document_root执行`npm install`安装依赖
337* 添加<!--livereload-->注释语法,当`release -L`时替换为livereload.js的链接,这样就不需要安装浏览器插件了。
338
339 **注意:如果页面有`</body>`标签,就不需要再在页面使用`<!--livereload-->`了。因为它跟`</body>`起到相同的作用。这个功能主要提供给那些包装了`body`标签的解决方案使用。**
340
341## 1.7.3 / Sat Mar 01 2014
342
343> 升级fis-spriter-csssprites至v0.1.8
344
345* 添加对内联css的支持
346
347 ```javascript
348 fis.config.set('settings.spriter.csssprites', {
349 //开启模板内联css处理,默认关闭
350 htmlUseSprite: true,
351 //默认针对html原生<style></style>标签内的内容处理。
352 //用户可以通过配置styleTag来扩展要识别的css片段
353 //以下是默认<style></style>标签的匹配正则
354 styleReg: /(<style(?:(?=\s)[\s\S]*?["'\s\w\/\-]>|>))([\s\S]*?)(<\/style\s*>|$)/ig
355
356 //**styleReg规则**
357 //1. 默认不配置styleReg,仅支持html中默认style标签中的css内容
358 //2. 配置styleReg时候,仅支持styleReg匹配到的内容。
359 //3. styleReg正则必须捕获三个分组,
360 // $1为:开始标签(start tag),
361 // $2为:内容(content) ,
362 // $3为:结束标签(end tag)
363 });
364 ```
365
366## 1.7.2 / Wed Feb 26 2014
367
368> 升级fis-command-release至v0.9.6
369
370* 修复fis-conf.js中配置了livereload监听端口和hostname,但是发布的文件添加livereload.js脚本的url地址引用错误的bug。 感谢来自 [@qdsang](https://github.com/qdsang) 的贡献 [pull#2](https://github.com/fis-dev/fis-command-release/pull/2)
371
372## 1.7.1 / Tue Feb 18 2014
373
374> 升级fis-kernel至2.0.0
375
376* 内核支持事件监听和派发(仅增加接口,尚未派发任何事件):
377
378 ```javascript
379 fis.emitter.on('compile.optimier', function(file){
380 //TODO
381 });
382 fis.emitter.emit('release', file);
383 ```
384
385* 支持多种前缀的插件调用
386
387 ```javascript
388 fis.require.prefixes = [ 'your_package_name', 'fis' ];
389 ```
390
391 配置后,fis会优先尝试加载 ``your_package_name-xxx`` 插件,后尝试加载 ``fis-xxx`` 插件,此功能用于fis的包装产品中。
392
393* 包装器负责指定 ``--help`` 需要显示帮助的命令,例如:
394
395 ```javascript
396 fis.cli.help.commands = [ 'release', 'server', 'install' ];
397 ```
398
399## 1.6.8 / Wed Feb 12 2014
400
401> 升级fis-command-release至0.9.5
402
403* 修复mac系统下livereload报错的bug
404
405## 1.6.7 / Wed Feb 12 2014
406
407> 升级fis-kernel至v1.9.9
408
409* 修复html的script标签中js嵌入其他非js的文本文件时结果不是字符串的bug
410
411## 1.6.6 / Sun Jan 26 2014
412
413> 升级fis-kernel至v1.9.8
414
415* 支持html中的source标签相关资源定位和嵌入功能
416
417## 1.6.5 / Wed Jan 22 2014
418
419> 升级fis-kernel至v1.9.7
420
421* 在html中支持使用&lt;link rel="import" href="xxx?__inline"&gt;来嵌入资源,参考w3c [html imports](http://www.w3.org/TR/2013/WD-html-imports-20130514/)
422
423## 1.6.4 / Sun Jan 19 2014
424
425> 升级fis-kernel至v1.9.6
426
427* 只允许rel属性为 ``stylesheet`` 的link标签,在inline的时候内嵌为style标签,例如:
428
429 * v1.6.3或之前
430
431 - 源码:
432
433 ```html
434 <link rel="stylesheet" href="xxx?__inline"/>
435 <link rel="abc" href="xxx?__inline"/>
436 <link href="xxx?__inline"/>
437 ```
438
439 - 编译后(未考虑rel属性) :
440
441 ```html
442 <link rel="stylesheet" href="xxx?__inline"/>
443 <link rel="abc" href="xxx?__inline"/>
444 <link href="xxx?__inline"/>
445 ```
446
447 * v1.6.4之后
448
449 - 源码:
450
451 ```html
452 <link rel="stylesheet" href="xxx?__inline"/>
453 <link rel="abc" href="xxx?__inline"/>
454 <link href="xxx?__inline"/>
455 ```
456
457 - 编译后(仅对rel属性为stylesheet的link标签有效):
458
459 ```html
460 <style>xxx的内容</style>
461 <link rel="abc" href="/url/of/xxx?__inline"/>
462 <link href="/url/of/xxx?__inline"/>
463 ```
464
465 * 之所以这样修改,是因为link标签不仅仅是css外联标签,还包括很多其他资源,延伸阅读请参考 [link类别](http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#linkTypes)
466
467## 1.6.3 / Thu Jan 01 2014
468
469> 升级fis-kernel至v1.9.5
470
471* 文件useCompile为false的文本文件依旧支持编码转换和deploy的字符串替换
472
473## 1.6.2 / Thu Jan 01 2014
474
475> 升级fis-command-server至v.0.6.8
476
477* 新增nodejs版本server支持
478* 合并--no-rewrite和--script参数,为--rewrite [script]参数
479* 支持fis的包装版本在配置中指定server的各项参数
480
481
482## 1.6.1 / Thu Dec 12 2013
483
484> 升级fis-kernel至v1.9.3
485
486* roadmap.path支持useParser,usePreprocessor,useStandard,usePostprocessor,useLint,useTest,useOptimizer属性,用以细粒度控制编译过程
487
488## 1.6.0 / Tue Dec 03 2013
489
490> 升级fis-spriter-csssprites至v0.1.7
491
492* 修复图片使用query时不能合并csssprite的bug
493* 新增矩阵布局算法,配置方法:
494
495 ```javascript
496 //此配置的默认值是'linear',线性布局
497 fis.config.set('settings.spriter.csssprites.layout', 'matrix');
498 ```
499
500> 升级fis-optimizer-clean-css至v0.0.9
501
502* 升级依赖的clean-css包至v1.1.7
503
504> 升级fis-optimizer-uglify-js至v0.1.1
505
506* 升级依赖的uglify-js包至v2.4.6
507
508> 升级fis-command-release至v0.9.4
509>
510> 升级fis-command-server至v0.6.7
511
512* 不同的解决方案使用不同的缓存目录,彼此不会干扰
513* 支持从环境变量中读取 ``FIS_SERVER_DOCUMENT_ROOT`` 变量作为server的文档根目录
514
515> 升级fis-kernel至v1.9.2
516
517* 支持从环境变量中读取 ``FIS_TEMP_DIR`` 变量作为fis的缓存目录
518* 不同的解决方案使用不同的缓存目录,彼此不会干扰
519
520> 升级fis-packager-map至v0.0.9
521
522* 修复资源不入表时打包引用会访问的bug
523
524## 1.5.6 / Wed Nov 06 2013
525
526> 升级fis-kernel至v1.9.0
527
528 注意,这可能是一个需要注意的升级,有一定的兼容性问题。
529
530* 在js中使用__inline()语法来嵌入资源时,如果被嵌入的文件是一个 ``文本文件``,并且文件的 ``isJsLike`` 不为true的话,则会把文件以字符串的形式嵌入到js中。比如:
531
532 ```javascript
533 __inline('a.js'); //embed another js file
534 var html = __inline('a.html'); //embed html content
535 var css = __inline('a.css'); //embed css content
536 var txt = __inline('a.txt'); //embed text content
537 var img = __inline('a.png'); //embed image
538 ```
539
540 编译后得到:
541
542 ```javascript
543 alert('this is content of a.js'); //embed another js file
544 var html = "<h1>the content of a.html</h1>"; //embed html content
545 var css = "body{\n color: red;\n}"; //embed css content
546 var txt = "hello world\nthis is the content of a.txt"; //embed text content
547 var img = 'data:image/gif;base64,R0lGODlhDgGBALMAAGBn6eYxLvvy9PnKyfO...Jzna6853wjKc850nPeoYgAgA7'; //embed image
548 ```
549
550 这种修改会 **影响到前端模板的个别使用情况**,你当前使用前端模板时,如果把模板文件的属性标记为 ``isHtmlLike`` 为 ``true`` 的话,会导致编译得到的模板函数变成了字符串插入到js中,请根据情况适当修改这样的配置,有问题可以在issues中留言。
551
552* 添加 ``.vm`` 后缀为文本文件,并且 ``isHtmlLike`` 为true,vm文件是velocity模板引擎文件的常用后缀。
553
554## 1.5.5 / Tue Nov 05 2013
555
556> 升级fis-command-release至v0.9.3
557
558* 修复fis release命令的 ``-r`` 参数指定了项目根目录之后读取配置文件路径错误的bug
559
560## 1.5.4 / Tue Nov 05 2013
561
562> 升级fis-command-release至v0.9.2
563
564* 支持在deploy阶段给isHtmlLike文件的&lt;/body&gt;前自动插入livereload.js脚本,从而告别插件
565
566## 1.5.3 / Thu Oct 31 2013
567
568> 升级fis-kernel至v1.8.19
569>
570> 升级fis-postpreprocessor-jswrapper至v0.0.8
571
572* 修复preprocessor插件中不能插入内置require语法的bug,内置编译语法被修改为&lt;&lt;&lt;require:path&gt;&gt;&gt;
573* jswrapper插件支持template参数
574
575## settings
576
577 $ vi path/to/project/fis-conf.js
578
579```javascript
580fis.config.merge({
581 settings : {
582 postprocessor : {
583 jswrapper : {
584 template : 'define("${id}", function(require, exports, module){ ${content} });',
585 }
586 }
587 }
588});
589```
590
591## 1.5.2 / Thu Oct 24 2013
592
593> 升级fis-kernel至v1.8.17
594
595* 修复css中url(xxx )代码xx之后有空格的bug
596
597## 1.5.1 / Thu Oct 24 2013
598
599> 升级fis-command-release至v0.9.1
600
601* 使用fork版的livereload-server
602
603## 1.5.0 / Fri Oct 18 2013
604
605> 升级fis-command-release至v0.9.0
606
607* 支持发布前替换文本内容,例如:
608
609```javascript
610fis.config.set('deploy', {
611 d1 : {
612 to : '../output-1',
613 replace : {
614 from : 'http://www.online.com',
615 to : 'http://www.offline.com'
616 }
617 },
618 d2 : {
619 to : '../output-2',
620 replace : {
621 from : /(http:\/\/www)\.online\.(com)/g,
622 to : '$1.offline.$2'
623 }
624 }
625});
626```
627
628## 1.4.19 / Thu Oct 10 2013
629
630> 升级fis-command-release至v0.8.12
631
632* 修复deploy的include、exclude匹配的是file.subpath的bug,应该是匹配file.release
633
634## 1.4.18 / Thu Oct 10 2013
635
636> 升级fis-packager-map至v0.0.8
637
638* 打包css时删除多余的@charset标记。
639
640## 1.4.17 / Sun Oct 06 2013
641
642> 升级fis-kernel至v1.8.16
643
644* 不强制map.json的useHash属性为false,交由roadmap.path配置决定。
645
646## 1.4.16 / Mon Sep 30 2013
647
648> 升级fis-kernel至v1.8.15
649
650* 修复url中有hash路径时识别不到文件的bug
651
652## 1.4.15 / Fri Sep 27 2013
653
654> 升级fis-command-release至v0.8.11
655>
656> 升级fis-optimizer-png-compressor至v0.0.3
657>
658> 升级fis-spriter-csssprites至v0.1.4
659
660* 修改 fis release ``-C`` &lt;path&gt; 参数为 fis release ``-f`` &lt;path&gt;
661* 升级压缩器插件,减少文件体积,提升安装速度
662
663## 1.4.14 / Thu Sep 26 2013
664
665> 升级fis-kernel至v1.8.14
666
667* html不会自动添加对useMap为false的同名文件的依赖
668
669## 1.4.13 / Wed Sep 25 2013
670
671> 升级fis-kernel至v1.8.13
672
673* 支持配置文件的md5连接符:
674
675 ```javascript
676 //默认是'_'
677 fis.config.set('project.md5Connector', '.');
678 ```
679
680* 修复定义文件query属性时输出的bug
681
682## 1.4.12 / Thu Sep 19 2013
683
684> 升级fis-kernel至v1.8.12
685
686* 修复csssprite针对单文件处理之后文件发布时md5不匹配的bug
687
688## 1.4.11 / Thu Sep 19 2013
689
690* 包装fis的系统能自动识别release\install\server三条命令
691
692## 1.4.10 / Wed Sep 18 2013
693
694> 升级fis-kernel至v1.8.11
695
696* 修复fis.uri.getId如果指向一个目录时居然会返回id的bug
697
698## 1.4.9 / Wed Sep 18 2013
699
700> 升级fis-kernel至v1.8.10
701>
702> 升级fis-command-server至v0.6.5
703>
704> 升级fis-command-release至v0.8.10
705
706* fis server clean支持使用 ``--include`` 、 ``--exclude`` 参数来指定清除调试目录时的过滤器,例如:
707
708 ```bash
709 fis server clean --include template_c/**
710 ```
711
712* fis release 支持使用 ``-f`` 或者 ``--file`` 参数制定配置文件名称,默认是 ``fis-conf.js``,配置文件请尽量使用 ``fis-`` 作为文件名前缀,并放置到项目根目录下。例如:
713
714 ```bash
715 fis release --file fis-conf-dev.js
716 ```
717
718## 1.4.8 / Wed Sep 18 2013
719
720> 升级fis-kernel至v1.8.9
721
722* 新增asp.NET体系下的文件识别
723* 对于不是图片也也不是文本的文件设置useCompile为false
724* 修复uglify插件报错不识别的bug
725
726## 1.4.7 / Tue Sep 17 2013
727
728> 升级fis-command-release至v0.8.9
729
730* 修复超多文件时发布任务队列递归爆栈的bug
731
732## 1.4.6 / Tue Sep 17 2013
733
734> 升级fis-kernel至v1.8.8
735
736* project配置节点支持include、exclude配置,用以排除项目中不是源码的文件。用法:
737
738```javascript
739//支持通配,请从项目根目录开始写起,如果配了include,则要发布的源码只匹配的文件。
740fis.config.set('project.include', '/static/**');
741//也支持正则
742fis.confis.set('project.exclude', /\/_debug\//i);
743```
744
745## 1.4.5 / Tue Sep 17 2013
746
747> 升级fis-postprocessor-jswrapper至v0.0.6
748
749* 支持模板包装方式,配置为:
750
751```javascript
752//${content}作为源码替换的标记
753fis.config.set('settings.postprocessor.jswrapper.tempalte', '!function(){${content}}();');
754```
755
756## 1.4.4 / Sun Sep 15 2013
757
758> 升级fis-kernel至v1.8.7
759
760* 修复utf8编码识别bug
761
762## 1.4.3
763
764> 剔除readme中的恶心品牌
765
766## 1.4.2
767
768> 升级fis-kernel至v1.8.6
769
770* 文件对象添加useCache属性,默认值是 ``true``,如果设置为false,则不会对编译结果建立缓存。例如:
771
772```javascript
773fis.config.set('roadmap.path', [
774 {
775 reg : '**.oncache.js',
776 useCache : false
777 }
778]);
779```
780
781## 1.4.1
782
783> 升级commander至v1.3.2
784
785## 1.4.0
786
787> 升级fis-kernel至v1.8.5
788
789* 将postpackager插件的调用时机提到map.json文件创建之前,如果有在postpackager插件中处理map.json的地方, ``请谨慎升级这个版本``
790
791## 1.3.9
792
793> 升级fis-spriter-csssprites至v0.1.3
794
795* 修复找不到图片时csssprite的替换处理操作,提升运行性能
796
797## 1.3.8
798
799> 升级fis-optimizer-uglify-js至v0.1.0
800
801* 升级fis-optimizer-uglify-js依赖的压缩工具uglify-js至v2.4.0
802
803## 1.3.7
804
805> 升级fis-command-release至v0.8.8
806
807* 升级chokidar依赖到最新版的0.6.3,使用后台运行watch
808
809## 1.3.6
810
811> 升级fis-command-server至v0.6.4
812
813* 支持jsp解析
814
815## 1.3.5
816
817> 1.3.4因为npm的问题不能发布,额外发布一个新版本
818
819## 1.3.4
820
821> 升级colors至v0.6.2
822
823* 使用原版的colors,不再使用fix的版本
824
825## 1.3.3
826
827> 升级fis-command-server至v0.6.3
828
829* 支持没有php-cgi环境时,server启动一个简单的静态资源服务器
830
831## 1.3.2
832
833> 升级fis-command-server至v0.6.2
834
835* 修复gnome下不能打开目录的bug
836
837## 1.3.1
838
839> 升级fis-kernel至v1.8.4
840
841* 修复html中使用 &lt;link href="xx.css?__inline"/&gt; 嵌入时的编译bug
842
843## 1.3.0
844
845> 升级fis-kernel至v1.8.3
846
847* 完善核心的报错信息
848* 在类html文件中使用link标签嵌入资源可以保留link标签上的属性给编译后的style标签。例如:
849
850 ```html
851 <link rel="stylesheet" type="text/css" href="pdf.css?__inline" media="print" data-test="msg">
852 ```
853
854 编译后得到
855
856 ```html
857 <style type="text/css" media="print" data-test="msg">...</style>
858 ```
859
860## 1.2.9
861> 升级fis-spriter-csssprites至v0.1.2
862>
863> 升级fis-optimizer-png-compressor至v0.0.2
864
865* PNG压缩工具支持Windows X64(64位node)
866* csssprites支持Windows X64(64位node)
867
868## 1.2.8
869
870> 升级fis-command-release至v0.8.7
871
872* 将--debug参数修改为--verbose
873
874## 1.2.7
875
876> 升级fis-postprocessor-jswrapper至v0.0.5
877
878* 如果文件已经自己手写了define,则不对其进行强制包装
879
880## 1.2.6
881
882* 默认配置开启csssprites
883
884## 1.2.5
885
886> 正式集成 [fis-spriter-csssprites](https://github.com/xiangshouding/fis-spriter-csssprites)
887
888## 1.2.4
889
890> 升级fis-kernel至v1.8.2
891>
892> 删除对 fis-optimizer-html-minifier 的依赖, 不再压缩html
893
894* 区分script标签的type属性,如果有type属性,而且属性值不为text/javascript,则当做html处理
895* 从核心中剔除html压缩工具,理由是:
896 1. 收益非常非常小。大多数产品线线上都开启了gzip,线下压缩相当多余,最后送达到用户浏览器的html大小没差别
897 1. 各种压缩选项非常危险。比如 ``removeRedundantAttributes`` 会删除 &lt;input type="text"&gt; 元素的type属性,虽然逻辑上是等价的,但是会导致有些css属性选择器失效
898 1. ``removeCDATASectionsFromCDATA`` 压缩选项有bug,如下html:
899
900 ```html
901 <script type="text/template">a<!--div--></script>
902 ```
903
904 压缩完得到:
905
906 ```html
907 <script type=text/template>a<!--div</script>
908 ```
909 1. 就算所有压缩选项都关闭,只保留空格压缩选项,也有问题。删除空格后会影响元素间距,这会给平时开发带来困扰,因为平时开发fis release通常不会加 ``--optimize`` 参数,等到上线才会加上,一旦加上,却和开发中的效果不一致,这是非常郁闷的。
910 1. 对于特别留恋html-minifier的同学,不要桑心,它还在npm上,只是不是fis内核提供而已,要想使用它,你需要:
911
912 ```bash
913 # 安装它
914 npm install -g fis-optimizer-html-minifier
915 ```
916
917 再在项目的配置文件里使用它就可以了:
918
919 ```javascript
920 fis.config.set('modules.optimizer.html', 'html-minifier');
921 ```
922
923## 1.2.3
924
925> 升级fis-kernel至v1.8.1
926>
927> 升级fis-optimizer-html-minifier至v0.0.6
928
929* 修复roadmap.path的release中出现多个'//'的时候被替换为空字符串的bug
930* 修改html压缩器的默认配置,不移除多余属性,因为这些属性可能是css选择器需要的
931
932## 1.2.2
933
934> 升级fis-kernel至v1.8.0
935
936* fis.compile方法支持对不存在的文件对象进行编译,不过没有缓存
937
938## 1.2.1
939
940 使用fis-optimizer-png-compressor作为png图片压缩插件
941
942* 图片压缩支持pngcrush和pngquant压缩器选择,默认为pngcrush,如果要切换为pngquant,可在配置文件中设置:
943
944 ```javascript
945 fis.config.set('settings.optimizer.png-compressor.type', 'pngquant');
946 ```
947
948 或者:
949
950 ```javascript
951 fis.config.merge({
952 settings : {
953 optimizer : {
954 'png-compressor' : {
955 type : 'pngquant' //default is pngcrush
956 }
957 }
958 }
959 });
960 ```
961
962 pngcrush压缩会保持原来的色彩位数,如果原图片的色彩超过256色,在ie6下背景无法透明,会出现灰色的填充色背景。pngquant会强制把各种png图片压缩为png8格式,因此对于png24的图片压缩后会出现一定的质量折损(基本都是可以接受的),对于需要兼容ie6的产品线推荐使用pngquant作为压缩器。
963
964## 1.2.0
965
966> 升级fis-optimizer-pngcrush至v0.0.6
967
968* 修复小于1k的png图片压缩bug
969
970## 1.1.9
971
972> 升级fis-kernel至v1.7.9
973
974* 支持roadmap.path配置指定文件不经过编译处理,例:
975
976 ```javascript
977 fis.config.merge({
978 roadmap : {
979 path : [
980 {
981 reg : '**.js', //所有的js文件
982 useCompile : false //不要经过编译处理
983 }
984 ]
985 }
986 });
987 ```
988
989## 1.1.8
990
991> 升级fis-command-release至v0.8.6
992
993* deploy支持 ``subOnly`` 参数,支持只发布子目录的需求,例如:
994
995 ```javascript
996 fis.config.merge({
997 deploy : {
998 local : {
999 from : '/static',
1000 to : '../output'
1001 }
1002 }
1003 });
1004 ```
1005
1006 如果执行 fis release -d ``local``,则把编译后的 ``/static`` 目录复制到 ``../output`` 中,得到 ``../output/static``,添加 ``subOnly`` 参数后:
1007
1008 ```javascript
1009 fis.config.merge({
1010 deploy : {
1011 local : {
1012 from : '/static',
1013 to : '../output',
1014 subOnly : true
1015 }
1016 }
1017 });
1018 ```
1019
1020 如果执行 fis release -d ``local``,则把编译后的/static的 ``子目录`` 复制到 ``../output`` 中,得到 ``../output/**``
1021
1022## 1.1.7
1023
1024> 升级fis-kernel至v1.7.8
1025>
1026> 升级fis-command-release至v0.8.5
1027
1028* 允许没有pack配置仍然进入打包逻辑
1029* 修复打包处理阶段不能修改内容的bug
1030* .ico文件默认不做hash输出
1031
1032## 1.1.6
1033
1034> 升级fis-optimizer-pngcrush至v0.0.6
1035
1036* 修复pngcrush压缩压缩时图片不是png格式的bug
1037
1038## 1.1.5
1039
1040> 升级fis-optimizer-clean-css至v0.0.8
1041> 升级fis-optimizer-pngcrush至v0.0.4
1042
1043* 升级clean-css依赖的版本至v1.0.12,并且不允许clean-css处理@import标记,由fis接管
1044* 升级node-pngcrush版本至v0.0.6,超强的压缩效果
1045
1046## 1.1.3
1047
1048> 升级fis-kernel至v1.7.7
1049
1050* 修复无后缀文件的处理失败的bug
1051
1052## 1.1.2
1053
1054> 升级fis-command-server至v0.6.1
1055
1056* 采用spawn的detached参数技术替代实现nohup功能
1057
1058## 1.1.1
1059
1060> 升级fis-packager-map至v0.0.7
1061
1062* 修复打包配置不支持单独的正则bug
1063
1064## 1.1.0
1065
1066> 内置fis-optimizer-pngcrush插件
1067
1068* 推出png图片自动压缩功能
1069
1070## 1.0.10
1071
1072> 升级fis-kernel至v1.7.5
1073
1074* 修复文本文件缓存处理bug
1075
1076## 1.0.9
1077
1078> 升级fis-kernel至v1.7.4
1079>
1080> 升级fis-command-release至v0.8.4
1081
1082* 支持对图片进行pipe处理和缓存控制,为图片压缩做准备
1083* 修复新建文件没有添加文件监听的bug
1084
1085## 1.0.8
1086
1087> 升级fis-kernel至v1.7.3
1088
1089* 修复fis.util.clone的bug
1090
1091## 1.0.7
1092
1093> 升级fis-kernel至v1.7.2
1094>
1095> 升级fis-command-release至v0.8.3
1096>
1097> 升级fis-packager-map至v0.0.6
1098
1099* 自动上传限制了并发数,一次最多只开启5个并发的上传请求
1100* 调整了打包策略,例如:
1101
1102 ```javascript
1103 fis.config.merge({
1104 pack : {
1105 'static/pkg/ui.js' : ['widget/**.js', 'components/**.js'],
1106 'static/pkg/others.js' : '**.js'
1107 }
1108 });
1109 ```
1110
1111 如果在项目中,有a.js依赖了widget/b.js的话,在 ``1.0.6`` 或以前版本,会在吧 ``a.js`` 合并到 ``others.js`` 的时候,就近将 ``widget/b.js`` 也并入到 ``others.js``(很明显,widget/b.js也符合others.js包的合并约束条件) 。1.0.7以后,将不会做这样的处理,而将 ``widget/a.js`` 合入到 ``ui.js`` 中。
1112
1113## 1.0.6
1114
1115> 升级fis-kernel至v1.7.1
1116
1117* roadmap.path支持使用 ``useMap`` 指定文件是否入map.json表。用法:
1118
1119 ```javascript
1120 fis.config.merge({
1121 roadmap : {
1122 path : [
1123 {
1124 reg : '**.png',
1125 useMap : true
1126 },
1127 {
1128 reg : 'test/**',
1129 useMap : false
1130 }
1131 ]
1132 }
1133 });
1134 ```
1135
1136## 1.0.5
1137
1138> 升级fis-kernel至v1.7.0
1139>
1140> 升级fis-packager-map至v0.0.5
1141
1142* 用户可以使用namespaceConnector配置节点来定义命名空间连接符,默认为“:”。用法:
1143
1144 ```javascript
1145 fis.config.merge({
1146 namespace : 'common',
1147 namespaceConnector : '/'
1148 });
1149 ```