c5f6d7ac83
test/build: Stability, compatibility
2026-03-20 04:10:23 +01:00
8b5231fa0d
test: expand protocol property-based coverage
2026-03-20 02:32:41 +01:00
a15856bdac
websocket: add configurable ping/pong keepalive
2026-03-20 02:32:34 +01:00
b22fe98ab0
auth: use constant-time NIP-42 challenge comparison
2026-03-20 02:32:30 +01:00
c446b8596a
feat: Official plug API
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + E2E) (push) Failing after 0s
2026-03-20 01:31:57 +01:00
9947635855
More E2E tests
2026-03-19 11:46:12 +01:00
3e5bf462e9
chore: Bump version to 0.6.0, fix tests
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + E2E) (push) Failing after 0s
Release / Release Gate (push) Failing after 0s
Release / Build and publish image (push) Has been skipped
2026-03-18 21:58:08 +01:00
7a43ebd395
Expand in-memory storage indexes
2026-03-18 19:43:11 +01:00
4c40edfd83
Optimize memory-backed benchmark path
2026-03-18 18:56:47 +01:00
f60b8ba02a
Add memory-backed benchmark profile
2026-03-18 18:39:53 +01:00
9014912e9d
Unify HTTP metadata handling
2026-03-18 18:00:07 +01:00
c30449b318
Expand relay metrics and observability
2026-03-18 17:39:13 +01:00
c377ed4b62
Separate read pool and harden fanout state handling
2026-03-18 17:21:58 +01:00
dce473662f
Lock signature verification and add per-IP ingest limits
2026-03-18 16:46:32 +01:00
a2bdf11139
Add DB constraints for binary identifier lengths
2026-03-18 16:00:07 +01:00
bc66dfcbbe
Upgrade NIP-50 search to ranked Postgres FTS
2026-03-18 15:56:45 +01:00
f732d9cf24
Implement full NIP-43 relay access flow
2026-03-18 15:28:15 +01:00
f2856d000e
Implement NIP-66 relay discovery publishing
2026-03-18 14:50:25 +01:00
dc5f0c1e5d
Add first-class listener connection caps
2026-03-18 14:21:43 +01:00
b56925f413
Decouple publish fanout and use ETS ingest counters
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
2026-03-18 14:10:32 +01:00
05718d4b91
Prevent NIP-98 token replay
2026-03-18 14:05:38 +01:00
1fef184f50
Add relay-wide event ingest limiter
2026-03-18 14:05:27 +01:00
57fdb4ed85
Add configurable tag guardrails
2026-03-18 14:05:09 +01:00
7b2d92b714
fix: Sandbox owner checks in DB connection before exiting
...
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
The shared sandbox owner process exited without releasing its Postgrex
connection, causing intermittent "client exited" error logs on CI. The
owner now calls Sandbox.checkin before exiting, and on_exit waits for
the owner to finish before switching to manual mode.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 20:11:31 +01:00
a19b7d97f0
fix: Subscription workers restart strategy, sandbox ownership race condition
...
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
Clear OTP SSL PEM cache between listener terminate/restart so reloaded
certs are read from disk instead of serving stale cached data. Make
reconcile_worker idempotent to prevent unnecessary worker churn when
put_server is followed by start_server. Add request timeouts to
RelayInfoClient to prevent hanging connections.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 19:42:18 +01:00
65b47ec191
fix: Subscription workers restart strategy, sandbox ownership race condition
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
2026-03-17 18:49:50 +01:00
e13c08fd5a
Strengthening the TLS reload test
2026-03-17 12:42:08 +01:00
101ded43cb
Stabilize TLS and sync worker tests
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
2026-03-17 12:17:29 +01:00
f4d94c9fcb
Refactor test runtime ownership
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 0s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 0s
2026-03-17 12:06:32 +01:00
35c8d50db0
Stabilize TLS listener reload e2e
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-17 04:12:42 +01:00
4d169c23ae
Harden CI-sensitive integration tests
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-17 03:55:49 +01:00
a1a8b30d12
Stabilize test harness and node sync e2e
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-17 03:46:58 +01:00
e557eba437
Fix connection test harness startup assumptions
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
Release / Release Gate (push) Failing after 1s
Release / Build and publish image (push) Has been skipped
2026-03-17 03:13:45 +01:00
f518a25cab
Add node sync e2e harness and bump 0.5.0
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-17 02:47:42 +01:00
02f2584757
Align websocket and admin APIs with shared surfaces
2026-03-17 01:08:41 +01:00
e8fd6c7328
Add listener TLS support and pinning tests
2026-03-17 00:48:48 +01:00
1f608ee2bd
Refactor ingress to listener-based configuration
2026-03-16 23:47:17 +01:00
5f4f086d28
Add outbound sync worker runtime
2026-03-16 21:55:03 +01:00
9be3b6ca52
Add sync control plane API
2026-03-16 21:23:39 +01:00
769177a63e
Add shared auth and identity APIs
2026-03-16 21:07:26 +01:00
d119d21d99
Extract API events and stream layers
CI / Test (OTP 27.2 / Elixir 1.18.2) (push) Failing after 1s
CI / Test (OTP 28.4 / Elixir 1.19.4 + Marmot E2E) (push) Failing after 1s
2026-03-16 20:21:58 +01:00
5d4d181d00
Add trusted proxy IP enforcement tests
2026-03-16 19:09:27 +01:00
fd17026c32
Implement ACL runtime enforcement and management API
2026-03-16 17:49:16 +01:00
39dbc069a7
feat: NIF-77 negentropy sync
2026-03-16 16:00:15 +01:00
5c2fadc28e
Rename archiver to partitions and drop archive SQL helper
2026-03-14 18:31:12 +01:00
7faf8c84c8
Align event_tags partition lifecycle with events
2026-03-14 18:23:21 +01:00
889d630c12
Add monthly partition maintenance and retention pruning
2026-03-14 18:11:40 +01:00
19664ac56c
build: Default port to 4413
2026-03-14 17:37:37 +01:00
708e26e4f4
buid/test/docs: Docker image, Darwin fix, logo
2026-03-14 17:08:07 +01:00
bfdb06b203
Restrict metrics access and add optional dedicated metrics listener
2026-03-14 04:56:45 +01:00