All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
8.12.1 (2026-03-11)
8.12.0 (2026-03-11)
8.11.0 (2026-03-10)
8.9.0 (2026-02-11)
8.9.0 (2026-02-10)
8.8.0 (2025-04-10)
8.7.0 (2025-03-14)
8.6.1 (2025-02-20)
8.5.1 (2025-01-22)
8.4.1 (2023-11-21)
8.4.0 (2023-10-24)
8.3.1 (2023-09-05)
8.3.0 (2023-08-31)
8.2.0 (2023-08-18)
8.1.5 (2023-05-18)
8.1.4 (2023-05-13)
8.1.3 (2023-05-12)
8.1.2 (2023-02-15)
8.1.1 (2023-02-14)
8.1.0 (2022-09-13)
- add many version of activity to target update (#523) (4edfa65)
- this API is async and can change without notice
8.0.3 (2022-08-22)
8.0.2 (2022-08-01)
8.0.1 (2022-04-29)
8.0.0 - 2021-02-11
7.4.1 - 2021-12-21
- Correct types of collections in upsert request and response #487
7.4.0 - 2021-12-15
- Add target feeds into reaction responses #480
- Add support for multiple collection upsert in a single call #486
- Correct type for latest children in enriched reaction #483
- Bump axios for security related #484
7.3.1 - 2021-10-26
- Add optional user_id param for GetFeedOptions #478
7.3.0 - 2021-10-19
- Reaction filter supports own children #475
- Drop refresh endpoints #471
7.2.11 - 2021-09-14
- EnrichedActivity type generic issue #468
7.2.10 - 2021-06-10
- RealTimeMessage type #459
7.2.9 - 2021-05-05
- Support Node 16x #447
7.2.8 - 2021-04-22
- Revert to 7.2.6 #446
7.2.7 - 2021-04-22
- Use cached token for feed follow stats #445
7.2.6 - 2021-04-20
7.2.5 - 2021-02-19
- Handle custom token for follow stats #438
7.2.4 - 2021-02-19
- Fix Realtime callback type #437
7.2.3 - 2021-02-16
- EnrichedUser type #435
7.2.2 - 2021-02-15
7.2.1 - 2021-01-29
- Add
typeattribute to file upload form data #417
7.2.0 - 2021-01-21
- Add JWT support for multi action, resource and feed id #415
7.1.3 - 2021-01-21
- Add a note into readme about browser detection and option to skip #414
7.1.2 - 2021-01-20
- Improve docs #413
7.1.1 - 2021-01-08
7.1.0 - 2020-12-10
7.0.1 - 2020-12-04
- Correct server side follow stat call permission #401
7.0.0 - 2020-11-24
- Drop simple auth, only JWT is supported #399
6.2.2 - 2020-11-13
- Correct type of own_reactions #398
6.2.1 - 2020-11-03
- Browser file upload incorrect file name #393
6.2.0 - 2020-10-01
- Buffer and other types of data streams are accepted for file and image uploads #389
6.1.4 - 2020-09-23
- Typescript compiler option
allowSyntheticDefaultImportsno longer needed (#387). - Undefined process error in some environments (#388).
6.1.3 - 2020-09-15
- Enrich option respects the enrich value if not undefined (#382).
6.1.2 - 2020-09-03
-
Correct
AggregatedActivityEnrichedtype (#374). -
Add
maxBodyLength: Infinityoption to axios file upload requests (#375).
- Bump dependencies (#375).
6.1.1 - 2020-09-02
- Correct
CollectionResponsetype (#372).
6.1.0 - 2020-09-02
- Support follow counting (#369). By default, only server side auth is allowed. Contact support to enable for client side auth support for specific feed groups.
6.0.0 - 2020-08-26
-
Default export
import stream from 'getstream'or equallyconst stream = require('getstream').defaultis removed #366. -
connectexport is removed:import { connect } from 'getstream'orconst {connect} = require('getstream')#366. -
Signingexport is removed: :import { JWTUserSessionToken, JWTScopeToken } from 'getstream'#366. -
errorsexport is removed:import { FeedError, SiteError, StreamApiError } from 'getstream'#366. -
Clientexport is removed and renamed to StreamClient:import { StreamClient } from 'getstream'#366. -
reaction.all()is removed in favor ofreaction.filter()#365.
- Entire library is re-written in typescript #356.
- re-release 5.0.2, 5.0.3, 5.0.4 to fix the bad build
- Elliptic security upgrade
- Fix undefined
processin Angular
- Lodash security upgrade
- Add named exports in addition to default and deprecate default
- Improve readme snippets
- Add a warning for the version if installing from cdnjs
This release drops some of the already deprecated functions.
- Drop support for Node v11
- Drop support for Node v13
- Drop callback support for all functions. This affects some of functions and requires the callbacks to be replaced with promise, e.g.
feed1.get({}, callback)should change tofeed1.get({}).then().catch() Stream.requestis no longer exported"request"and"response"handler params are slightly different due to using Axiosclient.images.thumbmailrenamed toclient.images.thumbnailStreamApiError.response.statusCodeis renamed toStreamApiError.response.status- Drop
client.makeSignedRequest. This function is removed due to being out of scope. Similar functionality can be reproduced by manually generating authorization token and adding it to the request header. - Drop
client.createUserSessionTokenin favor ofclient.createUserToken - Drop
collections._streamRefin favor ofcollections.ref - Drop
user._streamRefin favor ofuser.ref - Drop
feed.getReadOnlyTokenin favor ofclient.getReadOnlyToken - Drop
feed.getReadWriteTokenin favor ofclient.getReadWriteToken Feed(feedSlug: string, userId: string, token?: string)instantiation with token as last parameter is deprecated. Token should be supplied by client likestream.connect(apiKey, userToken, appId).feed(feedSlug: string, userId: string)
onUploadProgresscallback for uploads.options.timeoutis honored if given in client setup
- GitHub Action
- More tests for types
- Format change in changelog
- Enable node 11
- Add open graph scrape (og) types
- Extend types for client variables, files and images
- Move babel-runtime to dependencies
- Use faye-us-east.stream-io-api.com for realtime updates
- Update package.json engine to support Node 13
- Make personalization token an option
- Improve Typescript types manifest
- Add support for the
expireTokensoption of the client tocreateUserToken
- Add support for batch activity partial update
- Add support for enriched
getActivities - Improve file error handling
- Allow using
getActivitieswith user token authentication
Use forked cross-fetch for better react native support
Update some dependencies that had vulnerabilities. npm audit is now clean.
Fix a bad release with a big file in the publish on npm
Bugfix release: follow/unfollow stopped working server-side due to bad JWT generation code
Bugfix release: follow/unfollow stopped working server-side due to bad JWT generation code
This release merges frontend and backend usage of the client for a much better experience. To do this it has same breaking changes
- Remove
createUserSession. This is replaced by using the user token as the second argument tostream.connect, i.e.stream.connect(apiKey, userToken, appId). All calls you did on the user session can now be done the same way on the client (except for the things mentioned below). - Change
userSession.collection(collectionName).add(id, data)toclient.collections.add(collectionName, id, data). The same is done forupdate,delete,get - Rename
client.collections.deletetoclient.collections.delete_many session.reactwas removed in favor ofclient.reactions.addsession.followUserwas removed in favor of usingclient.follow- the arguments for
session.reactions.addhave slightly changed
// old
session.reactions.add(kind, activity, {data, targetFeeds})
// new
client.reactions.add(kind, activity, data, {targetFeeds})
session.useris replaced withclient.currentUsersession.getUser(id)is replaced withclient.user(id)- Remove
client.collections.createReference(collection, entryId)withclient.collections.entry(collection, itemId) - Remove
client.collections.createUserReference(userId)withclient.user(userId)
client.reactions.addChild()was added to create reactions to reactions- responses from user(id).get/add/update and collections.get/add/update apis can now be used directly in an activity and will be replaced by a reference automatically
- Support Node 11.x
- Add support for filtering reactions
- Add support for reading reactions by ID
- Make collections an alias for the storage API, to make naming consistent
- Support for a new set of frontend API's
A beta release was released by accident on the "latest" npm tag. This release is effectively undoes that by creating a newer version.
- Support for partial activity update
- Support creating a client without a secret on the nodejs again.
Added get activities endpoint support
Update dependencies Update build to Webpack 4
- Node 10 support
- Make sure KeepAlive is used server-side
- Accept gzip encoded responses
- Fixes break on babel transpilation introduced in 3.12.3 (#145)
- Fixes regex checks on Feed Ids and User Ids and clarifies error messages
- Updates downstream dependencies
- Fixes and enhancements to TypeScript type definitions (#139)
- Advances package 'engines' advisory to cover Node.js v9.0
- Fixed incorrect TypeScript type definition on Feed.subscribe()
- Further improvements to custom Error messages
- Improvements to custom Error messages
- Fixes for Node 4 compatibility
- Corrects error/validation message on user id regex check
- Clarifications to documentation
- Adds an updateActivityToTargets method - updates the
tofield on activities.
- Conveniently expose the signing library for people using custom endpoints
- Add missing StreamApiError prototype (via PR #121 and Issue #119)
- Updated dtslint to ^0.2.0
- API endpoint domain switched from 'getstream.io' to 'stream-io-api.com'
- API call functions now error with a StreamAPIError
- Add type definitions
- Enforce withCredentials to false (Browser only)
- add getReadOnlyToken and getReadWriteToken method to feed instances
- Update Faye to 1.2.0
- Pin down all dependencies
- Added support for keep_history parameter on unfollow
- Stream-JS is now compatible with React-Native
- dependency browser-request fork changed to xmlhttp-request hosted on npm
- Stream-JS is now compatible with React-Native
- dependency browser-request updated to 0.3.4
- Added support for update_activity API
- Added support for activity_copy_limit to limit the amount of activities copied by client.followMany
- dependency request updated to 2.67.0
- dependency qs updated to 6.0.1
- dependency faye updated to 1.1.2
- Breaking change: Functions performing an XHR Request no longer return the request object, instead they return a Promise
- Added support for add_to_many api call (i.e. client.addToMany) to add one activity to many feeds
- Added support for follow_many api call (i.e. client.followMany) to create multiple follow relations in one request
- Added support to create a redirect url (i.e. client.createRedirectUrl) to track events via stream's analytics platform
- Added support for follow_copy_limit API parameter on follow.
- Added option to enable JWT token expiration (default behavior is no expiration) through option: { expireTokens: true }
- Removed Buffer as a dependency of lib/signing.js to reduce distributable size for the browser. Instead use Base64 lib for base64 encoding.
- Generated API documentation in /docs
- Enforce code style through jscs and jshint during the build (i.e. gulp lint)
- Added location support to reduce latency
- Heroku location support
- Allow "-" in feed id for compatibility with mongo ids
- Added validation on feed slug and user id
- Breaking change: New style feed syntax, client.feed('user', '1') instead of client.feed('user:3')
- Breaking change: New style follow syntax, feed.follow('user', 3)
- API versioning support
- Cleanup of API client codebase and naming
- Bugfix for filtering support
- Added user agent for getstream.io analytics
- Added support for filtering followers and following by providing the feeds argument
- Added support for attaching global handlers via client.on('request', callback)
- Add support for mark read and mark seen (notifications feeds)