@nordicsemiconductor/pc-nrfconnect-shared 60.0.0-pre2 → 78.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.
Files changed (515) hide show
  1. package/Changelog.md +3229 -0
  2. package/config/colors.js +46 -0
  3. package/config/eslintrc.js +190 -0
  4. package/config/jest.config.js +41 -0
  5. package/config/prettier.config.js +13 -0
  6. package/config/tailwind.config.js +25 -0
  7. package/config/tsconfig.json +16 -0
  8. package/dist/bootstrap.css +1 -1
  9. package/fw/bootloader/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip +0 -0
  10. package/main/index.ts +30 -0
  11. package/mocks/deviceLibMock.ts +21 -0
  12. package/mocks/electronMock.ts +17 -0
  13. package/mocks/electronStoreMock.ts +19 -0
  14. package/mocks/emptyMock.ts +7 -0
  15. package/mocks/fileMock.ts +13 -0
  16. package/mocks/gaMock.ts +9 -0
  17. package/mocks/mockTests.test.ts +15 -0
  18. package/mocks/packageJsonMock.ts +10 -0
  19. package/mocks/remoteMock.ts +17 -0
  20. package/package.json +30 -20
  21. package/scripts/check-app-properties.ts +1 -1
  22. package/scripts/esbuild-bootstrap.js +15 -0
  23. package/scripts/esbuild-renderer.js +141 -0
  24. package/scripts/esbuild.js +3 -3
  25. package/scripts/installHusky.ts +17 -0
  26. package/scripts/nordic-publish.js +89 -0
  27. package/scripts/nordic-publish.ts +1 -1
  28. package/scripts/prepare-shared-release.ts +122 -0
  29. package/scripts/release-shared.test.ts +132 -0
  30. package/scripts/release-shared.ts +207 -0
  31. package/src/About/About.tsx +31 -0
  32. package/src/About/AboutButton.tsx +28 -0
  33. package/src/About/ApplicationCard.tsx +52 -0
  34. package/src/About/DeviceCard.tsx +76 -0
  35. package/src/About/DocumentationCard.tsx +21 -0
  36. package/src/About/DocumentationSection.tsx +24 -0
  37. package/src/About/Section.tsx +21 -0
  38. package/src/About/ShortcutButton.tsx +41 -0
  39. package/src/About/SupportCard.tsx +102 -0
  40. package/src/About/about.scss +40 -0
  41. package/src/About/shortcutSlice.ts +52 -0
  42. package/src/Alert/Alert.module.scss +29 -0
  43. package/src/Alert/Alert.tsx +37 -0
  44. package/src/App/App.test.tsx +47 -0
  45. package/src/App/App.tsx +252 -0
  46. package/src/App/ConnectedToStore.tsx +19 -0
  47. package/src/App/VisibilityBar.tsx +103 -0
  48. package/src/App/app.scss +83 -0
  49. package/src/App/appLayout.ts +94 -0
  50. package/src/App/preflight.scss +443 -0
  51. package/src/App/shared.scss +49 -0
  52. package/src/App/tailwind.css +12 -0
  53. package/src/App/visibility-bar.scss +55 -0
  54. package/src/Button/Button.tsx +76 -0
  55. package/src/Card/Card.tsx +26 -0
  56. package/src/Card/card.module.scss +28 -0
  57. package/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.tsx +58 -0
  58. package/src/Device/BrokenDeviceDialog/broken-device-dialog.scss +18 -0
  59. package/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.tsx +48 -0
  60. package/src/Device/DeviceSelector/BasicDeviceInfo.tsx +115 -0
  61. package/src/Device/DeviceSelector/DeviceIcon.tsx +27 -0
  62. package/src/Device/DeviceSelector/DeviceList/AnimatedList.tsx +62 -0
  63. package/src/Device/DeviceSelector/DeviceList/BrokenDevice.tsx +34 -0
  64. package/src/Device/DeviceSelector/DeviceList/Device.tsx +84 -0
  65. package/src/Device/DeviceSelector/DeviceList/DeviceList.tsx +113 -0
  66. package/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.tsx +28 -0
  67. package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +65 -0
  68. package/src/Device/DeviceSelector/DeviceList/RenameDevice.tsx +22 -0
  69. package/src/Device/DeviceSelector/DeviceList/broken-device.scss +32 -0
  70. package/src/Device/DeviceSelector/DeviceList/device-list.scss +64 -0
  71. package/src/Device/DeviceSelector/DeviceList/device.scss +28 -0
  72. package/src/Device/DeviceSelector/DeviceList/edit-device-buttons.scss +31 -0
  73. package/src/Device/DeviceSelector/DeviceList/more-device-info.scss +33 -0
  74. package/src/Device/DeviceSelector/DeviceList/rename-device.scss +13 -0
  75. package/src/Device/DeviceSelector/DeviceSelector.test.tsx +342 -0
  76. package/src/Device/DeviceSelector/DeviceSelector.tsx +176 -0
  77. package/src/Device/DeviceSelector/Favorite.tsx +49 -0
  78. package/src/Device/DeviceSelector/SelectDevice.tsx +36 -0
  79. package/src/Device/DeviceSelector/SelectedDevice.tsx +65 -0
  80. package/src/Device/DeviceSelector/arrow-down.svg +1 -0
  81. package/src/Device/DeviceSelector/basic-device-info.scss +62 -0
  82. package/src/Device/DeviceSelector/device-icon.scss +27 -0
  83. package/src/Device/DeviceSelector/favorite.scss +17 -0
  84. package/src/Device/DeviceSelector/select-device.scss +38 -0
  85. package/src/Device/DeviceSelector/selected-device.scss +57 -0
  86. package/src/Device/DeviceSetup/DeviceSetupView.tsx +105 -0
  87. package/src/Device/deviceAutoSelectSlice.ts +150 -0
  88. package/src/Device/deviceInfo/deviceInfo.ts +254 -0
  89. package/src/Device/deviceInfo/nRF51-Series-logo.svg +1 -0
  90. package/src/Device/deviceInfo/nRF52-Series-logo.svg +1 -0
  91. package/src/Device/deviceInfo/nRF53-Series-logo.svg +1 -0
  92. package/src/Device/deviceInfo/nRF70-Series_no-background_RGB.svg +36 -0
  93. package/src/Device/deviceInfo/nRF91-Series-logo.svg +1 -0
  94. package/src/Device/deviceInfo/ppk-logo.svg +1 -0
  95. package/src/Device/deviceInfo/unknown-logo.svg +30 -0
  96. package/src/Device/deviceInfo/unknown-nordic-logo.svg +25 -0
  97. package/src/Device/deviceLibWrapper.test.ts +97 -0
  98. package/src/Device/deviceLibWrapper.ts +132 -0
  99. package/src/Device/deviceLister.test.ts +89 -0
  100. package/src/Device/deviceLister.ts +424 -0
  101. package/src/Device/deviceSetup.ts +259 -0
  102. package/src/Device/deviceSetupSlice.ts +94 -0
  103. package/src/Device/deviceSlice.ts +248 -0
  104. package/src/Device/dfu-cc.ts +162 -0
  105. package/src/Device/initPacket.ts +402 -0
  106. package/src/Device/jprogOperations.ts +206 -0
  107. package/src/Device/sdfuOperations.ts +607 -0
  108. package/src/Dialog/Dialog.test.tsx +134 -0
  109. package/src/Dialog/Dialog.tsx +236 -0
  110. package/src/Dialog/dialog.scss +56 -0
  111. package/src/Dropdown/Dropdown.module.scss +15 -0
  112. package/src/Dropdown/Dropdown.test.tsx +62 -0
  113. package/src/Dropdown/Dropdown.tsx +112 -0
  114. package/src/ErrorBoundary/ErrorBoundary.test.tsx +88 -0
  115. package/src/ErrorBoundary/ErrorBoundary.tsx +186 -0
  116. package/src/ErrorBoundary/bug.svg +1 -0
  117. package/src/ErrorBoundary/error-boundary.scss +102 -0
  118. package/src/ErrorDialog/ErrorDialog.test.tsx +70 -0
  119. package/src/ErrorDialog/ErrorDialog.tsx +94 -0
  120. package/src/ErrorDialog/error.scss +14 -0
  121. package/src/ErrorDialog/errorDialogSlice.test.ts +64 -0
  122. package/src/ErrorDialog/errorDialogSlice.ts +80 -0
  123. package/src/FactoryReset/FactoryResetButton.test.tsx +46 -0
  124. package/src/FactoryReset/FactoryResetButton.tsx +81 -0
  125. package/src/FlashMessage/FlashMessage.tsx +159 -0
  126. package/src/FlashMessage/FlashMessageSlice.ts +88 -0
  127. package/src/FlashMessage/flashMessage.css +32 -0
  128. package/src/InlineInput/InlineInput.tsx +170 -0
  129. package/src/InlineInput/NumberInlineInput.tsx +107 -0
  130. package/src/InlineInput/inline-input.scss +38 -0
  131. package/src/InlineInput/number-inline-input.scss +15 -0
  132. package/src/Log/LogEntry.tsx +62 -0
  133. package/src/Log/LogViewer.tsx +54 -0
  134. package/src/Log/log-entry.scss +30 -0
  135. package/src/Log/log-viewer.scss +24 -0
  136. package/src/Log/logSlice.ts +73 -0
  137. package/src/Log/syncLogToStore.ts +36 -0
  138. package/src/Logo/Logo.tsx +48 -0
  139. package/src/Logo/logo.scss +11 -0
  140. package/{dist/nordic-logo-blue-icon-only-H7BABN6D.png → src/Logo/nordic-logo-blue-icon-only.png} +0 -0
  141. package/{dist/nordic-logo-gray-icon-only-GATOTR3L.png → src/Logo/nordic-logo-gray-icon-only.png} +0 -0
  142. package/src/Main/Main.tsx +13 -0
  143. package/src/Main/main.scss +13 -0
  144. package/src/MasonryLayout/MasonryLayout.tsx +234 -0
  145. package/src/MasonryLayout/masonryLayout.module.scss +46 -0
  146. package/src/NavBar/NavBar.tsx +22 -0
  147. package/src/NavBar/NavMenu.test.tsx +41 -0
  148. package/src/NavBar/NavMenu.tsx +52 -0
  149. package/src/NavBar/NavMenuItem.tsx +39 -0
  150. package/src/NavBar/nav-bar.scss +27 -0
  151. package/src/NavBar/nav-menu-item.scss +29 -0
  152. package/src/NumberInputWithSlider/NumberInputSliderWithUnit.tsx +74 -0
  153. package/src/Panes/FeedbackPane.tsx +184 -0
  154. package/src/PseudoButton/PseudoButton.tsx +56 -0
  155. package/src/PseudoButton/pseudo-button.scss +11 -0
  156. package/src/SerialPort/ConflictingSettingsDialog.tsx +226 -0
  157. package/src/SerialPort/SerialPort.test.ts +50 -0
  158. package/src/SerialPort/SerialPort.ts +172 -0
  159. package/src/Shortcuts/Shortcut-item.scss +33 -0
  160. package/src/Shortcuts/Shortcut-modal.scss +20 -0
  161. package/src/Shortcuts/ShortcutItem.tsx +48 -0
  162. package/src/Shortcuts/ShortcutModal.tsx +67 -0
  163. package/src/SidePanel/Group.tsx +106 -0
  164. package/src/SidePanel/SidePanel.tsx +19 -0
  165. package/src/SidePanel/group.scss +42 -0
  166. package/src/SidePanel/sidepanel.scss +20 -0
  167. package/src/Slider/Bar.tsx +24 -0
  168. package/src/Slider/Factor.test.ts +48 -0
  169. package/src/Slider/Handle.tsx +121 -0
  170. package/src/Slider/Slider.test.tsx +25 -0
  171. package/src/Slider/Slider.tsx +91 -0
  172. package/src/Slider/Ticks.tsx +54 -0
  173. package/src/Slider/__snapshots__/Slider.test.tsx.snap +50 -0
  174. package/src/Slider/bar.scss +24 -0
  175. package/src/Slider/factor.ts +24 -0
  176. package/src/Slider/handle.scss +32 -0
  177. package/src/Slider/percentage.ts +67 -0
  178. package/src/Slider/range.ts +92 -0
  179. package/src/Slider/slider.scss +14 -0
  180. package/src/Slider/ticks.scss +28 -0
  181. package/src/Slider/variables.scss +16 -0
  182. package/src/StartStopButton/StartStopButton.tsx +60 -0
  183. package/src/StartStopButton/play-circle.svg +1 -0
  184. package/src/StartStopButton/start-stop-button.scss +47 -0
  185. package/src/StartStopButton/stop-circle.svg +1 -0
  186. package/src/StateSelector/StateSelector.tsx +64 -0
  187. package/src/StateSelector/state-selector.scss +38 -0
  188. package/src/Stepper/Stepper.tsx +138 -0
  189. package/src/Stepper/stepper.scss +127 -0
  190. package/src/Toggle/Toggle.tsx +120 -0
  191. package/src/Toggle/toggle.scss +109 -0
  192. package/src/bootstrap.scss +14 -0
  193. package/src/index.ts +150 -0
  194. package/src/logging/appTransport.test.ts +78 -0
  195. package/src/logging/appTransport.ts +41 -0
  196. package/src/logging/describeError.test.ts +38 -0
  197. package/src/logging/describeError.ts +56 -0
  198. package/src/logging/index.ts +103 -0
  199. package/src/logging/logBuffer.test.ts +41 -0
  200. package/src/logging/logBuffer.ts +24 -0
  201. package/src/logging/sendInitialLogMessages.ts +61 -0
  202. package/src/store.ts +67 -0
  203. package/src/svg.d.ts +15 -0
  204. package/src/utils/appDirs.ts +78 -0
  205. package/src/utils/bleChannels.ts +16 -0
  206. package/src/utils/classNames.test.ts +29 -0
  207. package/src/utils/classNames.ts +25 -0
  208. package/src/utils/colors.scss +46 -0
  209. package/src/utils/colors.ts +173 -0
  210. package/src/utils/describeVersion.ts +21 -0
  211. package/src/utils/environment.ts +6 -0
  212. package/src/utils/logLibVersions.ts +103 -0
  213. package/src/utils/open.ts +46 -0
  214. package/src/utils/packageJson.ts +60 -0
  215. package/src/utils/persistentStore.ts +144 -0
  216. package/src/utils/systemReport.ts +160 -0
  217. package/src/utils/truncateMiddle.test.ts +21 -0
  218. package/src/utils/truncateMiddle.ts +20 -0
  219. package/src/utils/usageData.ts +196 -0
  220. package/src/utils/useFocusedOnVisible.ts +26 -0
  221. package/src/utils/useHotKey.ts +62 -0
  222. package/src/utils/useStopwatch.test.tsx +311 -0
  223. package/src/utils/useStopwatch.ts +140 -0
  224. package/src/variables.scss +820 -0
  225. package/styles.scss +88 -0
  226. package/test/dispatchTo.ts +23 -0
  227. package/test/index.ts +7 -0
  228. package/test/jestResolver.js +28 -0
  229. package/test/setupTests.ts +27 -0
  230. package/test/testUtil.ts +20 -0
  231. package/test/testrenderer.tsx +39 -0
  232. package/typings/generated/{src/utils/AppTypes.d.ts → ipc/MetaFiles.d.ts} +10 -7
  233. package/typings/generated/ipc/MetaFiles.d.ts.map +1 -0
  234. package/typings/generated/ipc/appDetails.d.ts +19 -0
  235. package/typings/generated/ipc/appDetails.d.ts.map +1 -0
  236. package/typings/generated/ipc/apps.d.ts +67 -0
  237. package/typings/generated/ipc/apps.d.ts.map +1 -0
  238. package/typings/generated/ipc/infrastructure/mainToRenderer.d.ts +7 -0
  239. package/typings/generated/ipc/infrastructure/mainToRenderer.d.ts.map +1 -0
  240. package/typings/generated/ipc/infrastructure/rendererToMain.d.ts +7 -0
  241. package/typings/generated/ipc/infrastructure/rendererToMain.d.ts.map +1 -0
  242. package/typings/generated/ipc/openWindow.d.ts +19 -0
  243. package/typings/generated/ipc/openWindow.d.ts.map +1 -0
  244. package/typings/generated/ipc/preventSleep.d.ts +11 -0
  245. package/typings/generated/ipc/preventSleep.d.ts.map +1 -0
  246. package/typings/generated/ipc/serialPort.d.ts +49 -0
  247. package/typings/generated/ipc/serialPort.d.ts.map +1 -0
  248. package/typings/generated/ipc/sources.d.ts +15 -0
  249. package/typings/generated/ipc/sources.d.ts.map +1 -0
  250. package/typings/generated/main/index.d.ts +52 -21
  251. package/typings/generated/main/index.d.ts.map +1 -0
  252. package/typings/generated/src/About/About.d.ts +6 -2
  253. package/typings/generated/src/About/About.d.ts.map +1 -0
  254. package/typings/generated/src/About/AboutButton.d.ts +1 -0
  255. package/typings/generated/src/About/AboutButton.d.ts.map +1 -0
  256. package/typings/generated/src/About/ApplicationCard.d.ts +1 -0
  257. package/typings/generated/src/About/ApplicationCard.d.ts.map +1 -0
  258. package/typings/generated/src/About/DeviceCard.d.ts +1 -0
  259. package/typings/generated/src/About/DeviceCard.d.ts.map +1 -0
  260. package/typings/generated/src/About/DocumentationCard.d.ts +5 -2
  261. package/typings/generated/src/About/DocumentationCard.d.ts.map +1 -0
  262. package/typings/generated/src/About/DocumentationSection.d.ts +1 -0
  263. package/typings/generated/src/About/DocumentationSection.d.ts.map +1 -0
  264. package/typings/generated/src/About/Section.d.ts +1 -1
  265. package/typings/generated/src/About/Section.d.ts.map +1 -0
  266. package/typings/generated/src/About/ShortcutButton.d.ts +1 -0
  267. package/typings/generated/src/About/ShortcutButton.d.ts.map +1 -0
  268. package/typings/generated/src/About/SupportCard.d.ts +1 -0
  269. package/typings/generated/src/About/SupportCard.d.ts.map +1 -0
  270. package/typings/generated/src/About/shortcutSlice.d.ts +1 -0
  271. package/typings/generated/src/About/shortcutSlice.d.ts.map +1 -0
  272. package/typings/generated/src/Alert/Alert.d.ts +1 -0
  273. package/typings/generated/src/Alert/Alert.d.ts.map +1 -0
  274. package/typings/generated/src/App/App.d.ts +4 -0
  275. package/typings/generated/src/App/App.d.ts.map +1 -0
  276. package/typings/generated/src/App/App.test.d.ts +1 -0
  277. package/typings/generated/src/App/App.test.d.ts.map +1 -0
  278. package/typings/generated/src/App/ConnectedToStore.d.ts +1 -0
  279. package/typings/generated/src/App/ConnectedToStore.d.ts.map +1 -0
  280. package/typings/generated/src/App/VisibilityBar.d.ts +1 -0
  281. package/typings/generated/src/App/VisibilityBar.d.ts.map +1 -0
  282. package/typings/generated/src/App/appLayout.d.ts +1 -1
  283. package/typings/generated/src/App/appLayout.d.ts.map +1 -0
  284. package/typings/generated/src/Button/Button.d.ts +2 -1
  285. package/typings/generated/src/Button/Button.d.ts.map +1 -0
  286. package/typings/generated/src/Card/Card.d.ts +1 -0
  287. package/typings/generated/src/Card/Card.d.ts.map +1 -0
  288. package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts +1 -0
  289. package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts.map +1 -0
  290. package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts +1 -0
  291. package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts.map +1 -0
  292. package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts +1 -0
  293. package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts.map +1 -0
  294. package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts +1 -0
  295. package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts.map +1 -0
  296. package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts +1 -0
  297. package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts.map +1 -0
  298. package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts +1 -0
  299. package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts.map +1 -0
  300. package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts +1 -0
  301. package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts.map +1 -0
  302. package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts +1 -0
  303. package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts.map +1 -0
  304. package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts +1 -0
  305. package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts.map +1 -0
  306. package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts +1 -0
  307. package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts.map +1 -0
  308. package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts +1 -0
  309. package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts.map +1 -0
  310. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +1 -0
  311. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts.map +1 -0
  312. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts +1 -0
  313. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts.map +1 -0
  314. package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts +1 -0
  315. package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts.map +1 -0
  316. package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts +1 -0
  317. package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts.map +1 -0
  318. package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts +1 -0
  319. package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts.map +1 -0
  320. package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts +1 -0
  321. package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts.map +1 -0
  322. package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts +3 -1
  323. package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts.map +1 -0
  324. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +3 -1
  325. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts.map +1 -0
  326. package/typings/generated/src/Device/deviceLibWrapper.d.ts +1 -0
  327. package/typings/generated/src/Device/deviceLibWrapper.d.ts.map +1 -0
  328. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts +1 -0
  329. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts.map +1 -0
  330. package/typings/generated/src/Device/deviceLister.d.ts +4 -2
  331. package/typings/generated/src/Device/deviceLister.d.ts.map +1 -0
  332. package/typings/generated/src/Device/deviceLister.test.d.ts +1 -0
  333. package/typings/generated/src/Device/deviceLister.test.d.ts.map +1 -0
  334. package/typings/generated/src/Device/deviceSetup.d.ts +8 -7
  335. package/typings/generated/src/Device/deviceSetup.d.ts.map +1 -0
  336. package/typings/generated/src/Device/deviceSetupSlice.d.ts +1 -0
  337. package/typings/generated/src/Device/deviceSetupSlice.d.ts.map +1 -0
  338. package/typings/generated/src/Device/deviceSlice.d.ts +1 -0
  339. package/typings/generated/src/Device/deviceSlice.d.ts.map +1 -0
  340. package/typings/generated/src/Device/dfu-cc.d.ts +1 -0
  341. package/typings/generated/src/Device/dfu-cc.d.ts.map +1 -0
  342. package/typings/generated/src/Device/initPacket.d.ts +1 -0
  343. package/typings/generated/src/Device/initPacket.d.ts.map +1 -0
  344. package/typings/generated/src/Device/jprogOperations.d.ts +1 -0
  345. package/typings/generated/src/Device/jprogOperations.d.ts.map +1 -0
  346. package/typings/generated/src/Device/sdfuOperations.d.ts +4 -3
  347. package/typings/generated/src/Device/sdfuOperations.d.ts.map +1 -0
  348. package/typings/generated/src/Dialog/Dialog.d.ts +1 -0
  349. package/typings/generated/src/Dialog/Dialog.d.ts.map +1 -0
  350. package/typings/generated/src/Dialog/Dialog.test.d.ts +1 -0
  351. package/typings/generated/src/Dialog/Dialog.test.d.ts.map +1 -0
  352. package/typings/generated/src/Dropdown/Dropdown.d.ts +3 -1
  353. package/typings/generated/src/Dropdown/Dropdown.d.ts.map +1 -0
  354. package/typings/generated/src/Dropdown/Dropdown.test.d.ts +1 -0
  355. package/typings/generated/src/Dropdown/Dropdown.test.d.ts.map +1 -0
  356. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +1 -0
  357. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  358. package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts +1 -0
  359. package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts.map +1 -0
  360. package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts +1 -0
  361. package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts.map +1 -0
  362. package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts +1 -0
  363. package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts.map +1 -0
  364. package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts +1 -0
  365. package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts.map +1 -0
  366. package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts +1 -0
  367. package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts.map +1 -0
  368. package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts +1 -0
  369. package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts.map +1 -0
  370. package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts +1 -0
  371. package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts.map +1 -0
  372. package/typings/generated/src/FlashMessage/FlashMessage.d.ts +5 -0
  373. package/typings/generated/src/FlashMessage/FlashMessage.d.ts.map +1 -0
  374. package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts +20 -0
  375. package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts.map +1 -0
  376. package/typings/generated/src/InlineInput/InlineInput.d.ts +1 -0
  377. package/typings/generated/src/InlineInput/InlineInput.d.ts.map +1 -0
  378. package/typings/generated/src/InlineInput/NumberInlineInput.d.ts +1 -0
  379. package/typings/generated/src/InlineInput/NumberInlineInput.d.ts.map +1 -0
  380. package/typings/generated/src/Log/LogEntry.d.ts +1 -0
  381. package/typings/generated/src/Log/LogEntry.d.ts.map +1 -0
  382. package/typings/generated/src/Log/LogViewer.d.ts +1 -0
  383. package/typings/generated/src/Log/LogViewer.d.ts.map +1 -0
  384. package/typings/generated/src/Log/logSlice.d.ts +1 -0
  385. package/typings/generated/src/Log/logSlice.d.ts.map +1 -0
  386. package/typings/generated/src/Log/syncLogToStore.d.ts +1 -0
  387. package/typings/generated/src/Log/syncLogToStore.d.ts.map +1 -0
  388. package/typings/generated/src/Logo/Logo.d.ts +1 -0
  389. package/typings/generated/src/Logo/Logo.d.ts.map +1 -0
  390. package/typings/generated/src/Main/Main.d.ts +1 -0
  391. package/typings/generated/src/Main/Main.d.ts.map +1 -0
  392. package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts +1 -0
  393. package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts.map +1 -0
  394. package/typings/generated/src/NavBar/NavBar.d.ts +1 -0
  395. package/typings/generated/src/NavBar/NavBar.d.ts.map +1 -0
  396. package/typings/generated/src/NavBar/NavMenu.d.ts +1 -0
  397. package/typings/generated/src/NavBar/NavMenu.d.ts.map +1 -0
  398. package/typings/generated/src/NavBar/NavMenu.test.d.ts +1 -0
  399. package/typings/generated/src/NavBar/NavMenu.test.d.ts.map +1 -0
  400. package/typings/generated/src/NavBar/NavMenuItem.d.ts +1 -1
  401. package/typings/generated/src/NavBar/NavMenuItem.d.ts.map +1 -0
  402. package/typings/generated/src/NumberInputWithSlider/NumberInputSliderWithUnit.d.ts +14 -0
  403. package/typings/generated/src/NumberInputWithSlider/NumberInputSliderWithUnit.d.ts.map +1 -0
  404. package/typings/generated/src/Panes/FeedbackPane.d.ts +5 -1
  405. package/typings/generated/src/Panes/FeedbackPane.d.ts.map +1 -0
  406. package/typings/generated/src/PseudoButton/PseudoButton.d.ts +1 -0
  407. package/typings/generated/src/PseudoButton/PseudoButton.d.ts.map +1 -0
  408. package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts +1 -0
  409. package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts.map +1 -0
  410. package/typings/generated/src/SerialPort/SerialPort.d.ts +7 -6
  411. package/typings/generated/src/SerialPort/SerialPort.d.ts.map +1 -0
  412. package/typings/generated/src/SerialPort/SerialPort.test.d.ts +1 -0
  413. package/typings/generated/src/SerialPort/SerialPort.test.d.ts.map +1 -0
  414. package/typings/generated/src/Shortcuts/ShortcutItem.d.ts +1 -0
  415. package/typings/generated/src/Shortcuts/ShortcutItem.d.ts.map +1 -0
  416. package/typings/generated/src/Shortcuts/ShortcutModal.d.ts +1 -0
  417. package/typings/generated/src/Shortcuts/ShortcutModal.d.ts.map +1 -0
  418. package/typings/generated/src/SidePanel/Group.d.ts +1 -0
  419. package/typings/generated/src/SidePanel/Group.d.ts.map +1 -0
  420. package/typings/generated/src/SidePanel/SidePanel.d.ts +1 -0
  421. package/typings/generated/src/SidePanel/SidePanel.d.ts.map +1 -0
  422. package/typings/generated/src/Slider/Bar.d.ts +1 -0
  423. package/typings/generated/src/Slider/Bar.d.ts.map +1 -0
  424. package/typings/generated/src/Slider/Factor.test.d.ts +1 -0
  425. package/typings/generated/src/Slider/Factor.test.d.ts.map +1 -0
  426. package/typings/generated/src/Slider/Handle.d.ts +1 -0
  427. package/typings/generated/src/Slider/Handle.d.ts.map +1 -0
  428. package/typings/generated/src/Slider/Slider.d.ts +1 -0
  429. package/typings/generated/src/Slider/Slider.d.ts.map +1 -0
  430. package/typings/generated/src/Slider/Slider.test.d.ts +1 -0
  431. package/typings/generated/src/Slider/Slider.test.d.ts.map +1 -0
  432. package/typings/generated/src/Slider/Ticks.d.ts +1 -0
  433. package/typings/generated/src/Slider/Ticks.d.ts.map +1 -0
  434. package/typings/generated/src/Slider/factor.d.ts +1 -0
  435. package/typings/generated/src/Slider/factor.d.ts.map +1 -0
  436. package/typings/generated/src/Slider/percentage.d.ts +1 -0
  437. package/typings/generated/src/Slider/percentage.d.ts.map +1 -0
  438. package/typings/generated/src/Slider/range.d.ts +1 -0
  439. package/typings/generated/src/Slider/range.d.ts.map +1 -0
  440. package/typings/generated/src/StartStopButton/StartStopButton.d.ts +1 -0
  441. package/typings/generated/src/StartStopButton/StartStopButton.d.ts.map +1 -0
  442. package/typings/generated/src/StateSelector/StateSelector.d.ts +1 -0
  443. package/typings/generated/src/StateSelector/StateSelector.d.ts.map +1 -0
  444. package/typings/generated/src/Stepper/Stepper.d.ts +1 -0
  445. package/typings/generated/src/Stepper/Stepper.d.ts.map +1 -0
  446. package/typings/generated/src/Toggle/Toggle.d.ts +1 -0
  447. package/typings/generated/src/Toggle/Toggle.d.ts.map +1 -0
  448. package/typings/generated/src/index.d.ts +12 -8
  449. package/typings/generated/src/index.d.ts.map +1 -0
  450. package/typings/generated/src/logging/appTransport.d.ts +1 -0
  451. package/typings/generated/src/logging/appTransport.d.ts.map +1 -0
  452. package/typings/generated/src/logging/appTransport.test.d.ts +1 -0
  453. package/typings/generated/src/logging/appTransport.test.d.ts.map +1 -0
  454. package/typings/generated/src/logging/describeError.d.ts +1 -0
  455. package/typings/generated/src/logging/describeError.d.ts.map +1 -0
  456. package/typings/generated/src/logging/describeError.test.d.ts +1 -0
  457. package/typings/generated/src/logging/describeError.test.d.ts.map +1 -0
  458. package/typings/generated/src/logging/index.d.ts +1 -0
  459. package/typings/generated/src/logging/index.d.ts.map +1 -0
  460. package/typings/generated/src/logging/logBuffer.d.ts +1 -0
  461. package/typings/generated/src/logging/logBuffer.d.ts.map +1 -0
  462. package/typings/generated/src/logging/logBuffer.test.d.ts +1 -0
  463. package/typings/generated/src/logging/logBuffer.test.d.ts.map +1 -0
  464. package/typings/generated/src/logging/sendInitialLogMessages.d.ts +2 -1
  465. package/typings/generated/src/logging/sendInitialLogMessages.d.ts.map +1 -0
  466. package/typings/generated/src/store.d.ts +21 -18
  467. package/typings/generated/src/store.d.ts.map +1 -0
  468. package/typings/generated/src/utils/appDirs.d.ts +1 -0
  469. package/typings/generated/src/utils/appDirs.d.ts.map +1 -0
  470. package/typings/generated/src/utils/bleChannels.d.ts +1 -0
  471. package/typings/generated/src/utils/bleChannels.d.ts.map +1 -0
  472. package/typings/generated/src/utils/classNames.d.ts +1 -0
  473. package/typings/generated/src/utils/classNames.d.ts.map +1 -0
  474. package/typings/generated/src/utils/classNames.test.d.ts +1 -0
  475. package/typings/generated/src/utils/classNames.test.d.ts.map +1 -0
  476. package/typings/generated/src/utils/colors.d.ts +126 -3
  477. package/typings/generated/src/utils/colors.d.ts.map +1 -0
  478. package/typings/generated/src/utils/describeVersion.d.ts +1 -0
  479. package/typings/generated/src/utils/describeVersion.d.ts.map +1 -0
  480. package/typings/generated/src/utils/environment.d.ts +1 -0
  481. package/typings/generated/src/utils/environment.d.ts.map +1 -0
  482. package/typings/generated/src/utils/logLibVersions.d.ts +1 -0
  483. package/typings/generated/src/utils/logLibVersions.d.ts.map +1 -0
  484. package/typings/generated/src/utils/open.d.ts +1 -0
  485. package/typings/generated/src/utils/open.d.ts.map +1 -0
  486. package/typings/generated/src/utils/packageJson.d.ts +2 -1
  487. package/typings/generated/src/utils/packageJson.d.ts.map +1 -0
  488. package/typings/generated/src/utils/persistentStore.d.ts +1 -0
  489. package/typings/generated/src/utils/persistentStore.d.ts.map +1 -0
  490. package/typings/generated/src/utils/systemReport.d.ts +1 -0
  491. package/typings/generated/src/utils/systemReport.d.ts.map +1 -0
  492. package/typings/generated/src/utils/truncateMiddle.d.ts +1 -0
  493. package/typings/generated/src/utils/truncateMiddle.d.ts.map +1 -0
  494. package/typings/generated/src/utils/truncateMiddle.test.d.ts +1 -0
  495. package/typings/generated/src/utils/truncateMiddle.test.d.ts.map +1 -0
  496. package/typings/generated/src/utils/usageData.d.ts +4 -3
  497. package/typings/generated/src/utils/usageData.d.ts.map +1 -0
  498. package/typings/generated/src/utils/useFocusedOnVisible.d.ts +11 -0
  499. package/typings/generated/src/utils/useFocusedOnVisible.d.ts.map +1 -0
  500. package/typings/generated/src/utils/useHotKey.d.ts +1 -0
  501. package/typings/generated/src/utils/useHotKey.d.ts.map +1 -0
  502. package/typings/generated/src/utils/useStopwatch.d.ts +1 -0
  503. package/typings/generated/src/utils/useStopwatch.d.ts.map +1 -0
  504. package/typings/generated/src/utils/useStopwatch.test.d.ts +1 -0
  505. package/typings/generated/src/utils/useStopwatch.test.d.ts.map +1 -0
  506. package/typings/generated/test/dispatchTo.d.ts +1 -0
  507. package/typings/generated/test/dispatchTo.d.ts.map +1 -0
  508. package/typings/generated/test/testrenderer.d.ts +1 -0
  509. package/typings/generated/test/testrenderer.d.ts.map +1 -0
  510. package/dist/index.css +0 -1451
  511. package/dist/index.js +0 -122119
  512. package/tsconfig.json +0 -9
  513. package/typings/generated/src/About/documentationSlice.d.ts +0 -12
  514. package/typings/generated/src/OpenApp/openApp.d.ts +0 -7
  515. /package/{dist/nordic-logo-white-icon-only-XIZBW537.png → src/Logo/nordic-logo-white-icon-only.png} +0 -0
