## 1.6.6

### Fixed
- `parse-uri` 近期版本没有 ES5 产物，导致 iOS9 及以下报错，锁定其版本为 `1.0.3`

## 1.6.5

`2020-04-29`

### Fixed
- 修复压缩纹理覆盖掉资源加载原生的问题

## 1.6.4

`2022-04-18`

### Fixed
- 修复压缩纹理内部异常没有被 `Loader` `onError` 捕获到的问题

## 1.6.3

`2021-12-29`

### Added
- 压缩纹理支持强设纹理类型，使用 `metadata.useFormat` 来决定只使用此类型，如：只使用 astc 纹理 `{ metadata: { useCompressedTexture: true, useFormat: 'astc' }}`

## 1.6.2

`2021-12-23`

### Fixed
- 修复压缩纹理预设 Alpha（`premultipliedAlpha`）的问题，可以通过 `metadata` 手动设置来决定是否预设

## 1.6.1

`2021-07-20`

### Fixed
- 修复 `Loader` 添加 tileset JSON 里 image 没有后缀时加载异常
- 更改 Application 对 ticker 的使用，使用类自己的，这样就可以重新创建一个新的 Ticker

## 1.6.0

`2021-04-23`

### Added
- 增加 `Container` 的 `removeAction` 方法，可以移除该对象上绑定的某个（些） Action，防止大量频繁循环调用导致内存无法自动释放
- 增加 BASIS 纹理插件，可以支持 .basis 纹理啦
- 增加 `getDistanceBetweenPoints` 方法，可以获取两点间直线距离

## 1.5.1

`2021-03-11`

### Fixed
- 完善部分设备压缩纹理的兼容，部分 Android 设备返回仅支持 `pvrtc`，导致对 `.ktx` 路径引用错误的问题，这种情况会自动降级为图片
- 修复 url resolve 对于有参数情况下的 bug
- 移除 Filter Shader 错误的标点
- 完善 utils 部分 JSDoc

## 1.5.0

`2020-07-30`

- WebGL 渲染模式下增加对 ARGB4444 图片类型的支持，图片显示稍有损的情况下显存占用最高可减少近半，并且开发可自由配置，高度灵活

## 1.4.0

`2020-07-01`

- `PixiJS` 从 `4.8.2` 升到 `4.8.9`
- 升级 `earcut` 到 `2.1.4`
- 升级 `ismobilejs` 到 `0.5.2`
- 优化 Debug 类，不会重复创建 `Graphics`
- 优化 rotation 属性，如果没有变化就不更新
- ES Module 下，也可以通过 window 对象获取到 `Tiny`

### Fixed
- 修复 `Container` 的 WebGL 渲染模式下的空 filter 引起 batch-breaking bug
- 修复 `Text` 的 `letterSpacing` 渲染 bug
- 修复 Canvas 渲染模式的 polygon holes bug
- 修复 `Rectangle.fit` 的 bug
- 修复 curves 的自适应问题
- 修复 `GraphicsData.clone` 方法 `lineAlignment` 参数丢失的问题
- 修复 `TextureUvs` 的 UV 精度问题
- 修复 `Graphics` 更新 LocalBounds 计算问题

### Added
- `AnimatedSprite` 增加 `updateAnchor` 参数，可以更新默认的 `anchor` 值
- `Rectangle` 增加 `ceil` 方法，可以细微放大
- `DisplayObject` 类增加 plugin 能力，你可以给其及相关子类注册插件，如：`DisplayObject.registerPlugin('pluginName', PluginClass)`;

## 1.3.1

`2020-05-25`

### Fixed
- 由于 iOS 13.* 节能模式下 raf 达到 90Hz 的系统问题，提供帧率检查的通知，你可以通过 `app.on('fps-overstep', (fps)=> {})` 来决定是否进行锁帧以避免此影响
- 增加对 `Sprite~destroy` 方法的容错判断
- 支持 JSONObject 加载模式下的压缩纹理的使用，设置 `metadata.image` 为当前环境下需要的纹理格式即可

### Added
- 增加 `randomColor` 公共方法，用于生成随机颜色

## 1.3.0

`2020-03-09`

