UNPKG

103 kBMarkdownView Raw
1Changes in [1.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.0) (2019-02-14)
2================================================================================================
3[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.0-rc.2...v1.0.0)
4
5 * Try again to commit package-lock.json
6 [\#841](https://github.com/matrix-org/matrix-js-sdk/pull/841)
7
8Changes in [1.0.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.0-rc.2) (2019-02-14)
9==========================================================================================================
10[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.0-rc.1...v1.0.0-rc.2)
11
12 * Release script: commit package-lock.json
13 [\#839](https://github.com/matrix-org/matrix-js-sdk/pull/839)
14 * Add method to force re-check of key backup
15 [\#840](https://github.com/matrix-org/matrix-js-sdk/pull/840)
16 * Fix: dont check for unverified devices in left members
17 [\#838](https://github.com/matrix-org/matrix-js-sdk/pull/838)
18
19Changes in [1.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.0-rc.1) (2019-02-08)
20==========================================================================================================
21[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.3...v1.0.0-rc.1)
22
23 * change hex SAS verification to decimal and emoji
24 [\#837](https://github.com/matrix-org/matrix-js-sdk/pull/837)
25 * Trust on decrypt
26 [\#836](https://github.com/matrix-org/matrix-js-sdk/pull/836)
27 * Always track our own devices
28 [\#835](https://github.com/matrix-org/matrix-js-sdk/pull/835)
29 * Make linting rules more consistent
30 [\#834](https://github.com/matrix-org/matrix-js-sdk/pull/834)
31 * add method to room to check for unverified devices
32 [\#833](https://github.com/matrix-org/matrix-js-sdk/pull/833)
33 * Merge redesign into develop
34 [\#831](https://github.com/matrix-org/matrix-js-sdk/pull/831)
35 * Supporting infrastructure for educated decisions on when to upgrade rooms
36 [\#830](https://github.com/matrix-org/matrix-js-sdk/pull/830)
37 * Include signature info for unknown devices
38 [\#826](https://github.com/matrix-org/matrix-js-sdk/pull/826)
39 * Flag v2 rooms as "safe"
40 [\#828](https://github.com/matrix-org/matrix-js-sdk/pull/828)
41 * Update ESLint
42 [\#821](https://github.com/matrix-org/matrix-js-sdk/pull/821)
43
44Changes in [0.14.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.3) (2019-01-22)
45==================================================================================================
46[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.3-rc.1...v0.14.3)
47
48 * No changes since rc.1
49
50Changes in [0.14.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.3-rc.1) (2019-01-17)
51============================================================================================================
52[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.2...v0.14.3-rc.1)
53
54 * Merge develop into experimental
55 [\#815](https://github.com/matrix-org/matrix-js-sdk/pull/815)
56 * Add a getAllEndToEndSessions to crypto store
57 [\#812](https://github.com/matrix-org/matrix-js-sdk/pull/812)
58 * T3chguy/fix displayname logic
59 [\#668](https://github.com/matrix-org/matrix-js-sdk/pull/668)
60 * Contributing: Note that rebase lets you mass signoff commits
61 [\#814](https://github.com/matrix-org/matrix-js-sdk/pull/814)
62 * take into account homoglyphs when calculating similar display names
63 [\#672](https://github.com/matrix-org/matrix-js-sdk/pull/672)
64 * Emit for key backup failures
65 [\#809](https://github.com/matrix-org/matrix-js-sdk/pull/809)
66 * emit oldEventId on "updatePendingEvent"
67 [\#646](https://github.com/matrix-org/matrix-js-sdk/pull/646)
68 * Add getThirdpartyUser to base api
69 [\#589](https://github.com/matrix-org/matrix-js-sdk/pull/589)
70 * Support custom status messages
71 [\#805](https://github.com/matrix-org/matrix-js-sdk/pull/805)
72 * Extra checks to avoid release script blowing up mid-process.
73 [\#749](https://github.com/matrix-org/matrix-js-sdk/pull/749)
74 * Move glob regex utilities out of the pushprocessor and into a more generic
75 place
76 [\#800](https://github.com/matrix-org/matrix-js-sdk/pull/800)
77
78Changes in [0.14.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.2) (2018-12-10)
79==================================================================================================
80[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.2-rc.1...v0.14.2)
81
82 * No changes since rc.1
83
84Changes in [0.14.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.2-rc.1) (2018-12-06)
85============================================================================================================
86[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.1...v0.14.2-rc.1)
87
88 * fix some assertions in e2e backup unit test
89 [\#794](https://github.com/matrix-org/matrix-js-sdk/pull/794)
90 * Config should be called with auth
91 [\#798](https://github.com/matrix-org/matrix-js-sdk/pull/798)
92 * Don't re-establish sessions with unknown devices
93 [\#792](https://github.com/matrix-org/matrix-js-sdk/pull/792)
94 * e2e key backups
95 [\#684](https://github.com/matrix-org/matrix-js-sdk/pull/684)
96 * WIP: online incremental megolm backups
97 [\#595](https://github.com/matrix-org/matrix-js-sdk/pull/595)
98 * Support for e2e key backups
99 [\#736](https://github.com/matrix-org/matrix-js-sdk/pull/736)
100 * Passphrase Support for e2e backups
101 [\#786](https://github.com/matrix-org/matrix-js-sdk/pull/786)
102 * Add 'getSsoLoginUrl' function
103 [\#783](https://github.com/matrix-org/matrix-js-sdk/pull/783)
104 * Fix: don't set the room name to null when heroes are missing.
105 [\#784](https://github.com/matrix-org/matrix-js-sdk/pull/784)
106 * Handle crypto db version upgrades
107 [\#785](https://github.com/matrix-org/matrix-js-sdk/pull/785)
108 * Restart broken Olm sessions
109 [\#780](https://github.com/matrix-org/matrix-js-sdk/pull/780)
110 * Use the last olm session that got a message
111 [\#776](https://github.com/matrix-org/matrix-js-sdk/pull/776)
112
113Changes in [0.14.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.1) (2018-11-22)
114==================================================================================================
115[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.0...v0.14.1)
116
117 * Warning when crypto DB is too new to use.
118
119Changes in [0.14.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.0) (2018-11-19)
120==================================================================================================
121[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.0-rc.1...v0.14.0)
122
123 * No changes since rc.1
124
125Changes in [0.14.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.0-rc.1) (2018-11-15)
126============================================================================================================
127[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.13.1...v0.14.0-rc.1)
128
129BREAKING CHANGE
130----------------
131
132 * js-sdk now uses Olm 3.0. Apps using Olm must update to 3.0 to
133 continue using Olm with the js-sdk. The js-sdk will call Olm's
134 init() method when the client is started.
135
136All Changes
137-----------
138
139 * Prevent messages from being sent if other messages have failed to send
140 [\#781](https://github.com/matrix-org/matrix-js-sdk/pull/781)
141 * A unit test for olm
142 [\#777](https://github.com/matrix-org/matrix-js-sdk/pull/777)
143 * Set access_token and user_id after login in with username and password.
144 [\#778](https://github.com/matrix-org/matrix-js-sdk/pull/778)
145 * Add function to get currently joined rooms.
146 [\#779](https://github.com/matrix-org/matrix-js-sdk/pull/779)
147 * Remove the request-only stuff we don't need anymore
148 [\#775](https://github.com/matrix-org/matrix-js-sdk/pull/775)
149 * Manually construct query strings for browser-request instances
150 [\#770](https://github.com/matrix-org/matrix-js-sdk/pull/770)
151 * Fix: correctly check for crypto being present
152 [\#769](https://github.com/matrix-org/matrix-js-sdk/pull/769)
153 * Update babel-eslint to 8.1.1
154 [\#768](https://github.com/matrix-org/matrix-js-sdk/pull/768)
155 * Support `request` in the browser and support supplying servers to try in
156 joinRoom()
157 [\#764](https://github.com/matrix-org/matrix-js-sdk/pull/764)
158 * loglevel should be a normal dependency
159 [\#767](https://github.com/matrix-org/matrix-js-sdk/pull/767)
160 * Stop devicelist when client is stopped
161 [\#766](https://github.com/matrix-org/matrix-js-sdk/pull/766)
162 * Update to WebAssembly-powered Olm
163 [\#743](https://github.com/matrix-org/matrix-js-sdk/pull/743)
164 * Logging lib. Fixes #332
165 [\#763](https://github.com/matrix-org/matrix-js-sdk/pull/763)
166 * Use new stop() method on matrix-mock-request
167 [\#765](https://github.com/matrix-org/matrix-js-sdk/pull/765)
168
169Changes in [0.13.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.13.1) (2018-11-14)
170==================================================================================================
171[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.13.0...v0.13.1)
172
173 * Add function to get currently joined rooms.
174 [\#779](https://github.com/matrix-org/matrix-js-sdk/pull/779)
175
176Changes in [0.13.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.13.0) (2018-11-15)
177==================================================================================================
178[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.12.1...v0.13.0)
179
180BREAKING CHANGE
181----------------
182 * `MatrixClient::login` now sets client `access_token` and `user_id` following successful login with username and password.
183
184Changes in [0.12.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.1) (2018-10-29)
185==================================================================================================
186[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.12.1-rc.1...v0.12.1)
187
188 * No changes since rc.1
189
190Changes in [0.12.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.1-rc.1) (2018-10-24)
191============================================================================================================
192[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.12.0...v0.12.1-rc.1)
193
194 * Add repository type to package.json to make it valid
195 [\#762](https://github.com/matrix-org/matrix-js-sdk/pull/762)
196 * Add getMediaConfig()
197 [\#761](https://github.com/matrix-org/matrix-js-sdk/pull/761)
198 * add new examples, to be expanded into a post
199 [\#739](https://github.com/matrix-org/matrix-js-sdk/pull/739)
200
201Changes in [0.12.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.0) (2018-10-16)
202==================================================================================================
203[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.12.0-rc.1...v0.12.0)
204
205 * No changes since rc.1
206
207Changes in [0.12.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.0-rc.1) (2018-10-11)
208============================================================================================================
209[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.11.1...v0.12.0-rc.1)
210
211BREAKING CHANGES
212----------------
213 * If js-sdk finds data in the store that is incompatible with the options currently being used,
214 it will emit sync state ERROR with an error of type InvalidStoreError. It will also stop trying
215 to sync in this situation: the app must stop the client and then either clear the store or
216 change the options (in this case, enable or disable lazy loading of members) and then start
217 the client again.
218
219All Changes
220-----------
221
222 * never replace /sync'ed memberships with OOB ones
223 [\#760](https://github.com/matrix-org/matrix-js-sdk/pull/760)
224 * Don't fail to start up if lazy load check fails
225 [\#759](https://github.com/matrix-org/matrix-js-sdk/pull/759)
226 * Make e2e work on Edge
227 [\#754](https://github.com/matrix-org/matrix-js-sdk/pull/754)
228 * throw error with same name and message over idb worker boundary
229 [\#758](https://github.com/matrix-org/matrix-js-sdk/pull/758)
230 * Default to a room version of 1 when there is no room create event
231 [\#755](https://github.com/matrix-org/matrix-js-sdk/pull/755)
232 * Silence bluebird warnings
233 [\#757](https://github.com/matrix-org/matrix-js-sdk/pull/757)
234 * allow non-ff merge from release branch into master
235 [\#750](https://github.com/matrix-org/matrix-js-sdk/pull/750)
236 * Reject with the actual error on indexeddb error
237 [\#751](https://github.com/matrix-org/matrix-js-sdk/pull/751)
238 * Update mocha to v5
239 [\#744](https://github.com/matrix-org/matrix-js-sdk/pull/744)
240 * disable lazy loading for guests as they cant create filters
241 [\#748](https://github.com/matrix-org/matrix-js-sdk/pull/748)
242 * Revert "Add getMediaLimits to client"
243 [\#745](https://github.com/matrix-org/matrix-js-sdk/pull/745)
244
245Changes in [0.11.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.1) (2018-10-01)
246==================================================================================================
247[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.11.1-rc.1...v0.11.1)
248
249 * No changes since rc.1
250
251Changes in [0.11.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.1-rc.1) (2018-09-27)
252============================================================================================================
253[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.11.0...v0.11.1-rc.1)
254
255 * make usage of hub compatible with latest version (2.5)
256 [\#747](https://github.com/matrix-org/matrix-js-sdk/pull/747)
257 * Detect when lazy loading has been toggled in client.startClient
258 [\#746](https://github.com/matrix-org/matrix-js-sdk/pull/746)
259 * Add getMediaLimits to client
260 [\#644](https://github.com/matrix-org/matrix-js-sdk/pull/644)
261 * Split npm start into an init and watch script
262 [\#742](https://github.com/matrix-org/matrix-js-sdk/pull/742)
263 * Revert "room name should only take canonical alias into account"
264 [\#738](https://github.com/matrix-org/matrix-js-sdk/pull/738)
265 * fix display name disambiguation with LL
266 [\#737](https://github.com/matrix-org/matrix-js-sdk/pull/737)
267 * Introduce Room.myMembership event
268 [\#735](https://github.com/matrix-org/matrix-js-sdk/pull/735)
269 * room name should only take canonical alias into account
270 [\#733](https://github.com/matrix-org/matrix-js-sdk/pull/733)
271 * state events from context response were not wrapped in a MatrixEvent
272 [\#732](https://github.com/matrix-org/matrix-js-sdk/pull/732)
273 * Reduce amount of promises created when inserting members
274 [\#724](https://github.com/matrix-org/matrix-js-sdk/pull/724)
275 * dont wait for LL members to be stored to resolve the members
276 [\#726](https://github.com/matrix-org/matrix-js-sdk/pull/726)
277 * RoomState.members emitted with wrong argument order for OOB members
278 [\#728](https://github.com/matrix-org/matrix-js-sdk/pull/728)
279
280Changes in [0.11.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.0) (2018-09-10)
281==================================================================================================
282[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.11.0-rc.1...v0.11.0)
283
284BREAKING CHANGES
285----------------
286 * v0.11.0-rc.1 introduced some breaking changes - see the respective release notes.
287
288No changes since rc.1
289
290Changes in [0.11.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.0-rc.1) (2018-09-07)
291============================================================================================================
292[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.9...v0.11.0-rc.1)
293
294 * Support for lazy loading members. This should improve performance for
295 users who joined big rooms a lot. Pass to `lazyLoadMembers = true` option when calling `startClient`.
296
297BREAKING CHANGES
298----------------
299
300 * `MatrixClient::startClient` now returns a Promise. No method should be called on the client before that promise resolves. Before this method didn't return anything.
301 * A new `CATCHUP` sync state, emitted by `MatrixClient#"sync"` and returned by `MatrixClient::getSyncState()`, when doing initial sync after the `ERROR` state. See `MatrixClient` documentation for details.
302 * `RoomState::maySendEvent('m.room.message', userId)` & `RoomState::maySendMessage(userId)` do not check the membership of the user anymore, only the power level. To check if the syncing user is allowed to write in a room, use `Room::maySendMessage()` as `RoomState` is not always aware of the syncing user's membership anymore, in case lazy loading of members is enabled.
303
304All Changes
305-----------
306
307 * Only emit CATCHUP if recovering from conn error
308 [\#727](https://github.com/matrix-org/matrix-js-sdk/pull/727)
309 * Fix docstring for sync data.error
310 [\#725](https://github.com/matrix-org/matrix-js-sdk/pull/725)
311 * Re-apply "Don't rely on members to query if syncing user can post to room"
312 [\#723](https://github.com/matrix-org/matrix-js-sdk/pull/723)
313 * Revert "Don't rely on members to query if syncing user can post to room"
314 [\#721](https://github.com/matrix-org/matrix-js-sdk/pull/721)
315 * Don't rely on members to query if syncing user can post to room
316 [\#717](https://github.com/matrix-org/matrix-js-sdk/pull/717)
317 * Fixes for room.guessDMUserId
318 [\#719](https://github.com/matrix-org/matrix-js-sdk/pull/719)
319 * Fix filepanel also filtering main timeline with LL turned on.
320 [\#716](https://github.com/matrix-org/matrix-js-sdk/pull/716)
321 * Remove lazy loaded members when leaving room
322 [\#711](https://github.com/matrix-org/matrix-js-sdk/pull/711)
323 * Fix: show spinner again while recovering from connection error
324 [\#702](https://github.com/matrix-org/matrix-js-sdk/pull/702)
325 * Add method to query LL state in client
326 [\#714](https://github.com/matrix-org/matrix-js-sdk/pull/714)
327 * Fix: also load invited members when lazy loading members
328 [\#707](https://github.com/matrix-org/matrix-js-sdk/pull/707)
329 * Pass through function to discard megolm session
330 [\#704](https://github.com/matrix-org/matrix-js-sdk/pull/704)
331
332Changes in [0.10.9](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.9) (2018-09-03)
333==================================================================================================
334[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.9-rc.2...v0.10.9)
335
336 * No changes since rc.2
337
338Changes in [0.10.9-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.9-rc.2) (2018-08-31)
339============================================================================================================
340[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.9-rc.1...v0.10.9-rc.2)
341
342 * Fix for "otherMember.getAvatarUrl is not a function"
343 [\#708](https://github.com/matrix-org/matrix-js-sdk/pull/708)
344
345Changes in [0.10.9-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.9-rc.1) (2018-08-30)
346============================================================================================================
347[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.8...v0.10.9-rc.1)
348
349 * Fix DM avatar
350 [\#706](https://github.com/matrix-org/matrix-js-sdk/pull/706)
351 * Lazy loading: avoid loading members at initial sync for e2e rooms
352 [\#699](https://github.com/matrix-org/matrix-js-sdk/pull/699)
353 * Improve setRoomEncryption guard against multiple m.room.encryption st…
354 [\#700](https://github.com/matrix-org/matrix-js-sdk/pull/700)
355 * Revert "Lazy loading: don't block on setting up room crypto"
356 [\#698](https://github.com/matrix-org/matrix-js-sdk/pull/698)
357 * Lazy loading: don't block on setting up room crypto
358 [\#696](https://github.com/matrix-org/matrix-js-sdk/pull/696)
359 * Add getVisibleRooms()
360 [\#695](https://github.com/matrix-org/matrix-js-sdk/pull/695)
361 * Add wrapper around getJoinedMemberCount()
362 [\#697](https://github.com/matrix-org/matrix-js-sdk/pull/697)
363 * Api to fetch events via /room/.../event/..
364 [\#694](https://github.com/matrix-org/matrix-js-sdk/pull/694)
365 * Support for room upgrades
366 [\#693](https://github.com/matrix-org/matrix-js-sdk/pull/693)
367 * Lazy loading of room members
368 [\#691](https://github.com/matrix-org/matrix-js-sdk/pull/691)
369
370Changes in [0.10.8](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.8) (2018-08-20)
371==================================================================================================
372[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.8-rc.1...v0.10.8)
373
374 * No changes since rc.1
375
376Changes in [0.10.8-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.8-rc.1) (2018-08-16)
377============================================================================================================
378[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.7...v0.10.8-rc.1)
379
380 * Add getVersion to Room
381 [\#689](https://github.com/matrix-org/matrix-js-sdk/pull/689)
382 * Add getSyncStateData()
383 [\#680](https://github.com/matrix-org/matrix-js-sdk/pull/680)
384 * Send sync error to listener
385 [\#679](https://github.com/matrix-org/matrix-js-sdk/pull/679)
386 * make sure room.tags is always a valid object to avoid crashes
387 [\#675](https://github.com/matrix-org/matrix-js-sdk/pull/675)
388 * Fix infinite spinner upon joining a room
389 [\#673](https://github.com/matrix-org/matrix-js-sdk/pull/673)
390
391Changes in [0.10.7](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.7) (2018-07-30)
392==================================================================================================
393[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.7-rc.1...v0.10.7)
394
395 * No changes since rc.1
396
397Changes in [0.10.7-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.7-rc.1) (2018-07-24)
398============================================================================================================
399[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.6...v0.10.7-rc.1)
400
401 * encrypt for invited users if history visibility allows.
402 [\#666](https://github.com/matrix-org/matrix-js-sdk/pull/666)
403
404Changes in [0.10.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.6) (2018-07-09)
405==================================================================================================
406[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.6-rc.1...v0.10.6)
407
408 * No changes since rc.1
409
410Changes in [0.10.6-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.6-rc.1) (2018-07-06)
411============================================================================================================
412[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.5...v0.10.6-rc.1)
413
414 * Expose event decryption error via Event.decrypted event
415 [\#665](https://github.com/matrix-org/matrix-js-sdk/pull/665)
416 * Add decryption error codes to base.DecryptionError
417 [\#663](https://github.com/matrix-org/matrix-js-sdk/pull/663)
418
419Changes in [0.10.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.5) (2018-06-29)
420==================================================================================================
421[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.5-rc.1...v0.10.5)
422
423 * No changes since rc.1
424
425Changes in [0.10.5-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.5-rc.1) (2018-06-21)
426============================================================================================================
427[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.4...v0.10.5-rc.1)
428
429 * fix auth header and filename=undefined
430 [\#659](https://github.com/matrix-org/matrix-js-sdk/pull/659)
431 * allow setting the output device for webrtc calls
432 [\#650](https://github.com/matrix-org/matrix-js-sdk/pull/650)
433 * arguments true and false are actually invalid
434 [\#596](https://github.com/matrix-org/matrix-js-sdk/pull/596)
435 * fix typo where `headers` was not being used and thus sent wrong content-type
436 [\#643](https://github.com/matrix-org/matrix-js-sdk/pull/643)
437 * fix some documentation typos
438 [\#642](https://github.com/matrix-org/matrix-js-sdk/pull/642)
439
440Changes in [0.10.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.4) (2018-06-12)
441==================================================================================================
442[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.4-rc.1...v0.10.4)
443
444 * No changes since rc.1
445
446Changes in [0.10.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.4-rc.1) (2018-06-06)
447============================================================================================================
448[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.3...v0.10.4-rc.1)
449
450 * check whether notif level is undefined, because `0` is falsey
451 [\#651](https://github.com/matrix-org/matrix-js-sdk/pull/651)
452
453Changes in [0.10.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.3) (2018-05-25)
454==================================================================================================
455[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.3-rc.1...v0.10.3)
456
457 * No changes since v0.10.3-rc.1
458
459Changes in [0.10.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.3-rc.1) (2018-05-24)
460============================================================================================================
461[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.2...v0.10.3-rc.1)
462
463BREAKING CHANGE
464---------------
465
466The deprecated 'callback' parameter has been removed from MatrixBaseApis.deactivateAccount
467
468 * Add `erase` option to deactivateAccount
469 [\#649](https://github.com/matrix-org/matrix-js-sdk/pull/649)
470 * Emit Session.no_consent when M_CONSENT_NOT_GIVEN received
471 [\#647](https://github.com/matrix-org/matrix-js-sdk/pull/647)
472
473Changes in [0.10.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.2) (2018-04-30)
474==================================================================================================
475[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.2-rc.1...v0.10.2)
476
477 * No changes from rc.1
478
479Changes in [0.10.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.2-rc.1) (2018-04-25)
480============================================================================================================
481[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.1...v0.10.2-rc.1)
482
483 * Ignore inserts of dup inbound group sessions, pt 2
484 [\#641](https://github.com/matrix-org/matrix-js-sdk/pull/641)
485 * Ignore inserts of duplicate inbound group sessions
486 [\#639](https://github.com/matrix-org/matrix-js-sdk/pull/639)
487 * Log IDB errors
488 [\#638](https://github.com/matrix-org/matrix-js-sdk/pull/638)
489 * Remove not very useful but veryv spammy log line
490 [\#632](https://github.com/matrix-org/matrix-js-sdk/pull/632)
491 * Switch event type to m.sticker.
492 [\#628](https://github.com/matrix-org/matrix-js-sdk/pull/628)
493
494Changes in [0.10.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.1) (2018-04-12)
495==================================================================================================
496[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.0...v0.10.1)
497
498 * Log IDB errors
499 [\#638](https://github.com/matrix-org/matrix-js-sdk/pull/638)
500 * Ignore inserts of duplicate inbound group sessions
501 [\#639](https://github.com/matrix-org/matrix-js-sdk/pull/639)
502 * Ignore inserts of dup inbound group sessions, pt 2
503 [\#641](https://github.com/matrix-org/matrix-js-sdk/pull/641)
504
505Changes in [0.10.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.0) (2018-04-11)
506==================================================================================================
507[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.0-rc.2...v0.10.0)
508
509 * No changes
510
511Changes in [0.10.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.0-rc.2) (2018-04-09)
512============================================================================================================
513[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.0-rc.1...v0.10.0-rc.2)
514
515 * Add wrapper for group join API
516 * Add wrapped API to set group join\_policy
517
518Changes in [0.10.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.0-rc.1) (2018-03-19)
519============================================================================================================
520[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.9.2...v0.10.0-rc.1)
521
522 * Fix duplicated state events in timeline from peek
523 [\#630](https://github.com/matrix-org/matrix-js-sdk/pull/630)
524 * Create indexeddb worker when starting the store
525 [\#627](https://github.com/matrix-org/matrix-js-sdk/pull/627)
526 * Fix indexeddb logging
527 [\#626](https://github.com/matrix-org/matrix-js-sdk/pull/626)
528 * Don't do /keys/changes on incremental sync
529 [\#625](https://github.com/matrix-org/matrix-js-sdk/pull/625)
530 * Don't mark devicelist dirty unnecessarily
531 [\#623](https://github.com/matrix-org/matrix-js-sdk/pull/623)
532 * Cache the joined member count for a room state
533 [\#619](https://github.com/matrix-org/matrix-js-sdk/pull/619)
534 * Fix JS doc
535 [\#618](https://github.com/matrix-org/matrix-js-sdk/pull/618)
536 * Precompute push actions for state events
537 [\#617](https://github.com/matrix-org/matrix-js-sdk/pull/617)
538 * Fix bug where global "Never send to unverified..." is ignored
539 [\#616](https://github.com/matrix-org/matrix-js-sdk/pull/616)
540 * Intern legacy top-level 'membership' field
541 [\#615](https://github.com/matrix-org/matrix-js-sdk/pull/615)
542 * Don't synthesize RR for m.room.redaction as causes the RR to go missing.
543 [\#598](https://github.com/matrix-org/matrix-js-sdk/pull/598)
544 * Make Events create Dates on demand
545 [\#613](https://github.com/matrix-org/matrix-js-sdk/pull/613)
546 * Stop cloning events when adding to state
547 [\#612](https://github.com/matrix-org/matrix-js-sdk/pull/612)
548 * De-dup code: use the initialiseState function
549 [\#611](https://github.com/matrix-org/matrix-js-sdk/pull/611)
550 * Create sentinel members on-demand
551 [\#610](https://github.com/matrix-org/matrix-js-sdk/pull/610)
552 * Some more doc on how sentinels work
553 [\#609](https://github.com/matrix-org/matrix-js-sdk/pull/609)
554 * Migrate room encryption store to crypto store
555 [\#597](https://github.com/matrix-org/matrix-js-sdk/pull/597)
556 * add parameter to getIdentityServerUrl to strip the protocol for invites
557 [\#600](https://github.com/matrix-org/matrix-js-sdk/pull/600)
558 * Move Device Tracking Data to Crypto Store
559 [\#594](https://github.com/matrix-org/matrix-js-sdk/pull/594)
560 * Optimise pushprocessor
561 [\#591](https://github.com/matrix-org/matrix-js-sdk/pull/591)
562 * Set event error before emitting
563 [\#592](https://github.com/matrix-org/matrix-js-sdk/pull/592)
564 * Add event type for stickers [WIP]
565 [\#590](https://github.com/matrix-org/matrix-js-sdk/pull/590)
566 * Migrate inbound sessions to cryptostore
567 [\#587](https://github.com/matrix-org/matrix-js-sdk/pull/587)
568 * Disambiguate names if they contain an mxid
569 [\#588](https://github.com/matrix-org/matrix-js-sdk/pull/588)
570 * Check for sessions in indexeddb before migrating
571 [\#585](https://github.com/matrix-org/matrix-js-sdk/pull/585)
572 * Emit an event for crypto store migration
573 [\#586](https://github.com/matrix-org/matrix-js-sdk/pull/586)
574 * Supporting fixes For making UnknownDeviceDialog not pop up automatically
575 [\#575](https://github.com/matrix-org/matrix-js-sdk/pull/575)
576 * Move sessions to the crypto store
577 [\#584](https://github.com/matrix-org/matrix-js-sdk/pull/584)
578 * Change crypto store transaction API
579 [\#582](https://github.com/matrix-org/matrix-js-sdk/pull/582)
580 * Add some missed copyright notices
581 [\#581](https://github.com/matrix-org/matrix-js-sdk/pull/581)
582 * Move Olm account to IndexedDB
583 [\#579](https://github.com/matrix-org/matrix-js-sdk/pull/579)
584 * Fix logging of DecryptionErrors to be more useful
585 [\#580](https://github.com/matrix-org/matrix-js-sdk/pull/580)
586 * [BREAKING] Change the behaviour of the unverfied devices blacklist flag
587 [\#568](https://github.com/matrix-org/matrix-js-sdk/pull/568)
588 * Support set_presence=offline for syncing
589 [\#557](https://github.com/matrix-org/matrix-js-sdk/pull/557)
590 * Consider cases where the sender may not redact their own event
591 [\#556](https://github.com/matrix-org/matrix-js-sdk/pull/556)
592
593Changes in [0.9.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.2) (2017-12-04)
594================================================================================================
595[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.9.1...v0.9.2)
596
597
598Changes in [0.9.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.1) (2017-11-17)
599================================================================================================
600[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.9.0...v0.9.1)
601
602 * Fix the force TURN option
603 [\#577](https://github.com/matrix-org/matrix-js-sdk/pull/577)
604
605Changes in [0.9.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.0) (2017-11-15)
606================================================================================================
607[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.9.0-rc.1...v0.9.0)
608
609
610Changes in [0.9.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.0-rc.1) (2017-11-10)
611==========================================================================================================
612[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.5...v0.9.0-rc.1)
613
614 * Modify addRoomToGroup to allow setting isPublic, create alias
615 updateGroupRoomAssociation
616 [\#567](https://github.com/matrix-org/matrix-js-sdk/pull/567)
617 * Expose more functionality of pushprocessor
618 [\#565](https://github.com/matrix-org/matrix-js-sdk/pull/565)
619 * Function for working out notif trigger permission
620 [\#566](https://github.com/matrix-org/matrix-js-sdk/pull/566)
621 * keep track of event ID and timestamp of decrypted messages
622 [\#555](https://github.com/matrix-org/matrix-js-sdk/pull/555)
623 * Fix notifEvent computation
624 [\#564](https://github.com/matrix-org/matrix-js-sdk/pull/564)
625 * Fix power level of sentinel members
626 [\#563](https://github.com/matrix-org/matrix-js-sdk/pull/563)
627 * don't try to decrypt a redacted message (fixes vector-im/riot-web#3744)
628 [\#554](https://github.com/matrix-org/matrix-js-sdk/pull/554)
629 * Support room notifs
630 [\#562](https://github.com/matrix-org/matrix-js-sdk/pull/562)
631 * Fix the glob-to-regex code
632 [\#558](https://github.com/matrix-org/matrix-js-sdk/pull/558)
633
634Changes in [0.8.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.5) (2017-10-16)
635================================================================================================
636[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.5-rc.1...v0.8.5)
637
638 * Make unknown pushrule conditions not match
639 [\#559](https://github.com/matrix-org/matrix-js-sdk/pull/559)
640
641Changes in [0.8.5-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.5-rc.1) (2017-10-13)
642==========================================================================================================
643[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.4...v0.8.5-rc.1)
644
645 * Implement wrapper API for removing a room from a group
646 [\#553](https://github.com/matrix-org/matrix-js-sdk/pull/553)
647 * Fix typo which resulted in stuck key download requests
648 [\#552](https://github.com/matrix-org/matrix-js-sdk/pull/552)
649 * Store group when it's created
650 [\#549](https://github.com/matrix-org/matrix-js-sdk/pull/549)
651 * Luke/groups remove rooms users from summary
652 [\#548](https://github.com/matrix-org/matrix-js-sdk/pull/548)
653 * Clean on prepublish
654 [\#546](https://github.com/matrix-org/matrix-js-sdk/pull/546)
655 * Implement wrapper APIs for adding rooms to group summary
656 [\#545](https://github.com/matrix-org/matrix-js-sdk/pull/545)
657
658Changes in [0.8.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.4) (2017-09-21)
659================================================================================================
660[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.3...v0.8.4)
661
662 * Fix build issue
663
664Changes in [0.8.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.3) (2017-09-20)
665================================================================================================
666[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.3-rc.1...v0.8.3)
667
668 * No changes
669
670Changes in [0.8.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.3-rc.1) (2017-09-19)
671==========================================================================================================
672[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.2...v0.8.3-rc.1)
673
674 * consume trailing slash when creating Matrix Client in HS and IS urls
675 [\#526](https://github.com/matrix-org/matrix-js-sdk/pull/526)
676 * Add ignore users API
677 [\#539](https://github.com/matrix-org/matrix-js-sdk/pull/539)
678 * Upgrade to jsdoc 3.5.5
679 [\#540](https://github.com/matrix-org/matrix-js-sdk/pull/540)
680 * Make re-emitting events much more memory efficient
681 [\#538](https://github.com/matrix-org/matrix-js-sdk/pull/538)
682 * Only re-emit events from Event objects if needed
683 [\#536](https://github.com/matrix-org/matrix-js-sdk/pull/536)
684 * Handle 'left' users in the deviceList mananagement
685 [\#535](https://github.com/matrix-org/matrix-js-sdk/pull/535)
686 * Factor out devicelist integration tests to a separate file
687 [\#534](https://github.com/matrix-org/matrix-js-sdk/pull/534)
688 * Refactor sync._sync as an async function
689 [\#533](https://github.com/matrix-org/matrix-js-sdk/pull/533)
690 * Add es6 to eslint environments
691 [\#532](https://github.com/matrix-org/matrix-js-sdk/pull/532)
692
693Changes in [0.8.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.2) (2017-08-24)
694================================================================================================
695[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.1...v0.8.2)
696
697 * Handle m.call.* events which are decrypted asynchronously
698 [\#530](https://github.com/matrix-org/matrix-js-sdk/pull/530)
699 * Re-emit events from, er, Event objects
700 [\#529](https://github.com/matrix-org/matrix-js-sdk/pull/529)
701
702Changes in [0.8.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.1) (2017-08-23)
703================================================================================================
704[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.1-rc.1...v0.8.1)
705
706 * [No changes]
707
708Changes in [0.8.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.1-rc.1) (2017-08-22)
709==========================================================================================================
710[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.0...v0.8.1-rc.1)
711
712 * Fix error handling in interactive-auth
713 [\#527](https://github.com/matrix-org/matrix-js-sdk/pull/527)
714 * Make lots of OlmDevice asynchronous
715 [\#524](https://github.com/matrix-org/matrix-js-sdk/pull/524)
716 * Make crypto.decryptMessage return decryption results
717 [\#523](https://github.com/matrix-org/matrix-js-sdk/pull/523)
718
719Changes in [0.8.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.0) (2017-08-15)
720================================================================================================
721[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.13...v0.8.0)
722
723BREAKING CHANGE
724---------------
725
726In order to support a move to a more scalable storage backend, we need to make
727a number of the APIs related end-to-end encryption asynchronous.
728
729This release of the JS-SDK includes the following changes which will affect
730applications which support end-to-end encryption:
731
7321. `MatrixClient` now provides a new (asynchronous) method,
733 `initCrypto`. Applications which support end-to-end encryption must call
734 this method (and wait for it to complete) before calling `startClient`, to
735 give the crypto layer a chance to initialise.
736
7372. The following APIs have been changed to return promises:
738
739 * `MatrixClient.getStoredDevicesForUser`
740 * `MatrixClient.getStoredDevice`
741 * `MatrixClient.setDeviceVerified`
742 * `MatrixClient.setDeviceBlocked`
743 * `MatrixClient.setDeviceKnown`
744 * `MatrixClient.getEventSenderDeviceInfo`
745 * `MatrixClient.isEventSenderVerified`
746 * `MatrixClient.importRoomKeys`
747
748 Applications using the results of any of the above methods will need to be
749 updated to wait for the result of the promise.
750
751
7523. `MatrixClient.listDeviceKeys` has been removed altogether. It's been
753 deprecated for some time. Applications using it should instead be changed to
754 use `MatrixClient.getStoredDevices`, which is similar but returns its results
755 in a slightly different format.
756
757
758 * Make bits of `olmlib` asynchronous
759 [\#521](https://github.com/matrix-org/matrix-js-sdk/pull/521)
760 * Make some of DeviceList asynchronous
761 [\#520](https://github.com/matrix-org/matrix-js-sdk/pull/520)
762 * Make methods in crypto/algorithms async
763 [\#519](https://github.com/matrix-org/matrix-js-sdk/pull/519)
764 * Avoid sending unencrypted messages in e2e room
765 [\#518](https://github.com/matrix-org/matrix-js-sdk/pull/518)
766 * Make tests wait for syncs to happen
767 [\#517](https://github.com/matrix-org/matrix-js-sdk/pull/517)
768 * Make a load of methods in the 'Crypto' module asynchronous
769 [\#510](https://github.com/matrix-org/matrix-js-sdk/pull/510)
770 * Set `rawDisplayName` to `userId` if membership has `displayname=null`
771 [\#515](https://github.com/matrix-org/matrix-js-sdk/pull/515)
772 * Refactor handling of crypto events for async
773 [\#508](https://github.com/matrix-org/matrix-js-sdk/pull/508)
774 * Let event decryption be asynchronous
775 [\#509](https://github.com/matrix-org/matrix-js-sdk/pull/509)
776 * Transform `async` functions to bluebird promises
777 [\#511](https://github.com/matrix-org/matrix-js-sdk/pull/511)
778 * Add more group APIs
779 [\#512](https://github.com/matrix-org/matrix-js-sdk/pull/512)
780 * Retrying test: wait for localEchoUpdated event
781 [\#507](https://github.com/matrix-org/matrix-js-sdk/pull/507)
782 * Fix member events breaking on timeline reset, 2
783 [\#504](https://github.com/matrix-org/matrix-js-sdk/pull/504)
784 * Make bits of the js-sdk api asynchronous
785 [\#503](https://github.com/matrix-org/matrix-js-sdk/pull/503)
786 * Yet more js-sdk test deflakification
787 [\#499](https://github.com/matrix-org/matrix-js-sdk/pull/499)
788 * Fix racy 'matrixclient retrying' test
789 [\#497](https://github.com/matrix-org/matrix-js-sdk/pull/497)
790 * Fix spamming of key-share-requests
791 [\#495](https://github.com/matrix-org/matrix-js-sdk/pull/495)
792 * Add progress handler to `uploadContent`
793 [\#500](https://github.com/matrix-org/matrix-js-sdk/pull/500)
794 * Switch matrix-js-sdk to bluebird
795 [\#490](https://github.com/matrix-org/matrix-js-sdk/pull/490)
796 * Fix some more flakey tests
797 [\#492](https://github.com/matrix-org/matrix-js-sdk/pull/492)
798 * make the npm test script windows-friendly
799 [\#489](https://github.com/matrix-org/matrix-js-sdk/pull/489)
800 * Fix a bunch of races in the tests
801 [\#488](https://github.com/matrix-org/matrix-js-sdk/pull/488)
802 * Fix early return in MatrixClient.setGuestAccess
803 [\#487](https://github.com/matrix-org/matrix-js-sdk/pull/487)
804 * Remove testUtils.failTest
805 [\#486](https://github.com/matrix-org/matrix-js-sdk/pull/486)
806 * Add test:watch script
807 [\#485](https://github.com/matrix-org/matrix-js-sdk/pull/485)
808 * Make it possible to use async/await
809 [\#484](https://github.com/matrix-org/matrix-js-sdk/pull/484)
810 * Remove m.new_device support
811 [\#483](https://github.com/matrix-org/matrix-js-sdk/pull/483)
812 * Use access-token in header
813 [\#478](https://github.com/matrix-org/matrix-js-sdk/pull/478)
814 * Sanity-check response from /thirdparty/protocols
815 [\#482](https://github.com/matrix-org/matrix-js-sdk/pull/482)
816 * Avoid parsing plain-text errors as JSON
817 [\#479](https://github.com/matrix-org/matrix-js-sdk/pull/479)
818 * Use external mock-request
819 [\#481](https://github.com/matrix-org/matrix-js-sdk/pull/481)
820 * Fix some races in the tests
821 [\#480](https://github.com/matrix-org/matrix-js-sdk/pull/480)
822 * Fall back to MemoryCryptoStore if indexeddb fails
823 [\#475](https://github.com/matrix-org/matrix-js-sdk/pull/475)
824 * Fix load failure in firefox when indexedDB is disabled
825 [\#474](https://github.com/matrix-org/matrix-js-sdk/pull/474)
826 * Fix a race in a test
827 [\#471](https://github.com/matrix-org/matrix-js-sdk/pull/471)
828 * Avoid throwing an unhandled error when the indexeddb is deleted
829 [\#470](https://github.com/matrix-org/matrix-js-sdk/pull/470)
830 * fix jsdoc
831 [\#469](https://github.com/matrix-org/matrix-js-sdk/pull/469)
832 * Handle m.forwarded_room_key events
833 [\#468](https://github.com/matrix-org/matrix-js-sdk/pull/468)
834 * Improve error reporting from indexeddbstore.clearDatabase
835 [\#466](https://github.com/matrix-org/matrix-js-sdk/pull/466)
836 * Implement sharing of megolm keys
837 [\#454](https://github.com/matrix-org/matrix-js-sdk/pull/454)
838 * Process received room key requests
839 [\#449](https://github.com/matrix-org/matrix-js-sdk/pull/449)
840 * Send m.room_key_request events when we fail to decrypt an event
841 [\#448](https://github.com/matrix-org/matrix-js-sdk/pull/448)
842
843Changes in [0.7.13](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.13) (2017-06-22)
844==================================================================================================
845[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.12...v0.7.13)
846
847 * Fix failure on Tor browser
848 [\#473](https://github.com/matrix-org/matrix-js-sdk/pull/473)
849 * Fix issues with firefox private browsing
850 [\#472](https://github.com/matrix-org/matrix-js-sdk/pull/472)
851
852Changes in [0.7.12](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.12) (2017-06-19)
853==================================================================================================
854[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.12-rc.1...v0.7.12)
855
856 * No changes
857
858
859Changes in [0.7.12-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.12-rc.1) (2017-06-15)
860============================================================================================================
861[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.11...v0.7.12-rc.1)
862
863 * allow setting iceTransportPolicy to relay through forceTURN option
864 [\#462](https://github.com/matrix-org/matrix-js-sdk/pull/462)
865
866Changes in [0.7.11](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.11) (2017-06-12)
867==================================================================================================
868[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.11-rc.1...v0.7.11)
869
870 * Add a bunch of logging around sending messages
871 [\#460](https://github.com/matrix-org/matrix-js-sdk/pull/460)
872
873Changes in [0.7.11-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.11-rc.1) (2017-06-09)
874============================================================================================================
875[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.10...v0.7.11-rc.1)
876
877 * Make TimelineWindow.load resolve quicker if we have the events
878 [\#458](https://github.com/matrix-org/matrix-js-sdk/pull/458)
879 * Stop peeking when a matrix client is stopped
880 [\#451](https://github.com/matrix-org/matrix-js-sdk/pull/451)
881 * Update README: Clarify how to install libolm
882 [\#450](https://github.com/matrix-org/matrix-js-sdk/pull/450)
883
884Changes in [0.7.10](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.10) (2017-06-02)
885==================================================================================================
886[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.9...v0.7.10)
887
888 * BREAKING CHANGE: The SDK no longer ``require``s ``olm`` - instead it expects
889 libolm to be provided as an ``Olm`` global. This will only affect
890 applications which use end-to-end encryption. See the
891 [README](README.md#end-to-end-encryption-support) for details.
892
893 * indexeddb-crypto-store: fix db deletion
894 [\#447](https://github.com/matrix-org/matrix-js-sdk/pull/447)
895 * Load Olm from the global rather than requiring it.
896 [\#446](https://github.com/matrix-org/matrix-js-sdk/pull/446)
897
898Changes in [0.7.9](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.9) (2017-06-01)
899================================================================================================
900[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.8...v0.7.9)
901
902 * Initial framework for indexeddb-backed crypto store
903 [\#445](https://github.com/matrix-org/matrix-js-sdk/pull/445)
904 * Factor out reEmit to a common module
905 [\#444](https://github.com/matrix-org/matrix-js-sdk/pull/444)
906 * crypto/algorithms/base.js: Convert to es6
907 [\#443](https://github.com/matrix-org/matrix-js-sdk/pull/443)
908 * maySendRedactionForEvent for userId
909 [\#435](https://github.com/matrix-org/matrix-js-sdk/pull/435)
910 * MatrixClient: add getUserId()
911 [\#441](https://github.com/matrix-org/matrix-js-sdk/pull/441)
912 * Run jsdoc on a custom babeling of the source
913 [\#442](https://github.com/matrix-org/matrix-js-sdk/pull/442)
914 * Add in a public api getStoredDevice allowing clients to get a specific
915 device
916 [\#439](https://github.com/matrix-org/matrix-js-sdk/pull/439)
917
918Changes in [0.7.8](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.8) (2017-05-22)
919================================================================================================
920[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.8-rc.1...v0.7.8)
921
922 * No changes
923
924
925Changes in [0.7.8-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.8-rc.1) (2017-05-19)
926==========================================================================================================
927[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.7...v0.7.8-rc.1)
928
929 * Attempt to rework the release-tarball-signing stuff
930 [\#438](https://github.com/matrix-org/matrix-js-sdk/pull/438)
931 * ability to specify webrtc audio/video inputs for the lib to request
932 [\#427](https://github.com/matrix-org/matrix-js-sdk/pull/427)
933 * make screen sharing call FF friendly :D
934 [\#434](https://github.com/matrix-org/matrix-js-sdk/pull/434)
935 * Fix race in device list updates
936 [\#431](https://github.com/matrix-org/matrix-js-sdk/pull/431)
937 * WebRTC: Support recvonly for video for those without a webcam
938 [\#424](https://github.com/matrix-org/matrix-js-sdk/pull/424)
939 * Update istanbul to remove minimatch DoS Warning
940 [\#422](https://github.com/matrix-org/matrix-js-sdk/pull/422)
941 * webrtc/call: Make it much less likely that callIds collide locally
942 [\#423](https://github.com/matrix-org/matrix-js-sdk/pull/423)
943 * Automatically complete dummy auth
944 [\#420](https://github.com/matrix-org/matrix-js-sdk/pull/420)
945 * Don't leave the gh-pages branch checked out
946 [\#418](https://github.com/matrix-org/matrix-js-sdk/pull/418)
947
948Changes in [0.7.7](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.7) (2017-04-25)
949================================================================================================
950[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.7-rc.1...v0.7.7)
951
952 * No changes
953
954
955Changes in [0.7.7-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.7-rc.1) (2017-04-21)
956==========================================================================================================
957[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.6...v0.7.7-rc.1)
958
959 * Automatically complete dummy auth
960 [\#420](https://github.com/matrix-org/matrix-js-sdk/pull/420)
961
962
963Changes in [0.7.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.6) (2017-04-12)
964================================================================================================
965[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.6-rc.2...v0.7.6)
966
967 * No changes
968
969Changes in [0.7.6-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.6-rc.2) (2017-04-10)
970==========================================================================================================
971[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.6-rc.1...v0.7.6-rc.2)
972
973 * Add feature detection for webworkers
974 [\#416](https://github.com/matrix-org/matrix-js-sdk/pull/416)
975 * Fix release script
976 [\#415](https://github.com/matrix-org/matrix-js-sdk/pull/415)
977
978Changes in [0.7.6-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.6-rc.1) (2017-04-07)
979==========================================================================================================
980[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.5...v0.7.6-rc.1)
981
982 * Make indexeddb save after the first sync
983 [\#414](https://github.com/matrix-org/matrix-js-sdk/pull/414)
984 * Make indexeddb startup faster
985 [\#413](https://github.com/matrix-org/matrix-js-sdk/pull/413)
986 * Add ability to do indexeddb sync work in webworker
987 [\#412](https://github.com/matrix-org/matrix-js-sdk/pull/412)
988 * Move more functionality to the indexeddb backend
989 [\#409](https://github.com/matrix-org/matrix-js-sdk/pull/409)
990 * Indicate syncState ERROR after many failed /syncs
991 [\#410](https://github.com/matrix-org/matrix-js-sdk/pull/410)
992 * Further reorganising of indexeddb sync code
993 [\#407](https://github.com/matrix-org/matrix-js-sdk/pull/407)
994 * Change interface of IndexedDBStore: hide internals
995 [\#406](https://github.com/matrix-org/matrix-js-sdk/pull/406)
996 * Don't be SYNCING until updating from the server
997 [\#405](https://github.com/matrix-org/matrix-js-sdk/pull/405)
998 * Don't log the entire /sync response
999 [\#403](https://github.com/matrix-org/matrix-js-sdk/pull/403)
1000 * webrtc/call: Assign MediaStream to video element srcObject
1001 [\#402](https://github.com/matrix-org/matrix-js-sdk/pull/402)
1002 * Fix undefined reference in http-api
1003 [\#400](https://github.com/matrix-org/matrix-js-sdk/pull/400)
1004 * Add copyright header to event-timeline.js
1005 [\#382](https://github.com/matrix-org/matrix-js-sdk/pull/382)
1006 * client: fix docs for user-scoped account_data events
1007 [\#397](https://github.com/matrix-org/matrix-js-sdk/pull/397)
1008 * Add a CONTRIBUTING for js-sdk
1009 [\#399](https://github.com/matrix-org/matrix-js-sdk/pull/399)
1010 * Fix leaking room state objects on limited sync responses
1011 [\#395](https://github.com/matrix-org/matrix-js-sdk/pull/395)
1012 * Extend 'ignoreFailure' to be 'background'
1013 [\#396](https://github.com/matrix-org/matrix-js-sdk/pull/396)
1014 * Add x_show_msisdn parameter to register calls
1015 [\#388](https://github.com/matrix-org/matrix-js-sdk/pull/388)
1016 * Update event redaction to keep sender and origin_server_ts
1017 [\#394](https://github.com/matrix-org/matrix-js-sdk/pull/394)
1018 * Handle 'limited' timeline responses in the SyncAccumulator
1019 [\#393](https://github.com/matrix-org/matrix-js-sdk/pull/393)
1020 * Give a better error message if the HS doesn't support msisdn registeration
1021 [\#391](https://github.com/matrix-org/matrix-js-sdk/pull/391)
1022 * Add getEmailSid
1023 [\#383](https://github.com/matrix-org/matrix-js-sdk/pull/383)
1024 * Add m.login.email.identity support to UI auth
1025 [\#380](https://github.com/matrix-org/matrix-js-sdk/pull/380)
1026 * src/client.js: Fix incorrect roomId reference in VoIP glare code
1027 [\#381](https://github.com/matrix-org/matrix-js-sdk/pull/381)
1028 * add .editorconfig
1029 [\#379](https://github.com/matrix-org/matrix-js-sdk/pull/379)
1030 * Store account data in the same way as room data
1031 [\#377](https://github.com/matrix-org/matrix-js-sdk/pull/377)
1032 * Upload one-time keys on /sync rather than a timer
1033 [\#376](https://github.com/matrix-org/matrix-js-sdk/pull/376)
1034 * Increase the WRITE_DELAY on database syncing
1035 [\#374](https://github.com/matrix-org/matrix-js-sdk/pull/374)
1036 * Make deleteAllData() return a Promise
1037 [\#373](https://github.com/matrix-org/matrix-js-sdk/pull/373)
1038 * Don't include banned users in the room name
1039 [\#372](https://github.com/matrix-org/matrix-js-sdk/pull/372)
1040 * Support IndexedDB as a backing store
1041 [\#363](https://github.com/matrix-org/matrix-js-sdk/pull/363)
1042 * Poll /sync with a short timeout while catching up
1043 [\#370](https://github.com/matrix-org/matrix-js-sdk/pull/370)
1044 * Make test coverage work again
1045 [\#368](https://github.com/matrix-org/matrix-js-sdk/pull/368)
1046 * Add docs to event
1047 [\#367](https://github.com/matrix-org/matrix-js-sdk/pull/367)
1048 * Keep the device-sync token more up-to-date
1049 [\#366](https://github.com/matrix-org/matrix-js-sdk/pull/366)
1050 * Fix race conditions in device list download
1051 [\#365](https://github.com/matrix-org/matrix-js-sdk/pull/365)
1052 * Fix the unban method
1053 [\#364](https://github.com/matrix-org/matrix-js-sdk/pull/364)
1054 * Spread out device verification work
1055 [\#362](https://github.com/matrix-org/matrix-js-sdk/pull/362)
1056 * Clean up/improve e2e logging
1057 [\#361](https://github.com/matrix-org/matrix-js-sdk/pull/361)
1058 * Fix decryption of events whose key arrives later
1059 [\#360](https://github.com/matrix-org/matrix-js-sdk/pull/360)
1060 * Invalidate device lists when encryption is enabled in a room
1061 [\#359](https://github.com/matrix-org/matrix-js-sdk/pull/359)
1062 * Switch from jasmine to mocha + expect + lolex
1063 [\#358](https://github.com/matrix-org/matrix-js-sdk/pull/358)
1064 * Install source-map-support in each test
1065 [\#356](https://github.com/matrix-org/matrix-js-sdk/pull/356)
1066 * searchMessageText: avoid setting keys=undefined
1067 [\#357](https://github.com/matrix-org/matrix-js-sdk/pull/357)
1068 * realtime-callbacks: pass `global` as `this`
1069 [\#355](https://github.com/matrix-org/matrix-js-sdk/pull/355)
1070 * Make the tests work without olm
1071 [\#354](https://github.com/matrix-org/matrix-js-sdk/pull/354)
1072 * Tests: Factor out TestClient and use it in crypto tests
1073 [\#353](https://github.com/matrix-org/matrix-js-sdk/pull/353)
1074 * Fix some lint
1075 [\#352](https://github.com/matrix-org/matrix-js-sdk/pull/352)
1076 * Make a sig for source tarballs when releasing
1077 [\#351](https://github.com/matrix-org/matrix-js-sdk/pull/351)
1078 * When doing a pre-release, don't bother merging to master and develop.
1079 [\#350](https://github.com/matrix-org/matrix-js-sdk/pull/350)
1080
1081Changes in [0.7.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5) (2017-02-04)
1082================================================================================================
1083[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.5-rc.3...v0.7.5)
1084
1085No changes from 0.7.5-rc.3
1086
1087Changes in [0.7.5-rc.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5-rc.3) (2017-02-03)
1088==========================================================================================================
1089[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.5-rc.2...v0.7.5-rc.3)
1090
1091 * Include DeviceInfo in deviceVerificationChanged events
1092 [a3cc8eb](https://github.com/matrix-org/matrix-js-sdk/commit/a3cc8eb1f6d165576a342596f638316721cb26b6)
1093 * Fix device list update
1094 [5fd7410](https://github.com/matrix-org/matrix-js-sdk/commit/5fd74109ffc56b73deb40c2604d84c38b8032c40)
1095
1096
1097Changes in [0.7.5-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5-rc.2) (2017-02-03)
1098==========================================================================================================
1099[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.5-rc.1...v0.7.5-rc.2)
1100
1101 * Use the device change notifications interface
1102 [\#348](https://github.com/matrix-org/matrix-js-sdk/pull/348)
1103 * Rewrite the device key query logic
1104 [\#347](https://github.com/matrix-org/matrix-js-sdk/pull/347)
1105
1106Changes in [0.7.5-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5-rc.1) (2017-02-03)
1107==========================================================================================================
1108[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.4...v0.7.5-rc.1)
1109
1110 * Support for blacklisting unverified devices, both per-room and globally
1111 [\#336](https://github.com/matrix-org/matrix-js-sdk/pull/336)
1112 * track errors when events can't be sent
1113 [\#349](https://github.com/matrix-org/matrix-js-sdk/pull/349)
1114 * Factor out device list management
1115 [\#346](https://github.com/matrix-org/matrix-js-sdk/pull/346)
1116 * Support for warning users when unknown devices show up
1117 [\#335](https://github.com/matrix-org/matrix-js-sdk/pull/335)
1118 * Enable sourcemaps in browserified distro
1119 [\#345](https://github.com/matrix-org/matrix-js-sdk/pull/345)
1120 * Record all e2e room settings in localstorage
1121 [\#344](https://github.com/matrix-org/matrix-js-sdk/pull/344)
1122 * Make Olm work with browserified js-sdk
1123 [\#340](https://github.com/matrix-org/matrix-js-sdk/pull/340)
1124 * Make browserify a dev dependency
1125 [\#339](https://github.com/matrix-org/matrix-js-sdk/pull/339)
1126 * Allow single line brace-style
1127 [\#338](https://github.com/matrix-org/matrix-js-sdk/pull/338)
1128 * Turn on comma-dangle for function calls
1129 [\#333](https://github.com/matrix-org/matrix-js-sdk/pull/333)
1130 * Add prefer-const
1131 [\#331](https://github.com/matrix-org/matrix-js-sdk/pull/331)
1132 * Support for importing and exporting megolm sessions
1133 [\#326](https://github.com/matrix-org/matrix-js-sdk/pull/326)
1134 * Fix linting on all tests
1135 [\#329](https://github.com/matrix-org/matrix-js-sdk/pull/329)
1136 * Fix ESLint warnings and errors
1137 [\#325](https://github.com/matrix-org/matrix-js-sdk/pull/325)
1138 * BREAKING CHANGE: Remove WebStorageStore
1139 [\#324](https://github.com/matrix-org/matrix-js-sdk/pull/324)
1140
1141Changes in [0.7.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.4) (2017-01-16)
1142================================================================================================
1143[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.4-rc.1...v0.7.4)
1144
1145 * Fix non-conference calling
1146
1147Changes in [0.7.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.4-rc.1) (2017-01-13)
1148==========================================================================================================
1149[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.3...v0.7.4-rc.1)
1150
1151 * Remove babel-polyfill
1152 [\#321](https://github.com/matrix-org/matrix-js-sdk/pull/321)
1153 * Update build process for ES6
1154 [\#320](https://github.com/matrix-org/matrix-js-sdk/pull/320)
1155 * 'babel' is not a babel package anymore
1156 [\#319](https://github.com/matrix-org/matrix-js-sdk/pull/319)
1157 * Add Babel for ES6 support
1158 [\#318](https://github.com/matrix-org/matrix-js-sdk/pull/318)
1159 * Move screen sharing check/error
1160 [\#317](https://github.com/matrix-org/matrix-js-sdk/pull/317)
1161 * release.sh: Bail early if there are uncommitted changes
1162 [\#316](https://github.com/matrix-org/matrix-js-sdk/pull/316)
1163
1164Changes in [0.7.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.3) (2017-01-04)
1165================================================================================================
1166[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.2...v0.7.3)
1167
1168 * User presence list feature
1169 [\#310](https://github.com/matrix-org/matrix-js-sdk/pull/310)
1170 * Allow clients the ability to set a default local timeout
1171 [\#313](https://github.com/matrix-org/matrix-js-sdk/pull/313)
1172 * Add API to delete threepid
1173 [\#312](https://github.com/matrix-org/matrix-js-sdk/pull/312)
1174
1175Changes in [0.7.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.2) (2016-12-15)
1176================================================================================================
1177[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.1...v0.7.2)
1178
1179 * Bump to Olm 2.0
1180 [\#309](https://github.com/matrix-org/matrix-js-sdk/pull/309)
1181 * Sanity check payload length before encrypting
1182 [\#307](https://github.com/matrix-org/matrix-js-sdk/pull/307)
1183 * Remove dead _sendPingToDevice function
1184 [\#308](https://github.com/matrix-org/matrix-js-sdk/pull/308)
1185 * Add setRoomDirectoryVisibilityAppService
1186 [\#306](https://github.com/matrix-org/matrix-js-sdk/pull/306)
1187 * Update release script to do signed releases
1188 [\#305](https://github.com/matrix-org/matrix-js-sdk/pull/305)
1189 * e2e: Wait for pending device lists
1190 [\#304](https://github.com/matrix-org/matrix-js-sdk/pull/304)
1191 * Start a new megolm session when devices are blacklisted
1192 [\#303](https://github.com/matrix-org/matrix-js-sdk/pull/303)
1193 * E2E: Download our own devicelist on startup
1194 [\#302](https://github.com/matrix-org/matrix-js-sdk/pull/302)
1195
1196Changes in [0.7.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.1) (2016-12-09)
1197================================================================================================
1198[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.1-rc.1...v0.7.1)
1199
1200No changes
1201
1202
1203Changes in [0.7.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.1-rc.1) (2016-12-05)
1204==========================================================================================================
1205[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.0...v0.7.1-rc.1)
1206
1207 * Avoid NPE when no sessionStore is given
1208 [\#300](https://github.com/matrix-org/matrix-js-sdk/pull/300)
1209 * Improve decryption error messages
1210 [\#299](https://github.com/matrix-org/matrix-js-sdk/pull/299)
1211 * Revert "Use native Array.isArray when available."
1212 [\#283](https://github.com/matrix-org/matrix-js-sdk/pull/283)
1213 * Use native Array.isArray when available.
1214 [\#282](https://github.com/matrix-org/matrix-js-sdk/pull/282)
1215
1216Changes in [0.7.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.0) (2016-11-18)
1217================================================================================================
1218[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.4...v0.7.0)
1219
1220 * Avoid a packetstorm of device queries on startup
1221 [\#297](https://github.com/matrix-org/matrix-js-sdk/pull/297)
1222 * E2E: Check devices to share keys with on each send
1223 [\#295](https://github.com/matrix-org/matrix-js-sdk/pull/295)
1224 * Apply unknown-keyshare mitigations
1225 [\#296](https://github.com/matrix-org/matrix-js-sdk/pull/296)
1226 * distinguish unknown users from deviceless users
1227 [\#294](https://github.com/matrix-org/matrix-js-sdk/pull/294)
1228 * Allow starting client with initialSyncLimit = 0
1229 [\#293](https://github.com/matrix-org/matrix-js-sdk/pull/293)
1230 * Make timeline-window _unpaginate public and rename to unpaginate
1231 [\#289](https://github.com/matrix-org/matrix-js-sdk/pull/289)
1232 * Send a STOPPED sync updated after call to stopClient
1233 [\#286](https://github.com/matrix-org/matrix-js-sdk/pull/286)
1234 * Fix bug in verifying megolm event senders
1235 [\#292](https://github.com/matrix-org/matrix-js-sdk/pull/292)
1236 * Handle decryption of events after they arrive
1237 [\#288](https://github.com/matrix-org/matrix-js-sdk/pull/288)
1238 * Fix examples.
1239 [\#287](https://github.com/matrix-org/matrix-js-sdk/pull/287)
1240 * Add a travis.yml
1241 [\#278](https://github.com/matrix-org/matrix-js-sdk/pull/278)
1242 * Encrypt all events, including 'm.call.*'
1243 [\#277](https://github.com/matrix-org/matrix-js-sdk/pull/277)
1244 * Ignore reshares of known megolm sessions
1245 [\#276](https://github.com/matrix-org/matrix-js-sdk/pull/276)
1246 * Log to the console on unknown session
1247 [\#274](https://github.com/matrix-org/matrix-js-sdk/pull/274)
1248 * Make it easier for SDK users to wrap prevailing the 'request' function
1249 [\#273](https://github.com/matrix-org/matrix-js-sdk/pull/273)
1250
1251Changes in [0.6.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.4) (2016-11-04)
1252================================================================================================
1253[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.4-rc.2...v0.6.4)
1254
1255 * Change release script to pass version by environment variable
1256
1257
1258Changes in [0.6.4-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.4-rc.2) (2016-11-02)
1259==========================================================================================================
1260[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.4-rc.1...v0.6.4-rc.2)
1261
1262 * Add getRoomTags method to client
1263 [\#236](https://github.com/matrix-org/matrix-js-sdk/pull/236)
1264
1265Changes in [0.6.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.4-rc.1) (2016-11-02)
1266==========================================================================================================
1267[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.3...v0.6.4-rc.1)
1268
1269Breaking Changes
1270----------------
1271 * Bundled version of the JS SDK are no longer versioned along with
1272 source files in the dist/ directory. As of this release, they
1273 will be included in the release tarball, but not the source
1274 repository.
1275
1276Other Changes
1277-------------
1278 * More fixes to the release script
1279 [\#272](https://github.com/matrix-org/matrix-js-sdk/pull/272)
1280 * Update the release process to use github releases
1281 [\#271](https://github.com/matrix-org/matrix-js-sdk/pull/271)
1282 * Don't package the world when we release
1283 [\#270](https://github.com/matrix-org/matrix-js-sdk/pull/270)
1284 * Add ability to set a filter prior to the first /sync
1285 [\#269](https://github.com/matrix-org/matrix-js-sdk/pull/269)
1286 * Sign one-time keys, and verify their signatures
1287 [\#243](https://github.com/matrix-org/matrix-js-sdk/pull/243)
1288 * Check for duplicate message indexes for group messages
1289 [\#241](https://github.com/matrix-org/matrix-js-sdk/pull/241)
1290 * Rotate megolm sessions
1291 [\#240](https://github.com/matrix-org/matrix-js-sdk/pull/240)
1292 * Check recipient and sender in Olm messages
1293 [\#239](https://github.com/matrix-org/matrix-js-sdk/pull/239)
1294 * Consistency checks for E2E device downloads
1295 [\#237](https://github.com/matrix-org/matrix-js-sdk/pull/237)
1296 * Support User-Interactive auth for delete device
1297 [\#235](https://github.com/matrix-org/matrix-js-sdk/pull/235)
1298 * Utility to help with interactive auth
1299 [\#234](https://github.com/matrix-org/matrix-js-sdk/pull/234)
1300 * Fix sync breaking when an invalid filterId is in localStorage
1301 [\#228](https://github.com/matrix-org/matrix-js-sdk/pull/228)
1302
1303Changes in [0.6.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.3) (2016-10-12)
1304================================================================================================
1305[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.2...v0.6.3)
1306
1307Breaking Changes
1308----------------
1309 * Add a 'RECONNECTING' state to the sync states. This is an additional state
1310 between 'SYNCING' and 'ERROR', so most clients should not notice.
1311
1312Other Changes
1313----------------
1314 * Fix params getting replaced on register calls
1315 [\#233](https://github.com/matrix-org/matrix-js-sdk/pull/233)
1316 * Fix potential 30s delay on reconnect
1317 [\#232](https://github.com/matrix-org/matrix-js-sdk/pull/232)
1318 * uploadContent: Attempt some consistency between browser and node
1319 [\#230](https://github.com/matrix-org/matrix-js-sdk/pull/230)
1320 * Fix error handling on uploadContent
1321 [\#229](https://github.com/matrix-org/matrix-js-sdk/pull/229)
1322 * Fix uploadContent for node.js
1323 [\#226](https://github.com/matrix-org/matrix-js-sdk/pull/226)
1324 * Don't emit ERROR until a keepalive poke fails
1325 [\#223](https://github.com/matrix-org/matrix-js-sdk/pull/223)
1326 * Function to get the fallback url for interactive auth
1327 [\#224](https://github.com/matrix-org/matrix-js-sdk/pull/224)
1328 * Revert "Handle the first /sync failure differently."
1329 [\#222](https://github.com/matrix-org/matrix-js-sdk/pull/222)
1330
1331Changes in [0.6.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.2) (2016-10-05)
1332================================================================================================
1333[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.1...v0.6.2)
1334
1335 * Check dependencies aren't on develop in release.sh
1336 [\#221](https://github.com/matrix-org/matrix-js-sdk/pull/221)
1337 * Fix checkTurnServers leak on logout
1338 [\#220](https://github.com/matrix-org/matrix-js-sdk/pull/220)
1339 * Fix leak of file upload objects
1340 [\#219](https://github.com/matrix-org/matrix-js-sdk/pull/219)
1341 * crypto: remove duplicate code
1342 [\#218](https://github.com/matrix-org/matrix-js-sdk/pull/218)
1343 * Add API for 3rd party location lookup
1344 [\#217](https://github.com/matrix-org/matrix-js-sdk/pull/217)
1345 * Handle the first /sync failure differently.
1346 [\#216](https://github.com/matrix-org/matrix-js-sdk/pull/216)
1347
1348Changes in [0.6.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.1) (2016-09-21)
1349================================================================================================
1350[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.0...v0.6.1)
1351
1352 * Fix the ed25519 key checking
1353 [\#215](https://github.com/matrix-org/matrix-js-sdk/pull/215)
1354 * Add MatrixClient.getEventSenderDeviceInfo()
1355 [\#214](https://github.com/matrix-org/matrix-js-sdk/pull/214)
1356
1357Changes in [0.6.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.0) (2016-09-21)
1358================================================================================================
1359[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.6...v0.6.0)
1360
1361 * Pull user device list on join
1362 [\#212](https://github.com/matrix-org/matrix-js-sdk/pull/212)
1363 * Fix sending of oh_hais on bad sessions
1364 [\#213](https://github.com/matrix-org/matrix-js-sdk/pull/213)
1365 * Support /publicRooms pagination
1366 [\#211](https://github.com/matrix-org/matrix-js-sdk/pull/211)
1367 * Update the olm library version to 1.3.0
1368 [\#205](https://github.com/matrix-org/matrix-js-sdk/pull/205)
1369 * Comment what the logic in uploadKeys does
1370 [\#209](https://github.com/matrix-org/matrix-js-sdk/pull/209)
1371 * Include keysProved and keysClaimed in the local echo for events we send.
1372 [\#210](https://github.com/matrix-org/matrix-js-sdk/pull/210)
1373 * Check if we need to upload new one-time keys every 10 minutes
1374 [\#208](https://github.com/matrix-org/matrix-js-sdk/pull/208)
1375 * Reset oneTimeKey to null on each loop iteration.
1376 [\#207](https://github.com/matrix-org/matrix-js-sdk/pull/207)
1377 * Add getKeysProved and getKeysClaimed methods to MatrixEvent.
1378 [\#206](https://github.com/matrix-org/matrix-js-sdk/pull/206)
1379 * Send a 'm.new_device' when we get a message for an unknown group session
1380 [\#204](https://github.com/matrix-org/matrix-js-sdk/pull/204)
1381 * Introduce EventTimelineSet, filtered timelines and global notif timeline.
1382 [\#196](https://github.com/matrix-org/matrix-js-sdk/pull/196)
1383 * Wrap the crypto event handlers in try/catch blocks
1384 [\#203](https://github.com/matrix-org/matrix-js-sdk/pull/203)
1385 * Show warnings on to-device decryption fail
1386 [\#202](https://github.com/matrix-org/matrix-js-sdk/pull/202)
1387 * s/Displayname/DisplayName/
1388 [\#201](https://github.com/matrix-org/matrix-js-sdk/pull/201)
1389 * OH HAI
1390 [\#200](https://github.com/matrix-org/matrix-js-sdk/pull/200)
1391 * Share the current ratchet with new members
1392 [\#199](https://github.com/matrix-org/matrix-js-sdk/pull/199)
1393 * Move crypto bits into a subdirectory
1394 [\#198](https://github.com/matrix-org/matrix-js-sdk/pull/198)
1395 * Refactor event handling in Crypto
1396 [\#197](https://github.com/matrix-org/matrix-js-sdk/pull/197)
1397 * Don't create Olm sessions proactively
1398 [\#195](https://github.com/matrix-org/matrix-js-sdk/pull/195)
1399 * Use to-device events for key sharing
1400 [\#194](https://github.com/matrix-org/matrix-js-sdk/pull/194)
1401 * README: callbacks deprecated
1402 [\#193](https://github.com/matrix-org/matrix-js-sdk/pull/193)
1403 * Fix sender verification for megolm messages
1404 [\#192](https://github.com/matrix-org/matrix-js-sdk/pull/192)
1405 * Use `ciphertext` instead of `body` in megolm events
1406 [\#191](https://github.com/matrix-org/matrix-js-sdk/pull/191)
1407 * Add debug methods to get the state of OlmSessions
1408 [\#189](https://github.com/matrix-org/matrix-js-sdk/pull/189)
1409 * MatrixClient.getStoredDevicesForUser
1410 [\#190](https://github.com/matrix-org/matrix-js-sdk/pull/190)
1411 * Olm-related cleanups
1412 [\#188](https://github.com/matrix-org/matrix-js-sdk/pull/188)
1413 * Update to fixed olmlib
1414 [\#187](https://github.com/matrix-org/matrix-js-sdk/pull/187)
1415 * always play audio out of the remoteAudioElement if it exists.
1416 [\#186](https://github.com/matrix-org/matrix-js-sdk/pull/186)
1417 * Fix exceptions where HTMLMediaElement loads and plays race
1418 [\#185](https://github.com/matrix-org/matrix-js-sdk/pull/185)
1419 * Reset megolm session when people join/leave the room
1420 [\#183](https://github.com/matrix-org/matrix-js-sdk/pull/183)
1421 * Fix exceptions when dealing with redactions
1422 [\#184](https://github.com/matrix-org/matrix-js-sdk/pull/184)
1423
1424Changes in [0.5.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.6) (2016-08-28)
1425================================================================================================
1426[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.5...v0.5.6)
1427
1428 * Put all of the megolm keys in one room message
1429 [\#182](https://github.com/matrix-org/matrix-js-sdk/pull/182)
1430 * Reinstate device blocking for simple Olm
1431 [\#181](https://github.com/matrix-org/matrix-js-sdk/pull/181)
1432 * support for unpacking megolm keys
1433 [\#180](https://github.com/matrix-org/matrix-js-sdk/pull/180)
1434 * Send out megolm keys when we start a megolm session
1435 [\#179](https://github.com/matrix-org/matrix-js-sdk/pull/179)
1436 * Change the result structure for ensureOlmSessionsForUsers
1437 [\#178](https://github.com/matrix-org/matrix-js-sdk/pull/178)
1438 * Factor out a function for doing olm encryption
1439 [\#177](https://github.com/matrix-org/matrix-js-sdk/pull/177)
1440 * Move DeviceInfo and DeviceVerification to separate module
1441 [\#175](https://github.com/matrix-org/matrix-js-sdk/pull/175)
1442 * Make encryption asynchronous
1443 [\#176](https://github.com/matrix-org/matrix-js-sdk/pull/176)
1444 * Added ability to set and get status_msg for presence.
1445 [\#167](https://github.com/matrix-org/matrix-js-sdk/pull/167)
1446 * Megolm: don't dereference nullable object
1447 [\#174](https://github.com/matrix-org/matrix-js-sdk/pull/174)
1448 * Implement megolm encryption/decryption
1449 [\#173](https://github.com/matrix-org/matrix-js-sdk/pull/173)
1450 * Update our push rules when they come down stream
1451 [\#170](https://github.com/matrix-org/matrix-js-sdk/pull/170)
1452 * Factor Olm encryption/decryption out to new classes
1453 [\#172](https://github.com/matrix-org/matrix-js-sdk/pull/172)
1454 * Make DeviceInfo more useful, and refactor crypto methods to use it
1455 [\#171](https://github.com/matrix-org/matrix-js-sdk/pull/171)
1456 * Move login and register methods into base-apis
1457 [\#169](https://github.com/matrix-org/matrix-js-sdk/pull/169)
1458 * Remove defaultDeviceDisplayName from MatrixClient options
1459 [\#168](https://github.com/matrix-org/matrix-js-sdk/pull/168)
1460
1461Changes in [0.5.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.5) (2016-08-11)
1462================================================================================================
1463[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.4...v0.5.5)
1464
1465 * Add room.getAliases() and room.getCanonicalAlias
1466 * Add API calls `/register/email/requestToken`, `/account/password/email/requestToken` and `/account/3pid/email/requestToken`
1467 * Add `User.currentlyActive` and `User.lastPresenceTs` events for changes in fields on the User object
1468 * Add `logout` and `deactivateAccount`
1469
1470 * Make sure we actually stop the sync loop on logout
1471 [\#166](https://github.com/matrix-org/matrix-js-sdk/pull/166)
1472 * Zero is a valid power level
1473 [\#164](https://github.com/matrix-org/matrix-js-sdk/pull/164)
1474 * Verify e2e keys on download
1475 [\#163](https://github.com/matrix-org/matrix-js-sdk/pull/163)
1476 * Factor crypto stuff out of MatrixClient
1477 [\#162](https://github.com/matrix-org/matrix-js-sdk/pull/162)
1478 * Refactor device key upload
1479 [\#161](https://github.com/matrix-org/matrix-js-sdk/pull/161)
1480 * Wrappers for devices API
1481 [\#158](https://github.com/matrix-org/matrix-js-sdk/pull/158)
1482 * Add deactivate account function
1483 [\#160](https://github.com/matrix-org/matrix-js-sdk/pull/160)
1484 * client.listDeviceKeys: Expose device display name
1485 [\#159](https://github.com/matrix-org/matrix-js-sdk/pull/159)
1486 * Add `logout`
1487 [\#157](https://github.com/matrix-org/matrix-js-sdk/pull/157)
1488 * Fix email registration
1489 [\#156](https://github.com/matrix-org/matrix-js-sdk/pull/156)
1490 * Factor out MatrixClient methods to MatrixBaseApis
1491 [\#155](https://github.com/matrix-org/matrix-js-sdk/pull/155)
1492 * Fix some broken tests
1493 [\#154](https://github.com/matrix-org/matrix-js-sdk/pull/154)
1494 * make jenkins fail the build if the tests fail
1495 [\#153](https://github.com/matrix-org/matrix-js-sdk/pull/153)
1496 * deviceId-related fixes
1497 [\#152](https://github.com/matrix-org/matrix-js-sdk/pull/152)
1498 * /login, /register: Add device_id and initial_device_display_name
1499 [\#151](https://github.com/matrix-org/matrix-js-sdk/pull/151)
1500 * Support global account_data
1501 [\#150](https://github.com/matrix-org/matrix-js-sdk/pull/150)
1502 * Add more events to User
1503 [\#149](https://github.com/matrix-org/matrix-js-sdk/pull/149)
1504 * Add API calls for other requestToken endpoints
1505 [\#148](https://github.com/matrix-org/matrix-js-sdk/pull/148)
1506 * Add register-specific request token endpoint
1507 [\#147](https://github.com/matrix-org/matrix-js-sdk/pull/147)
1508 * Set a valid SPDX license identifier in package.json
1509 [\#139](https://github.com/matrix-org/matrix-js-sdk/pull/139)
1510 * Configure encryption on m.room.encryption events
1511 [\#145](https://github.com/matrix-org/matrix-js-sdk/pull/145)
1512 * Implement device blocking
1513 [\#146](https://github.com/matrix-org/matrix-js-sdk/pull/146)
1514 * Clearer doc for setRoomDirectoryVisibility
1515 [\#144](https://github.com/matrix-org/matrix-js-sdk/pull/144)
1516 * crypto: use memberlist to derive recipient list
1517 [\#143](https://github.com/matrix-org/matrix-js-sdk/pull/143)
1518 * Support for marking devices as unverified
1519 [\#142](https://github.com/matrix-org/matrix-js-sdk/pull/142)
1520 * Add Olm as an optionalDependency
1521 [\#141](https://github.com/matrix-org/matrix-js-sdk/pull/141)
1522 * Add room.getAliases() and room.getCanonicalAlias()
1523 [\#140](https://github.com/matrix-org/matrix-js-sdk/pull/140)
1524 * Change how MatrixEvent manages encrypted events
1525 [\#138](https://github.com/matrix-org/matrix-js-sdk/pull/138)
1526 * Catch exceptions when encrypting events
1527 [\#137](https://github.com/matrix-org/matrix-js-sdk/pull/137)
1528 * Support for marking devices as verified
1529 [\#136](https://github.com/matrix-org/matrix-js-sdk/pull/136)
1530 * Various matrix-client refactorings and fixes
1531 [\#134](https://github.com/matrix-org/matrix-js-sdk/pull/134)
1532
1533Changes in [0.5.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.4) (2016-06-02)
1534================================================================================================
1535[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.3...v0.5.4)
1536
1537 * Correct fix for https://github.com/vector-im/vector-web/issues/1039
1538 * Make release.sh work on OSX
1539
1540
1541Changes in [0.5.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.3) (2016-06-02)
1542================================================================================================
1543[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.2...v0.5.3)
1544
1545 * Add support for the openid interface
1546 [\#133](https://github.com/matrix-org/matrix-js-sdk/pull/133)
1547 * Bugfix for HTTP upload content when running on node
1548 [\#129](https://github.com/matrix-org/matrix-js-sdk/pull/129)
1549 * Ignore missing profile (displayname and avatar_url) fields on
1550 presence events, rather than overwriting existing valid profile
1551 data from membership events or elsewhere.
1552 Fixes https://github.com/vector-im/vector-web/issues/1039
1553
1554Changes in [0.5.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.2) (2016-04-19)
1555================================================================================================
1556[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.1...v0.5.2)
1557
1558 * Track the absolute time that presence events are received, so that the
1559 relative lastActiveAgo value is meaningful.
1560 [\#128](https://github.com/matrix-org/matrix-js-sdk/pull/128)
1561 * Refactor the addition of events to rooms
1562 [\#127](https://github.com/matrix-org/matrix-js-sdk/pull/127)
1563 * Clean up test shutdown
1564 [\#126](https://github.com/matrix-org/matrix-js-sdk/pull/126)
1565 * Add methods to get (and set) pushers
1566 [\#125](https://github.com/matrix-org/matrix-js-sdk/pull/125)
1567 * URL previewing support
1568 [\#122](https://github.com/matrix-org/matrix-js-sdk/pull/122)
1569 * Avoid paginating forever in private rooms
1570 [\#124](https://github.com/matrix-org/matrix-js-sdk/pull/124)
1571 * Fix a bug where we recreated sync filters
1572 [\#123](https://github.com/matrix-org/matrix-js-sdk/pull/123)
1573 * Implement HTTP timeouts in realtime
1574 [\#121](https://github.com/matrix-org/matrix-js-sdk/pull/121)
1575
1576Changes in [0.5.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.1) (2016-03-30)
1577================================================================================================
1578[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.0...v0.5.1)
1579
1580 * Only count joined members for the member count in notifications.
1581 [\#119](https://github.com/matrix-org/matrix-js-sdk/pull/119)
1582 * Add maySendEvent to match maySendStateEvent
1583 [\#118](https://github.com/matrix-org/matrix-js-sdk/pull/118)
1584
1585Changes in [0.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.0) (2016-03-22)
1586================================================================================================
1587[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.4.2...v0.5.0)
1588
1589**BREAKING CHANGES**:
1590 * `opts.pendingEventOrdering`==`end` is no longer supported in the arguments to
1591 `MatrixClient.startClient()`. Instead we provide a `detached` option, which
1592 puts pending events into a completely separate list in the Room, accessible
1593 via `Room.getPendingEvents()`.
1594 [\#111](https://github.com/matrix-org/matrix-js-sdk/pull/111)
1595
1596Other improvements:
1597 * Log the stack when we get a sync error
1598 [\#109](https://github.com/matrix-org/matrix-js-sdk/pull/109)
1599 * Refactor transmitted-messages code
1600 [\#110](https://github.com/matrix-org/matrix-js-sdk/pull/110)
1601 * Add a method to the js sdk to look up 3pids on the ID server.
1602 [\#113](https://github.com/matrix-org/matrix-js-sdk/pull/113)
1603 * Support for cancelling pending events
1604 [\#112](https://github.com/matrix-org/matrix-js-sdk/pull/112)
1605 * API to stop peeking
1606 [\#114](https://github.com/matrix-org/matrix-js-sdk/pull/114)
1607 * update store user metadata based on membership events rather than presence
1608 [\#116](https://github.com/matrix-org/matrix-js-sdk/pull/116)
1609 * Include a counter in generated transaction IDs
1610 [\#115](https://github.com/matrix-org/matrix-js-sdk/pull/115)
1611 * get/setRoomVisibility API
1612 [\#117](https://github.com/matrix-org/matrix-js-sdk/pull/117)
1613
1614Changes in [0.4.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.4.2) (2016-03-17)
1615================================================================================================
1616[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.4.1...v0.4.2)
1617
1618 * Try again if a pagination request gives us no new messages
1619 [\#98](https://github.com/matrix-org/matrix-js-sdk/pull/98)
1620 * Add a delay before we start polling the connectivity check endpoint
1621 [\#99](https://github.com/matrix-org/matrix-js-sdk/pull/99)
1622 * Clean up a codepath that was only used for crypto messages
1623 [\#101](https://github.com/matrix-org/matrix-js-sdk/pull/101)
1624 * Add maySendStateEvent method, ported from react-sdk (but fixed).
1625 [\#94](https://github.com/matrix-org/matrix-js-sdk/pull/94)
1626 * Add Session.logged_out event
1627 [\#100](https://github.com/matrix-org/matrix-js-sdk/pull/100)
1628 * make presence work when peeking.
1629 [\#103](https://github.com/matrix-org/matrix-js-sdk/pull/103)
1630 * Add RoomState.mayClientSendStateEvent()
1631 [\#104](https://github.com/matrix-org/matrix-js-sdk/pull/104)
1632 * Fix displaynames for member join events
1633 [\#108](https://github.com/matrix-org/matrix-js-sdk/pull/108)
1634
1635Changes in 0.4.1
1636================
1637
1638Improvements:
1639 * Check that `/sync` filters are correct before reusing them, and recreate
1640 them if not (https://github.com/matrix-org/matrix-js-sdk/pull/85).
1641 * Fire a `Room.timelineReset` event when a room's timeline is reset by a gappy
1642 `/sync` (https://github.com/matrix-org/matrix-js-sdk/pull/87,
1643 https://github.com/matrix-org/matrix-js-sdk/pull/93).
1644 * Make `TimelineWindow.load()` faster in the simple case of loading the live
1645 timeline (https://github.com/matrix-org/matrix-js-sdk/pull/88).
1646 * Update room-name calculation code to use the name of the sender of the
1647 invite when invited to a room
1648 (https://github.com/matrix-org/matrix-js-sdk/pull/89).
1649 * Don't reset the timeline when we join a room after peeking into it
1650 (https://github.com/matrix-org/matrix-js-sdk/pull/91).
1651 * Fire `Room.localEchoUpdated` events as local echoes progress through their
1652 transmission process (https://github.com/matrix-org/matrix-js-sdk/pull/95,
1653 https://github.com/matrix-org/matrix-js-sdk/pull/97).
1654 * Avoid getting stuck in a pagination loop when the server sends us only
1655 messages we've already seen
1656 (https://github.com/matrix-org/matrix-js-sdk/pull/96).
1657
1658New methods:
1659 * Add `MatrixClient.setPushRuleActions` to set the actions for a push
1660 notification rule (https://github.com/matrix-org/matrix-js-sdk/pull/90)
1661 * Add `RoomState.maySendStateEvent` which determines if a given user has
1662 permission to send a state event
1663 (https://github.com/matrix-org/matrix-js-sdk/pull/94)
1664
1665Changes in 0.4.0
1666================
1667
1668**BREAKING CHANGES**:
1669 * `RoomMember.getAvatarUrl()` and `MatrixClient.mxcUrlToHttp()` now return the
1670 empty string when given anything other than an mxc:// URL. This ensures that
1671 clients never inadvertantly reference content directly, leaking information
1672 to third party servers. The `allowDirectLinks` option is provided if the client
1673 wants to allow such links.
1674 * Add a 'bindEmail' option to register()
1675
1676Improvements:
1677 * Support third party invites
1678 * More appropriate naming for third party invite rooms
1679 * Poll the 'versions' endpoint to re-establish connectivity
1680 * Catch exceptions when syncing
1681 * Room tag support
1682 * Generate implicit read receipts
1683 * Support CAS login
1684 * Guest access support
1685 * Never return non-mxc URLs by default
1686 * Ability to cancel file uploads
1687 * Use the Matrix C/S API v2 with r0 prefix
1688 * Account data support
1689 * Support non-contiguous event timelines
1690 * Support new unread counts
1691 * Local echo for read-receipts
1692
1693
1694New methods:
1695 * Add method to fetch URLs not on the home or identity server
1696 * Method to get the last receipt for a user
1697 * Method to get all known users
1698 * Method to delete an alias
1699
1700
1701Changes in 0.3.0
1702================
1703
1704 * `MatrixClient.getAvatarUrlForMember` has been removed and replaced with
1705 `RoomMember.getAvatarUrl`. Arguments remain the same except the homeserver
1706 URL must now be supplied from `MatrixClient.getHomeserverUrl()`.
1707
1708 ```javascript
1709 // before
1710 var url = client.getAvatarUrlForMember(member, width, height, resize, allowDefault)
1711 // after
1712 var url = member.getAvatarUrl(client.getHomeserverUrl(), width, height, resize, allowDefault)
1713 ```
1714 * `MatrixClient.getAvatarUrlForRoom` has been removed and replaced with
1715 `Room.getAvatarUrl`. Arguments remain the same except the homeserver
1716 URL must now be supplied from `MatrixClient.getHomeserverUrl()`.
1717
1718 ```javascript
1719 // before
1720 var url = client.getAvatarUrlForRoom(room, width, height, resize, allowDefault)
1721 // after
1722 var url = room.getAvatarUrl(client.getHomeserverUrl(), width, height, resize, allowDefault)
1723 ```
1724
1725 * `s/Room.getMembersWithMemership/Room.getMembersWithMem`b`ership/g`
1726
1727New methods:
1728 * Added support for sending receipts via
1729 `MatrixClient.sendReceipt(event, receiptType, callback)` and
1730 `MatrixClient.sendReadReceipt(event, callback)`.
1731 * Added support for receiving receipts via
1732 `Room.getReceiptsForEvent(event)` and `Room.getUsersReadUpTo(event)`. Receipts
1733 can be directly added to a `Room` using `Room.addReceipt(event)` though the
1734 `MatrixClient` does this for you.
1735 * Added support for muting local video and audio via the new methods
1736 `MatrixCall.setMicrophoneMuted()`, `MatrixCall.isMicrophoneMuted(muted)`,
1737 `MatrixCall.isLocalVideoMuted()` and `Matrix.setLocalVideoMuted(muted)`.
1738 * Added **experimental** support for screen-sharing in Chrome via
1739 `MatrixCall.placeScreenSharingCall(remoteVideoElement, localVideoElement)`.
1740 * Added ability to perform server-side searches using
1741 `MatrixClient.searchMessageText(opts)` and `MatrixClient.search(opts)`.
1742
1743Improvements:
1744 * Improve the performance of initial sync processing from `O(n^2)` to `O(n)`.
1745 * `Room.name` will now take into account `m.room.canonical_alias` events.
1746 * `MatrixClient.startClient` now takes an Object `opts` rather than a Number in
1747 a backwards-compatible way. This `opts` allows syncing configuration options
1748 to be specified including `includeArchivedRooms` and `resolveInvitesToProfiles`.
1749 * `Room` objects which represent room invitations will now have state populated
1750 from `invite_room_state` if it is included in the `m.room.member` event.
1751 * `Room.getAvatarUrl` will now take into account `m.room.avatar` events.
1752
1753Changes in 0.2.2
1754================
1755
1756Bug fixes:
1757 * Null pointer fixes for VoIP calling and push notification processing.
1758 * Set the `Content-Type` to `application/octet-stream` in the event that the
1759 file object has no `type`.
1760
1761New methods:
1762 * Added `MatrixClient.getCasServer()` which calls through to the HTTP endpoint
1763 `/login/cas`.
1764 * Added `MatrixClient.loginWithCas(ticket, service)` which logs in with the
1765 type `m.login.cas`.
1766 * Added `MatrixClient.getHomeserverUrl()` which returns the URL passed in the
1767 constructor.
1768 * Added `MatrixClient.getIdentityServerUrl()` which returns the URL passed in
1769 the constructor.
1770 * Added `getLastModifiedTime()` to `RoomMember`, `RoomState` and `User` objects.
1771 This makes it easier to see if the object in question has changed, which can
1772 be used to improve performance by only rendering when these objects change.
1773
1774Changes in 0.2.1
1775================
1776
1777**BREAKING CHANGES**
1778 * `MatrixClient.joinRoom` has changed from `(roomIdOrAlias, callback)` to
1779 `(roomIdOrAlias, opts, callback)`.
1780
1781Bug fixes:
1782 * The `Content-Type` of file uploads is now explicitly set, without relying
1783 on the browser to do it for us.
1784
1785Improvements:
1786 * The `MatrixScheduler.RETRY_BACKOFF_RATELIMIT` function will not retry when
1787 the response is a 400,401,403.
1788 * The text returned from a room invite now includes who the invite was from.
1789 * There is now a try/catch block around the `request` function which will
1790 reject/errback appropriately if an exception is thrown synchronously in it.
1791
1792New methods:
1793 * `MatrixClient.createAlias(alias, roomId)`
1794 * `MatrixClient.getRoomIdForAlias(alias)`
1795 * `MatrixClient.sendNotice(roomId, body, txnId, callback)`
1796 * `MatrixClient.sendHtmlNotice(roomId, body, htmlBody, callback)`
1797
1798Modified methods:
1799 * `MatrixClient.joinRoom(roomIdOrAlias, opts)` where `opts` can include a
1800 `syncRoom: true|false` flag to control whether a room initial sync is
1801 performed after joining the room.
1802 * `MatrixClient.getAvatarUrlForMember` has a new last arg `allowDefault` which
1803 returns the default identicon URL if `true`.
1804 * `MatrixClient.getAvatarUrlForRoom` has a new last arg `allowDefault` which
1805 is passed through to the default identicon generation for
1806 `getAvatarUrlForMember`.
1807
1808
1809Changes in 0.2.0
1810================
1811
1812**BREAKING CHANGES**:
1813 * `MatrixClient.setPowerLevel` now expects a `MatrixEvent` and not an `Object`
1814 for the `event` parameter.
1815
1816New features:
1817 * Added `EventStatus.QUEUED` which is set on an event when it is waiting to be
1818 sent by the scheduler and there are other events in front.
1819 * Added support for processing push rules on an event. This can be obtained by
1820 calling `MatrixClient.getPushActionsForEvent(event)`.
1821 * Added WebRTC support. Outbound calls can be made via
1822 `call = global.createNewMatrixCall(MatrixClient, roomId)` followed by
1823 `call.placeVoiceCall()` or `call.placeVideoCall(remoteEle, localEle)`.
1824 Inbound calls will be received via the event `"Call.incoming"` which provides
1825 a call object which can be followed with `call.answer()` or `call.hangup()`.
1826 * Added the ability to upload files to the media repository.
1827 * Added the ability to change the client's password.
1828 * Added the ability to register with an email via an identity server.
1829 * Handle presence events by updating the associated `User` object.
1830 * Handle redaction events.
1831 * Added infrastructure for supporting End-to-End encryption. E2E is *NOT*
1832 available in this version.
1833
1834New methods:
1835 * `MatrixClient.getUser(userId)`
1836 * `MatrixClient.getPushActionsForEvent(event)`
1837 * `MatrixClient.setPassword(auth, newPassword)`
1838 * `MatrixClient.loginWithSAML2(relayState, callback)`
1839 * `MatrixClient.getAvatarUrlForMember(member, w, h, method)`
1840 * `MatrixClient.mxcUrlToHttp(url, w, h, method)`
1841 * `MatrixClient.getAvatarUrlForRoom(room, w, h, method)`
1842 * `MatrixClient.uploadContent(file, callback)`
1843 * `Room.getMembersWithMembership(membership)`
1844 * `MatrixScheduler.getQueueForEvent(event)`
1845 * `MatrixScheduler.removeEventFromQueue(event)`
1846 * `$DATA_STORE.setSyncToken(token)`
1847 * `$DATA_STORE.getSyncToken()`
1848
1849Crypto infrastructure (crypto is *NOT* available in this version):
1850 * `global.CRYPTO_ENABLED`
1851 * `MatrixClient.isCryptoEnabled()`
1852 * `MatrixClient.uploadKeys(maxKeys)`
1853 * `MatrixClient.downloadKeys(userIds, forceDownload)`
1854 * `MatrixClient.listDeviceKeys(userId)`
1855 * `MatrixClient.setRoomEncryption(roomId, config)`
1856 * `MatrixClient.isRoomEncrypted(roomId)`
1857
1858New classes:
1859 * `MatrixCall`
1860 * `WebStorageStore` - *WIP; unstable*
1861 * `WebStorageSessionStore` - *WIP; unstable*
1862
1863Bug fixes:
1864 * Member name bugfix: Fixed an issue which prevented `RoomMember.name` being
1865 disambiguated if there was exactly 1 other person with the same display name.
1866 * Member name bugfix: Disambiguate both clashing display names with user IDs in
1867 the event of a clash.
1868 * Room state bugfix: Fixed a bug which incorrectly overwrote power levels
1869 locally for a room.
1870 * Room name bugfix: Ignore users who have left the room when determining a room
1871 name.
1872 * Events bugfix: Fixed a bug which prevented the `sender` and `target`
1873 properties from being set.
1874
1875Changes in 0.1.1
1876================
1877
1878**BREAKING CHANGES**:
1879 * `Room.calculateRoomName` is now private. Use `Room.recalculate` instead, and
1880 access the calculated name via `Room.name`.
1881 * `new MatrixClient(...)` no longer creates a `MatrixInMemoryStore` if
1882 `opts.store` is not specified. Instead, the `createClient` global function
1883 creates it and passes it to the constructor. This change will not affect
1884 users who have always used `createClient` to create a `MatrixClient`.
1885 * `"Room"` events will now be emitted when the Room has *finished* being
1886 populated with state rather than at the moment of creation. This will fire
1887 when the SDK encounters a room it doesn't know about (just arrived from the
1888 event stream; e.g. a room invite) and will also fire after syncing room
1889 state (e.g. after calling joinRoom).
1890 * `MatrixClient.joinRoom` now returns a `Room` object when resolved, not an
1891 object with a `room_id` property.
1892 * `MatrixClient.scrollback` now expects a `Room` arg instead of a `room_id`
1893 and `from` token. Construct a `new Room(roomId)` if you want to continue
1894 using this directly, then set the pagination token using
1895 `room.oldState.paginationToken = from`. It now resolves to a `Room` object
1896 instead of the raw HTTP response.
1897
1898New properties:
1899 * `User.events`
1900 * `RoomMember.events`
1901
1902New methods:
1903 * `Room.hasMembershipState(userId, membership)`
1904 * `MatrixClient.resendEvent(event, room)`
1905
1906New features:
1907 * Local echo. When you send an event using the SDK it will immediately be
1908 added to `Room.timeline` with the `event.status` of `EventStatus.SENDING`.
1909 When the event is finally sent, this status will be removed.
1910 * Not sent status. When an event fails to send using the SDK, it will have the
1911 `event.status` of `EventStatus.NOT_SENT`.
1912 * Retries. If events fail to send, they will be automatically retried.
1913 * Manual resending. Events which failed to send can be passed to
1914 `MatrixClient.resendEvent(event, room)` to resend them.
1915 * Queueing. Messages sent in quick succession will be queued to preserve the
1916 order in which they were submitted.
1917 * Room state is automatcally synchronised when joining a room (including if
1918 another device joins a room).
1919 * Scrollback. You can request earlier events in a room using
1920 `MatrixClient.scrollback(room, limit, callback)`.
1921
1922Bug fixes:
1923 * Fixed a bug which prevented the event stream from polling. Some devices will
1924 black hole requests when they hibernate, meaning that the callbacks will
1925 never fire. We now maintain a local timer to forcibly restart the request.
1926
\No newline at end of file