Skip to main content

Release Notes

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

v2.16.2

31 January 2024

  • Update node version warning in devtoolsserver.ts #680
  • sync devicescript-esp32 updates; fixes #679 #679

v2.16.1

10 January 2024

v2.16.0

2 January 2024

  • attempt at migrating to node 20 #673
  • added rp2040 error message e63fe9e
  • switch quiet or verbose 899a390

v2.15.23

13 December 2023

v2.15.22

5 December 2023

  • Add Number.parseFloat #668
  • Number.isFinite #666
  • Add Number.isSafeInteger #667
  • updated ts/c 5536f59

v2.15.21

30 November 2023

v2.15.20

22 November 2023

  • Add ILI9341 driver support #663
  • emit ds.Role._onPacket properly #659
  • add --diff option to devs disasm e42e955
  • add repro 11be29c
  • add samples with accelerometer 44fa373

v2.15.19

7 November 2023

v2.15.18

6 November 2023

v2.15.17

6 November 2023

v2.15.16

27 October 2023

  • Typo fix in bytecode/bytecode.md #645
  • Performance and Loading Speed Enhancements for the Website 🏎 #652
  • allow larger images (depending on bpp): fixes #649 #649
  • start dashboard in non-vscode mode a4b905d
  • formatting and update jacdac 87974cc
  • updated jacdac-ts 4a71ef6

v2.15.15

11 October 2023

  • slim date object #643
  • always populate package.json name 5f2d79c

v2.15.14

9 October 2023

  • support for grove RGB LCD 16x2 #639
  • added dummy lcd project 79536d6
  • updated sample/multi support in lcd 9dbda44
  • updated xiao docs 2f6cf19

v2.15.13

3 October 2023

v2.15.12

29 September 2023

v2.15.11

27 September 2023

v2.15.10

25 September 2023

v2.15.9

25 September 2023

  • apply sim route after external resoluation 4f7f744

v2.15.8

25 September 2023

v2.15.6

25 September 2023

  • Optimizing Performance and Resource Utilization Through Concurrent Async Execution ✈ #623
  • updated devices docs afa5ce6
  • add pimoroni pico badger 3c3ead7
  • added images 66a2e96

v2.15.5

15 September 2023

v2.15.4

12 September 2023

v2.15.3

11 September 2023

v2.15.2

11 September 2023

  • Number.isInteger implementation #608
  • pixelBuffer -> PixelBuffer.alloc #609
  • generate back link to device page in dsboard jsdocs 8b97b87
  • added devkicc + ssd1306 sample 64ecea6
  • rename event worker to avoid confusion with UART fc94f8a

v2.15.1

14 August 2023

v2.15.0

14 August 2023

  • Array sort #603
  • allow sending events from DS; fixes #373 #373
  • update add-board docs 7d4ae14

v2.14.16

11 August 2023

  • set prototype in JSON.parse; fixes #578 #578
  • fix #536: tree-shaking of devsNative protos #536
  • Add Buffer.rotate; see #596 d4d6bd1
  • document led hw support a7262f0
  • no led show on simulator 960c0d7

v2.14.15

11 August 2023

v2.14.14

5 August 2023

  • Document/implement LED operations #595
  • better connect dialog for remote scenario ba05db1
  • hide gateway by default 09ab30b
  • add info link to nvm c816704

v2.14.13

28 July 2023

v2.14.12

27 July 2023

  • Remote connect #589
  • typo in contributing file name f2656da

v2.14.11

27 July 2023

v2.14.10

26 July 2023

  • better handling of running init on an existing project f368b0f
  • detect yarn.lock/package.lock when initiaizing existing project a91f438
  • rename "add settings..." to "add device settings..." 5ae4072

v2.14.9

24 July 2023

  • support for LED driver + simulation #580
  • deprecated Math.clamp in favor of constrain 0e2ee13
  • fix gpiorelay sample 621c779
  • ask for npm/yarn when creating new project b0e34d6

v2.14.8

21 July 2023

  • use server id in twin message #576
  • updated jacdac-ts a87665f

v2.14.7

21 July 2023

  • traffic light server #574
  • gamepad client apis #573
  • more error handling on missing @devicescript/cli d6cf355
  • ensure that @devicescript/cli is locally installed a3b15cd
  • traffic light sample 2544de0

v2.14.6

21 July 2023

  • better error messages on missing node 941084f
  • updated pico_w samples 8368737
  • support for large frames over tcp 3cebccb

v2.14.5

20 July 2023

v2.14.4

