- Vastly different scheduler behavior:
- New cooldown-score system to prioritize which peers to connect to
- Connect to hops=
N+1
peers if no hops=N
peers are online - Implement rotation of peers (every several minutes) to encourage diversity
- If using ssb-room-client, we only support
ssb-room-client@>=2.0.0
- Remove support for
config.seeds
- Scheduler dropped supports for ssb-friends lower than 5.0
- Scheduler dropped support for
config.conn.hops
- Change return type of
ssb.conn.dbPeers()
to array, not iterable
- Updated ssb-conn-db to use atomic-file-rw which should be more robust than before, causing less corrupted conn.json saves to the filesystems.
- Improve the scheduler: disconnect to excess peers after a long and random delay that is inversely proportional to the size of the excess. The randomization is important to avoid "back and forth dances" where remote peers connect to you, but you disconnect from them, which leads them to immediately attempt a reconnect to you, and so forth
- If already connected to a peer,
ssb.conn.connect()
will just return the RPC instance of that connected peer, instead offalse
. See https://github.com/staltz/ssb-conn-hub/commit/7a8a880d4abf74cc916febbe6efe441a23aed590
- Drop support for
ssb.gossip.*
APIs, exceptssb.gossip.ping
- If you want to support
pub
messages in the scheduler, you needssb-db@2
or higher - Remove the deprecated APIs
ssb.conn.internalConnDB()
,ssb.conn.internalConnHub()
,ssb.conn.internalConnStaging()
- If already connected to a peer,
connect()
on that peer now returns therpc
object, notfalse
- Avoids global pollution of all objects with the
.z
field, something caused by the dependencyzii
in previous versions
- If you want to support
pub
messages in the scheduler, this version needs ssb-db2 and drops support for ssb-db. Everything else thanpub
messages will still work if you're on ssb-db.
Official first stable version (just a blessing of 0.19.1).
- Preliminary support for running in the browser