@nordicsemiconductor/pc-nrfconnect-shared 60.0.0-pre2 → 76.0.0

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