20 July 2023

  • add UC8151 docs; fixes #543 #543
  • document other ST* drivers; fixes #552 #552
  • add devs init --yarn; fixes for devs add npm dd75d94
  • updated shield info 3fdb86d
  • more info on shields de363e8

v2.14.3

20 July 2023

  • Server to drivers, Display documentation #566
  • Indexed screen support #564
  • sample TSX UI #547
  • add st7709 05e8886
  • updated ssd1306 8140a77
  • reference help when inserting board configs 8cd1019

v2.14.2

16 July 2023

  • add command to upgrade tools #562
  • project init (create new project) with board #561

v2.14.1

16 July 2023

  • more docs on i2c issues #560
  • added encodeURIComponent function interface and tests #558
  • Implement es Set class #496 #556
  • Implement es Map class #497 #538
  • led strip encoder #557
  • Sample weather display #525 #555
  • Added findLastIndex #550
  • button led / potentiometer led samples #541
  • array findLast #549
  • added array fill #548
  • value dashboard rendering #540
  • Organize servers docs into drivers #546
  • reduce deps of cli (200M->38M) #531
  • support for typedoc ready projects #545
  • Support for JSX/TSX #542
  • added add-board docs 8644ddd
  • add docs on adding new SoCs 169f37b
  • updated admonitions 250328d

v2.14.0

5 July 2023

  • fix duplicate role tree node warning #539
  • add schemas for board defs 2ebe4e7
  • re-work pin names f094f29
  • add support for UC8151 e-ink display d4bdc0b

v2.13.10

1 July 2023

  • add support for ST7789 screen f9292ef
  • add support for ?? operator b03d062
  • allow comments in hex literals ef179c2

v2.13.9

1 July 2023

  • Fix typos in website API docs #522
  • Fixing spelling in getting started #521
  • added Array.at array package #520
  • added schedule blinky sample b142b1c
  • added doubleblinky sample 6a14ed9
  • less aggressive about showing the simulator pane fcffd49

v2.13.8

30 June 2023

v2.13.7

29 June 2023

v2.13.6

26 June 2023

  • Node v16 minimal support (v18 not required) #510
  • support for switchMap in observables #508
  • add thingspeak 4cf9b54
  • missing awaits 64668d0
  • add node.js diag 8bdd1c6

v2.13.5

25 June 2023

v2.13.3

23 June 2023

  • jd-c with startMotor(); fixes #461 #461
  • add additional array ctor, see #501 9b1c212
  • add Object and Array ctors; see #501 731c85d

v2.13.2

23 June 2023

  • more contrivuting to docs f191669
  • reorg contributions page 63ade1d
  • don't use GPIO0 as TX by default on pico e74b6c1

v2.13.1

23 June 2023

  • allow arbitrary config in configureHardware(); fixes #473 #473
  • add memory docs; fixes #397 #397
  • remove _ from role names; fixes #389 #389
  • add docs on services vs $services; fixes #459 #459
  • add docs for devs bundle; fixes #495 #495
  • add devkitM S3 b6782cb
  • use HKDF in encryptedFetch() 4ca8550
  • picture for devkitM 5ba81f0

v2.13.0

22 June 2023

v2.12.3

20 June 2023

  • allow hex encoding in Buffer.from(); 2.12.3 5c2a4d8

v2.12.2

20 June 2023

  • Node version detect #493
  • add readme linking to proper docs; fixes #476 #476
  • add @devicescript/crypto 4e07577
  • allow for arbitrary tag size in AES CCM ee8a688

v2.12.1

20 June 2023

v2.12.0

20 June 2023

  • native GPIO, SPI image send, and ST7735 screens support #490
  • fix port parsing #491
  • Misc word/grammar fixes to index.mdx #483
  • Dotmatrix over image implementation #480
  • ImageRenderingContext #478
  • math.map helper class #477
  • doc reorg ce12d80
  • docs update 5ad5a93
  • introduce common Display interface e6a6115

v2.11.6

10 June 2023

  • String.split support #463
  • character screen server #462
  • blynk HTTP support #475
  • added socket example, use same api as node #470
  • more runtime docs 55e8f99
  • use singleton for spi to match i2c fcae930
  • add devcontainer to project template 6bb6e9c

v2.11.5

9 June 2023

  • refactoring iot docs #469
  • remove professional from docs #467
  • fix #466 I2C bug; 2.11.5 #466
  • Fix SPI mention 919ce81

v2.11.4

9 June 2023

  • fix typo; thank you Benjamin_Dobell a59e8aa
  • handle syntactic difference of npm cb4533e

v2.11.3

9 June 2023

v2.11.2

9 June 2023

v2.11.1

