Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Jan 18, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.

Releases

@data-client/core@0.15.4

Patch Changes

  • #3703 4fe8779 Thanks @ntucker! - Improve normalize/denormalize performance 10-15%

    • Replace Object.keys().forEach() with indexed for loops
    • Replace reduce() with spreading to direct object mutation
    • Cache getter results to avoid repeated property lookups
    • Centralize arg extraction with pre-allocated loop
    • Eliminate Map double-get pattern

    Microbenchmark Results

    # Optimization Before After Improvement
    1 forEach → forLoop 7,164 ops/sec 7,331 ops/sec +2.3%
    2 reduce+spread → mutation 912 ops/sec 7,468 ops/sec +719% (8.2x)
    3 getter repeated → cached 1,652,211 ops/sec 4,426,994 ops/sec +168% (2.7x)
    4 slice+map → indexed 33,221 ops/sec 54,701 ops/sec +65% (1.65x)
    5 Map double-get → single 23,046 ops/sec 23,285 ops/sec +1%

    Impact Summary by Codepath

    Codepath Optimizations Applied Expected Improvement
    normalize (setResponse) 1, 2, 4 10-15%
    denormalize (getResponse) 1, 2, 4 10-15%
    Controller queries (get, getQueryMeta) 5, 6 5-10%
  • 09056b0 Thanks @ntucker! - Simplify endpoint.update() error message

  • Updated dependencies [4fe8779]:

    • @data-client/normalizr@0.15.4

@data-client/endpoint@0.15.4

Patch Changes

  • #3703 4fe8779 Thanks @ntucker! - Improve normalize/denormalize performance 10-15%

    • Replace Object.keys().forEach() with indexed for loops
    • Replace reduce() with spreading to direct object mutation
    • Cache getter results to avoid repeated property lookups
    • Centralize arg extraction with pre-allocated loop
    • Eliminate Map double-get pattern

    Microbenchmark Results

    # Optimization Before After Improvement
    1 forEach → forLoop 7,164 ops/sec 7,331 ops/sec +2.3%
    2 reduce+spread → mutation 912 ops/sec 7,468 ops/sec +719% (8.2x)
    3 getter repeated → cached 1,652,211 ops/sec 4,426,994 ops/sec +168% (2.7x)
    4 slice+map → indexed 33,221 ops/sec 54,701 ops/sec +65% (1.65x)
    5 Map double-get → single 23,046 ops/sec 23,285 ops/sec +1%

    Impact Summary by Codepath

    Codepath Optimizations Applied Expected Improvement
    normalize (setResponse) 1, 2, 4 10-15%
    denormalize (getResponse) 1, 2, 4 10-15%
    Controller queries (get, getQueryMeta) 5, 6 5-10%

@data-client/graphql@0.15.4

Patch Changes

  • #3703 4fe8779 Thanks @ntucker! - Improve normalize/denormalize performance 10-15%

    • Replace Object.keys().forEach() with indexed for loops
    • Replace reduce() with spreading to direct object mutation
    • Cache getter results to avoid repeated property lookups
    • Centralize arg extraction with pre-allocated loop
    • Eliminate Map double-get pattern

    Microbenchmark Results

    # Optimization Before After Improvement
    1 forEach → forLoop 7,164 ops/sec 7,331 ops/sec +2.3%
    2 reduce+spread → mutation 912 ops/sec 7,468 ops/sec +719% (8.2x)
    3 getter repeated → cached 1,652,211 ops/sec 4,426,994 ops/sec +168% (2.7x)
    4 slice+map → indexed 33,221 ops/sec 54,701 ops/sec +65% (1.65x)
    5 Map double-get → single 23,046 ops/sec 23,285 ops/sec +1%

    Impact Summary by Codepath

    Codepath Optimizations Applied Expected Improvement
    normalize (setResponse) 1, 2, 4 10-15%
    denormalize (getResponse) 1, 2, 4 10-15%
    Controller queries (get, getQueryMeta) 5, 6 5-10%
  • Updated dependencies [4fe8779]:

    • @data-client/endpoint@0.15.4

