@nordicsemiconductor/pc-nrfconnect-shared 221.0.0 → 224.0.0
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.
- package/Changelog.md +79 -55
- package/README.md +30 -21
- package/ipc/apps.ts +3 -12
- package/ipc/launcherConfig.ts +0 -2
- package/ipc/sources.ts +0 -5
- package/nrfutil/device/logLibVersions.ts +5 -5
- package/nrfutil/sandbox.ts +1 -1
- package/nrfutil/version/jlinkVersion.test.ts +13 -13
- package/nrfutil/version/jlinkVersion.ts +5 -5
- package/package.json +2 -2
- package/release_notes.md +4 -7
- package/scripts/is-releasable.ts +1 -1
- package/scripts/latest-changelog-entry.test.ts +4 -4
- package/src/Device/DeviceSelector/DeviceSelector.test.tsx +11 -11
- package/src/Device/deviceLister.ts +1 -1
- package/src/Dialog/Dialog.test.tsx +9 -10
- package/src/Dropdown/Dropdown.test.tsx +3 -3
- package/src/Dropdown/DropdownHelpers.test.ts +20 -21
- package/src/ErrorBoundary/ErrorBoundary.test.tsx +4 -4
- package/src/ErrorDialog/ErrorDialog.test.tsx +3 -3
- package/src/ErrorDialog/errorDialogSlice.test.ts +5 -5
- package/src/FactoryReset/FactoryResetButton.test.tsx +23 -17
- package/src/FactoryReset/FactoryResetButton.tsx +3 -1
- package/src/Slider/Factor.test.ts +4 -4
- package/src/index.ts +0 -2
- package/src/logging/appTransport.test.ts +6 -6
- package/src/logging/logBuffer.test.ts +4 -4
- package/src/utils/systemReport.ts +1 -1
- package/typings/generated/ipc/apps.d.ts +5 -11
- package/typings/generated/ipc/apps.d.ts.map +1 -1
- package/typings/generated/ipc/launcherConfig.d.ts +0 -2
- package/typings/generated/ipc/launcherConfig.d.ts.map +1 -1
- package/typings/generated/ipc/sources.d.ts +0 -7
- package/typings/generated/ipc/sources.d.ts.map +1 -1
- package/typings/generated/main/index.d.ts +1 -9
- package/typings/generated/main/index.d.ts.map +1 -1
- package/typings/generated/nrfutil/version/jlinkVersion.d.ts +4 -4
- package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts.map +1 -1
- package/typings/generated/src/index.d.ts +1 -1
- package/typings/generated/src/index.d.ts.map +1 -1
package/Changelog.md
CHANGED
|
@@ -7,6 +7,30 @@ This project does _not_ adhere to
|
|
|
7
7
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html) but contrary to it
|
|
8
8
|
every new version is a new major version.
|
|
9
9
|
|
|
10
|
+
## 224.0.0 - 2025-08-27
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Apps did not reload after restoring the default settings.
|
|
15
|
+
|
|
16
|
+
### Removed
|
|
17
|
+
|
|
18
|
+
- Removed the `isSkipUpdate*` properties from the launcher config.
|
|
19
|
+
|
|
20
|
+
## 223.0.0 - 2025-07-28
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- Return value of `getDownloadableApps` has less fields now and some more
|
|
25
|
+
exports were removed, because they were only needed in the launcher and
|
|
26
|
+
having them in shared made changes harder in the launcher.
|
|
27
|
+
|
|
28
|
+
## 222.0.0 - 2025-07-23
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- Automatic publishing of shared.
|
|
33
|
+
|
|
10
34
|
## 221.0.0 - 2025-07-21
|
|
11
35
|
|
|
12
36
|
### Added
|
|
@@ -95,7 +119,7 @@ every new version is a new major version.
|
|
|
95
119
|
|
|
96
120
|
### Added
|
|
97
121
|
|
|
98
|
-
- Specify what core version of
|
|
122
|
+
- Specify what core version of nRF Util an app depends on.
|
|
99
123
|
|
|
100
124
|
### Removed
|
|
101
125
|
|
|
@@ -108,7 +132,7 @@ every new version is a new major version.
|
|
|
108
132
|
### Steps to upgrade when using this package
|
|
109
133
|
|
|
110
134
|
- In apps in `package.json` set the field `nrfConnectForDesktop.nrfutilCore`
|
|
111
|
-
to the core version of
|
|
135
|
+
to the core version of nRF Util that the nRF Util commands will use.
|
|
112
136
|
- Replace usage of `prepareSandbox` with `NrfutilSandbox.create`
|
|
113
137
|
- Update calls of `xRead`.
|
|
114
138
|
|
|
@@ -127,18 +151,18 @@ every new version is a new major version.
|
|
|
127
151
|
- Scrollbars no longer appear in the device list for a second when
|
|
128
152
|
disconnecting a device.
|
|
129
153
|
- `Dropdown` active label now handles overflow.
|
|
130
|
-
-
|
|
154
|
+
- nRF Util device batch will not run if no subcommand has been added to the
|
|
131
155
|
batch.
|
|
132
156
|
|
|
133
157
|
### Steps to upgrade when using this package
|
|
134
158
|
|
|
135
|
-
- Minimum version of nrfutil
|
|
159
|
+
- Minimum version of `nrfutil device` is 2.7.16.
|
|
136
160
|
|
|
137
161
|
## 209.0.0 - 2025-04-30
|
|
138
162
|
|
|
139
163
|
### Changed
|
|
140
164
|
|
|
141
|
-
-
|
|
165
|
+
- `nrfutil device` use of `fw-read` is replaced with `x-read`.
|
|
142
166
|
|
|
143
167
|
### Steps to upgrade when using this package
|
|
144
168
|
|
|
@@ -195,11 +219,11 @@ every new version is a new major version.
|
|
|
195
219
|
|
|
196
220
|
### Added
|
|
197
221
|
|
|
198
|
-
- `nrf-probe` verison check for nrfutil device
|
|
222
|
+
- `nrf-probe` verison check for `nrfutil device`.
|
|
199
223
|
|
|
200
224
|
### Removed
|
|
201
225
|
|
|
202
|
-
- `nrfjprog` verison check for nrfutil device
|
|
226
|
+
- `nrfjprog` verison check for `nrfutil device`.
|
|
203
227
|
|
|
204
228
|
### Changed
|
|
205
229
|
|
|
@@ -292,7 +316,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
292
316
|
|
|
293
317
|
### Fixed
|
|
294
318
|
|
|
295
|
-
-
|
|
319
|
+
- nRF Util: mcu-state-set caused an error if no target was specified.
|
|
296
320
|
|
|
297
321
|
## 193.0.0 - 2024-12-04
|
|
298
322
|
|
|
@@ -315,9 +339,9 @@ Overrides v202 as it was released a prerelease.
|
|
|
315
339
|
|
|
316
340
|
### Changed
|
|
317
341
|
|
|
318
|
-
-
|
|
319
|
-
-
|
|
320
|
-
reflecting the behaviour since `nrfutil
|
|
342
|
+
- nRF Util: The core gets upgraded before installing a command.
|
|
343
|
+
- nRF Util: The `version` properties of dependencies are now optional,
|
|
344
|
+
reflecting the behaviour since `nrfutil device` v2.7.0.
|
|
321
345
|
- Warning for J-Link versions: Only inform (not warn) if the installed version
|
|
322
346
|
is newer than the tested version. Updated the text for all cases.
|
|
323
347
|
|
|
@@ -337,11 +361,11 @@ Overrides v202 as it was released a prerelease.
|
|
|
337
361
|
|
|
338
362
|
- Dropdown helper functions which are used in `pc-nrfconnect-serial-terminal`
|
|
339
363
|
and `pc-nrfconnect-programmer`.
|
|
340
|
-
- Add
|
|
364
|
+
- Add nRF Util `mcu-state-options` for multi target support.
|
|
341
365
|
|
|
342
366
|
### Steps to upgrade when using this package
|
|
343
367
|
|
|
344
|
-
- Minimum support version of nrfutil device is now 2.5.0
|
|
368
|
+
- Minimum support version of `nrfutil device` is now 2.5.0.
|
|
345
369
|
|
|
346
370
|
## 188.0.0 - 2024-10-15
|
|
347
371
|
|
|
@@ -383,7 +407,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
383
407
|
|
|
384
408
|
### Fixed
|
|
385
409
|
|
|
386
|
-
- Stop
|
|
410
|
+
- Stop nRF Util sandbox from starting to run an aborted command.
|
|
387
411
|
- Device setup event call order when autoreconnecting at the same time as
|
|
388
412
|
selecting.
|
|
389
413
|
|
|
@@ -424,13 +448,13 @@ Overrides v202 as it was released a prerelease.
|
|
|
424
448
|
|
|
425
449
|
### Changed
|
|
426
450
|
|
|
427
|
-
-
|
|
451
|
+
- nRF Util sandbox deletes any residual sandbox folder before install.
|
|
428
452
|
|
|
429
453
|
## 180.0.0 - 2024-07-01
|
|
430
454
|
|
|
431
455
|
### Changed
|
|
432
456
|
|
|
433
|
-
-
|
|
457
|
+
- nRF Util sandbox folder is deleted if installation fails.
|
|
434
458
|
|
|
435
459
|
## 179.0.0 - 2024-06-20
|
|
436
460
|
|
|
@@ -464,7 +488,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
464
488
|
|
|
465
489
|
### Fixed
|
|
466
490
|
|
|
467
|
-
-
|
|
491
|
+
- nRF Util Sandbox s installed on Apple Silicon now uses the arm64 folder and
|
|
468
492
|
not the intel one.
|
|
469
493
|
|
|
470
494
|
## 175.0.0 - 2024-05-02
|
|
@@ -500,7 +524,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
500
524
|
|
|
501
525
|
### Added
|
|
502
526
|
|
|
503
|
-
- Support for splitting M1 and x64
|
|
527
|
+
- Support for splitting M1 and x64 nRF Util sandboxes.
|
|
504
528
|
|
|
505
529
|
## 172.0.0 - 2024-04-15
|
|
506
530
|
|
|
@@ -588,7 +612,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
588
612
|
|
|
589
613
|
### Added
|
|
590
614
|
|
|
591
|
-
- Auto update
|
|
615
|
+
- Auto update nRF Util core for sandboxes
|
|
592
616
|
|
|
593
617
|
## 164.0.0 - 2024-03-05
|
|
594
618
|
|
|
@@ -679,11 +703,11 @@ Overrides v202 as it was released a prerelease.
|
|
|
679
703
|
### Changed
|
|
680
704
|
|
|
681
705
|
- `getReadbackProtection` now returns protection type `ProtectionStatus` from
|
|
682
|
-
nrfutil device common.ts
|
|
706
|
+
`nrfutil device` common.ts
|
|
683
707
|
|
|
684
708
|
### Steps to upgrade when using this package
|
|
685
709
|
|
|
686
|
-
- Minimum support version of nrfutil device is now 2.1.1
|
|
710
|
+
- Minimum support version of `nrfutil device` is now 2.1.1.
|
|
687
711
|
|
|
688
712
|
## 157.0.0 - 2024-02-06
|
|
689
713
|
|
|
@@ -764,9 +788,9 @@ Overrides v202 as it was released a prerelease.
|
|
|
764
788
|
### Fixed
|
|
765
789
|
|
|
766
790
|
- `Overlay` tooltips weren't centered due to incorrect sizing styles.
|
|
767
|
-
- When spawning the
|
|
791
|
+
- When spawning the nRF Util process fails in certain ways, an uncaught
|
|
768
792
|
exception in the main process got thrown. The “certain ways” make this a bit
|
|
769
|
-
hard to reproduce: On macOS this happened, when the
|
|
793
|
+
hard to reproduce: On macOS this happened, when the nRF Util executable did
|
|
770
794
|
not have the executable file mode. Usually this should not happen, because
|
|
771
795
|
we set that mode ourselves correctly.
|
|
772
796
|
|
|
@@ -790,10 +814,10 @@ Overrides v202 as it was released a prerelease.
|
|
|
790
814
|
### Added
|
|
791
815
|
|
|
792
816
|
- `getModule` export from `@nordicsemiconductor/pc-nrfconnect-shared/nrfutil`
|
|
793
|
-
to retrieve/initialise specific
|
|
817
|
+
to retrieve/initialise specific nRF Util module sandbox.
|
|
794
818
|
- `setVerboseLogging`, `setLogLevel` and `getAllModuleVersions` exports from
|
|
795
819
|
`@nordicsemiconductor/pc-nrfconnect-shared/nrfutil` to target all
|
|
796
|
-
initialised
|
|
820
|
+
initialised nRF Util modules.
|
|
797
821
|
|
|
798
822
|
### Changed
|
|
799
823
|
|
|
@@ -802,14 +826,14 @@ Overrides v202 as it was released a prerelease.
|
|
|
802
826
|
(previously this was only used to determine whether an app should have
|
|
803
827
|
verbose logging enabled on startup). This allows code which does/should not
|
|
804
828
|
have access to the redux store to still retrieve the verbose logging state.
|
|
805
|
-
- `Create system report` now logs the version of all initialised
|
|
829
|
+
- `Create system report` now logs the version of all initialised nRF Util
|
|
806
830
|
modules.
|
|
807
|
-
- nrfutil device exports have now been moved to
|
|
831
|
+
- `nrfutil device` exports have now been moved to
|
|
808
832
|
`@nordicsemiconductor/pc-nrfconnect-shared/nrfutil/device`.
|
|
809
833
|
|
|
810
834
|
### Steps to upgrade
|
|
811
835
|
|
|
812
|
-
- Replace all calls of nrfutil device imported from
|
|
836
|
+
- Replace all calls of `nrfutil device` imported from
|
|
813
837
|
`@nordicsemiconductor/pc-nrfconnect-shared/nrfutil` to
|
|
814
838
|
`@nordicsemiconductor/pc-nrfconnect-shared/nrfutil/device`.
|
|
815
839
|
|
|
@@ -889,7 +913,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
889
913
|
### Added
|
|
890
914
|
|
|
891
915
|
- Added command wrappers to interact with the Board Controller using
|
|
892
|
-
`nrfutil
|
|
916
|
+
`nrfutil device`. `boardController()` to write board controller config to
|
|
893
917
|
the DK. `getBoardControllerVersion()` to get the version information from
|
|
894
918
|
the Board Controller. (like firmware version and board hardware revision)
|
|
895
919
|
|
|
@@ -901,7 +925,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
901
925
|
|
|
902
926
|
### Fixed
|
|
903
927
|
|
|
904
|
-
-
|
|
928
|
+
- nRF Util sandbox `execCommand` did not escape executable path leading to
|
|
905
929
|
failure when path has whitespace
|
|
906
930
|
|
|
907
931
|
## 137.0.0 - 2023-12-04
|
|
@@ -925,7 +949,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
925
949
|
dependency of a useEffect
|
|
926
950
|
- `useStopWatch` start optional time param no longer default to the last time
|
|
927
951
|
when paused but 0.
|
|
928
|
-
- `nrfutil device
|
|
952
|
+
- `nrfutil device device-info` returns undefined if reading info throws
|
|
929
953
|
|
|
930
954
|
### Steps to upgrade when using this package
|
|
931
955
|
|
|
@@ -966,7 +990,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
966
990
|
|
|
967
991
|
### Changed
|
|
968
992
|
|
|
969
|
-
-
|
|
993
|
+
- nRF Util `sandbox` default logging level to 'off' in production and 'error'
|
|
970
994
|
in development environments
|
|
971
995
|
|
|
972
996
|
## 132.0.0 - 2023-11-14
|
|
@@ -998,7 +1022,7 @@ Overrides v202 as it was released a prerelease.
|
|
|
998
1022
|
### Fixed
|
|
999
1023
|
|
|
1000
1024
|
- Ensure that all enumerated devices are always processed in order to avoid:
|
|
1001
|
-
- calling nrfutil device-info multiple times for the same device
|
|
1025
|
+
- calling `nrfutil device-info` multiple times for the same device
|
|
1002
1026
|
- only calling onSuccess once when waiting for device when rebooting
|
|
1003
1027
|
- `nrfutil device` now calls `device-info` before notifying the app with an
|
|
1004
1028
|
onSelectedDevice. This is to ensure the operations to the device are
|
|
@@ -1008,17 +1032,17 @@ Overrides v202 as it was released a prerelease.
|
|
|
1008
1032
|
|
|
1009
1033
|
### Added
|
|
1010
1034
|
|
|
1011
|
-
-
|
|
1012
|
-
|
|
1013
|
-
-
|
|
1035
|
+
- nRF Util sandbox now allows caller to pass optional lambda to manipulate the
|
|
1036
|
+
env values
|
|
1037
|
+
- nRF Util provides an alternative to spawn and just exec
|
|
1014
1038
|
- `nrfutil device` auto logs version information when it is initialed for the
|
|
1015
1039
|
first time.
|
|
1016
1040
|
|
|
1017
1041
|
### Changed
|
|
1018
1042
|
|
|
1019
|
-
- `ErrorBoundary` only collect device lib info if these app adds
|
|
1020
|
-
device as a dependency in `package.json`
|
|
1021
|
-
- `App` no longer logs nrfutil device version.
|
|
1043
|
+
- `ErrorBoundary` only collect device lib info if these app adds
|
|
1044
|
+
`nrfutil device` as a dependency in `package.json`
|
|
1045
|
+
- `App` no longer logs `nrfutil device` version.
|
|
1022
1046
|
|
|
1023
1047
|
## 128.0.0 - 2023-11-08
|
|
1024
1048
|
|
|
@@ -1192,7 +1216,7 @@ render(<App panes={[]} />);
|
|
|
1192
1216
|
|
|
1193
1217
|
### Fixed
|
|
1194
1218
|
|
|
1195
|
-
-
|
|
1219
|
+
- nRF Util's abort log messages is now more descriptive
|
|
1196
1220
|
- `nrfutil device batch` could previously call the `onException` when task was
|
|
1197
1221
|
complete.
|
|
1198
1222
|
|
|
@@ -1264,7 +1288,7 @@ declare module '!!@svgr!*.svg' {
|
|
|
1264
1288
|
|
|
1265
1289
|
### Changed
|
|
1266
1290
|
|
|
1267
|
-
- Improve
|
|
1291
|
+
- Improve nRF Util sandbox error messages.
|
|
1268
1292
|
|
|
1269
1293
|
### Added
|
|
1270
1294
|
|
|
@@ -1293,7 +1317,7 @@ declare module '!!@svgr!*.svg' {
|
|
|
1293
1317
|
|
|
1294
1318
|
### Added
|
|
1295
1319
|
|
|
1296
|
-
- Log warning for any
|
|
1320
|
+
- Log warning for any device that was not enumerated with `nrfutil device`.
|
|
1297
1321
|
|
|
1298
1322
|
### Fixed
|
|
1299
1323
|
|
|
@@ -1303,8 +1327,8 @@ declare module '!!@svgr!*.svg' {
|
|
|
1303
1327
|
|
|
1304
1328
|
### Changed
|
|
1305
1329
|
|
|
1306
|
-
- `
|
|
1307
|
-
nrfutil device 1.4.2
|
|
1330
|
+
- `nrfutil device` batch now generate batch JSON using the CLI. Requires
|
|
1331
|
+
`nrfutil device` 1.4.2
|
|
1308
1332
|
|
|
1309
1333
|
### Fixed
|
|
1310
1334
|
|
|
@@ -1347,25 +1371,25 @@ declare module '!!@svgr!*.svg' {
|
|
|
1347
1371
|
|
|
1348
1372
|
### Fixed
|
|
1349
1373
|
|
|
1350
|
-
- Unable to use nrfutil device in production due to issue with
|
|
1351
|
-
logging when set to off.
|
|
1374
|
+
- Unable to use `nrfutil device` in production due to issue with
|
|
1375
|
+
`nrfutil device` logging when set to off.
|
|
1352
1376
|
|
|
1353
1377
|
## 99.0.0 - 2023-09-04
|
|
1354
1378
|
|
|
1355
1379
|
### Added
|
|
1356
1380
|
|
|
1357
|
-
- nrfutil device list now supports optional timeout parameter
|
|
1381
|
+
- `nrfutil device list` now supports optional timeout parameter
|
|
1358
1382
|
|
|
1359
1383
|
### Changed
|
|
1360
1384
|
|
|
1361
|
-
-
|
|
1385
|
+
- `nrfutil device list` now default to 3000ms timeout when enumerating (was
|
|
1362
1386
|
1000ms)
|
|
1363
|
-
-
|
|
1364
|
-
-
|
|
1387
|
+
- `nrfutil device` now support `nrfutil device` 1.4.x only
|
|
1388
|
+
- `nrfutil device` will not log in production unless verbose logging is on
|
|
1365
1389
|
|
|
1366
1390
|
### Fixed
|
|
1367
1391
|
|
|
1368
|
-
-
|
|
1392
|
+
- `nrfutil device` std error message string
|
|
1369
1393
|
- When SDFU MCU State change fails, wait for device is now canceled
|
|
1370
1394
|
|
|
1371
1395
|
### Removed
|
|
@@ -1440,19 +1464,19 @@ declare module '!!@svgr!*.svg' {
|
|
|
1440
1464
|
|
|
1441
1465
|
### Added
|
|
1442
1466
|
|
|
1443
|
-
-
|
|
1467
|
+
- nRF Util progress now has a new property `totalProgressPercentage` that
|
|
1444
1468
|
computes the progress across all steps
|
|
1445
1469
|
|
|
1446
1470
|
### Changed
|
|
1447
1471
|
|
|
1448
|
-
-
|
|
1472
|
+
- nRF Util progress properties `step` and `amountOfSteps` are now always
|
|
1449
1473
|
present
|
|
1450
|
-
-
|
|
1474
|
+
- nRF Util progress properties `progressPercentage` has been renamed to
|
|
1451
1475
|
`stepProgressPercentage`
|
|
1452
1476
|
|
|
1453
1477
|
### Steps to upgrade
|
|
1454
1478
|
|
|
1455
|
-
- Any usage of
|
|
1479
|
+
- Any usage of nRF Util property `progressPercentage` need to be renamed to
|
|
1456
1480
|
`stepProgressPercentage`
|
|
1457
1481
|
|
|
1458
1482
|
## 92.0.0 - 2023-08-24
|
package/README.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# Shared commodities for developing nRF Connect for Desktop
|
|
2
2
|
|
|
3
|
-
[](https://dev.azure.com/NordicSemiconductor/Wayland/_build/latest?definitionId=31&branchName=master)
|
|
4
|
-
|
|
5
3
|
This project provides shared commodities for developing nRF Connect for Desktop
|
|
6
4
|
apps and their launcher:
|
|
7
5
|
|
|
@@ -10,30 +8,41 @@ apps and their launcher:
|
|
|
10
8
|
- Configurations
|
|
11
9
|
- Test facilities
|
|
12
10
|
|
|
11
|
+
## Developing a new feature or fixing an error
|
|
12
|
+
|
|
13
|
+
Whenever something is changed in pc-nrfconnect-shared, an entry should be added
|
|
14
|
+
to `Changelog.md`.
|
|
15
|
+
|
|
16
|
+
If there is no latest entry there yet, and you do not intend to release the
|
|
17
|
+
change as a new version right ahead, add a new section with the heading
|
|
18
|
+
`## Unreleased` at the top.
|
|
19
|
+
|
|
13
20
|
## Releasing
|
|
14
21
|
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
To release, two files must be up-to-date:
|
|
23
|
+
|
|
24
|
+
- `package.json` contain the correct version number (one more than the last
|
|
25
|
+
release).
|
|
26
|
+
- `Changelog.md` must contain an entry, with that version number and today's
|
|
27
|
+
date.
|
|
17
28
|
|
|
18
|
-
|
|
29
|
+
By running `npm run prepare-shared-release` you update the version in
|
|
30
|
+
`package.json` and in `Changelog.md` a potential `## Unreleased` heading is
|
|
31
|
+
updated to the right version and today‘s date.
|
|
19
32
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
`## X.0.0 - YYYY-MM-DD`.
|
|
23
|
-
- Commit and push your changes
|
|
33
|
+
When those conditions are met, a new release of shared will automatically be
|
|
34
|
+
created when the according PR is merged into main.
|
|
24
35
|
|
|
25
|
-
|
|
36
|
+
## Unpublishing a version
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
action.
|
|
30
|
-
- Click "Run workflow".
|
|
31
|
-
- Optionally select a ref to release, but usually this should be `main` and
|
|
32
|
-
can be left empty.
|
|
38
|
+
If you need to unpublish a specific version from npm (e.g., due to a critical
|
|
39
|
+
bug), you can use the "Unpublish npm version" GitHub Action:
|
|
33
40
|
|
|
34
|
-
|
|
41
|
+
1. Go to the
|
|
42
|
+
[Unpublish npm version GitHub Action](https://github.com/NordicSemiconductor/pc-nrfconnect-shared/actions/workflows/unpublish-npm-version.yml)
|
|
43
|
+
and run the workflow.
|
|
44
|
+
1. Enter the version to unpublish (e.g., `221.0.0`)
|
|
35
45
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- Publish to npm.
|
|
46
|
+
**Warning:** Unpublishing a version from npm is irreversible and should only be
|
|
47
|
+
done in exceptional circumstances (e.g., security vulnerabilities, critical
|
|
48
|
+
bugs).
|
package/ipc/apps.ts
CHANGED
|
@@ -11,7 +11,7 @@ import type {
|
|
|
11
11
|
NrfutilModuleVersion,
|
|
12
12
|
UrlString,
|
|
13
13
|
} from './MetaFiles';
|
|
14
|
-
import { LOCAL,
|
|
14
|
+
import { LOCAL, SourceName } from './sources';
|
|
15
15
|
|
|
16
16
|
export interface AppSpec {
|
|
17
17
|
name: string;
|
|
@@ -75,18 +75,11 @@ export type LaunchableApp = LocalApp | InstalledDownloadableApp | WithdrawnApp;
|
|
|
75
75
|
|
|
76
76
|
export type App = LocalApp | DownloadableApp;
|
|
77
77
|
|
|
78
|
-
export
|
|
79
|
-
reason: unknown;
|
|
80
|
-
path: string;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
const channel = {
|
|
78
|
+
export const channel = {
|
|
84
79
|
getDownloadableApps: 'apps:get-downloadable-apps',
|
|
85
80
|
installDownloadableApp: 'apps:install-downloadable-app',
|
|
86
81
|
};
|
|
87
82
|
|
|
88
|
-
export type SourceWithError = { source: Source; reason?: string };
|
|
89
|
-
|
|
90
83
|
export const isDownloadable = (app?: App): app is DownloadableApp =>
|
|
91
84
|
app != null && app?.source !== LOCAL;
|
|
92
85
|
|
|
@@ -115,10 +108,8 @@ export const isUpdatable = (app?: App): app is InstalledDownloadableApp =>
|
|
|
115
108
|
latestVersionHasDifferentChecksum(app));
|
|
116
109
|
|
|
117
110
|
// getDownloadableApps
|
|
118
|
-
type GetDownloadableAppsResult = {
|
|
111
|
+
export type GetDownloadableAppsResult = {
|
|
119
112
|
apps: DownloadableApp[];
|
|
120
|
-
appsWithErrors: AppWithError[];
|
|
121
|
-
sourcesWithErrors: SourceWithError[];
|
|
122
113
|
};
|
|
123
114
|
|
|
124
115
|
type GetDownloadableApps = () => GetDownloadableAppsResult;
|
package/ipc/launcherConfig.ts
CHANGED
package/ipc/sources.ts
CHANGED
|
@@ -4,16 +4,11 @@
|
|
|
4
4
|
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { UrlString } from './MetaFiles';
|
|
8
|
-
|
|
9
7
|
enum StandardSourceNames {
|
|
10
8
|
OFFICIAL = 'official',
|
|
11
9
|
LOCAL = 'local',
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
export const { LOCAL, OFFICIAL } = StandardSourceNames;
|
|
15
|
-
export const allStandardSourceNames: SourceName[] = [OFFICIAL, LOCAL];
|
|
16
13
|
|
|
17
14
|
export type SourceName = string;
|
|
18
|
-
export type SourceUrl = UrlString;
|
|
19
|
-
export type Source = { name: SourceName; url: SourceUrl };
|
|
@@ -35,29 +35,29 @@ export default (moduleVersion: ModuleVersion) => {
|
|
|
35
35
|
try {
|
|
36
36
|
const dependencies = moduleVersion.dependencies;
|
|
37
37
|
|
|
38
|
-
log('nrfutil
|
|
38
|
+
log('nrfutil device', moduleVersion.version);
|
|
39
39
|
log('nrf-device-lib', findDependency('nrfdl', dependencies));
|
|
40
40
|
log('nrf-probe', findDependency('nrf-probe', dependencies));
|
|
41
|
-
log('
|
|
41
|
+
log('SEGGER J-Link', findDependency('JlinkARM', dependencies));
|
|
42
42
|
|
|
43
43
|
const jlinkCompatibility = getJlinkCompatibility(moduleVersion);
|
|
44
44
|
|
|
45
45
|
switch (jlinkCompatibility.kind) {
|
|
46
|
-
case 'No J-Link installed':
|
|
46
|
+
case 'No SEGGER J-Link installed':
|
|
47
47
|
logger?.warn(
|
|
48
48
|
`SEGGER J-Link is not installed. ` +
|
|
49
49
|
`Install at least version ${jlinkCompatibility.requiredJlink} ` +
|
|
50
50
|
`from https://www.segger.com/downloads/jlink`
|
|
51
51
|
);
|
|
52
52
|
break;
|
|
53
|
-
case 'Outdated J-Link':
|
|
53
|
+
case 'Outdated SEGGER J-Link':
|
|
54
54
|
logger?.warn(
|
|
55
55
|
`Outdated SEGGER J-Link. Your version of SEGGER J-Link (${jlinkCompatibility.actualJlink}) ` +
|
|
56
56
|
`is older than the one this app was tested with (${jlinkCompatibility.requiredJlink}). ` +
|
|
57
57
|
`Install the newer version from https://www.segger.com/downloads/jlink`
|
|
58
58
|
);
|
|
59
59
|
break;
|
|
60
|
-
case 'Newer J-Link is used':
|
|
60
|
+
case 'Newer SEGGER J-Link is used':
|
|
61
61
|
logger?.info(
|
|
62
62
|
`Your version of SEGGER J-Link (${jlinkCompatibility.actualJlink}) ` +
|
|
63
63
|
`is newer than the one this app was tested with (${jlinkCompatibility.requiredJlink}). ` +
|
package/nrfutil/sandbox.ts
CHANGED
|
@@ -190,7 +190,7 @@ export class NrfutilSandbox {
|
|
|
190
190
|
this.coreVersion ?? CORE_VERSION_FOR_LEGACY_APPS;
|
|
191
191
|
if (currentCoreVersion.version === requestedCoreVersion) {
|
|
192
192
|
getNrfutilLogger()?.debug(
|
|
193
|
-
`Requested
|
|
193
|
+
`Requested nRF Util's core version ${requestedCoreVersion} is already installed.`
|
|
194
194
|
);
|
|
195
195
|
|
|
196
196
|
return;
|
|
@@ -206,7 +206,7 @@ describe('getJlinkCompatibility', () => {
|
|
|
206
206
|
...dependencies: Dependency[]
|
|
207
207
|
): ModuleVersion => ({
|
|
208
208
|
classification: 'nrf-external',
|
|
209
|
-
name: 'nrfutil
|
|
209
|
+
name: 'nrfutil device',
|
|
210
210
|
version: '2.5.0',
|
|
211
211
|
build_timestamp: '',
|
|
212
212
|
commit_date: '',
|
|
@@ -227,15 +227,15 @@ describe('getJlinkCompatibility', () => {
|
|
|
227
227
|
host: '',
|
|
228
228
|
});
|
|
229
229
|
|
|
230
|
-
it(`Reports no installed J-Link for for module versions reported by nrfutil
|
|
230
|
+
it(`Reports no installed SEGGER J-Link for for module versions reported by nrfutil device before v2.7`, () => {
|
|
231
231
|
expect(getJlinkCompatibility(createModuleVersion())).toEqual({
|
|
232
|
-
kind: 'No J-Link installed',
|
|
232
|
+
kind: 'No SEGGER J-Link installed',
|
|
233
233
|
requiredJlink: '7.94e',
|
|
234
234
|
actualJlink: 'none',
|
|
235
235
|
});
|
|
236
236
|
});
|
|
237
237
|
|
|
238
|
-
it(`Reports no installed J-Link for for module versions reported by nrfutil
|
|
238
|
+
it(`Reports no installed SEGGER J-Link for for module versions reported by nrfutil device since v2.7`, () => {
|
|
239
239
|
expect(
|
|
240
240
|
getJlinkCompatibility(
|
|
241
241
|
createModuleVersion({
|
|
@@ -247,13 +247,13 @@ describe('getJlinkCompatibility', () => {
|
|
|
247
247
|
})
|
|
248
248
|
)
|
|
249
249
|
).toEqual({
|
|
250
|
-
kind: 'No J-Link installed',
|
|
250
|
+
kind: 'No SEGGER J-Link installed',
|
|
251
251
|
requiredJlink: '8.10f',
|
|
252
252
|
actualJlink: 'none',
|
|
253
253
|
});
|
|
254
254
|
});
|
|
255
255
|
|
|
256
|
-
it(`Reports an outdated J-Link version`, () => {
|
|
256
|
+
it(`Reports an outdated SEGGER J-Link version`, () => {
|
|
257
257
|
expect(
|
|
258
258
|
getJlinkCompatibility(
|
|
259
259
|
createModuleVersion({
|
|
@@ -267,13 +267,13 @@ describe('getJlinkCompatibility', () => {
|
|
|
267
267
|
})
|
|
268
268
|
)
|
|
269
269
|
).toEqual({
|
|
270
|
-
kind: 'Outdated J-Link',
|
|
270
|
+
kind: 'Outdated SEGGER J-Link',
|
|
271
271
|
requiredJlink: '7.94i',
|
|
272
272
|
actualJlink: '7.94e',
|
|
273
273
|
});
|
|
274
274
|
});
|
|
275
275
|
|
|
276
|
-
it(`Reports a newer J-Link version is used`, () => {
|
|
276
|
+
it(`Reports a newer SEGGER J-Link version is used`, () => {
|
|
277
277
|
expect(
|
|
278
278
|
getJlinkCompatibility(
|
|
279
279
|
createModuleVersion({
|
|
@@ -287,13 +287,13 @@ describe('getJlinkCompatibility', () => {
|
|
|
287
287
|
})
|
|
288
288
|
)
|
|
289
289
|
).toEqual({
|
|
290
|
-
kind: 'Newer J-Link is used',
|
|
290
|
+
kind: 'Newer SEGGER J-Link is used',
|
|
291
291
|
requiredJlink: '7.94i',
|
|
292
292
|
actualJlink: '8.10f',
|
|
293
293
|
});
|
|
294
294
|
});
|
|
295
295
|
|
|
296
|
-
it(`Reports the tested J-Link version is used`, () => {
|
|
296
|
+
it(`Reports the tested SEGGER J-Link version is used`, () => {
|
|
297
297
|
expect(
|
|
298
298
|
getJlinkCompatibility(
|
|
299
299
|
createModuleVersion({
|
|
@@ -306,10 +306,10 @@ describe('getJlinkCompatibility', () => {
|
|
|
306
306
|
},
|
|
307
307
|
})
|
|
308
308
|
)
|
|
309
|
-
).toEqual({ kind: 'Tested J-Link is used' });
|
|
309
|
+
).toEqual({ kind: 'Tested SEGGER J-Link is used' });
|
|
310
310
|
});
|
|
311
311
|
|
|
312
|
-
it(`Reports the tested J-Link version is used by specifying no expected version`, () => {
|
|
312
|
+
it(`Reports the tested SEGGER J-Link version is used by specifying no expected version`, () => {
|
|
313
313
|
expect(
|
|
314
314
|
getJlinkCompatibility(
|
|
315
315
|
createModuleVersion({
|
|
@@ -318,6 +318,6 @@ describe('getJlinkCompatibility', () => {
|
|
|
318
318
|
versionFormat: 'string',
|
|
319
319
|
})
|
|
320
320
|
)
|
|
321
|
-
).toEqual({ kind: 'Tested J-Link is used' });
|
|
321
|
+
).toEqual({ kind: 'Tested SEGGER J-Link is used' });
|
|
322
322
|
});
|
|
323
323
|
});
|