Releases: emberjs/data
v5.3.4 | In a cloud of sparkling dust
Yes, this is a patch release packed with goodies. We expect this to be the last patch release of the 5.3 cycle. This puts the release of 5.4 with the first stable releases of @warp-drive/schema-record
and @warp-drive/ember
~4 weeks away. Who needs August when you have July?
In no particular order, goodies contained
- 5.3.4 ships fully as v2-addons
- all packages ship types, types must be opted into, see the typescript guide
- native types packages are now available for 5.3
- mirror packages are now available for 5.3
- a new cli tool has been added. So far its only niftiness is this cli tool will let you quickly configure your 4.x project for typescript.
npx warp-drive retrofit types@canary
. Mileage may vary, this works best with 4.12 - ember-inflector and @ember/string are no longer project dependencies
Three new deprecations
- deprecates Store extending EmberObject
- deprecates using
emberData
in options in ember-cli-build in favor ofsetConfig
- deprecates using ember-inflector for singularization/pluralization support in favor of
@ember-data/request-utils
(ember-inflector is not deprecated, only WarpDrive/EmberData's consumption of it)
v5.3.4 (2024-06-15)
🌲 New Deprecation
- #9479 feat: support migration path for ember-inflector usage (@runspired)
- #9403 feat: deprecate store extending EmberObject (@runspired)
📝 Documentation
- #9394 Add cookbook page about model names convention (@Baltazore)
- #9393 Update types on typescript guide part 4 (@Baltazore)
- #9390 docs: fix readme links in @warp-drive/ember (@runspired)
- #9379 fix: Automate uninstall process (@MichalBryxi)
- #9378 Update some docs to string ids (@wagenet)
- #9300 doc: remove reference to unexisting ESA auth handler (@sly7-7)
- #9332 docs: add typescript guide (@runspired)
- #9328 chore: update READMEs with status and dist tag info (@runspired)
- #9329 chore: update compat chart in README (@runspired)
- #9299 doc: use store for save-record docs (@Yelinz)
- #9298 docs(request): remove duplicate line in readme (@Yelinz)
- #9063 docs: add requests guide (@runspired)
- #9215 Docs: Add guide for incremental adoption (@Baltazore)
- #9275 doc: don't mention unexisting ESA auth handler (@sly7-7)
🚀 Enhancement
- #9474 Improve query types for legacy-compat/builders (@gitKrystan)
- #9473 npx: warp-drive retrofit types@canary 🪄 (@runspired)
- #9471 feat: npx warp-drive (@runspired)
- #9467 feat: implement schema-object for schema-record (@richgt)
- #9468 feat: string utils 🌌 (@runspired)
- #9466 feat: make @id editable and reactive (@runspired)
- #9465 feat: implement edit & create cases for legacy relationships (@runspired)
- #9464 feat: implement support for legacy hasMany and belongsTo relationship reads (@runspired)
- #9407 feat: v2 addons (@runspired)
- #9453 feat: update SchemaService to reflect RFC updates (@runspired)
- #9448 feat: impl SchemaService RFC (@runspired)
- #9450 feat: improve typing around Model and createRecord (@runspired)
- #9444 feat: rename LifetimesService => CachePolicy for clarity (@runspired)
- #9443 feat: universal consts (@runspired)
- #9396 fix: Resolve promise types for props passed to
store.createRecord()
(@seanCodes) - #9401 feat: preserve lids returned by the API in legacy normalization (@runspired)
- #9400 feat: add expectId util (@runspired)
- #9343 @ember-data/codemods package (@gitKrystan)
- #9387 feat: better types for legacy store methods (@runspired)
- #8957 feat(private): schema CLI (@runspired)
- #9366 feat: typed Model (@runspired)
- #9363 feat: autoRefresh (@runspired)
- #9359 feat: type checked builders and inferred request types from builders (@runspired)
- #9353 feat: utilies for migrating to stricter type and id usage (@runspired)
- #9352 feat: make setKeyInfoForResource public (@runspired)
- #9277 feat: implement managed object for schemaRecord (@richgt)
- #9319 Add @ember-data/legacy-compat/builders (@gitKrystan)
- #9314 feat: improve lifetime handling of ad-hoc createRecord requests (@runspired)
- #9317 feat: ensure data utils work well with legacy relationship proxies (@runspired)
- #9260 feat: ember specific data utils (@runspired)
- #9240 feat: implement managed array for schemaRecord (@richgt)
- #9256 feat: improve alpha types support (@runspired)
- #9250 feat: fix types for legacy decorator syntax (@runspired)
- #9249 chore: handle declare statements in module rewriting (@runspired)
- #9248 feat: publish types as module defs (@runspired)
- #9245 feat: add consumer types for Model APIs (@runspired)
- #9246 normalization in json-api serializer preserves lid #7956 (@sly7-7)
- #9244 feat: improves consumer-facing store types (@runspired)
🐛 Bug Fix
- #9475 fix: dont install optional peers if not already present (@runspired)
- #9469 Fix exports for 'ember-data' (@NullVoxPopuli)
- #9459 fix: ensure cachehandler responses are cast to documents (@runspired)
- #9456 fix: visibilitychange => hidden should update unavailableStart (@runspired)
- #9454 Allow RequestState.abort to be used with on modifier (@gitKrystan)
- #9455 fix: config version lookup needs to be project location aware (@runspired)
- [#9355](https:/...
v4.12.8 | Backstreet's Back, Alright!
v4.12.8 (2024-05-08)
🚀 Enhancement
- #9389 Backport request, request-utils, store cache-handler changes to 4.12 (@gitKrystan)
- #9386 Backport #9319 to lts-4-12: Add @ember-data/legacy-compat/builders (@gitKrystan)
Committers: 1
- Krystan HuffMenne (@gitKrystan)
v4.6.5 | Man, I feel like a woman
v5.3.3 | I won't lie, it won't be easy
v5.3.3 (2024-03-02)
🐛 Bug Fix
- #9243 fix: keep core-type peer-deps (@runspired)
Committers: (1)
Chris Thoburn (@runspired)
v5.3.2 | Make the music stop before it starts
v5.3.2 (2024-02-29)
🏠 Internal
- #9241 chore: manually run prepack (@runspired)
- #9238 chore: better "from" version default value population (@runspired)
- #9237 chore: fix publishing of core-types when strategy is private (@runspired)
Committers: (1)
Chris Thoburn (@runspired)
v5.3.1 | Forever may never come
v5.3.1 (2024-02-24)
🌲 New Deprecation
- #9189 fix: mutating ManyArray should handle duplicates gracefully (with deprecation) (@gitKrystan)
📝 Documentation
- #9132 Add auth handler guides (@Baltazore)
- #9071 chore: refactor relationships guide (@runspired)
- #9059 docs: The comprehensive guide to relationships (@runspired)
- #9018 doc(README): remove typo (@omimakhare)
- #8966 feat: Add links to the CODE_OF_CONDUCT.md (@Agnik7)
- #8963 chore: scaffold additional contributing materials (@runspired)
- #9162 feat: improve store.request documentation (@runspired)
- #9161 docs: fix return signature of peekRequest (@runspired)
- #9159 fix: support full range of json:api for references, update docs (@runspired)
- #9160 docs: update links (@runspired)
- #8954 docs: typo in hasChangedRelationships description (@BoussonKarel)
- #9072 feat: advanced JSON:API queries & basic request example (@runspired)
- #9070 docs: fix note notation to make use of github formatting (@runspired)
- #9068 docs: unroll details sections (@runspired)
🚀 Enhancement
- #9220 feat: request infra improvements (@runspired)
- #9163 feat: improved lifetimes-service capabilities (@runspired)
- #9159 fix: support full range of json:api for references, update docs (@runspired)
- #9094 feat: support legacy attribute behaviors in SchemaRecord (@gitKrystan)
- #9095 feat (internal): support legacy model behaviors in SchemaRecord legacy mode (@runspired)
- #9072 feat: advanced JSON:API queries & basic request example (@runspired)
- #9069 feat: Improve extensibility (@runspired)
- #8955 feat(private): scaffold packages for schema parser (@runspired)
- #8949 feat:prepare for universal reactivity (@runspired)
- #8948 feat(private): reactive simple fields (@runspired)
- #8946 feat (private): implement resource relationships for SchemaRecord (@runspired)
- #8939 feat (private): implement support for derivations in schema-record (@runspired)
- #8935 feat: (private) implement basic field support for schema-record (@runspired)
- #8925 feat: implement postQuery builder (@runspired)
- #8921 feat: Improved Fetch Errors (@runspired)
🐛 Bug Fix
- #9221 fix: prevent rollbackRelationships from setting remoteState and localState to the same array reference (@runspired)
- #9203 fix: Fetch handler hacks for Mirage (canary) (@gitKrystan)
- #9189 fix: mutating ManyArray should handle duplicates gracefully (with deprecation) (@gitKrystan)
- #9183 fix: keep a backreference for previously merged identifiers (@runspired)
- #8927 fix: live-array delete sync should not clear the set on length match (@runspired)
- #9164 fix: url configuration should respect / for host and error more meaningfully when invalid (@runspired)
- #9159 fix: support full range of json:api for references, update docs (@runspired)
- #9097 fix: allow decorator syntax in code comments during yui doc processing (@jaredgalanis)
- #9014 fix: make willCommit slightly safer when race conditions occur (@runspired)
- #8934 fix: JSONAPISerializer should not reify empty records (@runspired)
- #8892 doc: Fix paths in transform deprecations (@HeroicEric)
🏠 Internal
- #9125 Configure ESLint for test packages (@gitKrystan)
- #8994 chore: fix recursive pnpm on node 18.18 (@runspired)
- #9110 Stricter typescript-eslint config (@gitKrystan)
- #9101 chore: Type check test files (@gitKrystan)
- #9093 feat(internal): implement legacy mode toggle (@runspired)
- #9085 Add type-checking to tests/warp-drive__schema-record (@gitKrystan)
- #9089 Add type-checking for packages/unpublished-test-infra (@gitKrystan)
- #9009 chore(internal) add @warp-drive/diagnostic/ember (@runspired)
- #9007 chore(internal): convert model and adapter tests to use diagnostic (@runspired)
- #8967 chore(private): implements a QUnit alternative (@runspired)
- #9086 Add ESLint config for tests/warp-drive__schema-record (@gitKrystan)
- #9078 docs: add compatibility table to readme (@runspired)
- #9054 Initial lint config for tests/blueprints (@gitKrystan)
- #9061 Git-ignore .prettier-cache (@gitKrystan)
- #8993 chore: fix development test command (@runspired)
- #8986 chore: rename schema tests to warp-drive__* variants (@runspired)
- #8984 chore: remove unneeded debug-encapsulation tests (@runspired)
- #8983 chore: rename request-test-app to ember-data__request (@runspired)
- #8982 chore: rename json-api-test-app to ember-data__json-api (@runspired)
- #8981 chore: rename adapter-encapsulation-test-app to ember-data__adapter (@runspired)
- #8980 chore: rename graph-test-app to ember-data__graph (@runspired)
- #8979 chore: rename serializer-encapsulation tests, remove smoke-test (@runspired)
- #8978 chore: rename model-encapsulation tests, remove smoke-test (@runspired)
- #8974 chore: remove uneeded json-api-encapsulation test app (@runspired)
- [#8960](https://github.com/emberjs/data/...
v4.12.5 | Paw Patrol is on a Roll
Changelog (2023-12-04)
🚀 Enhancement
- #9152 feat: backport changes in request package from 5.x (@runspired)
🐛 Bug Fix
- #9126 fix: mutating ManyArray should handle duplicates gracefully (@runspired & @gitKrystan)
- #9120 fix: make emergent unsupported behaviors safer in prod (@runspired)
Committers: 1
- Chris Thoburn @runspired
- Krystan HuffMenne @gitKrystan
v4.12.4 | Old age is just around the bend
Changelog (2023-10-19)
🐛 Bug Fix
- #9012 fix: make willCommit slightly safer when race conditions occur (@runspired)
- #8933 fix: JSONAPISerializer should not reify empty records (@runspired)
- #8926 fix: unloadAll should cleanup live-array membership (@runspired)
🥅 Test
- #8865 test: confirm records unload properly for #8863 (@runspired)
Committers: 1
- Chris Thoburn (@runspired)
v5.3.0 | don't forget, baby, I'm a wildcard
The Big Picture
This release primarily focused on polish for the RequestManager
story, introducing builder utils, builders for REST
ActiveRecord
and JSON:API
requests as well as serialization utils for JSON:API
requests.
As part of shipping serialization utils, we implemented several long-awaited cache features to support them:
cache.changedRelationships
retrieves a diff of what has been added or removed from each relationship for a resourcecache.hasChangedRelationships
answers whether any relationships have changed for a resourcecache.rollbackRelationships
will reset all relationships for that resource to their "remote" state, removing any local changes.
As part of our ongoing efforts to modernize the library and to support the above changes, we implemented several new deprecations.
- Deprecate legacy import paths (
ember-data/
) except forember-data/store
- Deprecate non-strict-type (e.g. "users" or "myType" instead of "user" and "my-type")
- Deprecate non-strict-id (e.g .
1
instead of"1"
)
And in relationships specifically:
- deprecate fixing non-unique relationship payloads (when the same record is referenced multiple times in a related collection)
- deprecate remote updates clearing local changes (an upcoming blog post will explain the new behavior here in detail)
Changelog (2023-09-18)
🚀 Enhancement
- #8849 feat: docs, tests and fixes for create/update/deleteRecord builders (@Baltazore)
- #8824 feat: relationshipRollback, serializePatch (@runspired)
- #8798 feat: implement a simple LifetimeService utility, improve document reconstruction (@runspired)
- #8741 feat: JSON:API serialization utils (@runspired)
- #8740 feat: saveRecord builders (@runspired)
- #8744 add sortQueryParams, update roadmap with link to checklist (@runspired)
- #8716 feat: filterEmpty for query params (@runspired)
- #8687 feat: findRecord and query request builders (@runspired)
- #8673 DX: Nicer backtracking errors (@runspired)
- #8736 chore: refactor IdentityCache to make resource more opaque (@runspired)
🐛 Bug Fix
- #8876 fix: Fetch handler should account for empty body (@runspired)
- #8842 fix: handle Immutable Response objects (@runspired)
- #8828 fix: set headers after setResponse in Fetch handler (@runspired)
- #8850 Overwrite addMixin (@patricklx)
- #8831 fix: cleanup build deps and add @ember/string to REST/ActiveRecord builder peer-deps (@runspired)
- #8826 fix createRecord error when no adapter is present (@runspired)
- #8791 fix: clear relationships properly when unloading new records (@Windvis)
- #8794 Fix check for new records in JSONAPISerializer.serializeHasMany (@dagroe)
- #8751 Forward fixes from 3.12.x into main (@jrjohnson)
- #8684 fix: unloadAll(void) should not destroy the notification manager (@runspired)
🌲 New Deprecation
- #8747 feat: implement legacy imports deprecation (@runspired)
- #8734 feat: Implement Strict Types and Id Deprecations (@runspired)
🚿 Deprecation Removal
adapter
,model
,private-build-infra
,serializer
- #8797 Drop support for
ember-cli-mocha
andember-mocha
when generating test blueprints (@bertdeblock)
- #8797 Drop support for
📝 Documentation
- #8848 feat: add request options documentation parts to find-record builder (@Baltazore)
- #8825 feat: more docs for builders (@runspired)
- #8819 fix:
JSONAPISerializer.shouldSerializeHasMany
relation param type (@samridhivig) - #8746 docs: more documentation for builders (@runspired)
- #8745 chore: readme overviews for builders (@runspired)
- #8724 chore: rename CacheStoreWrapper => CacheCapabilitiesManager to reflect its role (@runspired)
- #8671 Typo correction in ROADMAP.md (@wagenet)
🥅 Test
- #8878 test: add basic test for Fetch handler (@runspired)
- #8849 feat: docs, tests and fixes for create/update/deleteRecord builders (@Baltazore)
- #8868 Add tests for filter-empty request util (@Baltazore)
- #8866 Add tests for parse-cache-control (@Baltazore)
- #8864 test: confirm records unload properly for #8863 (@runspired)
- #8780 chore: add test to demonstrate create props work as expected (@runspired)
🏠 Internal
- #8758 chore: refactor implicit edge to match resource and collection pattern (@runspired)
- #8755 chore: simplify file structure in graph package (@runspired)
- #8749 fix: ensure we are not allowing embroider to do anything (@runspired)
- #8672 chore: update roadmap for 5.3 (@runspired)
- #8670 chore: add ROADMAP and update CONTRIBUTING (@runspired)
- #8739 chore: migrate store/graph to strict types config (@runspired)
- #8733 chore: improve types and lint (@runspired)
- #8727 chore: fix peers and get perf-test-app running again (@runspired)
- #8717 Switch from local and @types/ember types to ember-source types (@BradBarnich)
- #8499 chore: refactor model hook support to live in the model package (@runspired)
- #8862 chore: remove more runloop usage | completely remove rsvp (@runspired)
- #8861 chore: remove runloop usage (@runspired)
- #8859 chore: update target labels (@runspired)
- #8858 chore: update required labels (@runspired)
- #8830 chore: cleanup actions/setup usage (@runspired)
- #8812 fix typo (@samridhivig)
- #8802 chore: fix fastboot-testing deprecation (@runspired)
- #8801 chore: resolve deprecation in fastboot app (@runspired)
- #8860 chore: burn down runloop and RSVP usage (@runspired)
*...
v5.2.0 | I could've taken you places
Changelog (2023-08-17)
- Re-release of 5.1.2 to keep lockstep pace. This release contains no new work.
5.1.2 Contained the following changes
🐛 Bug Fix
- #8750 Backport into release (@jrjohnson)
- fix: @ember-data/debug should declare its peer-dependency on @ember-data/store #8703
- fix: de-dupe coalescing when includes or adapterOptions is present but still use findRecord #8704
- fix: make implicit relationship teardown following delete of related record safe #8705
- fix: catch errors during didCommit in DEBUG #8708