Laan Tungir
547d22d09f
v2.1.6 - Fix strict-mode admin API key access by prewarming config and relay private key caches
2026-04-01 19:08:42 -04:00
Laan Tungir
ce9ae5a488
v2.1.5 - Offload duplicate and COUNT paths, add config/NIP-11 caching, and reduce DB reader threads
2026-04-01 16:15:46 -04:00
Laan Tungir
9b248b740f
v2.1.4 - Harden async EVENT fallback handling and verify relay/nginx 503 behavior
2026-04-01 15:19:28 -04:00
Laan Tungir
0f77aeb72b
v2.1.3 - Fix async EVENT thread safety by splitting store core/post-actions and naming lws main thread
2026-04-01 11:29:14 -04:00
Laan Tungir
bb64651a0c
v2.1.2 - Fix async REQ callback leak and validate Phase 2+3 subscription offload path
2026-04-01 11:01:38 -04:00
Laan Tungir
17be9c2b03
v2.1.1 - Wire REQ/COUNT/EVENT paths through thread pool sync helpers and stabilize filter limit tests
2026-04-01 09:38:25 -04:00
Laan Tungir
cbd260c1ae
v2.0.4 - Complete Phase 1 DB abstraction: opaque db_stmt API, ip_ban migration, and SQLite leakage cleanup
2026-04-01 09:10:42 -04:00
Laan Tungir
bc9ac290ab
v2.0.3 - Complete Phase 1 SQLite abstraction cleanup across config/api/websockets and add db path accessor
2026-04-01 07:47:21 -04:00
Laan Tungir
192eeb248d
v2.0.2 - Stabilize websocket queue draining, add db config count helper, and align NIP-45/50 test expectations
2026-04-01 07:04:58 -04:00
Laan Tungir
c077c209e5
v2.0.0 - Major architecture refactor: db_ops abstraction, low-risk SQLite refactor, and thread-pool scaffolding
2026-04-01 05:25:03 -04:00
Your Name
a89460be5d
v1.2.54 - Sync relay_version to compiled CRELAY_VERSION on startup and show version in API header/title
2026-03-23 09:04:49 -04:00
Your Name
ff2a3aa335
v1.2.53 - Fix P0 config-value memory leaks in hot paths and add investigation plan
2026-03-19 07:59:40 -04:00
Your Name
94b61e8a7c
v1.2.52 - Update nostr_core_lib to v0.4.13 and route nostr logs through relay callback logger
2026-03-13 14:33:08 -04:00
Your Name
b0c0754e83
v1.2.51 - Fix NIP-01 non-compliance: limit:0 now correctly returns zero stored events instead of falling through to default_limit
2026-03-04 11:23:58 -04:00
Your Name
f8ec4ae924
v1.2.26 - Persistent IP ban table: save/load to ip_bans DB, auth success tracking, lifetime stats per IP
2026-02-23 18:16:14 -04:00
Your Name
bd1bbd763d
v1.2.19 - Add IP auth failure ban system: track failures per IP, ban after threshold with exponential backoff, periodic log stats
2026-02-23 16:00:53 -04:00
Your Name
d8f477c6cf
v1.2.11 - Early duplicate check before secp256k1 signature verification — skip crypto for events already in DB
2026-02-23 14:01:23 -04:00
Your Name
040eeadb13
v1.2.10 - Zero-copy message queue: eliminate memcpy in broadcast and REQ paths via queue_message_take_ownership()
2026-02-23 13:45:56 -04:00
Your Name
83f8b0ab88
v1.2.9 - Replace cJSON_GetObjectItem with CaseSensitive variant (178 calls) — eliminates 14% CPU from tolower+linear scan in hot path
2026-02-23 13:25:50 -04:00
Your Name
0dc5b75d7c
v1.2.7 - Add configurable SQLite mmap_size (256MB) and cache_size (64MB) PRAGMAs for ~20% CPU reduction from DB read overhead
2026-02-23 09:48:01 -04:00
Your Name
1adabdbc4e
v1.2.5 - Add nip17_admin_enabled config toggle (default off) to prevent OOM from NIP-17 gift wrap decryption flood
2026-02-23 08:58:10 -04:00
Your Name
7acc0bdd90
v1.2.3 - Handle rate limiting properly on kind 99999 request
2026-02-09 07:49:43 -04:00
Your Name
18a7deec54
v1.2.0 - Schema v11: Added event_json storage for 2500x performance improvement
2026-02-02 20:27:50 -04:00
Your Name
c794370a3f
v1.1.9 - Add composite index for active_subscriptions_log view optimization (schema v10) - reduces monitoring queries from 540ms to <10ms
2026-02-02 11:38:57 -04:00
Your Name
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
2026-02-02 11:20:11 -04:00
Your Name
c0051b22be
v1.1.7 - Add per-connection database query tracking for abuse detection
...
Implemented comprehensive database query tracking to identify clients causing
high CPU usage through excessive database queries. The relay now tracks and
displays query statistics per WebSocket connection in the admin UI.
Features Added:
- Track db_queries_executed and db_rows_returned per connection
- Calculate query rate (queries/minute) and row rate (rows/minute)
- Display stats in admin UI grouped by IP address and WebSocket
- Show: IP, Subscriptions, Queries, Rows, Query Rate, Duration
Implementation:
- Added tracking fields to per_session_data structure
- Increment counters in handle_req_message() and handle_count_message()
- Extract stats from pss in query_subscription_details()
- Updated admin UI to display IP address and query metrics
Use Case:
Admins can now identify abusive clients by monitoring:
- High query rates (>50 queries/min indicates polling abuse)
- High row counts (>10K rows/min indicates broad filter abuse)
- Query patterns (high queries + low rows = targeted, high both = crawler)
This enables informed decisions about which IPs to blacklist based on
actual resource consumption rather than just connection count.
2026-02-01 16:26:37 -04:00
Your Name
a1928cc5d7
v1.1.4 - Add kind-based index for 10x subscription matching performance improvement
2026-02-01 11:15:26 -04:00
Your Name
7bf0757b1f
v1.1.3 - Rename VERSION to CRELAY_VERSION to avoid conflict with nostr_core_lib
2026-02-01 10:02:19 -04:00
Your Name
11b0a88cdd
v1.1.2 - Fix hardcoded version string in print_version() - use VERSION define from main.h
...
The print_version() function was displaying a hardcoded 'v1.0.0' string instead
of using the VERSION define from main.h. This caused version mismatches where
the git tag and main.h showed v1.1.1 but the binary reported v1.0.0.
Now print_version() uses the VERSION macro, ensuring all version displays are
consistent and automatically updated when increment_and_push.sh updates main.h.
2026-01-31 16:48:11 -04:00
Your Name
e8f8e3b0cf
v1.1.1 - Fix NOTICE message silent failure - add pss parameter to send_notice_message()
...
Previously, send_notice_message() called queue_message() with NULL pss, causing
all NOTICE messages to fail silently. This affected filter validation errors
(e.g., invalid kinds > 65535 per NIP-01) where clients received no response.
Changes:
- Updated send_notice_message() signature to accept struct per_session_data* pss
- Updated 37 call sites across websockets.c (31) and nip042.c (6)
- Updated forward declarations in main.c, websockets.c, and nip042.c
- Added tests/invalid_kind_test.sh to verify NOTICE responses for invalid filters
Fixes issue where REQ with kinds:[99999] received no response instead of NOTICE.
2026-01-31 15:48:29 -04:00
Your Name
ae0370b47f
v1.0.6 - Working on cleaning up subscriptions which were piling up. Set a startup cleanup, and a connection age limit.
2025-12-05 07:37:57 -04:00
Your Name
af186800fa
v0.7.42 - Fix ephemeral event storage and document monitoring system
2025-10-26 15:02:00 -04:00
Your Name
2bff4a5f44
v0.7.41 - Fix SQL query routing in admin API - add missing sql_query case to handle_kind_23456_unified
2025-10-26 13:34:16 -04:00
Your Name
edb73d50cf
v0.7.40 - Removed event_broadcasts table and related code to fix FOREIGN KEY constraint failures preventing event insertion
2025-10-25 15:26:31 -04:00
Your Name
3dc09d55fd
v0.7.39 - Set dm's back 2 days to adjust for timestamp ramdomization of giftwraps.
2025-10-23 18:43:45 -03:00
Your Name
079fb1b0f5
v0.7.38 - Fixed error upon startup with existing db
2025-10-23 11:17:16 -04:00
Your Name
9cb9b746d8
v0.7.33 - Refactor monitoring system to use subscription-based activation with ephemeral events - fixes recursive crash bug
2025-10-19 10:26:09 -04:00
Your Name
48890a2121
v0.7.26 - Tidy up api
2025-10-18 14:48:16 -04:00
Your Name
670329700c
v0.7.14 - Remove unified config cache system and fix first-time startup - All config values now queried directly from database, eliminating cache inconsistency bugs. Fixed startup sequence to use output parameters for pubkey passing.
2025-10-13 19:06:27 -04:00
Your Name
62e17af311
v0.7.13 - -t
2025-10-13 16:35:26 -04:00
Your Name
e3938a2c85
v0.7.12 - Implemented comprehensive debug system with 6 levels (0-5), file:line tracking at TRACE level, deployment script integration, and default level 5 for development
2025-10-13 12:44:18 -04:00
Your Name
49ffc3d99e
v0.7.11 - Got api back working after switching to static build
2025-10-12 14:54:02 -04:00
Your Name
34bb1c34a2
v0.7.10 - Fixed api errors in accepting : in subscriptions
2025-10-12 10:31:03 -04:00
Your Name
6709e229b3
v0.7.7 - Prevent sql attacks and rate limiting on subscriptions
2025-10-10 15:44:10 -04:00
Your Name
00a8f16262
v0.7.6 - Delete more old debugging prints
2025-10-10 13:38:18 -04:00
Your Name
c90676d2b2
v0.7.4 - Remove excessive debug logging from entire codebase - preserve user-facing error logging
2025-10-10 10:21:30 -04:00
Your Name
b89c011ad5
v0.7.2 - -m
2025-10-10 06:53:30 -04:00
Your Name
5a916cc221
Reupload
2025-10-09 10:43:42 -04:00
Your Name
88b4aaa301
v0.4.6 - Implement NIP-50 search functionality with LIKE-based content and tag searching
2025-10-03 05:43:49 -04:00
Your Name
d5eb7d4a55
v0.4.4 - Just waking up
2025-10-03 04:52:40 -04:00