Repository navigation
Releases: jazware/vlpds
Release list
v1.2.3
Image: ghcr.io/jazware/vlpds:1.2.3 (linux/amd64 and linux/arm64)
Upgrading: docs/operations/upgrades.md
3 commits since v1.2.2: v1.2.2...v1.2.3
Changes
- vlpds: a lease write that landed with its answer lost earns its send's validity; the join adopts it instead of writing again (b2d07e2)
Tests and benchmarks
- vlpds bench/ha: upgrade-rollback expects the old build's level (2 since 1.2.0), not 1 (480995d)
Other
- vlpds 1.2.3 (1897aeb)
v1.2.2
Image: ghcr.io/jazware/vlpds:1.2.2 (linux/amd64 and linux/arm64)
Upgrading: docs/operations/upgrades.md
3 commits since v1.2.1: v1.2.1...v1.2.2
Changes
- vlpds: build the UI on Node 26.12.1 (October 2026 Node security release) (ae572d5)
Shared crates
- vlsync-store: lease CAS attempts time out at renew_every/3 and are resent; vlsync-lease takes only its exact write as this renewal's (5c8a161)
Other
- vlpds 1.2.2 (f2c03a2)
v1.2.1
Image: ghcr.io/jazware/vlpds:1.2.1 (linux/amd64 and linux/arm64)
Upgrading: docs/operations/upgrades.md
4 commits since v1.2.0: v1.2.0...v1.2.1
Changes
- vlpds: upgrade Debian packages in the runtime base image (6c654fb)
- vlpds alerts: ControlPlaneLatencyHigh covers the takeover path only (f702541)
Other
v1.2.0
Image: ghcr.io/jazware/vlpds:1.2.0 (linux/amd64 and linux/arm64)
Upgrading: docs/operations/upgrades.md
25 commits since v1.1.0: v1.1.0...v1.2.0
Changes
- vlpds: the sign-in providers guide gives secrets as {"value": …}, as put takes them; console sign-up tooltip (task 642) (9122c6f)
- vlpds: a refused federated signup form gives its signupsPerDay slot back (task 642) (233a570)
- vlpds: third-party sign-in P3: SIWE through an OIDC adapter, the interop test (task 637) (5f5a268)
- vlpds: third-party sign-in P2: signup with a provider identity, the account page app's sign-in (task 637) (69c3392)
- vlpds: third-party sign-in P1: OIDC providers, sign-in and linking for existing accounts, feature level 2 (task 637) (1e9933b)
- vlpds ui: sign-in providers console page and account sign-in methods (bdd86d3)
- vlpds: operator guide for third-party sign-in providers (a0dc6d9)
- vlpds: design doc for third-party sign-in over OIDC (task 637) (1604014)
- vlpds: create the renewal_landed and revalidated lease events at 0 at startup (64865db)
- vlpds console: confirm and form dialogs scroll their body within the viewport (a long method diff pushed the buttons off screen) (390e18a)
- vlpds: the AppView override is configurable live from the admin console (8632f6a)
- vlpds: AppView override for chosen accounts and methods (off by default) (f8062a8)
- vlpds: move_warm makes 14 accounts, so one lands on the handed-back half (6 left none there 1 run in 64) (416781d)
- vlpds: a shard open's catch-up forward that a newer write passed is dropped; test-vlpds flakes fixed (135b3a6)
- vlpds: the upgrade e2e builds the previous release with its sibling packages (vlsync, vlatproto) from the same rev (11150eb)
- vlpds: retention LISTs only the dead logs that are due (d866ba8)
- vlpds: read on a refused HTTP/1 body; noop poll test holds bucket reads (f2961b8)
Shared crates
- vlsync-lease sim: scale the progress slack by the ranges the final owner holds (5effe0b)
Other
- vlpds 1.2.0 (40611bc)
- Go 1.27.3: go.mod directives, golang images, builder/lead toolchains, yeet-runner, caddy builder (eb38347)
- delta: page GetTask's events; FlowHistory for the replay (task 585) (62eb99a)
- go: move every Go module to 1.27.2 (go.mod, builder role, runner images, Dockerfiles, CI, docs) (e8394dd)
- M6b (d): the dashboards read yeet-query, its Grafana datasource the default, leadsheet's container panels on yeet's container stats (task 150) (20465d9)
- M6a: yeet-query isolation, le/quantile and replica as Prometheus shows them, wide rollup windows, check-rules, rules fit the data (task 150) (d1c544a)
- vldb M6 piece 1: service auth (PDS service JWTs; getFeed's token for its generator), 501 MethodNotImplemented fallback, panics 500, did.json, --xrpc-listen; listNotifications, getActorLikes, getKnownFollowers, getRelationships, getConfig; vlatproto verify_multikey (P-256 too, moved from vlpds); run bound 4 by default (4f002c3)
v1.1.0
Image: ghcr.io/jazware/vlpds:1.1.0 (linux/amd64 and linux/arm64)
Upgrading: docs/operations/upgrades.md
47 commits since v1.0.0: v1.0.0...v1.1.0
Changes
- vlpds, vlrelay: a fat-LTO dist profile for published releases (518d4af)
- vlpds: rustfmt cluster.rs; test-vlpds and test-vlrelay check formatting (8cc3e5b)
- vlpds: repo node bytes exact: each MST node keeps its block length, and a commit subtracts the replaced nodes' real sizes instead of the mean (25efab3)
- vlpds: fix three test-vlpds flakes (a fail-stop in runtime shutdown, an import slot race, a takeover snapshot race) (baa21a8)
- vlpds, vlrelay, vlsync, vlatproto: test profiles skip thin-local LTO (lto = "off"; false still runs it) (f134fc7)
- vlrelay, vlpds, deltad: heap profiles always on, GET /debug/pprof/heap (0d342b6)
- vlsync-firehose, vlrelay, vlpds: configurable backfill cache and read-ahead (10eeaba)
- vlpds, vlrelay: thin LTO with 16 codegen units for release builds (d8079b4)
- vlpds releases: vlpds-v tags, published as v (20db991)
- vlpds: image recipes without mono's vcs.sh, and no private names in shipped notes (02b7e76)
- vlpds: the server-key fault test stubs the fail-stop itself (1ae35cc)
- vlpds: two clippy 1.99 lints (map_entry in changes.rs, redundant pattern in a store_stats test) (c162156)
Shared crates
- vlsync-lease: pluggable liveness (Alive) with bucket leases or peer heartbeats (Peers, vlRelay's quorum rules), vlRelay's peer RPC client moved in, replica positions and topology generations on the beats, a table op with an unknown outcome forgets its cached record; chaos sim runs both models with partitions and rogue owners; vlrelay uses the crate's rpc and quorum rules; docs/leases.md costs and vlDB P3 steps on heartbeats (d791200)
- vlsync: vlsync-lease, one implementation of bucket ownership (CAS on JSON records, epoch claims and fences, node leases judged on each node's monotonic clock, a slot-range assignment table with epochs, spans, replicas and a published topology, a chaos store), docs/leases.md, for vlDB P3 (8fce690)
- vlsync-store: send deletes as single DELETEs, never a DeleteObjects POST (21aa212)
- vlsync-store: name vlRelay's PLC seeds, export checkpoint, discovery and policy keys in the request counts (cec9ba5)
- vlsync-heapprof: dump into a private mkdtemp dir; no private names in vlRelay and vlpds (1a4bf32)
- vlsync: vlsync-heapprof, continuous jemalloc heap profiles as Go's pprof (9a5d718)
- vlsync-firehose: a backfill's first read-ahead asks for one segment; vlrelay: rcvbuf 64 on a small box (a50c566)
- vlsync: pin slatedb at 08addd13 (patch 10: open without waiting for the compactor) (6ba8df8)
- vlsync-store: label delta's bucket paths by component (2d91ed6)
- vlatproto: atproto out of vlsync into its own package (3515b6e)
- vlsync: docs and comments point at the crates' new homes (e95670f)
- vlsync: image builds take vlsync (7c4f159)
- vlsync: justfile, README, clippy-clean crates (77ac866)
- vlsync: shared storage, atproto and firehose crates out of vlpds (298b9fe)
- slatedb: fork 87db9e3b (patch 9, cache weighted bytes); slatedb_cache_bytes{cache,part} (3d048ba)
- slatedb: fork patch 8 (fetched blocks/indexes clamped); vlRelay's state and seeds SSTs zstd (89684b8)
- slate-metrics: db label only on per-database families; the newest open handle per name shows (838d36f)
- slate-metrics: SlateDB metrics per database (db label) and LSM shapes; wired into vlpds and vlRelay (13a558a)
Docs
- vlpds docs: console screenshots from a local 5-node cluster with fake accounts (91bf30d)
- vlpds docs: the compatibility contract holds within a feature level, with Spaces and pre-2026-10-06 builds as exceptions; upgrading from those is one-way (stop every node, then start all on the new build) and drops users' unused TOTP recovery codes (61bfefa)
- vlpds docs: catch up with Spaces, vlsync/vlatproto and the console redesign; new console screenshot (dde121d)
Tests and benchmarks
- vlpds tests: gathers_every_node waits for a balanced cluster (160d929)
- vlpds tests: a TestServer's first write no longer waits out the 1 s lease-write gap; the long tests start first (56f7b53)
- vlpds e2e: HA scenarios run side by side, replays end when they reach the head (15a504f)
- vlpds bench/ha: the dead-log audit lets spans the node handed off before the fault end below the fence; a failed scenario says why (c31af8c)
- vlpds bench/ha: hactl.py reads today's log segments (42b2924)
- vlpds bench/ha/upgrade.sh: the default previous release is the first build with 40-byte repo stats rows (2026-10-06), the oldest a rolling upgrade is promised from; older ones upgrade one-way (38d80a0)
Other
- vlpds 1.1.0 (77b8897)
- public syncs: a GitHub Release for each published v* tag (ff85f06)
- deploy: retire Pyroscope for yeet's continuous profiles (a039286)
- tokio-console: keep a minute of finished tasks and cap its buffers (d8856fb)
- tokio-console in vlrelay, vlpds, deltad and yeet-hq, and
yeet console(de23d27) - builds, packages and deploy scripts: mono's own checkout through scripts/vcs.sh, not git (82c430b)
- scripts: VCS shim (scripts/vcs.sh) for the delta cutover; image scripts, lib.sh, check-sops and justfile tag defaults use it (b3e687e)
- vlrelay: bound the SlateDB compactor and memtables (state and PLC seeds); small-box docs (60fbd09)
v1.0.0
Image: ghcr.io/jazware/vlpds:1.0.0 (linux/amd64 and linux/arm64)
Upgrading: docs/operations/upgrades.md
The first release of vlpds.