Commit Graph

  • a766f08738 v2.1.23 - Caching service: descriptive error reporting, retry limit, inbox poller fix, config reload fix, PHP admin page master Laan Tungir 2026-07-28 16:37:08 -04:00
  • 23c37abe3a Update nostr_core_lib: increase receive timeout to 1000ms v2.1.23 Laan Tungir 2026-07-28 10:14:47 -04:00
  • 5b3ccfd1f4 Update nostr_core_lib: handle NOTICE/CLOSED in synchronous_query Laan Tungir 2026-07-28 09:39:22 -04:00
  • 38a027e626 Update nostr_core_lib submodule: increase receive buffer to 256KB Laan Tungir 2026-07-28 07:52:08 -04:00
  • a042aca524 v2.1.22 - Added --start-caching and --reset-backfill CLI options, redirected caching_relay output to log file, increased backfill page size to 200 and max cap to 1000 for better completeness Laan Tungir 2026-07-26 18:35:35 -04:00
  • 20902e1c5d v2.1.21 - Fixed caching_service_binary_path to ./caching_relay (relative to relay CWD), added caching_relay build step to make_and_restart_relay.sh, added default caching config values (admin npub, 4 bootstrap relays, kinds 0 and 10002) v2.1.22 Laan Tungir 2026-07-26 14:56:16 -04:00
  • 7233818da9 v2.1.20 - Added default caching config values: admin npub as root, 4 bootstrap relays, kinds 0 and 10002 added to default kinds list v2.1.21 Laan Tungir 2026-07-25 18:21:28 -04:00
  • 86cbf7ff16 v2.1.19 - Consolidated caching_relay code into caching/ directory, switched launcher to PostgreSQL mode (-p pg_conn) so all config comes from the config table instead of a JSON config file v2.1.20 Laan Tungir 2026-07-25 16:27:56 -04:00
  • 3035e71ca5 v2.1.18 - Fixed caching service integration: aligned caching_status response schema, fixed launcher to use -c config_path instead of --pg-conn, added caching service config fields to UI, replaced misleading not-implemented placeholder with accurate auth-failure messaging v2.1.19 Laan Tungir 2026-07-25 11:19:37 -04:00
  • 179b160cf3 v2.1.17 - Verified api-worker LISTEN/NOTIFY monitoring on v2.1.16 relay (port 7777): subscriber-cadence, NOTIFY-reactive, and zero-overhead idle tests all pass v2.1.18 Laan Tungir 2026-07-25 10:17:30 -04:00
  • aedd22436e v2.1.16 - Implemented api-worker timer + LISTEN/NOTIFY monitoring (Phases 1,2,5) and fixed thread-connection binding bug that stopped dashboard updates v2.1.17 Laan Tungir 2026-07-25 10:07:08 -04:00
  • 8fdc362a8b v2.1.15 - Fix PG addressable d-tag derivation and replaceable/addressable transactional replace semantics v2.1.16 Laan Tungir 2026-05-01 19:01:06 -04:00
  • 67cf3973c5 v2.1.14 - Fix PostgreSQL replaceable/addressable upsert semantics with NIP-01 conflict ordering v2.1.15 Laan Tungir 2026-05-01 14:38:57 -04:00
  • c02ae2be5b v2.1.13 - Fix PostgreSQL startup detection for existing relays and make admin_pubkey parsing whitespace-tolerant v2.1.14 Laan Tungir 2026-04-03 16:36:56 -04:00
  • fd3efdd01f v2.1.12 - Implement multi-admin auth cache and checks, add admin management commands, and add multi-admin integration test v2.1.13 Laan Tungir 2026-04-03 15:46:33 -04:00
  • 232f93c16f v2.1.11 - Fix api-worker DB lifecycle and NIP test reliability: add dedicated worker DB connection, guard PG expiration cast in REQ path, correct NIP-45 baseline-aware expectation, and harden run_all_tests skip handling v2.1.12 Laan Tungir 2026-04-03 07:32:14 -04:00
  • 9a9365dcfa v2.1.10 - Fix NIP-50 PG search semantics and NIP-17 test compatibility v2.1.11 Laan Tungir 2026-04-02 13:00:34 -04:00
  • 5577b57149 v2.1.9 - Rebrand repository, docs, scripts, and tooling from c-relay to c-relay-pg v2.1.10 Laan Tungir 2026-04-02 07:06:41 -04:00
  • 22c943d495 v2.1.8 - Implement explicit WAL checkpoint scheduling and disable SQLite auto-checkpoint v2.1.9 Laan Tungir 2026-04-01 21:03:24 -04:00
  • 7e3d9b6825 v2.1.7 - Refactor SQLite connection ownership into db_ops, remove direct sqlite usage from runtime modules, and document agent-browser admin testing flow v2.1.8 Laan Tungir 2026-04-01 19:48:29 -04:00
  • 547d22d09f v2.1.6 - Fix strict-mode admin API key access by prewarming config and relay private key caches v2.1.7 Laan Tungir 2026-04-01 19:08:42 -04:00
  • ce9ae5a488 v2.1.5 - Offload duplicate and COUNT paths, add config/NIP-11 caching, and reduce DB reader threads v2.1.6 Laan Tungir 2026-04-01 16:15:46 -04:00
  • 9b248b740f v2.1.4 - Harden async EVENT fallback handling and verify relay/nginx 503 behavior v2.1.5 Laan Tungir 2026-04-01 15:19:28 -04:00
  • 0f77aeb72b v2.1.3 - Fix async EVENT thread safety by splitting store core/post-actions and naming lws main thread v2.1.4 Laan Tungir 2026-04-01 11:29:14 -04:00
  • bb64651a0c v2.1.2 - Fix async REQ callback leak and validate Phase 2+3 subscription offload path v2.1.3 Laan Tungir 2026-04-01 11:01:38 -04:00
  • 17be9c2b03 v2.1.1 - Wire REQ/COUNT/EVENT paths through thread pool sync helpers and stabilize filter limit tests v2.1.2 Laan Tungir 2026-04-01 09:38:25 -04:00
  • f396c622b6 v2.1.0 - Bump to v2.1.0 as SQLite baseline for PostgreSQL fork handoff v2.1.1 Laan Tungir 2026-04-01 09:14:23 -04:00
  • cbd260c1ae v2.0.4 - Complete Phase 1 DB abstraction: opaque db_stmt API, ip_ban migration, and SQLite leakage cleanup v2.1.0 Laan Tungir 2026-04-01 09:10:42 -04:00
  • bc9ac290ab v2.0.3 - Complete Phase 1 SQLite abstraction cleanup across config/api/websockets and add db path accessor v2.0.4 Laan Tungir 2026-04-01 07:47:21 -04:00
  • 192eeb248d v2.0.2 - Stabilize websocket queue draining, add db config count helper, and align NIP-45/50 test expectations v2.0.3 Laan Tungir 2026-04-01 07:04:58 -04:00
  • da6c505420 v2.0.1 - Fix test-mode build/restart pipeline and NIP-11 root path handling; validate core NIP tests v2.0.2 Laan Tungir 2026-04-01 05:43:57 -04:00
  • c077c209e5 v2.0.0 - Major architecture refactor: db_ops abstraction, low-risk SQLite refactor, and thread-pool scaffolding v2.0.1 Laan Tungir 2026-04-01 05:25:03 -04:00
  • 9bf02702c2 v1.2.56 - Update codebase and documentation v2.0.0 Laan Tungir 2026-04-01 04:51:44 -04:00
  • 0920cc092d v1.2.55 - Preserve relay version metadata for API header/title and accept JSON NIP-11 content type v1.2.56 Your Name 2026-03-23 09:09:50 -04:00
  • a89460be5d v1.2.54 - Sync relay_version to compiled CRELAY_VERSION on startup and show version in API header/title v1.2.55 Your Name 2026-03-23 09:04:49 -04:00
  • ff2a3aa335 v1.2.53 - Fix P0 config-value memory leaks in hot paths and add investigation plan v1.2.54 Your Name 2026-03-19 07:59:40 -04:00
  • 94b61e8a7c v1.2.52 - Update nostr_core_lib to v0.4.13 and route nostr logs through relay callback logger v1.2.53 Your Name 2026-03-13 14:33:08 -04:00
  • b0c0754e83 v1.2.51 - Fix NIP-01 non-compliance: limit:0 now correctly returns zero stored events instead of falling through to default_limit v1.2.52 Your Name 2026-03-04 11:23:58 -04:00
  • 3265e3d114 v1.2.50 - Fix NIP-42 relay URL verification and add onauth to all publish flows v1.2.51 Your Name 2026-03-01 12:20:44 -04:00
  • 927659ece1 v1.2.49 - Fix: MEM% bar format (bar then MB), move CPU Core row after CPU Usage v1.2.50 Your Name 2026-02-25 07:37:50 -04:00
  • b6ff4150b4 v1.2.48 - Add CPU% and MEM% ASCII bar graphs to API page stats v1.2.49 Your Name 2026-02-25 07:33:06 -04:00
  • 63bc526163 v1.2.47 - Fix build: use getter function for g_connection_count (was static, can't extern) v1.2.48 Your Name 2026-02-25 07:24:17 -04:00
  • a1f712236a v1.2.46 - Fix: move extern g_connection_count to file scope in api.c v1.2.47 Your Name 2026-02-25 07:22:14 -04:00
  • 06e6c17b7b v1.2.45 - Add WebSocket Connections to system status: api.c sends active_connections, HTML+JS display it v1.2.46 Your Name 2026-02-25 07:18:42 -04:00
  • 0751a7c55c v1.2.44 - IP Bans: show idle+auth bans in stats/status, fix filter buttons, add idle ban columns to query v1.2.45 Your Name 2026-02-25 07:12:07 -04:00
  • f1728932a9 v1.2.43 - IP Bans page: fix filter buttons, add whitelist management UI, compact table rows v1.2.44 Your Name 2026-02-25 07:08:20 -04:00
  • ef8bdef2a8 v1.2.42 - IP Bans page: fix filter buttons, add whitelist management UI, compact table rows v1.2.43 Your Name 2026-02-25 07:08:12 -04:00
  • c11a8ba292 v1.2.41 - Fix IP Bans page: route ip_bans SQL responses to handleIpBansResponse v1.2.42 Your Name 2026-02-25 06:59:22 -04:00
  • 0f124fe575 v1.2.40 - IP Bans page: show whitelisted IPs with star icon, hide Unban button for whitelisted IPs v1.2.41 Your Name 2026-02-25 06:54:35 -04:00
  • 6b20452fab v1.2.39 - Fix IP Bans page: convert rows+columns SQL response format to objects for display v1.2.40 Your Name 2026-02-25 06:53:50 -04:00
  • 10c19bc243 v1.2.38 - Add idle_ban_whitelist config: comma-separated IPs that are never idle-banned v1.2.39 Your Name 2026-02-25 06:48:41 -04:00
  • 3d7aa2196f v1.2.37 - Fix: executeSqlQueryRaw uses relayPool/sendAdminCommand instead of undefined pool variable v1.2.38 Your Name 2026-02-25 06:43:29 -04:00
  • a416c3f275 v1.2.36 - Fix: don't reset relay connection state when external relays time out in subscription onclose v1.2.37 Your Name 2026-02-25 06:33:25 -04:00
  • bba9baabc3 v1.2.35 - Fix: only record idle ban failures for WebSocket connections, not HTTP requests (NIP-11/embedded files) v1.2.36 Your Name 2026-02-24 17:41:59 -04:00
  • 31187c4c4f v1.2.34 - Fix: mark HTTP requests (NIP-11, embedded files) as session_active to prevent idle ban on legitimate HTTP clients v1.2.35 Your Name 2026-02-24 17:07:33 -04:00
  • 55f862b879 v1.2.33 - Set default debug_level to 3 (INFO) v1.2.34 Your Name 2026-02-24 16:06:19 -04:00
  • 76c9b3fcf0 v1.2.32 - Set idle_ban_threshold default to 1 and idle_ban_window_sec default to 30 v1.2.33 Your Name 2026-02-24 15:45:40 -04:00
  • 929bd09164 v1.2.31 - Fix idle connection timeout: use global connection list + periodic timer instead of lws_set_timeout which was not firing v1.2.32 Your Name 2026-02-24 15:44:11 -04:00
  • d17f1dd8d5 v1.2.30 - Temporarily bypass admin verification on API page (idle timeout fix pending) v1.2.31 Your Name 2026-02-24 14:55:39 -04:00
  • 207a949835 v1.2.29 - Added idle connection ban system - bans IPs that connect but never send REQ/EVENT (idle timeout or early disconnect) with separate rate limiting from auth failures v1.2.30 Your Name 2026-02-24 14:18:27 -04:00
  • d08f4e4221 v1.2.28 - Add debug_level config setting: live update every 60s without restart, default 0 v1.2.29 Your Name 2026-02-24 08:56:32 -04:00
  • c96736fa6a v1.2.27 - Permanent ban escalation: ban_count never resets, IPs with history always get 24h ban on next failure v1.2.28 Your Name 2026-02-23 18:18:55 -04:00
  • f8ec4ae924 v1.2.26 - Persistent IP ban table: save/load to ip_bans DB, auth success tracking, lifetime stats per IP v1.2.27 Your Name 2026-02-23 18:16:14 -04:00
  • fe7304ac7f v1.2.25 - Add NIP-42 AUTH support to web UI: onauth callback in subscribeMany and publish calls v1.2.26 Your Name 2026-02-23 18:03:29 -04:00
  • e5d39c984b v1.2.24 - Fix: run ip_ban maintenance unconditionally every 60s regardless of max_connection_seconds setting v1.2.25 Your Name 2026-02-23 17:57:20 -04:00
  • 5e45f21e35 v1.2.23 - ip_ban: retain ban_count for 24 hours after last ban expiry, then fully clean entry v1.2.24 Your Name 2026-02-23 17:16:02 -04:00
  • 5321a238b8 v1.2.22 - Fix ip_ban cleanup: preserve ban_count on cleanup so exponential backoff persists across ban expiry v1.2.23 Your Name 2026-02-23 17:12:15 -04:00
  • 083bc14972 v1.2.21 - Fix IP ban check: use pss->client_ip (proxy-aware) instead of raw socket IP to match failure recording v1.2.22 Your Name 2026-02-23 16:26:23 -04:00
  • 11aaccba9b v1.2.20 - Add IP auth failure ban system: track failures per IP, ban after threshold with exponential backoff, periodic log stats v1.2.21 Your Name 2026-02-23 16:02:07 -04:00
  • bd1bbd763d v1.2.19 - Add IP auth failure ban system: track failures per IP, ban after threshold with exponential backoff, periodic log stats v1.2.20 Your Name 2026-02-23 16:00:53 -04:00
  • 2bd7aa5a10 v1.2.18 - Proactive auth timeout via lws_set_timeout: close idle unauthenticated connections after nip42_auth_timeout_sec even without REQ v1.2.19 Your Name 2026-02-23 15:37:45 -04:00
  • 361912ec85 v1.2.17 - Add nip42_auth_timeout_sec (default 10s): close unauthenticated connections after timeout to prevent connection accumulation v1.2.18 Your Name 2026-02-23 15:22:18 -04:00
  • 0de491382e v1.2.16 - Fix auth rules UI: change label/placeholder/errors from nsec to npub (public key, not private key) v1.2.17 Your Name 2026-02-23 14:36:19 -04:00
  • 3148bbbee7 v1.2.15 - Admin verification: show 'Waiting for response' with status updates, 60s timeout, no premature access denied v1.2.16 Your Name 2026-02-23 14:26:02 -04:00
  • 3965ba04d8 v1.2.14 - Handle late admin verification response: grant access even if timeout already fired and access-denied overlay was shown v1.2.15 Your Name 2026-02-23 14:24:55 -04:00
  • b96af938bd v1.2.13 - Add WoT status to NIP-11 response: restricted_writes, auth_required, and web_of_trust object when WoT enabled v1.2.14 Your Name 2026-02-23 14:22:08 -04:00
  • 89c8248013 v1.2.12 - Increase admin verification timeout from 5s to 30s; continue waiting after publish timeout under heavy load v1.2.13 Your Name 2026-02-23 14:16:56 -04:00
  • d8f477c6cf v1.2.11 - Early duplicate check before secp256k1 signature verification — skip crypto for events already in DB v1.2.12 Your Name 2026-02-23 14:01:23 -04:00
  • 040eeadb13 v1.2.10 - Zero-copy message queue: eliminate memcpy in broadcast and REQ paths via queue_message_take_ownership() v1.2.11 Your Name 2026-02-23 13:45:56 -04:00
  • 83f8b0ab88 v1.2.9 - Replace cJSON_GetObjectItem with CaseSensitive variant (178 calls) — eliminates 14% CPU from tolower+linear scan in hot path v1.2.10 Your Name 2026-02-23 13:25:50 -04:00
  • b82f7eaaf3 v1.2.8 - Add debug build support: _debug suffix in build_static.sh, deploy_lt_debug.sh with perf profiling workflow v1.2.9 Your Name 2026-02-23 13:07:53 -04:00
  • 0dc5b75d7c v1.2.7 - Add configurable SQLite mmap_size (256MB) and cache_size (64MB) PRAGMAs for ~20% CPU reduction from DB read overhead v1.2.8 Your Name 2026-02-23 09:48:01 -04:00
  • e94b1a81e3 v1.2.6 - Add MAX_MESSAGE_QUEUE_SIZE=500 limit to prevent OOM from unbounded write queue; fix wasted buf allocation in broadcast v1.2.7 Your Name 2026-02-23 09:12:09 -04:00
  • 1adabdbc4e v1.2.5 - Add nip17_admin_enabled config toggle (default off) to prevent OOM from NIP-17 gift wrap decryption flood v1.2.6 Your Name 2026-02-23 08:58:10 -04:00
  • 81d44c3d8c v1.2.4 - Add more characters to valid subscription characters v1.2.5 Your Name 2026-02-11 05:56:09 -04:00
  • 7acc0bdd90 v1.2.3 - Handle rate limiting properly on kind 99999 request v1.2.4 Your Name 2026-02-09 07:49:43 -04:00
  • c4ef71d673 v1.2.2 - Add + to allowed subscription characters v1.2.3 Your Name 2026-02-07 13:32:00 -04:00
  • 086d2af56c v1.2.1 - Handle NDKs pings of kind 99999 v1.2.2 Your Name 2026-02-03 13:19:33 -04:00
  • 18a7deec54 v1.2.0 - Schema v11: Added event_json storage for 2500x performance improvement v1.2.1 Your Name 2026-02-02 20:27:50 -04:00
  • c794370a3f v1.1.9 - Add composite index for active_subscriptions_log view optimization (schema v10) - reduces monitoring queries from 540ms to <10ms v1.2.0 Your Name 2026-02-02 11:38:57 -04:00
  • 2ed4b96058 v1.1.8 - Add comprehensive database query logging with timing at debug level 3, fix schema version compatibility (v6-v9), add version logging at startup, allow monitoring throttle=0 to disable monitoring v1.1.9 Your Name 2026-02-02 11:20:11 -04:00
  • c0051b22be v1.1.7 - Add per-connection database query tracking for abuse detection v1.1.8 Your Name 2026-02-01 16:26:37 -04:00
  • 4cc2d2376e v1.1.6 - Optimize: Deduplicate kinds in subscription index to prevent redundant operations v1.1.7 Your Name 2026-02-01 15:59:54 -04:00
  • 30dc4bf67d v1.1.5 - Fix CRITICAL segfault: Use wrapper nodes for no-kind-filter subscriptions v1.1.6 Your Name 2026-02-01 12:37:07 -04:00
  • a1928cc5d7 v1.1.4 - Add kind-based index for 10x subscription matching performance improvement v1.1.5 Your Name 2026-02-01 11:15:26 -04:00
  • 7bf0757b1f v1.1.3 - Rename VERSION to CRELAY_VERSION to avoid conflict with nostr_core_lib v1.1.4 Your Name 2026-02-01 10:02:19 -04:00
  • 11b0a88cdd v1.1.2 - Fix hardcoded version string in print_version() - use VERSION define from main.h v1.1.3 Your Name 2026-01-31 16:48:11 -04:00
  • e8f8e3b0cf v1.1.1 - Fix NOTICE message silent failure - add pss parameter to send_notice_message() v1.1.2 Your Name 2026-01-31 15:48:29 -04:00
  • 35b1461ff6 v1.1.0 - Documentation restructure: New README.md and comprehensive API.md Your Name 2026-01-23 06:58:14 -04:00
  • 87c6aa5e16 . v1.1.0 Your Name 2025-12-21 09:30:48 -04:00