- Change Log
- [2.27.0][2019-01-07]
- [2.26.1][2018-12-25]
- [2.25.3][2018-12-20]
- [2.24.12][2018-12-11]
- [2.24.5][2018-12-07]
- [2.24.4][2018-12-06]
- [2.24.2][2018-12-05]
- [2.23.11][2018-12-04]
- [2.23.4][2018-11-29]
- [2.23.0][2018-11-27]
- [2.22.0][2018-11-19]
- [2.21.0][2018-11-19]
- [2.20.0][2018-11-16]
- [2.19.0][2018-11-02]
- [2.18.1][2018-10-26]
- [2.17.0][2018-09-21]
- [2.16.0][2018-09-20]
- [2.15.0][2018-09-10]
- [2.10.0][2018-08-29]
- [2.9.0][2018-08-26]
- [2.8.0][2018-08-24]
- [2.7.9][2018-08-23]
- [2.7.8][2018-08-21]
- [2.7.6][2018-08-21]
- [2.7.5][2018-08-15]
- [2.7.4][2018-08-09]
- [2.7.3][2018-08-06]
- [2.7.2][2018-08-06]
- [2.7.1][2018-08-03]
- [2.7.0][2018-08-03]
- [2.6.4][2018-08-02]
- [2.6.3][2018-08-01]
- [2.6.2][2018-07-31]
- [2.6.1][2018-07-31]
- [2.6.0][2018-07-31]
- [2.5.2][2018-07-27]
- [2.5.1][2018-07-25]
- [2.5.0][2018-07-24]
- [2.4.5][2018-07-23]
- [2.4.4][2018-07-20]
- [2.4.3][2018-07-13]
- [2.4.2][2018-07-13]
- [2.4.1][2018-07-12]
- [2.4.0][2018-07-12]
- [2.3.2][2018-07-05]
- [2.3.1][2018-07-04]
- [2.3.0][2018-07-04]
- [2.2.0][2018-06-29]
- [2.1.0][2018-06-27]
- [2.0.0][2018-06-19]
- [2.0.0-alpha.1][2018-04-23]
- [2.0.0-alpha.2][2018-04-24]
- [2.0.0-alpha.3][2018-04-24]
- [2.0.0-alpha.4][2018-04-26]
- [2.0.0-alpha.5][2018-04-28]
- [2.0.0-alpha.6][2018-04-28]
- [2.0.0-alpha.7][2018-05-11]
- [2.0.0-alpha.8][2018-05-16]
- [2.0.0-alpha.9][2018-05-16]
- [2.0.0-alpha.10][2018-05-16]
- [2.0.0-alpha.11][2018-05-21]
- [2.0.0-alpha.12][2018-05-21]
- [2.0.0-alpha.14][2018-05-25]
- [2.0.0-alpha.15][2018-05-28]
- [2.0.0-alpha.16][2018-05-29]
- [2.0.0-alpha.19][2018-05-31]
- [2.0.0-alpha.20][2018-06-01]
- [2.0.0-alpha.21][2018-06-02]
- [2.0.0-alpha.21][2018-06-06]
- [2.0.0-alpha.24][2018-06-07]
- [2.0.0-alpha.25][2018-06-08]
- [2.0.0-alpha.26][2018-06-08]
- [2.0.0-alpha.27][2018-06-08]
- [2.0.0-alpha.29][2018-06-11]
- [2.0.0-alpha.30][2018-06-14]
- [2.0.0-alpha.32][2018-06-15]
- [2.0.0-beta.1][2018-06-18]
Change Log
[2.27.0][2019-01-07]
改进
- 修改了Path的bounding属性策略,默认值改为为auto,当不设置背景色和border宽度时,相当于
bounding: path
,否则为bounding: box
- 允许设置Path的bounding为数值,表示碰撞检测范围
[2.26.1][2018-12-25]
改进
- 修改了绘制borderRadius的机制,支持了与DOM一致的圆角方式
[2.25.3][2018-12-20]
改进
- 完全重构了底层decorator的实现
- 将babel 6升级到babel 7
- 缩小了编译后js文件的体积
- 将animation、dom、style、layout模块化
- 提供针对不同环境的输出
- 增加了css的测试用例
bug修复
- 添加了缺少的flex属性相关的css
- 修复了label的color/fillColor继承导致的问题
[2.24.12][2018-12-11]
改进
- 允许fromDocumentCSS传入Shadow DOM的根元素
- 优化了CSS规则更新的性能
[2.24.5][2018-12-07]
改进
- 增加了对:hover、:active伪类的支持
[2.24.4][2018-12-06]
改进
- Group元素增加了appendChild和removeChide事件
[2.24.2][2018-12-05]
改进
- 增加了一个clipOverflow的属性,默认为true,如果设置为flase,那么元素超过group范围仍然能正常显示
[2.23.11][2018-12-04]
改进
- 取消对Path元素超出rect区域的截取,以适合像rough.js这样的库
- 将parseFont方法从utils中导出
[2.23.4][2018-11-29]
改进
- 增加了元素的replaceChild方法
- 增加了元素的nodeName属性
bug修复
- 修复了动画播放时texture缓存的bug
[2.23.0][2018-11-27]
改进
- 增加了元素的style属性
[2.22.0][2018-11-19]
改进
- 允许读取页面上的CSS规则并赋给SpriteJS元素
[2.21.0][2018-11-19]
改进
- 支持了类似CSS的样式表,可以将样式赋给SpriteJS元素
[2.20.0][2018-11-16]
改进
- 改良了Selector,支持标准的CSS3 Selector
Bug修复
- 修复了属性继承的bug
[2.19.0][2018-11-02]
Bug修复
- 进一步调整缓存策略,消除元素绘制时的抖动
改进
- 增加了clip的Effect
[2.18.1][2018-10-26]
改进
- childNodes在parent中的顺序按照添加顺序排,不再预先排序,以便与DOM一致
[2.17.0][2018-09-21]
Bug修复
- 由于label缓存在不同浏览器下行为不一,切换缓存会导致抖动问题,取消label默认缓存开启策略
新功能
- 升级flex布局,以支持新的标准属性
[2.16.0][2018-09-20]
新功能
- 增加了Scene和Layer的displayRatio配置
- 增加了sprite的enableCache属性,可以设为false强制关闭缓存
- 允许scene中添加dom元素
Bug修复
- 修复了zIndex不为默认值时appendChild和insertBefore的bug
- 修复了.9背景图片显示的bug
- 修复了resolveStates的若干bug
[2.15.0][2018-09-10]
改进
- 针对sprite-vue增加了兼容的DOM API
- 对width、height、x、y支持了百分值和rw、rh单位
- 增加了属性继承,font、color等属性可以继承父容器属性
- 更新和优化了缓存策略
- 优化了动画的性能
[2.10.0][2018-08-29]
改进
- 增加了fontStyle、fontFamily、fontWeight、fontVariant和fontSize
- 属性里attrs的设置支持数组
[2.9.0][2018-08-26]
改进
- 修改了事件的event.target为当前点击到最外层的元素,以便支持事件代理
- 增加了event.stopPropagation阻止冒泡
[2.8.0][2018-08-24]
新特性
- 添加了不可见的DataNode节点,用来存储信息等。
[2.7.9][2018-08-23]
改进
- 添加了一些DOM兼容API来适配VirtualDOM库
[2.7.8][2018-08-21]
改进
- 添加spritejs.esm.js以支持rollup
[2.7.6][2018-08-21]
改进
- 添加eslint规则:complexity,重构了部分代码
- es6版本构建用commonjs2替代umd
[2.7.5][2018-08-15]
bug 修复
- 修复removeChild之后重新添加sprite不会马上绘制的bug
[2.7.4][2018-08-09]
改进
- 取消了layer.isNodeVisible(),提升性能
[2.7.3][2018-08-06]
改进
- 添加 d.ts 文件
[2.7.2][2018-08-06]
改进
- 调整了eslint配置,统一使用eslint-config-sprite
[2.7.1][2018-08-03]
bug 修复
- 动画keyframe上的easing被错误复制给了其他帧
[2.7.0][2018-08-03]
bug 修复
- 修复了带border和padding的group下的元素事件坐标不对的bug
改进
- 使用reflow机制提升了渲染性能
- 实现了Group的自定义layout
- 增加了精灵的getLayerXY()方法获取精灵相对于所在layer的坐标
[2.6.4][2018-08-02]
bug 修复
- 修复flex布局的一些细小bug
- 修改布局判断的硬编码
[2.6.3][2018-08-01]
bug 修复
- mouseleave事件在event被terminate之后没有触发
- 把border属性设置为null会报错
[2.6.2][2018-07-31]
bug 修复
- 修复了base64图片在早期webkit下报跨域的bug
[2.6.1][2018-07-31]
bug 修复
- 修复了flexlayout嵌套的bug
[2.6.0][2018-07-31]
新特性
- 支持了所有元素的bgimage属性
bug 修复
- 修复了label在设置固定宽高和lineBreak后显示不正确的bug
- 修复了多行文本textAlign设置为center和right后显示不正确的bug
[2.5.2][2018-07-27]
改进
- 增加了Label的letterSpacing、textIndent属性
- 增加了Group的scrollLeft、scrollTop属性
- 增加了Group的scrollTo、scrollBy方法
[2.5.1][2018-07-25]
改进
- 增加了boxSizing属性
[2.5.0][2018-07-24]
改进
- 更好地支持多点触摸,touch事件按照浏览器标准实现,添加了event的touches、targetTouches和changedTouches属性
- 增加了sprite.setMouseCapture()方法
- Path支持bounding属性,默认值'box',可以设置为'path',这样的话事件判断区域将默认为'path'
[2.4.5][2018-07-23]
改进
- 将webpack升级到webpack4
- 优化了es6构建版本
[2.4.4][2018-07-20]
bug修复
- 修复layout group嵌套非layout group时被嵌套的元素强制布局的bug
改进
- 增加layout下元素的margin属性
- 增加Label元素的排版,支持line-break和work-break
[2.4.3][2018-07-13]
bug修复
- 补上忘记导出的createElement。。。
[2.4.2][2018-07-13]
bug修复
- 修复CI脚本
- 修复size属性在layout容器下不能动画的bug
- 修复改变display属性不能清除layout的bug
- 改变部分扩展(sprite-extend-*)的实现方式以支持layout
文档
- 改变部分demo和文档的js引入方式,以便在扩展升级时自动更新文档依赖的版本
[2.4.1][2018-07-12]
bug修复
- 修复group位置动画不能正常获取初始值的bug
- 修复layout的layoutHeight设置成layoutWidth的bug
- 修改了layer更新机制,允许在draw的过程中更新其他已绘制元素的属性
[2.4.0][2018-07-12]
新特性
- 支持了Flex布局
- 添加了createElement方法
改进
- 单独设置Sprite元素的宽或高,textures将保持比例(与html的img行为保持一致)
[2.3.2][2018-07-05]
改进
- 废弃shadowContext配置,移动端性能显著提升,避免在销毁窗口时闪退
[2.3.1][2018-07-04]
bug 修复
- 修复当动画结束后,部分定时器没有清除的bug
[2.3.0][2018-07-04]
改进
- 增加display属性,支持display:none隐藏元素
- 调整clip策略支持更好的渲染性能
bug 修复
- 修复文档d3的bug
- 修复元素某些情况下clip失效的bug
[2.2.0][2018-06-29]
改进
- 取消sprite.attrs,改为sprite.attributes,与DOM的API保持一致
- 将utils.findColor和utils.cacheContextPool两个方法导出
- 添加了文档,增加速查表,增加对BMFont的支持
bug 修复
- 修复了cloneNode不能复制dataset的bug
- 修复transition.reverse()在动画结束时属性可能不正确的bug
- 修复sprite-extend-bmfont加载远程URL图片的bug
[2.1.0][2018-06-27]
改进
- 支持了shadow属性(shadow: {color, blue, offset})
- 支持了sprite.data()和sprite.dataset
- 支持sprite.attr()和sprite.data()设置异步属性
- sprite.attrs()变更为sprite.attrs
- 增加了transition的end和reverse方法
- 增加了shadow和transition的相关文档
bug修复
- 修复animation的playbackRate反向后,动画回复到初试状态时不能触发finished的bug(标准的web animation api要触发finished)
[2.0.0][2018-06-19]
改进
- transition对象调用attr自动将之前的transition动画结束
- 调整构建脚本
- 完善中、英文文档
bug修复
- 修复animation.finished在某些情况下调用两次的bug
[2.0.0-alpha.1][2018-04-23]
新特性
- 支持hsl(a)颜色值以及hwb(a)颜色值
- svg path支持矢量缩放
- layer支持粘连模式,解决屏幕适配问题
- 支持了 transformOrigin 属性
- 支持 devtools
接口变更
- cache图片取代cache canvas,解决了svg自适应图片伸缩的bug
- 取消了textures设置为sprite的方式,以简化Resouce实现,此类需求可以用Group解决
- 取消了draw/drawOnce API,改为beforedraw、afterdraw事件
- 将Axis类移至扩展库sprite-extend-d3axis
- gradients g可以直接设置在颜色值的属性中(推荐写法),而不用设置在
attr('gradients')
中了 - 改变了继承方式,通过Sprite类和派生类提供defineAttributes API来实现继承
bug修复
- 修复了Resouce资源预加载时id设置无效的bug
- 修复动画回放(playbackRate < 0)时的bug
- 修复了renderRepaintDirty的一些边界bug
- 修复了派发自定义事件的bug
- 修复borderRadius设置后内容超出边界的bug
- 修复默认颜色值的bug
- 修复快照bug
其他
- 增加了benchmark测试
- 重构了核心逻辑代码,提升了性能
- 添加了部分单元测试
[2.0.0-alpha.2][2018-04-24]
bug修复
- 修复alpha.1通过npm安装时依赖库sprite-core找不到的问题
改进
- 完善了node环境下安装的文档
[2.0.0-alpha.3][2018-04-24]
bug修复
- 继续修复依赖库的bug,因为跨平台,有些平台依赖有问题
改进
- 减小了打包文件的体积
[2.0.0-alpha.4][2018-04-26]
bug修复
- 修复bug: Group元素如果设置了宽高,会导致Label子元素定位错误
[2.0.0-alpha.5][2018-04-28]
bug修复
- 修复bug: Group添加child时不能触发渲染刷新
- 修复bug: Group元素不能触发mouseleave
其他
- 更新了doc封面,修复了examples中的部分例子错误
[2.0.0-alpha.6][2018-04-28]
bug修复
- 修复bug: 容器设置了transform,layer的鼠标位置不正确
[2.0.0-alpha.7][2018-05-11]
改进
- 兼容了 matter-js 物理引擎
[2.0.0-alpha.8][2018-05-16]
bug修复
- 修复了元素边界1px精度问题
- 修复了元素不可见仍然可以点击问题
- 修复了canvas与容器大小不一致时viewport计算错误问题
改进
- 调整文档
[2.0.0-alpha.9][2018-05-16]
改进
- 当canvas从DOM树上移除时,清理相应的layer,以保证单页应用中资源得到释放
- 修复文档中的问题(文档是单页应用)
- 文档首页中cavase动画在可视区域之外会导致iphone手机浏览器崩溃,未能查出根本原因,目前解决方法是如果canvas区域在可视区域之外,停止动画播放
[2.0.0-alpha.10][2018-05-16]
改进
- 优化Group对象的渲染性能
[2.0.0-alpha.11][2018-05-21]
bug修复
- 修复transform多次赋值的bug
- 修复group缓存引起的bug
改进
- 修复Layer和Group的insertBefore
- 修改和完善 Demo
[2.0.0-alpha.12][2018-05-21]
改进
- 元素的.on方法允许同时监听多个事件
- 动画的cancel增加参数boolean类型,允许中途取消动画并保持元素动画状态
- Scene增加insertBefore
[2.0.0-alpha.14][2018-05-25]
bug 修复
- 重构了sprite-timeline修复了动画多个bug
- 修复了未更新元素属性update事件也会被触发的bug
改进
- event.stopDispatch()只对同级(同一个layer下的元素或者同一个group中的元素)生效,不会阻止父容器
- 增加了一些属性的自动parseFloat
- 增加了属性表达式,现在可以`sprite.attr({x: x => x+1})
[2.0.0-alpha.15][2018-05-28]
改进
- 支持了虚线 border、虚线 Path
- 实现属性获取的 immutable,避免副作用
[2.0.0-alpha.16][2018-05-29]
bug修复
- 修复了在小程序版本下isFinite错误的问题
改进
- 支持了sprite的transition
[2.0.0-alpha.19][2018-05-31]
bug修复
- 修复了scale设置为0不能恢复的bug
- 修复了fontSize设置rem不跟着文档的字体大小改变的bug
- 修复了node-canvs版本的bug
改进
- 改进了缓存策略
- 增加了对font的vw、vh单位支持
[2.0.0-alpha.20][2018-06-01]
改进
- 大大提升渲染性能,减少CPU消耗
- 调整repaintDirty的策略
[2.0.0-alpha.21][2018-06-02]
bug修复
- 修复了当元素超出box范围的时候不能剪裁的bug
- 修复了group的background缓存的bug
[2.0.0-alpha.21][2018-06-06]
改进
- sprite-core 升级到 2.0.1-beta,修复一些小bug,单元测试覆盖度99%
[2.0.0-alpha.24][2018-06-07]
bug修复
- 修复了group元素的缓存策略在没有bgcolor的条件下导致render失效的bug
- 修复了Path元素位置不正确的bug
[2.0.0-alpha.25][2018-06-08]
bug修复
- 修复了Path元素的anchor不正确的bug
- 修复了originRect的浮点数精度导致缓存绘制的位置偏差的bug
改进
- 增加了单元测试,测试覆盖度约 99%
[2.0.0-alpha.26][2018-06-08]
bug修复
- 浮点数问题不能取整解决,换了一种方式计算cache位置来解决
- 去掉了整个group的baseCache,如果group中的元素有动画,group不建议设置bgcolor(耗性能)
[2.0.0-alpha.27][2018-06-08]
bug修复
- 原来的group.remove()有歧义, 将layer.remove()、group.remove()改成clear()方法
- 修复因此产生的d3-axis的bug
[2.0.0-alpha.29][2018-06-11]
bug修复
- 修复了extend模式下元素事件判断位置失效的bug
改进
- 调整了filter策略,现在所有的sprite支持filter了,同时取消textures上的filter
[2.0.0-alpha.30][2018-06-14]
改进
- 支持resolution设置为flex,此时layerResolution自动设置为viewport的两倍
- 改变了draw和isVisible策略,减少了复杂的renderBox计算,大大优化了性能
- 支持Sprite.setAttributeEffects避免了扩展Sprite对象可能造成Effect冲突
- 支持了Proton粒子系统
[2.0.0-alpha.32][2018-06-15]
bug修复
- 修复stickExtend模式下clearRect的bug
改进
- group的自动“虚拟化”
- 新增了集成proton的文档和例子
- 改进layer.draw()方法已对第三方库更友好,增加相应的例子文档
[2.0.0-beta.1][2018-06-18]
bug修复
- 修复keyboard事件不能派发到sprite的bug
- 修复stickExtend下事件超过canvas原始区域后检测不到的bug