You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: Replace static SQLite with dynamic linking and add JSONL default storage (#346)
Replaces the statically linked SQLite dependency with dynamic linking
using `github.com/mattn/go-sqlite3`. Introduces JSONL as the new default
storage backend for conversations, providing zero-dependency
persistence. Updates CI/CD workflows and documentation accordingly.
## Key Changes:
1. **SQLite Migration**: Switched from `modernc.org/sqlite` (pure-Go) to
`github.com/mattn/go-sqlite3` (CGO-based)
2. **New Default Storage**: JSONL storage is now the default instead of
SQLite
3. **Build Changes**: Added CGO_ENABLED=1 and system dependencies for
SQLite
4. **Documentation**: Updated docs to reflect JSONL as the recommended
default
5. **Fallback Handling**: Improved error messages when storage backends
are unavailable
## Benefits:
- **JSONL Storage**: Zero-dependency, simple file-based storage that
works out of the box
- **Dynamic SQLite**: Better performance and compatibility with existing
SQLite tools
- **Flexibility**: Users can still choose SQLite, PostgreSQL, or Redis
as alternatives
- **Simplified Setup**: No SQLite compilation or static linking required
for most users
## Migration Notes:
- Existing SQLite databases will continue to work
- New installations will default to JSONL storage
- SQLite now requires CGO and system SQLite libraries
- JSONL files are human-readable and easy to backup/migrate
The JSONL storage provides a simpler, dependency-free solution for most
users while maintaining SQLite, PostgreSQL, and Redis as alternative
options.
---------
Signed-off-by: Eden Reich <[email protected]>
0 commit comments