Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
240478c
refactor [NET-1606]: Bundle `utils` separately for browser and NodeJS…
mondoreale Jan 6, 2026
07b4924
refactor: Side-effect free `utils` (#3322)
mondoreale Jan 6, 2026
e9c757c
refactor: Bundle `autocertifier-client` (#3330)
mondoreale Jan 6, 2026
d32481f
refactor: Bundle `browser-test-runner` (#3333)
mondoreale Jan 7, 2026
9f2d6f3
refactor: Bundle `cdn-location` (#3335)
mondoreale Jan 7, 2026
e5728bd
refactor: Bundle `test-utils`; clean-up the testing setup (#3334)
mondoreale Jan 7, 2026
642e775
refactor: Bundle `geoip-location` (#3336)
mondoreale Jan 7, 2026
c057fe9
Bundle `proto-rpc` (#3337)
mondoreale Jan 7, 2026
6ffc84d
refactor: Bundle `dht` (#3338)
mondoreale Jan 7, 2026
20ed508
refactor: Bundle `trackerless-network` (#3339)
mondoreale Jan 7, 2026
aaa9278
feat: Bundle a limited version of `autocertifier-client` for the brow…
mondoreale Jan 9, 2026
5e7a542
Clean-up process only if available (#3341)
mondoreale Jan 9, 2026
d490e1e
feat: Expose cross-env cipher utils from `utils` package (#3342)
mondoreale Jan 9, 2026
8284f4f
release: v103.2.0-experiment.0
mondoreale Jan 9, 2026
f26a940
refactor: Address feedback on bundles + minor tweaks (#3343)
mondoreale Jan 12, 2026
ba0a077
refactor: Explicit `node` exports for jest (mainly) (#3344)
mondoreale Jan 12, 2026
16f565a
Make experiments releasable via gh
mondoreale Jan 12, 2026
ca89cf8
release: v103.2.0-experiment.1
mondoreale Jan 12, 2026
fd40cbb
Update CHANGELOG.md
mondoreale Jan 15, 2026
7f7c195
Incl. breaking changes (only bundles in dist) into the README
mondoreale Jan 16, 2026
be7cdd2
Merge remote-tracking branch 'origin/main' into bundles
mondoreale Jan 16, 2026
ffaddd7
Merge remote-tracking branch 'origin/main' into bundles
mondoreale Jan 21, 2026
99d3dca
Merge remote-tracking branch 'origin/main' into bundles
mondoreale Jan 23, 2026
2c84e0a
Bundle `sdk` for browser (no polyfills required!), and for Node.js (#…
mondoreale Jan 23, 2026
18eb62c
Revert package version updates (back to the recent v103.2.2)
mondoreale Jan 23, 2026
1f95d38
Update CHANGELOG
mondoreale Jan 23, 2026
8a244a1
After all, let's unwrap `hash-base`
mondoreale Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/publish-npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
- alpha
- internal
- testnet-three
- experiment
jobs:
publish:
runs-on: ubuntu-latest
Expand Down
66 changes: 59 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,57 @@ Changes before Tatum release are not documented in this file.

## [Unreleased]

### Breaking Changes

- **BREAKING CHANGE**: The following packages no longer include all source files in `dist`. They now export bundled artifacts for ESM, CJS, and TypeScript declarations only:
- `@streamr/sdk`
- `@streamr/utils`
- `@streamr/dht`
- `@streamr/proto-rpc`
- `@streamr/test-utils`
- `@streamr/autocertifier-client`
- `@streamr/trackerless-network`

If you previously relied on importing internal files directly from `dist`, you must update your imports to use the package's public exports.

### General

#### Fixed
#### Added

- Expose cross-environment cryptographic utilities from `@streamr/utils` for both browser and Node.js ([#3342]):
- AES cipher utilities: `createCipheriv`, `createDecipheriv`
- Hash functions: `computeMd5`, `computeSha1`
- RSA utilities: `publicEncrypt`, `privateDecrypt`
- Random bytes: `randomBytes` (re-exported from `@noble/post-quantum/utils`)
- Types: `CryptoKey`, `Jwk`
- Bundle a limited browser-compatible version of `autocertifier-client` ([#3340])

#### Changed

- Internal packages now produce separate bundles for browser and Node.js environments, improving tree-shaking and reducing polyfill requirements ([#3321], [#3322], [#3330], [#3333], [#3335], [#3336], [#3337], [#3338], [#3339])

### @streamr/sdk

#### Added

#### Changed
- Bundle `@streamr/sdk` for browser (no polyfills required!) and for Node.js ([#3358])

#### Deprecated
#### Changed

#### Removed
- **BREAKING CHANGE**: The package no longer provides a default export. Use named imports instead: `import { StreamrClient } from '@streamr/sdk'`. The UMD bundle remains accessible via `window.StreamrClient`. ([#3358])
- Use named `StreamrClient` export and explicit `type` import syntax ([#3369])
- Use named imports for `EventEmitter` from `eventemitter3` ([#3366])

#### Fixed

#### Security
- Resolve circular dependencies in the SDK package ([#3361], [#3367])
- Clean-up `tsyringe` setup ([#3362])

### @streamr/browser-test-runner

#### Added

- Support TypeScript karma-setup files ([#3368])

### @streamr/node

Expand Down Expand Up @@ -54,7 +88,6 @@ Changes before Tatum release are not documented in this file.

#### Security


## [103.2.2] - 2026-01-19

### General
Expand Down Expand Up @@ -589,7 +622,7 @@ Autostaker changes:
- Change websocket client library implementation used in Node.js (https://github.com/streamr-dev/network/pull/2384)


[Unreleased]: https://github.com/streamr-dev/network/compare/v103.2.0...HEAD
[Unreleased]: https://github.com/streamr-dev/network/compare/v103.2.2...HEAD
[103.2.2]: https://github.com/streamr-dev/network/compare/v103.2.1...v103.2.2
[103.2.1]: https://github.com/streamr-dev/network/compare/v103.2.0...v103.2.1
[103.2.0]: https://github.com/streamr-dev/network/compare/v103.1.2...v103.2.0
Expand All @@ -613,3 +646,22 @@ Autostaker changes:
[100.1.2]: https://github.com/streamr-dev/network/compare/v100.1.1...v100.1.2
[100.1.1]: https://github.com/streamr-dev/network/compare/v100.1.0...v100.1.1
[100.1.0]: https://github.com/streamr-dev/network/compare/v100.0.0...v100.1.0

[#3321]: https://github.com/streamr-dev/network/pull/3321
[#3322]: https://github.com/streamr-dev/network/pull/3322
[#3330]: https://github.com/streamr-dev/network/pull/3330
[#3333]: https://github.com/streamr-dev/network/pull/3333
[#3335]: https://github.com/streamr-dev/network/pull/3335
[#3336]: https://github.com/streamr-dev/network/pull/3336
[#3337]: https://github.com/streamr-dev/network/pull/3337
[#3338]: https://github.com/streamr-dev/network/pull/3338
[#3339]: https://github.com/streamr-dev/network/pull/3339
[#3340]: https://github.com/streamr-dev/network/pull/3340
[#3342]: https://github.com/streamr-dev/network/pull/3342
[#3358]: https://github.com/streamr-dev/network/pull/3358
[#3361]: https://github.com/streamr-dev/network/pull/3361
[#3362]: https://github.com/streamr-dev/network/pull/3362
[#3366]: https://github.com/streamr-dev/network/pull/3366
[#3367]: https://github.com/streamr-dev/network/pull/3367
[#3368]: https://github.com/streamr-dev/network/pull/3368
[#3369]: https://github.com/streamr-dev/network/pull/3369
3 changes: 3 additions & 0 deletions Dockerfile.node
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@ FROM node:${NODE_VERSION}-bullseye AS build
WORKDIR /usr/src/network
COPY . .
RUN --mount=type=cache,target=/root/.npm \
npm run bootstrap-pkg --package=@streamr/utils && \
npm run bootstrap-pkg --package=@streamr/proto-rpc && \
npm run bootstrap-pkg --package=@streamr/autocertifier-client && \
npm run bootstrap-pkg --package=@streamr/cdn-location && \
npm run bootstrap-pkg --package=@streamr/geoip-location && \
npm run bootstrap-pkg --package=@streamr/dht && \
npm run bootstrap-pkg --package=@streamr/trackerless-network && \
npm run bootstrap-pkg --package=@streamr/sdk && \
Expand Down
10 changes: 5 additions & 5 deletions docs/docs/help/operator-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,10 +179,10 @@ Recheck operator address from the hub & reconfigure your node to use the correct
I’m receiving the following warning message.

```JSON
WARN [2023-11-10T10:01:42.418] (NodeWebRtcConnection): Failed to set remote descriptor for peer 0a3849076d8a43b19b876fbc6eba935f
WARN [2023-11-10T10:01:42.421] (NodeWebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
WARN [2023-11-10T10:01:42.622] (NodeWebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
WARN [2023-11-10T10:01:42.867] (NodeWebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
WARN [2023-11-10T10:01:42.418] (WebRtcConnection): Failed to set remote descriptor for peer 0a3849076d8a43b19b876fbc6eba935f
WARN [2023-11-10T10:01:42.421] (WebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
WARN [2023-11-10T10:01:42.622] (WebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
WARN [2023-11-10T10:01:42.867] (WebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
```

**Explanation:**
Expand Down Expand Up @@ -332,4 +332,4 @@ You'll need to pay the early exit fee of 5k DATA. The unwithdrawn earnings from
#### What are some tips for staying safe on Streamr?
- Consider starting small with your stake amount and use common sense to never stake more than you can afford to lose. A professional audit of the incentive layer has been completed by Cyfrin, but nothing can be guaranteed of course.
- If you want to stake on a sponsorship, DO NOT click on the "Sponsor". That's for funding the sponsorship, not staking! Instead, go to the sponsorship you want to stake on and click "Join as an operator” and enter the amount.
- There may be an increase in activity by scammers. A common approach is to pretend to offer help or tech support in direct messages (something we never do). Report any account that is asking you to sign transactions or asking for any sort of credentials such as your private key. These accounts are trying to steal your tokens. It’s advised you disable DMs on Discord. More tips can be found in #server-safety-guide.
- There may be an increase in activity by scammers. A common approach is to pretend to offer help or tech support in direct messages (something we never do). Report any account that is asking you to sign transactions or asking for any sort of credentials such as your private key. These accounts are trying to steal your tokens. It’s advised you disable DMs on Discord. More tips can be found in #server-safety-guide.
2 changes: 1 addition & 1 deletion docs/docs/usage/sdk/how-to-use.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Node.js `20` is the minimum required version, ideally version 22 and later. Node
For usage in the browser include the latest build, e.g. by including a `<script>` tag pointing at a CDN:

```html
<script src="https://unpkg.com/@streamr/sdk/streamr-sdk.web.js"></script>
<script src="https://unpkg.com/@streamr/sdk/exports-umd.js"></script>
```

#### Browser extension
Expand Down
Loading