### Added
- 增加压缩纹理插件，你可以使用 [tinyjs-cli](https://www.npmjs.com/package/tinyjs-cli) 生成双端的纹理，然后按照文档调用即可，压缩纹理的使用对于大量图片的内存占用是极其友好的
- 可以通过 `Action.setFPS` 方法设置此 Action 执行时的帧率，结束后自动恢复到默认帧率，可用于动态调帧
- 增加 Debug 模式，你可以设置启动参数 `debug:true`，此模式对你的开发、调试更友好

### Removed
- 移除了 `Tiny.ticker.Ticker.CountDown` 成员方法，请直接使用 `Tiny.ticker.CountDown`

## 1.2.5

`2020-01-08`

### Fixed
- 修复 `Application.destroy` 后再创建失败的问题

## 1.2.4

`2019-01-21`

- 添加 `Tiny.defaultConfig`，它拷贝于 `Tiny.config` 并且冻结只读。这样，你就可以创建多个 Application，但是 `extraContextAttributes`、`fps` 是多个 Application 所共享的，并且它们的控制（`pause/resume`）也是

### Fixed
- 移除 `Tiny.loaders.Loader` 加载图片默认的 `crossOrigin` 添加
- 增加 `Tiny.ticker.Ticker.remove` 的参数校验，防止传入非法参数，导致非 60 帧时 listener 的错乱

## 1.2.3

`2019-01-14`

- 启动参数 `showFPS=false` 时也可以通过 `Application.getCurrentFPS` 获取到当前应用的帧率

### Fixed
- 修复 `Sprite.destroy` 重复调用时的报错
- 修复显示对象 transform 变换前触发事件回调（即会在 `{x: 0, y: 0}` 的初始位置）

## 1.2.2

`2019-01-02`

### Fixed
- 修复 `Ticker` 因为移除某个 listener 导致所有的 listener 都被重设，最终导致帧频设置失效，故只恢复要移除的

## 1.2.1

`2018-12-24`

### Fixed
- 恢复 `Object.assign` 的 polyfill，避免 iOS 8.* 无此方法的问题

## 1.2.0

`2018-11-30`

- `PixiJS` 从 `4.5.2` 升到 `4.8.2`
- 升级 `pixi-gl-core` 到 v1.1.4，并拉到本地维护
- 升级 `resource-loader` 到 v2.1.1，并拉到本地维护
- 构建方式从 webpack@3.* 换成 rollup，构建产物大小减少 12K，即：83K => 71K(gzip)

### Fixed
- 修复了 `Tiny.Sprite.fromImage` 的 CORS 无效问题
- 修复了 `CanvasRenderer` 在没有任何子容器时调用 `clear` 报错
- 修复了 `Text` 的 `dropShadow` 样式问题
- 修改了 `TinyStyle` 的 `dropShadowColor` 默认值为 `black`（原来是 `#000000`），这样就与 `fill` 和 `stroke` 一致
- 修复了 `Sprite.containsPoint` 的边缘处理问题
- 当 `RenderTexture` 销毁时，`_glRenderTargets` 也会被销毁
- 修复了 `WebGL` 渲染模式下图形遮罩重叠的问题
- 修复了 `Sprite.getLocalBounds` 的 `maxY` 计算错误
- 修复了 `CanvasRenderer` 的 `blendMode` 问题
- 如果纹理缓存被更换了也不会被移除
- 设置 `Tikcer` 的 `lastTime` 初始值为 `-1`
- 修复了嵌套的 stenicl 遮罩渲染错误的问题
- 修复了 `Sprite`、`AnimatedSprite` 在 Canvas 渲染模式下更改 `tint` 的问题
- 移除过滤器变化时不必要的操作
- 优化了 `Spritesheet` 中支持 `sourceScale` 时 SVG 的处理
- 渲染时保持一致的 Canvas 状态
- 修复了视频纹理加载的跨域问题
- 确保了 `TextStyle` 的所有属性是值拷贝，而不是引用
- 修复了 `FilterManager` 的销毁方法
- 修复了视频纹理在被销毁后的卸载问题
- 修复了 `Text` 首行前的空白字符问题
- 移除了 `spritesheetParser` 加载选型中默认的 `loadType`
- 修复了 `Graphics` 的 `isMask` 属性失效的问题
- 子元素点击区域外点击将无效
- 修复了 `Text` 的内容仅仅是换行符时在 WebGL 渲染模式下的问题
- 修复了 `Sprite` 的纹理监听没有移除的问题

### Added
- `Tiny.Shader` 构造函数增加 `attributeLocations` 和 `precision` 两个参数
- 增加 `Tiny.setting.FILTER_RESOLUTION`，默认值是：1
- `Tiny.AnimatedSprite` 增加了 `onLoop` 方法，会在 `loop=ture` 时回调
- 增加 `TextStyle` 的 `leading` 属性，可以给文字设置行距了，默认值：0
- 增加 `TextStyle` 的 `whiteSpace` 属性，默认值：`pre`
- 给 `Renderer.generateTexture()` 增加了 `region` 参数
- 增加了 `Graphics.drawStar()` 方法，可以快速画五角形
- 对多种 Spritesheet 格式支持更友好（例如：[texpack](https://github.com/urraka/texpack) 或 [shoebox](https://renderhjs.net/shoebox/) 导出的格式）
- 暴露引用的多边形测量库 [earcut](https://github.com/mapbox/earcut)，可以直接通过 `Tiny.earcut(..)` 来使用
- 增加了 `TextMetrics.measureFont()` 的自定义字符的能力
- `Graphics.lineStyle` 添加了 `alignment` 属性，可以设置它的线条/描边对其方式
- `ObservablePoint` 增加 `clone` 和 `equals` 方法，与 `Point` 对齐
- Canvas DOM 可以通过设置启动参数 `viewTouched=true` 来使其可被点触/滑动

## 1.1.11

`2019-01-02`

### Fixed
- 修复 `Ticker` 因为移除某个 listener 导致所有的 listener 都被重设，最终导致帧频设置失效，故只恢复要移除的

## 1.1.9

`2018-10-18`

- 增加启动参数 `extraContextAttributes`，用于配置额外的 contextAttributes

## 1.1.8

`2018-09-06`

- 修复 `Tiny.ticker.CountDown` 积压的问题

## 1.1.7

`2018-04-12`

- 增加获取当前运行的场景的方法，调用 `Application` 的 `getCurrentScene` 方法即可
- 增加一个高精度、高性能的计时器：`Tiny.ticker.CountDown`，并支持 `pause`、`stop`，原来的 `Tiny.Ticker.countDown` 保留，但不推荐使用
- 增加 `Tiny.CountDownCache` 统一管理 `CountDown` 实例
- 优化 `Application` 的 `pause`、`resume` 方法，同时可统一控制 `CountDown`
- 增加启动入参 `fps`，可自定义固定的几个帧率，并可以通过 `Tiny.Application.FPS` 设置或获取已设置的帧率，通过 `Tiny.Application` 实例化对象的 `getCurrentFPS` 获取当前帧率
- 可以直接使用 `Tiny.loaders.Loader` 加载 JSON 对象，只需要传入 `metadata.JSONObject`，并可以通过 `metadata.fallback` 实现兜底
- `Tiny.loaders.Loader` 加载图片的 `crossOrigin` 默认为 `Anonymous`，并可直接加载 Base64 类型图片
- `Application` 的 ticker 直接使用 `Tiny.ticker.shared`
- 如果启动参数 `renderType` 传入 `Tiny.RENDERER_TYPE.CANVAS`（即渲染类型为 Canvas），不会再触发检测 WebGL 支持情况（即不会触发调用任何和 WebGL 相关的方法）
- 移除启动参数 `listenRotation` 并同时移除横竖屏切换检测，这块逻辑较重，请开发者自行检测，Tiny.js 的文档提供了方案

## 1.1.6

`2018-01-04`

- 修复显示对象被移除时自动销毁 Action 后引发 Transition 转场的场景中 Action 失效问题，增加 `transitionend` 事件以监听

## 1.1.5

`2017-09-26`

- 优化 `Application` 的 `start`、`stop` 方法对 Audio 的影响

## 1.1.4

`2017-08-29`

- 修复 `DisplayObject` 绑定 Action 后再执行 `remove` 方法导致的报错

## 1.1.3

`2017-08-25`

- 修复频繁移除显示对象后导致 `Tiny.TWEEN.update` 抛出的异常

## 1.1.1

`2017-08-21`

- 修复 Tween 动画结束后，直接调用`Tiny.TWEEN.remove`引起的报错
- 使用 tileset 时，因网络问题或异常导致图片没有加载成功，触发的 Texture `set frame` 抛出异常，在 `spritesheetParser` 加载图片后做了兼容处理
- 增加`Container`方法，`removeActions`和`removeActionsTrace`，用于移除 actions
- 性能优化：显示对象被 remove 后，自动清除其及子集的所有的 actions

## 1.1.0

`2017-08-11`

- 增加启动参数`referWidth`，基准参考宽度可以通过此参数配置
- 增加`DisplayObject`的方法`setSkew`、`getSkew`，并且通过`getNature`也能获取到 skew 值
- 性能优化：修改`Application`的控制方法`start`和`stop`，避免压后台后千分之二的闪退率
- 移除`Tiny.Action`的`continue`方法，换成`resume`替代

## 1.0.2

`2017-08-01`

- 增加`Application.onUpdate`的解绑函数`offUpdate`
- 增加`Ticker.countDown`，可用于定时触发
- 增加`TextureTransform`类
- 增加`Tiny.Action.clone`方法，可以克隆所有的`Action`
- 增加`Tiny.Action`的`pause`、`continue`、`stop`、`isPlaying`方法，可以获得并控制动作的状态
- 增加`Tiny.color`转换为 hex 方法 `Tiny.color2hex`
- 增加启动参数`fixSize`，用于固定尺寸为传入的宽高
- 重写了 Application 的`resize`内部方法，更智能
- 修复了 actions 与 repeatTimes、delay 同时使用时的无效情况
- `AnimatedSprite` 可以通过其 `reverse` 方法反转动画

## 1.0.1

`2017-06-23`

- `actionBy`的体验问题修复，与主流引擎一致

## 1.0.0

`2017-06-16`
