Skip to content
Merged
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
12 changes: 0 additions & 12 deletions .changeset/cache-form-correctness.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/defaulted-form-fields.md

This file was deleted.

2 changes: 2 additions & 0 deletions libs/async/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @cleverbrush/async

## 4.5.0

## 4.4.3

## 4.4.2
Expand Down
2 changes: 1 addition & 1 deletion libs/async/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
6 changes: 6 additions & 0 deletions libs/auth/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @cleverbrush/auth

## 4.5.0

### Patch Changes

- @cleverbrush/schema@4.5.0

## 4.4.3

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions libs/auth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"email": "andrew_zol@cleverbrush.com"
},
"dependencies": {
"@cleverbrush/schema": "^4.4.3"
"@cleverbrush/schema": "^4.5.0"
},
"description": "Transport-agnostic authentication & authorization — JWT, cookies, role-based policies, schema-typed principals",
"files": [
Expand Down Expand Up @@ -43,5 +43,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
16 changes: 16 additions & 0 deletions libs/client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# @cleverbrush/client

## 4.5.0

### Minor Changes

- f7c65ae: Use one browser-safe, deterministic `ct2:` cache key encoder across server and client helpers, response caches, and external invalidation. Selected properties and plain-object keys are sorted, values retain their types, and dates retain millisecond precision. Unsupported values fail explicitly. **Breaking:** every computed key changes, including property-free tags. Upgrade external cache writers and invalidators together, and flush or expire previous entries; literal base invalidation names and TTL settings remain unchanged. Successful mutations invalidate cached aliases and prevent older in-flight reads from refilling them; failed writes preserve entries.

Synchronize mounted schema-form fields with form/field setters and reset baselines, using descriptor identities and stable external-store subscriptions. Discard obsolete async validation after value changes or reset. Add `handleSubmit`, reactive `submitting`/`error`, duplicate-submit protection, explicit success/failure results and opt-in error translation. Add `defineFieldRenderer` and `createFormSystem` for typed renderer values, variants, props and composable registries while retaining existing form APIs. See the cache/form migration guide for semantics and examples.

Add reusable `deepClone` for plain objects, arrays and Dates with cycle/shared-reference preservation, sparse-array lengths, null prototypes and safe enumerable own string/symbol properties. React forms now use `deepClone` and `deepEqual` from `@cleverbrush/deep` for snapshots and dirty checks. **Breaking:** correct existing `deepEqual` semantics for null/type mismatches, equivalent cycles and shared references, signed zero, invalid Dates, symbol keys and sparse arrays. Opaque values such as Files, Maps, Sets and custom instances compare only by identity and remain references when cloned. Unordered arrays preserve duplicate/hole counts without hash-based matching or input mutation. Review consumers relying on the old outcomes; `deepExtend`, `HashObject` and `Transaction` are unchanged.

### Patch Changes

- Updated dependencies [f7c65ae]
- @cleverbrush/server@4.5.0
- @cleverbrush/schema@4.5.0

## 4.4.3

### Patch Changes
Expand Down
6 changes: 3 additions & 3 deletions libs/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"email": "andrew_zol@cleverbrush.com"
},
"dependencies": {
"@cleverbrush/schema": "^4.4.3",
"@cleverbrush/server": "^4.4.3"
"@cleverbrush/schema": "^4.5.0",
"@cleverbrush/server": "^4.5.0"
},
"devDependencies": {
"@tanstack/react-query": "^5.75.0",
Expand Down Expand Up @@ -102,5 +102,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
10 changes: 10 additions & 0 deletions libs/deep/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# @cleverbrush/deep

## 4.5.0

### Minor Changes

- f7c65ae: Use one browser-safe, deterministic `ct2:` cache key encoder across server and client helpers, response caches, and external invalidation. Selected properties and plain-object keys are sorted, values retain their types, and dates retain millisecond precision. Unsupported values fail explicitly. **Breaking:** every computed key changes, including property-free tags. Upgrade external cache writers and invalidators together, and flush or expire previous entries; literal base invalidation names and TTL settings remain unchanged. Successful mutations invalidate cached aliases and prevent older in-flight reads from refilling them; failed writes preserve entries.

Synchronize mounted schema-form fields with form/field setters and reset baselines, using descriptor identities and stable external-store subscriptions. Discard obsolete async validation after value changes or reset. Add `handleSubmit`, reactive `submitting`/`error`, duplicate-submit protection, explicit success/failure results and opt-in error translation. Add `defineFieldRenderer` and `createFormSystem` for typed renderer values, variants, props and composable registries while retaining existing form APIs. See the cache/form migration guide for semantics and examples.

Add reusable `deepClone` for plain objects, arrays and Dates with cycle/shared-reference preservation, sparse-array lengths, null prototypes and safe enumerable own string/symbol properties. React forms now use `deepClone` and `deepEqual` from `@cleverbrush/deep` for snapshots and dirty checks. **Breaking:** correct existing `deepEqual` semantics for null/type mismatches, equivalent cycles and shared references, signed zero, invalid Dates, symbol keys and sparse arrays. Opaque values such as Files, Maps, Sets and custom instances compare only by identity and remain references when cloned. Unordered arrays preserve duplicate/hole counts without hash-based matching or input mutation. Review consumers relying on the old outcomes; `deepExtend`, `HashObject` and `Transaction` are unchanged.

## 4.4.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion libs/deep/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
6 changes: 6 additions & 0 deletions libs/di/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @cleverbrush/di

## 4.5.0

### Patch Changes

- @cleverbrush/schema@4.5.0

## 4.4.3

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions libs/di/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"email": "andrew_zol@cleverbrush.com"
},
"dependencies": {
"@cleverbrush/schema": "^4.4.3"
"@cleverbrush/schema": "^4.5.0"
},
"description": ".NET-style dependency injection container for TypeScript — schema-driven service registration, three lifetimes, function injection",
"files": [
Expand Down Expand Up @@ -43,5 +43,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
7 changes: 7 additions & 0 deletions libs/env/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @cleverbrush/env

## 4.5.0

### Patch Changes

- Updated dependencies [f7c65ae]
- @cleverbrush/deep@4.5.0

## 4.4.3

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions libs/env/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"email": "andrew_zol@cleverbrush.com"
},
"dependencies": {
"@cleverbrush/deep": "^4.4.3"
"@cleverbrush/deep": "^4.5.0"
},
"peerDependencies": {
"@cleverbrush/schema": "^4.0.0"
Expand Down Expand Up @@ -50,5 +50,5 @@
"@types/node": "^25.4.0"
},
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
8 changes: 8 additions & 0 deletions libs/knex-clickhouse/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @cleverbrush/knex-clickhouse

