Ember 项目近日发布了 Ember.js、Ember Data 和 Ember CLI 的 4.6 版本。
Ember.js 的变化
Ember.js 4.6 是一个增量的、向后兼容的 Ember 版本,并进行了 bug 修复。
漏洞修复
Ember.js 4.6 引入了 2 个 bug 修复:
- 用
substring() 方法替换已弃用的 substr() 方法
- 调整
uniqueId() 实现,只生成有效的选择器。 querySelector 在第一个字符是数字的情况下不工作,所以现在我们确保第一个字符是字母。
Ember Data 的变化
Node 支持
Ember Data 4.6 放弃了对 Node 12 的支持,Node 12 在 2022 年 4 月达到生命周期结束。
错误修复
Ember Data 4.6 引入了 9 个错误修复:
- 将空数组项目序列化为空字符串
waiter 应始终处于开启状态
- 清理
RecordState
- 调度
watchTypeIfUnseen 以防止循环
- 修复 addons 中测试设置函数的生成导入路径
- 修复保存的
PromiseProxy 弃用问题
- 测试
async hasMany 时不触发关系获取
- 归一化时向
keyFor<Attribute|Relationship> 传递正确的 args
- 修复了 async hasMany 加载时计算链不更新的问题
特性
Ember Data 4.6 引入了对构建大小的改进。
弃用
新的弃用情况如下,对弃用 API 的支持将在 Ember 的下一个主要版本中删除。
- 弃用 RSVP.Promise 的一些内部用法
- 弃用快照上的
type 属性
- 弃用
store.find
- 弃用
store.hasRecordForId,因为 peekRecord 通常更有用,提供相同的信息(甚至更多)。
- 弃用
store.recordWasInvalid,这是一个未使用的内部 api
- 弃用
attributesDefinitionFor 和 relationshipDefinitionFor
- 弃用
json-api
Ember CLI 的变化
Node 支持
Ember CLI 放弃了对 Node 12 的支持,增加了对 Node 18 的支持。Node 12 在 2022 年 4 月达到生命周期结束。
弃用
Ember CLI 4.6 引入了 1 个弃用:
vendor-shim 蓝图已被弃用,请使用 ember-auto-import 代替
更多详情可查看:https://blog.emberjs.com/ember-4-6-released/