Skip to content
# Breaking Changes

- Removed `ElectrumCluster`.
- Changed `ElectrumClient` constructor:
  - Removed transport scheme and port, instead using default values if a hostname was provided.
  - Transport configuration has can still be done by providing an `ElectrumSocket` instead of the hostname.
  - Renamed optional parameters and turned them into an `ElectrumNetworkOptions` interface.
- Renamed and expanded connection related events:
  - `connect` is now `connecting` and `connected`
  - `disconnect` is now `disconnecting` and `disconnected`
  - `reconnecting` is a new event

# Improvements

- Disconnects faster in browsers when network connection is lost.
- Rejects all current requests when disconnected.

- Exposes the servers software on `ElectrumClient.software`
- Exposes the servers genesis hash on `ElectrumClient.genesisHash` (available after first 'server.features' call)
- Exposes the servers chain height on `ElectrumClient.chainHeight` (available after first 'blockchain.headers.subscribe' call)
- Exposes timestamp when we last received data from the server on `ElectrumClient.lastReceivedTimestamp`
- Exposes the current connection status on `ElectrumClient.status`
- Exposes socket host information on `ElectrumClient.hostIdentifier`
- Exposes socket encryption status on `ElectrumClient.encrypted`

# Fixes

- Fixes a bug that can be triggered during reconnections.
- Fixes a crash when a request was initially rejected, but later received a response.