## 4.5.0

### Patch Changes

- Updated dependencies [f7c65ae]
- @cleverbrush/deep@4.5.0
- @cleverbrush/async@4.5.0

## 4.4.3

### Patch Changes
Expand Down
6 changes: 3 additions & 3 deletions libs/knex-clickhouse/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"email": "andrew_zol@cleverbrush.com"
},
"dependencies": {
"@cleverbrush/async": "^4.4.3",
"@cleverbrush/deep": "^4.4.3",
"@cleverbrush/async": "^4.5.0",
"@cleverbrush/deep": "^4.5.0",
"@clickhouse/client": "^1.18.2"
},
"peerDependencies": {
Expand Down Expand Up @@ -45,5 +45,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
6 changes: 6 additions & 0 deletions libs/knex-schema/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @cleverbrush/knex-schema

## 4.5.0

### Patch Changes

- @cleverbrush/schema@4.5.0

## 4.4.3

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions libs/knex-schema/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"email": "andrew_zol@cleverbrush.com"
},
"dependencies": {
"@cleverbrush/schema": "^4.4.3"
"@cleverbrush/schema": "^4.5.0"
},
"peerDependencies": {
"knex": ">=3.1.0"
Expand Down Expand Up @@ -52,5 +52,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
7 changes: 7 additions & 0 deletions libs/log/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @cleverbrush/log

## 4.5.0

### Patch Changes

- @cleverbrush/schema@4.5.0
- @cleverbrush/async@4.5.0

## 4.4.3

### Patch Changes
Expand Down
6 changes: 3 additions & 3 deletions libs/log/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@
"clean": "rm -rf dist tsconfig.tsbuildinfo"
},
"dependencies": {
"@cleverbrush/schema": "^4.4.3",
"@cleverbrush/async": "^4.4.3"
"@cleverbrush/schema": "^4.5.0",
"@cleverbrush/async": "^4.5.0"
},
"peerDependencies": {
"@cleverbrush/di": "^4.0.0",
Expand All @@ -65,5 +65,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
6 changes: 6 additions & 0 deletions libs/mapper/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @cleverbrush/mapper

## 4.5.0

### Patch Changes

- @cleverbrush/schema@4.5.0

## 4.4.3

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions libs/mapper/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"email": "andrew_zol@cleverbrush.com"
},
"dependencies": {
"@cleverbrush/schema": "^4.4.3"
"@cleverbrush/schema": "^4.5.0"
},
"description": "Type-safe, schema-driven object mapper for @cleverbrush/schema — compile-time completeness, selector-based field mapping, auto-mapping",
"files": [
Expand Down Expand Up @@ -42,5 +42,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
6 changes: 6 additions & 0 deletions libs/orm-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @cleverbrush/orm-cli

## 4.5.0

### Patch Changes

- @cleverbrush/knex-schema@4.5.0

## 4.4.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion libs/orm-cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
7 changes: 7 additions & 0 deletions libs/orm/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @cleverbrush/orm

## 4.5.0

### Patch Changes

- @cleverbrush/schema@4.5.0
- @cleverbrush/knex-schema@4.5.0

## 4.4.3

### Patch Changes
Expand Down
6 changes: 3 additions & 3 deletions libs/orm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"email": "andrew_zol@cleverbrush.com"
},
"dependencies": {
"@cleverbrush/schema": "^4.4.3",
"@cleverbrush/knex-schema": "^4.4.3"
"@cleverbrush/schema": "^4.5.0",
"@cleverbrush/knex-schema": "^4.5.0"
},
"peerDependencies": {
"knex": ">=3.1.0"
Expand Down Expand Up @@ -53,5 +53,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
2 changes: 2 additions & 0 deletions libs/otel/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @cleverbrush/otel

## 4.5.0

## 4.4.3

## 4.4.2
Expand Down
2 changes: 1 addition & 1 deletion libs/otel/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,5 @@
},
"type": "module",
"types": "./dist/index.d.ts",
"version": "4.4.3"
"version": "4.5.0"
}
18 changes: 18 additions & 0 deletions libs/react-form/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# @cleverbrush/react-form

