Skip to content

Commit 712e58d

Browse files
committed
docs: Update local dev docs and changelog
1 parent 8df684d commit 712e58d

2 files changed

Lines changed: 238 additions & 412 deletions

File tree

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,51 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
### Changed
11+
12+
- **Major Rust Code Refactoring (Modularisation)**
13+
- Split monolithic `lib.rs` (2,302 lines) into 14 focused, single-responsibility modules
14+
- **Module structure by feature area**:
15+
- `connection.rs` - Connection lifecycle, establishment, and state management
16+
- `query.rs` - Basic query execution and result handling
17+
- `batch.rs` - Batch operations (transactional and non-transactional)
18+
- `statement.rs` - Prepared statement caching and execution
19+
- `transaction.rs` - Transaction management with ownership tracking
20+
- `savepoint.rs` - Nested transactions (savepoint operations)
21+
- `cursor.rs` - Cursor streaming and result pagination
22+
- `replication.rs` - Remote replica sync control and frame tracking
23+
- `metadata.rs` - Metadata access (rowid, changes, autocommit status)
24+
- `utils.rs` - Shared utilities (safe locking, error handling, row collection)
25+
- `constants.rs` - Global registries and configuration constants
26+
- `models.rs` - Core data structures (LibSQLConn, connection state)
27+
- `decode.rs` - Value decoding and type conversions
28+
- **Test reorganisation** - Refactored monolithic `tests.rs` (1,194 lines) into structured modules:
29+
- `tests/mod.rs` - Test module declaration and organisation
30+
- `tests/constants_tests.rs` - Registry and constant tests
31+
- `tests/utils_tests.rs` - Utility function and safety tests
32+
- `tests/integration_tests.rs` - End-to-end integration tests
33+
- **Root module simplification** - `lib.rs` now only declares modules and exports key types
34+
- **Improved maintainability** - Separation of concerns
35+
- **Zero behaviour changes** - Refactoring is purely organisational, all APIs and functionality preserved
36+
- **Enhanced documentation** - Module-level doc comments explain purpose and relationships
37+
- **Impact**: Significantly improved code navigation, maintenance, and onboarding for contributors
38+
39+
### Fixed
40+
41+
- **Constraint Error Message Handling**
42+
- Enhanced constraint name extraction to support index names in error messages
43+
- Now correctly extracts custom index names from enhanced error format: `(index: index_name)`
44+
- Falls back to column name extraction for standard SQLite error messages
45+
- Improves `unique_constraint/3` matching with custom index names in changesets
46+
- Clarified documentation on composite unique constraint handling
47+
- Better support for complex constraint scenarios with multiple columns
48+
49+
- **Remote Turso Tests**
50+
- Reduced test database size by removing unnecessary operations
51+
- Improved test stability and execution reliability
52+
853
## [0.7.5] - 2025-12-15
954

1055
### Fixed

0 commit comments

Comments
 (0)