@@ -5,6 +5,51 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
66and 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