Arc v26.09.3
Arc is a high-performance time-series database built on DuckDB, optimized for IoT, observability, and analytics workloads.
What's Changed
- fix(filereplication): a full-size .part with no final file is not "present" by @pujitha24 in #965
- feat(metrics): expose per-peer replication lag gauges by @efegokdemir in #908
- fix(backup): skip oversized backup destination keys by @efegokdemir in #903
- fix(query): rewrite comma cross-join tables to storage paths (#978) by @xe-nvdk in #980
- feat(backup): name skipped files, carry the counts into the listing, add arc_backup_skipped_files (#977) by @xe-nvdk in #981
- fix(rbac): make permission extraction and query rewriting agree by @xe-nvdk in #986
- fix(query): arm the replacement-scan guard on every relation keyword by @xe-nvdk in #992
- fix(rbac): make RBAC enforcement real, and gate the listing endpoints by @xe-nvdk in #1000
- fix(delete): validate the WHERE fragment for table-position literals by @xe-nvdk in #1001
- fix(cq): re-validate the stored definition before each execution by @xe-nvdk in #1002
- fix(filereplication): try the next peer on a checksum mismatch, keep the local copy (#999) by @xe-nvdk in #1003
- Reject unsafe edge-sync names by @efegokdemir in #996
- Validate continuous query database names by @efegokdemir in #995
- fix(cq): re-validate the stored database name before each run (#1010) by @xe-nvdk in #1013
- fix(ingest): start flush timeouts at dequeue and stop Close abandoning flushes (#1006, #1007) by @xe-nvdk in #1017
- fix(sql): disable DuckDB Hive partition inference on every read (#1005) by @xe-nvdk in #1018
- fix(ingest): defer flush when queue is full by @efegokdemir in #997
- fix(compaction): count rows from parquet file metadata by @efegokdemir in #1019
- docs: credit #997 in contributors by @xe-nvdk in #1024
- fix(cq): validate continuous-query measurement names, at the boundary and before each run (#1011) by @xe-nvdk in #1022
- fix(ingest): re-enqueue a deferred flush when a worker frees a slot (#1008) by @xe-nvdk in #1027
- docs(contributing): explain the arcx label and the unbuildable arcx_engine tag by @xe-nvdk in #1029
- fix(build): run cargo from the arcx directory so its cargo config applies by @xe-nvdk in #1028
- fix(config): stop overriding DuckDB's own container-aware memory and thread limits (#1026) by @xe-nvdk in #1031
- fix(api): mark panicked arcx Arrow streams as truncated by @efegokdemir in #904
- fix(api): register arcx Arrow IPC queries in query management by @efegokdemir in #911
- test(api): decode msgpack with the Basekick fork, not upstream v5 by @xe-nvdk in #1033
- fix(config): derive compaction.threads from the container's CPU quota (#1030) by @xe-nvdk in #1035
- fix(wal): checkpoint flushed entries before recovery by @efegokdemir in #998
- docs: release notes and credit for WAL flush checkpoints (#948) by @xe-nvdk in #1044
- fix(ingest): checkpoint WAL entries flushed on the asynchronous path (#1045) by @xe-nvdk in #1046
- feat(arcxrouter): HAVING and the bucket alias join the grouped allow-list by @xe-nvdk in #1047
- fix(wal): make replay idempotent by inheriting the replayed entry's identity (#1009) by @xe-nvdk in #1048
- feat(wal): per-file sequence bounds, a flush-aware purge, and an ordered Rotate (#1009) by @xe-nvdk in #1049
- fix(arcxrouter): shadow compared only the FIRST batch, so it alarmed on results arcx got right by @xe-nvdk in #1050
- fix(tiering): keep a cluster node's tier metadata in step with its own disk by @xe-nvdk in #1062
- fix(wal): purge only data proven flushed by @lecodev-26 in #1056
- fix(audit): copy Fiber request data before asynchronous logging by @0utsights in #871
- fix(cluster): keep Raft alive through the final flush so shutdown registers its files (#1014) by @xe-nvdk in #1063
- fix(cluster): honor fetch cancellation during TCP/TLS connection setup by @pujitha24 in #902
- fix(storage): make ListStaged report only keys DeleteStaged accepts by @pujitha24 in #906
- fix(wal): line-protocol WAL entries carry their database envelope (#889) by @lecodev-26 in #1055
- fix(cluster): ignore identical duplicate token creates by @efegokdemir in #973
- fix(cluster): refresh file origin after failover rewrite by @efegokdemir in #984
- fix(cluster): make Raft manifest batches atomically visible by @efegokdemir in #910
- fix(cluster): notify deletes during snapshot restore by @efegokdemir in #983
- chore(release): prepare 26.09.3 by @xe-nvdk in #1072
New Contributors
- @0utsights made their first contribution in #871
Full Changelog: v26.09.2...v26.09.3
Quick Start
Docker
docker run -d \
-p 8000:8000 \
-v arc-data:/app/data \
ghcr.io/basekick-labs/arc:26.09.3Debian/Ubuntu (amd64, arm64)
# Download and install
wget https://github.com/basekick-labs/arc/releases/download/v26.09.3/arc_26.09.3_amd64.deb
sudo dpkg -i arc_26.09.3_amd64.deb
# Start and enable
sudo systemctl enable arc
sudo systemctl start arc
# Check status
curl http://localhost:8000/healthRHEL/Fedora/Rocky (x86_64, aarch64)
# Download and install
wget https://github.com/basekick-labs/arc/releases/download/v26.09.3/arc-26.09.3-1.x86_64.rpm
sudo rpm -i arc-26.09.3-1.x86_64.rpm
# Start and enable
sudo systemctl enable arc
sudo systemctl start arcArch Linux / Omarchy (x86_64, aarch64)
# Download and install
wget https://github.com/basekick-labs/arc/releases/download/v26.09.3/arc-26.09.3-1-x86_64.pkg.tar.zst
sudo pacman -U arc-26.09.3-1-x86_64.pkg.tar.zst
# Start and enable
sudo systemctl enable arc
sudo systemctl start arcKubernetes (Helm)
helm install arc https://github.com/basekick-labs/arc/releases/download/v26.09.3/arc-26.09.3.tgzDownload Artifacts
| Platform | Architecture | Package |
|---|---|---|
| Docker | amd64, arm64 | ghcr.io/basekick-labs/arc:26.09.3
|
| Debian/Ubuntu | amd64 | arc_26.09.3_amd64.deb
|
| Debian/Ubuntu | arm64 | arc_26.09.3_arm64.deb
|
| RHEL/Fedora | x86_64 | arc-26.09.3-1.x86_64.rpm
|
| RHEL/Fedora | aarch64 | arc-26.09.3-1.aarch64.rpm
|
| Arch Linux / Omarchy | x86_64 | arc-26.09.3-1-x86_64.pkg.tar.zst
|
| Arch Linux / Omarchy | aarch64 | arc-26.09.3-1-aarch64.pkg.tar.zst
|
| Kubernetes | - | arc-26.09.3.tgz (Helm)
|
Documentation
Community
- Discord: Join
- Issues: [GitHub](https://github.com/basekick-labs/arc/issues