8 June 2023

v2.11.0

8 June 2023

v2.10.10

8 June 2023

  • Minor Style fixes no section 5. #453
  • updated docs on custom packages 83f1bad
  • stabler serial connection 0d33b15
  • add github action file for npm package bec68be

v2.10.9

7 June 2023

  • disable auto-start when connected with vscode #451
  • updated error generation 611ab5c
  • keep GC heap around a7f9948
  • add special ds._panic(0xab04711) for low-level panic a53ea32

v2.10.8

7 June 2023

v2.10.7

7 June 2023

  • stop simulator when physical device connects 5911164

v2.10.6

7 June 2023

v2.10.5

6 June 2023

  • throttle outgoing packets (50/s) 6a3a631
  • tweak GC trigger heuristic f9ba2cf
  • simplify gc trigger logic 00b0b21

v2.10.4

6 June 2023

v2.10.3

6 June 2023

  • use python extension to resolve python path 0e85940
  • adding schedule function 98ed647
  • collect version number when reporting issue 354b272

v2.10.2

6 June 2023

  • add 'devs flash --clean ...' c94fb79
  • updated github build sample b4b9f00
  • unicode trim(); info on ASCII toLowerCase() f337581

v2.10.1

5 June 2023

  • auto install esptool on flash #437
  • sample using fetch #435
  • add option to add settings, tests in wand #436
  • tcp/tls sockets for wasm 73b688e
  • add observable timestamp operator 0f4bf61
  • more aggressive GC; 2.10.1 fbefb8d

v2.10.0

5 June 2023

  • 2.10.0: add net.Socket, net.fetch and more String/Buffer methods #433
  • Fix trivial typo in CLI docs #431
  • ROS #430
  • fix docs codegen for builtin packages 22c688d
  • fix new gcc warning: int foo() -> int foo(void) 615e1eb
  • remove it support in tests a8bb583

v2.9.16

1 June 2023

v2.9.15

1 June 2023

v2.9.14

1 June 2023

  • support for .env file #426
  • tsdoc attributes normalization #424
  • docs: fix broken HomeBridge hyperlink #422
  • Update index.mdx #417
  • Typo fix in CONTRIBUTING.md #416
  • Fix documentation typos #415
  • allow @ds-when-used attributes; fixes #332 #332
  • updated docs about status light ecb7c7b
  • Update issue templates 05fc469
  • Update issue templates 509ce4f

v2.9.13

25 May 2023

v2.9.12

18 May 2023

  • more led runtime d49250b
  • allow address setting on BME680; defl to 0x76 (Seeed) 6f5594a
  • updated gateway docs 2168e56

v2.9.11

17 May 2023

  • cleanup client commands 99bd7d8
  • support F shortcut in all videos f923ab9
  • support F key for full screen b23be3e

v2.9.10

15 May 2023

  • fix crash in role mgr; bump jd-c 3bb6e63
  • docs: statics supported 3ef6df2

v2.9.9

15 May 2023

v2.9.8

10 May 2023

v2.9.7

10 May 2023

v2.9.6

9 May 2023

v2.9.5

8 May 2023

  • adding some led options #383
  • generate server-info.json for DS drivers; fixes #381 #381
  • updated samples 76dcdda
  • search npm 5b0c360
  • handle deploying to a device that is managed by a gateway 6021672

v2.9.4

5 May 2023

v2.9.3

4 May 2023

v2.9.2

3 May 2023

v2.9.1

29 April 2023

  • refactor magic helpers #378
  • hardwareConfig -> configureHardware ? #375
  • fix name resolution of entry when uploading scripts to gateway fdb6f65
  • expose self-control service (eg for standby()) abae36b
  • add codesandbox info e16053e

v2.9.0

28 April 2023

  • support for static class members; fixes #337; 2.9.0 #337
  • filter out more commits from changelog cf5883f
  • store list of services in device meta 7ca544c

v2.8.3

28 April 2023

v2.8.2

28 April 2023

v2.8.1

27 April 2023

  • indicate what user program is run; also more debug logging 4d7617b
  • update jd-c/ts 7ccd32a
  • use correct APIs for frame reception when hosted 65b0c53

v2.8.0

27 April 2023

v2.7.11

27 April 2023

  • subscribeMessages -> subscribeMessage abf685d
  • better logic to generate device name 2c63788
  • optionaly try to publish to vscode marketplace 9aafc37

v2.7.10

27 April 2023

v2.7.9

26 April 2023

v2.7.7

26 April 2023

v2.7.4

26 April 2023

v2.7.3

26 April 2023

v2.7.2

