Add low-latency mempool ingestion driven by Bitcoin Core's ZMQ sequence publisher, including immediate poll on connect/disconnect (C/D) block events and fast eviction from removal (R) events
Auto-discover the bitcoind ZMQ sequence endpoint from getzmqnotifications when unconfigured and bitcoind is on the loopback interface
Restrict event-driven mempool silent payments scans to newly arrived txids to reduce redundant work
Always run non-historical silent payments scans on the CPU backend
Add a complementary TLS Electrum server listener configurable via sslPort in the [server] config section, with auto-generated self-signed certificate on first launch
Add host to [server] config, advertised in server.features (set to a public hostname for public-facing deployments)
Add TLS support for connecting to the backend Electrum server (ssl:// and tls:// URLs)
Improve the server.features response and reject malformed server.features from the backend
Update blockchain.silentpayments.subscribe to return a subscription JSON object, used as the identity for matching notifications
Avoid sending silent payments notifications on confirmations
Improve scan lifecycle with scan cancellation and restart on resubscription and block reorg, and handle resubscription to the same silent payments address
Ensure the subscribe response is sent before any notifications for that subscription
Discard stale Electrum responses with mismatched ids
Switch Electrum backend notification detection to a streaming JSON token parser
Smooth historical scan progress reporting via ufsecp_scantotal_rows
Expose DuckDB memory_limit as a scan config setting
Update Electrum protocol documentation for clarification and add improved parameter validation
Add startup and shutdown log messages, and close connecting sockets and interrupt the read thread on shutdown
Update DuckDB ufsecp extension to fix a data race and a scan key clobber
Bug fix: Fix highest block height subscription status regression