buttplug 1.0.17 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/.eslintrc +13 -0
  2. package/.github/FUNDING.yml +5 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +17 -0
  4. package/.jscsrc +3 -0
  5. package/.jshintrc +6 -0
  6. package/.yarnrc.yml +1 -0
  7. package/CHANGELOG.md +377 -24
  8. package/CODE_OF_CONDUCT.md +166 -0
  9. package/CONTRIBUTING.md +169 -0
  10. package/LICENSE +27 -0
  11. package/README.md +23 -126
  12. package/azure-pipelines.yml +19 -0
  13. package/dist/main/src/client/ButtplugBrowserWebsocketClientConnector.d.ts +19 -0
  14. package/dist/main/src/client/ButtplugBrowserWebsocketClientConnector.js +58 -0
  15. package/dist/main/src/client/ButtplugBrowserWebsocketClientConnector.js.map +1 -0
  16. package/dist/main/src/client/ButtplugClientConnectorException.d.ts +11 -0
  17. package/dist/main/src/client/ButtplugClientConnectorException.js +42 -0
  18. package/dist/main/src/client/ButtplugClientConnectorException.js.map +1 -0
  19. package/dist/main/src/client/ButtplugClientDevice.d.ts +62 -0
  20. package/dist/main/src/client/ButtplugClientDevice.js +299 -0
  21. package/dist/main/src/client/ButtplugClientDevice.js.map +1 -0
  22. package/dist/main/src/client/Client.d.ts +42 -0
  23. package/dist/main/src/client/Client.js +237 -0
  24. package/dist/main/src/client/Client.js.map +1 -0
  25. package/dist/main/src/client/IButtplugClientConnector.d.ts +17 -0
  26. package/dist/main/src/client/IButtplugClientConnector.js +10 -0
  27. package/dist/main/src/client/IButtplugClientConnector.js.map +1 -0
  28. package/dist/main/src/core/Exceptions.d.ts +36 -0
  29. package/dist/main/src/core/Exceptions.js +107 -0
  30. package/dist/main/src/core/Exceptions.js.map +1 -0
  31. package/dist/main/src/core/Logging.d.ts +113 -0
  32. package/dist/main/src/core/Logging.js +170 -0
  33. package/dist/main/src/core/Logging.js.map +1 -0
  34. package/dist/main/src/core/MessageUtils.d.ts +9 -0
  35. package/dist/main/src/core/MessageUtils.js +52 -0
  36. package/dist/main/src/core/MessageUtils.js.map +1 -0
  37. package/dist/main/src/core/Messages.d.ts +260 -0
  38. package/dist/main/src/core/Messages.js +412 -0
  39. package/dist/main/src/core/Messages.js.map +1 -0
  40. package/dist/main/src/index.d.ts +17 -0
  41. package/dist/main/src/index.js +34 -0
  42. package/dist/main/src/index.js.map +1 -0
  43. package/dist/main/src/utils/ButtplugBrowserWebsocketConnector.d.ts +22 -0
  44. package/dist/main/src/utils/ButtplugBrowserWebsocketConnector.js +92 -0
  45. package/dist/main/src/utils/ButtplugBrowserWebsocketConnector.js.map +1 -0
  46. package/dist/main/src/utils/ButtplugMessageSorter.d.ts +16 -0
  47. package/dist/main/src/utils/ButtplugMessageSorter.js +79 -0
  48. package/dist/main/src/utils/ButtplugMessageSorter.js.map +1 -0
  49. package/dist/main/src/utils/Utils.d.ts +1 -0
  50. package/dist/main/src/utils/Utils.js +8 -0
  51. package/dist/main/src/utils/Utils.js.map +1 -0
  52. package/dist/web/buttplug.js +6087 -16541
  53. package/dist/web/buttplug.min.js +2 -45
  54. package/dist/web/buttplug.min.js.LICENSE.txt +31 -0
  55. package/dist/web/buttplug.min.js.map +1 -1
  56. package/dist/web/index.html +10 -0
  57. package/jest-puppeteer.config.js +5 -0
  58. package/package.json +93 -44
  59. package/rollup.config.js +55 -0
  60. package/src/client/ButtplugBrowserWebsocketClientConnector.ts +56 -0
  61. package/src/client/ButtplugClientConnectorException.ts +16 -0
  62. package/src/client/ButtplugClientDevice.ts +255 -0
  63. package/src/client/Client.ts +233 -0
  64. package/src/client/IButtplugClientConnector.ts +18 -0
  65. package/src/core/Exceptions.ts +98 -0
  66. package/src/core/Logging.ts +194 -0
  67. package/src/core/MessageUtils.ts +26 -0
  68. package/src/core/Messages.ts +421 -0
  69. package/src/core/index.d.ts +4 -0
  70. package/src/index.ts +18 -0
  71. package/src/utils/ButtplugBrowserWebsocketConnector.ts +90 -0
  72. package/src/utils/ButtplugMessageSorter.ts +54 -0
  73. package/src/utils/Utils.ts +3 -0
  74. package/tsconfig.json +6 -5
  75. package/tslint.json +27 -0
  76. package/typedoc.js +9 -0
  77. package/util/convert_device_config.js +6 -0
  78. package/.netlify/state.json +0 -3
  79. package/LICENSE.md +0 -29
  80. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi.d.ts +0 -41
  81. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi.js +0 -2
  82. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg.js +0 -6
  83. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg.wasm +0 -0
  84. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg.wasm.d.ts +0 -18
  85. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg_node.js +0 -799
  86. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg_web.js +0 -788
  87. package/dist/module/buttplug_ffi.d.ts +0 -3898
  88. package/dist/module/buttplug_ffi.js +0 -10541
  89. package/dist/module/client.d.ts +0 -30
  90. package/dist/module/client.js +0 -126
  91. package/dist/module/client.js.map +0 -1
  92. package/dist/module/connectors.d.ts +0 -13
  93. package/dist/module/connectors.js +0 -26
  94. package/dist/module/connectors.js.map +0 -1
  95. package/dist/module/device.d.ts +0 -85
  96. package/dist/module/device.js +0 -217
  97. package/dist/module/device.js.map +0 -1
  98. package/dist/module/errors.d.ts +0 -25
  99. package/dist/module/errors.js +0 -60
  100. package/dist/module/errors.js.map +0 -1
  101. package/dist/module/ffi.d.ts +0 -25
  102. package/dist/module/ffi.js +0 -243
  103. package/dist/module/ffi.js.map +0 -1
  104. package/dist/module/index.d.ts +0 -15
  105. package/dist/module/index.js +0 -16
  106. package/dist/module/index.js.map +0 -1
  107. package/dist/module/sorter.d.ts +0 -15
  108. package/dist/module/sorter.js +0 -43
  109. package/dist/module/sorter.js.map +0 -1
  110. package/dist/module/web_index.d.ts +0 -8
  111. package/dist/module/web_index.js +0 -12
  112. package/dist/module/web_index.js.map +0 -1
  113. package/dist/web/0.buttplug.js +0 -1389
  114. package/dist/web/1.buttplug.min.js +0 -2
  115. package/dist/web/1.buttplug.min.js.map +0 -1
  116. package/dist/web/b0219b34bc18e1ad0240.module.wasm +0 -0
  117. package/dist/web/e5566a8b6a3fda978549.module.wasm +0 -0
  118. package/index.html +0 -25
  119. package/webpack.base.cjs +0 -107
package/.eslintrc ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "parserOptions": {
3
+ "ecmaVersion": 6,
4
+ "sourceType": "module",
5
+ "ecmaFeatures": {
6
+ "jsx": true
7
+ }
8
+ },
9
+ "env": {
10
+ "browser": true,
11
+ "node": true
12
+ }
13
+ }
@@ -0,0 +1,5 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: qdot
4
+ patreon: qdot
5
+ ko_fi: qdot76367
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: Bug report
3
+ about: Issues related to messages or system architecture
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is. Remember, this should only pertain to bugs at the protocol or general architecture level. Library or application specific bugs should be files in their respective repos.
12
+
13
+ **Expected behavior**
14
+ A clear and concise description of what you expected to happen.
15
+
16
+ **Additional context**
17
+ Add any other context about the problem here.
package/.jscsrc ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "preset": "google"
3
+ }
package/.jshintrc ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "node":true,
3
+ "browser":true,
4
+ "noyield":true,
5
+ "esversion": 6
6
+ }
package/.yarnrc.yml ADDED
@@ -0,0 +1 @@
1
+ nodeLinker: node-modules
package/CHANGELOG.md CHANGED
@@ -1,16 +1,20 @@
1
- # v1.0.17 (2021/12/09)
1
+ # v3.0.0 (2022/12/28)
2
2
 
