data
data copied to clipboard
🛤️ tracking: 5.4 Release Checklist
Implementation notes for the Roadmap
Overview
The primary focus of this release will be on the early stages of SchemaRecord. Its likely that most work will take place as POCs and RFCs. We will not ship new SchemaRecord or SchemaDSL features unless we're ready to do so.
🌲 Deprecation RFCs
We want to land RFCs and implementations for the following.
🦓 Miscellaneous
- [x] Improve Config Handling for polyfillUUID for 4.12+ #8675
- [x] Add tests for lifetimes service using new http mock
- [x] Expand tests for
Fetch
handler using new http mock
🪴 Feature RFCs
We want to land RFCs for the following, shipping the actual implementation is less likely.
- [x] Improved SchemaService #8881 RFC#1027
- [-] ~~Paginated Relationships~~ #8882
- [x] Basic SchemaRecord #8883
🚀 Features
Feature work will focus on migration primitives for @ember-data/model
and the basics of the schema-dsl.
- [x] ship mirror packages for two-version upgrade strategies
- [x] (private)
import { instantiateRecord, teardownRecord, SchemaService } from '@ember-data/schema-record'
#8888 https://github.com/emberjs/data/pull/8935 - (private) implement base SchemaRecord behaviors
- [x]
registerResource
https://github.com/emberjs/data/pull/8935 - [x]
registerTransformation
https://github.com/emberjs/data/pull/8935 - [x]
registerDerivation
https://github.com/emberjs/data/pull/8939 - Reads
- [x] legacy model behaviors
- [x] attr | belongsTo | hasMany
- [x] generic fields (transforms, options, stateful transforms, defaultValues) https://github.com/emberjs/data/pull/8935
- [x] schema-object | schema-array | objects | arrays
- [x] resource fields https://github.com/emberjs/data/pull/8946
- [x] derivation fields https://github.com/emberjs/data/pull/8939
- [-] ~~collection fields~~
- Reactive
- [x] simple fields https://github.com/emberjs/data/pull/8948
- [x] legacy model behaviors
- [x] attr | belongsTo | hasMany
- [x] schema-object | schema-array | objects | arrays
- [-] ~~resource | collection~~
- [x] derivation https://github.com/emberjs/data/pull/8952
- Create
- [x] attr | belongsTo | hasMany
- [x] simple fields | schema-object | schema-array | object | array
- [-] ~~resource | collection~~
- Update
- [x] legacy-mode: attr | belongsTo | hasMany
- [-] ~~
record.checkout
~~ - [-] ~~simple fields | schema-object | schema-array | object | array~~
- [-] ~~resource | collection~~
- [x]
📜 Documentation
- [ ] Audit API Docs replacing usage examples of legacy to support https://github.com/emberjs/rfcs/pull/964
- [x] Support Learning team rewriting usage of EmberData in the tutorial
- [ ] Support Learning team rewriting recommended patterns for EmberData in the guides
💚 TypeScript
- [x] publish canary types
- [x] publish standalone types
- [x] add a typescript guide
- [x] add a consumer types strategy
Misc
- [x]
<Request />
andgetRequestState
- [x]
<Await />
andgetPromiseState
Deferred to 5.5
- Paginated Relationships
-
<Paginate />
andgetPaginationState
- Native Class Syntax Codemod for Models #8884
-
import { parse } from '@ember-data/schema-dsl';
for basic schemas #8885 -
import { field, resource, collection } from '@ember-data/schema/legacy';
#8886 - Deprecate store.pushPayload and store.serializeRecord #8815 https://github.com/emberjs/rfcs/pull/964
- Deprecate non-request-manager request methods #8873 https://github.com/emberjs/rfcs/pull/964
- Deprecate sync-relationships without data being considered loaded #7584
Paginated Relationship infra underway https://github.com/emberjs/data/pull/9320
SchemaRecord has reached feature parity with @ember-data/model, which is a potential bar for shipping 5.4
Ideally we polish the ModelFragments parity story first.