data icon indicating copy to clipboard operation
data copied to clipboard

🛤️ tracking: 5.4 Release Checklist

Open runspired opened this issue 1 year ago • 3 comments

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.

  • [x] Deprecate Store service extending EmberObject #8874 RFC#1026 IMPL
  • [x] SchemaService Updates

🦓 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.

🚀 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~~

📜 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 /> and getRequestState
  • [x] <Await /> and getPromiseState

Deferred to 5.5

  • Paginated Relationships
  • <Paginate /> and getPaginationState
  • 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

runspired avatar Sep 18 '23 21:09 runspired

Paginated Relationship infra underway https://github.com/emberjs/data/pull/9320

runspired avatar Apr 05 '24 01:04 runspired

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.

runspired avatar Jun 07 '24 23:06 runspired