https://github.com/emberjs/data
WarpDrive is a lightweight data library for web apps — universal, typed, reactive, and ready to scale.
https://github.com/emberjs/data
data-framework data-loading data-patterns ember ember-data fetch hacktoberfest javascript local-first mpa offline-first reactive-js signals spa typescript warp-drive
Last synced: about 6 hours ago
JSON representation
WarpDrive is a lightweight data library for web apps — universal, typed, reactive, and ready to scale.
- Host: GitHub
- URL: https://github.com/emberjs/data
- Owner: emberjs
- License: mit
- Created: 2011-12-20T01:50:40.000Z (over 13 years ago)
- Default Branch: main
- Last Pushed: 2025-04-19T10:05:26.000Z (3 days ago)
- Last Synced: 2025-04-19T13:14:05.216Z (3 days ago)
- Topics: data-framework, data-loading, data-patterns, ember, ember-data, fetch, hacktoberfest, javascript, local-first, mpa, offline-first, reactive-js, signals, spa, typescript, warp-drive
- Language: TypeScript
- Homepage: https://emberjs.github.io/data/
- Size: 313 MB
- Stars: 3,072
- Watchers: 146
- Forks: 1,335
- Open Issues: 76
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
- awesome-for-beginners - Ember.js Data - for-New-Contributors)_ <br> A data persistence library for Ember.js. (JavaScript)
- fucking-awesome-for-beginners - Ember.js Data - for-New-Contributors)_ <br> A data persistence library for Ember.js. (JavaScript)
README
![]()
![]()



