@nordicsemiconductor/pc-nrfconnect-shared 60.0.0-pre1

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