- Reconnect (replay subscriptions)
- Switch servers upon disconnect
- Unsubscribe and process max_msgs messages
- TLS
- Proper error handling
- Proper logging
- Proper limits handling
- Try reconnecting on initial connect failure
- Auth (JWT, User/Pass, NKey)
- JetStream (Pub, Pull/Push subscription, Ack, etc.)