[](https://api.emberjs.com/ember-data/release)
[](https://discord.gg/zT3asNS
)
WarpDrive is a lightweight data library for web apps —
universal, typed, reactive, and ready to scale.
WarpDrive provides features that make it easy to build scalable, fast, feature
rich application — letting you ship better experiences more quickly without re-architecting your app or API. WarpDrive is:- ⚡️ Committed to Best-In-Class Performance
- 💚 Typed
- ⚛️ Works with any API
- 🌲 Focused on being as tiny as possible
- 🚀 SSR Ready
- 🔜 Seamless reactivity in any framework
- 🐹 Built with ♥️ by [Ember](https://emberjs.com)
*Get Started* → [Guides](./guides/index.md)
---
## Quick Links
- [Installation](#installation)
- [API Docs](https://api.emberjs.com/ember-data/release)
- [Guides](./guides/index.md)
- [Build Config](./packages/build-config/README.md)
- [Ember Compatibility](#compatibility)
- [The Big List of Versions](#the-big-list-of-versions)
- [Contributing](./CONTRIBUTING.md)
- [Community & Help](https://emberjs.com/community)
- [RFCs](https://github.com/emberjs/rfcs/labels/T-ember-data)
- [Team](https://emberjs.com/team)
- [Blog](https://emberjs.com/blog)
## Installation
```sh
pnpm add ember-data
```> [!NOTE]
> This will install the "legacy" experience. A new installer
> is currently being worked on for the Polaris experience and will
> be available soon.
## Compatibility
The following table lists WarpDrive/EmberData versions alongside information about
ember compatibility.- **Lockstep**: the latest version of ember-source at the time of release
- **Supported**: the versions of ember-source the release officially supports
- **Tested**: the versions of ember-source the project tested this release against
- **Range**: the peer-dep range the release states for ember-sourceThe library is often compatible with a larger range than was officially supported at
the time of release, and we make an effort to test against a larger range than we officially
state is supported. In many cases it will be compatible for a larger range than is shown here.Where possible, we try to maintain this larger window of support as long as possible, but if
it does become necessary to break compatibility with an older, unsupported release we do not
consider it a breaking change.The table is generated from [this data](./internal-tooling/src/tasks/-data/compatibility.ts) using the
command `bun sync-readme-tables`.| | Status | WarpDrive/EmberData | Lockstep | Supported | Tested | Range |
| --- | --- | --- | --- | --- | --- | --- |
| ✅ | Canary |  | `6.4` | `4.8`
`4.12`
`5.*`
`6.*` | `3.28`
`4.4`
`4.8`
`4.12`
`5.4`
`5.8`
`5.12`
`6.3` | `3.28.12`
`>= 4.*`
`>= 5.*`
`>= 6.*` |
| ✅ | Beta |  | `6.4` | `4.8`
`4.12`
`5.*`
`6.*` | `3.28`
`4.4`
`4.8`
`4.12`
`5.4`
`5.8`
`5.12`
`6.3` | `3.28.12`
`>= 4.*`
`>= 5.*`
`>= 6.*` |
| ✅ | Latest (Stable) |  | `>= 5.3`
`6.0`
`6.1`
`6.2`
`6.3` | `4.8`
`4.12`
`5.*`
`6.*` | `3.28`
`4.4`
`4.8`
`4.12`
`5.4`
`5.8`
`5.12`
`6.3` | `3.28.12`
`>= 4.*`
`>= 5.*`
`>= 6.*` |
| ✅ | LTS |  | `>= 5.3`
`6.0`
`6.1`
`6.2`
`6.3` | `4.8`
`4.12`
`5.*`
`6.*` | `3.28`
`4.4`
`4.8`
`4.12`
`5.4`
`5.8`
`5.12`
`6.3` | `3.28.12`
`>= 4.*`
`>= 5.*`
`>= 6.*` |
| ✅ | V4 Special Release
(vite support)[^1] |  | `6.3` | `4.*`
`5.*`
`6.*` | `3.28`
`4.4`
`4.8`
`4.12`
`5.4`
`5.8`
`5.12`
`6.3` | `3.28.12`
`>= 4.*`
`>= 5.*`
`>= 6.*` |
| ❌ | (unsupported)
Prior LTS |  | `4.12.3` | `4.*`
`5.*` | `3.28`
`4.4`
`4.8`
`4.12`
`5.0` | `3.28.12`
`>= 4.*`
`>= 5.*` |
| ❌ | (unsupported)
Prior LTS |  | `4.8.6` | `4.*` | `3.28`
`4.4`
`4.8` | `3.28.12`
`>= 4.*` |
| ⚠️ | (unsupported)
ModelFragments[^2] |  | `4.6.0` | `3.28`
`4.*` | `3.28`
`4.4`
`4.5`
`4.6` | `3.28.12`
`>= 4.*` |
| ⚠️ | (unsupported)
Prior LTS[^2] |  | `4.4.5` | `3.28`
`4.*` | `3.28`
`4.4` | `3.28.12`
`>= 4.*` |
| ⚠️ | (unsupported)
Prior LTS[^3] |  | `3.28.12` | `3.*`
`4.*` | `3.20`
`3.24`
`3.28` | `>= 3.*`
`>= 4.*` |[^1]: Special release to support vite builds in apps using 4.x
[^2]: This version may receive special long-term patches to assist model-fragments users in creating a migration path onto 5.x and off of ModelFragments
[^3]: Special updates have occurred to extend support to ember-source v5 and v6
## The Big List of Versions
The table below is generated using the command `bun sync-readme-tables`.
| Package | Audience | V4-Canary | LTS-4-12 | LTS | Stable | Beta | Canary |
| ------- | -------- | --------- | -------- | --- | ------ | ---- | ------ |
| [warp-drive](./packages//Users/cthoburn/github/data2/packages/-warp-drive/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [eslint-plugin-warp-drive](./packages//Users/cthoburn/github/data2/packages/eslint-plugin-warp-drive/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [ember-data](./packages//Users/cthoburn/github/data2/packages/-ember-data/package.json#readme) | 🐹 |  |  |  |  |  |  |
| [@warp-drive/schema-record](./packages//Users/cthoburn/github/data2/packages/schema-record/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@warp-drive/holodeck](./packages//Users/cthoburn/github/data2/packages/holodeck/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@warp-drive/experiments](./packages//Users/cthoburn/github/data2/packages/experiments/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@warp-drive/ember](./packages//Users/cthoburn/github/data2/packages/ember/package.json#readme) | 🐹 |  |  |  |  |  |  |
| [@warp-drive/diagnostic](./packages//Users/cthoburn/github/data2/packages/diagnostic/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@warp-drive/core-types](./packages//Users/cthoburn/github/data2/packages/core-types/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@warp-drive/build-config](./packages//Users/cthoburn/github/data2/packages/build-config/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@ember-data/tracking](./packages//Users/cthoburn/github/data2/packages/tracking/package.json#readme) | 🌌🐹 |  |  |  |  |  |  |
| [@ember-data/store](./packages//Users/cthoburn/github/data2/packages/store/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@ember-data/serializer](./packages//Users/cthoburn/github/data2/packages/serializer/package.json#readme) | 🐹 |  |  |  |  |  |  |
| [@ember-data/rest](./packages//Users/cthoburn/github/data2/packages/rest/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@ember-data/request-utils](./packages//Users/cthoburn/github/data2/packages/request-utils/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@ember-data/request](./packages//Users/cthoburn/github/data2/packages/request/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@ember-data/model](./packages//Users/cthoburn/github/data2/packages/model/package.json#readme) | 🐹 |  |  |  |  |  |  |
| [@ember-data/legacy-compat](./packages//Users/cthoburn/github/data2/packages/legacy-compat/package.json#readme) | 🐹 |  |  |  |  |  |  |
| [@ember-data/json-api](./packages//Users/cthoburn/github/data2/packages/json-api/package.json#readme) | 🌌🐹 |  |  |  |  |  |  |
| [@ember-data/graph](./packages//Users/cthoburn/github/data2/packages/graph/package.json#readme) | 🌌 |  |  |  |  |  |  |
| [@ember-data/debug](./packages//Users/cthoburn/github/data2/packages/debug/package.json#readme) | 🐹 |  |  |  |  |  |  |
| [@ember-data/codemods](./packages//Users/cthoburn/github/data2/packages/codemods/package.json#readme) | 🐹 |  |  |  |  |  |  |
| [@ember-data/adapter](./packages//Users/cthoburn/github/data2/packages/adapter/package.json#readme) | 🐹 |  |  |  |  |  |  |
| [@ember-data/active-record](./packages//Users/cthoburn/github/data2/packages/active-record/package.json#readme) | 🌌 |  |  |  |  |  |  |
## Code of Conduct
Refer to the [Code of Conduct](https://github.com/emberjs/data/blob/main/CODE_OF_CONDUCT.md) for community guidelines and inclusivity.
### License
This project is licensed under the [MIT License](LICENSE.md).