Repository navigation
Require 0xCarbon/go-sqlite3 directly (latest master, SQLCipher 4.17); drop the replace - #2
Merged
Merged
Conversation
…er 4.17); drop the replace Import github.com/0xCarbon/go-sqlite3 by its own module path — the fork re-pathed its module (0xCarbon/go-sqlite3#4) — instead of requiring mattn/go-sqlite3 behind a replace directive. Consumers no longer need a mattn replace to consume litestream; they must use the 0xCarbon path for their own sqlite imports too (mixing both paths registers the "sqlite3" driver twice and panics at init). Bumps the driver to fork master d1c4d32: SQLCipher amalgamation 4.17.0 (SQLite 3.53.3), upstream v1.14.49-era merge, _key DSN parameter, hardened keyed-open failure paths, key-handling docs.
PR Build Metrics✅ All clear — no issues detected
Binary Size
Dependency ChangesAdded:
Removed:
govulncheck OutputBuild Info
History (2 previous)
🤖 Updated on each push. |
…gth contract; pin 4.14-ciphertext compatibility - Replace the remaining mattn/go-sqlite3 prose references (AGENTS.md intro and driver bullet, skills, code comments, goreleaser note) with the 0xCarbon module path; AGENTS.md previously contradicted its own new Driver dependency bullet. - Document that DB.EncryptionKeyBytes must be exactly 32/48/80 bytes (the fork rejects other lengths at the first connection instead of silently KDF-falling-back) and cover it with a fail-fast test. - Add testdata/sqlcipher-v4.14.0/fixture.db (8KB, written by the previous driver pin c8f057756220) with a decrypt-through-current-pin test, pinning kdf/HMAC default compatibility across amalgamation bumps.
…le registerSQLiteDriver reference The EncryptionKeyBytes field comment now states the fork's 32/48/80-byte raw-key contract (an earlier edit attempt missed the field's actual text). The Fork Deltas driver bullet still described the removed sql.Register registry; point at the OpenDB connector helpers instead.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Consumes the SQLCipher driver fork by its own module path (
github.com/0xCarbon/go-sqlite3, re-pathed in 0xCarbon/go-sqlite3#4) instead ofmattn/go-sqlite3behind areplace.go.modreplace + mattn require dropped; direct require at fork masterd1c4d3294fa8(SQLCipher 4.17.0 / SQLite 3.53.3, upstream v1.14.49-era sync,_keyDSN param, hardened keyed-open paths)sqlite3twice → init panic). Only the 0xCarbon module is linked into binaries (psanford/sqlite3vfs's mattn requirement is test-only).Gates (all exit 0):
go build,go test,-race,-tags vfs, staticcheck, vet, docker default+hardened,make vfs-linux-amd64+ sqlite3 load oracle; encryption round-trips (raw-byte keys, string forms, concurrent differently-keyed DBs under -race) pass against SQLCipher 4.17.