chore: release packages (#385)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2025-12-29 15:04:07 +08:00
committed by GitHub
parent 3b978384c7
commit 1cfa64aa0f
3 changed files with 50 additions and 49 deletions

View File

@@ -1,48 +0,0 @@
---
"@esengine/transaction": major
---
## Breaking Changes
### Storage API Simplification
RedisStorage and MongoStorage now use **factory pattern only** for connection management. The direct client injection option has been removed.
**Before (removed):**
```typescript
// Direct client injection - NO LONGER SUPPORTED
const storage = new RedisStorage({ client: redisClient });
const storage = new MongoStorage({ client: mongoClient, database: 'game' });
```
**After (factory pattern only):**
```typescript
// RedisStorage
const storage = new RedisStorage({
factory: () => new Redis('redis://localhost:6379'),
prefix: 'tx:',
transactionTTL: 86400,
});
// MongoStorage
const storage = new MongoStorage({
factory: async () => {
const client = new MongoClient('mongodb://localhost:27017');
await client.connect();
return client;
},
database: 'game',
});
```
### New Features
- **Lazy Connection**: Connection is established on first operation, not at construction time
- **Automatic Cleanup**: Support `await using` syntax (TypeScript 5.2+) for automatic resource cleanup
- **Explicit Close**: Call `storage.close()` when done, or use `await using` for automatic disposal
### Migration Guide
1. Replace `client` option with `factory` function
2. Add `storage.close()` call when done, or use `await using`
3. For MongoStorage, ensure factory returns a connected client

View File

@@ -1,5 +1,54 @@
# @esengine/transaction # @esengine/transaction
## 2.0.0
### Major Changes
- [#384](https://github.com/esengine/esengine/pull/384) [`3b97838`](https://github.com/esengine/esengine/commit/3b978384c7d4570f9af9d139e3bfea04c6875543) Thanks [@esengine](https://github.com/esengine)! - ## Breaking Changes
### Storage API Simplification
RedisStorage and MongoStorage now use **factory pattern only** for connection management. The direct client injection option has been removed.
**Before (removed):**
```typescript
// Direct client injection - NO LONGER SUPPORTED
const storage = new RedisStorage({ client: redisClient });
const storage = new MongoStorage({ client: mongoClient, database: 'game' });
```
**After (factory pattern only):**
```typescript
// RedisStorage
const storage = new RedisStorage({
factory: () => new Redis('redis://localhost:6379'),
prefix: 'tx:',
transactionTTL: 86400
});
// MongoStorage
const storage = new MongoStorage({
factory: async () => {
const client = new MongoClient('mongodb://localhost:27017');
await client.connect();
return client;
},
database: 'game'
});
```
### New Features
- **Lazy Connection**: Connection is established on first operation, not at construction time
- **Automatic Cleanup**: Support `await using` syntax (TypeScript 5.2+) for automatic resource cleanup
- **Explicit Close**: Call `storage.close()` when done, or use `await using` for automatic disposal
### Migration Guide
1. Replace `client` option with `factory` function
2. Add `storage.close()` call when done, or use `await using`
3. For MongoStorage, ensure factory returns a connected client
## 1.1.0 ## 1.1.0
### Minor Changes ### Minor Changes

View File

@@ -1,6 +1,6 @@
{ {
"name": "@esengine/transaction", "name": "@esengine/transaction",
"version": "1.1.0", "version": "2.0.0",
"description": "Game transaction system with distributed support | 游戏事务系统,支持分布式事务", "description": "Game transaction system with distributed support | 游戏事务系统,支持分布式事务",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",