@data-client/normalizr@0.15.4

Patch Changes

  • #3703 4fe8779 Thanks @ntucker! - Improve normalize/denormalize performance 10-15%

    • Replace Object.keys().forEach() with indexed for loops
    • Replace reduce() with spreading to direct object mutation
    • Cache getter results to avoid repeated property lookups
    • Centralize arg extraction with pre-allocated loop
    • Eliminate Map double-get pattern

    Microbenchmark Results

    # Optimization Before After Improvement
    1 forEach → forLoop 7,164 ops/sec 7,331 ops/sec +2.3%
    2 reduce+spread → mutation 912 ops/sec 7,468 ops/sec +719% (8.2x)
    3 getter repeated → cached 1,652,211 ops/sec 4,426,994 ops/sec +168% (2.7x)
    4 slice+map → indexed 33,221 ops/sec 54,701 ops/sec +65% (1.65x)
    5 Map double-get → single 23,046 ops/sec 23,285 ops/sec +1%

    Impact Summary by Codepath

    Codepath Optimizations Applied Expected Improvement
    normalize (setResponse) 1, 2, 4 10-15%
    denormalize (getResponse) 1, 2, 4 10-15%
    Controller queries (get, getQueryMeta) 5, 6 5-10%

@data-client/react@0.15.4

Patch Changes

  • #3703 4fe8779 Thanks @ntucker! - Improve normalize/denormalize performance 10-15%

    • Replace Object.keys().forEach() with indexed for loops
    • Replace reduce() with spreading to direct object mutation
    • Cache getter results to avoid repeated property lookups
    • Centralize arg extraction with pre-allocated loop
    • Eliminate Map double-get pattern

    Microbenchmark Results

    # Optimization Before After Improvement
    1 forEach → forLoop 7,164 ops/sec 7,331 ops/sec +2.3%
    2 reduce+spread → mutation 912 ops/sec 7,468 ops/sec +719% (8.2x)
    3 getter repeated → cached 1,652,211 ops/sec 4,426,994 ops/sec +168% (2.7x)
    4 slice+map → indexed 33,221 ops/sec 54,701 ops/sec +65% (1.65x)
    5 Map double-get → single 23,046 ops/sec 23,285 ops/sec +1%

    Impact Summary by Codepath

    Codepath Optimizations Applied Expected Improvement
    normalize (setResponse) 1, 2, 4 10-15%
    denormalize (getResponse) 1, 2, 4 10-15%
    Controller queries (get, getQueryMeta) 5, 6 5-10%
  • 09056b0 Thanks @ntucker! - Simplify endpoint.update() error message

  • Updated dependencies [4fe8779, 09056b0]:

    • @data-client/core@0.15.4

@data-client/rest@0.15.4

Patch Changes

  • #3703 4fe8779 Thanks @ntucker! - Improve normalize/denormalize performance 10-15%

    • Replace Object.keys().forEach() with indexed for loops
    • Replace reduce() with spreading to direct object mutation
    • Cache getter results to avoid repeated property lookups
    • Centralize arg extraction with pre-allocated loop
    • Eliminate Map double-get pattern

    Microbenchmark Results

    # Optimization Before After Improvement
    1 forEach → forLoop 7,164 ops/sec 7,331 ops/sec +2.3%
    2 reduce+spread → mutation 912 ops/sec 7,468 ops/sec +719% (8.2x)
    3 getter repeated → cached 1,652,211 ops/sec 4,426,994 ops/sec +168% (2.7x)
    4 slice+map → indexed 33,221 ops/sec 54,701 ops/sec +65% (1.65x)
    5 Map double-get → single 23,046 ops/sec 23,285 ops/sec +1%

    Impact Summary by Codepath

    Codepath Optimizations Applied Expected Improvement
    normalize (setResponse) 1, 2, 4 10-15%
    denormalize (getResponse) 1, 2, 4 10-15%
    Controller queries (get, getQueryMeta) 5, 6 5-10%
  • Updated dependencies [4fe8779]:

    • @data-client/endpoint@0.15.4