3
- ## Features
3
+ - Back to pure Typescript. Back to the good shit.
4
+
5
+ # v2.0.0
4
6
 
5
- - Update to Buttplug v5.1
7
+ - There is no buttplug-js v2
8
+ - There is no Miss Zarves
9
+ - (Version skipped to align JS and C# implementation versions)
6
10
 
7
- # v1.0.16 (2021/10/16)
11
+ # v1.0.16 (2021/10/16) (FFI Impl)
8
12
 
9
13
  ## Bugfixes
10
14
 
11
15
  - Revert WASM loading specification to fix webpack/MIME issues
12
16
 
13
- # v1.0.15 (2021/08/29)
17
+ # v1.0.15 (2021/08/29) (FFI Impl)
14
18
 
15
19
  ## Features
16
20
 
@@ -21,13 +25,13 @@
21
25
  - Allow specification of WASM loading source for buttplug_init()
22
26
  - ButtplugClientDevice equality testing now works as expected
23
27
 
24
- # v1.0.14 (2021/03/21)
28
+ # v1.0.14 (2021/03/21) (FFI Impl)
25
29
 
26
30
  ## Bugfixes
27
31
 
28
32
  - Actually fix #60 and #51
29
33
 
30
- # v1.0.13 (2021/03/21)
34
+ # v1.0.13 (2021/03/21) (FFI Impl)
31
35
 
32
36
  ## Features
33
37
 
@@ -39,7 +43,7 @@
39
43
  - #59: Client device vibrate() call should take an array of numbers
40
44
  - #51: Fix ScanningFinished emission for WebBluetooth
41
45
 
42
- # v1.0.12 (2021/02/20)
46
+ # v1.0.12 (2021/02/20) (FFI Impl)
43
47
 
44
48
  ## Bugfixes
45
49
 
@@ -52,21 +56,21 @@
52
56
 
53
57
  - Remove publicpath setting in CDN bundler.
54
58
 
55
- # v1.0.10 (2021/02/20)
59
+ # v1.0.10 (2021/02/20) (FFI Impl)
56
60
 
57
61
  ## Bugfixes
58
62
 
59
63
  - Implement characteristic read in WebBluetooth WASM
60
64
  - Allows us to use the Handy on the web
61
65
 
62
- # v1.0.9 (2021/02/20)
66
+ # v1.0.9 (2021/02/20) (FFI Impl)
63
67
 
64
68
  ## Bugfixes
65
69
 
66
70
  - Update to buttplug-rs v2.1.5. The Handy support, client connect race bugfixes, device
67
71
  disconnection panic bugfixes.
68
72
 
69
- # v1.0.8 (2021/02/10)
73
+ # v1.0.8 (2021/02/10) (FFI Impl)
70
74
 
71
75
  ## Features
72
76
 
@@ -74,13 +78,13 @@
74
78
  - Update to buttplug-rs-ffi core v1.0.12, fixes disconnect issues in WebBluetooth, updates
75
79
  connector API for buttplug-rs v2.1.x API
76
80
 
77
- # v1.0.7 (2021/01/24)
81
+ # v1.0.7 (2021/01/24) (FFI Impl)
78
82
 
79
83
  ## Bugfixes
80
84
 
81
85
  - Update to buttplug-rs v2.0.5, fixes issue with DeviceMessageInfo deserialization
82
86
 
83
- # v1.0.6 (2021/01/24)
87
+ # v1.0.6 (2021/01/24) (FFI Impl)
84
88
 
85
89
  ## Bugfixes
86
90
 
@@ -90,20 +94,20 @@
90
94
  - Update to buttplug-rs v2.0.4, fixing issues with native timers being compiled instead of WASM
91
95
  timers.
92
96
 
93
- # v1.0.5 (2021/01/22)
97
+ # v1.0.5 (2021/01/22) (FFI Impl)
94
98
 
95
99
  ## Bugfixes
96
100
 
97
101
  - #49: Fix issue with incorrect type check on linear commands.
98
102
 
99
- # v1.0.4 (2021/01/21)
103
+ # v1.0.4 (2021/01/21) (FFI Impl)
100
104
 
101
105
  ## Features
102
106
 
103
107
  - Update to Buttplug-rs v2.0.3
104
108
  - Fixes issues with Strokers/rotators not showing up due to invalid message attributes.
105
109
 
106
- # v1.0.3 (2021/01/18)
110
+ # v1.0.3 (2021/01/18) (FFI Impl)
107
111
 
108
112
  ## Features
109
113
 
@@ -112,38 +116,38 @@
112
116
  - Init/Event API cleanup
113
117
  - Panic messages/stacks now emitted on WASM panic
114
118
 
115
- # v1.0.2 (2021/01/10)
119
+ # v1.0.2 (2021/01/10) (FFI Impl)
116
120
 
117
121
  ## Features
118
122
 
119
123
  - Update to Buttplug-rs v1.0.5, with Libo and Prettylove support
120
124
 
121
- # v1.0.1 (2020/12/29)
125
+ # v1.0.1 (2020/12/29) (FFI Impl)
122
126
 
123
127
  ## Bugfixes
124
128
 
125
129
  - Add protobufjs to dependencies, otherwise typescript compilation files during type resolution.
126
130
 
127
- # v1.0.0 (2020/12/27)
131
+ # v1.0.0 (2020/12/27) (FFI Impl)
128
132
 
129
133
  ## Features
130
134
 
131
135
  - Update to Buttplug v1, with new device config file format.
132
136
  - Change package name back to "buttplug"
133
137
 
134
- # v1.0.0 Beta 7 (2020/12/20)
138
+ # v1.0.0 Beta 7 (2020/12/20) (FFI Impl)
135
139
 
136
140
  ## Bugfixes
137
141
 
138
142
  - Fix browser websockets not throwing errors on invalid URLs or connection errors.
139
143
 
140
- # v1.0.0 Beta 6 (2020/12/20)
144
+ # v1.0.0 Beta 6 (2020/12/20) (FFI Impl)
141
145
 
142
146
  ## Bugfixes
143
147
 
144
148
  - Fix webpack build/load strategies for static (CDN loadable) web package.
145
149
 
146
- # v1.0.0 Beta 5 (2020/12/19)
150
+ # v1.0.0 Beta 5 (2020/12/19) (FFI Impl)
147
151
 
148
152
  ## Features
149
153
 
@@ -151,7 +155,7 @@
151
155
  FFI layers.
152
156
  - Added log output capabilities (console only at the moment).
153
157
 
154
- # v1.0.0 Beta 4 (2020/12/05)
158
+ # v1.0.0 Beta 4 (2020/12/05) (FFI Impl)
155
159
 
156
160
  ## Features
157
161
 
@@ -159,9 +163,358 @@
159
163
  verbose enums, but this is good enough.
160
164
  - Add stop() method to devices.
161
165
 
162
- # v1.0.0 Beta 3 (2020/12/04)
166
+ # v1.0.0 Beta 3 (2020/12/04) (FFI Impl)
163
167
 
164
168
  ## API Changes
165
169
 
166
170
  - Make a single connect method on ButtplugClient
167
171
  - Brings API closer to other/old implementations
172
+
173
+ # Version 0.13.2 - 2020/08/25
174
+
175
+ ## Bugfixes
176
+
177
+ - Make Android use WebBluetooth's acceptAllDevices so Lovense shows up again
178
+ - namePrefix, which we use to wildcard Lovense devices, broke in Chrome 81.
179
+ Fix is tracked for Chrome 87.
180
+ - Fix type mismatch in inherited methods in ForwardedDeviceProtocol.
181
+
182
+ # Version 0.13.1 - 2020/04/04
183
+
184
+ ## Features
185
+
186
+ - Added support for Connector Initializer
187
+ - Allows using the Buttplug connector for auth or other communication before
188
+ spinning up the protocol itself.
189
+
190
+ # Version 0.13.0 - 2020/03/29
191
+
192
+ ## Features
193
+
194
+ - Added Device Forwarder Support
195
+ - Allows developers to create a device manager that can accept "forwarded"
196
+ devices from another client. Basically turns Buttplug into a full
197
+ teledildonics system, using its own protocol.
198
+ - ButtplugClientDevice now emits "deviceremoved" when it is disconnected.
199
+ - This is alongside the client emitting it.
200
+
201
+ ## Bugfixes
202
+
203
+ - Fixed WeVibe Melt support
204
+ - Fixed references to buttplug-server-cli in README
205
+ - This is now at https://github.com/intiface/intiface-node-cli
206
+
207
+ # Version 0.12.3 - 2020/03/25
208
+
209
+ ## Features
210
+
211
+ - Added Hardware Support
212
+ - WebGamepad Haptics on Chrome
213
+
214
+ # Version 0.12.2 - 2019/12/06
215
+
216
+ ## Features
217
+
218
+ - Added Hardware Support
219
+ - WeVibe Vector
220
+ - Magic Motion Vini, Fugu, Awaken, Equinox, Solstice
221
+
222
+ # Version 0.12.1 - 2019/10/05
223
+
224
+ ## Features
225
+
226
+ - Add Motorbunny Support
227
+
228
+ # Version 0.12.0 - 2019/07/27
229
+
230
+ ## Features
231
+
232
+ - Allow loading of device configuration file from CDN
233
+ (https://buttplug-device-config.buttplug.io)
234
+ - Remove yaml requirement for device config file, just use JSON (Saves
235
+ 30% library size)
236
+
237
+ # Version 0.11.8 - 2019/07/09
238
+
239
+ ## Bugfixes
240
+
241
+ - Updated built in device config file, including Cyclone SA fixes.
242
+
243
+ # Version 0.11.7 - 2019/06/22
244
+
245
+ ## Bugfixes
246
+
247
+ - Dependency security updates
248
+
249
+ # Version 0.11.6 - 2019/05/27
250
+
251
+ ## Features
252
+
253
+ - Added hardware support
254
+ - Kiiroo Onyx 2
255
+ - Kiiroo Pearl 2
256
+ - Kiiroo/OhMiBod Fuse
257
+ - Kiiroo Virtual Blowbot
258
+ - Kiiroo Titan
259
+ - Libo PiPiJing Elle/Whale
260
+ - Libo Xiao Lu (Lottie)
261
+ - Libo Lu Xiao Han (Lulu)
262
+ - Libo Suo Yin Qiu (Karen)
263
+ - Libo Bai Hu (LaLa)
264
+ - Libo/Sistalk MonsterPub
265
+ - Youcups Warrior 2
266
+ - Vorze Bach
267
+ - A whole bunch of Magic Motion toys I'm not gonna list here.
268
+
269
+ # Version 0.11.5 - 2019/05/02
270
+
271
+ ## Features
272
+
273
+ - Change WebBluetooth calls to work with iOS WebBLE app
274
+
275
+ # Version 0.11.3 - 2019/04/11
276
+
277
+ ## Features
278
+
279
+ - Updates dependencies, but otherwise this is a dependent library release.
280
+
281
+ # Version 0.11.2 - 2019/03/16
282
+
283
+ ## Bugfixes
284
+
285
+ - Roll back to using webpack for web libraries until Rollup is fixed.
286
+
287
+ # Version 0.11.1 - 2019/03/15
288
+
289
+ ## Features
290
+
291
+ - Update CLI to work with Intiface
292
+ - That's it. No other changes. Maybe this Monorepo and lockstepped
293
+ versioning thing wasn't such a good idea. :/
294
+
295
+ # Version 0.11.0 - 2019/03/09
296
+
297
+ ## Features
298
+
299
+ - ButtplugBrowserWebsocketConnector now exported from library
300
+ - Add ability to use Device Configuration files, eliminating need to
301
+ change code to add devices to protocols we already support.
302
+ - Add Youou Wand support
303
+
304
+ ## Bugfixes
305
+
306
+ - Fixed lots of unhandled promises, turning them into exception
307
+ throws. Also now have a linter rule to make sure this doesn't happen
308
+ again.
309
+
310
+ ## Other
311
+
312
+ - Moved CI to Azure Pipelines
313
+ - Moved project to being a monorepo for all buttplug-js core library,
314
+ device subtype manager, connector, and server CLI projects
315
+ - Removed Devtools package for time being, needs to be turned into its
316
+ own module.
317
+ - Not currently building CLIs for windows, because noble-uwp was
318
+ having some problems compiling.
319
+ - Removed ConnectLocal/ConnectWebsocket functions from Client, now
320
+ requires a connector object.
321
+
322
+ # Version 0.10.0 - 2018/12/03
323
+
324
+ - Add way to pass loggers into DeviceSubtypeManagers (to bridge module scope issues)
325
+ - Fix type error for Device Manager message callbacks
326
+
327
+ # Version 0.9.0 - 2018/12/02
328
+
329
+ - Move core/Device to client/ButtplugClientDevice, since only client uses it.
330
+ - Create convenience Device command functions on ButtplugClientDevice.
331
+ - Add specific Buttplug exception types.
332
+ - Fix up error handling to always throw exceptions.
333
+ - Add connection semantics to server.
334
+ - Update dependencies.
335
+
336
+ # Version 0.8.3 - 2018/11/24
337
+
338
+ - Added Lovense Osci support
339
+ - Updated schema with bugfixes to generic commands
340
+
341
+ # Version 0.8.2 - 2018/07/12
342
+
343
+ - Add Vorze UFO SA support
344
+
345
+ # Version 0.8.1 - 2018/07/02
346
+
347
+ - Make DevTools/Simulator loadable as a module
348
+ - Fix bug in characteristic map calculation (caused Fleshlight Launch to stop working on 0.8.0)
349
+ - Fix output of speed/position values in Simulator
350
+ - Fix bug in DeviceList message construction in Server
351
+ - Various other Simulator fixes.
352
+
353
+ # Version 0.8.0 - 2018/06/27
354
+
355
+ - Add BLE GATT Characteristic reading functions
356
+ - Add ability to derive Lovense hardware info from device queries (no more name/UUID chasing)
357
+ - Namespace devtools CSS rules to fix issue with CSS conflicts in devtools
358
+ - Change Signature of CreateSimple*Message functions (breaking change)
359
+ - Add IsScanning boolean getter to Client
360
+
361
+ # Version 0.7.1 - 2018/05/02
362
+
363
+ - Extra build config changes to fix webpack issues
364
+
365
+ # Version 0.7.0 - 2018/05/02
366
+
367
+ - Rolling version number due to device API change (added "Disconnect" method)
368
+ - Update to Webpack 4
369
+ - Fix server cleanup on shutdown (remove listeners, disconnect devices)
370
+ - Add more Lovense device names/info
371
+
372
+ # Version 0.6.1 - 2018/03/08
373
+
374
+ - Expose feature counts of device command messages
375
+ - Add CreateSimple*Cmd functions
376
+ - Add new Lovense and WeVibe device names
377
+ - Device counts now start at 0 instead of 1
378
+
379
+ # Version 0.6.0 - 2018/02/05
380
+
381
+ - Rolling version number due to devtools API change
382
+ - TestDeviceManager no longer a singleton. That was a bad idea in the first place.
383
+ - TestDeviceManagerPanel now requires a ButtplugServer as a parameter
384
+ - Added Connector getter in ButtplugClient, as sometimes it's handy to pull an embedded connector
385
+ and get the Server from it (For things like the TestDeviceManagerPanel).
386
+ - Devices now have internal IDs, so deviceadded isn't fired multiple times for the same device
387
+ - Added basic MaxPro Smart Vibrator support
388
+
389
+ # Version 0.5.3 - 2018/01/29
390
+
391
+ - Fix bug in devtools web exports
392
+ - Add more styles to log panel so outside styles don't affect it.
393
+
394
+ # Version 0.5.2 - 2018/01/26
395
+
396
+ - Fix webpack settings so mangling doesn't destroy parser
397
+ - Add new IDs for Lovense Domi and Lush
398
+
399
+ # Version 0.5.1 - 2018/01/23
400
+
401
+ - Remove node websocket connector and server, since it doesn't build/include nicely as a submodule. (#87)
402
+
403
+ # Version 0.5.0 - 2018/01/22
404
+
405
+ - Added Buttplug Spec v1 implementation
406
+ - More generic message types (VibrateCmd, RotateCmd, LinearCmd)
407
+ - Message attributes (device feature counts)
408
+ - Message downgrading capabilities
409
+ - Added tests. So many tests.
410
+ - Divided devtools into core and web directories
411
+ - Updated devtools to depend on buttplug as an external library (makes file sizes smaller)
412
+ - Library now uses es6 by default
413
+ - Lots of bug fixes due to aforementioned tests (Wevibe control issues, missing error message, etc...)
414
+
415
+ # Version 0.4.3 - 2018/01/16
416
+
417
+ - Fix many logging bugs
418
+ - Add more log messages to library
419
+ - Add devtools module, with log viewer, test device manager, and device visualizer
420
+ - Add Node websocket connector and server, for native server capabilities
421
+
422
+ # Version 0.4.2 - 2018/01/08
423
+
424
+ - Added support for new Lovense devices (Domi with new firmware)
425
+
426
+ # Version 0.4.1 - 2018/01/07
427
+
428
+ - Message types can now be accessed via getter ([Message].Type)
429
+ - Client now emits "disconnect" event on disconnection (either user or server triggered)
430
+ - Fixed bug where ping timer wouldn't stop on disconnect
431
+ - Moved test system to jest
432
+ - Removed dependency on text-encoding package
433
+ - Added support for new Lovense devices (Hush with new firmware)
434
+
435
+ # Version 0.4.0 - 2017/12/03
436
+
437
+ - Add webpack config to build library for web on release
438
+ - Expose IButtplugConnector for building external connector interfaces
439
+ - Actually write usage information in the README
440
+
441
+ # Version 0.3.2 - 2017/12/02
442
+
443
+ - Remove dist from .gitignore in release branch. Again. Ugh.
444
+
445
+ # Version 0.3.1 - 2017/12/02
446
+
447
+ - Create generic connect function to allow users to define their own connectors
448
+ - Documentation updates
449
+ - Added more WeVibe names
450
+
451
+ # Version 0.3.0 - 2017/10/29
452
+
453
+ - Remove all default exports, require verbose include
454
+ - Prepare library for use with node servers as well as web browser servers
455
+
456
+ # Version 0.2.2 - 2017/10/28
457
+
458
+ - Fix emission of "scanningfinished" event and message in client/server
459
+
460
+ # Version 0.2.1 - 2017/10/11
461
+
462
+ - Added WebBluetooth support for the Vorze A10 Cyclone
463
+ - Fixed types in VorzeA10CycloneCmd message
464
+
465
+ # Version 0.2.0 - 2017/10/08
466
+
467
+ - Simplified Client types. Now one client type with Websocket and Local connection functions.
468
+ - Fixed bug where outbound messages were not checked against the message schema.
469
+
470
+ # Version 0.1.1 - 2017/10/06
471
+
472
+ - Add Lovense Domi, WeVibe toy support to server
473
+ - Add ability to query for browser Bluetooth Support in server
474
+
475
+ # Version 0.1.0 - 2017/08/20
476
+
477
+ - Added Server functionality, with WebBluetooth device manager
478
+ - Added logging system
479
+ - Fixed KiirooCmd format
480
+
481
+ # Version 0.0.9 - 2017/07/22
482
+
483
+ - Start cleaning up library to prepare for Server implementation
484
+ - Add VorzeA10CycloneCmd message
485
+
486
+ # Version 0.0.8 - 2017/07/21
487
+
488
+ - Add JSON schema validation
489
+
490
+ # Version 0.0.7 - 2017/07/19
491
+
492
+ - Add StopAllDevices function to client
493
+
494
+ # Version 0.0.6 - 2017/07/16
495
+
496
+ - Update of v0.0.5 with built files included
497
+
498
+ # Version 0.0.5 - 2017/07/16
499
+
500
+ - Add client disconnect functionality
501
+ - Test updates
502
+
503
+ # Version 0.0.4 - 2017/07/13
504
+
505
+ - Add ErrorCode support to error messages
506
+ - tslint addition and cleanup
507
+
508
+ # Version 0.0.3 - 2017/06/13
509
+
510
+ - Repo cleanup, typescript library additions
511
+
512
+ # Version 0.0.2 - 2017/06/11
513
+
514
+ - First released version of library
515
+ - Core device/message implementation
516
+ - Simple webclient with ability to connect over websockets, get device lists, send device messages
517
+
518
+ # Version 0.0.1 - 2016/07/08
519
+
520
+ - Project Repo Started