package/Changelog.md ADDED
@@ -0,0 +1,3229 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
+ This project does _not_ adhere to
7
+ [Semantic Versioning](https://semver.org/spec/v2.0.0.html) but contrary to it
8
+ every new version is a new major version.
9
+
10
+ ## 78 - 2023-08-02
11
+
12
+ ### Changed
13
+
14
+ - New name for the shared package, it is now under the `@nordicsemiconductor`
15
+ namespace on npm. The idea is that apps will now install shared from npm,
16
+ and use the new name `@nordicsemiconductor/pc-nrfconnect-shared` when
17
+ importing components from shared
18
+
19
+ ## 77 - 2023-08-01
20
+
21
+ ### Added
22
+
23
+ - Functions to invoke functionality in the main process via IPC:
24
+
25
+ - `apps.getDownloadableApps()`
26
+ - `apps.installDownloadableApp(app, version?)`
27
+ - `openWindow.openApp(app, openAppOptions?)` (This was previously exported
28
+ as `openAppWindow``)
29
+ - `openWindow.openLauncher()`
30
+ - `preventSleep.start()`
31
+ - `preventSleep.end(id)`
32
+
33
+ ### Removed
34
+
35
+ - Export of the serialport IPC channel names.
36
+
37
+ ### Changed
38
+
39
+ - On the build server the generated types are removed before regenerating
40
+ them, so we make sure that we do not have stale declaration files for source
41
+ files we already removed.
42
+
43
+ ### Steps to upgrade when using this package
44
+
45
+ - Replace all code that still uses `ipcRenderer` with invocations of the
46
+ appropriate functions.
47
+ - Replace invocations of `openAppWindow` with `openWindow.openApp`.
48
+
49
+ ## 76 - 2023-07-28
50
+
51
+ ### Changed
52
+
53
+ - Turn on tree-shaking for tailwind classes during a development build.
54
+
55
+ ## 75 - 2023-07-26
56
+
57
+ ### Added
58
+
59
+ - Material UI color shades 50-900 for 'red', 'indigo', 'amber', 'purple',
60
+ 'green', 'deepPurple', 'orange', 'lime', 'lightGreen', 'lightBlue', 'pink',
61
+ such as e.g. `tw-bg-red-300`
62
+ - Default Material UI color for 'red', 'indigo', 'amber', 'purple', 'green',
63
+ 'deepPurple', 'orange', 'lime', 'lightGreen', 'lightBlue', 'pink' which uses
64
+ the 500 shade e.g `tw-bg-red`
65
+ - NordicBlue shades 50-900 e.g. `tw-bg-nordicBlue-300`
66
+ - `NumberInputSliderWithUnit` component that merges a number input with unit
67
+ and a slider with one element
68
+ - `Button` variant `link-button` with white background, and nordic blue text
69
+ and border
70
+
71
+ ### Changed
72
+
73
+ - `Button` converted to tailwind
74
+ - `DisplayConflictingSettings` converted to tailwind
75
+ - `About` converted to tailwind
76
+ - `Feedback` converted to tailwind
77
+
78
+ ### Fixed
79
+
80
+ - `DisplayConflictingSettings` spacing and minor UI inconsistencies
81
+
82
+ ## 74 - 2023-07-18
83
+
84
+ ### Fixed
85
+
86
+ - `ConflictingSettingsDialog` used stale/old `active` serial settings
87
+ information.
88
+
89
+ ## 73 - 2023-07-14
90
+
91
+ ### Removed
92
+
93
+ - `custom` variant for the `Button` component.
94
+
95
+ ### Steps to upgrade when using this package
96
+
97
+ - `custom` variant `Button`s have to be replaced with `button` elements.
98
+
99
+ ## 72 - 2023-07-13
100
+
101
+ ### Added
102
+
103
+ - export `persistNickname` and `getPersistedNickname`.
104
+
105
+ ## 71 - 2023-07-11
106
+
107
+ ### Fixed
108
+
109
+ - `SwitchToApplicationMode` does not call on success when device is already in
110
+ application mode
111
+
112
+ ## 70 - 2023-07-07
113
+
114
+ ### Fixed
115
+
116
+ - `Dropdown` UI broken due to lack of `tw-preflight` class
117
+
118
+ ## 69 - 2023-07-07
119
+
120
+ ### Added
121
+
122
+ - Turn off tree-shaking for tailwind classes during a development build.
123
+ - Added .tw-preflight css class to be used when transitioning to tailwind. For
124
+ more details:
125
+ https://github.com/NordicSemiconductor/pc-nrfconnect-shared/blob/main/src/App/preflight.scss
126
+
127
+ ### Changed
128
+
129
+ - Borders for all button variants except `secondary` are now the same as their
130
+ background colour.
131
+ - The project specific tailwind config will now be used for post-processing if
132
+ it exists.
133
+ - Device setup dialog hides prompt message while in progress.
134
+
135
+ ### Fixed
136
+
137
+ - Button x-padding adapts to large vs small button
138
+ - Device setup fails report sdfu different FW version
139
+ - Device setup does not show the choices radio boxes
140
+
141
+ ## 68 - 2023-07-05
142
+
143
+ ### Added
144
+
145
+ - `prettier-plugin-tailwindcss` for ordering Tailwind classes.
146
+
147
+ ### Fixed
148
+
149
+ - A fresh npm i without `package-lock.json` and no `node_modules` folder
150
+ resulted in `util.promisify` is not a function
151
+ - Button lost x-padding with the addition of tailwind
152
+
153
+ ## 67 - 2023-07-04
154
+
155
+ ### Added
156
+
157
+ - Tailwind support. Use `tw-` prefix for tailwind classes and no prefix for
158
+ bootstrap classes.
159
+
160
+ ### Fixed
161
+
162
+ - Usage data (`insights` object) was possibly undefined.
163
+
164
+ ### Steps to upgrade when using this package
165
+
166
+ - While technically not necessary in production, to use the tailwind language
167
+ server you will have to create a `tailwind.config.js` file with the
168
+ following contents in your project root:
169
+
170
+ ```js
171
+ /*
172
+ * Copyright (c) 2023 Nordic Semiconductor ASA
173
+ *
174
+ * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
175
+ */
176
+
177
+ const baseConfig = require('pc-nrfconnect-shared/config/tailwind.config.js');
178
+
179
+ module.exports = {
180
+ ...baseConfig,
181
+ };
182
+ ```
183
+
184
+ ## 66 - 2023-07-03
185
+
186
+ ### Fixed
187
+
188
+ - `Restart application with verbose logging` button did not restart
189
+ application
190
+ - Margin on feedback pane
191
+ - Improve `NavBar` layout when there are a lot of tabs
192
+
193
+ ## 65 - 2023-07-03
194
+
195
+ ### Changed
196
+
197
+ - 'AppThunk<ReturnType>' to 'AppThunk<AppLayout, ReturnType>'
198
+
199
+ ### Steps to upgrade when using this package
200
+
201
+ - If 'AppThunk' is used with return type generic, add AppLayout (RootState)
202
+ 'AppThunk<AppLayout, ReturnType>'
203
+
204
+ ## 64 - 2023-07-03
205
+
206
+ ### Added
207
+
208
+ - Export 'AppThunk<ReturnType>' for apps to use
209
+ - Export 'AppDispatch' for apps to use
210
+
211
+ ### Changed
212
+
213
+ - Replace Google Analytics with Application Insights.
214
+
215
+ ## 63 - 2023-06-27
216
+
217
+ ### Added
218
+
219
+ - Hook `useFocusedOnVisible` to focus an element when a dialog becomes
220
+ visible.
221
+
222
+ ### Changed
223
+
224
+ - Flash Messages: slide-in effect duration reduced to 300ms.
225
+ - Flash Messages: loader effect ends before slide-out effect begins.
226
+
227
+ ## 62 - 2023-06-26
228
+
229
+ ### Added
230
+
231
+ - Slide-out effect for Flash messages.
232
+
233
+ ### Changed
234
+
235
+ - Reduced time for CopiedFlashMessage, from 12s to 3s.
236
+ - Faster slide-in effect for Flash messages.
237
+
238
+ ## 61 - 2023-06-23
239
+
240
+ ### Added
241
+
242
+ - `Dropdown` component now accepts className.
243
+ - `feedback` property in `App` component to add the feedback pane and
244
+ alternatively add custom categories.
245
+
246
+ ### Changed
247
+
248
+ - `documentation` is now supplied to the `About` pane through props.
249
+
250
+ ### Removed
251
+
252
+ - `FeedbackPane` is no longer exported.
253
+
254
+ ### Steps to upgrade when using this package
255
+
256
+ - If you want to include the `FeedbackPane` in your app, provide the
257
+ `feedback` property to the `App` component.
258
+
259
+ ## 60 - 2023-06-21
260
+
261
+ ### Added
262
+
263
+ - Exported `getWaitForDevice` hance allowing apps to resort previous state if
264
+ needed
265
+
266
+ ### Added
267
+
268
+ - Flash Messages feature. Comes with convenience thunk functions in order to
269
+ create info, success, warning, and error messages.
270
+
271
+ ### Changed
272
+
273
+ - FeedbackPane: Change **Platform** to **Operating system**, and remove the
274
+ link, which opened nodejs documentation.
275
+
276
+ ### Fixed
277
+
278
+ - Device remains selected if waiting for device is ongoing and
279
+ `clearWaitForDevice` is called
280
+ - `DeviceSetup` on reject `isExpectedFirmware` used to fail silently
281
+
282
+ ### Removed
283
+
284
+ - Support for `LegacyPane`
285
+
286
+ ### Steps to upgrade when using this package
287
+
288
+ - Replace all instances of `LegacyPane` with `Pane` in the `panes` property of
289
+ `App`.
290
+
291
+ ## 59 - 2023-06-16
292
+
293
+ ### Added
294
+
295
+ - `StartStopButton` added new optional property `showIcon`
296
+
297
+ ### Fixed
298
+
299
+ - `StartSop` button `large` false not working
300
+
301
+ ## 58 - 2023-06-14
302
+
303
+ ### Changed
304
+
305
+ - Opening port with error `FAILED_DIFFERENT_SETTINGS` will now log a warning
306
+ not error
307
+
308
+ ## 57 - 2023-06-09
309
+
310
+ ### Added
311
+
312
+ - AutoReconnect Mode `WaitForDevice.when` now support an new mode a custom
313
+ function for more flexibility
314
+
315
+ ## 56 - 2023-06-09
316
+
317
+ ### Changed
318
+
319
+ - Device setup progress bar style
320
+ - The internal handling of the Redux store shaped was changed. Because apps
321
+ should not make any assumptions about that, this should not break any apps
322
+ that only go through the API. If it still breaks something, feel free to
323
+ reach out to Marko. :-)
324
+
325
+ ## 55 - 2023-06-08
326
+
327
+ ### Added
328
+
329
+ - AutoReconnect Mode `WaitForDevice.when` now support an new mode `sameTraits`
330
+
331
+ ### Changed
332
+
333
+ - AutoReconnect Mode `WaitForDevice.when` mode `BootLoaderMode` has been
334
+ renamed to `dfuBootLoaderMode`
335
+
336
+ ### Steps to upgrade when using this package
337
+
338
+ - Replace all instances of `BootLoaderMode` to `dfuBootLoaderMode` in all
339
+ `WaitForDevice.when`
340
+
341
+ ## 54 - 2023-06-05
342
+
343
+ ### Removed
344
+
345
+ - `react-dom` is no longer listed as an external package due to launcher
346
+ requiring it for bundling.
347
+
348
+ ## 53 - 2023-06-05
349
+
350
+ ### Added
351
+
352
+ - `Toggle` parameter `label` now allows React.ReactNode.
353
+ - `StartStop` parameter `startText` now allows React.ReactNode.
354
+ - `StartStop` parameter `stopText` now allows React.ReactNode.
355
+
356
+ ## 52 - 2023-06-02
357
+
358
+ ### Changed
359
+
360
+ - Error dialog: If there are multiple errors, state so more clearly.
361
+ - Error dialog: Add the option to provide details to each error. To use this,
362
+ pass a third parameter to the action creator
363
+ `ErrorDialogActions.showDialog`.
364
+
365
+ ## 51 - 2023-05-31
366
+
367
+ ### Added
368
+
369
+ - `Dropdown` parameter `label` now allows React.ReactNode.
370
+
371
+ ## 50 - 2023-05-30
372
+
373
+ ### Fixed
374
+
375
+ - `dialog` text wrapping opts to keep words as whole of possible.
376
+
377
+ ## 49 - 2023-05-30
378
+
379
+ ### Fixed
380
+
381
+ - `dialog` body text can now wrap and not overflow.
382
+
383
+ ## 48 - 2023-05-30
384
+
385
+ ### Added
386
+
387
+ - `DropdownItem` parameter `label` now allows React.ReactNode.
388
+
389
+ ## 47 - 2023-05-22
390
+
391
+ ### Added
392
+
393
+ - `needSerialport` parameter for `jprogDeviceSetup` and `sdfuDeviceSetup`.
394
+ - Optional `confirmMessage` to `DeviceSetup`
395
+ - Optional `choiceMessage` to `DeviceSetup`
396
+ - `react-dom` is now listed as an external package.
397
+
398
+ ### Changed
399
+
400
+ - `IDeviceSetup` renamed to `DeviceSetup`
401
+ - `DeviceSetup` renamed to `DeviceSetupConfig`
402
+
403
+ ### Removed
404
+
405
+ - `needSerialport` property from `DeviceSetup`.
406
+ - `releaseCurrentDevice` callback from `DeviceSelector`.
407
+
408
+ ### Steps to upgrade when using this package
409
+
410
+ - `needSerialport` has been removed from `IDeviceSetup`. If needed, it should
411
+ be placed into the `supportsProgrammingMode` callback or can be passed as a
412
+ parameter to the `jprogDeviceSetup` or `sdfuDeviceSetup` wrappers.
413
+ - Replace type `DeviceSetup` with `DeviceSetupConfig`
414
+ - Replace type `IDeviceSetup` with `DeviceSetup`
415
+
416
+ ## 46 - 2023-05-19
417
+
418
+ ### Added
419
+
420
+ - Progress bar to device setup dialog
421
+ - `prepareDevice` function is now and can be used to program devices on demand
422
+ - Custom device setups can be now done by implementing `IDeviceSetup` and
423
+ passing it as the `deviceSetup` array in `DeviceSetup`
424
+
425
+ ### Changed
426
+
427
+ - FeedbackPane headers is now 14px, similar to all text, but is bold.
428
+ - FeedbackPane Buttons are moved to the bottom right corner, from bottom left.
429
+ - API for device Setup has been reworked
430
+ - `switchToBootloaderMode` no longer take dispatch as a parameter and it is
431
+ directly dispatch-able
432
+ - `switchToApplicationMode` no longer take dispatch as a parameter and it is
433
+ directly dispatch-able
434
+
435
+ ### Steps to upgrade when using this package
436
+
437
+ - Device Setup no longer accepts dfu and jprog instead deviceSetups are to be
438
+ used. Examples:
439
+ - To replace dfu look at this example:
440
+ `dfu: { pca10059: { application: getAppFile('fw/rssi-10059.hex'), semver: 'rssi_cdc_acm 2.0.0+dfuMay-22-2018-10-43-22', params: {}, }, }`
441
+ is to be replaced by:
442
+ `sdfuDeviceSetup([ { key: 'pca10059', application: getAppFile('fw/rssi-10059.hex'), semver: 'rssi_cdc_acm 2.0.0+dfuMay-22-2018-10-43-22', params: {}, }, ])`
443
+ - To replace jprog look at this example:
444
+ `jprog: { nrf52_family: { fw: getAppFile('fw/rssi-10040.hex'), fwVersion: 'rssi-fw-1.0.0', fwIdAddress: 0x2000, }, }`
445
+ is to be replaced by:
446
+ `jprogDeviceSetup([ { key: 'nrf52_family', fw: getAppFile('fw/rssi-10040.hex'), fwVersion: 'rssi-fw-1.0.0', fwIdAddress: 0x2000, }, ])`
447
+ - `switchToBootloaderMode` remove the second parameter `dispatch` and call
448
+ this function using the dispatch function i.e
449
+ `dispatch(switchToBootloaderMode(...`
450
+ - `switchToApplicationMode ` remove the second parameter `dispatch` and call
451
+ this function using the dispatch function i.e
452
+ `dispatch(switchToApplicationMode(...`
453
+
454
+ ## 45 - 2023-05-09
455
+
456
+ ### Fixed
457
+
458
+ - useStopwatch unmount clean up
459
+
460
+ ### Changed
461
+
462
+ - StateSelector property `items` now allows {key: string , renderItem:
463
+ React.ReactElement} as content in addition to string
464
+ - StateSelector property `selectedItem` now allows {key: string , renderItem:
465
+ React.ReactElement} as content in addition to string
466
+
467
+ ## 44 - 2023-05-05
468
+
469
+ ### Fixed
470
+
471
+ - Feedback pane link to Nordiv DevZone did not open in the browser.
472
+ - Properly update package version when running the prepare script on windows.
473
+
474
+ ### Changed
475
+
476
+ - Persistent store now allows to send more options to the internal store.
477
+
478
+ ## 43 - 2023-05-05
479
+
480
+ ### Changed
481
+
482
+ - Use the new property from launcher ipc to determine the app path. This is
483
+ used for logging when the application starts up.
484
+
485
+ ## 42 - 2023-05-04
486
+
487
+ ### Changed
488
+
489
+ - Updated `swc/core`. This was done to fix issues related to npm run check
490
+ resulting in Error: @swc/core threw an error when attempting to validate swc
491
+ compiler option. You may be using an old version of swc which does not
492
+ support the options used by ts-node.
493
+
494
+ ## 41 - 2023-05-03
495
+
496
+ ### Changed
497
+
498
+ - Updated `eslint-plugin-simple-import-sort`. This might lead to linting
499
+ errors but they should be resolvable automatically by running autofix on
500
+ them.
501
+
502
+ ### Fixed
503
+
504
+ - `ConflictingSettingsDialog` displayed wrong app name in the conflict
505
+ overview. Now it will only display Active- and Selected settings.
506
+
507
+ ## 40 - 2023-04-28
508
+
509
+ ### Added
510
+
511
+ - ConflictingSettingsDialog component to be utilized when SerialPort from
512
+ pc-nrfconnect-shared is used, and the serial port may have been claimed by
513
+ another app.
514
+
515
+ ## 39 - 2023-04-28
516
+
517
+ ### Added
518
+
519
+ - SerialPort `getOptions` function in order to request the settings that was
520
+ used to open the serial port.
521
+ - Extended SERIALPORT_CHANNEL with entry GET_OPTIONS.
522
+
523
+ ## 38 - 2023-04-28
524
+
525
+ ### Fixed
526
+
527
+ - Dropdowns allow using their scrollbars by clicking and dragging.
528
+ - Dropdown scrollbars are styled correctly.
529
+
530
+ ## 37 - 2023-04-28
531
+
532
+ ### Changed
533
+
534
+ - Updated `nrf-device-lib-js` to version 0.6.8.
535
+
536
+ ## 36 - 2023-04-26
537
+
538
+ ### Added
539
+
540
+ - Scripts `prepare-shared-release` and `release-shared` to ease releasing new
541
+ versions of shared.
542
+ - Property `id` to `Dropdown` component.
543
+
544
+ ## 35 - 2023-04-20
545
+
546
+ ### Fixed
547
+
548
+ - "Warning: validateDOMNesting(...): `<div>` cannot appear as a descendant of
549
+ `<p>`."
550
+
551
+ ## 34 - 2023-04-19
552
+
553
+ ### Fixed
554
+
555
+ - Made `InfoDialog` close when unfocusing again, which was removed during the
556
+ previous version.
557
+
558
+ ## 33 - 2023-04-19
559
+
560
+ ### Added
561
+
562
+ - Generic progress dialog.
563
+
564
+ ### Changed
565
+
566
+ - Dialog spinner has moved next to the title.
567
+
568
+ ### Fixed
569
+
570
+ - Confirmation dialog closes on ESC.
571
+ - Information dialog closes on ESC.
572
+
573
+ ### Removed
574
+
575
+ - Exported component `Spinner`.
576
+
577
+ ### Steps to upgrade when using this package
578
+
579
+ - Move the `showSpinner` property from `Dialog.Footer` to `Dialog.Header`.
580
+
581
+ ## 32 - 2023-04-14
582
+
583
+ ### Added
584
+
585
+ - New option `--create-source` to script `nordic-publish` to create a new
586
+ source when publishing an app.
587
+
588
+ ### Changed
589
+
590
+ - Update TypeScript to 4.9.
591
+ - Update Prettier to 2.8.7.
592
+ - Allow setting more sizes in dialogs.
593
+ - Use swc instead of babel to transform code for jest.
594
+
595
+ ### Removed
596
+
597
+ - Unused dependency camelcase-keys.
598
+
599
+ ### Fixed
600
+
601
+ - Error loading SVGs introduced in v31.
602
+ - `InlineInput` only calls `onChange` and `onChangeComplete` if value has
603
+ changed.
604
+
605
+ ## 31 - 2023-04-03
606
+
607
+ ### Changed
608
+
609
+ - `nrf-device-lib-js` became a peer dependency.
610
+ - `npm@7` or later must now be used when developing `shared`.
611
+
612
+ ### Fixed
613
+
614
+ - Autoreconnected devices were not passed with persisted data to the
615
+ `onDeviceSelected`/`onDeviceIsReady` callbacks.
616
+
617
+ ### Removed
618
+
619
+ - Support for buiding apps with webpack. If you want to continue to use
620
+ webpack, you now have to provide the configuration and install the needed
621
+ dependencies yourself.
622
+
623
+ ### Steps to upgrade when using this package
624
+
625
+ - If your app declared an ambient module declaration for
626
+ `!!@svgr/webpack!_.svg` you now have to change it to `!!@svgr!_.svg`.
627
+ - You should use at least version 7 of `npm` starting with this version of
628
+ shared, otherwise not all needed peer dependencies are installed and you
629
+ need to provide them yourself.
630
+
631
+ ## 30 - 2023-03-30
632
+
633
+ ### Changed
634
+
635
+ - Update `nrf-device-lib-js` to version 0.6.5.
636
+
637
+ ## 29 - 2023-03-29
638
+
639
+ ### Added
640
+
641
+ - Dialog helpers (`InfoDialog`, `ErrorDialog`, `ConfirmationDialog`) all
642
+ expose the `className` property now.
643
+
644
+ ## 28 - 2023-03-28
645
+
646
+ ### Added
647
+
648
+ - Linux: If a device fails to be identified based on parameters which point to
649
+ a missing nrf-udev installation, recommend user to install nrf-udev.
650
+
651
+ ### Fixed
652
+
653
+ - Linux: Apps would crash when identifying certain devices if nrf-udev
654
+ installation was missing.
655
+
656
+ ## 27 - 2023-03-27
657
+
658
+ ### Fixed
659
+
660
+ - Clear timeout state after timeout has elapsed.
661
+
662
+ ## 26 - 2023-03-24
663
+
664
+ ### Fixed
665
+
666
+ - Retrieving persisted serialport options on windows would lead to crashes.
667
+
668
+ ## 25 - 2023-03-23
669
+
670
+ ### Added
671
+
672
+ - `Stepper` caption can now have action buttons
673
+ - `Stepper` caption can now have tooltips
674
+
675
+ ### Changed
676
+
677
+ - `Stepper` step now has an id property
678
+
679
+ ### Steps to upgrade when using this package
680
+
681
+ - `Steppers` has been renamed to `Stepper` rename all references to `Stepper`
682
+ - `Step` add unique id to all steps.
683
+
684
+ ### Fixed
685
+
686
+ - `MasonryLayout` adapts to child elements changes that do not resize the main
687
+ DOM element.
688
+ - `Dropdown` will keep the list open if rerendered
689
+
690
+ ## 24 - 2023-03-20
691
+
692
+ ### Added
693
+
694
+ - `updateHasReadbackProtection` now checks whether the currently selected
695
+ device has readbackprotection enabled and updates redux store.
696
+ - `Device` objects now contain a `persistedSerialPortOptions` property when it
697
+ is available.
698
+
699
+ ### Changed
700
+
701
+ - `persistSerialPortOptions` is now a Redux Action and only requires a
702
+ `SerialPortOpenOptions<AutoDetectTypes>` to be passed.
703
+
704
+ ### Fixed
705
+
706
+ - Devices now receive persisted data on first enumation.
707
+ - Safe guard against retaining stale wait for device request if a new device
708
+ is selected
709
+
710
+ ### Removed
711
+
712
+ - `getPersistedSerialPortOptions` export has been removed as it is an optional
713
+ property in `Device` now.
714
+
715
+ ### Steps to upgrade when using this package
716
+
717
+ - Wrap `persistSerialPortOptions` in a `dispatch` call and only pass
718
+ `SerialPortOptions` as parameters.
719
+ - Replace `getPersistedSerialPortOptions` calls with the
720
+ `persistedSerialPortOptions` property in the `Device` type (accessible from
721
+ the DeviceSelector callbacks or through `dispatch(selectedDevice())`)
722
+
723
+ ## 23 - 2023-03-16
724
+
725
+ ### Added
726
+
727
+ - `getWaitingToAutoReselect` to tell when We are waiting to auto reconnect as
728
+ `getAutoReselect` is true
729
+ - `getWaitingForDeviceTimeout` to tell when `setWaitForDevice` timeout has
730
+ started
731
+ - `clearWaitForDevice` to cancel when `setWaitForDevice`
732
+
733
+ ### Changed
734
+
735
+ - `setWaitForDevice` with `undefined` can no longer be used to cancel timeouts
736
+ instead one should use `clearWaitForDevice`
737
+
738
+ ## 22 - 2023-03-15
739
+
740
+ ### Changed
741
+
742
+ - Update `nrf-device-lib-js` to version 0.6.2.
743
+
744
+ ## 21 - 2023-03-15
745
+
746
+ ### Added
747
+
748
+ - `useStopWatch` hook
749
+
750
+ ### Fix
751
+
752
+ - `ErrorBoundary` `Button` are now large.
753
+
754
+ ## 20 - 2023-03-14
755
+
756
+ ### Added
757
+
758
+ - Steppers component which allows to add states for success, failure and
759
+ warning.
760
+
761
+ ## 19 - 2023-03-13
762
+
763
+ ### Added
764
+
765
+ - `ErrorBoundary` use the shared `Button` component
766
+
767
+ ### Changed
768
+
769
+ - Update `nrf-device-lib-js` to version 0.6.0.
770
+
771
+ ## 18 - 2023-03-09
772
+
773
+ ### Added
774
+
775
+ - FeedbackPane component, to be added in the `Main` entry of a panes entry.
776
+ - Switch to next pane left, in order to navigate both ways.
777
+
778
+ ### Fixed
779
+
780
+ - Switch pane hotkey crashed the applications when it was fired.
781
+
782
+ ### Changed
783
+
784
+ - Do not resend close() if event that port was closed externally was emitted
785
+ - Add retry to open port on error `PORT_IS_ALREADY_BEING_OPENED`
786
+ - `Button` styles match the UX design guidelines.
787
+ - `Button` has `variant` property to assign it the designated style
788
+ - `Dialogs` use the shared `Button` component
789
+ - `AboutButton` use the shared `Button` component
790
+ - `ShortcutButton` use the shared `Button` component
791
+ - `SupportCard` use the shared `Button` component
792
+ - `FactoryResetButton` use the shared `Button` component
793
+ - `NavMenuItem` use the shared `Button` component
794
+ - `FeedbackPane` use the shared `Button` component
795
+
796
+ ## 17 - 2023-03-08
797
+
798
+ ### Added
799
+
800
+ - Allow apps to see if auto-reconnect is enabled.
801
+
802
+ ## 16 - 2023-03-03
803
+
804
+ ### Fixed
805
+
806
+ - Selecting a device will no longer stop and start hotplug events
807
+ - Long Serial number and device names will now render correctly
808
+
809
+ ## 15 - 2023-03-03
810
+
811
+ ### Added
812
+
813
+ - `Update Bootloader` prompt and `sdfu` programming for it.
814
+ - Reconnecting status in device selector.
815
+ - `setWaitForDevice` can be dispatched by apps to wait for a temporary
816
+ disconnect.
817
+ - During device setup, if device is in bootloader mode and user declines to
818
+ program, device is automatically switched to Application mode
819
+
820
+ ### Fixed
821
+
822
+ - Blocking dialog when disconnecting a device when the Programming dialog is
823
+ open.
824
+ - No longer auto reselect to the least disconnected device if is is in the
825
+ device list when clicking the `Auto Reconnect` Toggle.
826
+ - Dispatch `deviceSetupError` when `sdfu` programming fails.
827
+
828
+ ### Changed
829
+
830
+ - Device Enumeration is only done once in the app life cycle
831
+ - Only one instance of the hot plug events.
832
+ - `setWaitForDevice` is callback based and this calls that reboot the device
833
+ do not need to be awaited.
834
+ - Update `nrf-device-lib-js` to version 0.5.0.
835
+
836
+ ## 14 - 2023-02-28
837
+
838
+ ### Fixed
839
+
840
+ - `MasonryLayout` Update layout more frequently.
841
+ - `MasonryLayout` Hidden items can become visible and not remain hidden for
842
+ the full app life cycle.
843
+
844
+ ## 13 - 2023-02-24
845
+
846
+ ### Fixed
847
+
848
+ - Wrongly import of `electron/renderer`, now changed to `electron`.
849
+
850
+ ## 12 - 2023-02-23
851
+
852
+ ### Added
853
+
854
+ - `openAppWindow` sends IPC call to launcher, in order to open an app,
855
+ identified by its `name` and `source`. And gives the ability to provide
856
+ `openAppOptions` with `device` and `serialPortPath`, in order to directly
857
+ connect to a device, and its serial port.
858
+ - Optional `className` property on `MasonryLayout`.
859
+
860
+ ### Changed
861
+
862
+ - Improved `MasonryLayout` algorithm
863
+ - `MasonryLayout` Items with no height are hidden
864
+
865
+ ## 11 - 2023-02-22
866
+
867
+ ### Changed
868
+
869
+ - `shasum` property on apps became optional.
870
+
871
+ ## 10 - 2023-02-16
872
+
873
+ ### Fixed
874
+
875
+ - Masonry layout Max height generation algorithm
876
+ - Regression with dropdown items on hover effect
877
+
878
+ ## 9 - 2023-02-16
879
+
880
+ ### Added
881
+
882
+ - Masonry Layout
883
+
884
+ ## 8 - 2023-02-15
885
+
886
+ ### Changed
887
+
888
+ - Better Redux dev tools configuration: More actions (100 instead of 50) and
889
+ show some more objects, e.g. Maps and Sets.
890
+ - Updated `StartStopButton` to be a controlled component
891
+
892
+ ## 7 - 2023-02-13
893
+
894
+ ### Changed
895
+
896
+ - Switched to use only major versions for releases of `shared`.
897
+ - Check for `Changelog.md` entry in `files` in `package.json`. We need it in
898
+ our tarballs and for `npm@7` and later it is not added automatically any
899
+ longer when running `npm pack`.
900
+
901
+ ## 6.18.14 - 2023-02-07
902
+
903
+ ### Changed
904
+
905
+ - Readback status is now maintained separate from the device itself.
906
+
907
+ ## 6.18.13 - 2023-02-06
908
+
909
+ ### Fixed
910
+
911
+ - `Button` :focus background to white
912
+
913
+ ## 6.18.12 - 2023-02-06
914
+
915
+ ### Changed
916
+
917
+ - `Button` font size to 14px
918
+
919
+ ## 6.18.11 - 2023-02-06
920
+
921
+ ### Fixed
922
+
923
+ - `Button` remain styled as `click` after key mouse key is released
924
+
925
+ ### Added
926
+
927
+ - `large` Property to `Button` to make its height at 32px
928
+ - `large` Property to `StartStopButton` to make its height at 32px
929
+
930
+ ### Changed
931
+
932
+ - `StartStopButton` default to large
933
+
934
+ ## 6.18.10 - 2023-02-04
935
+
936
+ ### Added
937
+
938
+ - Allow apps to see if selected device has readback protection enabled.
939
+
940
+ ## 6.18.9 - 2023-02-03
941
+
942
+ ### Fixed
943
+
944
+ - `SidePanel` bottom margin of the last component
945
+
946
+ ## 6.18.8 - 2023-02-03
947
+
948
+ ### Fixed
949
+
950
+ - `persistentStore` logging message of terminal settings, missing `vCom-`
951
+ - Types for bleChannels.
952
+
953
+ ## 6.18.7 - 2023-02-03
954
+
955
+ ### Fixed
956
+
957
+ - Programming DFU devices from device selector on macOS.
958
+
959
+ ## 6.18.6 - 2023-02-03
960
+
961
+ ### Fixed
962
+
963
+ - `persistentStore` logging to persistent store missing `vCom-`
964
+
965
+ ## 6.18.5 - 2023-02-02
966
+
967
+ ### Changed
968
+
969
+ - `PersistedSerialPort` takes app name fom json
970
+ - `TerminalSettings` vCom Index is append with `vCom-` in persist store
971
+
972
+ ## 6.18.4 - 2023-02-01
973
+
974
+ ### Changed
975
+
976
+ - Updated `serialport` to emit events and have more than one subscriber
977
+ - Export `DropdownItem`
978
+
979
+ ## 6.18.3 - 2023-02-01
980
+
981
+ ### Fixed
982
+
983
+ - Only auto reconnect to device if traits are the same
984
+
985
+ ## 6.18.2 - 2023-02-01
986
+
987
+ ### Fixed
988
+
989
+ - No device selected if `serialNumber` is an empty string
990
+
991
+ ## 6.18.1 - 2023-01-30
992
+
993
+ ### Fixed
994
+
995
+ - Reloading with verbose logging enabled did not enable verbose logging on
996
+ after restart.
997
+
998
+ ### Removed
999
+
1000
+ - Hover colour for `Dropdown` and `StartStopButton` components.
1001
+
1002
+ ## 6.18.0 - 2023-01-26
1003
+
1004
+ ### Changed
1005
+
1006
+ - Updated nrf-device-lib-js to 0.5.0-pre7.
1007
+
1008
+ ### Fixed
1009
+
1010
+ - Some types needed by the launcher were not exported.
1011
+
1012
+ ## 6.17.3 - 2023-01-24
1013
+
1014
+ ### Fixed
1015
+
1016
+ - When the `dependencies` field in `package.json` is empty (which e.g. can be
1017
+ caused by the more recent versions of `npm`), the builds failed.
1018
+
1019
+ ## 6.17.2 - 2023-01-24
1020
+
1021
+ ### Fixed
1022
+
1023
+ - `husky install` sometimes was ran even if `shared` was installed only as a
1024
+ dependency. That was wrong and also failed, because it found no `.git`
1025
+ directory.
1026
+
1027
+ ## 6.17.1 - 2023-01-19
1028
+
1029
+ ### Fixed
1030
+
1031
+ - The components `ErrorBoundary` and `Logo` were broken if the Redux state
1032
+ wasn't in a supported state.
1033
+
1034
+ ## 6.17.0 - 2023-01-18
1035
+
1036
+ ### Added
1037
+
1038
+ - Component `RootErrorDialog` (which is the `ErrorDialog` wrongly removed in
1039
+ 6.15.0).
1040
+
1041
+ ### Changed
1042
+
1043
+ - Generate types automatically
1044
+
1045
+ ## 6.16.0 - 2023-01-17
1046
+
1047
+ ### Added
1048
+
1049
+ - OnConnect Event when device is connected via USB
1050
+ - OnDisconnect Event when device is disconnected via USB
1051
+ - Persistent Storage for the last Successful Serial Connection which use the
1052
+ Device SN and app name as key
1053
+ - Persistent Storage for the last Terminal settings use which use the Device
1054
+ SN and vComIndex as key
1055
+ - Add toggle to device list for apps to use and enable Auto Reconnect for that
1056
+ session
1057
+ - Optional auto reconnect to the last connected device for the app runtime
1058
+ session
1059
+
1060
+ ### Fix
1061
+
1062
+ - Event `onDeviceDeselected` not emitted when connecting to new device without
1063
+ eject old device
1064
+
1065
+ ### Changes
1066
+
1067
+ - Do nothing if the same connected device is reselected
1068
+
1069
+ ## 6.15.3 - 2023-01-13
1070
+
1071
+ ### Fixed
1072
+
1073
+ - `ConfirmationDialog` confirm button used wrong style.
1074
+ - All `Dialog` related types were exported wrongly.
1075
+
1076
+ ## 6.15.2 - 2023-01-13
1077
+
1078
+ ### Changed
1079
+
1080
+ - Updated nrf-device-lib-js to 0.5.0-pre4.
1081
+
1082
+ ## 6.15.1 - 2023-01-13
1083
+
1084
+ ### Fix
1085
+
1086
+ - `SerialPort` Salt IPC channel with COM port so apps can multiplex data for
1087
+ different COMs.
1088
+
1089
+ ## 6.15.0 - 2023-01-12
1090
+
1091
+ ### Added
1092
+
1093
+ - `Dialog` component with new style.
1094
+ - Shorthand creator functions for generic dialog use cases.
1095
+
1096
+ ### Removed
1097
+
1098
+ - `ConfirmationDialog` component.
1099
+ - Previous `ErrorDialog` component.
1100
+
1101
+ ### Steps to upgrade when using this package
1102
+
1103
+ - Any use of the `ConfirmationDialog` component has to be replaced with the
1104
+ new `Dialog` component or one of it's creator functions.
1105
+
1106
+ ## 6.14.4 - 2023-01-11
1107
+
1108
+ ### Changed
1109
+
1110
+ - App check on origin url is more relaxed.
1111
+
1112
+ ## 6.14.3 - 2023-01-04
1113
+
1114
+ ### Changed
1115
+
1116
+ - Update electron to 22.0.0
1117
+
1118
+ ## 6.14.2 - 2023-01-04
1119
+
1120
+ ### Changed
1121
+
1122
+ - Update device lib to 0.5.0
1123
+
1124
+ ## 6.14.1 - 2023-01-04
1125
+
1126
+ ### Fixed
1127
+
1128
+ - Chevron was not visible on a Collapsible Group.
1129
+
1130
+ ## 6.14.0 - 2023-01-02
1131
+
1132
+ ### Changed
1133
+
1134
+ - Property `apps` in type `SourceJson` became mandatory.
1135
+ - Renamed type `AppJson` to `AppInfo`.
1136
+ - Renamed property `latest` to `latestVersion` in type `AppInfo`.
1137
+ - Exported type `AppVersions` and renamed property `tarball` to `tarballUrl`.
1138
+ - Bumped target for TypeScript to `ES2020`.
1139
+
1140
+ ## 6.13.2 - 2022-12-19
1141
+
1142
+ ### Changed
1143
+
1144
+ - Fix imports that were a problem for tests in some apps.
1145
+
1146
+ ## 6.13.1 - 2022-12-05
1147
+
1148
+ ### Changed
1149
+
1150
+ - SerialPort is initialized with an `OverwriteOption`, consisting of
1151
+ `overwrite` and `settingsLocked`, instead of only `overwrite`. The new
1152
+ `settingsLocked` option lets renderers to lock the settings.
1153
+ - `onSeparateWrite` is changed into `onDataWritten` and will be the
1154
+ recommended way of writing data to any visual terminal. This is because the
1155
+ ipc traffic will provide the correct order of what data to write, so that if
1156
+ two or more renderers write at the same time, they won't display the data
1157
+ differently.
1158
+
1159
+ ## 6.13.0 - 2022-12-02
1160
+
1161
+ ### Added
1162
+
1163
+ - Export types `SourceJson` and `AppJson`, describing the structure of the new
1164
+ meta data files.
1165
+
1166
+ ### Changed
1167
+
1168
+ - Specifying a range with explicit values for a `NumberInlineInput` or a
1169
+ `Slider` was changed. When you before wrote an `NumberInlineInput` element
1170
+ (same applies to a `Slider`) like this:
1171
+
1172
+ ```jsx
1173
+ <NumberInlineInput
1174
+ values={[4]}
1175
+ range={{ min: 3, max: 9, explicitRange: [3, 5, 6, 7, 8, 9] }}
1176
+ onChange={[() => {}]}
1177
+ />
1178
+ ```
1179
+
1180
+ Instead you now have to replace the whole range object with the array and write
1181
+ it like this:
1182
+
1183
+ ```jsx
1184
+ <NumberInlineInput
1185
+ values={[4]}
1186
+ range={[3, 5, 6, 7, 8, 9]}
1187
+ onChange={[() => {}]}
1188
+ />
1189
+ ```
1190
+
1191
+ It is of course still possible to specify a range without explicit values like
1192
+ this:
1193
+
1194
+ ```jsx
1195
+ <NumberInlineInput
1196
+ values={[4]}
1197
+ range={{ min: 3, max: 9 }}
1198
+ onChange={[() => {}]}
1199
+ />
1200
+ ```
1201
+
1202
+ ### Fixed
1203
+
1204
+ - A `Slider` with ticks but without a defined step displayed the ticks
1205
+ wrongly.
1206
+
1207
+ ### Steps to upgrade when using this package
1208
+
1209
+ - If you are using a `NumberInlineInput` or `Slider` with a range with the
1210
+ `explicitRange` property, then you have to replace the whole range with the
1211
+ array of the `explicitRange` property, as shown above.
1212
+
1213
+ ## 6.12.1 - 2022-11-29
1214
+
1215
+ ### Fixed
1216
+
1217
+ - Building apps with esbuild no longer crashes.
1218
+
1219
+ ## 6.12.0 - 2022-11-29
1220
+
1221
+ ### Breaking
1222
+
1223
+ - `Toggle`, `Dropdown` and `StateSelector` are now controlled components only.
1224
+ Apps that did not use the `isToggled` or `selectedItem` arguments will have
1225
+ to implement this.
1226
+
1227
+ ### Changed
1228
+
1229
+ - `Toggle` component requires the `isToggled` argument.
1230
+ - `Dropdown` component requires `selectedItem` and removed defaultIndex.
1231
+ - `StateSelector` component requires `selectedItem` and removed defaultIndex.
1232
+
1233
+ ## 6.11.3 - 2022-11-29
1234
+
1235
+ ### Added
1236
+
1237
+ - Building bootstrap on postinstall, letting app bundler pick it up at will.
1238
+
1239
+ ## 6.11.2 - 2022-11-28
1240
+
1241
+ ### Added
1242
+
1243
+ - Serialport `on_update`, `on_set`, `on_changed`, `on_write` callbacks.
1244
+
1245
+ ### Changed
1246
+
1247
+ - Folder structure to have separate `pc-nrfconnect-shared/main`, in order to
1248
+ share code with pc-nrfconnect-launcher.
1249
+
1250
+ ## 6.11.1 - 2022-11-28
1251
+
1252
+ ### Fixed
1253
+
1254
+ - `scripts/nordic-publish.ts` failed when ran in the release pipeline.
1255
+ - Weakened type of `values` property of `Slider` from `number[]` to
1256
+ `readonly number[]`.
1257
+
1258
+ ## 6.11.0 - 2022-11-25
1259
+
1260
+ ### Added
1261
+
1262
+ - `NumberInlineInput` can opt to have step defined allowing only values that
1263
+ are a factor of this step size.
1264
+ - `NumberInlineInput` can opt to have explict ranges allowing for split
1265
+ ranges.
1266
+ - `InlineInput` can opt to have support for up/down keyboard events to control
1267
+ the value.
1268
+ - `NumberInlineInput` support for up/down keyboard events to control the
1269
+ value.
1270
+ - `Slider` can opt to have steps defined allowing allowing to increment the
1271
+ value with the step size.
1272
+ - `Slider` can opt to have explict ranges allowing for split ranges. Ticks are
1273
+ not yet supported on this mode.
1274
+ - Warn in console if Min and Max are not factors of the optional step size.
1275
+
1276
+ ### Fixed
1277
+
1278
+ - Esbuild problem when dist folder was missing.
1279
+
1280
+ ## 6.10.0 - 2022-11-25
1281
+
1282
+ ### Changed
1283
+
1284
+ - The active button of the `StateSelector` component is now white.
1285
+ - `scripts/nordic-publish.js` now also uploads the SVG icon and updates the
1286
+ new meta files. Using this will be mandatory for the next launcher release.
1287
+
1288
+ ### Fixed
1289
+
1290
+ - Esbuild for apps now also works, (only worked on the launcher renderers).
1291
+
1292
+ ## 6.9.0 - 2022-11-24
1293
+
1294
+ ### Changed
1295
+
1296
+ - `scripts/nordic-publish.js` is now transpiled and bundled on install, so we
1297
+ do not need to commit a transpiled version any longer.
1298
+
1299
+ ### Added
1300
+
1301
+ - SerialPort wrapper to be used by renderers in order to open and interact
1302
+ with port in the main process.
1303
+ - Script `check-app-properties` to check that certain static properties of the
1304
+ app are given, which we expect from it (e.g. certain fields in
1305
+ `package.json` are filled out).
1306
+
1307
+ ### Changed
1308
+
1309
+ - Replaced webpack with esbuild as a build system. Webpack will be removed
1310
+ from shared soon. This change also moves building of fonts and the bootstrap
1311
+ framework to the launcher for now. Also, the apps can now load assets and
1312
+ other assets locally as the base path of the application is set to the
1313
+ application directory.
1314
+
1315
+ ### Steps to upgrade when using this package
1316
+
1317
+ - If the application uses the SerialPort wrapper, you must bump the `engines`
1318
+ field in `package.json` to require at least version `3.13.0` of the
1319
+ launcher.
1320
+ - Change the entry `"nordic-publish"` in the `scripts` section of
1321
+ `package.json` to be `"nordic-publish": "node ./dist/nordic-publish.js"`.
1322
+ - Optional housekeeping, because it is not needed anymore: Update the release
1323
+ tasks in azure and remove the line `chmod +x ./dist/nordic-publish.js`.
1324
+ - For an app, add an entry `"check:app"` to the `scripts` section of
1325
+ `package.json`:
1326
+
1327
+ ```json
1328
+ {
1329
+ "scripts": {
1330
+ "check:app": "check-app-properties"
1331
+ }
1332
+ }
1333
+ ```
1334
+
1335
+ - Do the following changes to the scripts section to start using esbuild.
1336
+
1337
+ ```json
1338
+ {
1339
+ "scripts": {
1340
+ "watch": "run-p --silent --continue-on-error watch:*",
1341
+ "watch:build": "run-esbuild --watch",
1342
+ "watch:types": "tsc --noEmit --pretty --watch --preserveWatchOutput",
1343
+ "build:dev": "run-esbuild",
1344
+ "build:prod": "run-esbuild --prod"
1345
+ }
1346
+ }
1347
+ ```
1348
+
1349
+ - And remove the following parts.
1350
+
1351
+ ```json
1352
+ {
1353
+ "scripts": {
1354
+ "dev": "webpack watch --mode development",
1355
+ "webpack": "webpack build --mode development",
1356
+ "build": "webpack build"
1357
+ }
1358
+ }
1359
+ ```
1360
+
1361
+ ## 6.8.0 - 2022-11-04
1362
+
1363
+ ### Added
1364
+
1365
+ - Opt-in scroll functionality to the dropdown component if there are more then
1366
+ X items in the list.
1367
+ - In Dropdown component currently selected `DropdownItem` can now be passed
1368
+ using the `selectedItem` property.
1369
+ - In StateSelector component can now be passed using the `selectedItem`
1370
+ property.
1371
+
1372
+ ### Fixed
1373
+
1374
+ - Z-Index issue with dropdown select list when it is vertically above a toggle
1375
+ component and list is opened.
1376
+
1377
+ ## 6.7.2 - 2022-11-01
1378
+
1379
+ ### Fixed
1380
+
1381
+ - Removed type causing type checker errors from the removed app reload
1382
+ component.
1383
+
1384
+ ## 6.7.1 - 2022-10-31
1385
+
1386
+ ### Fixed
1387
+
1388
+ - Compile error because of missing import in state-selector.scss.
1389
+
1390
+ ## 6.7.0 - 2022-10-28
1391
+
1392
+ ### Changed
1393
+
1394
+ - Updated Jest from 27 to 29.
1395
+
1396
+ ### Steps to upgrade when using this package
1397
+
1398
+ - The new version of Jest might require some changes, check
1399
+ https://jestjs.io/docs/28.x/upgrading-to-jest28 and
1400
+ https://jestjs.io/docs/upgrading-to-jest29 for this.
1401
+ - The new version of Jest simplifies typing mocks, so you might want to update
1402
+ code. E.g.
1403
+ `(someFunction as jest.MockedFunction<typeof someFunction>).mockReturnValue(42)`
1404
+ can be simplified to `jest.mocked(someFunction).mockReturnValue(42)`.
1405
+
1406
+ ## 6.6.4 - 2022-10-10
1407
+
1408
+ ### Changed
1409
+
1410
+ - The testutil `dispatchTo` always initially dispatches an initialisation
1411
+ action. This resembles more closely what happens in a normal system and
1412
+ makes it a tad easier to test the initial state.
1413
+
1414
+ ### Fixed
1415
+
1416
+ - The exported `errorDialogReducer` was not defined in `index.d.ts`.
1417
+
1418
+ ## 6.6.3 - 2022-09-26
1419
+
1420
+ ### Changed
1421
+
1422
+ - Speed up releasing apps a _lot_.
1423
+
1424
+ ### Steps to upgrade when using this package
1425
+
1426
+ - Change the entry `"nordic-publish"` in the `scripts` section of
1427
+ `package.json` to be `"nordic-publish": "./dist/nordic-publish.js"`.
1428
+ - Update the release tasks in azure to add the executable bit to the script by
1429
+ adding the line `chmod +x ./dist/nordic-publish.js`.
1430
+ - Remove the line `npm install` from the release ci task.
1431
+
1432
+ ## 6.6.2 - 2022-09-14
1433
+
1434
+ ### Added
1435
+
1436
+ - Babel plugin `@babel/plugin-transform-classes`.
1437
+
1438
+ ### Removed
1439
+
1440
+ - Support for `pc-ble-driver-js`.
1441
+
1442
+ ## 6.6.1 - 2022-08-31
1443
+
1444
+ ### Added
1445
+
1446
+ - Show more information about connected device in About pane if applicable.
1447
+
1448
+ ## 6.6.0 - 2022-08-24
1449
+
1450
+ ### Added
1451
+
1452
+ - macOS: Warning for M1 users who does not have JLink Universal version.
1453
+
1454
+ ### Fixed
1455
+
1456
+ - Windows: Some development scripts were broken if no bash was installed.
1457
+
1458
+ ### Changed
1459
+
1460
+ - Upgraded husky from
1461
+ [4 to 8](https://typicode.github.io/husky/#/?id=migrate-from-v4-to-v8),
1462
+ which changes how it is configured.
1463
+
1464
+ ### Removed
1465
+
1466
+ - Script `scripts/pre-push.sh` to be used by husky.
1467
+
1468
+ ### Steps to upgrade when using this package
1469
+
1470
+ - Remove `.huskyrc.json`.
1471
+ - Add an entry `"prepare": "husky install"` to the `scripts` section of
1472
+ `package.json`.
1473
+ - After the steps above run
1474
+ `npm ci && npx husky add .husky/pre-push 'npm run check && npm t'` to create
1475
+ an appropriate pre-push hook.
1476
+
1477
+ ## 6.5.5 - 2022-08-19
1478
+
1479
+ ### Fixed
1480
+
1481
+ - Log file was never created.
1482
+
1483
+ ## 6.5.4 - 2022-08-15
1484
+
1485
+ ### Changed
1486
+
1487
+ - Updated nrf-device-lib-js to 0.4.8.
1488
+ - `getModuleVersions` API changed.
1489
+
1490
+ ## 6.5.3 - 2022-08-09
1491
+
1492
+ ### Added
1493
+
1494
+ - `eslint-plugin-testing-library` added as dependency for all applications.
1495
+
1496
+ ## 6.5.2 - 2022-07-13
1497
+
1498
+ ### Fixed
1499
+
1500
+ - 6.5.1 crashed the launcher with an uncaught TypeError on startup.
1501
+
1502
+ ## 6.5.1 - 2022-07-13
1503
+
1504
+ ### Fixed
1505
+
1506
+ - Logging with `logger` during startup may not have written to log file.
1507
+
1508
+ ## 6.5.0 - 2022-07-12
1509
+
1510
+ ### Fixed
1511
+
1512
+ - The old API of `useHotKey()` was broken. Now the old and the new API are
1513
+ supported. Using the old API just triggers a warning on the console.
1514
+
1515
+ ### Changed
1516
+
1517
+ - `isLoggingVerbose` is now exported as a normal function instead of a
1518
+ selector.
1519
+
1520
+ ## 6.4.1 - 2022-07-07
1521
+
1522
+ ### Fixed
1523
+
1524
+ - `sendErrorReport` caused the app to crash if `appJson` was undefined.
1525
+
1526
+ ## 6.4.0 - 2022-06-30
1527
+
1528
+ ### Added
1529
+
1530
+ - Add shortcut menu and implement shortcuts
1531
+ - `BrokenDeviceDialog` component that shows more info when selecting a device
1532
+ with broken traits.
1533
+ - Devices with broken trait are listed as unsupported in `DeviceLister`.
1534
+ - Export verbose log state selector.
1535
+
1536
+ ## 6.3.4 - 2022-06-29
1537
+
1538
+ ### Fixed
1539
+
1540
+ - Reset persisted settings if the app fails to read the file.
1541
+
1542
+ ## 6.3.3 - 2022-06-23
1543
+
1544
+ ### Changed
1545
+
1546
+ - Move all devDependencies into dependencies and remove peer dependencies. The
1547
+ peer ependencies were use by all apps anyways, so moving them all into
1548
+ dependencies will let the apps remove their own version of them.
1549
+
1550
+ ## 6.3.2 - 2022-06-21
1551
+
1552
+ ### Fixed
1553
+
1554
+ - macOS: Froze a few seconds after launch (happened in the launcher and apps
1555
+ that bundle shared when usage data was enabled).
1556
+
1557
+ ## 6.3.1 - 2022-05-23
1558
+
1559
+ ### Fixed
1560
+
1561
+ - Type-checking error when using 6.3.0 in apps.
1562
+
1563
+ ## 6.3.0 - 2022-05-23
1564
+
1565
+ ### Fixed
1566
+
1567
+ - Log file was always empty and could not be opened through “Open log file”
1568
+ for apps bundling shared.
1569
+
1570
+ ### Added
1571
+
1572
+ - Collect telemetry on cpu architecture to help determine usefulness of 32-bit
1573
+ builds.
1574
+
1575
+ ### Removed
1576
+
1577
+ - `addFileTransport` from the exported interface of the logger, because it
1578
+ should not be called by the launcher any longer.
1579
+
1580
+ ### Changed
1581
+
1582
+ - Faster startup of apps as less code is loaded on startup.
1583
+
1584
+ ## 6.2.3 - 2022-05-11
1585
+
1586
+ ### Changed
1587
+
1588
+ - Enabled `allowExpression` option in `react/jsx-no-useless-fragment` eslint
1589
+ rule.
1590
+
1591
+ ## 6.2.2 - 2022-05-10
1592
+
1593
+ ### Fixed
1594
+
1595
+ - When the trait `serialPorts` is specified it was wrongly overwritten by the
1596
+ `serialPort` (or `serialport`) trait.
1597
+
1598
+ ## 6.2.1 - 2022-05-10
1599
+
1600
+ ### Fixed
1601
+
1602
+ - Continue support for the outdated device trait name `serialPort` (besides
1603
+ the new, correct `serialPorts`).
1604
+
1605
+ ## 6.2.0 - 2022-05-10
1606
+
1607
+ ### Added
1608
+
1609
+ - Website links for the nRF5340 Audio DK (PCA10121).
1610
+
1611
+ ### Changed
1612
+
1613
+ - Updated nrf-device-lib-js to 0.4.8.
1614
+
1615
+ ## 6.1.0 - 2022-05-06
1616
+
1617
+ ### Added
1618
+
1619
+ - Support the nRF5340 Audio DK (PCA10121).
1620
+ - Export `ErrorDialogActions` type.
1621
+
1622
+ ### Changed
1623
+
1624
+ - Reduced startup time of windows apps.
1625
+ - Updated several dependencies.
1626
+
1627
+ ### Removed
1628
+
1629
+ - Obsolete `ErrorDialogAction` type.
1630
+ - Obsolete `NrfConnectAction` and other related types.
1631
+
1632
+ ### Steps to upgrade when using this package
1633
+
1634
+ - Some of the updated dependencies (like `prettier`, `ESLint`, and
1635
+ `eslint-config-airbnb`) might lead to failing checks, which would require
1636
+ some minor updates.
1637
+
1638
+ ## 6.0.5 - 2022-05-02
1639
+
1640
+ ### Fixed
1641
+
1642
+ - Problems with new scripts everywhere.
1643
+
1644
+ ## 6.0.4 - 2022-05-02
1645
+
1646
+ ### Fixed
1647
+
1648
+ - Problems with new scripts under Unix.
1649
+
1650
+ ## 6.0.3 - 2022-05-02
1651
+
1652
+ ### Fixed
1653
+
1654
+ - Problems with new scripts under Windows.
1655
+
1656
+ ## 6.0.2 - 2022-04-28
1657
+
1658
+ ### Changed
1659
+
1660
+ - Update `nrf-device-lib-js` to 0.4.6.
1661
+
1662
+ ## 6.0.1 - 2022-04-11
1663
+
1664
+ ### Changed
1665
+
1666
+ - `@types/react@17` became a prod dependency.
1667
+
1668
+ ## 6.0.0 - 2022-04-11
1669
+
1670
+ ### Added
1671
+
1672
+ - `Button` component
1673
+
1674
+ ### Changed
1675
+
1676
+ - Standardise toggle colours.
1677
+ - Updated toggle design in footer.
1678
+ - Center `About` pane vertically.
1679
+ - Type of `getPersistentStore` was changed to match more that from
1680
+ electron-store.
1681
+ - Bundle shared with the apps.
1682
+ - ESlint config file changed to `config/eslintrc.js`.
1683
+ - Ignore all entries from `.gitignore` in linting.
1684
+
1685
+ ### Removed
1686
+
1687
+ - Support for `nrfconnect/core` as mocked or external module.
1688
+ - Obsolete `lint-init`.
1689
+ - `nrfconnect-scripts`.
1690
+ - Plugin `add-module-exports` from babel config because it caused problems
1691
+ with the latest version of `electron-store` (or, more concrete, with the
1692
+ dependency `atomically` which that pulled in.)
1693
+ - Running ESLint during build.
1694
+
1695
+ ### Steps to upgrade when using this package
1696
+
1697
+ - The device-lib in launcher 3.11 crashes with shared@6, so you must bump the
1698
+ `engines` field in `package.json` to require at least version `3.11.1` of
1699
+ the launcher.
1700
+
1701
+ - Because this version removed `nrfconnect-scripts`, all invocations of it
1702
+ have to be replaced with direct invocations of the corresponding tools. So
1703
+ in `package.json` these entries in the `scripts` property should replace the
1704
+ previous entries:
1705
+
1706
+ ```json
1707
+ {
1708
+ "scripts": {
1709
+ "dev": "webpack watch --mode development",
1710
+ "webpack": "webpack build --mode development",
1711
+ "build": "webpack build",
1712
+ "test": "jest",
1713
+ "check": "run-p --silent --continue-on-error --print-label check:*",
1714
+ "check:lint": "eslint --color .",
1715
+ "check:types": "check-for-typescript tsc --noEmit --pretty",
1716
+ "check:license": "nrfconnect-license check",
1717
+ "nordic-publish": "nordic-publish"
1718
+ }
1719
+ }
1720
+ ```
1721
+
1722
+ - A file `webpack.config.js` must be added with this content:
1723
+
1724
+ ```js
1725
+ module.exports = require('pc-nrfconnect-shared/config/webpack.config');
1726
+ ```
1727
+
1728
+ - A file `jest.config.js` must be added with this content, unless you want to
1729
+ have a special jest configuration:
1730
+
1731
+ ```js
1732
+ module.exports = require('pc-nrfconnect-shared/config/jest.config')();
1733
+ ```
1734
+
1735
+ - Because the name of the ESLint config file was changed from `eslintrc.json`
1736
+ to `eslintrc.js`, the reference to it needs to be changed in `package.json`
1737
+ (The correct extension will be chosen automatically, so you can omit that):
1738
+
1739
+ ```json
1740
+ {
1741
+ "eslintConfig": {
1742
+ "extends": "./node_modules/pc-nrfconnect-shared/config/eslintrc"
1743
+ }
1744
+ }
1745
+ ```
1746
+
1747
+ - The above change renames the script `lint` to `check` (because it does not
1748
+ only linting but runs multiple static checks). In `azure-pipelines.yml`
1749
+ there are probably still invocations like `npm run lint` and these need to
1750
+ be updated to `npm run check`. If there are other references to `lint`, they
1751
+ need to be updated too.
1752
+
1753
+ - The scripts require at least Ubuntu 20 in the Azure pipelines. So check
1754
+ which image is configured in `azure-pipelines.yml` and if it is still
1755
+ `ubuntu-18.04` update that, best to `ubuntu-latest`.
1756
+
1757
+ - The enzyme-to-json serializer was added to the jest config which might
1758
+ change some jest snapshots. You might have to run `jest --updateSnapshot` to
1759
+ update them.
1760
+
1761
+ ## 5.18.0 - 2022-03-24
1762
+
1763
+ ### Removed
1764
+
1765
+ - Automatically selecting a specified device through the environment variable
1766
+ `AUTOSELECT_DEVICE`.
1767
+
1768
+ ### Added
1769
+
1770
+ - Automatically selecting a specified device when it is detected in an app
1771
+ through the command line argument `--deviceSerial`. To use this, specify the
1772
+ argument behind an additional `--` e.g. by running the launcher with
1773
+
1774
+ ```cli
1775
+ npm run app -- --deviceSerial 000680407810
1776
+ ```
1777
+
1778
+ the device with the serial number 000680407810 is automatically selected
1779
+ when apps see it for the first time. When one deselects the device it is not
1780
+ automatically selected again. After restarting the app, the device is
1781
+ automatically selected again.
1782
+
1783
+ ## 5.17.0 - 2022-02-15
1784
+
1785
+ ### Fixed
1786
+
1787
+ - The system report did not contain the version numbers for the nrfjprog DLL
1788
+ and JLink.
1789
+ - The error reporter UI didn't handle content overflow when the available
1790
+ options were expanded.
1791
+ - When the app crashed and the error reporter was displayed, users can
1792
+ generate a system report. In that report, the current device was not
1793
+ displayed correctly. E.g. with a nRF52 Dongle with the RSSI app on this was
1794
+ shown:
1795
+ <pre>
1796
+ - Current device:
1797
+ - name: undefined
1798
+ - serialNumber: [object Object]
1799
+ - cores: undefined
1800
+ - website: undefined
1801
+ </pre>
1802
+
1803
+ After this fix this is correctly shown like this:
1804
+ <pre>
1805
+ - Current device:
1806
+ - name: nRF52 RSSI Dongle
1807
+ - serialNumber: F31282696FF5
1808
+ - cores: Unknown
1809
+ - website: Unknown
1810
+ </pre>
1811
+
1812
+ ### Added
1813
+
1814
+ - Added version numbers for device-lib and device-lib-js to the system report.
1815
+ - Warn if ESLint disable directives (like `eslint-disable` or
1816
+ `eslint-disable-next-line`) are used, even though they are not necessary
1817
+ (anymore).
1818
+ - Inform user if installed JLink version and the provided one do not match.
1819
+ - Added `@electron/remote` to replace electron.remote.
1820
+
1821
+ ### Changed
1822
+
1823
+ - Updated a lot of dependencies.
1824
+ - Forbid use of `@ts-ignore`.
1825
+ - Use source map in apps in production.
1826
+ - Lint also JSON files.
1827
+ - Initial `Application data folder` is now logged only at debug level, no
1828
+ longer at info.
1829
+
1830
+ ### Removed
1831
+
1832
+ - Dependency on `immutable`.
1833
+
1834
+ ### Steps to upgrade when using this package
1835
+
1836
+ - Because JSON files are now linted also, you might need to adapt yours to the
1837
+ general style (usually an auto fix).
1838
+ - A lot of dependencies were updated, including linting and testing tools. So
1839
+ there can be some new warnings or errors when linting, testing, or building.
1840
+ Check that after updating to this version.
1841
+ - If your project currently uses `@ts-ignore` you have to change something. In
1842
+ most cases `@ts-ignore` is used to correct a glitch from another library. At
1843
+ least in these cases `@ts-expect-error` should be used instead. If the
1844
+ library is corrected, we will then see that we can remove the directive. If
1845
+ it is one of the rare cases that you _really_ want to use `@ts-ignore`, you
1846
+ can disable the rule `@typescript-eslint/ban-ts-comment` in that spot, but
1847
+ please think twice about this.
1848
+ - If you still use `immutable` in your project and do not want to change that
1849
+ now, then you need to add it to the direct dependencies of your project.
1850
+
1851
+ ## 5.16.3 - 2022-01-28
1852
+
1853
+ ### Changed
1854
+
1855
+ - Only propagate device-lib logs while in development.
1856
+ - Update nrfdl log formatting.
1857
+
1858
+ ## 5.16.2 - 2022-01-24
1859
+
1860
+ ### Fixed
1861
+
1862
+ - Updated nrfdl module version logging according to recent changes in the
1863
+ nrfdl api.
1864
+
1865
+ ## 5.16.1 - 2022-01-19
1866
+
1867
+ ### Changed
1868
+
1869
+ - Update default nrf-device-lib-js log level to `ERROR`.
1870
+ - `Restart with verbose logging` button is now disabled until verbose logging
1871
+ is switched on.
1872
+
1873
+ ### Fixed
1874
+
1875
+ - In some cases nrf-device-lib-js log event callback was registered twice,
1876
+ which caused an error message to be logged.
1877
+
1878
+ ## 5.16.0 - 2022-01-11
1879
+
1880
+ ### Added
1881
+
1882
+ - Toggle in `About` pane to select minimum nrf-device-lib-js log level (trace
1883
+ or warning).
1884
+
1885
+ ## 5.15.1 - 2022-01-10
1886
+
1887
+ ### Changed
1888
+
1889
+ - Increased `About` pane card width and bottom margin.
1890
+
1891
+ ## 5.15.0 - 2022-01-07
1892
+
1893
+ ### Changed
1894
+
1895
+ - Ignore the `/dist` folder while linting.
1896
+
1897
+ ### Steps to upgrade when using this package
1898
+
1899
+ - Since the `dist` folder is now ignored during linting, it should be fine to
1900
+ tell ESLint to lint _all_ files, by changing the `lint` script in
1901
+ `package.json` to `nrfconnect-scripts lint .`. If there is also a `lintfix`
1902
+ script or alike, those of course also need to be changed. If there are more
1903
+ (e.g. generated) files that need to be ignored during linting, you can
1904
+ create
1905
+ [a `.eslintignore` file](https://eslint.org/docs/user-guide/configuring/ignoring-code#the-eslintignore-file)
1906
+ and add the files to be ignore there in your project.
1907
+
1908
+ ## 5.14.0 - 2022-01-06
1909
+
1910
+ ### Changed
1911
+
1912
+ - Allow TypeScript's non null assertion parameter `!` in tests, because there
1913
+ it is often ok to use it and have it fail the test if something is
1914
+ unexpectedly null.
1915
+
1916
+ ## 5.13.0 - 2022-01-04
1917
+
1918
+ ### Changed
1919
+
1920
+ - Markdown files are now linted too.
1921
+
1922
+ ### Fixed
1923
+
1924
+ - Firmware validation using the wrong function.
1925
+
1926
+ ### Steps to upgrade when using this package
1927
+
1928
+ - Run `npm run lint -- --fix` once to update the formatting of all markdown
1929
+ files and check the changes manually. Make sure, that markdown files are
1930
+ linted too, e.g. the entry for the `lint` script in `package.json` should
1931
+ contain either `.` or `*.md`.
1932
+
1933
+ ## 5.12.2 - 2021-12-22
1934
+
1935
+ ### Fixed
1936
+
1937
+ - Secondary disabled buttons had no border.
1938
+ - Crash when opening device details in device lister.
1939
+ - macOS: missing margin around `InlineInput` components.
1940
+
1941
+ ## 5.12.1 - 2021-12-16
1942
+
1943
+ ### Fixed
1944
+
1945
+ - Device reconnects correctly after flashing dongle.
1946
+
1947
+ ## 5.12.0 - 2021-12-15
1948
+
1949
+ ### Added
1950
+
1951
+ - Support for Nordic JLink OB based development kits.
1952
+
1953
+ ### Changed
1954
+
1955
+ - Updated device lib with various fixes
1956
+ [0.4.0](https://github.com/NordicPlayground/nrf-device-lib-js/blob/master/Changelog.md#040---2021-12-15).
1957
+
1958
+ ## 5.11.1 - 2021-12-14
1959
+
1960
+ ### Fixed
1961
+
1962
+ - System Report feature now works when no device is selected.
1963
+ - System Report feature now displays website formatted correctly.
1964
+ - Typing for `RangeProp`.
1965
+
1966
+ ## 5.11.0 - 2021-12-09
1967
+
1968
+ ### Added
1969
+
1970
+ - Convenience function to truncate middle parts of strings.
1971
+
1972
+ ## 5.10.0 - 2021-12-09
1973
+
1974
+ ### Added
1975
+
1976
+ - Print nRFjprog and JLink version in system report.
1977
+ - Print all serialports of connected devices in system report.
1978
+
1979
+ ### Changed
1980
+
1981
+ - nRF Device Lib versions now printed at info level.
1982
+
1983
+ ## 5.9.1 - 2021-12-09
1984
+
1985
+ ### Fixed
1986
+
1987
+ - Mock nrf-device-lib-js function used by testing framework.
1988
+
1989
+ ## 5.9.0 - 2021-12-07
1990
+
1991
+ ### Fixed
1992
+
1993
+ - `[Object object]` error message when device enumeration failed.
1994
+ - macOS Monterey: There was a warning when creating a system report for the
1995
+ first time.
1996
+
1997
+ ### Added
1998
+
1999
+ - Export `render`, `dispatchTo`, and `rootReducer` as an object `testUtils` to
2000
+ aid testing.
2001
+ - Export `describeError` to convert any error object to a reasonable string
2002
+ representation.
2003
+
2004
+ ### Changed
2005
+
2006
+ - Move nrf-device-lib-js to dependencies as the exposed types system uses
2007
+ types from it.
2008
+ - Bump version of nrf-device-lib-js to 0.3.20.
2009
+
2010
+ ### Steps to upgrade when using this package
2011
+
2012
+ - If your project previously used `@types/react@16.14.4` to fix that nasty
2013
+ compatibility problem with react-bootstrap, you now must upgrade
2014
+ `@types/react`, best to the latest version.
2015
+
2016
+ ## 5.8.1 - 2021-11-18
2017
+
2018
+ ### Fixed
2019
+
2020
+ - Allow selecting device without flashing it if firmware doesn't match.
2021
+
2022
+ ### Added
2023
+
2024
+ - Function `logError` to ease logging error.
2025
+
2026
+ ## 5.8.0 - 2021-11-08
2027
+
2028
+ ### Added
2029
+
2030
+ - Chevron to `DeviceSelector`
2031
+
2032
+ ## 5.7.0 - 2021-11-08
2033
+
2034
+ ### Changed
2035
+
2036
+ - Requires now `nrf-device-lib-js` 0.3.18.
2037
+ - Increase enumeration timeout to 3 minutes, because according to reports the
2038
+ current enumeration timeout can be too short.
2039
+ - More detailed logging when enumerating the devices fails.
2040
+
2041
+ ## 5.6.5 - 2021-11-07
2042
+
2043
+ ### Fixed
2044
+
2045
+ - Debug log would always claim that engine was not supported.
2046
+
2047
+ ## 5.6.4 - 2021-11-02
2048
+
2049
+ ### Changed
2050
+
2051
+ - Make alerts dismissible.
2052
+
2053
+ ## 5.6.3 - 2021-11-02
2054
+
2055
+ ### Added
2056
+
2057
+ - Selector `selectedDevice` to retrieve the currently selected device in apps.
2058
+
2059
+ ### Fixed
2060
+
2061
+ - Correctly selected device when returning to application mode from bootloader
2062
+ mode.
2063
+
2064
+ ## 5.6.2 - 2021-10-29
2065
+
2066
+ ### Fixed
2067
+
2068
+ - Properties of the main panes (and their children) were frozen by immer.
2069
+
2070
+ ## 5.6.1 - 2021-10-28
2071
+
2072
+ ### Fixed
2073
+
2074
+ - Dropdown styling when label prop is used.
2075
+
2076
+ ## 5.6.0 - 2021-10-28
2077
+
2078
+ ### Added
2079
+
2080
+ - Stylised scrollbar to `About` pane.
2081
+
2082
+ ## 5.5.8 - 2021-10-22
2083
+
2084
+ ### Fixed
2085
+
2086
+ - Wait for device to boot up after being set to bootloader mode.
2087
+
2088
+ ## 5.5.7 - 2021-10-21
2089
+
2090
+ ### Changed
2091
+
2092
+ - Outdated styling for disabled elements used in old architecture.
2093
+
2094
+ ### Fixed
2095
+
2096
+ - Displaying progress percentage for USB SDFU.
2097
+ - Firmware validation for Nordic USB device.
2098
+ - Loading indicator/disabled buttons for FW installation in progress.
2099
+
2100
+ ## 5.5.6 - 2021-10-20
2101
+
2102
+ ### Fixed
2103
+
2104
+ - `DocumentationSection` type validation error.
2105
+ - `deviceSetup` type validation error.
2106
+
2107
+ ## 5.5.5 - 2021-10-15
2108
+
2109
+ ### Fixed
2110
+
2111
+ - Only one serialport was shown in the Device Selector regardless of how many
2112
+ were available.
2113
+ - Wrong serialport property was displayed in the Device Selector.
2114
+ - Wrong serialport property was displayed in the System Report.
2115
+
2116
+ ## 5.5.4 - 2021-10-14
2117
+
2118
+ ### Fixed
2119
+
2120
+ - Export `DocumentationSection` as React component instead of interface.
2121
+
2122
+ ## 5.5.3 - 2021-10-13
2123
+
2124
+ ### Added
2125
+
2126
+ - Expose enum values for types in init packet.
2127
+
2128
+ ## 5.5.2 - 2021-10-13
2129
+
2130
+ ### Added
2131
+
2132
+ - Expose types for init packet.
2133
+
2134
+ ## 5.5.1 - 2021-10-13
2135
+
2136
+ ### Added
2137
+
2138
+ - Expose types for SDFU operations and device lister.
2139
+
2140
+ ## 5.5.0 - 2021-10-12
2141
+
2142
+ ### Added
2143
+
2144
+ - Show `no supported devices found` message when all devices were filtered out
2145
+ with `deviceFilter`.
2146
+
2147
+ ## 5.4.0 - 2021-10-07
2148
+
2149
+ ### Added
2150
+
2151
+ - Property `deviceFilter` on `DeviceSelector` to filter which devices are
2152
+ shown.
2153
+
2154
+ ## 5.3.2 - 2021-10-06
2155
+
2156
+ ### Fixed
2157
+
2158
+ - Removed the outdated externals `pc-nrfjprog-js`, `usb`, and
2159
+ `nrf-device-setup` from the webpack config for apps.
2160
+ - Handle trailing slashes in `.gitignore` correctly in
2161
+ `bin/nrfconnect-license.mjs`.
2162
+
2163
+ ## 5.3.1 - 2021-10-05
2164
+
2165
+ ### Fixed
2166
+
2167
+ - Add ambient module for resolving css modules.
2168
+
2169
+ ## 5.3.0 - 2021-09-04
2170
+
2171
+ ### Added
2172
+
2173
+ - Documentation card in About pane.
2174
+
2175
+ ## 5.2.1 - 2021-10-01
2176
+
2177
+ ### Added
2178
+
2179
+ - Alert component.
2180
+
2181
+ ## 5.2.0 - 2021-09-28
2182
+
2183
+ ### Added
2184
+
2185
+ - Render children of the component `App`. Children of the component `App`
2186
+ usually should not render to something that is directly visible on the
2187
+ screen, as this would break the normal layout of the app. There are mainly
2188
+ two use cases:
2189
+ - Components like dialogs, which are displayed outside of the normal
2190
+ render flow.
2191
+ - Components which are displayed not at all, but are rendered just for
2192
+ other means, e.g. to dispatch Redux actions when the App is started.
2193
+
2194
+ ### Changed
2195
+
2196
+ - Enabled two additional ESLint rules:
2197
+ - [`require-await`](https://eslint.org/docs/rules/require-await), to
2198
+ disallow async functions which have no await expression.
2199
+ - [`react/jsx-key`](https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-key.md),
2200
+ to check that a key property is used for lists in JSX.
2201
+
2202
+ ### Fixed
2203
+
2204
+ - The property `allowCustomDevice` was used but missing in the type and props
2205
+ definitions for DeviceSetup.
2206
+ - Run complete setup for custom devices.
2207
+
2208
+ ### Steps to upgrade when using this package
2209
+
2210
+ - The two newly enabled ESLint rules `require-await` and `react/jsx-key` may
2211
+ require you to update some code. Please note that you should not blindly
2212
+ remove an `async` in front of a function if there is no `await` in it: When
2213
+ you have other code which depends on this function returning a Promise (e.g.
2214
+ by calling `.then` on the returned object), then you also need to change
2215
+ that code.
2216
+
2217
+ ## 5.1.1 - 2021-09-28
2218
+
2219
+ ### Added
2220
+
2221
+ - Expose functions for USB serial DFU.
2222
+
2223
+ ## 5.1.0 - 2021-09-23
2224
+
2225
+ ### Changed
2226
+
2227
+ - The license check now ignores all files in `.gitignore` and the folder
2228
+ `.git`. Before it just ignored `node_modules`, `dist`, and `.git`.
2229
+
2230
+ ### Fixed
2231
+
2232
+ - With `npm run lint` the license check failed to run for shared on Windows.
2233
+
2234
+ ## 5.0.1 - 2021-09-17
2235
+
2236
+ ### Fixed
2237
+
2238
+ - Format of library version from nrf-device-lib-js.
2239
+ - Reset not longer need to be called explicitly since it's been fixed in
2240
+ nrf-device-lib.
2241
+ - API firmwareProgram breaks due to argument type change.
2242
+
2243
+ ## 5.0.0 - 2021-09-13
2244
+
2245
+ ### Breaking
2246
+
2247
+ - Require Node.js 14 while building.
2248
+ - Require new license and copyright headers: During running `npm run lint` it
2249
+ is now checked, that `LICENSE` has the right content for a nRF Connect for
2250
+ Desktop program from Nordic Semiconductors and that all source files have
2251
+ the short copyright header, which references the license. The license should
2252
+ be the same as before, just adding the license identifier.
2253
+
2254
+ There is a new script `nrfconnect-license` which is automatically ran as
2255
+ `nrfconnect-license check` during the automated build to check the license
2256
+ and headers. It can also be ran as `nrfconnect-license update` to add
2257
+ copyright headers to all files which currently either do not have such a
2258
+ header at all or have the known old copyright header.
2259
+
2260
+ If there is a comment at the beginning of a file, which is not recognised as
2261
+ the known old copyright header, then the script plays it safe and does not
2262
+ touch the file. So in these cases (which can also happen if there is an
2263
+ ESLint directive) you have to inspect the file manually. The script does
2264
+ recognise and preserve a shebang line (one starting with `#!`) at the
2265
+ beginning of files. The script also does not touch the file `LICENSE`, you
2266
+ are supposed to update that manually.
2267
+
2268
+ ### Added
2269
+
2270
+ - @nordicsemiconductor/nrf-device-lib-js in dependencies and devDependencies
2271
+ - Device lister implemented with nrf-device-lib-js
2272
+ - Device setup implemented with nrf-device-lib-js
2273
+ - Log the versions of our low level libraries.
2274
+ - Component `Dropdown`.
2275
+
2276
+ ### Changed
2277
+
2278
+ - Run the different checks (ESLint, TypeScript types and correct copyrights)
2279
+ during `npm run lint` in parallel. This makes them run faster but especially
2280
+ also makes them fail faster, because e.g. a missing copyright header can be
2281
+ detected faster than wrong types.
2282
+ - Disabled ESLint rule
2283
+ [`import/prefer-default-export`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/prefer-default-export.md).
2284
+
2285
+ ### Fixed
2286
+
2287
+ - CSS issue where hidden content was scrollable.
2288
+ - Correct name of Nordic Thingy:91 in the device selector.
2289
+
2290
+ ### Steps to upgrade when using this package
2291
+
2292
+ - Remove manual overrides that disable the ESLint rule
2293
+ `import/prefer-default-export`.
2294
+ - To accommodate for the new Node requirement, make sure you have at least
2295
+ Node.js 14 while developing. The `azure-pipelines.yml` may also need to be
2296
+ updated.
2297
+ - The new license check will probably fail for a lot of source files
2298
+ initially.
2299
+ - Run `nrfconnect-license update` to update most of them. Afterwards run
2300
+ `nrfconnect-license check` to inspect which still need manual
2301
+ inspection. Commit all these copyright changes in a commit together
2302
+ without any other changes, to make it easier for other folks to
2303
+ understand the commits.
2304
+ - If you do not develop a public nRF Connect for Desktop program from
2305
+ Nordic Semiconductors, you might want to turn off the license check. Do
2306
+ so by adding `"disableLicenseCheck": false` to `package.json`.
2307
+
2308
+ ## 4.28.3 - 2021-08-11
2309
+
2310
+ ### Fixed
2311
+
2312
+ - Correct a typing for devices.
2313
+
2314
+ ### Changed
2315
+
2316
+ - Exposes deviceInfo.
2317
+
2318
+ ### Added
2319
+
2320
+ - Component `StateSelector`.
2321
+ - Component `StartStopButton`.
2322
+
2323
+ ## 4.28.2 - 2021-07-19
2324
+
2325
+ ### Changed
2326
+
2327
+ - Added `@nordicsemiconductor/nrf-device-lib-js` in webpack.config.js.
2328
+
2329
+ ## 4.28.1 - 2021-06-24
2330
+
2331
+ ### Changed
2332
+
2333
+ - Increase padding for `Card` component.
2334
+
2335
+ ## 4.28.0 - 2021-06-21
2336
+
2337
+ ### Changed
2338
+
2339
+ - Pin the version of prettier to be used to an exact version, as
2340
+ [recommended in the prettier documentation](https://prettier.io/docs/en/install.html).
2341
+
2342
+ ### Steps to upgrade when using this package
2343
+
2344
+ - If you are using an older prettier version than 2.3.0, upgrading to this
2345
+ version of shared can likely cause linting to fail due to formatting errors.
2346
+ The majority of these can be fixed automatically, by running
2347
+ `npm run lint -- --fix`.
2348
+
2349
+ ## 4.27.3 - 2021-06-21
2350
+
2351
+ ### Fixed
2352
+
2353
+ - Exported `colors` object was empty.
2354
+
2355
+ ## 4.27.2 - 2021-06-15
2356
+
2357
+ ### Fixed
2358
+
2359
+ - GA events were sent even when the user had not consented.
2360
+ - `Restore defaults` button styling inside `ErrorBoundary` component was
2361
+ broken.
2362
+
2363
+ ## 4.27.1 - 2021-06-14
2364
+
2365
+ ### Changed
2366
+
2367
+ - Small change to tooltip background color and opacity.
2368
+
2369
+ ## 4.27.0 - 2021-06-14
2370
+
2371
+ ### Changed
2372
+
2373
+ - Use `Card` component introduced in 4.22.0 in the `About` pane.
2374
+
2375
+ ## 4.26.0 - 2021-06-08
2376
+
2377
+ ### Changed
2378
+
2379
+ - Upgrade several webpack related dependencies.
2380
+ - Upgrade systeminformation, which had a security issue.
2381
+
2382
+ ### Fixed
2383
+
2384
+ - The system report generated from the about pane only contained
2385
+ `[object Promise]`.
2386
+
2387
+ ### Steps to upgrade when using this package
2388
+
2389
+ - eslint-loader was removed because it is deprecated. If you have a webpack
2390
+ config that still uses it, either install it yourself or (better) switch to
2391
+ eslint-webpack-plugin.
2392
+
2393
+ ## 4.25.0 - 2021-06-07
2394
+
2395
+ ### Fixed
2396
+
2397
+ - Remove namespace pollution by `Card` component, which broke the layout of
2398
+ the Toolchain Manager.
2399
+
2400
+ ### Changed
2401
+
2402
+ - This version enables CSS modules. To use them, the CSS filename needs to
2403
+ include `.module.` and you need to import that CSS file and use its content
2404
+ in your JSX files as you can see in the `Card` component.
2405
+
2406
+ ## 4.24.0
2407
+
2408
+ ### Added
2409
+
2410
+ - Component `FactoryResetButton`. This component is also added to the `About`
2411
+ pane.
2412
+
2413
+ ## 4.23.1
2414
+
2415
+ ### Changed
2416
+
2417
+ - Allow overriding GA reporting and restore default functionality in
2418
+ `ErrorBoundary` component.
2419
+
2420
+ ## 4.23.0
2421
+
2422
+ ### Added
2423
+
2424
+ - Error robustness
2425
+ - Added a component `ErrorBoundary` which can be used as an
2426
+ [Error Boundary](https://reactjs.org/docs/error-boundaries.html): When
2427
+ an error happens inside the enclosed components, users are presented
2428
+ with tools for recovery.
2429
+ - Use the `ErrorBoundary` for all apps using the component `App`, so these
2430
+ usually do not need to use this error boundary explicitly.
2431
+
2432
+ ## 4.22.2
2433
+
2434
+ ### Fixed
2435
+
2436
+ - Type of `Toggle` props were slightly wrong.
2437
+
2438
+ ## 4.22.1
2439
+
2440
+ ### Fixed
2441
+
2442
+ - Wrong current pane could crash the app: E.g. when an app previously had four
2443
+ panes, it was persisted that the user was previously on the last pane and a
2444
+ new release of the app has just a single pane then the app crashes when that
2445
+ user opens the app again.
2446
+
2447
+ ## 4.22.0
2448
+
2449
+ ### Added
2450
+
2451
+ - Component `Card`.
2452
+
2453
+ ## 4.21.1
2454
+
2455
+ ### Fixed
2456
+
2457
+ - Exported colors were missing definitions for `black` and `white`.
2458
+ - The build scripts did not return a non-zero exit status on build errors.
2459
+
2460
+ ## 4.21.0
2461
+
2462
+ ### Added
2463
+
2464
+ - Property `reportUsageData` to component App.
2465
+ - Function `getPersistentStore` to get a persistent store, specific for the
2466
+ app. The app name from `package.json` is used to identify the app.
2467
+
2468
+ ### Steps to upgrade when using this package
2469
+
2470
+ - If your app wants to report usage data, you can remove the code to call
2471
+ `usageData.init()` and instead set the property `reportUsageData` to the
2472
+ component `App`.
2473
+ - If your app already use a persistent store, you can switch to
2474
+ `getPersistentStore()`, just be aware that if you currently use a different
2475
+ name for the store than the app name from `package.json`, then the old
2476
+ settings are either lost of you have to care for migrating them.
2477
+
2478
+ ## 4.20.0
2479
+
2480
+ ### Changed
2481
+
2482
+ - Extended type definition `PackageJson`.
2483
+
2484
+ ### Added
2485
+
2486
+ - Allow different side panels per pane. If a pane should show a special side
2487
+ panel it can be defined in the list of panes. If no side panel is defined
2488
+ for a pane, the general side panel defined for the whole app is used. E.g.
2489
+ in an app defined like the following on the pane Dashboard (and also the
2490
+ pane About) the normal `SidePanel` component is shown, while on the pane
2491
+ Terminal the `TerminalSidePanel` is shown.
2492
+
2493
+ ```jsx
2494
+ <App
2495
+ sidePanel={<SidePanel />}
2496
+ panes={[
2497
+ {
2498
+ name: 'Dashboard',
2499
+ Main: Dashboard,
2500
+ },
2501
+ {
2502
+ name: 'Terminal',
2503
+ Main: Terminal
2504
+ SidePanel: TerminalSidePanel,
2505
+ },
2506
+ ]}
2507
+ />
2508
+ ```
2509
+
2510
+ ## 4.19.0
2511
+
2512
+ ### Added
2513
+
2514
+ - Shared styles can now be imported in SCSS from
2515
+ `~pc-nrfconnect-shared/styles`.
2516
+ - When users start an app, the pane is opened again, that was open when they
2517
+ left the app the last time. Only the about pane is ignored, because we
2518
+ assume people are not interested in returning to the about pane.
2519
+
2520
+ ### Changed
2521
+
2522
+ - Types for the exported colors got more specific.
2523
+ - The format for specifying the panes of the app as a property to the `App`
2524
+ component has changed. See below for details.
2525
+
2526
+ ### Steps to upgrade when using this package
2527
+
2528
+ - If you had an import like
2529
+
2530
+ ```scss
2531
+ @import '~pc-nrfconnect-shared/src/variables';
2532
+ ```
2533
+
2534
+ in your SCSS code before, you should replace it with
2535
+
2536
+ ```scss
2537
+ @import '~pc-nrfconnect-shared/styles';
2538
+ ```
2539
+
2540
+ because even though for now the code with
2541
+ `~pc-nrfconnect-shared/src/variables` will keep on working, it is not part
2542
+ of the public API that we try to preserve. Contrary to
2543
+ `~pc-nrfconnect-shared/styles`, which is part of the supported API.
2544
+
2545
+ - Previously panes were defined as a pair of pane name and component, like
2546
+ this:
2547
+
2548
+ ```js
2549
+ panes={[
2550
+ ['Dashboard', Dashboard],
2551
+ ['Terminal', Terminal],
2552
+ ]}
2553
+ ```
2554
+
2555
+ This was changed to an array of objects, like this:
2556
+
2557
+ ```js
2558
+ panes={[
2559
+ { name: 'Dashboard', Main: Dashboard, },
2560
+ { name: 'Terminal', Main: Terminal, },
2561
+ ]}
2562
+ ```
2563
+
2564
+ The old format still is supported but will issue a warning and will be
2565
+ removed in the future.
2566
+
2567
+ ## 4.18.0
2568
+
2569
+ ### Changed
2570
+
2571
+ - Updated functions in the `usageData` object for sending usage data to Google
2572
+ Analytics.
2573
+
2574
+ ### Steps to upgrade when using this package
2575
+
2576
+ - When you are using `usageData`:
2577
+ - Change the parameter when calling `init`.
2578
+ - Replace calls to `sendEvent` with `sendUsageData`.
2579
+
2580
+ ## 4.17.3
2581
+
2582
+ ### Fixed
2583
+
2584
+ - Property `active` was missing in the TypeScript definition of the pane
2585
+ components.
2586
+
2587
+ ## 4.17.2
2588
+
2589
+ ### Fixed
2590
+
2591
+ - Not defining an app reducer led to an error.
2592
+
2593
+ ## 4.17.1
2594
+
2595
+ ### Changed
2596
+
2597
+ - Updated nRF5340 links from PDK to DK.
2598
+
2599
+ ## 4.17.0
2600
+
2601
+ ### Added
2602
+
2603
+ - Currently active pane: Selector `currentPane` to query it and action creator
2604
+ `setCurrentPane` to change it.
2605
+
2606
+ ### Fixed
2607
+
2608
+ - When clicking on URLs in log entries the web site was not opened on macOS.
2609
+
2610
+ ### Changed
2611
+
2612
+ - Add links to product page and distributors for the PPK2.
2613
+ - Check stricter order of the imports during linting.
2614
+
2615
+ ### Steps to upgrade when using this package
2616
+
2617
+ - The stricter check for order of the imports while linting will probably make
2618
+ your linting fail after upgrading. So it is recommended to run
2619
+ `npm run lint -- --fix` once after updating, checking all the changes (most
2620
+ will be ok but there are very seldom cases where order is important like in
2621
+ `test/setupTests.js` in this project) and then commit all these small order
2622
+ changes.
2623
+
2624
+ ## 4.16.1
2625
+
2626
+ ### Fixed
2627
+
2628
+ - The opacity of disabled elements stacked up when they were nested. E.g. in
2629
+ the following code the input had the opacity applied twice (making the
2630
+ opacity squared), so it looked lighter than than supposed:
2631
+
2632
+ ```html
2633
+ <div className="disabled">
2634
+ This
2635
+ <InlineInput disabled value="doubled">
2636
+ </div>
2637
+ ```
2638
+
2639
+ ## 4.16.0
2640
+
2641
+ ### Added
2642
+
2643
+ - The components `Slider`, `InlineInput` and `NumberInlineInput` now take a
2644
+ property `disabled`.
2645
+ - All other elements can also be rendered to have a disabled (opaque) look by
2646
+ adding the class name `disabled` to them. This does only change the look,
2647
+ not their behaviour.
2648
+ - A convenience function `classNames` can be used to construct compound class
2649
+ names. It filters out all values that are not strings. The idea of this
2650
+ function is to use it with conditionals and potentially unset values like
2651
+ this:
2652
+
2653
+ ```js
2654
+ classNames(
2655
+ 'fixed-class-name',
2656
+ isVisible && 'visible',
2657
+ isEnabled ? 'enabled' : 'disabled',
2658
+ potentiallyUndefined
2659
+ );
2660
+ ```
2661
+
2662
+ - Set a property `active` on all rendered panes that is only for the currently
2663
+ active `true` and `false` for all others. This can be used to disable
2664
+ rendering of expensive components on inactive panes or to trigger effects
2665
+ when a pane gets activated or deactivated like this:
2666
+
2667
+ ```js
2668
+ useEffect(() => {
2669
+ if (active) {
2670
+ // do stuff on activation
2671
+ return () => {
2672
+ // do stuff on deactivation
2673
+ };
2674
+ }
2675
+ }, [active]);
2676
+ ```
2677
+
2678
+ - The component `Slider` now takes a property `ticks` to display ticks at all
2679
+ possible values. This only looks reasonable if there are just a few possible
2680
+ values.
2681
+
2682
+ ### Changed
2683
+
2684
+ - Adapt the styling of disabled `Sliders` and alike also for the `Toggle`
2685
+ component.
2686
+ - Components `InlineInput` and `NumberInlineInput` grow and shrink depending
2687
+ on their current content.
2688
+
2689
+ ### Fixed
2690
+
2691
+ - Call the `onChangeComplete` on the component `NumberInlineInput` with the
2692
+ current value as a number, not as a string as it was before.
2693
+
2694
+ ## 4.15.0
2695
+
2696
+ ### Added
2697
+
2698
+ - New components `SidePanel`, `Group` and `CollapsibleGroup` which one can use
2699
+ in an app's implementation of a side panel.
2700
+ - New hook `useHotKey` to register a hotkey for an action. It is automatically
2701
+ removed when the component is unmounted.
2702
+
2703
+ ### Changed
2704
+
2705
+ - The default margin at the top and bottom of the side panel is removed.
2706
+
2707
+ ### Steps to upgrade when using this package
2708
+
2709
+ - When upgrading to this version it is recommended that apps start using the
2710
+ new components `SidePanel`, `Group` and `CollapsibleGroup` to implement
2711
+ their side panel, which will automatically take care of the removed top and
2712
+ bottom margins. If you prefer to implement a side panel without them, then
2713
+ you should check whether you add appropriate margins yourself.
2714
+
2715
+ ## 4.14.4
2716
+
2717
+ ### Changed
2718
+
2719
+ - Revert change from 4.14.2: Enable `import/no-cycle` ESLint rule again.
2720
+
2721
+ ## 4.14.3
2722
+
2723
+ ### Changed
2724
+
2725
+ - Pin `eslint-plugin-import` version.
2726
+
2727
+ ## 4.14.2
2728
+
2729
+ ### Changed
2730
+
2731
+ - Disabled `import/no-cycle` ESLint rule.
2732
+
2733
+ ## 4.14.1
2734
+
2735
+ ### Fixed
2736
+
2737
+ - Fixed fail to upload Changelog.md to server.
2738
+
2739
+ ## 4.14.0
2740
+
2741
+ ### Added
2742
+
2743
+ - Enable automatically selecting a specified device when it is detected in an
2744
+ app. To use this, set the environment variable `AUTOSELECT_DEVICE`, e.g. by
2745
+ running the launcher with
2746
+
2747
+ ```cli
2748
+ AUTOSELECT_DEVICE=000680407810 npm run app
2749
+ ```
2750
+
2751
+ the device with the serial number 000680407810 is automatically selected
2752
+ when apps using the new architecture see it for the first time. When one
2753
+ deselects the device it is not automatically selected again. After
2754
+ restarting the app, the device is automatically selected again.
2755
+
2756
+ ## 4.13.0
2757
+
2758
+ ### Changed
2759
+
2760
+ - Replaced moment.js with date-fns library.
2761
+
2762
+ ## 4.12.0
2763
+
2764
+ ### Added
2765
+
2766
+ - Support title property in Slider and Toggle.
2767
+
2768
+ ### Changed
2769
+
2770
+ - Enhance lint configuration by specifying it in `package.json`.
2771
+
2772
+ ## 4.11.0
2773
+
2774
+ ### Added
2775
+
2776
+ - Added icon for a PPK.
2777
+
2778
+ ## 4.10.4
2779
+
2780
+ ### Changed
2781
+
2782
+ - Added `currentPane` field to `appLayout` type.
2783
+
2784
+ ## 4.10.3
2785
+
2786
+ ### Changed
2787
+
2788
+ - Added `iface en0` for looking up IP address on macOS.
2789
+
2790
+ ## 4.10.2
2791
+
2792
+ ### Changed
2793
+
2794
+ - Added persistent store for usage data settings in `shared` instead of in
2795
+ `launcher`.
2796
+
2797
+ ## 4.10.1
2798
+
2799
+ ### Changed
2800
+
2801
+ - Updated from v4.9.8 due to breaking changes in 4.10.0.
2802
+
2803
+ ## 4.10.0
2804
+
2805
+ ### Added
2806
+
2807
+ - Enable showing an own icon and links on the About pane for USB connected
2808
+ devices.
2809
+
2810
+ ### Steps to upgrade when using this package
2811
+
2812
+ - This version does introduce a first file in `shared` that is converted from
2813
+ JavaScript to TypeScript: `deviceInfo`. While most is already prepared for
2814
+ that, the `webpack.config.js` in the launcher still needs two adjustments to
2815
+ work with this: The lines
2816
+ [39](https://github.com/NordicSemiconductor/pc-nrfconnect-launcher/blob/497c1fde51246e1a4fcbc9efbb595d6764a7e056/webpack.config.js#L39)
2817
+ and
2818
+ [69](https://github.com/NordicSemiconductor/pc-nrfconnect-launcher/blob/497c1fde51246e1a4fcbc9efbb595d6764a7e056/webpack.config.js#L69)
2819
+ needs to be changed, so that webpack does not only pick up files with the
2820
+ ending `.jsx?` but also `.tsx?`. Apps, on the other hand, do not need to be
2821
+ changed for this.
2822
+
2823
+ ## 4.9.8
2824
+
2825
+ ### Changed
2826
+
2827
+ - Updated logic to decide which network interface to use to generate client
2828
+ id.
2829
+
2830
+ ## 4.9.7
2831
+
2832
+ ### Changed
2833
+
2834
+ - Updated how client is generated for usage statistics.
2835
+
2836
+ ## 4.9.6
2837
+
2838
+ ### Added
2839
+
2840
+ - Added optional range.decimals to be validated for NumberInlineInput.
2841
+ - Updated index.d.ts with rangeShape.
2842
+
2843
+ ## 4.9.5
2844
+
2845
+ ### Fixed
2846
+
2847
+ - More type enhancements:
2848
+ - Correct `systemReport` signature.
2849
+ - Limit array types to readonly where possible.
2850
+ - Do not use void as a callback return value.
2851
+ - Make linting fail if the type check fails.
2852
+ - Remove conflicting ESLint rule 'quotes'.
2853
+ - Lint all JavaScript files in this project, not just the ones in src/.
2854
+
2855
+ ## 4.9.4
2856
+
2857
+ ### Fixed
2858
+
2859
+ - Fix app's dependencies in webpack config.
2860
+
2861
+ ## 4.9.3
2862
+
2863
+ ### Added
2864
+
2865
+ - Added focus-visible dependency and disabled focus styles when clicked.
2866
+
2867
+ ## 4.9.2
2868
+
2869
+ ### Fixed
2870
+
2871
+ - Some types.
2872
+
2873
+ ## 4.9.1
2874
+
2875
+ ### Fixed
2876
+
2877
+ - Relax ESLint rule regarding @ts-ignore comments.
2878
+
2879
+ ## 4.9.0
2880
+
2881
+ ### Added
2882
+
2883
+ - Default `tsconfig.json` for other projects to use.
2884
+ - Additional checks during linting:
2885
+ - Check for a `tsconfig.json` if the project uses TypeScript (if there are
2886
+ any files with the endings `.ts` or `.tsx`).
2887
+ - Run `tsc --noEmit` if there is a `tsconfig.json` to check the TypeScript
2888
+ types.
2889
+
2890
+ ### Fixed
2891
+
2892
+ - Type error in bleChannels.
2893
+
2894
+ ### Steps to upgrade when using this package
2895
+
2896
+ - If you want to use the settings from `config/tsconfig.json` in a TypeScript
2897
+ project, then put this into a `tsconfig.json` in the root of your project:
2898
+
2899
+ ```json
2900
+ {
2901
+ "extends": "./node_modules/pc-nrfconnect-shared/config/tsconfig.json"
2902
+ }
2903
+ ```
2904
+
2905
+ Please note that `tsconfig.json` is _not_ used for the compilation of your
2906
+ project. We use the TypeScript transform plugin of babel for compilation and
2907
+ [that does not use the settings from `tsconfig.json`](https://babeljs.io/docs/en/next/babel-plugin-transform-typescript.html#caveats).
2908
+ But the settings in `tsconfig.json` are useful nonetheless, because they
2909
+ respected by many IDEs and editors as well as when you run `tsc`.
2910
+
2911
+ If you want to override any settings from the default `tsconfig.json` you
2912
+ are free to do so. We put `strict` on `true` in there because that is what
2913
+ we aim for but you may want to relax that a bit when transitioning existing
2914
+ projects.
2915
+
2916
+ ## 4.8.19
2917
+
2918
+ ### Fixed
2919
+
2920
+ - Version number for 4.8.18 release was wrong in `package.json`.
2921
+
2922
+ ## 4.8.18
2923
+
2924
+ ### Changed
2925
+
2926
+ - Added `prettier.config.js` to existing script `npm run lint-init`.
2927
+
2928
+ ## 4.8.17
2929
+
2930
+ ### Changed
2931
+
2932
+ - New design, device selector: Add PCA number, better alignment for port
2933
+ names, removed wrong line below port names.
2934
+
2935
+ ## 4.8.16
2936
+
2937
+ ## Added
2938
+
2939
+ - Added support for files written in TypeScript.
2940
+ - Added Prettier formatting.
2941
+
2942
+ ### Steps to upgrade when using this package
2943
+
2944
+ - Note that apps using this version should add the following entry to their
2945
+ `package.json` file:
2946
+
2947
+ ```json
2948
+ {
2949
+ "prettier": "./node_modules/pc-nrfconnect-shared/config/prettier.config.js"
2950
+ }
2951
+ ```
2952
+
2953
+ If this isn't added, the Prettier defaults will be used, which differ from
2954
+ our style choices in a number of ways.
2955
+
2956
+ On first run, the linting is likely to fail due to the prevalence of
2957
+ formatting errors. The majority of these can be fixed automatically, by
2958
+ running `npm run lint -- --fix`.
2959
+
2960
+ ## 4.8.15
2961
+
2962
+ ### Added
2963
+
2964
+ - Added onChangeComplete to InlineInput and NumberInlineInput.
2965
+
2966
+ ## 4.8.14
2967
+
2968
+ ### Fixed
2969
+
2970
+ - Restyle device selector.
2971
+ - Fix scrollbars for old apps.
2972
+
2973
+ ## 4.8.13
2974
+
2975
+ ### Added
2976
+
2977
+ - Added optional chars prop to define number of characters of NumberInput.
2978
+ - Added optional decimals prop to range of Slider.
2979
+
2980
+ ## 4.8.12
2981
+
2982
+ ### Fixed
2983
+
2984
+ - Fixed the Toggle components state in case it's controlled from outside.
2985
+
2986
+ ## 4.8.11
2987
+
2988
+ ### Fixed
2989
+
2990
+ - Fixed the fix of installation failure in local apps.
2991
+
2992
+ ## 4.8.10
2993
+
2994
+ ### Added
2995
+
2996
+ - Added toggle component.
2997
+
2998
+ ## 4.8.9
2999
+
3000
+ ### Changed
3001
+
3002
+ - Updated several design elements for the release of the new RSSI app.
3003
+
3004
+ ### Steps to upgrade when using this package
3005
+
3006
+ - Apps using the new design need to be adapted in areas were a scrollbar might
3007
+ be shown. Add a `@include scrollbars(BACKGROUND-COLOUR);` with an
3008
+ appropriate replacement for `BACKGROUND-COLOUR` to the fitting selector in
3009
+ the SCSS files. When searching for `@include scrollbars` you can find
3010
+ [an example for this in the source code of `pc-nrfconnect-shared`](https://github.com/NordicSemiconductor/pc-nrfconnect-shared/blob/cef186fcc4631d6c737ce4c5d299fef53a0ffcc2/src/Device/DeviceSelector/DeviceList/device-list.scss#L7).
3011
+
3012
+ ## 4.8.8
3013
+
3014
+ ### Fixed
3015
+
3016
+ - Fixed installation failure in local apps.
3017
+
3018
+ ## 4.8.7
3019
+
3020
+ ### Changed
3021
+
3022
+ - Made the device picker, sidepanel, and log UI elements optional.
3023
+
3024
+ ## 4.8.6
3025
+
3026
+ ### Changed
3027
+
3028
+ - Updated confirmation dialog style.
3029
+
3030
+ ## 4.8.5
3031
+
3032
+ ### Fixed
3033
+
3034
+ - The remote property on the electron mock was noch mocked correctly.
3035
+
3036
+ ### Changed
3037
+
3038
+ - Render all panes of the App, but only the current is visible.
3039
+
3040
+ ## 4.8.4
3041
+
3042
+ ### Added
3043
+
3044
+ - Favorite and nickname in device selector for new design.
3045
+ - Exported array bleChannels to provide a list of all BLE channels and some
3046
+ convenience properties on it.
3047
+
3048
+ ### Changed
3049
+
3050
+ - Disabled the ESLint rule `react/require-default-props`.
3051
+ - Updated the new design in many details.
3052
+
3053
+ ### Steps to upgrade when using this package
3054
+
3055
+ - Remove local overrides for the ESLint rule `react/require-default-props` and
3056
+ also reconsider using defaultProps when not really needed.
3057
+
3058
+ ## 4.8.3
3059
+
3060
+ ### Changed
3061
+
3062
+ - Updated Google Analytics account and set IP as anonymized.
3063
+
3064
+ ## 4.8.2
3065
+
3066
+ ### Fixed
3067
+
3068
+ - The mock fix in 4.8.1 broke mocks in another way. 🤦‍♂️
3069
+
3070
+ ## 4.8.1
3071
+
3072
+ ### Fixed
3073
+
3074
+ - Added missing mocks for nrf-device-lister and nrf-device-setup to jest
3075
+ config.
3076
+
3077
+ ### Changed
3078
+
3079
+ - Updated dependencies.
3080
+ - Removed mocking \*.less files from the jest configuration, as we do not use
3081
+ them.
3082
+
3083
+ ## 4.8
3084
+
3085
+ ### Changed
3086
+
3087
+ - Create and connect store in App component, so this does not need to be done
3088
+ in each app (unless they want to do it themselves).
3089
+ - New design for apps using the new app architecture.
3090
+ - Update many dependencies.
3091
+ - Turned `react`, `react-dom` and `react-redux` into peerDependencies.
3092
+
3093
+ ### Steps to upgrade when using this package
3094
+
3095
+ - Add `react`, `react-dom` and `react-redux` to your dev dependencies (you can
3096
+ omit any you do not strictly need, but most projects need all of them).
3097
+ Usually the easiest way to do this is by running
3098
+ `npm install --save-dev --save-exact react react-redux react-dom`.
3099
+ - The linting rules were slightly strengthened so often some new errors pop up
3100
+ there. Many can be auto fixed, so run `npm run lint -- --fix` first and then
3101
+ review the changes made as well as the remaining issues.
3102
+ - Also run the tests and check whether something needs to be corrected (e.g.
3103
+ because jest was updated). E.g. in the BLE app, references to
3104
+ `require.requireActual` needed to be corrected to `jest.requireActual`.
3105
+
3106
+ ## 4.7
3107
+
3108
+ ### Changed
3109
+
3110
+ - Add a few peer dependencies.
3111
+
3112
+ ## 4.6
3113
+
3114
+ ### Added
3115
+
3116
+ - Enable to send user data.
3117
+
3118
+ ## 4.5
3119
+
3120
+ ### Added
3121
+
3122
+ - Enable to publish existing artifact instead of packing from source.
3123
+
3124
+ ## 4.4
3125
+
3126
+ - Update Jest.
3127
+
3128
+ ## 4.3
3129
+
3130
+ ### Added
3131
+
3132
+ - Ease configuration of git hooks.
3133
+
3134
+ ### Steps to upgrade when using this package
3135
+
3136
+ - If you want to automatically run the `lint` and `test` scripts before
3137
+ pushing changes, add a file `.huskyrc.json` to your project with this
3138
+ content:
3139
+
3140
+ ```json
3141
+ {
3142
+ "hooks": {
3143
+ "pre-push": "bash node_modules/pc-nrfconnect-shared/scripts/pre-push.sh"
3144
+ }
3145
+ }
3146
+ ```
3147
+
3148
+ Remember that in a case of emergency you can do `git push --no-verify` if
3149
+ you need to push even though tests might fail.
3150
+
3151
+ ## 4.2
3152
+
3153
+ ### Changed
3154
+
3155
+ - Enhanced handling custom devices.
3156
+ - Remove dependency of react-infinite.
3157
+
3158
+ ## 4.1
3159
+
3160
+ ### Changed
3161
+
3162
+ - Enhanced error dialogs:
3163
+ - Made URLs in error messages clickable (and more generally interpret them
3164
+ as markdown).
3165
+ - Made error messages selectable again (regression) to enable copy&pasting
3166
+ them.
3167
+ - Enabled custom error resolutions.
3168
+
3169
+ ## 4.0
3170
+
3171
+ ### Changed
3172
+
3173
+ - This package was renamed to “pc-nrfconnect-shared”. If you refer to it
3174
+ anywhere under the old name (e.g. in a package.json or import a component
3175
+ from it) then you must update these references when upgrading to version 4.
3176
+
3177
+ ## 3.6
3178
+
3179
+ ### Changed
3180
+
3181
+ - Moved the shared components from core to this project (They can now be used
3182
+ by importing “pc-nrfconnect-devdep”).
3183
+ - Provide a babel config for apps, instead of requiring them to provide one
3184
+ themselves.
3185
+
3186
+ ## 3.5
3187
+
3188
+ ### Added
3189
+
3190
+ - Possibility to use the new architecture through “nrfconnect/shared”.
3191
+
3192
+ ### Changed
3193
+
3194
+ - Updated dependencies.
3195
+
3196
+ ## 3.4
3197
+
3198
+ ### Added
3199
+
3200
+ - Internal publishing.
3201
+
3202
+ ## 3.3
3203
+
3204
+ ### Added
3205
+
3206
+ - Upload Changelog.md of apps when publishing.
3207
+
3208
+ ## 3.2
3209
+
3210
+ ### Changed
3211
+
3212
+ - Switch from node-sass to dart-sass.
3213
+
3214
+ ## 3.1
3215
+
3216
+ ### Changed
3217
+
3218
+ - Updated many dependencies.
3219
+
3220
+ ## 3.0
3221
+
3222
+ ### Changed
3223
+
3224
+ - Updated dependencies, most notably Bootstrap to 4.
3225
+
3226
+ ### Added
3227
+
3228
+ - lint-init.
3229
+ - electronMock.