@data-client/vue@0.15.2

Patch Changes

  • #3703 4fe8779 Thanks @ntucker! - Improve normalize/denormalize performance 10-15%

    • Replace Object.keys().forEach() with indexed for loops
    • Replace reduce() with spreading to direct object mutation
    • Cache getter results to avoid repeated property lookups
    • Centralize arg extraction with pre-allocated loop
    • Eliminate Map double-get pattern

    Microbenchmark Results

    # Optimization Before After Improvement
    1 forEach → forLoop 7,164 ops/sec 7,331 ops/sec +2.3%
    2 reduce+spread → mutation 912 ops/sec 7,468 ops/sec +719% (8.2x)
    3 getter repeated → cached 1,652,211 ops/sec 4,426,994 ops/sec +168% (2.7x)
    4 slice+map → indexed 33,221 ops/sec 54,701 ops/sec +65% (1.65x)
    5 Map double-get → single 23,046 ops/sec 23,285 ops/sec +1%

    Impact Summary by Codepath

    Codepath Optimizations Applied Expected Improvement
    normalize (setResponse) 1, 2, 4 10-15%
    denormalize (getResponse) 1, 2, 4 10-15%
    Controller queries (get, getQueryMeta) 5, 6 5-10%
  • 09056b0 Thanks @ntucker! - Simplify endpoint.update() error message

  • Updated dependencies [4fe8779, 09056b0]:

    • @data-client/core@0.15.4

example-benchmark@0.4.78

Patch Changes

  • Updated dependencies [4fe8779, 09056b0]:
    • @data-client/endpoint@0.15.4
    • @data-client/normalizr@0.15.4
    • @data-client/core@0.15.4

coinbase-lite@0.0.12

Patch Changes

  • Updated dependencies [4fe8779, 09056b0]:
    • @data-client/react@0.15.4
    • @data-client/rest@0.15.4

normalizr-github-example@0.1.53

Patch Changes

  • Updated dependencies [4fe8779]:
    • @data-client/endpoint@0.15.4
    • @data-client/normalizr@0.15.4

normalizr-redux-example@0.1.51

Patch Changes

  • Updated dependencies [4fe8779]:
    • @data-client/endpoint@0.15.4
    • @data-client/normalizr@0.15.4

normalizr-relationships@0.1.53

Patch Changes

  • Updated dependencies [4fe8779]:
    • @data-client/endpoint@0.15.4
    • @data-client/normalizr@0.15.4

test-bundlesize@0.1.4

Patch Changes

  • Updated dependencies [4fe8779, 09056b0]:
    • @data-client/react@0.15.4
    • @data-client/rest@0.15.4
    • @data-client/img@0.15.0

@codecov
Copy link

codecov bot commented Jan 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.13%. Comparing base (09056b0) to head (5a592e2).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3704   +/-   ##
=======================================
  Coverage   98.13%   98.13%           
=======================================
  Files         150      150           
  Lines        2735     2735           
  Branches      537      537           
=======================================
  Hits         2684     2684           
  Misses         11       11           
  Partials       40       40           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions bot force-pushed the changeset-release/master branch from c4b6dba to 31cbb0c Compare January 18, 2026 22:50
@github-actions github-actions bot force-pushed the changeset-release/master branch from 31cbb0c to 5a592e2 Compare January 18, 2026 23:27
@ntucker ntucker merged commit 7b4337a into master Jan 19, 2026
19 checks passed
@ntucker ntucker deleted the changeset-release/master branch January 19, 2026 01:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants