Skip to content

Commit 5b5c705

Browse files
authored
Merge pull request evoluhq#610 from evoluhq/changeset-release/main
Version Packages (preview)
2 parents 0779580 + dd05f52 commit 5b5c705

14 files changed

Lines changed: 164 additions & 11 deletions

File tree

.changeset/pre.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,18 @@
2525
"chilly-peaches-call",
2626
"common-ads-serve",
2727
"heavy-mugs-tickle",
28+
"kind-jars-lay",
2829
"lazy-clouds-exist",
2930
"lucky-rice-shop",
3031
"plenty-carrots-lead",
3132
"rotten-gifts-write",
3233
"short-corners-notice",
34+
"shy-planes-report",
3335
"slick-ideas-unite",
3436
"solid-cameras-study",
3537
"some-internal-improvements",
3638
"some-rice-do",
39+
"strict-jokes-tie",
3740
"tiny-bikes-press",
3841
"tricky-wings-join",
3942
"true-teams-wash",

apps/relay/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# @evolu/relay
22

3+
## 1.1.2-preview.6
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [f4a8866]
8+
- Updated dependencies [02e8aa0]
9+
- Updated dependencies [31d0d21]
10+
- @evolu/common@6.0.1-preview.26
11+
- @evolu/nodejs@1.0.1-preview.10
12+
313
## 1.1.2-preview.5
414

515
### Patch Changes

apps/relay/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@evolu/relay",
3-
"version": "1.1.2-preview.5",
3+
"version": "1.1.2-preview.6",
44
"private": true,
55
"type": "module",
66
"scripts": {

packages/common/CHANGELOG.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,68 @@
11
# @evolu/common
22

3+
## 6.0.1-preview.26
4+
5+
### Patch Changes
6+
7+
- f4a8866: Add owner usage tracking and storage improvements
8+
9+
### Breaking Changes
10+
- Renamed `TransportConfig` to `OwnerTransport` and `WebSocketTransportConfig` to `OwnerWebSocketTransport` for clearer naming
11+
- Renamed `SqliteStorageBase` to `BaseSqliteStorage` and `createSqliteStorageBase` to `createBaseSqliteStorage`
12+
- Extracted storage table creation into separate functions: `createBaseSqliteStorageTables` and `createRelayStorageTables` to support serverless deployments where table setup must be separate from storage operations
13+
- Removed `assertNoErrorInCatch` - it was unnecessary
14+
15+
### Features
16+
- **Owner usage tracking** (in progress): Added `evolu_usage` table and `OwnerUsage` interface to track data consumption metrics per owner (stored bytes, received bytes, sent bytes, first/last timestamps). Table structure is in place but not yet fully implemented
17+
- **Timestamp privacy documentation**: Added privacy considerations explaining that timestamps are metadata visible to relays, with guidance on implementing local write queues for maximum privacy
18+
- **React Native polyfills**: Added polyfills for `AbortSignal.any()` and `AbortSignal.timeout()` to support Task cancellation on React Native platforms that don't yet implement these APIs
19+
20+
### Performance
21+
- **isSqlMutation optimization**: Added LRU cache (10,000 entries) to `isSqlMutation` function, restoring Timestamp insert benchmark from 34k back to 57k inserts/sec.
22+
23+
- 02e8aa0: Evolu identicons
24+
25+
Added `createIdenticon` function for generating visually distinct SVG identicons from Evolu `Id` (including branded IDs like `OwnerId`, etc.). For user avatars, visual identity markers, and differentiating entities in UI without storing images.
26+
27+
### Features
28+
- **Multiple styles**: Choose from 4 styles:
29+
- `"github"` (default): 5×5 grid with horizontal mirroring, inspired by GitHub avatars
30+
- `"quadrant"`: 2×2 color block grid with direct RGB mapping
31+
- `"gradient"`: Diagonal stripe pattern with smooth color gradients
32+
- `"sutnar"`: Ladislav Sutnar-inspired compositional design with adaptive colors
33+
- **SVG output**: Returns SVG string that can be used directly
34+
35+
### Example
36+
37+
```ts
38+
import { createIdenticon } from "@evolu/common";
39+
40+
// Basic usage with default GitHub style
41+
const svg = createIdenticon(userId);
42+
43+
const quadrant = createIdenticon(ownerId, "quadrant");
44+
const gradient = createIdenticon(postId, "gradient");
45+
const sutnar = createIdenticon(teamId, "sutnar");
46+
```
47+
48+
- 31d0d21: Add Cache module with generic cache interface and LRU cache implementation
49+
- New `Cache<K, V>` interface with `has`, `get`, `set`, `delete` methods
50+
- New `createLruCache` factory function for creating LRU caches with configurable capacity
51+
- Keys are compared by reference (standard Map semantics)
52+
- LRU cache automatically evicts least recently used entries when capacity is reached
53+
- Both `get` and `set` operations update access order
54+
- Exposes readonly `map` property for iteration and inspection
55+
56+
Example:
57+
58+
```ts
59+
const cache = createLruCache<string, number>(2);
60+
cache.set("a", 1);
61+
cache.set("b", 2);
62+
cache.set("c", 3); // Evicts "a"
63+
cache.has("a"); // false
64+
```
65+
366
## 6.0.1-preview.25
467

568
### Patch Changes

packages/common/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@evolu/common",
3-
"version": "6.0.1-preview.25",
3+
"version": "6.0.1-preview.26",
44
"description": "TypeScript library and local-first framework",
55
"keywords": [
66
"evolu",

packages/nodejs/CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
11
# @evolu/nodejs
22

3+
## 1.0.1-preview.10
4+
5+
### Patch Changes
6+
7+
- f4a8866: Add owner usage tracking and storage improvements
8+
9+
### Breaking Changes
10+
- Renamed `TransportConfig` to `OwnerTransport` and `WebSocketTransportConfig` to `OwnerWebSocketTransport` for clearer naming
11+
- Renamed `SqliteStorageBase` to `BaseSqliteStorage` and `createSqliteStorageBase` to `createBaseSqliteStorage`
12+
- Extracted storage table creation into separate functions: `createBaseSqliteStorageTables` and `createRelayStorageTables` to support serverless deployments where table setup must be separate from storage operations
13+
- Removed `assertNoErrorInCatch` - it was unnecessary
14+
15+
### Features
16+
- **Owner usage tracking** (in progress): Added `evolu_usage` table and `OwnerUsage` interface to track data consumption metrics per owner (stored bytes, received bytes, sent bytes, first/last timestamps). Table structure is in place but not yet fully implemented
17+
- **Timestamp privacy documentation**: Added privacy considerations explaining that timestamps are metadata visible to relays, with guidance on implementing local write queues for maximum privacy
18+
- **React Native polyfills**: Added polyfills for `AbortSignal.any()` and `AbortSignal.timeout()` to support Task cancellation on React Native platforms that don't yet implement these APIs
19+
20+
### Performance
21+
- **isSqlMutation optimization**: Added LRU cache (10,000 entries) to `isSqlMutation` function, restoring Timestamp insert benchmark from 34k back to 57k inserts/sec.
22+
23+
- Updated dependencies [f4a8866]
24+
- Updated dependencies [02e8aa0]
25+
- Updated dependencies [31d0d21]
26+
- @evolu/common@6.0.1-preview.26
27+
328
## 1.0.1-preview.9
429

530
### Patch Changes

packages/nodejs/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@evolu/nodejs",
3-
"version": "1.0.1-preview.9",
3+
"version": "1.0.1-preview.10",
44
"description": "Evolu for Node.js",
55
"author": "Daniel Steigerwald <daniel@steigerwald.cz>",
66
"license": "MIT",
@@ -40,7 +40,7 @@
4040
"vitest": "^4.0.4"
4141
},
4242
"peerDependencies": {
43-
"@evolu/common": "^6.0.1-preview.25"
43+
"@evolu/common": "^6.0.1-preview.26"
4444
},
4545
"engines": {
4646
"node": ">=22.0.0"

packages/react-native/CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# @evolu/react-native
22

3+
## 12.0.1-preview.8
4+
5+
### Patch Changes
6+
7+
- f4a8866: Add owner usage tracking and storage improvements
8+
9+
### Breaking Changes
10+
- Renamed `TransportConfig` to `OwnerTransport` and `WebSocketTransportConfig` to `OwnerWebSocketTransport` for clearer naming
11+
- Renamed `SqliteStorageBase` to `BaseSqliteStorage` and `createSqliteStorageBase` to `createBaseSqliteStorage`
12+
- Extracted storage table creation into separate functions: `createBaseSqliteStorageTables` and `createRelayStorageTables` to support serverless deployments where table setup must be separate from storage operations
13+
- Removed `assertNoErrorInCatch` - it was unnecessary
14+
15+
### Features
16+
- **Owner usage tracking** (in progress): Added `evolu_usage` table and `OwnerUsage` interface to track data consumption metrics per owner (stored bytes, received bytes, sent bytes, first/last timestamps). Table structure is in place but not yet fully implemented
17+
- **Timestamp privacy documentation**: Added privacy considerations explaining that timestamps are metadata visible to relays, with guidance on implementing local write queues for maximum privacy
18+
- **React Native polyfills**: Added polyfills for `AbortSignal.any()` and `AbortSignal.timeout()` to support Task cancellation on React Native platforms that don't yet implement these APIs
19+
20+
### Performance
21+
- **isSqlMutation optimization**: Added LRU cache (10,000 entries) to `isSqlMutation` function, restoring Timestamp insert benchmark from 34k back to 57k inserts/sec.
22+
23+
- Updated dependencies [f4a8866]
24+
- Updated dependencies [02e8aa0]
25+
- Updated dependencies [31d0d21]
26+
- @evolu/common@6.0.1-preview.26
27+
- @evolu/react@9.0.1-preview.6
28+
329
## 12.0.1-preview.7
430

531
### Patch Changes

packages/react-native/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@evolu/react-native",
3-
"version": "12.0.1-preview.7",
3+
"version": "12.0.1-preview.8",
44
"description": "Evolu for React Native and Expo",
55
"keywords": [
66
"evolu",
@@ -81,7 +81,7 @@
8181
"vitest": "^4.0.4"
8282
},
8383
"peerDependencies": {
84-
"@evolu/common": "^6.0.1-preview.25",
84+
"@evolu/common": "^6.0.1-preview.26",
8585
"@evolu/react": "^9.0.1-preview.6",
8686
"@op-engineering/op-sqlite": ">=12",
8787
"expo": ">=54",

packages/react-web/CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# @evolu/react-web
22

3+
## 1.0.1-preview.6
4+
5+
### Patch Changes
6+
7+
- f4a8866: Add owner usage tracking and storage improvements
8+
9+
### Breaking Changes
10+
- Renamed `TransportConfig` to `OwnerTransport` and `WebSocketTransportConfig` to `OwnerWebSocketTransport` for clearer naming
11+
- Renamed `SqliteStorageBase` to `BaseSqliteStorage` and `createSqliteStorageBase` to `createBaseSqliteStorage`
12+
- Extracted storage table creation into separate functions: `createBaseSqliteStorageTables` and `createRelayStorageTables` to support serverless deployments where table setup must be separate from storage operations
13+
- Removed `assertNoErrorInCatch` - it was unnecessary
14+
15+
### Features
16+
- **Owner usage tracking** (in progress): Added `evolu_usage` table and `OwnerUsage` interface to track data consumption metrics per owner (stored bytes, received bytes, sent bytes, first/last timestamps). Table structure is in place but not yet fully implemented
17+
- **Timestamp privacy documentation**: Added privacy considerations explaining that timestamps are metadata visible to relays, with guidance on implementing local write queues for maximum privacy
18+
- **React Native polyfills**: Added polyfills for `AbortSignal.any()` and `AbortSignal.timeout()` to support Task cancellation on React Native platforms that don't yet implement these APIs
19+
20+
### Performance
21+
- **isSqlMutation optimization**: Added LRU cache (10,000 entries) to `isSqlMutation` function, restoring Timestamp insert benchmark from 34k back to 57k inserts/sec.
22+
23+
- Updated dependencies [f4a8866]
24+
- Updated dependencies [02e8aa0]
25+
- Updated dependencies [31d0d21]
26+
- @evolu/common@6.0.1-preview.26
27+
- @evolu/web@1.0.1-preview.7
28+
329
## 1.0.1-preview.5
430

531
### Patch Changes

0 commit comments

Comments
 (0)