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/