## 4.5.0

### Minor Changes

- f7c65ae: Use one browser-safe, deterministic `ct2:` cache key encoder across server and client helpers, response caches, and external invalidation. Selected properties and plain-object keys are sorted, values retain their types, and dates retain millisecond precision. Unsupported values fail explicitly. **Breaking:** every computed key changes, including property-free tags. Upgrade external cache writers and invalidators together, and flush or expire previous entries; literal base invalidation names and TTL settings remain unchanged. Successful mutations invalidate cached aliases and prevent older in-flight reads from refilling them; failed writes preserve entries.

Synchronize mounted schema-form fields with form/field setters and reset baselines, using descriptor identities and stable external-store subscriptions. Discard obsolete async validation after value changes or reset. Add `handleSubmit`, reactive `submitting`/`error`, duplicate-submit protection, explicit success/failure results and opt-in error translation. Add `defineFieldRenderer` and `createFormSystem` for typed renderer values, variants, props and composable registries while retaining existing form APIs. See the cache/form migration guide for semantics and examples.

Add reusable `deepClone` for plain objects, arrays and Dates with cycle/shared-reference preservation, sparse-array lengths, null prototypes and safe enumerable own string/symbol properties. React forms now use `deepClone` and `deepEqual` from `@cleverbrush/deep` for snapshots and dirty checks. **Breaking:** correct existing `deepEqual` semantics for null/type mismatches, equivalent cycles and shared references, signed zero, invalid Dates, symbol keys and sparse arrays. Opaque values such as Files, Maps, Sets and custom instances compare only by identity and remain references when cloned. Unordered arrays preserve duplicate/hole counts without hash-based matching or input mutation. Review consumers relying on the old outcomes; `deepExtend`, `HashObject` and `Transaction` are unchanged.

- 0d480e9: Accept defaulted schema properties in typed Field, headless useField, and renderer schema bounds without losing value inference. Return a named TypedFormSystem so shared UI packages can export inferred registries while emitting declarations.

### Patch Changes

- Updated dependencies [f7c65ae]
- @cleverbrush/deep@4.5.0
- @cleverbrush/schema@4.5.0

## 4.4.3

### Patch Changes
Expand Down
Loading