diff --git a/.changeset/bigint-field-type-implementation.md b/.changeset/bigint-field-type-implementation.md deleted file mode 100644 index 4777fed8..00000000 --- a/.changeset/bigint-field-type-implementation.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -'@openzeppelin/ui-builder-types': minor -'@openzeppelin/ui-builder-ui': minor -'@openzeppelin/ui-builder-renderer': minor -'@openzeppelin/ui-builder-utils': minor -'@openzeppelin/ui-builder-adapter-evm': minor -'@openzeppelin/ui-builder-adapter-stellar': minor -'@openzeppelin/ui-builder-app': patch ---- - -Add BigInt field type for safe handling of large integers beyond JavaScript Number precision - -**Breaking Behavior Changes:** - -- Large integer types (64-bit and above) now map to `bigint` field type instead of `number` - - **EVM**: `uint64`, `uint128`, `uint256`, `int64`, `int128`, `int256` - - **Stellar**: `U64`, `U128`, `U256`, `I64`, `I128`, `I256` -- BigInt values are stored and transmitted as strings to prevent precision loss - -**New Features:** - -- Added new `BigIntField` component with built-in integer validation -- Added `createBigIntTransform()` for proper string-based value handling -- BigInt field now available in UI Builder field type dropdown under "Numeric" category - -**Improvements:** - -- Fixes uint256 truncation issue (#194) -- Prevents precision loss for values exceeding `Number.MAX_SAFE_INTEGER` (2^53-1) -- Simplified field generation by removing redundant type-specific validation logic from adapters -- Component-based validation ensures consistency across all blockchain ecosystems - -**Technical Details:** - -- `BigIntField` uses string storage to handle arbitrary-precision integers -- Integer-only validation via regex (`/^-?\d+$/`) -- Compatible field types properly ordered with `bigint` as recommended type -- Transform functions ensure safe conversion between UI and blockchain formats diff --git a/packages/adapter-evm/CHANGELOG.md b/packages/adapter-evm/CHANGELOG.md index 3a0beebe..798b25f3 100644 --- a/packages/adapter-evm/CHANGELOG.md +++ b/packages/adapter-evm/CHANGELOG.md @@ -1,5 +1,42 @@ # @openzeppelin/transaction-form-adapter-evm +## 0.13.0 + +### Minor Changes + +- [#199](https://github.com/OpenZeppelin/ui-builder/pull/199) [`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2) Thanks [@pasevin](https://github.com/pasevin)! - Add BigInt field type for safe handling of large integers beyond JavaScript Number precision + + **Breaking Behavior Changes:** + - Large integer types (64-bit and above) now map to `bigint` field type instead of `number` + - **EVM**: `uint64`, `uint128`, `uint256`, `int64`, `int128`, `int256` + - **Stellar**: `U64`, `U128`, `U256`, `I64`, `I128`, `I256` + - BigInt values are stored and transmitted as strings to prevent precision loss + + **New Features:** + - Added new `BigIntField` component with built-in integer validation + - Added `createBigIntTransform()` for proper string-based value handling + - BigInt field now available in UI Builder field type dropdown under "Numeric" category + + **Improvements:** + - Fixes uint256 truncation issue (#194) + - Prevents precision loss for values exceeding `Number.MAX_SAFE_INTEGER` (2^53-1) + - Simplified field generation by removing redundant type-specific validation logic from adapters + - Component-based validation ensures consistency across all blockchain ecosystems + + **Technical Details:** + - `BigIntField` uses string storage to handle arbitrary-precision integers + - Integer-only validation via regex (`/^-?\d+$/`) + - Compatible field types properly ordered with `bigint` as recommended type + - Transform functions ensure safe conversion between UI and blockchain formats + +### Patch Changes + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + - @openzeppelin/ui-builder-ui@0.13.0 + - @openzeppelin/ui-builder-utils@0.13.0 + - @openzeppelin/ui-builder-react-core@0.13.0 + ## 0.12.0 ### Minor Changes diff --git a/packages/adapter-evm/package.json b/packages/adapter-evm/package.json index e7fea8db..6e3f0725 100644 --- a/packages/adapter-evm/package.json +++ b/packages/adapter-evm/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-adapter-evm", - "version": "0.12.0", + "version": "0.13.0", "private": false, "description": "EVM Adapter for UI Builder", "keywords": [ diff --git a/packages/adapter-midnight/CHANGELOG.md b/packages/adapter-midnight/CHANGELOG.md index a642f964..d733ac9a 100644 --- a/packages/adapter-midnight/CHANGELOG.md +++ b/packages/adapter-midnight/CHANGELOG.md @@ -1,5 +1,15 @@ # @openzeppelin/transaction-form-adapter-midnight +## 0.13.0 + +### Patch Changes + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + - @openzeppelin/ui-builder-ui@0.13.0 + - @openzeppelin/ui-builder-utils@0.13.0 + - @openzeppelin/ui-builder-react-core@0.13.0 + ## 0.12.0 ### Patch Changes diff --git a/packages/adapter-midnight/package.json b/packages/adapter-midnight/package.json index baaa1dbb..fbc50d26 100644 --- a/packages/adapter-midnight/package.json +++ b/packages/adapter-midnight/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-adapter-midnight", - "version": "0.12.0", + "version": "0.13.0", "description": "Midnight Adapter for UI Builder", "keywords": [ "openzeppelin", diff --git a/packages/adapter-solana/CHANGELOG.md b/packages/adapter-solana/CHANGELOG.md index da867d45..99bb65ab 100644 --- a/packages/adapter-solana/CHANGELOG.md +++ b/packages/adapter-solana/CHANGELOG.md @@ -1,5 +1,13 @@ # @openzeppelin/transaction-form-adapter-solana +## 0.13.0 + +### Patch Changes + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + - @openzeppelin/ui-builder-utils@0.13.0 + ## 0.12.0 ### Minor Changes diff --git a/packages/adapter-solana/package.json b/packages/adapter-solana/package.json index f282f1c5..fdf80b0d 100644 --- a/packages/adapter-solana/package.json +++ b/packages/adapter-solana/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-adapter-solana", - "version": "0.12.0", + "version": "0.13.0", "description": "Solana Adapter for UI Builder", "keywords": [ "openzeppelin", diff --git a/packages/adapter-stellar/CHANGELOG.md b/packages/adapter-stellar/CHANGELOG.md index e29576cf..8439a032 100644 --- a/packages/adapter-stellar/CHANGELOG.md +++ b/packages/adapter-stellar/CHANGELOG.md @@ -1,5 +1,41 @@ # @openzeppelin/transaction-form-adapter-stellar +## 0.13.0 + +### Minor Changes + +- [#199](https://github.com/OpenZeppelin/ui-builder/pull/199) [`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2) Thanks [@pasevin](https://github.com/pasevin)! - Add BigInt field type for safe handling of large integers beyond JavaScript Number precision + + **Breaking Behavior Changes:** + - Large integer types (64-bit and above) now map to `bigint` field type instead of `number` + - **EVM**: `uint64`, `uint128`, `uint256`, `int64`, `int128`, `int256` + - **Stellar**: `U64`, `U128`, `U256`, `I64`, `I128`, `I256` + - BigInt values are stored and transmitted as strings to prevent precision loss + + **New Features:** + - Added new `BigIntField` component with built-in integer validation + - Added `createBigIntTransform()` for proper string-based value handling + - BigInt field now available in UI Builder field type dropdown under "Numeric" category + + **Improvements:** + - Fixes uint256 truncation issue (#194) + - Prevents precision loss for values exceeding `Number.MAX_SAFE_INTEGER` (2^53-1) + - Simplified field generation by removing redundant type-specific validation logic from adapters + - Component-based validation ensures consistency across all blockchain ecosystems + + **Technical Details:** + - `BigIntField` uses string storage to handle arbitrary-precision integers + - Integer-only validation via regex (`/^-?\d+$/`) + - Compatible field types properly ordered with `bigint` as recommended type + - Transform functions ensure safe conversion between UI and blockchain formats + +### Patch Changes + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + - @openzeppelin/ui-builder-ui@0.13.0 + - @openzeppelin/ui-builder-utils@0.13.0 + ## 0.12.0 ### Minor Changes diff --git a/packages/adapter-stellar/package.json b/packages/adapter-stellar/package.json index 6865af53..b2448888 100644 --- a/packages/adapter-stellar/package.json +++ b/packages/adapter-stellar/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-adapter-stellar", - "version": "0.12.0", + "version": "0.13.0", "description": "Stellar Adapter for UI Builder", "keywords": [ "openzeppelin", diff --git a/packages/builder/CHANGELOG.md b/packages/builder/CHANGELOG.md index b1c770e9..e0ac66c2 100644 --- a/packages/builder/CHANGELOG.md +++ b/packages/builder/CHANGELOG.md @@ -1,5 +1,46 @@ # @openzeppelin/transaction-form-builder-core +## 0.11.1 + +### Patch Changes + +- [#199](https://github.com/OpenZeppelin/ui-builder/pull/199) [`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2) Thanks [@pasevin](https://github.com/pasevin)! - Add BigInt field type for safe handling of large integers beyond JavaScript Number precision + + **Breaking Behavior Changes:** + - Large integer types (64-bit and above) now map to `bigint` field type instead of `number` + - **EVM**: `uint64`, `uint128`, `uint256`, `int64`, `int128`, `int256` + - **Stellar**: `U64`, `U128`, `U256`, `I64`, `I128`, `I256` + - BigInt values are stored and transmitted as strings to prevent precision loss + + **New Features:** + - Added new `BigIntField` component with built-in integer validation + - Added `createBigIntTransform()` for proper string-based value handling + - BigInt field now available in UI Builder field type dropdown under "Numeric" category + + **Improvements:** + - Fixes uint256 truncation issue (#194) + - Prevents precision loss for values exceeding `Number.MAX_SAFE_INTEGER` (2^53-1) + - Simplified field generation by removing redundant type-specific validation logic from adapters + - Component-based validation ensures consistency across all blockchain ecosystems + + **Technical Details:** + - `BigIntField` uses string storage to handle arbitrary-precision integers + - Integer-only validation via regex (`/^-?\d+$/`) + - Compatible field types properly ordered with `bigint` as recommended type + - Transform functions ensure safe conversion between UI and blockchain formats + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + - @openzeppelin/ui-builder-ui@0.13.0 + - @openzeppelin/ui-builder-renderer@0.13.0 + - @openzeppelin/ui-builder-utils@0.13.0 + - @openzeppelin/ui-builder-adapter-evm@0.13.0 + - @openzeppelin/ui-builder-adapter-stellar@0.13.0 + - @openzeppelin/ui-builder-adapter-midnight@0.13.0 + - @openzeppelin/ui-builder-adapter-solana@0.13.0 + - @openzeppelin/ui-builder-react-core@0.13.0 + - @openzeppelin/ui-builder-storage@0.13.0 + ## 0.11.0 ### Minor Changes diff --git a/packages/builder/package.json b/packages/builder/package.json index c69af540..0c87550e 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,7 +1,7 @@ { "name": "@openzeppelin/ui-builder-app", "private": true, - "version": "0.11.0", + "version": "0.11.1", "type": "module", "bin": { "export-app": "src/export/cli/export-app.cjs" diff --git a/packages/builder/src/export/__tests__/__snapshots__/ExportSnapshotTests.test.ts.snap b/packages/builder/src/export/__tests__/__snapshots__/ExportSnapshotTests.test.ts.snap index 344a9586..b365abfc 100644 --- a/packages/builder/src/export/__tests__/__snapshots__/ExportSnapshotTests.test.ts.snap +++ b/packages/builder/src/export/__tests__/__snapshots__/ExportSnapshotTests.test.ts.snap @@ -276,12 +276,12 @@ exports[`Export Snapshot Tests > EVM Export Snapshots > should match snapshot fo exports[`Export Snapshot Tests > EVM Export Snapshots > should match snapshot for package.json structure > package-json-evm 1`] = ` { "dependencies": { - "@openzeppelin/ui-builder-adapter-evm": "^0.12.0", - "@openzeppelin/ui-builder-react-core": "^0.12.0", - "@openzeppelin/ui-builder-renderer": "^0.12.0", - "@openzeppelin/ui-builder-types": "^0.12.0", - "@openzeppelin/ui-builder-ui": "^0.12.0", - "@openzeppelin/ui-builder-utils": "^0.12.0", + "@openzeppelin/ui-builder-adapter-evm": "^0.13.0", + "@openzeppelin/ui-builder-react-core": "^0.13.0", + "@openzeppelin/ui-builder-renderer": "^0.13.0", + "@openzeppelin/ui-builder-types": "^0.13.0", + "@openzeppelin/ui-builder-ui": "^0.13.0", + "@openzeppelin/ui-builder-utils": "^0.13.0", "@tanstack/react-query": "^5.0.0", "@wagmi/core": "^2.20.3", "react": "^19.0.0", @@ -323,12 +323,12 @@ exports[`Export Snapshot Tests > Solana Export Snapshots > should match snapshot exports[`Export Snapshot Tests > Solana Export Snapshots > should match snapshot for package.json with Solana dependencies > package-json-solana 1`] = ` { "dependencies": { - "@openzeppelin/ui-builder-adapter-evm": "^0.12.0", - "@openzeppelin/ui-builder-react-core": "^0.12.0", - "@openzeppelin/ui-builder-renderer": "^0.12.0", - "@openzeppelin/ui-builder-types": "^0.12.0", - "@openzeppelin/ui-builder-ui": "^0.12.0", - "@openzeppelin/ui-builder-utils": "^0.12.0", + "@openzeppelin/ui-builder-adapter-evm": "^0.13.0", + "@openzeppelin/ui-builder-react-core": "^0.13.0", + "@openzeppelin/ui-builder-renderer": "^0.13.0", + "@openzeppelin/ui-builder-types": "^0.13.0", + "@openzeppelin/ui-builder-ui": "^0.13.0", + "@openzeppelin/ui-builder-utils": "^0.13.0", "@tanstack/react-query": "^5.0.0", "@wagmi/core": "^2.20.3", "react": "^19.0.0", diff --git a/packages/builder/src/export/versions.ts b/packages/builder/src/export/versions.ts index 05d886f9..525fcf22 100644 --- a/packages/builder/src/export/versions.ts +++ b/packages/builder/src/export/versions.ts @@ -6,14 +6,14 @@ */ export const packageVersions = { - '@openzeppelin/ui-builder-adapter-evm': '0.12.0', - '@openzeppelin/ui-builder-adapter-midnight': '0.12.0', - '@openzeppelin/ui-builder-adapter-solana': '0.12.0', - '@openzeppelin/ui-builder-adapter-stellar': '0.12.0', - '@openzeppelin/ui-builder-react-core': '0.12.0', - '@openzeppelin/ui-builder-renderer': '0.12.0', - '@openzeppelin/ui-builder-storage': '0.12.0', - '@openzeppelin/ui-builder-types': '0.12.0', - '@openzeppelin/ui-builder-ui': '0.12.0', - '@openzeppelin/ui-builder-utils': '0.12.0', + '@openzeppelin/ui-builder-adapter-evm': '0.13.0', + '@openzeppelin/ui-builder-adapter-midnight': '0.13.0', + '@openzeppelin/ui-builder-adapter-solana': '0.13.0', + '@openzeppelin/ui-builder-adapter-stellar': '0.13.0', + '@openzeppelin/ui-builder-react-core': '0.13.0', + '@openzeppelin/ui-builder-renderer': '0.13.0', + '@openzeppelin/ui-builder-storage': '0.13.0', + '@openzeppelin/ui-builder-types': '0.13.0', + '@openzeppelin/ui-builder-ui': '0.13.0', + '@openzeppelin/ui-builder-utils': '0.13.0', }; diff --git a/packages/react-core/CHANGELOG.md b/packages/react-core/CHANGELOG.md index fda137a5..44d72968 100644 --- a/packages/react-core/CHANGELOG.md +++ b/packages/react-core/CHANGELOG.md @@ -1,5 +1,14 @@ # @openzeppelin/transaction-form-react-core +## 0.13.0 + +### Patch Changes + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + - @openzeppelin/ui-builder-ui@0.13.0 + - @openzeppelin/ui-builder-utils@0.13.0 + ## 0.12.0 ### Patch Changes diff --git a/packages/react-core/package.json b/packages/react-core/package.json index c133c4cb..83f20a7e 100644 --- a/packages/react-core/package.json +++ b/packages/react-core/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-react-core", - "version": "0.12.0", + "version": "0.13.0", "private": false, "description": "Core React context providers and hooks for the OpenZeppelin UI Builder.", "type": "module", diff --git a/packages/renderer/CHANGELOG.md b/packages/renderer/CHANGELOG.md index ff52e3c1..dcc51adc 100644 --- a/packages/renderer/CHANGELOG.md +++ b/packages/renderer/CHANGELOG.md @@ -1,5 +1,41 @@ # @openzeppelin/transaction-form-renderer +## 0.13.0 + +### Minor Changes + +- [#199](https://github.com/OpenZeppelin/ui-builder/pull/199) [`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2) Thanks [@pasevin](https://github.com/pasevin)! - Add BigInt field type for safe handling of large integers beyond JavaScript Number precision + + **Breaking Behavior Changes:** + - Large integer types (64-bit and above) now map to `bigint` field type instead of `number` + - **EVM**: `uint64`, `uint128`, `uint256`, `int64`, `int128`, `int256` + - **Stellar**: `U64`, `U128`, `U256`, `I64`, `I128`, `I256` + - BigInt values are stored and transmitted as strings to prevent precision loss + + **New Features:** + - Added new `BigIntField` component with built-in integer validation + - Added `createBigIntTransform()` for proper string-based value handling + - BigInt field now available in UI Builder field type dropdown under "Numeric" category + + **Improvements:** + - Fixes uint256 truncation issue (#194) + - Prevents precision loss for values exceeding `Number.MAX_SAFE_INTEGER` (2^53-1) + - Simplified field generation by removing redundant type-specific validation logic from adapters + - Component-based validation ensures consistency across all blockchain ecosystems + + **Technical Details:** + - `BigIntField` uses string storage to handle arbitrary-precision integers + - Integer-only validation via regex (`/^-?\d+$/`) + - Compatible field types properly ordered with `bigint` as recommended type + - Transform functions ensure safe conversion between UI and blockchain formats + +### Patch Changes + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + - @openzeppelin/ui-builder-ui@0.13.0 + - @openzeppelin/ui-builder-utils@0.13.0 + ## 0.12.0 ### Patch Changes diff --git a/packages/renderer/package.json b/packages/renderer/package.json index 59bbb26e..d5bf78f8 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-renderer", - "version": "0.12.0", + "version": "0.13.0", "private": false, "description": "A specialized library for rendering customizable transaction forms for blockchain applications.", "type": "module", diff --git a/packages/storage/CHANGELOG.md b/packages/storage/CHANGELOG.md index 9c50cde4..63514cc4 100644 --- a/packages/storage/CHANGELOG.md +++ b/packages/storage/CHANGELOG.md @@ -1,5 +1,13 @@ # @openzeppelin/ui-builder-storage +## 0.13.0 + +### Patch Changes + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + - @openzeppelin/ui-builder-utils@0.13.0 + ## 0.12.0 ### Patch Changes diff --git a/packages/storage/package.json b/packages/storage/package.json index 59525257..40617294 100644 --- a/packages/storage/package.json +++ b/packages/storage/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-storage", - "version": "0.12.0", + "version": "0.13.0", "private": false, "description": "Local storage services for the OpenZeppelin UI Builder ecosystem.", "type": "module", diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index db51894c..13a0afef 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,5 +1,34 @@ # @openzeppelin/ui-builder-types +## 0.13.0 + +### Minor Changes + +- [#199](https://github.com/OpenZeppelin/ui-builder/pull/199) [`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2) Thanks [@pasevin](https://github.com/pasevin)! - Add BigInt field type for safe handling of large integers beyond JavaScript Number precision + + **Breaking Behavior Changes:** + - Large integer types (64-bit and above) now map to `bigint` field type instead of `number` + - **EVM**: `uint64`, `uint128`, `uint256`, `int64`, `int128`, `int256` + - **Stellar**: `U64`, `U128`, `U256`, `I64`, `I128`, `I256` + - BigInt values are stored and transmitted as strings to prevent precision loss + + **New Features:** + - Added new `BigIntField` component with built-in integer validation + - Added `createBigIntTransform()` for proper string-based value handling + - BigInt field now available in UI Builder field type dropdown under "Numeric" category + + **Improvements:** + - Fixes uint256 truncation issue (#194) + - Prevents precision loss for values exceeding `Number.MAX_SAFE_INTEGER` (2^53-1) + - Simplified field generation by removing redundant type-specific validation logic from adapters + - Component-based validation ensures consistency across all blockchain ecosystems + + **Technical Details:** + - `BigIntField` uses string storage to handle arbitrary-precision integers + - Integer-only validation via regex (`/^-?\d+$/`) + - Compatible field types properly ordered with `bigint` as recommended type + - Transform functions ensure safe conversion between UI and blockchain formats + ## 0.12.0 ### Minor Changes diff --git a/packages/types/package.json b/packages/types/package.json index 46848933..accd37a8 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-types", - "version": "0.12.0", + "version": "0.13.0", "private": false, "description": "Shared TypeScript type definitions for the OpenZeppelin UI Builder ecosystem.", "type": "module", diff --git a/packages/ui/CHANGELOG.md b/packages/ui/CHANGELOG.md index 3c91954a..a3b2c7c1 100644 --- a/packages/ui/CHANGELOG.md +++ b/packages/ui/CHANGELOG.md @@ -1,5 +1,40 @@ # @openzeppelin/transaction-form-ui +## 0.13.0 + +### Minor Changes + +- [#199](https://github.com/OpenZeppelin/ui-builder/pull/199) [`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2) Thanks [@pasevin](https://github.com/pasevin)! - Add BigInt field type for safe handling of large integers beyond JavaScript Number precision + + **Breaking Behavior Changes:** + - Large integer types (64-bit and above) now map to `bigint` field type instead of `number` + - **EVM**: `uint64`, `uint128`, `uint256`, `int64`, `int128`, `int256` + - **Stellar**: `U64`, `U128`, `U256`, `I64`, `I128`, `I256` + - BigInt values are stored and transmitted as strings to prevent precision loss + + **New Features:** + - Added new `BigIntField` component with built-in integer validation + - Added `createBigIntTransform()` for proper string-based value handling + - BigInt field now available in UI Builder field type dropdown under "Numeric" category + + **Improvements:** + - Fixes uint256 truncation issue (#194) + - Prevents precision loss for values exceeding `Number.MAX_SAFE_INTEGER` (2^53-1) + - Simplified field generation by removing redundant type-specific validation logic from adapters + - Component-based validation ensures consistency across all blockchain ecosystems + + **Technical Details:** + - `BigIntField` uses string storage to handle arbitrary-precision integers + - Integer-only validation via regex (`/^-?\d+$/`) + - Compatible field types properly ordered with `bigint` as recommended type + - Transform functions ensure safe conversion between UI and blockchain formats + +### Patch Changes + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + - @openzeppelin/ui-builder-utils@0.13.0 + ## 0.12.0 ### Minor Changes diff --git a/packages/ui/package.json b/packages/ui/package.json index 8b6c7491..0fae4451 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-ui", - "version": "0.12.0", + "version": "0.13.0", "private": false, "description": "Shared React UI components for the OpenZeppelin UI Builder.", "type": "module", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 9b98487d..28620f9a 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,5 +1,39 @@ # @openzeppelin/transaction-form-utils +## 0.13.0 + +### Minor Changes + +- [#199](https://github.com/OpenZeppelin/ui-builder/pull/199) [`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2) Thanks [@pasevin](https://github.com/pasevin)! - Add BigInt field type for safe handling of large integers beyond JavaScript Number precision + + **Breaking Behavior Changes:** + - Large integer types (64-bit and above) now map to `bigint` field type instead of `number` + - **EVM**: `uint64`, `uint128`, `uint256`, `int64`, `int128`, `int256` + - **Stellar**: `U64`, `U128`, `U256`, `I64`, `I128`, `I256` + - BigInt values are stored and transmitted as strings to prevent precision loss + + **New Features:** + - Added new `BigIntField` component with built-in integer validation + - Added `createBigIntTransform()` for proper string-based value handling + - BigInt field now available in UI Builder field type dropdown under "Numeric" category + + **Improvements:** + - Fixes uint256 truncation issue (#194) + - Prevents precision loss for values exceeding `Number.MAX_SAFE_INTEGER` (2^53-1) + - Simplified field generation by removing redundant type-specific validation logic from adapters + - Component-based validation ensures consistency across all blockchain ecosystems + + **Technical Details:** + - `BigIntField` uses string storage to handle arbitrary-precision integers + - Integer-only validation via regex (`/^-?\d+$/`) + - Compatible field types properly ordered with `bigint` as recommended type + - Transform functions ensure safe conversion between UI and blockchain formats + +### Patch Changes + +- Updated dependencies [[`68c0aed`](https://github.com/OpenZeppelin/ui-builder/commit/68c0aed14f3597df8c52dc8667e420624399b8d2)]: + - @openzeppelin/ui-builder-types@0.13.0 + ## 0.12.0 ### Patch Changes diff --git a/packages/utils/package.json b/packages/utils/package.json index 53aa316a..98edd55d 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@openzeppelin/ui-builder-utils", - "version": "0.12.0", + "version": "0.13.0", "private": false, "description": "Shared, framework-agnostic utility functions for the OpenZeppelin UI Builder.", "type": "module",