All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Changes before Tatum release are not documented in this file.
- Add support for arbitrary length user IDs: (#2774, #2780)
- it is supported for
PUBLISH
andSUBSCRIBE
permissions - new
StreamrClient#getUserId()
method
- it is supported for
- Method
StreamrClient#getDiagnosticInfo()
provides diagnostic info about network (#2740, #2741) - Add accessors for stream metadata fields: (#2825, #2845)
Stream#getPartitionCount()
Stream#getDescription()
andStream#setDescription()
Stream#getStorageDayCount()
andStream#setStorageDayCount()
- Add validation for public permissions (#2819)
- Add
opts
parameter toStreamrClient#addStreamToStorageNode
(#2858)- controls how long to wait for storage node to pick up on assignment
- BREAKING CHANGE: Rename
user
touserId
in these interfaces: (#2811)UserPermissionAssignment
- used in
grantPermissions()
,revokePermissions()
,getPermissions()
andsetPermissions()
- used in
UserPermissionQuery
- used in
hasPermission()
- used in
SearchStreamsPermissionFilter
- used in
searchStreams()
- used in
- BREAKING CHANGE: Type
StreamMetadata
isRecord<string, unknown>
(#2825, #2845)- some new accessors available, see above
- no default values are injected (#2851)
- BREAKING CHANGE: Method
Stream#addToStorageNode()
doesn't wait for acknowledgment by default (#2810) - BREAKING CHANGE: Replace methods
StreamrClient#updateStream()
andStream#update()
: (#2826, #2855, #2859, #2862)- use
StreamrClient#setStreamMetadata()
andStream#setMetadata()
instead - both methods overwrite metadata instead of merging it
- use
- Upgrade
StreamRegistry
from v4 to v5 (#2780) - Network-level changes:
- BREAKING CHANGE: Remove
Stream#detectFields()
method (#2864) - BREAKING CHANGE: Remove
Stream#delete()
method (#2863)- use
StreamrClient#deleteStream()
instead
- use
- Remove support for legacy encryption keys (#2757)
- Remove obsolete config options:
- Fix WebRTC connections in Firefox (#2746)
- Fix flag expiration time in
Operator#getExpiredFlags()
(#2739) - Network-level fixes:
- Add new operator plugin config options (for testing purposes) (#2742)
- The
environment
config option now applies additional settings ifdev2
value is used (#2813)- e.g. disables
entryPointDiscovery
andmetrics
- e.g. disables
- BREAKING CHANGE: Remove deprecated
bin/config-wizard
script (i.e. thestreamr-broker-init
command)- use
streamr-node-init
command instead
- use
- Fix operator flag voting behavior when using custom gas estimation (#2784)
- BREAKING CHANGE: Replace
--dev
flag with--env
flag (#2817, #2834)- the
--env
flag supports multiple environments - if there is a value for
environment
in a config file, this overrides it - use
--env dev2
for the development environment
- the
101.1.2 - 2024-09-04
- Fixed gas estimation in
Operator#voteOnFlag
(#2734)
101.1.1 - 2024-08-29
- Numerous improvements to time-to-data (#2723, #2724, #2726, #2727)
- Reduce message propagation cache TTL from 30 seconds to 10 seconds (#2732)
- Optimize the "operator value breach" task to be less demanding on EVM RPCs (#2721)
- Add better checks to the "expired flag closing" task so that the likelihood of submitting reverting transactions to the blockchain is reduced (#2725)
101.1.0 - 2024-08-13
- Add method
findOperators
to client (#2703)
- Fix operator review request event parsing (#2714)
- Operators now register external RPC endpoints for accelerated stream entrypoint discovery (#2702)
101.0.1 - 2024-07-09
- Set default RPC timeout to 30 seconds (https://github.com/streamr-dev/network/commit/131fb456d26486c12b2facd6e78bee47319c2533)
101.0.0 - 2024-07-08
- Update ethers.js library to v6 (#2506)
- Restructure
contracts
config section (#2581) - Improve reliability of JSON RPC interactions by adding retry redundancy (#2562, #2601)
- Rename events (#2604, #2605) as denoted below
createStream
=>streamCreated
addToStorageNode
=>streamAddedToStorageNode
removeFromStorageNode
=>streamRemovedFromFromStorageNode
resendComplete
=>resendCompleted
(on instances ofSubscription
)
- Remove obsolete RPC provider options (#2583)
- Deprecate command
streamr-broker
. Usestreamr-node
instead. (#2626) - Deprecate command
streamr-broker-init
. Usestreamr-node-init
instead. (#2626)
- Fix memory leak in SubscriberPlugin (#2578)
100.2.4 - 2024-05-06
- New geolocation detection by Nodes improves start up times and the decentralization of the network (#2465)
- Improved rejoining streams after losing internet connection (#2502)
- Discovering stream neighbors is more efficient as offline nodes are cleaned-up by sending pings (#2501)
- Hanging connection issue with WebSocket clients (#2519)
- Nodes provide geolocation detection for newly joining nodes (#2465)
- Removed `governance vote' command (#2538)
100.2.3 - 2024-04-15
100.2.2 - 2024-04-03
- Update internal list of JSON RPC urls for Polygon
100.2.1 - 2024-04-02
- Add node ID to metrics messages (#2464)
- Change the way in which the partition of the metrics stream is calculated (based on node ID) (#2468)
- Fix NodeJS v18 compatibility (#2462)
- Update Docker runtime to NodeJS v20 (#2466)
100.2.0 - 2024-03-28
- Add support for subscribing to a stream on behalf of an ERC-1271 contract (#2454)
100.1.2 - 2024-03-27
- Update internal list of JSON RPC urls for Mumbai testnet
100.1.1 - 2024-03-26
- Update internal list of JSON RPC urls for Polygon
100.1.0 - 2024-03-25
- Add support for publishing messages on behalf of an ERC-1271 contract (#2423)
- Add fields
signatureType
andgroupKeyId
toMessage
interface (#2423) - Add ability to disable websocket server (#2425)
- Change websocket client library implementation used in Node.js (#2384)