ember-m3
Version:
Alternative to @ember-data/model in which attributes and relationships are derived from API Payloads
940 lines (583 loc) âą 39.7 kB
Markdown
## v6.1.5 (2025-03-19)
#### :house: Internal
* [#1828](https://github.com/ember-m3/ember-m3/pull/1828) add `@ember/string` to dependencies ([@yangpiao](https://github.com/yangpiao))
#### Committers: 1
- Yang ([@yangpiao](https://github.com/yangpiao))
## v6.1.4 (2024-01-31)
#### :house: Internal
* [#1767](https://github.com/ember-m3/ember-m3/pull/1767) Ember-Data 4.4 Support ([@elwayman02](https://github.com/elwayman02))
#### Committers: 1
- Jordan Hawker ([@elwayman02](https://github.com/elwayman02))
## v6.1.3 (2024-01-09)
#### :rocket: Enhancement
* [#1754](https://github.com/hjdivad/ember-m3/pull/1754) Remove Implicit Injections in m3-store ([@nlfurniss](https://github.com/nlfurniss))
#### :bug: Bug Fix
* [#1750](https://github.com/hjdivad/ember-m3/pull/1750) fix: use base model name for type comparison ([@larry-x-yu](https://github.com/larry-x-yu))
#### Committers: 2
- Nathaniel Furniss ([@nlfurniss](https://github.com/nlfurniss))
- [@larry-x-yu](https://github.com/larry-x-yu)
## v6.0.1 (2023-04-11)
#### :rocket: Enhancement
* [#1745](https://github.com/hjdivad/ember-m3/pull/1745) feat: side-channel for nested record datas ([@hjdivad](https://github.com/hjdivad))
#### :bug: Bug Fix
* [#1744](https://github.com/hjdivad/ember-m3/pull/1744) Fixed a gap in merging update ([@larry-x-yu](https://github.com/larry-x-yu))
* [#1749](https://github.com/hjdivad/ember-m3/pull/1749) Fix nested cache merging for projections ([@hjdivad](https://github.com/hjdivad))
#### Committers: 2
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- [@larry-x-yu](https://github.com/larry-x-yu)
## v6.0.0 (2023-04-06)
#### đ„ Breaking Change
* [#1711](https://github.com/hjdivad/ember-m3/pull/1711) Bump node to active (12 -> 14) ([@hjdivad](https://github.com/hjdivad))
* dropped support for ember-data versions < 3.28.0
* per [ember 4 deprecation](https://deprecations.emberjs.com/v3.x/#toc_array-observers) array observers no longer supported on managed arrays
#### :bug: Bug Fix
* [#1737](https://github.com/hjdivad/ember-m3/pull/1737) Fixed a m3-store initialization issue ([@larry-x-yu](https://github.com/larry-x-yu))
* [#1726](https://github.com/hjdivad/ember-m3/pull/1726) Fix 'firstObject/lastObject' properties in Ember 4 with native proxies ([@larry-x-yu](https://github.com/larry-x-yu))
* ~[#1733](https://github.com/hjdivad/ember-m3/pull/1733) Fix nested cache merging for projections ([@hjdivad](https://github.com/hjdivad))~
- this fix was in 6.0.0-alpha.2 but is dropped from 6.0.0
#### :house: Internal
* [#1743](https://github.com/hjdivad/ember-m3/pull/1743) test array.0 explicitly ([@hjdivad](https://github.com/hjdivad))
* [#1732](https://github.com/hjdivad/ember-m3/pull/1732) cache eslint ([@hjdivad](https://github.com/hjdivad))
* [#1731](https://github.com/hjdivad/ember-m3/pull/1731) fix deprecations ([@hjdivad](https://github.com/hjdivad))
* [#1713](https://github.com/hjdivad/ember-m3/pull/1713) Reduce dependabot clutter ([@hjdivad](https://github.com/hjdivad))
* [#1708](https://github.com/hjdivad/ember-m3/pull/1708) Bump deps + fix deprecations ([@hjdivad](https://github.com/hjdivad))
* [#1692](https://github.com/hjdivad/ember-m3/pull/1692) Set ember edition to "octane" ([@nlfurniss](https://github.com/nlfurniss))
#### Committers: 3
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- [@larry-x-yu](https://github.com/larry-x-yu)
- Nathaniel Furniss ([@nlfurniss](https://github.com/nlfurniss))
## v6.0.0-alpha.3 (2023-02-17)
#### :bug: Bug Fix
* [#1737](https://github.com/hjdivad/ember-m3/pull/1737) Fixed a m3-store initialization issue ([@larry-x-yu](https://github.com/larry-x-yu))
#### Committers: 1
- [@larry-x-yu](https://github.com/larry-x-yu)
## v6.0.0-alpha.2 (2023-02-17)
#### :bug: Bug Fix
* [#1733](https://github.com/hjdivad/ember-m3/pull/1733) Fix nested cache merging for projections ([@hjdivad](https://github.com/hjdivad))
* [#1726](https://github.com/hjdivad/ember-m3/pull/1726) Fix 'firstObject/lastObject' properties in Ember 4 with native proxies ([@larry-x-yu](https://github.com/larry-x-yu))
#### :house: Internal
* [#1732](https://github.com/hjdivad/ember-m3/pull/1732) cache eslint ([@hjdivad](https://github.com/hjdivad))
* [#1731](https://github.com/hjdivad/ember-m3/pull/1731) fix deprecations ([@hjdivad](https://github.com/hjdivad))
* [#1713](https://github.com/hjdivad/ember-m3/pull/1713) Reduce dependabot clutter ([@hjdivad](https://github.com/hjdivad))
#### Committers: 2
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- [@larry-x-yu](https://github.com/larry-x-yu)
## v6.0.0-alpha.1 (2023-01-28)
#### :boom: Breaking Change
* [#1711](https://github.com/hjdivad/ember-m3/pull/1711) Bump node to active (12 -> 14) ([@hjdivad](https://github.com/hjdivad))
#### :house: Internal
* [#1708](https://github.com/hjdivad/ember-m3/pull/1708) Bump deps + fix deprecations ([@hjdivad](https://github.com/hjdivad))
* [#1692](https://github.com/hjdivad/ember-m3/pull/1692) Set ember edition to "octane" ([@nlfurniss](https://github.com/nlfurniss))
#### Committers: 2
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Nathaniel Furniss ([@nlfurniss](https://github.com/nlfurniss))
## v5.0.8 (2022-12-07)
#### :house: Internal
* [#1688](https://github.com/hjdivad/ember-m3/pull/1688) [ember 4] Add `for` and `since` in deprecate() to be ember 4 compat ([@serinyoon](https://github.com/serinyoon))
* [#1667](https://github.com/hjdivad/ember-m3/pull/1667) Cancel prior CI jobs for the same PR/branch. ([@rwjblue](https://github.com/rwjblue))
* [#1664](https://github.com/hjdivad/ember-m3/pull/1664) Fixup CI Runs ([@rwjblue](https://github.com/rwjblue))
#### Committers: 2
- Robert Jackson ([@rwjblue](https://github.com/rwjblue))
- [@serinyoon](https://github.com/serinyoon)
## v5.0.7 (2022-06-28)
#### :bug: Bug Fix
* [#1633](https://github.com/hjdivad/ember-m3/pull/1633) Update Ember-Inspector Compatibility ([@pete-the-pete](https://github.com/pete-the-pete))
* [#1568](https://github.com/hjdivad/ember-m3/pull/1568) Don't deprecate setting symbols ([@runspired](https://github.com/runspired))
#### :memo: Documentation
* [#1626](https://github.com/hjdivad/ember-m3/pull/1626) A test case to show how to use a symbol as an attribute name ([@larry-x-yu](https://github.com/larry-x-yu))
#### :house: Internal
* [#1571](https://github.com/hjdivad/ember-m3/pull/1571) Fix typo in test description ([@mrloop](https://github.com/mrloop))
#### Committers: 4
- Chris Thoburn ([@runspired](https://github.com/runspired))
- Ewan McDougall ([@mrloop](https://github.com/mrloop))
- Pete ([@pete-the-pete](https://github.com/pete-the-pete))
- [@larry-x-yu](https://github.com/larry-x-yu)
## v5.0.6 (2022-05-10)
#### :bug: Bug Fix
* [#1612](https://github.com/hjdivad/ember-m3/pull/1612) Fixed a bug caused by using '&&=' syntax ([@larry-x-yu](https://github.com/larry-x-yu))
#### Committers: 1
- [@larry-x-yu](https://github.com/larry-x-yu)
## v5.0.5 (2022-05-10)
#### :bug: Bug Fix
* [#1601](https://github.com/hjdivad/ember-m3/pull/1601) Fix lazy nested model creation for newly written attributes ([@larry-x-yu](https://github.com/larry-x-yu))
#### :house: Internal
* [#1607](https://github.com/hjdivad/ember-m3/pull/1607) Move feature-flags from CI to nightly ([@hjdivad](https://github.com/hjdivad))
#### Committers: 2
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- [@larry-x-yu](https://github.com/larry-x-yu)
## v5.0.4 (2022-01-12)
#### :bug: Bug Fix
* [#1534](https://github.com/hjdivad/ember-m3/pull/1534) [bugfix] ensure that errors can be updated when using useUnderlyingErrorsValue ([@gabrielcsapo](https://github.com/gabrielcsapo))
#### :house: Internal
* [#1531](https://github.com/hjdivad/ember-m3/pull/1531) Remove ember-cli-shims ([@rwjblue](https://github.com/rwjblue))
#### Committers: 3
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Gabriel Csapo ([@gabrielcsapo](https://github.com/gabrielcsapo))
- Robert Jackson ([@rwjblue](https://github.com/rwjblue))
## v5.0.3 (2021-11-01)
#### :bug: Bug Fix
* [#1403](https://github.com/hjdivad/ember-m3/pull/1403) Fix for tracked properties updating when using m3 native properties ([@igorT](https://github.com/igorT))
#### Committers: 1
- Igor Terzic ([@igorT](https://github.com/igorT))
## v5.0.2 (2021-09-29)
#### :bug: Bug Fix
* [#1376](https://github.com/hjdivad/ember-m3/pull/1376) Fix native property access in production ([@igorT](https://github.com/igorT))
#### Committers: 1
- Igor Terzic ([@igorT](https://github.com/igorT))
## v5.0.1 (2021-09-09)
#### :rocket: Enhancement
* [#1337](https://github.com/hjdivad/ember-m3/pull/1337) Add support for Node v16 ([@igorT](https://github.com/igorT))
#### Committers: 1
- Igor Terzic ([@igorT](https://github.com/igorT))
## v5.0.0 (2021-09-02)
#### :boom: Breaking Change
* [#1299](https://github.com/hjdivad/ember-m3/pull/1299) `Array.isArray(value)` should not be used with M3 Arrays and will be returning `true` in the future.
With Ember Data versions `3.28.0` and above M3 Arrays can be used as native JS arrays other than in IE11 which doesn't support proxies. For example, instead of having to do `m3Array.objectAt(0)` you can now do `m3Array[0]`.
However, because M3 Arrays are now proxying JavaScript native arrays, the return value of `Array.isArray(m3Array)` will change to now be `true`,
so it is no longer safe to rely on `Array.isArray` to distinguish between native and m3 arrays. If you need to detect an M3 Array we have now provided a utility method `isM3Array`:
```js
import isM3Array from 'ember-m3/utils/is-m3-array'
// To replicate old behavior of `Array.isArray(value)` you would need to do:
let isJSArray = Array.isArray(value) && !isM3Array(value)
```
#### :rocket: Enhancement
* [#1300](https://github.com/hjdivad/ember-m3/pull/1300) Do not emit array change events when app is being destroyed ([@igorT](https://github.com/igorT))
* [#1301](https://github.com/hjdivad/ember-m3/pull/1301) Sync projections and base model deleted state with CUSTOM_MODEL_CLASS ([@igorT](https://github.com/igorT))
* [#1238](https://github.com/hjdivad/ember-m3/pull/1238) Add array native access ([@igorT](https://github.com/igorT))
* [#1232](https://github.com/hjdivad/ember-m3/pull/1232) Add native property access for models ([@igorT](https://github.com/igorT))
#### :bug: Bug Fix
* [#1315](https://github.com/hjdivad/ember-m3/pull/1315) Add IE testing and guard proxies when they are not present ([@igorT](https://github.com/igorT))
* [#1298](https://github.com/hjdivad/ember-m3/pull/1298) Do not needlessly access `isDirty` ([@igorT](https://github.com/igorT))
* [#1299](https://github.com/hjdivad/ember-m3/pull/1299) Switch m3 array proxies to proxy [] insted of BaseRecordArray ([@igorT](https://github.com/igorT))
* [#1301](https://github.com/hjdivad/ember-m3/pull/1301) Sync projections and base model deleted state with CUSTOM_MODEL_CLASS ([@igorT](https://github.com/igorT))
* [#1295](https://github.com/hjdivad/ember-m3/pull/1295) Fix isDeleted rollbackAttributes for Custom Model Class ([@igorT](https://github.com/igorT))
* [#1241](https://github.com/hjdivad/ember-m3/pull/1241) fix: skip this.errors.remove if useUnderlyingErrorsValue ([@spham92](https://github.com/spham92))
* [#1243](https://github.com/hjdivad/ember-m3/pull/1243) Fix isError and adapterError with CUSTOM_MODEL_CLASSES ([@igorT](https://github.com/igorT))
* [#1240](https://github.com/hjdivad/ember-m3/pull/1240) Fix for projected models resolving in projected arrays, when CUSTOM_MODEL_CLASS is on ([@igorT](https://github.com/igorT))
* [#1248](https://github.com/hjdivad/ember-m3/pull/1248) Add 'for' and 'since' to nativeProperties deprecation ([@igorT](https://github.com/igorT))
* [#1249](https://github.com/hjdivad/ember-m3/pull/1249) Fix isSaving for embedded records when CUSTOM MODEL CLASS is on ([@igorT](https://github.com/igorT))
* [#1242](https://github.com/hjdivad/ember-m3/pull/1242) Fix isDirty for inflight records and set _topModel to the proxy value ([@igorT](https://github.com/igorT))
* [#1247](https://github.com/hjdivad/ember-m3/pull/1247) Don't trigger dot access deprecations when useNativeProperties hook isn't defined ([@igorT](https://github.com/igorT))
#### :memo: Documentation
* [#1252](https://github.com/hjdivad/ember-m3/pull/1252) Add documentation for native property access ([@igorT](https://github.com/igorT))
#### :house: Internal
* [#1296](https://github.com/hjdivad/ember-m3/pull/1296) Convert state tests to use native property access ([@igorT](https://github.com/igorT))
* [#1251](https://github.com/hjdivad/ember-m3/pull/1251) Cleanup the invalid errors test ([@igorT](https://github.com/igorT))
#### Committers: 2
- Igor Terzic ([@igorT](https://github.com/igorT))
- Steven Pham ([@spham92](https://github.com/spham92))
## v4.2.0 (2021-08-02)
#### :rocket: Enhancement
* [#1238](https://github.com/hjdivad/ember-m3/pull/1238) Add nattive property access for arrays ([@igorT](https://github.com/igorT))
* [#1232](https://github.com/hjdivad/ember-m3/pull/1232) Add native property access for models ([@igorT](https://github.com/igorT))
#### :bug: Bug Fix
* [#1241](https://github.com/hjdivad/ember-m3/pull/1241) fix: skip this.errors.remove if useUnderlyingErrorsValue ([@spham92](https://github.com/spham92))
* [#1243](https://github.com/hjdivad/ember-m3/pull/1243) Fix isError and adapterError with CUSTOM_MODEL_CLASSES ([@igorT](https://github.com/igorT))
* [#1240](https://github.com/hjdivad/ember-m3/pull/1240) Fix for projected models resolving in projected arrays, when CUSTOM_MODEL_CLASS is on ([@igorT](https://github.com/igorT))
* [#1249](https://github.com/hjdivad/ember-m3/pull/1249) Fix isSaving for embedded records when CUSTOM MODEL CLASS is on ([@igorT](https://github.com/igorT))
* [#1242](https://github.com/hjdivad/ember-m3/pull/1242) Fix isDirty for inflight records and set _topModel to the proxy value ([@igorT](https://github.com/igorT))
#### :memo: Documentation
* [#1252](https://github.com/hjdivad/ember-m3/pull/1252) Add documentation for native property access ([@igorT](https://github.com/igorT))
#### :house: Internal
* [#1251](https://github.com/hjdivad/ember-m3/pull/1251) Cleanup the invalid errors test ([@igorT](https://github.com/igorT))
#### Committers: 2
- Igor Terzic ([@igorT](https://github.com/igorT))
- Steven Pham ([@spham92](https://github.com/spham92))
## v4.1.3 (2021-07-27)
#### :bug: Bug Fix
* [#1226](https://github.com/hjdivad/ember-m3/pull/1226) Fix array resolving for non references when CUSTOM_MODEL_CLASS is off ([@igorT](https://github.com/igorT))
* [#1169](https://github.com/hjdivad/ember-m3/pull/1169) Custom Model Classes: Ensure isDirty for embedded records doesn't recursively loop ([@igorT](https://github.com/igorT))
* [#1175](https://github.com/hjdivad/ember-m3/pull/1175) Custom Model Classs: Fix isLoading and isLoaded flags on model ([@igorT](https://github.com/igorT))
#### :house: Internal
* [#1184](https://github.com/hjdivad/ember-m3/pull/1184) Use operator instead of property access for existence checks ([@igorT](https://github.com/igorT))
* [#1183](https://github.com/hjdivad/ember-m3/pull/1183) Avoid repeatedly looking up the schema type when resolving ([@igorT](https://github.com/igorT))
* [#1179](https://github.com/hjdivad/ember-m3/pull/1179) Make perfomance testing app more robust to slow tests ([@igorT](https://github.com/igorT))
* [#1172](https://github.com/hjdivad/ember-m3/pull/1172) Upgrade ember-lts versions to actual latest and latest-1 ([@igorT](https://github.com/igorT))
#### Committers: 1
- Igor Terzic ([@igorT](https://github.com/igorT))
## v4.1.2 (2021-07-02)
#### :bug: Bug Fix
* [#1180](https://github.com/hjdivad/ember-m3/pull/1180) Fix feature flag infra code for node ([@igorT](https://github.com/igorT))
#### :house: Internal
* [#1174](https://github.com/hjdivad/ember-m3/pull/1174) Make perfomance testing app more robust to slow tests ([@igorT](https://github.com/igorT))
#### Committers: 1
- Igor Terzic ([@igorT](https://github.com/igorT))
## v4.1.1 (2021-06-30)
#### :bug: Bug Fix
* [#1167](https://github.com/hjdivad/ember-m3/pull/1167) Allow custom ObjectProxy instances to be wrapped around an M3Model instance ([@igorT](https://github.com/igorT))
#### :house: Internal
* [#1157](https://github.com/hjdivad/ember-m3/pull/1157) Add CI workflow for running TracerBench ([@igorT](https://github.com/igorT))
* [#1156](https://github.com/hjdivad/ember-m3/pull/1156) Add a performance testing app ([@igorT](https://github.com/igorT))
#### Committers: 2
- Igor Terzic ([@igorT](https://github.com/igorT))
- Robert Jackson ([@rwjblue](https://github.com/rwjblue))
## v4.1.0 (2021-06-25)
#### :rocket: Enhancement
* [#1145](https://github.com/hjdivad/ember-m3/pull/1145) Make errors attribute configurable ([@spham92](https://github.com/spham92))
#### Committers: 1
- Steven Pham ([@spham92](https://github.com/spham92))
## v4.0.2 (2021-06-24)
Internal release - no user-visible changes
## v4.0.1 (2021-06-24)
Internal release - no user-visible changes
## v4.0.0 (2021-06-24)
#### :boom: Breaking Change
* [#1100](https://github.com/hjdivad/ember-m3/pull/1100) Drop support for inactive node 10 ([@hjdivad](https://github.com/hjdivad))
#### :rocket: Enhancement
* [#1032](https://github.com/hjdivad/ember-m3/pull/1032) Adds support for native Proxy behind a canary feature flag ([@pzuraq](https://github.com/pzuraq))
* [#787](https://github.com/hjdivad/ember-m3/pull/787) replace computeNestedModel and computeAttributeReference schema hooks with computeAttribute ([@igorT](https://github.com/igorT))
#### :bug: Bug Fix
* [#1131](https://github.com/hjdivad/ember-m3/pull/1131) Ensure we do not add custom babel plugins multiple times ([@rwjblue](https://github.com/rwjblue))
* [#1121](https://github.com/hjdivad/ember-m3/pull/1121) Avoid invalid imports in production app tree ([@rwjblue](https://github.com/rwjblue))
* [#1099](https://github.com/hjdivad/ember-m3/pull/1099) Fix state notifications when CUSTOM_MODEL_CLASS is active ([@runspired](https://github.com/runspired))
* [#1005](https://github.com/hjdivad/ember-m3/pull/1005) Pass owner when creating M3DebugAdapter ([@pzuraq](https://github.com/pzuraq))
* [#817](https://github.com/hjdivad/ember-m3/pull/817) temporary fix for stringifying models in the debug adapter ([@betocantu93](https://github.com/betocantu93))
* [#840](https://github.com/hjdivad/ember-m3/pull/840) Replace `new Object(null)` with `Object.create(null)`. ([@rwjblue](https://github.com/rwjblue))
#### :house: Internal
* [#1091](https://github.com/hjdivad/ember-m3/pull/1091) Updated pinned yarn version ([@hjdivad](https://github.com/hjdivad))
* [#1047](https://github.com/hjdivad/ember-m3/pull/1047) Refactor warning capturing and testing. ([@rwjblue](https://github.com/rwjblue))
* [#822](https://github.com/hjdivad/ember-m3/pull/822) Remove work around for Ember < 2.12 relying on `setOwner` enumerability ([@rwjblue](https://github.com/rwjblue))
* [#789](https://github.com/hjdivad/ember-m3/pull/789) and [#793](https://github.com/hjdivad/ember-m3/pull/793) TrackedArrays and ReferenceArrays are now unified as a ManagedArray ([@igorT](https://github.com/igorT))
#### Committers: 7
- Alberto CantĂș GĂłmez ([@betocantu93](https://github.com/betocantu93))
- Chris Garrett ([@pzuraq](https://github.com/pzuraq))
- Chris Thoburn ([@runspired](https://github.com/runspired))
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Igor Terzic ([@igorT](https://github.com/igorT))
- Robert Jackson ([@rwjblue](https://github.com/rwjblue))
- Steven Pham ([@spham92](https://github.com/spham92))
## v3.0.8 (2021-07-28)
#### :bug: Bug Fix
* [#1131](https://github.com/hjdivad/ember-m3/pull/1131) Ensure we do not add custom babel plugins multiple times ([@rwjblue](https://github.com/rwjblue))
* [#1121](https://github.com/hjdivad/ember-m3/pull/1121) Avoid invalid imports in production app tree ([@rwjblue](https://github.com/rwjblue))
* [#1099](https://github.com/hjdivad/ember-m3/pull/1099) Fix state notifications when CUSTOM_MODEL_CLASS is active ([@runspired](https://github.com/runspired))
#### :house: Internal
* [#1047](https://github.com/hjdivad/ember-m3/pull/1047) Refactor warning capturing and testing. ([@rwjblue](https://github.com/rwjblue))
## v3.0.7 (2021-03-17)
#### :bug: Bug Fix
- [#1041](https://github.com/hjdivad/ember-m3/pull/1041) Only execute callback once per key for eachAttribute (backport #1022) ([@betocantu93](https://github.com/betocantu93))
#### Committers: 1
- Alberto CantĂș GĂłmez ([@betocantu93](https://github.com/betocantu93))
## v3.0.6 (2021-03-15)
#### :bug: Bug Fix
- [#1033](https://github.com/hjdivad/ember-m3/pull/1033) fix: outer object replacement and nested property change (backport #1031) ([@spham92](https://github.com/spham92))
#### :house: Internal
- [#1036](https://github.com/hjdivad/ember-m3/pull/1036) chore: bump release-it, release-it-lerna-changelog ([@hjdivad](https://github.com/hjdivad))
#### Committers: 2
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Steven Pham ([@spham92](https://github.com/spham92))
## v3.0.5 (2021-01-05)
#### :rocket: Enhancement
- [#784](Add queryParams option for Store.queryURL) (backported via #980)
#### Committers: 1
- ([@2hu](https://github.com/2hu12))
## v3.0.4 (2020-09-29)
#### :bug: Bug Fix
- [#892](https://github.com/hjdivad/ember-m3/pull/892) Fix keeping embedded records in sync inside projections ([@igorT](https://github.com/igorT))
#### Committers: 1
- Igor Terzic ([@igorT](https://github.com/igorT))
## v3.0.3 (2020-08-28)
#### :rocket: Enhancement
- [#852](https://github.com/hjdivad/ember-m3/pull/852) queryURL can resolve primitive values ([@hjdivad](https://github.com/hjdivad))
#### Committers: 1
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
## v3.0.2 (2020-08-20)
#### :rocket: Enhancement
- [#837](https://github.com/hjdivad/ember-m3/pull/837) Avoid checking project dependencies more than once per project ([@hjdivad](https://github.com/hjdivad))
#### Committers: 2
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Robert Jackson ([@rwjblue](https://github.com/rwjblue))
## v3.0.1 (2020-08-20)
#### :bug: Bug Fix
Avoid `checker.check` when project depends on ember-data for a performance gain
#### Committers: 1
- Robert Jackson ([@rwjblue](https://github.com/rwjblue))
## v3.0.0 (2020-06-09)
#### :boom: Breaking Change
- [#760](https://github.com/hjdivad/ember-m3/pull/760) fix: flag store reopen and extend store properly ([@runspired](https://github.com/runspired))
**Migrating**
If your app or addon previously used `extendStore` or directly applied the store mixin, you will need to migrate your app or addon to extend from the ember-m3 store.
**before with extendStore**
```js
import { extendStore } from 'ember-m3/mixins/store';
import Store from '@ember-data/store';
class AppStore extends Store {}
extendStore(AppStore);
export default AppStore;
```
**before with Mixin**
```js
import StoreMixin from 'ember-m3/mixins/store';
import Store from '@ember-data/store';
class AppStore extends Store.extend(StoreMixin) {}
export default AppStore;
```
**after**
```js
import Store from 'ember-m3/services/store';
export default class AppStore extends Store {}
```
#### :bug: Bug Fix
- [#760](https://github.com/hjdivad/ember-m3/pull/760) fix: flag store reopen and extend store properly ([@runspired](https://github.com/runspired))
#### Committers: 1
- Chris Thoburn ([@runspired](https://github.com/runspired))
## v2.1.0 (2020-06-07)
#### :rocket: Enhancement
- [#727](https://github.com/hjdivad/ember-m3/pull/727) Assert against projection cycles ([@hjdivad](https://github.com/hjdivad))
#### :bug: Bug Fix
- [#732](https://github.com/hjdivad/ember-m3/pull/732) queryURL learns to tolerate empty responses ([@hjdivad](https://github.com/hjdivad))
#### Committers: 1
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
## v2.0.0 (2020-05-18)
#### :boom: Breaking Change
- [#695](https://github.com/hjdivad/ember-m3/pull/695) utilize ember-data's project trim ([@hjdivad](https://github.com/hjdivad))
- [#705](https://github.com/hjdivad/ember-m3/pull/705) cleanup: BREAKING drop EmberData<3.16 support for 2.0 ([@runspired](https://github.com/runspired))
- [#693](https://github.com/hjdivad/ember-m3/pull/693) Dropping support for < ember-data 3.12 ([@hjdivad](https://github.com/hjdivad))
#### :rocket: Enhancement
- [#695](https://github.com/hjdivad/ember-m3/pull/695) utilize ember-data's project trim ([@hjdivad](https://github.com/hjdivad))
#### :memo: Documentation
- [#719](https://github.com/hjdivad/ember-m3/pull/719) updates readme with tests/dummy example and fix dummy ([@betocantu93](https://github.com/betocantu93))
#### :house: Internal
- [#655](https://github.com/hjdivad/ember-m3/pull/655) Unpin `ember-source` version in `package.json` ([@rwjblue](https://github.com/rwjblue))
- [#656](https://github.com/hjdivad/ember-m3/pull/656) Add ember-lts-3.16 ember-try scenario. ([@rwjblue](https://github.com/rwjblue))
#### Committers: 5
- Alberto CantĂș GĂłmez ([@betocantu93](https://github.com/betocantu93))
- Chris Thoburn ([@runspired](https://github.com/runspired))
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Robert Jackson ([@rwjblue](https://github.com/rwjblue))
- Stefan Penner ([@stefanpenner](https://github.com/stefanpenner))
## v1.0.3 (2020-04-09)
#### :bug: Bug Fix
- [#651](https://github.com/hjdivad/ember-m3/pull/651) Fix monkeypatching logic for memory leak ([@igorT](https://github.com/igorT))
#### Committers: 1
- Igor Terzic ([@igorT](https://github.com/igorT))
## v1.0.2 (2020-04-03)
#### :bug: Bug Fix
- [#642](https://github.com/hjdivad/ember-m3/pull/642) Fix memory leak in fastboot caused by modifying class prototype ([@igorT](https://github.com/igorT))
#### Committers: 3
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Igor Terzic ([@igorT](https://github.com/igorT))
- Robert Jackson ([@rwjblue](https://github.com/rwjblue))
## v1.0.1 (2020-03-19)
#### :bug: Bug Fix
- [#611](https://github.com/hjdivad/ember-m3/pull/611) Fix trackedNotifications for destroying records ([@igorT](https://github.com/igorT))
#### :house: Internal
- [#595](https://github.com/hjdivad/ember-m3/pull/595) Update automated release setup. ([@rwjblue](https://github.com/rwjblue))
#### Committers: 3
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Igor Terzic ([@igorT](https://github.com/igorT))
- Robert Jackson ([@rwjblue](https://github.com/rwjblue))
## v1.0.0 (2020-03-04)
#### :boom: Breaking Change
- [#563](https://github.com/hjdivad/ember-m3/pull/563) Drop node 8 & upgrade all dependencies ([@stefanpenner](https://github.com/stefanpenner))
- [#573](https://github.com/hjdivad/ember-m3/pull/573) Drop node 8, like everybody else ([@hjdivad](https://github.com/hjdivad))
#### :bug: Bug Fix
- [#567](https://github.com/hjdivad/ember-m3/pull/567) Drop direct dependencies on Ember Data ([@hjdivad](https://github.com/hjdivad))
- [#570](https://github.com/hjdivad/ember-m3/pull/570) Re-export interop-debug-adapter in app as data-adapter ([@SYU15](https://github.com/SYU15))
- [#544](https://github.com/hjdivad/ember-m3/pull/544) Allow .toString to be called on record prototype ([@SYU15](https://github.com/SYU15))
#### :house: Internal
- [#582](https://github.com/hjdivad/ember-m3/pull/582) action time ([@hjdivad](https://github.com/hjdivad))
#### Committers: 3
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Sarah Yu ([@SYU15](https://github.com/SYU15))
- Stefan Penner ([@stefanpenner](https://github.com/stefanpenner))
## v0.11.11 (2020-01-17)
#### :bug: Bug Fix
- [#529](https://github.com/hjdivad/ember-m3/pull/529) Fix hasChangedAttributes with arrays of nested models ([@igorT](https://github.com/igorT))
## v0.11.10 (2020-01-13)
#### :rocket: Enhancement
- [#478](https://github.com/hjdivad/ember-m3/pull/478) feat: support @ember-data packages and trimming ([@runspired](https://github.com/runspired))
#### :bug: Bug Fix
- [#513](https://github.com/hjdivad/ember-m3/pull/513) Fix isDirty check for parents of nested models ([@igorT](https://github.com/igorT))
#### Committers: 2
- Chris Thoburn ([@runspired](https://github.com/runspired))
- Igor Terzic ([@igorT](https://github.com/igorT))
## v0.11.9 (2019-12-18)
#### :rocket: Enhancement
- [#477](https://github.com/hjdivad/ember-m3/pull/477) perf: instantiate errors lazily ([@runspired](https://github.com/runspired))
#### :bug: Bug Fix
- [#490](https://github.com/hjdivad/ember-m3/pull/490) Fix isDirty regression ([@hjdivad](https://github.com/hjdivad))
- [#472](https://github.com/hjdivad/ember-m3/pull/472) fix: remove seen model types in debug-adapter when inspector is closed ([@SYU15](https://github.com/SYU15))
- [#458](https://github.com/hjdivad/ember-m3/pull/458) fix: don't overwrite existing babel plugins ([@hjdivad](https://github.com/hjdivad))
#### :memo: Documentation
- [#484](https://github.com/hjdivad/ember-m3/pull/484) Update support policy ([@hjdivad](https://github.com/hjdivad))
#### :house: Internal
- [#485](https://github.com/hjdivad/ember-m3/pull/485) dx: Fix ember data feature import ([@hjdivad](https://github.com/hjdivad))
- [#483](https://github.com/hjdivad/ember-m3/pull/483) dx: Fix CUSTOM_MODEL_CLASS fallback ([@hjdivad](https://github.com/hjdivad))
- [#460](https://github.com/hjdivad/ember-m3/pull/460) chore: cleanup deprecations ([@runspired](https://github.com/runspired))
- [#459](https://github.com/hjdivad/ember-m3/pull/459) Fix canary feature imports ([@igorT](https://github.com/igorT))
#### Committers: 4
- Chris Thoburn ([@runspired](https://github.com/runspired))
- David J. Hamilton ([@hjdivad](https://github.com/hjdivad))
- Igor Terzic ([@igorT](https://github.com/igorT))
- Sarah Yu ([@SYU15](https://github.com/SYU15))
## 0.11.8
- feat: Add support for Ember Data custom model classes (thanks @igort)
- feat: Add support for displaying models in ember inspector (thanks @syu15)
- feat: Add `meta` support in `queryURL` (thanks @2hu12)
- feat: Add headers support in `queryURL` (thanks @pyuan)
- fix: Fix `isDirty` when setting an attr to its previous value (thanks @2hu12)
- feat: Various updates to maintain compatibility with Ember Data canary (thanks @runspired)
## 0.11.7
- fix: Do not cause build errors with ember-cli-babel@7 (#386 thanks @rwjblue)
## 0.11.6
- docs: Improved debugging docs (thanks @syu15)
- feat: `adapter.queryURL` now supports `adapterOptions` (thanks @loganrosen)
## 0.11.5
- fix: model now dirties during set if the schema dirties any attribute (including ones other than what was set) #377 (thanks @rwjblue)
## 0.11.4
- feat: add debug-adapter for Ember-Inspector support (thanks @syu15)
- fix: fix `debugJSON` for projections (thanks @syu15)
- fix: trigger change notifications when updating references in reference arrays (thanks @runspired)
- fix: trigger array change with correct index arg (thanks @rwjblue)
## 0.11.3
- fix: issues when creating record data for projections (thanks @runspired)
- fix: allow user schemas to compute references with null ids
- fix: user schema hooks take priority over raw values for determining reference arrays
## 0.11.2
- fix: compatibility with Ember Data 3.12.x (thanks @rwjblue)
## 0.11.1
- fix: only store base types in global cache (#315)
## 0.11.0
- chore: drop support for node 6 and ember 2.18 (we support latest 2 LTS and current release)
- feat: batch array changes. Array updates (eg from references updated in `store.push`) are now deferred along with regular property updates.
## 0.10.6
- fix: queryURL no longer erroneously caches rejected responses (thanks @teopalva)
- docs: update contributing guide (thanks @ghaagsma)
## 0.10.5
- fix: bring back M3TrackedArray.value and deprecate
## 0.10.4
- feat: allow handling of EmbeddedMegamorphicModels by computeNestedModel
- feat: dont stash value on tracked arrays
- feat: enable computeNestedModel to handle arrays
- bugfix: batch change notifications
- bugfix: setting arrays with a mix of models and pojos
- bugfix: Revert "Revert "Delegate `_destroyChildRecordData` to base""
## 0.10.2
- bugfix: Revert 'Delegate `_destroyChildRecordData` to base'
## 0.10.1
- bugfix: prevent cycles in dependencies from self-referential schemas (thanks @igort)
- bugfix: fix changed attributes for projections when dirty nested models set to null
## 0.10.0
- feature: Add `isAttributeResolved` API for schema control over interpreting set values as already resolved or not
- bugfix: empty native arrays are now correctly treated as unresolved when set
- breaking: `changedAttributes` improved format for newly created nested records so they can be distinguished from edits to existing nested records (thanks @iterzic @eddie-ruva)
- cleanup: add assertion for attempts to save embedded m3 models directly (thanks @ghaagsma)
## 0.9.9
- bugfix: `changedAttributes` could stack overflow from incorrect deep copy cycle detection (#231)
## 0.9.8
- bugfix: `hasLocalAttr` was not taking into account the base record data when dealing with a projection record. (thanks @eddi-ruva)
## 0.9.7
- feature: add `deleteAttr` to schema interface (thanks @eddi-ruva)
- bugfix: nested model updates from local updates with partial updates from server #215 thanks (@ygongdev)
- bugfix: `rollbackAttributes` for record data from projections (thanks @eddi-ruva)
## 0.9.6
- bugfix: reference array updates are now resolved lazily #205
- bugfix: destroying new records does not trigger API request
- cleanup: dropped use of deprecated `Ember.copy`
- cleanup: fixed errors in README (thanks @ibraheem4)
## 0.9.5
- bugfix: do not throw when setting an id to its current value
- bugfix: add support for ember-data 3.5.x
## 0.9.4
- bugfix: reference arrays can update to undefined (treated as now empty)
## 0.9.3
- bugfix: keep nested model state in sync
- bugfix: add `changedAttributes()` to nested models
- bugfix: projections iterate attributes from base (#165)
## 0.9.2
- rollback ember-cli-babel to v6
## 0.9.1
- no longer including useless default service in `app/services/-ember-m3` which
mainly forced apps with in-repo addons to ensure they had `after` specified
## 0.9.0
- apps now specify schemas via a service rather than global registration
- tracked arrays accept embedded models from other top models (although this is
not recommended)
## 0.8.2
- bugfix: tracked arrays no longer overwrite existing entries (thanks @dnalagatla)
## 0.8.1
- `modelName` is now passed to `computeAttributes`
## 0.8.0
- bugfix: dependent keys are tracked even when they are initially absent in the server payload
- breaking: schema manager is now a service. See UPGRADING.md. (thanks @dnachev)
- bugfix: fix support for ember 3.4.0-beta.1
- feature: Added [cacheURL](https://github.com/hjdivad/ember-m3/blob/e760dd7eed86dd3d19fdd7f9b36dec25c347a18c/README.md#manual-cache-insertion) (thanks @sangm)
- records added to tracked arrays now remove themselves when unloaded
## 0.7.13
- Added support to track changes in Array #136
## 0.7.12
- models added to record arrays are now entangled with those arrays, so they'll
be auto-removed when eg destroyed. Previously only models that started in
record arrays were entangled.
## 0.7.11
- Fixed `computeNestedModel` schema hook to be able to call `schemaInterface.getAttr()`
## 0.7.9
- Added `setAttribute` schema hook #127
## 0.7.8
- Fixed updating state of model to `loaded.update.uncommitted` upon invoking `set` in model.
## 0.7.7
- Fixed changedAttributes() on a projection to return all changes.
## 0.7.6
- Fixed handling of model names normalization. The schema no longer needs to normalize when returning
references, nested models and base model names.
## 0.7.5
- Model supports client validation errors. For convenience with migrating from @ember-data/model, `errors` an instance of same `Errors` class used by
`@ember-data/model`, which provides list of vaidation errors.
## 0.7.4
- bugfix: `setUnknownProperty` remove cache and child model data if value is not resolved.
## 0.7.3
- bugfix: `setUnknownProperty` remove cache after setting a new value and only update cache when value is resolved.
## 0.7.2
- bugfix: `setUnknownProperty` only update cache when value is resolved.
## 0.7.1
- bugfix: Now able to get `length` of `M3RecordArray` as property.
## 0.7.0
- breaking: Properties manually set, including those set in initial record
creation, are treated as resolved. This means that
`createRecord({ myprop })` will not use transforms for `myprop`.
- bugfix: now able to set `RecordArray` properties with `RecordArray` values.
Semantics are still update in-place, as when setting to arrays of models.
## 0.6.0
- breaking: To be consistent with the request types used in ember-data,
`queryURL` will pass a `requestType` of `queryURL`. Previously `query-url`
was passed.
- breaking: All arrays of references are now returned as `RecordArray`s.
`schema.isAttributeArrayRef` is therefore deprecated.
- `store.queryURL` will now call `adapter.queryURL` if it exists, instead of
`adapter.ajax`. This is intended to be a hook for doing app-wide url
conversion for `store.queryURL` calls beyond prepending the adapter
namespace.
## 0.5.1
- bugfix: when using `schemaInterface` to compute attribute references from
data other than `key`, dependencies are now tracked and `key` is invalidated
correctly when those dependencies are invalidated. (thanks @dnalagatla)
## 0.5.0
- bugfix: prevent `notifyProperties(undefined)` from nested models with no changed attributes (thanks @sangm)
- nested models that specify type, id are not re-used when these change. `null` id is fine for indicating a uniform type that should always be reused when new properties come in (thanks @dnachev)
- attribute semantics now merge (so missing attributes are not treated as deletes thanks @dnachev)
## 0.4.2
- fix phantomjs regression (use of native Map).
- calls to `queryURL` for the same `cacheKey` are now batched (thanks @dnalagatla)
## 0.4.1
- fix ember 3.1 regression from unusual CP definition
- fix regression from 0.4.0: `eachAttribute` iterates over modified attributes,
as well as the last known attributes from the server.
- deleted models removed from record arrays
## 0.4.0
- change to use ModelData. This is based on the implementation of the [ModelData RFC](https://github.com/emberjs/rfcs/pull/293) and so is "pre-canary". This release should therefore be considered unstable. 0.5.x will likely depend on a version of Ember Data in which ModelData is the intimate addon API.
- M3 models now report changed attributes via `changedAttributes`, like Ember
Data. `changedAttributes` reports changed attributes recursively for nested
models.
## 0.3.3
- schema APIs now have access to the full data hash. This enables schemas that
depend on key mutations. For example, `computeAttributeReference` might work
based on a key prefix `{ '*book': '123' }` that differs from the property
name (in this example, `book`). Thanks @dnalagatla
## 0.3.2
- setting `id` now only asserts for top-level models, and not embedded models
## 0.3.1
- `model.reload` now supports passing `{ adapterOptions }`
- setting `id` for an existing model now asserts
## 0.3.0
- Nested model's `unloadRecord` now no-ops and warns instead of erroring