1.0.0-beta-8

Pre-release

achtungsoftware/alarik1.0.0-beta-8Jul 22, 2026by juliangerhards

AI Summary

This release introduces a major architectural overhaul, replacing the storage system with Reed-Solomon erasure coding and moving the control plane into the application's internal store, which requires a clean install.

Key Highlights

  • Implementation of Reed-Solomon erasure coding for object data
  • Migration of control plane (users, buckets, policies) to the internal store
  • Removal of external database dependencies
  • Enforcement of JWT secrets in production environments

Breaking Changes

  • Clean install required; no migration path from beta-7
  • JWT is now required with `--env production`
  • Presigned URLs signed with a future date are rejected
  • Access keys now stop working exactly at expiry time

New Features

  • Erasure coding feature
  • Objects metadata store

Full Release Notes

## ⚠️ Clean install required — do not upgrade in place

beta-8 replaces **both halves** of Alarik's storage. There is no migration path from beta-7.

**What changed underneath**

- Object data is now **Reed-Solomon erasure-coded** (`k` data + `m` parity shards) instead of whole-copy replicated.
- The control plane — users, buckets, access keys, policies, cluster membership — moved out of SQLite/Postgres and into Alarik's own erasure-coded store. **There is no external database any more.** Any database environment variables are now ignored, and there is no import step from an existing one.

**If you point beta-8 at a beta-7 `Storage/` directory**, it comes up with an empty control plane: no users, no access keys, no buckets. Nothing is reachable even where object files are still on disk. Back up first, deploy fresh, recreate your accounts and access keys, and re-upload.

**Other breaking changes**

- `JWT` is now **required** with `--env production`. A production node without it refuses to start rather than falling back to the well-known development key. Set it to a strong secret — and to the *same* value on every node in a cluster.
- Presigned URLs signed with a future date are rejected until that time, matching S3. Previously they worked immediately.
- Access keys now stop working exactly at their expiry instead of up to a minute later.

This is a beta series; breaking changes between betas are expected until 1.0.0.


## What's Changed
* Feature/erasure coding by @juliangerhards in https://github.com/achtungsoftware/alarik/pull/15
* Feature/objects metadata store by @juliangerhards in https://github.com/achtungsoftware/alarik/pull/18


**Full Changelog**: https://github.com/achtungsoftware/alarik/compare/1.0.0-beta-7...1.0.0-beta-8