26 April 2023

  • Environment support in vscode #371
  • restart program on sha-matching deploy; fixes #372 #372
  • add motion service; fixes #364 #364
  • use common names for common registers 714d920
  • don't compile .ts in docs 9479a86
  • accessbiilty fixes 7c4ea1b

v2.7.1

24 April 2023

  • i2c scan off by default; fixes #352 #352
  • add .toString() warning; fixes #345 #345
  • fix ctor arg refs; fixes #357 #357
  • Revert "only one copy of boards.json please" 7fd5b3e
  • only one copy of boards.json please a345712
  • update boards.json (fixing doc-gen) e8bdd0c

v2.7.0

21 April 2023

v2.6.2

19 April 2023

v2.6.1

19 April 2023

  • upgrade to docusaurus 2.4.0 #348
  • split clientcmds further 85580ea
  • more docs updates 561f4ec
  • add RotaryEncoder.asPotentiometer() 5075297

v2.6.0

18 April 2023

  • first draft of drivers package #346
  • add buffer decoding tests; fixes #40 #40
  • move code from clientcmds.ts to array.ts and i2c package f2eac1a
  • add ds.actionReport() for action responses 4c8cbad
  • add Role.report and utility functions around it d782aa8

v2.5.0

14 April 2023

v2.4.4

11 April 2023

v2.4.3

11 April 2023

  • implement assignment chaining; fixes #339 #339
  • add compiler-everything test; fix sources; fixes #268 #268
  • throttle setInterval() with async; fixes #289 #289
  • re-generate board files (new repo names) de6a906
  • add adafruit feather s2 4b9c909
  • limit call stack depth 7319b6f

v2.4.2

11 April 2023

v2.4.1

10 April 2023

v2.4.0

10 April 2023

  • allow Jacdac servers implemented in TS #335
  • updated samples 0a3244e
  • updated gateway docs c2b57b9
  • add sensor server; 2.4.0 7989afe

v2.3.4

4 April 2023

  • show watches in debug mode, cleanout context on unload 3e5a42b
  • handle "run" to open simulators view e56c704
  • add console data image 5d3cba1

v2.3.3

4 April 2023

v2.3.2

4 April 2023

v2.3.1

4 April 2023

v2.3.0

1 April 2023

v2.2.29

1 April 2023

v2.2.28

31 March 2023

v2.2.27

31 March 2023

  • attempt at fixing publshing a2db8e2

v2.2.26

31 March 2023

v2.2.24

31 March 2023

  • fix: package of depdencies in vscode extension 4a38ede
  • fix bump.js 916c820

v2.2.22

31 March 2023

  • fix: build vsix after patching resources 53ba99e
  • updated output channel name 0fd9cd3

v2.2.21

31 March 2023

  • fix: start devs when opening an entry point and not running 538ddf4
  • sort boards and hide protos in non-developer mode 3402616
  • Update README.md ba16684

v2.2.20

30 March 2023

v2.2.19

29 March 2023

  • sync subscribe in observables #298
  • gateway connection message 685aaa2

v2.2.18

29 March 2023

v2.2.16

29 March 2023

  • better handling of initial connection 5f2e2e3
  • clear token with api root 9f11372
  • duplicate copy button 89f52e6

v2.2.15

29 March 2023

v2.2.14

29 March 2023

  • introduce hash in dcfg; restart when it changes 63937b7
  • rename progName/Version fields to @name/@version 8f37511
  • debug fixes; 2.2.14 11eeea6

v2.2.13

28 March 2023

  • fix: add json5 #186
  • corrrectly display data 832aae0
  • save file to 'data', normalize time to seconds 0482692
  • ds.reboot()->ds.restart(); ds.reboot() now reboots e43fd0a

v2.2.12

28 March 2023

v2.2.11

28 March 2023

v2.2.10

27 March 2023

  • cheesy homepage 6da6dfa
  • fix: don't ask for workspace folder if only one 7d327ce

v2.2.8

27 March 2023

v2.2.6

27 March 2023

v2.2.5

27 March 2023

  • don't use activetexteditor #279
  • use observable streams instead #272
  • Configure hw #270
  • I2c package #267
  • I2c documentation #263
  • implement object inspection; fixes #275 #275
  • add startServer() wizard; fixes #258 #258
  • fix #277 (dbg crash) #277
  • add buzzer and dimmable light bulb 4e37c9a
  • catchError support 83d63a1
  • fix: start sim auto on debug if no debice connected 116ead5

v2.2.4

24 March 2023

v2.2.3

24 March 2023

v2.2.2

24 March 2023

v2.2.1

