Releases: ably/spaces
0.4.0
With this release the Spaces SDK now requires Ably JavaScript SDK v2 to be installed and used with the Spaces client. Please refer to Ably JavaScript SDK v2 GitHub release notes for the list of breaking changes and the corresponding migration guide.
Breaking changes in this release:
- Upgrade to using Ably JavaScript SDK v2 #325
Full Changelog: 0.3.1...0.4.0
0.3.1
What's Changed
- [COL-526] Update and consolidate docstring comments by @m-hulbert in #256
- Fix not being able to import CJS Spaces module bundle due to
ERR_REQUIRE_ESM
error by @VeskeR in #307
New Contributors
Full Changelog: 0.3.0...0.3.1
0.3.0
What's Changed
- [COL-333] Return value of a lock not it's reference by @dpiatek in #226
- [COL-533] Upgrade Ably to 1.2.46 by @lawrence-forooghian in #235
- [COL-56] Add integration tests by @lawrence-forooghian in #229
- [COL-577] Use ::$space as space channel suffix by @dpiatek in #244
- Bump to 0.3.0 by @dpiatek in #245
Full Changelog: 0.2.0...0.3.0
0.2.0
In this release, we introduce React hooks for Spaces #233. See the React Hooks documentation for further details.
Breaking changes in this release:
- [MMB-317], [MMB-318] — Remove the
LockAttributes
type #214 (lawrence-forooghian) - Remove ability to pass array of event names to
EventEmitter.prototype.once
#196 (lawrence-forooghian)
Other notable changes:
- [COL-335] Fix bug where
space.enter()
sometimes hangs. #227 (lawrence-forooghian) - Add agent param #220 (dpiatek)
- Add script to test CDN bundle #216 (lawrence-forooghian)
- Publish to new CDN bucket only #205 (surminus)
- [MMB-156] Add documentation comments and generate HTML documentation #204 (lawrence-forooghian)
- Demo updates #195 (dpiatek)
Full Changelog: 0.1.3...0.2.0
0.1.3
What's Changed
- build(deps-dev): bump rollup from 3.28.1 to 3.29.1 by @dependabot in #172
- build(deps-dev): bump eslint from 8.48.0 to 8.49.0 by @dependabot in #173
- build(deps-dev): bump eslint-plugin-jsdoc from 39.8.0 to 46.7.0 by @dependabot in #175
- build(deps-dev): bump vitest from 0.34.3 to 0.34.4 by @dependabot in #176
- Refactor space updates by @dpiatek in #180
- Update CDN versions to latest by @dpiatek in #186
- Remove unused export by @dpiatek in #185
- Silence Vite warnings about node packages loaded by postcss by @dpiatek in #181
- Make
Locks.prototype.getLocksForConnectionId
private by @lawrence-forooghian in #188 - Revert "Remove unused export" by @dpiatek in #190
- Fix cursors demo issues by @dpiatek in #179
New Contributors
- @lawrence-forooghian made their first contribution in #188
Full Changelog: 0.1.2...0.1.3
0.1.2
0.1.1
What's Changed
- Update README.md by @Srushtika in #159
- Update README.md by @Srushtika in #160
- refactor: avoid early initialisation of common errors by @owenpearson in #163
- Update demo to use latest version of Spaces by @dpiatek in #161
- fix: unlock update hasn't triggered after lock release by @ttypic in #164
- [MMB-247] Channel tagging by @dpiatek in #166
New Contributors
- @owenpearson made their first contribution in #163
Full Changelog: 0.1.0...0.1.1
0.1.0
In this release, we're advancing Spaces from alpha to beta. Along with introducing this library to a wider audience, we've decided to move it to the ably
organisation as Spaces is no longer an experiment, it's something we see as an excellent supplement to our core SDKs to help developers build collaborative environments in their apps. We are committed to grow and officially maintain it.
If you are one of our early adopters, this means you need to update your package.json
from @ably-labs/spaces
to @ably/spaces
.
Visit official documentation on Ably's website to learn more about Spaces and understand what the beta status means for you.
The following APIs are currently available:
- Space - a virtual area of your application in which realtime collaboration between users can take place.
- Avatar stack - the most common way of showing the online status of users in an application.
- Member locations - track where users are to see which part of your application they're interacting with.
- Live cursors - track the cursor positions of users in realtime.
- Component locking - optimistically lock stateful UI components before editing them.
Your feedback will help prioritize improvements and fixes in subsequent releases. Spaces features have been validated for a set of use-cases, but breaking changes may still occur between minor releases until we reach 1.0.0. The beta is implemented based on real world situations and loads, but we'd advise to take caution when adding it to production environments.
Please reach out to [email protected] for any questions or share feedback through this form.
What's Changed
- Add legacy CDN upload by @surminus in #134
- [MMB-219] Update docs by @surminus in #113
- [MMB-44] Ensure we're setting proper error codes by @surminus in #135
- Locking demo by @dpiatek in #111
- build(deps-dev): bump eslint from 8.33.0 to 8.48.0 by @dependabot in #138
- chore!: make
ably
peer dependency by @ttypic in #128 - fix: rename
types.d.ts
totypes.ts
by @ttypic in #130 - Support async subscribe callbacks by @lmars in #139
- CDN bundle updates by @dpiatek in #140
- chore: use npm versions in demo by @ttypic in #143
- Prefer null over undefined consistently by @dpiatek in #141
- build(deps-dev): bump eslint-plugin-import from 2.27.5 to 2.28.1 by @dependabot in #123
- build(deps-dev): bump vitest from 0.29.8 to 0.34.3 by @dependabot in #137
- fix: locking demo bugs by @ttypic in #146
- Fix getAll no returing position or data values by @dpiatek in #144
- Remove mock-socket by @dpiatek in #145
- build(deps-dev): bump rollup from 3.28.0 to 3.28.1 by @dependabot in #147
- build(deps-dev): bump @typescript-eslint/parser from 5.51.0 to 5.62.0 by @dependabot in #149
- build(deps-dev): bump @vitest/coverage-c8 from 0.28.4 to 0.33.0 by @dependabot in #148
- Update channel behaviours doc by @dpiatek in #150
- [MMB-264] Flatten the lock type by @dpiatek in #151
- Documentation tweaks post-API updates by @dpiatek in #142
- [MMB-202] Add documentation for simple connection and channels management by @dpiatek in #110
- [MMB-266] Add getSelf and getOthers methods to locks by @dpiatek in #155
- docs: Add Component Locking section to README by @lmars in #112
- [MMB-275] Update members update event by @dpiatek in #156
- [MMB-127] Update repo references by @dpiatek in #157
- Release 0.1.0 by @dpiatek in #158
New Contributors
Full Changelog: 0.0.13...0.1.0
0.0.13-alpha
What's Changed
- Small fix to README by @tomczoink in #98
- [MMB-180] Add getSelf and getOthers method to cursors by @artismarti in #99
- [MMB-195] Rewrite spaces demo into React by @snikidev in #92
- [MMB-178] Add members namespace by @dpiatek in #101
- Update demo dependencies by @surminus in #106
- Add last seen label to avatars by @dpiatek in #104
- Update TypeScript config to strict mode by @dpiatek in #103
- CSS demo fixes by @dpiatek in #107
- Examples of API usage by @dpiatek in #108
- [MMB-200] Implement cursor offsets rather than intervals by @surminus in #105
- Fixed an issue in README where a code block wasn't being closed by @GregHolmes in #109
- Add Component Locking by @lmars in #102
- locks: Move lock state out of SpaceMember by @lmars in #114
- space: Don't maintain leavers within the members array by @lmars in #115
- Make get and set functions async by @lmars in #116
- members: Drop the members array in favour of presence.get() by @lmars in #117
- space: Ensure lock state is maintained in presence data by @lmars in #118
- Change 'cursorsUpdate' event to 'update' by @surminus in #120
- Add GitHub Actions workflow for CDN uploads by @surminus in #119
- [MMB-127] Small changes to prepare for repo migration by @surminus in #121
- [MMB-154] A few small fixes for CDN publishing by @surminus in #127
- locks: Release all locks when a member leaves by @lmars in #131
- locks: Add space.locks.getAll() by @lmars in #132
- release: 0.0.13 by @surminus in #133
New Contributors
- @tomczoink made their first contribution in #98
- @snikidev made their first contribution in #92
- @surminus made their first contribution in #106
- @GregHolmes made their first contribution in #109
- @lmars made their first contribution in #102
Full Changelog: 0.0.12...0.0.13
0.0.12-alpha
What's Changed
- [MMB-118] Previous location not set to null for first update by @dpiatek in #86
- [MMB-152] Update README by @dpiatek in #83
- [MMB-80] responsive demo by @artismarti in #85
- [MMB-103]: Update avatar stack time status by @artismarti in #87
- [MMB-152] Detailed docs updates by @dpiatek in #84
- [MMB-171] Update profile data by @dpiatek in #80
- Update CHANGELOG and CONTRIBUTING by @dpiatek in #89
- build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #88
- [MMB-173] Remove location tracking by @artismarti in #90
- [MMB-174] Remove named cursors by @dpiatek in #91
- [MMB-175] Only initialise cursors channel when .on or .set are called by @dpiatek in #93
- chore: Update docs related to tracker by @artismarti in #96
- [MMB-179] New Location Methods by @artismarti in #95
Full Changelog: 0.0.10...0.0.12