forked from coasys/ad4m
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
474 lines (316 loc) · 22.5 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
# Changelog
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
This project _loosely_ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). More specifically:
## unreleased
### Added
- Add ability to get and add Holochain agent infos through launcher [PR#463](https://github.com/coasys/ad4m/pull/463)
- Added new packages that provide reusable hooks for `react` & `vue` to interact with ad4m `ad4m-react-hooks` & `ad4m-vue-hooks`. Also updated docs for the hooks [PR#450](https://github.com/coasys/ad4m/pull/450)
- Hard-wired Hosted ad4m client `AgentInfo` in the executor. [PR#453](https://github.com/coasys/ad4m/pull/453)
- Added ability to handle multiple agents in launcher. [PR#459](https://github.com/coasys/ad4m/pull/459)
- Added a way to show & add new `AgentInfo` in launcher. [PR#463](https://github.com/coasys/ad4m/pull/463)
- `ad4m-executor` binary prints capability request challange to stdout to enable app hand-shake [PR#471](https://github.com/coasys/ad4m/pull/471)
### Changed
- Much improved ADAM Launcher setup flow [PR#440](https://github.com/coasys/ad4m/pull/440) and [PR#444](https://github.com/coasys/ad4m/pull/444):
- Added back window decorations to splashscreen to not stay in the users way
- Separate mandatory password input from optional profile fields and start agent generation early
- Show popup making the user aware of the system tray icon
- Fixed JScore service in rust crashing on windows
- Update Holochain to 0.3.0-beta-dev.35 [PR#443](https://github.com/coasys/ad4m/pull/443)
- Improve readability of logs [PR#443](https://github.com/coasys/ad4m/pull/443)
- Update Holochain to 0.3.0-beta-dev.37 [PR#449](https://github.com/coasys/ad4m/pull/449)
- Update cli to correctly show `AgentInfo` in base64 encoded format & add. Also removes the use of jscore for getting the `AgentInfo` [PR#451](https://github.com/coasys/ad4m/pull/451)
- Expression signing & verification migrated to Rust. [PR#452](https://github.com/coasys/ad4m/pull/452)
- SDNA imporvements [PR#457](https://github.com/coasys/ad4m/pull/457):
- Change SDNA Decorator names to PascalCase
- Add validation for decorators.
- Improved Docs for sdna & subject classes.
- Added typedoc for decorators.
- Split `ad4m` binary into two seperate binaries `ad4m` which is client & `ad4m-executor` to spawn your executor. [PR#464](https://github.com/coasys/ad4m/pull/464)
- Updated all cargo dependency to use crates.io package instead of github. [PR#465](https://github.com/coasys/ad4m/pull/465)
### Deprecated
### Removed
- Removed holochain toggle from Login page in launcher. [PR#467](https://github.com/coasys/ad4m/pull/467)
### Fixed
- Fix ADAM proxy [PR#442](https://github.com/coasys/ad4m/pull/442) and [PR#446](https://github.com/coasys/ad4m/pull/446)
- Fixed `p-diff-sync` language to use correct function name `send_remote_signal` instead of `recv_send_remote_signal ` [PR#454](https://github.com/coasys/ad4m/pull/454)
- SDNA imporvements [PR#457](https://github.com/coasys/ad4m/pull/457):
- Fixed value returns as undefined if the property was boolean and set to false in `SubjectEntity.
- Fixed links in docs.
- Fixed flaky integration tests [PR#462](https://github.com/coasys/ad4m/pull/462)
- Fixed `p-diff-sync`'s Deno incompatibilities [PR#471](https://github.com/coasys/ad4m/pull/471)
## [0.8.0] - 12/12/2023
### Added
- Toggle on startup to enable/disable Holochain [#425](https://github.com/coasys/ad4m/pull/425)
- New EAS Expression language (Ethereum Attestation Service) [#421](https://github.com/coasys/ad4m/pull/421)
- Simple SDNA Governance to ensure multiple SDNAS cannot be set in the same neighbourhood [#422](https://github.com/coasys/ad4m/pull/422)
- Ability to wipe agent on login incase password was forgotten [#420](https://github.com/coasys/ad4m/pull/420)
- Query method to SubjectEntity to enable pagination [#417](https://github.com/coasys/ad4m/pull/417)
- Added override option to ensureSDNASubjectClass [#417](https://github.com/coasys/ad4m/pull/417)
### Changed
- Used pnpm as main package manager for project [#421](https://github.com/coasys/ad4m/pull/421)
- Upgrade to Holochain 0.3.0-dev.27 [#427](https://github.com/coasys/ad4m/pull/428)
- Agent & File storage boostrap languages now use centralized backend by default [#430](https://github.com/coasys/ad4m/pull/430)
### Deprecated
### Removed
### Fixed
- DApp server now works and has functioning UI [#421](https://github.com/coasys/ad4m/pull/421)
- Reduced CPU consumption of AD4M by up to 90% [#433](https://github.com/coasys/ad4m/pull/433)
## [0.7.1] - 20/10/2023
### Added
### Changed
### Deprecated
### Removed
### Fixed
- Fix CI release workflows
## [0.7.0] - 20/10/2023
### Added
- Tauri auto updates (In app ad4m launcher updates) [#304](https://github.com/coasys/ad4m/pull/304)
- Two new Link Languages! Holochain + Socket Signaling & Pure Centralized implementation [#413](https://github.com/coasys/ad4m/pull/413)
- Pagination Predicate support into Prolog Engine
### Changed
- Update core Deno engine to latest version (and use Deno core node modules) [#410](https://github.com/coasys/ad4m/pull/410)
### Deprecated
### Removed
### Fixed
- Launcher not working in Windows [#410](https://github.com/coasys/ad4m/pull/410)
- Cargo caching on Linux CI [#410](https://github.com/coasys/ad4m/pull/410)
## [0.6.0] - 22/09/2023
### Added
- Rust runtime which runs a GraphQL server (warp & juniper based), Deno runtime, Scryer prolog engine & Holochain. Rust runtime now used as the main logic for ADAM and loads old JS code where needed, giving migration path to full Rust.
- Entanglement proof logic to ADAM to allow linking of ADAM DID's, Holochain Keys & Blockchain wallets
- Ability to update ADAM Layer via the Launcher
- MacOS signing in CD
- Ability to create paginated queries directly to prolog engine
### Changed
- Updated Holochain to 0.2.2
- Updated Tauri to latest version 1.4.1
- All seperate ADAM Layer services now run on seperate thread pools
- ADAM Rust CLI can now init and run an agent
- ADAM Rust CLI command line arguments for init and run refactor to be much cleaner
- Each Perspective now has its own independant Scryer Prolog thread
- Whole ADAM Layer package now runs from a single binary; either ADAM CLI or ADAM Launcher
- ADAM Languages now expected to be Deno compatible modules; not old ESM node JS
- JS executor now builds to be a Deno bundle to be consumed by rust-executor
### Deprecated
### Removed
- SWIPL Prolog
- No longer used a node library to parse results coming in and out of a prolog engine
- AD4M Host
- GraphQL server from JS code
- Agent key methods from JS code
- Independant Holochain, HC & Lair-keystore binaries
### Fixed
- Slow launcher start
- Very high CPU usage from ADAM and its related services
- No longer reconnection issues after sleeping computer or closing ADAM app instances
## [0.5.1] - 25/07/2023
### Added
- After login / registration the launcher will now open by default [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- If the user has no installed applications, we now show some info about connecting apps to AD4M and a link to Flux [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- Holochain DHT status logs every 60 seconds [PR#277](https://github.com/perspect3vism/ad4m/pull/277)
- ad4m-connect connection settings gives you the option of connecting to local or remote [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- Convience overloads for telepresence functions: `setOnlineStatusU`, `sendSignalU`, `sendBroadcastU` in `NeighbourhoodProxy`, which take new type `PerspectiveUnsignedInput` as argument. This enables sending signed signals without having to create temporary perspectives. These functions sign the whole perspective including links. [PR#296](https://github.com/perspect3vism/ad4m/pull/296)
- ad4m-launcher now has update functionality [PR#304](https://github.com/perspect3vism/ad4m/pull/304)
- Added missing Prolog declarations for new SDNA predicates `collection_adder/collection_remover`, fixing breaking apps using SDNA Subject Classes that don't have collections defined [PR#398](https://github.com/coasys/ad4m/pull/398)
- Replaced old and depreciated link to AD4Min launcher in docs with link to ADAM Launcher releases [PR#393](https://github.com/coasys/ad4m/pull/393)
### Changed
- Moved code that deals with the IPFS repo lock from JS to Rust, improving (in most cases: unblocking) startup of the Launcher on Windows [PR#392](https://github.com/coasys/ad4m/pull/392)
### Deprecated
### Removed
### Fixed
- Fixed resolveLanguage not working for properties [PR#402](https://github.com/coasys/ad4m/pull/402)
- Fixed destructor not working because it would not remove all intial value [PR#402](https://github.com/coasys/ad4m/pull/402)
- Handle not being able to parse expression URL if the language didn't exists [PR#402](https://github.com/coasys/ad4m/pull/402)
## [0.5.0] - 10/07/2023
### Added
- bootstrap languages to mono repo [PR#328](https://github.com/perspect3vism/ad4m/pull/328)
- Added a apps changes listener so the launcher app can updated the apps list without having to switch tabs to trigger update [PR#354](https://github.com/perspect3vism/ad4m/pull/354)
- Support for new UI oriented Subject class predicates (property_named_option, p3_class_icon, etc). [PR#353](https://github.com/perspect3vism/ad4m/pull/353)
- Adds a new status property to Link expression to indicate if the link is shared or local. [PR#130](https://github.com/perspect3vism/ad4m/pull/130)
- Added local links support to SDNA. [PR#370](https://github.com/perspect3vism/ad4m/pull/370)
### Changed
### Deprecated
### Removed
### Fixed
- Expression -> get would fail when executed on a Literal expression. [PR#353](https://github.com/perspect3vism/ad4m/pull/353)
- Fixed launcher breaking on windows if a new app instance is created. [PR#362](https://github.com/perspect3vism/ad4m/pull/362)
- Fixed SDNA decorator readyonly properties in ts5 & fixed collection not working if not initalized. [PR#369](https://github.com/perspect3vism/ad4m/pull/369)
- Fixed Perspective handle's state was not updated when the instance state got updated which caused the issue. [PR#368](https://github.com/perspect3vism/ad4m/pull/368)
## [0.3.4] - 27/03/2023
### Added
### Changed
### Deprecated
### Removed
### Fixed
- Fixed bug where ipfs repo.lock cleanup would use the wrong path
- Bug where last-seen-version would not be written after state cleanup
## [0.3.3] - 27/03/2023
### Added
### Changed
- ipfs repo.lock now handled in the executor so ad4m-host startups will not have ipfs repo.lock conflicts [PR#333](https://github.com/perspect3vism/ad4m/pull/333)
- Perspective diff sync now uses mutex locks to ensure its not updating its internal state in conflicting ways [PR#334](https://github.com/perspect3vism/ad4m/pull/334)
### Deprecated
### Removed
### Fixed
- Language controller will now check that the sync callback is available on a language before trying to call it [PR#332](https://github.com/perspect3vism/ad4m/pull/332)
## [0.3.2] - 23/03/2020
### Added
- Subject class decorators got new parameters "getter" & "setter" on @subjectProperty and "condition" on @subjectCollection which allow for adding verbatim Prolog conditions to the auto-generated Prolog SDNA code. This allows for computed properties like "isPopular" which checks for certain links/reactions being there and for collections to be filtered or otherwise computed. [PR#329](https://github.com/perspect3vism/ad4m/pull/329)
- New callback method on PerspectiveProxy for registering callback when sync state for a given Perspective changes [PR#325](https://github.com/perspect3vism/ad4m/pull/325)
- New method on LinkAdapter interface for reporting sync state of a given link language [PR#325](https://github.com/perspect3vism/ad4m/pull/325)
- Perspective diff sync to mono repo as a bootstrap language [PR#325](https://github.com/perspect3vism/ad4m/pull/325)
### Changed
- Changed core database engine and refactored index & interface structure [PR#322](https://github.com/perspect3vism/ad4m/pull/322)
- Pubsub link addition/removal publishing will now await correctly [PR#322](https://github.com/perspect3vism/ad4m/pull/322)
- Use consistent apollo & ws versions [PR#322](https://github.com/perspect3vism/ad4m/pull/322)
- Use new holochain client version 0.12.5 [PR#322](https://github.com/perspect3vism/ad4m/pull/322)
- Improved CI workflow where holochain binaries are always downloaded and used for all tests and builds [PR#325](https://github.com/perspect3vism/ad4m/pull/325)
- Launcher automatically authenticates with the proxy on login. [PR#303](https://github.com/perspect3vism/ad4m/pull/303)
### Deprecated
### Removed
### Fixed
## [0.3.1] - 10/03/2023
### Added
### Changed
- Used new agent language to help fix slow profile loading [PR#314](https://github.com/perspect3vism/ad4m/pull/314)
### Deprecated
### Removed
### Fixed
- ad4m-launcher not opening on older MacOS version [PR#311](https://github.com/perspect3vism/ad4m/pull/311)
## [0.3.0] - 09/03/2023
### Added
- After login / registration the launcher will now open by default [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- If the user has no installed applications, we now show some info about connecting apps to AD4M and a link to Flux [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- Holochain DHT status logs every 60 seconds [PR#277](https://github.com/perspect3vism/ad4m/pull/277)
- ad4m-connect connection settings gives you the option of connecting to local or remote [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- Convience overloads for telepresence functions: `setOnlineStatusU`, `sendSignalU`, `sendBroadcastU` in `NeighbourhoodProxy`, which take new type `PerspectiveUnsignedInput` as argument. This enables sending signed signals without having to create temporary perspectives. These functions sign the whole perspective including links. [PR#296](https://github.com/perspect3vism/ad4m/pull/296)
- Sticky tabs [PR#307](https://github.com/perspect3vism/ad4m/pull/307)
### Changed
- Auth screens for launcher & connect will now parse out the capabilities to a human readable string [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- Use barcode detector for proxy QR code [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- Use proper types for auth methods [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- Show appIconPath in apps tab [PR#307](https://github.com/perspect3vism/ad4m/pull/307)
- Executor now uses the new updated LinkAdapter interface [PR#276](https://github.com/perspect3vism/ad4m/pull/276)
- Use new link language in bootstrap which will skip doing dead pulls [PR#276](https://github.com/perspect3vism/ad4m/pull/276)
### Deprecated
### Removed
- Remove mantine as dependency [PR#307](https://github.com/perspect3vism/ad4m/pull/307)
- Remove tabler-icons-react as dependency [PR#307](https://github.com/perspect3vism/ad4m/pull/307)
### Fixed
- Bug on ad4m-test where apollo connection errors would polute logs [PR#295](https://github.com/perspect3vism/ad4m/pull/295)
- ad4m-test internal tests not using self but instead published package [PR#295](https://github.com/perspect3vism/ad4m/pull/295)
- ad4m-test will now always pull latest ad4m-host binary [PR#295](https://github.com/perspect3vism/ad4m/pull/295)
- AD4M launcher will no longer flash its modal on load [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- Broken CI tests using nix (fixed by bumping nix & cachix gh action versions) [PR#278](https://github.com/perspect3vism/ad4m/pull/278)
- ad4m-connect more stable by not running an async function on the constructor. This will ensure that the client exsist even if we couldn't make a connection [PR#298](https://github.com/perspect3vism/ad4m/pull/298)
- ad4m-connect will now handle connection error from port correctly and ensure UI state get's updated correctly [PR#298](https://github.com/perspect3vism/ad4m/pull/298)
- ad4m-launcher now gives feedback if password is wrong. [PR#302](https://github.com/perspect3vism/ad4m/pull/302)
- Fix issue where scroll was broken [PR#307](https://github.com/perspect3vism/ad4m/pull/307)
## [0.2.16] - 25/02/2023
### Added
### Changed
- Main LinkLanguage (Perspective Diff Sync) refactored to replace global/objective latest-revision with a simple gossip algorithm, where agents broadcast their revision and merge in revision of others as they are gossiped. Improves speed and resilience a lot. [PR#12 in PDiff-Sync](https://github.com/perspect3vism/perspective-diff-sync/pull/12) [PR#271](https://github.com/perspect3vism/ad4m/pull/271)
### Deprecated
### Removed
### Fixed
- Perspective Diff Sync: calculation of fast_forward_possible fixed, which prevents merge-loops (PR#13)[https://github.com/perspect3vism/perspective-diff-sync/pull/13]
## [0.2.15] - 23/02/2023
### Added
- getAd4mClient to web exports in connect [PR#259](https://github.com/perspect3vism/ad4m/pull/259)
### Changed
### Deprecated
### Removed
### Fixed
- Not slow polling after sync [PR#260](https://github.com/perspect3vism/ad4m/pull/260)
- Trusted agent popup not working consistently [PR#261](https://github.com/perspect3vism/ad4m/pull/261)
## [0.2.14] - 17/02/2023
### Added
- Adds ability to remove Telepresence signal handler [PR#251](https://github.com/perspect3vism/ad4m/pull/251)
- e92b19f (connect): Add typescript types to the build, and use web as default. Separate export for Electron.
### Changed
- "Language not created by trusted agent and is not templated" error is now shown in log and contains the meta information of the failed Language [PR#252](https://github.com/perspect3vism/ad4m/pull/252)
- 968da42 (connect): Separate event state into `authstatechange` `connectionstatechange` and `configstatechange` in ad4m-connect
- [connect] Updated utils export & made `getAd4mClient` export from web as well. [PR#259](https://github.com/perspect3vism/ad4m/pull/259)
### Deprecated
### Removed
### Fixed
- Startup when unlocking (instead of generating) agent was halted with empty log and "No Perspective controller" errors. Fixed with better error handling during unlock [PR#253](https://github.com/perspect3vism/ad4m/pull/253) and [PR#256](https://github.com/perspect3vism/ad4m/pull/256)
## [0.2.13] - 15/02/2023
### Added
- Expression "create", "get" and "get-raw" added to cli and rust-client [PR#159](https://github.com/perspect3vism/ad4m/pull/159)
### Changed
- CLI: `ad4m languages generate-boostrap` is now availabel under `ad4m dev generate-bootstrap`
- Default bootstrap-seed updated
### Deprecated
### Removed
### Fixed
- Bootstrap seed creation working with cli: `ad4m dev generate-bootstrap` [PR#247](https://github.com/perspect3vism/ad4m/pull/247)
## [0.2.12-patch-1] - 14/02/2023
### Changed
- Sets last supported version to 0.2.12
###
- Adds new language publishing agent key to trusted agents in boostrap seed
## [0.2.12] - 14/02/2023
### Added
- Telepresence implementation (real-time signals between agents in Neighbourhoods) ][PR#239](https://github.com/perspect3vism/ad4m/pull/238)
- Perspective synchronization state with easing-off retries of LinkLanguage installation and network sync [PR#235](https://github.com/perspect3vism/ad4m/pull/235)
### Changed
- SDNA Subject API and decorators improved [PR#229](https://github.com/perspect3vism/ad4m/pull/229)
- AD4M connect updated to new style [PR#242](https://github.com/perspect3vism/ad4m/pull/242)
### Deprecated
### Removed
### Fixed
- Copy/paste of proxy URL from launcher working now [PR#241](https://github.com/perspect3vism/ad4m/pull/241)
- Duplicate entries of trusted agents [also PR#241](https://github.com/perspect3vism/ad4m/pull/241)
### Security
## [0.2.11] - 02/02/2023
### Added
- Ability to revoke applications in ad4m launcher
- Added more neighbourhood url for perspective log outputs across all functions
- Installing neighbourhoods will now check if there is already one installed with that url
- Mechanism added for cleaning agents data automatically when releasing a new launcher version incompatible with older ones
### Changed
- CI test binaries now use cargo built binaries instead of nix
- Default link language updated to new perspective-diff-sync with simple latest revision link anchors & simple active agent links
- Holochain upgraded to 0.1.0
- Holochain client upraded to 0.12.0
- UI changes to launcher make style more close to ad4m website
### Deprecated
### Removed
### Fixed
- IPFS lock causing ad4m launcher to not start
- Not being able to click outside the launcher to minimize it
- Updating a link now triggers add/remove link signals
- No longer calling signedZomeCall() in HolochainService, results in reduced CPU load and function call time
### Security
---
## [0.2.10] - 12/01/2023
### Added
- AD4M version number inside of launcher UI: [#196](https://github.com/perspect3vism/ad4m/pull/196)
### Changed
### Deprecated
### Removed
### Fixed
### Security
---
## [0.2.9] - 11/01/2023
### Added
- SDNA Collection "where": [#156](https://github.com/perspect3vism/ad4m/pull/156)
- Missing build step & rust install process to README
- In ad4m-connect show a connection error telling users to check browser shields if we notice requests being blocked: [#185](https://github.com/perspect3vism/ad4m/pull/185) & [#191](https://github.com/perspect3vism/ad4m/pull/191)
- Stop scanning button in ad4m-launcher: [#155](https://github.com/perspect3vism/ad4m/pull/155)
### Changed
- In ad4m-connect after downloading ad4m-launcher; show connect instead of reconnect text: [#183](https://github.com/perspect3vism/ad4m/pull/183)
- Each Holochain DNA now has its own async queue so only DNA specific requests are ran in sync: [#184](https://github.com/perspect3vism/ad4m/pull/184)
### Deprecated
### Removed
- .AppImage build targets: [#180](https://github.com/perspect3vism/ad4m/pull/180)
### Fixed
- Cleaned up logging output from ad4m-executor & link language: [#160](https://github.com/perspect3vism/ad4m/pull/160)
- Wait for ipfs repo.lock before starting ad4m-launcher: [#182](https://github.com/perspect3vism/ad4m/pull/182)
- Block spawning multiple ad4m launchers: [#181](https://github.com/perspect3vism/ad4m/pull/181)
- Fix copy text on Linux: [#187](https://github.com/perspect3vism/ad4m/pull/187)
- Fix UI buttons on Windows: [#188](https://github.com/perspect3vism/ad4m/pull/188)
- Fix pending commit handling when joining a neighbourhood. This code ensures that a user will not submit commits to a link language until they have received some data in the case where they join a neighbourhood: [#193](https://github.com/perspect3vism/ad4m/pull/193) & [#177](https://github.com/perspect3vism/ad4m/pull/177)
### Security
---