23 March 2023

v2.2.0

23 March 2023

  • Settings #251
  • don't run git commands if no .git folder 830bceb
  • use fiber suspend in setTimeout(); v2.2.0 ba3b780
  • implement debug pause button 4fbe25d

v2.1.0

23 March 2023

  • add Buffer.from(); also hex toString(); v2.1.0 1203283
  • simplify bump 0db3c27

v2.0.9

23 March 2023

  • add native clear-settings; fixes #240 #240
  • feat: pir, rolling average b12290c
  • fix: added emwa be56296
  • set version in npms, publish extension e6a398d

v2.0.8

22 March 2023

v2.0.7

22 March 2023

v2.0.6

22 March 2023

  • improve esptool detection 113a590
  • fix 'devs flash esp32 --board xyz' f8d05c0
  • generate meta files with sizes 4c9fa0b

v2.0.5

22 March 2023

v2.0.4

21 March 2023

  • add Module.clearFlash(); fixes #240 #240
  • re-generate boards.json; bump jd-c 807735a
  • fix no wifi build c632efc
  • add hid sample 2ace987

v2.0.3

21 March 2023

  • fix: beforeeach, aftereach in tests 8a49c33
  • try to fix npm 402 f1c9551
  • don't build C if tools not installed 8dbeeae

v2.0.2

21 March 2023

v2.0.1

21 March 2023

  • synchronized bump script #238
  • fix: replace * with ^version in packaged files #236
  • fix: ability to open socket streaming device logging #230
  • fix: update trackException #226
  • fix: cleaning out role.connected #195
  • feat: cloud api package #193
  • add marble rendering #190
  • cloud simplification #187
  • cleanup container experience #172
  • pass over doc #145
  • fix: use vscode built-in file system watcher #159
  • start building on load extension #157
  • fix: start build on start, update specs #155
  • feat: node.js simulation support #154
  • feat: add board command #152
  • flash device as palette command #146
  • feat: Custom service compilation #143
  • Catalog #144
  • feat: support --install flag in init #142
  • feat: no-colors mode #140
  • cloud tree items #135
  • fix: tree unsubscription #131
  • fix: nag user to start dashboard on debugger start + missing roles #123
  • trying to fix #120
  • fix: stop vm worker on debug session close #118
  • more aggressive about killing worker #114
  • fix: telemetry + windows #104
  • fix: better support for empty workspace, remote #102
  • Docusaurus2.3 #91
  • fix: update cli info about build --watch #90
  • support for cloud management of devices #88
  • contribute icons to vscode #87
  • actively check version numbers + debugger start fix #76
  • Device pick and remember #62
  • devtools cli refactor #61
  • Device Tree in VS Code #60
  • more tooling support through rise4fun #57
  • patch: document vm apis #52
  • patch: support for runtime_version #51
  • add runtime version reg #44
  • Api comments #50
  • patch: rename registernumber #49
  • patch: concurrent execution of compiles #42
  • Markdown docs: generate markdown files for DS services #38
  • test breaking build #37
  • patch: rename generate compiler files #30
  • fix: codesandbox support #29
  • patch: specify to embed built files in package #24
  • feat: support for init command #23
  • better control of simulator in docs #22
  • patch: add devtools options #21
  • patch: build --watch #20
  • add semantic release build files #19
  • Const samples #17
  • Removing monaco editor #14
  • show jacdac dasboard as split pane #13
  • cleaning up cli #12
  • export compile function #11
  • build compiler into web site #10
  • pre-compile samples in docs #5
  • support for mermaid for docs #3
  • creating docs web site #2
  • support ignored &&; fixes #184 #184
  • isConnected -> isBound; fixes #196 #196
  • better start server docs; fixes #215 #215
  • sleepMs->sleep; fixes #214 #214
  • fix pointer checks; fixes #203 #203
  • add ds.isSimulator(); fixes #119 #119
  • support for program name/version; fixes #170 #170
  • fix #199 (super call) #199
  • disallow 'var'; fixes #4 #4
  • remove _onstart; fixes #183 #183
  • fix 'extends Error'; fixes #176 #176
  • don't mask exception from compilation process #171
  • add --quiet option, fix #166 #166
  • cut down devs init, add devs add sim/service; fixes #165 #165
  • always use fancy logging; fixes #103 #103
  • rename devices, fix #77 #77
  • try to fix cli deps; fixes #70 #70
  • better error object (fixes #15) #15
  • remove junk; fixes #16 #16
  • moving projects around 2e25a9c
  • more docs updates 2b61362
  • refactor and hide pipe for now dd04b26