1565 Commits
Author SHA1 Message Date
zeekay 7ded8d34a0 chore: sync working tree
Commits 2 outstanding change(s) that were sitting uncommitted.
No build artifacts and no secrets in the changeset (both checked).
2026-07-26 10:07:01 -07:00
zeekay 2ce61c9330 fix(deps): patch the AWS SDK EventStream DoS
Panic-driven denial of service in the AWS SDK for Go v2 EventStream decoder:
eventstream -> v1.7.8, service/s3 -> v1.97.3 (minimum patched versions, so the
change carries the fix and nothing else).

Verified against a measured baseline: go build ./... exit 0, and go test ./...
is 9 ok / 5 fail BOTH with and without this change — identical, so those
failures are pre-existing.
2026-07-26 06:37:11 -07:00
zeekay 2394ce24ce fix(deps): correct moved-tag hashes for luxfi modules in go.sum
Several luxfi versions carry TWO different contents across this workspace,
because published tags were moved instead of a new patch being cut:
age@v1.5.0, pq@v1.0.3, threshold@v1.9.4, zap@v0.6.0, zap@v0.8.1.

Adjudicated before editing, since "checksum mismatch / SECURITY ERROR" is also
what a real supply-chain attack looks like. It is not one here: sum.golang.org
holds the OLD hash while proxy.golang.org and a direct fetch BOTH serve the same
NEW bytes. Two independent transports agreeing means nothing is rewriting
content in flight — the tag moved at source. The sumdb entry is a fossil:
GOPRIVATE covers github.com/luxfi/* with GOSUMDB=off, so our own modules never
consult the checksum DB and a moved tag splits consumers silently.

The old bytes are served by nothing now, so a stale pin can never build.
Corrected to the only content that exists, in BOTH line forms (h1: and
/go.mod h1:) — Go reports these one at a time, so a partial fix just relocates
the error.

Deliberately no `go mod tidy`: this changes no selected version, only the
recorded hash of versions already chosen.

Verified: `go list -m all` resolves with no checksum error.

The durable fix is upstream: never move a published tag, cut x.y.z+1 instead.
2026-07-26 02:42:51 -07:00
zeekayandHanzo Dev d09b8aa428 fix(deps): repair vanished pins / go.sum drift ( age@latest) + build green
Co-authored-by: Hanzo Dev <dev@hanzo.ai>
2026-06-30 14:02:27 -07:00
z ae3687b35d docs(brand): add hero banner 2026-06-28 20:39:09 -07:00
z e833d8cd58 chore(brand): dynamic hero banner 2026-06-28 20:39:08 -07:00
zeekay 0c169360bb chore: restore upstream attribution + NOTICE (OSS compliance) 2026-06-21 07:45:02 -07:00
zeekay f59f0e2304 Merge cgo-unblock-vfs-bump: zapdb: bump hanzoai/vfs v0.4.0->v0.4.3 (cloud-free) — drop broken hanzoai/cloud transitive pin 2026-06-17 17:11:53 -07:00
zeekay 7c9063b313 zapdb: bump hanzoai/vfs v0.4.0->v0.4.3 (cloud-free) — drop broken hanzoai/cloud transitive pin
Resolves the workspace-wide cgo build blocker (cloud@v0.1.0's dead base/gateway/iam
pseudo-versions). vfs 0.4.2+ decoupled from cloud per HIP-0106. go mod tidy clean,
builds pure-Go.
2026-06-17 17:11:53 -07:00
Antje WorringandHanzo Dev 3929ed3e75 docs: tidy LLM.md indexes; CLAUDE.md -> LLM.md symlink convention
Co-authored-by: Hanzo Dev <dev@hanzo.ai>
2026-06-17 09:56:39 -07:00
zeekay 197200fd11 corona→corona: academic Corona now only in lp-220-p3q-corona 2026-06-11 10:28:47 -07:00
zeekay fe4fe3f186 deps: update to latest real-semver, drop local replaces, fix breaks 2026-06-11 09:08:24 -07:00
Hanzo AI f7cc20b344 cmd/replicate: fold zapdb-replicate native streaming-replication tool
ZapDB has native streaming Backup(w, since) + Load(r). The standalone
luxfi/zapdb-replicate repo was duplicate scaffolding. Sidecar daemon
+ restore init-container now live here under cmd/replicate/.

Pre-fold lineage: standalone repo at luxfi/zapdb-replicate; final
commit there c13a738 (deps Go 1.26.4 bump). No history was merged;
small repo, clean copy.
2026-06-07 13:23:46 -07:00
Hanzo AI 4ea56f16c1 go.mod: bump go directive 1.26.3 → 1.26.4
Patch fix: crypto/x509, mime, net/textproto security fixes per Go 1.26.4 release notes (2026-06-02). Also compiler, runtime, go fix, crypto/fips140 bug fixes.
2026-06-06 21:51:06 -07:00
Hanzo AI 68aafaea6d WIP: session checkpoint 2026-06-05 (codec rip continuation) 2026-06-05 15:38:27 -07:00
Hanzo AI 8918348dd6 zapdb: swap minio-go/v7 → hanzos3/go-sdk v1.0.2
Canonical S3 SDK across the stack is the Hanzo S3 fork at
github.com/hanzos3/go-sdk (package `s3`, not `minio`). The fork
already had `module github.com/hanzos3/go-sdk` and `package s3`
landed on its `main` branch (5c5ecda); tagged v1.0.2 with the
Go 1.26.3 security bump on top of v1.0.1.

Replicator changes:
- import: `s3 "github.com/hanzos3/go-sdk"` (alias for clarity since
  package name `s3` differs from last path segment `go-sdk`)
- field `Replicator.s3` → `Replicator.cli` so the field name no
  longer shadows the package qualifier in struct literals
- all `minio.X` → `s3.X` (Client, New, Options, PutObject,
  GetObject, ListObjects, *Options types)

No behavioral changes. All Replicator tests pass.
2026-06-03 10:04:07 -07:00
Hanzo DevandGitHub f83d04b976 docs: add LICENSING.md pointer to canonical IP/licensing strategy (#1) 2026-05-15 17:40:47 -07:00
Hanzo AI 92eb1ea105 go.mod: bump go directive to 1.26.3 (security advisory) 2026-05-12 21:32:04 -07:00
Hanzo AI b631ada0d6 docs: fix cross-brand references in README 2026-04-12 12:42:11 -07:00
Hanzo AI ab37e5f078 feat: reset module path to luxfi/zapdb v1.0.0
Removed /v4 suffix from module path and all internal imports.
Go module is now github.com/luxfi/zapdb (no major version suffix).
Import as: import "github.com/luxfi/zapdb"

No code changes — only module path and import rewrite.
2026-04-11 00:01:08 -07:00
Hanzo AI 0380b1d0ac fix: zapdb docs — v1 refs only, rebrand from Badger 2026-04-09 23:30:11 -07:00
Hanzo AI 2f6f0fb9de fix: add streaming TODO for memory-buffered backup in Replicator
Incremental and Snapshot methods buffer the entire backup in a
bytes.Buffer before encrypting and uploading. Marked for future
io.Pipe streaming conversion to avoid 3x memory overhead.
2026-04-09 18:59:17 -07:00
Hanzo AI f5a5c9a5ec docs: add encrypted streaming replication section to README 2026-04-09 17:52:05 -07:00
Hanzo AI 9a96d340a1 feat: E2E encrypted streaming replication to S3 via luxfi/age
- replicate.go: Replicator with Start/Stop, Incremental, Snapshot, Restore
- ZAP binary format (NOT protobuf) — .zap/.zap.age extensions
- Fixed stale "protobuf-encoded" comments in backup.go
- Age encryption (X25519, upgradeable to X-Wing/ML-KEM-768)
- S3 via minio-go/v7 (works with hanzoai/s3, AWS, GCS, R2)
- S3 path: {prefix}/{service}/{pod}/{version}.zap.age
- E2E test: 100 keys → full backup → 50 more → incremental → encrypt → restore → verify 150 keys
- 6 tests, all pass

Compatible with hanzoai/replicate (SQLite) for the full encryption stack.
2026-04-09 17:46:23 -07:00
Hanzo AI a9f86e5805 feat: encrypted streaming replication to S3 via age (luxfi/age)
Continuous incremental backup with age encryption.
- ReplicatorConfig: S3 endpoint, bucket, age keys, intervals
- Incremental: db.Backup(sinceVersion) -> age.Encrypt -> S3 PutObject
- Snapshot: full backup every hour (configurable)
- Restore: S3 GetObject -> age.Decrypt -> db.Load
- Compatible with minio-go for any S3-compatible storage
2026-04-09 17:41:40 -07:00
Hanzo AI 6902dd8ce4 feat: C FFI exports for Rust bindings (libzapdb) 2026-04-04 12:45:52 -07:00
Hanzo AI 90c5045f99 chore: symlink AGENTS.md and CLAUDE.md to LLM.md
Canonical project context lives in LLM.md. Symlinks ensure
agentic coding tools (agent, Cursor, etc.) find context
automatically regardless of which filename they look for.
2026-04-01 14:10:15 -07:00
Hanzo Dev 0625891137 chore: bump Go 1.26.0 → 1.26.1
Fixes 5 stdlib CVEs (html/template, os, net/url, crypto/x509 x2).
2026-03-12 01:10:57 -07:00
Hanzo Dev d5ea72f886 fix: Go 1.26 vet compliance, grpc build tag in proto gen
- Fix format string vet errors in db2_test.go and key_registry.go
  for Go 1.26 stricter printf checks
- Update pb/gen.sh to add //go:build grpc tag after protoc generation
  so protobuf types only compile with grpc tag (default uses ZAP
  native binary encoding from types_zap.go)
2026-03-11 22:45:10 -07:00
Hanzo Dev bd39845397 fix: rebrand upstream dir_aix.go import path
Fix import path in newly merged AIX directory support file
to use luxfi/zapdb/v4 module path.
2026-03-11 22:37:40 -07:00
Hanzo Dev 3058f83b2a Merge remote-tracking branch 'upstream/main' 2026-03-11 22:36:45 -07:00
Hanzo Dev ed91a93c82 docs: add LLM.md project guide 2026-03-11 11:05:27 -07:00
Hanzo Dev 0844dcde22 chore: update Go module dependencies 2026-03-03 22:55:14 -08:00
xqqpandGitHub c0502c6530 chore(core): remove unused event log (#2257)
- remove file `event_log.go`, because its content is unused
- this file was the only reference to `golang.org/x/net`, therefore we
can also remove this dependency
2026-02-26 20:46:35 +05:30
Zach Kelling 97021454b5 fix: use native binary encoding for wire-format compatibility with luxfi/badger
Replace proto.Marshal/Unmarshal with native pb.Marshal/pb.Unmarshal to
match the wire format used by luxfi/badger/v4. This ensures databases
written by nodes using the badger fork (v1.23.4) can be read by nodes
using zapdb (v1.23.5), preventing "proto: cannot parse invalid
wire-format data" errors during rolling upgrades.

Added types_zap.go and marshal_zap.go from luxfi/badger fork, which
provide custom LittleEndian binary encoding for ManifestChangeSet,
KV, Checksum, and other internal types. The standard protobuf
generated code (badgerpb4.pb.go) is now behind a grpc build tag.
2026-02-08 18:33:39 -08:00
Zach Kelling fed226411c fix: prevent expvar metric re-registration panic
Use sync.Once and helper functions to safely handle metric initialization
when the package is imported multiple times in test environments. This
fixes the "Reuse of exported var name" panic that occurred when running
coreth tests.
2026-02-08 14:39:14 -08:00
Zach Kelling ebeadbd0a2 Rebrand badger to zapdb
- Rename module from github.com/dgraph-io/badger/v4 to github.com/luxfi/zapdb/v4
- Update all internal imports to use new module path
- Preserve all ZAP enhancements from badger fork
2026-02-08 14:14:21 -08:00
Matthew McNeelyandGitHub 54d730a87e chore: Update changelog (#2256)
**Description**

Updated the changelog
2026-02-04 15:55:07 -05:00
0c07dc6ca8 fix(aix): add aix directory synchronization support (#2115)
AIX doesn't support a proper flock like linux, but it seems to have
enough support for process level file locking using fcntl.

For #2035

## Problem
GOOS=aix does not build. AIX does not support a linux-like flock, and
does not export `unix.Flock`.

## Solution
Create an AIX specific directory-locking implementation using the AIX
version of flock.

---------

Co-authored-by: Paul E. Murphy <murphyp@linux.ibm.com>
Co-authored-by: Matthew McNeely <matthew.mcneely@gmail.com>
2026-02-04 14:41:32 -05:00
MiladandGitHub ea89c5308d test: add checksum tests for package y (#2246)
**Description**

Added `y/checksum_test.go` with unit tests for:
CRC32C calculation (including empty input)
XXHash64 calculation
VerifyChecksum success cases
VerifyChecksum mismatch case
CalculateChecksum panic on unsupported algorithm
2026-01-16 16:08:21 -05:00
Benjamin WangandGitHub 774a135e5c fix: correct the comment on value size in skl.node (#2250)
**Description**

Correct an incorrect comment on the value size in skl.node.

Background: the PR https://github.com/dgraph-io/badger/pull/880 changed
the value size from uint16 to uint32, but the did not update the
comment.

**Checklist**

- [X] Code compiles correctly and linting passes locally
- [X] Tests added for new functionality, or regression tests for bug
fixes added as applicable

Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2025-12-28 18:05:42 -05:00
Matthew McNeelyandGitHub bd3f0f3971 chore(ci): update arm runner label (#2248)
**Description**

This PR updates the CD build with the correct ARM runner
2025-12-16 16:12:06 -05:00
Matthew McNeelyandGitHub a170cfe547 chore: prepare for v4.9.0 release (#2247)
**Description**

This PR preps for a release
2025-12-16 15:02:15 -05:00
90ebc7e33d fix(y): shall always return empty slice rather than nil (#2245)
Fixes #2067

**Description**

This PR fixes an issue where Go's `append` returns `nil` when appending
an empty slice to a nil slice.
I added a check in `SafeCopy` to ensure we always return `[]byte{}` in
this case, along with a new unit test.
I also verified it using the test offered in the issue

**Checklist**

- [x] Code compiles correctly and linting passes locally
- [ ] For all _code_ changes, an entry added to the `CHANGELOG.md` file
describing and linking to
      this PR
- [x] Tests added for new functionality, or regression tests for bug
fixes added as applicable

---------

Co-authored-by: Matthew McNeely <matthew.mcneely@gmail.com>
2025-12-15 16:56:42 -05:00
AngandGitHub 2b4ec9d4a8 fix(docs): fix typos (#2227)
**Description**

Fix typos found via `codespell -S CHANGELOG.md -L
fo,committs,nd,hights,abd,hel,mmaped,siz`

**Checklist**

- [x] Code compiles correctly and linting passes locally
- [ ] For all _code_ changes, an entry added to the `CHANGELOG.md` file
describing and linking to
      this PR
- [ ] Tests added for new functionality, or regression tests for bug
fixes added as applicable
- [ ] For public APIs, new features, etc., PR on [docs
repo](https://github.com/hypermodeinc/docs) staged and linked here
2025-12-11 14:40:19 -05:00
Matthew McNeelyandGitHub bff9e8bbff chore(ci): restrict Dgraph test to core packages only (#2242)
**Description**

This PR restricts the Dgraph CI workflow to only check core Dgraph
packages. The intent of this CI workflow is to immediately identify
badger@main compatibility issues with the main branch of Dgraph. Running
the entire Dgraph test suite is overkill -- this should immediately find
any badger incompatibilities with Dgraph.
2025-12-11 13:55:08 -05:00
AngandGitHub 80603f5a31 fix: test.sh error (#2225)
**Description**

Resolves the following error :

    ./test.sh: line 8: [: =: unary operator expected

**Checklist**

- [x] Code compiles correctly and linting passes locally
- [ ] For all _code_ changes, an entry added to the `CHANGELOG.md` file
describing and linking to
      this PR
- [ ] Tests added for new functionality, or regression tests for bug
fixes added as applicable
- [ ] For public APIs, new features, etc., PR on [docs
repo](https://github.com/hypermodeinc/docs)
      staged and linked here
2025-12-11 13:14:54 -05:00
raphael-istariandGitHub 0ae57b2d50 add doc for encryption at rest (#2240)
Use blog
https://github.com/dgraph-io/open/blob/master/content/post/encryption-at-rest-dgraph-badger.md
to create a doc page about encryption at rest
2025-12-11 17:43:17 +00:00
Matthew McNeelyandGitHub 56b2d31d75 chore: update README.md with correct links and badges (#2239)
**Description**

Updated links

Closes #2238
2025-12-10 22:11:18 +00:00
fe1a22dc6b chore: change renovate to maintain backwards compatible go version (#2236)
**Description**

Updating renovate to leave go version as declared

---------

Co-authored-by: raphael-istari <rderbier@istaridigital.com>
2025-11-17 19:28:05 -05:00