Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions .changeset/content-property.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/deepclone-own-properties.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/getdependency-switch.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/globalcache-preallocate.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/lazy-entity-clone.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/normalize-hidden-class.md

This file was deleted.

9 changes: 9 additions & 0 deletions examples/benchmark-react/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# example-benchmark-react

## 0.1.7

### Patch Changes

- Updated dependencies [[`8a7c8d9`](https://github.com/reactive/data-client/commit/8a7c8d9cc4228a6281849f56121699f237af4b0f)]:
- @data-client/rest@0.16.6
- @data-client/react@0.16.0
- @data-client/endpoint@0.16.3

## 0.1.6

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/benchmark-react/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "example-benchmark-react",
"version": "0.1.6",
"version": "0.1.7",
"private": true,
"description": "React rendering benchmark comparing @data-client/react against other data libraries",
"scripts": {
Expand Down
8 changes: 8 additions & 0 deletions examples/benchmark/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# example-benchmark

## 0.4.83

### Patch Changes

- Updated dependencies [[`467a5f6`](https://github.com/reactive/data-client/commit/467a5f6f9d4cdaf0927fa7e22520c5d2c1462ff5), [`e9e96f1`](https://github.com/reactive/data-client/commit/e9e96f1751895c17e046461a1c38bb4bb093c141), [`7d28629`](https://github.com/reactive/data-client/commit/7d28629d07f6cade43e36f3cf1956f175f98d84f), [`7df6a49`](https://github.com/reactive/data-client/commit/7df6a49ee9fcdac10f9f24ec48c4df0931efa0b0), [`98a7831`](https://github.com/reactive/data-client/commit/98a78318770feaa8433708693bec90b81cbcb1b2)]:
- @data-client/normalizr@0.16.6
- @data-client/endpoint@0.16.3

## 0.4.82

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/benchmark/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "example-benchmark",
"version": "0.4.82",
"version": "0.4.83",
"description": "Benchmark for normalizr",
"main": "index.js",
"author": "Nathaniel Tucker",
Expand Down
7 changes: 7 additions & 0 deletions examples/coin-app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# coinbase-lite

## 0.0.22

### Patch Changes

- Updated dependencies [[`8a7c8d9`](https://github.com/reactive/data-client/commit/8a7c8d9cc4228a6281849f56121699f237af4b0f)]:
- @data-client/rest@0.16.6

## 0.0.21

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions examples/coin-app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "coinbase-lite",
"version": "0.0.21",
"version": "0.0.22",
"packageManager": "yarn@4.13.0",
"description": "Coin App",
"scripts": {
Expand Down Expand Up @@ -46,7 +46,7 @@
"@babel/runtime-corejs3": "7.29.2",
"@data-client/img": "0.16.0",
"@data-client/react": "0.16.0",
"@data-client/rest": "0.16.5",
"@data-client/rest": "0.16.6",
"core-js": "3.49.0",
"d3": "7.9.0",
"history": "*",
Expand Down
8 changes: 8 additions & 0 deletions examples/normalizr-github/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# normalizr-github-example

## 0.1.58

### Patch Changes

- Updated dependencies [[`467a5f6`](https://github.com/reactive/data-client/commit/467a5f6f9d4cdaf0927fa7e22520c5d2c1462ff5), [`e9e96f1`](https://github.com/reactive/data-client/commit/e9e96f1751895c17e046461a1c38bb4bb093c141), [`7d28629`](https://github.com/reactive/data-client/commit/7d28629d07f6cade43e36f3cf1956f175f98d84f), [`7df6a49`](https://github.com/reactive/data-client/commit/7df6a49ee9fcdac10f9f24ec48c4df0931efa0b0), [`98a7831`](https://github.com/reactive/data-client/commit/98a78318770feaa8433708693bec90b81cbcb1b2)]:
- @data-client/normalizr@0.16.6
- @data-client/endpoint@0.16.3

## 0.1.57

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/normalizr-github/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "normalizr-github-example",
"version": "0.1.57",
"version": "0.1.58",
"description": "And example of using Normalizr with github",
"main": "index.js",
"author": "Paul Armstrong",
Expand Down
8 changes: 8 additions & 0 deletions examples/normalizr-redux/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# normalizr-redux-example

## 0.1.56

### Patch Changes

- Updated dependencies [[`467a5f6`](https://github.com/reactive/data-client/commit/467a5f6f9d4cdaf0927fa7e22520c5d2c1462ff5), [`e9e96f1`](https://github.com/reactive/data-client/commit/e9e96f1751895c17e046461a1c38bb4bb093c141), [`7d28629`](https://github.com/reactive/data-client/commit/7d28629d07f6cade43e36f3cf1956f175f98d84f), [`7df6a49`](https://github.com/reactive/data-client/commit/7df6a49ee9fcdac10f9f24ec48c4df0931efa0b0), [`98a7831`](https://github.com/reactive/data-client/commit/98a78318770feaa8433708693bec90b81cbcb1b2)]:
- @data-client/normalizr@0.16.6
- @data-client/endpoint@0.16.3

## 0.1.55

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/normalizr-redux/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "normalizr-redux-example",
"version": "0.1.55",
"version": "0.1.56",
"description": "And example of using Normalizr with Redux",
"main": "index.js",
"author": "Paul Armstrong",
Expand Down
8 changes: 8 additions & 0 deletions examples/normalizr-relationships/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# normalizr-relationships

## 0.1.58

### Patch Changes

- Updated dependencies [[`467a5f6`](https://github.com/reactive/data-client/commit/467a5f6f9d4cdaf0927fa7e22520c5d2c1462ff5), [`e9e96f1`](https://github.com/reactive/data-client/commit/e9e96f1751895c17e046461a1c38bb4bb093c141), [`7d28629`](https://github.com/reactive/data-client/commit/7d28629d07f6cade43e36f3cf1956f175f98d84f), [`7df6a49`](https://github.com/reactive/data-client/commit/7df6a49ee9fcdac10f9f24ec48c4df0931efa0b0), [`98a7831`](https://github.com/reactive/data-client/commit/98a78318770feaa8433708693bec90b81cbcb1b2)]:
- @data-client/normalizr@0.16.6
- @data-client/endpoint@0.16.3

## 0.1.57

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/normalizr-relationships/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "normalizr-relationships",
"version": "0.1.57",
"version": "0.1.58",
"description": "And example of using Normalizr with relationships",
"main": "index.js",
"author": "Paul Armstrong",
Expand Down
8 changes: 8 additions & 0 deletions examples/test-bundlesize/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# test-bundlesize

## 0.1.14

### Patch Changes

- Updated dependencies [[`8a7c8d9`](https://github.com/reactive/data-client/commit/8a7c8d9cc4228a6281849f56121699f237af4b0f)]:
- @data-client/rest@0.16.6
- @data-client/react@0.16.0

## 0.1.13

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/test-bundlesize/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "test-bundlesize",
"version": "0.1.13",
"version": "0.1.14",
"packageManager": "yarn@4.13.0",
"description": "Testing Bundled Size",
"scripts": {
Expand Down
24 changes: 24 additions & 0 deletions packages/normalizr/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Change Log

## 0.16.6

### Patch Changes

- [#3875](https://github.com/reactive/data-client/pull/3875) [`467a5f6`](https://github.com/reactive/data-client/commit/467a5f6f9d4cdaf0927fa7e22520c5d2c1462ff5) - Fix deepClone to only copy own properties

`deepClone` in the immutable store path now uses `Object.keys()` instead of `for...in`, preventing inherited properties from being copied into cloned state.

- [#3877](https://github.com/reactive/data-client/pull/3877) [`e9e96f1`](https://github.com/reactive/data-client/commit/e9e96f1751895c17e046461a1c38bb4bb093c141) - Replace megamorphic computed dispatch in getDependency with switch

`getDependency` used `delegate[array[index]](...spread)` which creates a temporary array, a computed property lookup, and a spread call on every invocation — a megamorphic pattern that prevents V8 from inlining or type-specializing the call site. Replaced with a `switch` on `path.length` for monomorphic dispatch.

- [#3876](https://github.com/reactive/data-client/pull/3876) [`7d28629`](https://github.com/reactive/data-client/commit/7d28629d07f6cade43e36f3cf1956f175f98d84f) - Improve denormalization performance by pre-allocating the dependency tracking slot

Replace `Array.prototype.unshift()` in `GlobalCache.getResults()` with a pre-allocated slot at index 0, avoiding O(n) element shifting on every cache-miss denormalization.

- [#3884](https://github.com/reactive/data-client/pull/3884) [`7df6a49`](https://github.com/reactive/data-client/commit/7df6a49ee9fcdac10f9f24ec48c4df0931efa0b0) - Move entity table POJO clone from getNewEntities to setEntity

Lazy-clone entity and meta tables on first write per entity type instead of eagerly in getNewEntities. This keeps getNewEntities as a pure Map operation, eliminating its V8 Maglev bailout ("Insufficient type feedback for generic named access" on `this.entities`).

- [#3878](https://github.com/reactive/data-client/pull/3878) [`98a7831`](https://github.com/reactive/data-client/commit/98a78318770feaa8433708693bec90b81cbcb1b2) - Avoid hidden class mutation in normalize() return object

The normalize result object was constructed with `result: '' as any` then mutated via `ret.result = visit(...)`, causing a V8 hidden class transition when the property type changed from string to the actual result type. Restructured to compute the result first and construct the final object in a single step.

## 0.16.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/normalizr/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@data-client/normalizr",
"version": "0.16.0",
"version": "0.16.6",
"description": "Normalizes and denormalizes JSON according to schema for Redux and Flux applications",
"homepage": "https://dataclient.io/docs/concepts/normalization",
"keywords": [
Expand Down
29 changes: 29 additions & 0 deletions packages/rest/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# @data-client/rest

## 0.16.6

### Patch Changes

- [#3868](https://github.com/reactive/data-client/pull/3868) [`8a7c8d9`](https://github.com/reactive/data-client/commit/8a7c8d9cc4228a6281849f56121699f237af4b0f) - Add `content` property to RestEndpoint for typed response parsing

Set `content` to control how the response body is parsed, with automatic return type inference:

```ts
const downloadFile = new RestEndpoint({
path: '/files/:id/download',
content: 'blob',
dataExpiryLength: 0,
});
const blob: Blob = await ctrl.fetch(downloadFile, { id: '123' });
```

Accepted values: `'json'`, `'blob'`, `'text'`, `'arrayBuffer'`, `'stream'`.

Non-JSON content types (`'blob'`, `'text'`, `'arrayBuffer'`, `'stream'`) constrain `schema` to
`undefined` at the type level, with a runtime check that throws if a normalizable schema is set.

When `content` is not set, auto-detection now handles binary Content-Types (`image/*`,
`application/octet-stream`, `application/pdf`, etc.) by returning `response.blob()` instead of
corrupting data via `.text()`.

- Updated dependencies []:
- @data-client/endpoint@0.16.3

## 0.16.5

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/rest/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@data-client/rest",
"version": "0.16.5",
"version": "0.16.6",
"description": "Quickly define typed REST resources and endpoints",
"homepage": "https://dataclient.io/rest",
"repository": {
Expand Down
4 changes: 2 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3330,7 +3330,7 @@ __metadata:
languageName: unknown
linkType: soft

"@data-client/rest@npm:0.16.5, @data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest":
"@data-client/rest@npm:0.16.6, @data-client/rest@workspace:*, @data-client/rest@workspace:packages/rest":
version: 0.0.0-use.local
resolution: "@data-client/rest@workspace:packages/rest"
dependencies:
Expand Down Expand Up @@ -11039,7 +11039,7 @@ __metadata:
"@babel/runtime-corejs3": "npm:7.29.2"
"@data-client/img": "npm:0.16.0"
"@data-client/react": "npm:0.16.0"
"@data-client/rest": "npm:0.16.5"
"@data-client/rest": "npm:0.16.6"
"@linaria/core": "npm:*"
"@linaria/react": "npm:*"
"@linaria/shaker": "npm:*"
Expand Down