@metamask/snaps-controllers 1.0.2 → 2.0.1

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 (318) hide show
  1. package/CHANGELOG.md +36 -562
  2. package/dist/cjs/cronjob/CronjobController.js +294 -0
  3. package/dist/cjs/cronjob/CronjobController.js.map +1 -0
  4. package/dist/cjs/cronjob/index.js +20 -0
  5. package/dist/cjs/cronjob/index.js.map +1 -0
  6. package/dist/cjs/fsm.js +69 -0
  7. package/dist/cjs/fsm.js.map +1 -0
  8. package/dist/cjs/index.js +23 -0
  9. package/dist/cjs/index.js.map +1 -0
  10. package/dist/cjs/logging.js +15 -0
  11. package/dist/cjs/logging.js.map +1 -0
  12. package/dist/cjs/services/AbstractExecutionService.js +390 -0
  13. package/dist/cjs/services/AbstractExecutionService.js.map +1 -0
  14. package/dist/cjs/services/ExecutionService.js +7 -0
  15. package/dist/cjs/services/ExecutionService.js.map +1 -0
  16. package/dist/cjs/services/ProxyPostMessageStream.js +116 -0
  17. package/dist/cjs/services/ProxyPostMessageStream.js.map +1 -0
  18. package/dist/cjs/services/browser.js +32 -0
  19. package/dist/cjs/services/browser.js.map +1 -0
  20. package/dist/cjs/services/iframe/IframeExecutionService.js +54 -0
  21. package/dist/cjs/services/iframe/IframeExecutionService.js.map +1 -0
  22. package/dist/cjs/services/iframe/index.js +20 -0
  23. package/dist/cjs/services/iframe/index.js.map +1 -0
  24. package/dist/cjs/services/index.js +32 -0
  25. package/dist/cjs/services/index.js.map +1 -0
  26. package/dist/cjs/services/node/NodeProcessExecutionService.js +30 -0
  27. package/dist/cjs/services/node/NodeProcessExecutionService.js.map +1 -0
  28. package/dist/cjs/services/node/NodeThreadExecutionService.js +30 -0
  29. package/dist/cjs/services/node/NodeThreadExecutionService.js.map +1 -0
  30. package/dist/cjs/services/node/index.js +21 -0
  31. package/dist/cjs/services/node/index.js.map +1 -0
  32. package/dist/cjs/services/offscreen/OffscreenExecutionService.js +159 -0
  33. package/dist/cjs/services/offscreen/OffscreenExecutionService.js.map +1 -0
  34. package/dist/cjs/services/offscreen/index.js +20 -0
  35. package/dist/cjs/services/offscreen/index.js.map +1 -0
  36. package/dist/cjs/services/webworker/WebWorkerExecutionService.js +148 -0
  37. package/dist/cjs/services/webworker/WebWorkerExecutionService.js.map +1 -0
  38. package/dist/cjs/services/webworker/index.js +20 -0
  39. package/dist/cjs/services/webworker/index.js.map +1 -0
  40. package/dist/cjs/snaps/RequestQueue.js +63 -0
  41. package/dist/cjs/snaps/RequestQueue.js.map +1 -0
  42. package/dist/cjs/snaps/SnapController.js +1729 -0
  43. package/dist/cjs/snaps/SnapController.js.map +1 -0
  44. package/dist/cjs/snaps/Timer.js +117 -0
  45. package/dist/cjs/snaps/Timer.js.map +1 -0
  46. package/dist/cjs/snaps/endowments/cronjob.js +100 -0
  47. package/dist/cjs/snaps/endowments/cronjob.js.map +1 -0
  48. package/dist/cjs/snaps/endowments/enum.js +23 -0
  49. package/dist/cjs/snaps/endowments/enum.js.map +1 -0
  50. package/dist/cjs/snaps/endowments/ethereum-provider.js +43 -0
  51. package/dist/cjs/snaps/endowments/ethereum-provider.js.map +1 -0
  52. package/dist/cjs/snaps/endowments/index.js +88 -0
  53. package/dist/cjs/snaps/endowments/index.js.map +1 -0
  54. package/dist/cjs/snaps/endowments/lifecycle-hooks.js +37 -0
  55. package/dist/cjs/snaps/endowments/lifecycle-hooks.js.map +1 -0
  56. package/dist/cjs/snaps/endowments/name-lookup.js +106 -0
  57. package/dist/cjs/snaps/endowments/name-lookup.js.map +1 -0
  58. package/dist/cjs/snaps/endowments/network-access.js +44 -0
  59. package/dist/cjs/snaps/endowments/network-access.js.map +1 -0
  60. package/dist/cjs/snaps/endowments/rpc.js +99 -0
  61. package/dist/cjs/snaps/endowments/rpc.js.map +1 -0
  62. package/dist/cjs/snaps/endowments/transaction-insight.js +106 -0
  63. package/dist/cjs/snaps/endowments/transaction-insight.js.map +1 -0
  64. package/dist/cjs/snaps/endowments/web-assembly.js +42 -0
  65. package/dist/cjs/snaps/endowments/web-assembly.js.map +1 -0
  66. package/dist/cjs/snaps/index.js +25 -0
  67. package/dist/cjs/snaps/index.js.map +1 -0
  68. package/dist/cjs/snaps/location/http.js +106 -0
  69. package/dist/cjs/snaps/location/http.js.map +1 -0
  70. package/dist/cjs/snaps/location/index.js +23 -0
  71. package/dist/cjs/snaps/location/index.js.map +1 -0
  72. package/dist/cjs/snaps/location/local.js +93 -0
  73. package/dist/cjs/snaps/location/local.js.map +1 -0
  74. package/dist/cjs/snaps/location/location.js +34 -0
  75. package/dist/cjs/snaps/location/location.js.map +1 -0
  76. package/dist/cjs/snaps/location/npm.js +293 -0
  77. package/dist/cjs/snaps/location/npm.js.map +1 -0
  78. package/dist/cjs/snaps/permissions.js +61 -0
  79. package/dist/cjs/snaps/permissions.js.map +1 -0
  80. package/dist/cjs/snaps/registry/index.js +21 -0
  81. package/dist/cjs/snaps/registry/index.js.map +1 -0
  82. package/dist/cjs/snaps/registry/json.js +277 -0
  83. package/dist/cjs/snaps/registry/json.js.map +1 -0
  84. package/dist/cjs/snaps/registry/registry.js +18 -0
  85. package/dist/cjs/snaps/registry/registry.js.map +1 -0
  86. package/dist/cjs/snaps/selectors.js +13 -0
  87. package/dist/cjs/snaps/selectors.js.map +1 -0
  88. package/dist/cjs/utils.js +70 -0
  89. package/dist/cjs/utils.js.map +1 -0
  90. package/dist/esm/cronjob/CronjobController.js +279 -0
  91. package/dist/esm/cronjob/CronjobController.js.map +1 -0
  92. package/dist/esm/cronjob/index.js +3 -0
  93. package/dist/esm/cronjob/index.js.map +1 -0
  94. package/dist/esm/fsm.js +70 -0
  95. package/dist/esm/fsm.js.map +1 -0
  96. package/dist/esm/index.js +6 -0
  97. package/dist/esm/index.js.map +1 -0
  98. package/dist/esm/logging.js +10 -0
  99. package/dist/esm/logging.js.map +1 -0
  100. package/dist/esm/services/AbstractExecutionService.js +373 -0
  101. package/dist/esm/services/AbstractExecutionService.js.map +1 -0
  102. package/dist/esm/services/ExecutionService.js +4 -0
  103. package/dist/esm/services/ExecutionService.js.map +1 -0
  104. package/dist/esm/services/ProxyPostMessageStream.js +109 -0
  105. package/dist/esm/services/ProxyPostMessageStream.js.map +1 -0
  106. package/dist/esm/services/browser.js +9 -0
  107. package/dist/esm/services/browser.js.map +1 -0
  108. package/dist/esm/services/iframe/IframeExecutionService.js +44 -0
  109. package/dist/esm/services/iframe/IframeExecutionService.js.map +1 -0
  110. package/dist/esm/services/iframe/index.js +3 -0
  111. package/dist/esm/services/iframe/index.js.map +1 -0
  112. package/dist/esm/services/index.js +9 -0
  113. package/dist/esm/services/index.js.map +1 -0
  114. package/dist/esm/services/node/NodeProcessExecutionService.js +20 -0
  115. package/dist/esm/services/node/NodeProcessExecutionService.js.map +1 -0
  116. package/dist/esm/services/node/NodeThreadExecutionService.js +21 -0
  117. package/dist/esm/services/node/NodeThreadExecutionService.js.map +1 -0
  118. package/dist/esm/services/node/index.js +4 -0
  119. package/dist/esm/services/node/index.js.map +1 -0
  120. package/dist/esm/services/offscreen/OffscreenExecutionService.js +149 -0
  121. package/dist/esm/services/offscreen/OffscreenExecutionService.js.map +1 -0
  122. package/dist/esm/services/offscreen/index.js +3 -0
  123. package/dist/esm/services/offscreen/index.js.map +1 -0
  124. package/dist/esm/services/webworker/WebWorkerExecutionService.js +130 -0
  125. package/dist/esm/services/webworker/WebWorkerExecutionService.js.map +1 -0
  126. package/dist/esm/services/webworker/index.js +3 -0
  127. package/dist/esm/services/webworker/index.js.map +1 -0
  128. package/dist/esm/snaps/RequestQueue.js +53 -0
  129. package/dist/esm/snaps/RequestQueue.js.map +1 -0
  130. package/dist/esm/snaps/SnapController.js +1708 -0
  131. package/dist/esm/snaps/SnapController.js.map +1 -0
  132. package/dist/esm/snaps/Timer.js +107 -0
  133. package/dist/esm/snaps/Timer.js.map +1 -0
  134. package/dist/esm/snaps/endowments/cronjob.js +99 -0
  135. package/dist/esm/snaps/endowments/cronjob.js.map +1 -0
  136. package/dist/esm/snaps/endowments/enum.js +13 -0
  137. package/dist/esm/snaps/endowments/enum.js.map +1 -0
  138. package/dist/esm/snaps/endowments/ethereum-provider.js +33 -0
  139. package/dist/esm/snaps/endowments/ethereum-provider.js.map +1 -0
  140. package/dist/esm/snaps/endowments/index.js +45 -0
  141. package/dist/esm/snaps/endowments/index.js.map +1 -0
  142. package/dist/esm/snaps/endowments/lifecycle-hooks.js +27 -0
  143. package/dist/esm/snaps/endowments/lifecycle-hooks.js.map +1 -0
  144. package/dist/esm/snaps/endowments/name-lookup.js +98 -0
  145. package/dist/esm/snaps/endowments/name-lookup.js.map +1 -0
  146. package/dist/esm/snaps/endowments/network-access.js +34 -0
  147. package/dist/esm/snaps/endowments/network-access.js.map +1 -0
  148. package/dist/esm/snaps/endowments/rpc.js +88 -0
  149. package/dist/esm/snaps/endowments/rpc.js.map +1 -0
  150. package/dist/esm/snaps/endowments/transaction-insight.js +99 -0
  151. package/dist/esm/snaps/endowments/transaction-insight.js.map +1 -0
  152. package/dist/esm/snaps/endowments/web-assembly.js +32 -0
  153. package/dist/esm/snaps/endowments/web-assembly.js.map +1 -0
  154. package/dist/esm/snaps/index.js +8 -0
  155. package/dist/esm/snaps/index.js.map +1 -0
  156. package/dist/{snaps → esm/snaps}/location/http.js +52 -31
  157. package/dist/esm/snaps/location/http.js.map +1 -0
  158. package/dist/esm/snaps/location/index.js +6 -0
  159. package/dist/esm/snaps/location/index.js.map +1 -0
  160. package/dist/esm/snaps/location/local.js +83 -0
  161. package/dist/esm/snaps/location/local.js.map +1 -0
  162. package/dist/esm/snaps/location/location.js +30 -0
  163. package/dist/esm/snaps/location/location.js.map +1 -0
  164. package/dist/{snaps → esm/snaps}/location/npm.js +143 -117
  165. package/dist/esm/snaps/location/npm.js.map +1 -0
  166. package/dist/esm/snaps/permissions.js +50 -0
  167. package/dist/esm/snaps/permissions.js.map +1 -0
  168. package/dist/esm/snaps/registry/index.js +4 -0
  169. package/dist/esm/snaps/registry/index.js.map +1 -0
  170. package/dist/esm/snaps/registry/json.js +267 -0
  171. package/dist/esm/snaps/registry/json.js.map +1 -0
  172. package/dist/esm/snaps/registry/registry.js +8 -0
  173. package/dist/esm/snaps/registry/registry.js.map +1 -0
  174. package/dist/esm/snaps/selectors.js +3 -0
  175. package/dist/esm/snaps/selectors.js.map +1 -0
  176. package/dist/{utils.js → esm/utils.js} +21 -30
  177. package/dist/esm/utils.js.map +1 -0
  178. package/dist/{cronjob → types/cronjob}/CronjobController.d.ts +12 -11
  179. package/dist/{fsm.d.ts → types/fsm.d.ts} +1 -1
  180. package/dist/{index.d.ts → types/index.d.ts} +0 -1
  181. package/dist/{services → types/services}/AbstractExecutionService.d.ts +4 -4
  182. package/dist/{services → types/services}/ExecutionService.d.ts +3 -3
  183. package/dist/{services/offscreen/OffscreenPostMessageStream.d.ts → types/services/ProxyPostMessageStream.d.ts} +10 -10
  184. package/dist/{services → types/services}/browser.d.ts +2 -0
  185. package/dist/{services → types/services}/iframe/IframeExecutionService.d.ts +3 -2
  186. package/dist/{services → types/services}/index.d.ts +2 -0
  187. package/dist/{services → types/services}/node/NodeProcessExecutionService.d.ts +4 -3
  188. package/dist/{services → types/services}/node/NodeThreadExecutionService.d.ts +3 -2
  189. package/dist/{services → types/services}/offscreen/OffscreenExecutionService.d.ts +4 -3
  190. package/dist/types/services/offscreen/index.d.ts +1 -0
  191. package/dist/types/services/webworker/WebWorkerExecutionService.d.ts +45 -0
  192. package/dist/types/services/webworker/index.d.ts +1 -0
  193. package/dist/{snaps → types/snaps}/SnapController.d.ts +78 -39
  194. package/dist/{snaps → types/snaps}/endowments/cronjob.d.ts +5 -3
  195. package/dist/{snaps → types/snaps}/endowments/enum.d.ts +3 -3
  196. package/dist/{snaps → types/snaps}/endowments/ethereum-provider.d.ts +2 -1
  197. package/dist/{snaps → types/snaps}/endowments/index.d.ts +23 -23
  198. package/dist/types/snaps/endowments/lifecycle-hooks.d.ts +15 -0
  199. package/dist/types/snaps/endowments/name-lookup.d.ts +38 -0
  200. package/dist/{snaps → types/snaps}/endowments/network-access.d.ts +2 -1
  201. package/dist/{snaps → types/snaps}/endowments/rpc.d.ts +5 -3
  202. package/dist/{snaps → types/snaps}/endowments/transaction-insight.d.ts +3 -2
  203. package/dist/{snaps → types/snaps}/endowments/web-assembly.d.ts +2 -1
  204. package/dist/{snaps → types/snaps}/index.d.ts +2 -0
  205. package/dist/{snaps → types/snaps}/location/http.d.ts +3 -2
  206. package/dist/{snaps → types/snaps}/location/local.d.ts +3 -3
  207. package/dist/{snaps → types/snaps}/location/location.d.ts +2 -2
  208. package/dist/types/snaps/location/npm.d.ts +49 -0
  209. package/dist/types/snaps/permissions.d.ts +16 -0
  210. package/dist/{snaps → types/snaps}/registry/json.d.ts +5 -4
  211. package/dist/{snaps → types/snaps}/registry/registry.d.ts +5 -5
  212. package/dist/types/snaps/selectors.d.ts +2 -0
  213. package/dist/{utils.d.ts → types/utils.d.ts} +14 -14
  214. package/package.json +55 -45
  215. package/dist/cronjob/CronjobController.js +0 -248
  216. package/dist/cronjob/CronjobController.js.map +0 -1
  217. package/dist/cronjob/index.js +0 -18
  218. package/dist/cronjob/index.js.map +0 -1
  219. package/dist/fsm.js +0 -75
  220. package/dist/fsm.js.map +0 -1
  221. package/dist/index.js +0 -22
  222. package/dist/index.js.map +0 -1
  223. package/dist/logging.js +0 -13
  224. package/dist/logging.js.map +0 -1
  225. package/dist/multichain/MultiChainController.d.ts +0 -137
  226. package/dist/multichain/MultiChainController.js +0 -339
  227. package/dist/multichain/MultiChainController.js.map +0 -1
  228. package/dist/multichain/index.d.ts +0 -3
  229. package/dist/multichain/index.js +0 -20
  230. package/dist/multichain/index.js.map +0 -1
  231. package/dist/multichain/matching.d.ts +0 -9
  232. package/dist/multichain/matching.js +0 -57
  233. package/dist/multichain/matching.js.map +0 -1
  234. package/dist/multichain/middleware.d.ts +0 -14
  235. package/dist/multichain/middleware.js +0 -42
  236. package/dist/multichain/middleware.js.map +0 -1
  237. package/dist/services/AbstractExecutionService.js +0 -318
  238. package/dist/services/AbstractExecutionService.js.map +0 -1
  239. package/dist/services/ExecutionService.js +0 -4
  240. package/dist/services/ExecutionService.js.map +0 -1
  241. package/dist/services/browser.js +0 -22
  242. package/dist/services/browser.js.map +0 -1
  243. package/dist/services/iframe/IframeExecutionService.js +0 -30
  244. package/dist/services/iframe/IframeExecutionService.js.map +0 -1
  245. package/dist/services/iframe/index.js +0 -18
  246. package/dist/services/iframe/index.js.map +0 -1
  247. package/dist/services/index.js +0 -22
  248. package/dist/services/index.js.map +0 -1
  249. package/dist/services/node/NodeProcessExecutionService.js +0 -18
  250. package/dist/services/node/NodeProcessExecutionService.js.map +0 -1
  251. package/dist/services/node/NodeThreadExecutionService.js +0 -19
  252. package/dist/services/node/NodeThreadExecutionService.js.map +0 -1
  253. package/dist/services/node/index.js +0 -19
  254. package/dist/services/node/index.js.map +0 -1
  255. package/dist/services/offscreen/OffscreenExecutionService.js +0 -100
  256. package/dist/services/offscreen/OffscreenExecutionService.js.map +0 -1
  257. package/dist/services/offscreen/OffscreenPostMessageStream.js +0 -66
  258. package/dist/services/offscreen/OffscreenPostMessageStream.js.map +0 -1
  259. package/dist/services/offscreen/index.d.ts +0 -2
  260. package/dist/services/offscreen/index.js +0 -19
  261. package/dist/services/offscreen/index.js.map +0 -1
  262. package/dist/snaps/RequestQueue.js +0 -44
  263. package/dist/snaps/RequestQueue.js.map +0 -1
  264. package/dist/snaps/SnapController.js +0 -1478
  265. package/dist/snaps/SnapController.js.map +0 -1
  266. package/dist/snaps/Timer.js +0 -86
  267. package/dist/snaps/Timer.js.map +0 -1
  268. package/dist/snaps/endowments/cronjob.js +0 -105
  269. package/dist/snaps/endowments/cronjob.js.map +0 -1
  270. package/dist/snaps/endowments/enum.js +0 -15
  271. package/dist/snaps/endowments/enum.js.map +0 -1
  272. package/dist/snaps/endowments/ethereum-provider.js +0 -32
  273. package/dist/snaps/endowments/ethereum-provider.js.map +0 -1
  274. package/dist/snaps/endowments/index.js +0 -60
  275. package/dist/snaps/endowments/index.js.map +0 -1
  276. package/dist/snaps/endowments/keyring.d.ts +0 -40
  277. package/dist/snaps/endowments/keyring.js +0 -103
  278. package/dist/snaps/endowments/keyring.js.map +0 -1
  279. package/dist/snaps/endowments/long-running.d.ts +0 -13
  280. package/dist/snaps/endowments/long-running.js +0 -29
  281. package/dist/snaps/endowments/long-running.js.map +0 -1
  282. package/dist/snaps/endowments/network-access.js +0 -30
  283. package/dist/snaps/endowments/network-access.js.map +0 -1
  284. package/dist/snaps/endowments/rpc.js +0 -92
  285. package/dist/snaps/endowments/rpc.js.map +0 -1
  286. package/dist/snaps/endowments/transaction-insight.js +0 -106
  287. package/dist/snaps/endowments/transaction-insight.js.map +0 -1
  288. package/dist/snaps/endowments/web-assembly.js +0 -31
  289. package/dist/snaps/endowments/web-assembly.js.map +0 -1
  290. package/dist/snaps/index.js +0 -21
  291. package/dist/snaps/index.js.map +0 -1
  292. package/dist/snaps/location/http.js.map +0 -1
  293. package/dist/snaps/location/index.js +0 -21
  294. package/dist/snaps/location/index.js.map +0 -1
  295. package/dist/snaps/location/local.js +0 -51
  296. package/dist/snaps/location/local.js.map +0 -1
  297. package/dist/snaps/location/location.js +0 -34
  298. package/dist/snaps/location/location.js.map +0 -1
  299. package/dist/snaps/location/npm.d.ts +0 -28
  300. package/dist/snaps/location/npm.js.map +0 -1
  301. package/dist/snaps/registry/index.js +0 -19
  302. package/dist/snaps/registry/index.js.map +0 -1
  303. package/dist/snaps/registry/json.js +0 -197
  304. package/dist/snaps/registry/json.js.map +0 -1
  305. package/dist/snaps/registry/registry.js +0 -11
  306. package/dist/snaps/registry/registry.js.map +0 -1
  307. package/dist/snaps/selectors.d.ts +0 -2
  308. package/dist/snaps/selectors.js +0 -6
  309. package/dist/snaps/selectors.js.map +0 -1
  310. package/dist/utils.js.map +0 -1
  311. /package/dist/{cronjob → types/cronjob}/index.d.ts +0 -0
  312. /package/dist/{logging.d.ts → types/logging.d.ts} +0 -0
  313. /package/dist/{services → types/services}/iframe/index.d.ts +0 -0
  314. /package/dist/{services → types/services}/node/index.d.ts +0 -0
  315. /package/dist/{snaps → types/snaps}/RequestQueue.d.ts +0 -0
  316. /package/dist/{snaps → types/snaps}/Timer.d.ts +0 -0
  317. /package/dist/{snaps → types/snaps}/location/index.d.ts +0 -0
  318. /package/dist/{snaps → types/snaps}/registry/index.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -6,587 +6,61 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
- ## [1.0.2]
9
+ ## [2.0.1]
10
10
  ### Changed
11
- - No changes this release.
11
+ - Remove deprecated `endowment:long-running` ([#1751](https://github.com/MetaMask/snaps/pull/1751))
12
12
 
13
- ## [1.0.1]
14
- ### Fixed
15
- - Fix parallel usage of registry ([#1669](https://github.com/MetaMask/snaps/pull/1669))
16
-
17
- ## [1.0.0]
18
- ### Changed
19
- - Make `updateBlockedSnaps` update the registry ([#1625](https://github.com/MetaMask/snaps/pull/1625))
20
- - Move source code and snap state back to controller state ([#1634](https://github.com/MetaMask/snaps/pull/1634))
21
-
22
- ## [1.0.0-prerelease.1]
23
- ### Added
24
- - Add export for `getRpcCaveatOrigins` ([#1533](https://github.com/MetaMask/snaps/pull/1533))
25
- - Add subject type restrictions to snap-specific permissions ([#1366](https://github.com/MetaMask/snaps/pull/1366))
26
-
27
- ### Changed
28
- - **BREAKING:** Rename `targetKey` to `targetName` as part of updating `PermissionController` ([#1450](https://github.com/MetaMask/snaps/pull/1450))
29
- - **BREAKING:** Disallow deriving Ethereum keys ([#1217](https://github.com/MetaMask/snaps/pull/1217))
30
- - Coin type `60` is now blocked for derivation.
31
-
32
- ### Fixed
33
- - Improve JSON parsing safety ([#1499](https://github.com/MetaMask/snaps/pull/1499))
34
-
35
- ## [0.32.2]
36
- ### Fixed
37
- - Properly handle Promise in `JsonSnapsRegistry` signature verification ([#1317](https://github.com/MetaMask/snaps-monorepo/pull/1317))
38
-
39
- ## [0.32.1]
40
- ### Changed
41
- - No changes this release.
42
-
43
- ## [0.32.0]
44
- ### Added
45
- - Add verification of registry signature ([#1291](https://github.com/MetaMask/snaps-monorepo/pull/1291))
46
- - Add types to result approvals ([#1288](https://github.com/MetaMask/snaps-monorepo/pull/1288))
47
-
48
- ### Changed
49
- - **BREAKING:** Convert registry to a caching controller ([#1305](https://github.com/MetaMask/snaps-monorepo/pull/1305))
50
- - **BREAKING:** Require snaps to request at least one handler permission ([#1294](https://github.com/MetaMask/snaps-monorepo/pull/1294))
51
- - Use side effects to install snaps via `wallet_snap` permission ([#1301](https://github.com/MetaMask/snaps-monorepo/pull/1301))
52
-
53
- ### Fixed
54
- - Fix a few issues with installation and updating ([#1308](https://github.com/MetaMask/snaps-monorepo/pull/1308))
55
-
56
- ## [0.31.0]
57
- ### Changed
58
- - **BREAKING:** Target `ES2020` ([#1247](https://github.com/MetaMask/snaps-monorepo/pull/1247))
59
- - **BREAKING:** Combine snap installation popups ([#1261](https://github.com/MetaMask/snaps-monorepo/pull/1261))
60
- - Throw errors on failed `fetch` ([#1227](https://github.com/MetaMask/snaps-monorepo/pull/1227))
61
- - Improve validation and sanitizing of snap IDs ([#1237](https://github.com/MetaMask/snaps-monorepo/pull/1237))
62
-
63
- ### Fixed
64
- - Fix smaller installation issues affecting local snaps ([#1248](https://github.com/MetaMask/snaps-monorepo/pull/1248))
65
-
66
- ## [0.30.0]
67
- ### Added
68
- - Add WebAssembly permission ([#1185](https://github.com/MetaMask/snaps-monorepo/pull/1185))
69
-
70
- ### Fixed
71
- - Fix an issue with removing snaps ([#1194](https://github.com/MetaMask/snaps-monorepo/pull/1194))
72
- - Previously, the `SnapController` was not requesting revocation of the `wallet_snap` permission from the `PermissionController` if an origin no longer had any permitted snaps, logic has been updated to account for this
73
-
74
- ## [0.29.0]
75
- ### Added
76
- - Add method to get metadata from the Snaps registry ([#1173](https://github.com/MetaMask/snaps-monorepo/pull/1173))
77
- - Set pre-fetch NPM tarball size limit ([#1169](https://github.com/MetaMask/snaps-monorepo/pull/1169))
78
- - NPM packages now have a size limit of 250 MB
79
-
80
- ### Changed
81
- - **BREAKING:** Updated controllers to accomodate new `wallet_snap` permission ([#1182](https://github.com/MetaMask/snaps-monorepo/pull/1182))
82
- - **BREAKING:** Change checksum calculation ([#1128](https://github.com/MetaMask/snaps-monorepo/pull/1128))
83
- - The checksum has changed for all snaps, and needs to be updated
84
-
85
- ## [0.28.0]
86
- ### Added
87
- - Add `endowment:long-running` deprecation warning ([#1126](https://github.com/MetaMask/snaps-monorepo/pull/1126))
88
- - Add experimental offscreen execution environment ([#1082](https://github.com/MetaMask/snaps-monorepo/pull/1082))
89
-
90
- ### Changed
91
- - **BREAKING:** Add support for snap registries ([#1090](https://github.com/MetaMask/snaps-monorepo/pull/1090))
92
- - This removes the `checkBlockList` constructor argument in favor of `registry`
93
- - A registry implementation can be passed here, defaulting to a hosted JSON file
94
- - Requiring a snap to be on the allowlist can be toggled with the feature flag `requireAllowlist`
95
- - **BREAKING:** Disallow local snaps by default ([#1123](https://github.com/MetaMask/snaps-monorepo/pull/1123))
96
- - They can be re-enabled by using the feature flag `allowLocalSnaps`
97
- - Allow updating crashed snaps ([#1113](https://github.com/MetaMask/snaps-monorepo/pull/1113))
98
- - Add safety measures for malicious tarballs ([#1116](https://github.com/MetaMask/snaps-monorepo/pull/1116))
99
- - Make `installSnaps` throw on excluded permissions ([#1125](https://github.com/MetaMask/snaps-monorepo/pull/1125))
100
-
101
- ### Removed
102
- - **BREAKING:** Remove `WebSocket` endowment ([#1122](https://github.com/MetaMask/snaps-monorepo/pull/1122))
103
-
104
- ## [0.27.1]
105
- ### Changed
106
- - No changes this release.
107
-
108
- ## [0.27.0]
109
- ### Changed
110
- - **BREAKING:** Use SIP-6 algorithm for state encryption ([#1055](https://github.com/MetaMask/snaps-monorepo/pull/1055))
111
- - This breaks all existing snaps that use `snap_manageState`
112
-
113
- ## [0.26.2]
114
- ### Changed
115
- - No changes this release.
116
-
117
- ## [0.26.1]
118
- ### Fixed
119
- - Fix some paths being wrongly normalized ([#1053](https://github.com/MetaMask/snaps-monorepo/pull/1053))
120
- - Fix some issues with fetching snaps ([#1050](https://github.com/MetaMask/snaps-monorepo/pull/1050))
121
-
122
- ## [0.26.0]
123
- ### Changed
124
- - **BREAKING:** Snap installation refactor ([#1023](https://github.com/MetaMask/snaps-monorepo/pull/1023))
125
- - `wallet_requestSnaps` will now throw an error and roll back any changes made if installation of any snap fails
126
-
127
- ### Fixed
128
- - Fix an issue processing non-snap permissions ([#1044](https://github.com/MetaMask/snaps-monorepo/pull/1044))
129
-
130
- ## [0.25.0]
131
- ### Added
132
- - **BREAKING:** Add JSON-RPC handler permission ([#905](https://github.com/MetaMask/snaps-monorepo/pull/905))
133
- - Snaps are now required to request `endowment:rpc` to receive RPC requests.
134
- - Add transaction origin caveat export ([#1010](https://github.com/MetaMask/snaps-monorepo/pull/1010))
135
-
136
- ## [0.24.1]
13
+ ## [2.0.0]
137
14
  ### Changed
138
- - No changes this release.
139
-
140
- ## [0.24.0]
141
- ### Added
142
- - Add transaction insight caveat for accessing transaction origin ([#902](https://github.com/MetaMask/snaps-monorepo/pull/902))
143
-
144
- ### Changed
145
- - **BREAKING:** Rename package to start with `snaps-` ([#937](https://github.com/MetaMask/snaps-monorepo/pull/937))
146
- - **BREAKING:** Remove `wallet` global in favor of `snap` and `ethereum` ([#939](https://github.com/MetaMask/snaps-monorepo/pull/939))
147
- - Add permission validation to `snap.manifest.json` ([#910](https://github.com/MetaMask/snaps-monorepo/pull/910))
148
-
149
- ## [0.23.0]
150
- ### Added
151
- - Add snap cronjobs ([#651](https://github.com/MetaMask/snaps-monorepo/pull/651), [#890](https://github.com/MetaMask/snaps-monorepo/pull/890))
152
-
153
- ### Changed
154
- - **BREAKING:** Make `SnapController.add()` private ([#883](https://github.com/MetaMask/snaps-monorepo/pull/883))
155
- - **BREAKING:** Stop including snap state in SnapController state ([#876](https://github.com/MetaMask/snaps-monorepo/pull/876))
156
- - **BREAKING:** Stop including source code in SnapController state ([#861](https://github.com/MetaMask/snaps-monorepo/pull/861))
157
- - Improve keyring endowment error messaging ([#884](https://github.com/MetaMask/snaps-monorepo/pull/884))
158
- - Replace JSON schema validation with structs ([#862](https://github.com/MetaMask/snaps-monorepo/pull/862))
159
-
160
- ## [0.22.3]
161
- ### Changed
162
- - No changes this release.
163
-
164
- ## [0.22.2]
165
- ### Fixed
166
- - Fix an issue with installing snaps that request the `eth_accounts` permission ([#839](https://github.com/MetaMask/snaps-monorepo/pull/839))
167
-
168
- ## [0.22.1]
169
- ### Fixed
170
- - Assert that multichain RPC methods are supported before usage ([#814](https://github.com/MetaMask/snaps-monorepo/pull/814))
171
-
172
- ## [0.22.0]
173
- ### Added
174
- - Add Snap Keyring support ([#700](https://github.com/MetaMask/snaps-monorepo/pull/700), [#775](https://github.com/MetaMask/snaps-monorepo/pull/775), [#777](https://github.com/MetaMask/snaps-monorepo/pull/777), [#740](https://github.com/MetaMask/snaps-monorepo/pull/740))
175
- - Add `endowment:keyring` permission
176
- - Add `MultiChainController`
177
-
178
- ### Changed
179
- - **BREAKING:** Renamed `SnapController:getSnaps` to `SnapController:getPermittedSnaps` [#775](https://github.com/MetaMask/snaps-monorepo/pull/775)
180
-
181
- ## [0.21.0]
182
- ### Changed
183
- - **BREAKING:** Add changes to support blocking snaps by shasum ([#767](https://github.com/MetaMask/snaps-monorepo/pull/767))
184
- - **BREAKING:** Rework snap install logic ([#754](https://github.com/MetaMask/snaps-monorepo/pull/754))
185
- - Stop including `installing` snaps in `wallet_getSnaps` ([#765](https://github.com/MetaMask/snaps-monorepo/pull/765))
186
-
187
- ### Fixed
188
- - Process snap permissions before snap update ([#753](https://github.com/MetaMask/snaps-monorepo/pull/753))
189
- - Only pause running timers ([#725](https://github.com/MetaMask/snaps-monorepo/pull/725))
15
+ - Initial stable release from main branch ([#1757](https://github.com/MetaMask/snaps/pull/1757))
190
16
 
191
- ## [0.20.0]
17
+ ## [0.39.0-flask.1]
192
18
  ### Added
193
- - **BREAKING:** Add Transaction Insight API ([#642](https://github.com/MetaMask/snaps-monorepo/pull/642))
194
- - This feature required changes to the RPC request handling functionality, hence the breaking change
195
- - Register missing actions ([#659](https://github.com/MetaMask/snaps-monorepo/pull/659))
196
- - All APIs accessed outside the SnapController are now registered as actions in the messaging system
197
-
198
- ### Changed
199
- - **BREAKING:** Simplify manifest format for permission caveats ([#705](https://github.com/MetaMask/snaps-monorepo/pull/705))
200
- - Reduce TypeScript compilation target for `snap-controllers` ([#708](https://github.com/MetaMask/snaps-monorepo/pull/708))
201
- - Move all internal types from `@metamask/snaps-types` to `@metamask/snaps-utils` ([#695](https://github.com/MetaMask/snaps-monorepo/pull/695))
202
-
203
- ### Removed
204
- - **BREAKING:** Removed ExternalResourceController ([#701](https://github.com/MetaMask/snaps-monorepo/pull/701))
19
+ - Add `onNameLookup` export ([#1394](https://github.com/MetaMask/snaps/pull/1394))
205
20
 
206
- ## [0.19.1]
207
21
  ### Changed
208
- - No changes this release.
22
+ - Remove `pump` ([#1730](https://github.com/MetaMask/snaps/pull/1730))
23
+ - Bump `metamask/utils` and `metamask/snaps-registry` ([#1738](https://github.com/MetaMask/snaps/pull/1738))
209
24
 
210
- ## [0.19.0]
211
25
  ### Fixed
212
- - Fixed update snap approval missing metadata ([#673](https://github.com/MetaMask/snaps-monorepo/pull/673))
213
- - Fixed executors sending malformed JSON-RPC notifications ([#639](https://github.com/MetaMask/snaps-monorepo/pull/639))
26
+ - Fix cronjob running on disabled snaps ([#1743](https://github.com/MetaMask/snaps/pull/1743))
214
27
 
215
- ## [0.18.1]
28
+ ## [0.38.3-flask.1]
216
29
  ### Changed
217
- - No changes this release.
218
-
219
- ## [0.18.0]
220
- ### Changed
221
- - Reduce TypeScript compilation target to ES2017 ([#628](https://github.com/MetaMask/snaps-monorepo/pull/628))
222
- - **BREAKING:** Add browser entrypoint for execution services ([#629](https://github.com/MetaMask/snaps-monorepo/pull/629))
223
- - Node.js execution services are now omitted in browser environments
224
-
225
- ## [0.17.0]
226
- ### Added
227
- - Add snap blocklist functionality ([#597](https://github.com/MetaMask/snaps-monorepo/pull/597))
228
- - Add Node.js `worker_threads` execution environment ([#587](https://github.com/MetaMask/snaps-monorepo/pull/587))
229
- - Add Node.js `child_process` execution environment ([#523](https://github.com/MetaMask/snaps-monorepo/pull/523))
230
- - Added network endowment teardown ([#514](https://github.com/MetaMask/snaps-monorepo/pull/514))
231
-
232
- ### Changed
233
- - **BREAKING:** Bump minimum Node version to 16 ([#601](https://github.com/MetaMask/snaps-monorepo/pull/601))
234
- - **BREAKING:** Remove ExecutionService actions from constructor arguments ([#486](https://github.com/MetaMask/snaps-monorepo/pull/486))
235
- - **BREAKING:** Emit appropriate snap objects for SnapController events ([#608](https://github.com/MetaMask/snaps-monorepo/pull/608))
236
- - **BREAKING:** Replace `getRpcMessageHandler` action with `handleRpcRequest` ([#497](https://github.com/MetaMask/snaps-monorepo/pull/497), [#557](https://github.com/MetaMask/snaps-monorepo/pull/557))
237
- - Monitor outbound snap requests to pause request timeout ([#593](https://github.com/MetaMask/snaps-monorepo/pull/593))
238
- - Change Update Snap `requestData` ([#614](https://github.com/MetaMask/snaps-monorepo/pull/614))
239
-
240
- ### Removed
241
- - Remove WebWorker implementation ([#591](https://github.com/MetaMask/snaps-monorepo/pull/591))
242
-
243
- ## [0.16.0]
244
- ### Added
245
- - **BREAKING:** Encrypt Snap state by default ([#369](https://github.com/MetaMask/snaps-monorepo/pull/369))
246
- - Breaks existing installed snaps that use `snap_manageState`. All such Snaps must be reinstalled.
247
-
248
- ### Changed
249
- - **BREAKING:** Snaps are now required to export `onRpcRequest` to receive RPC requests ([#481](https://github.com/MetaMask/snaps-monorepo/pull/481), [#533](https://github.com/MetaMask/snaps-monorepo/pull/533), [#538](https://github.com/MetaMask/snaps-monorepo/pull/538))
250
- - The type of the function is available in `@metamask/snaps-types` as `OnRpcRequestHandler`.
251
- - Snaps can no longer run timers outside of pending RPC requests ([#490](https://github.com/MetaMask/snaps-monorepo/pull/490))
30
+ - Bump `@metamask/post-message-stream` from 6.1.2 to 7.0.0 ([#1707](https://github.com/MetaMask/snaps/pull/1707), [#1724](https://github.com/MetaMask/snaps/pull/1724))
31
+ - Bump `@metamask/utils` and `@metamask/snaps-registry` ([#1694](https://github.com/MetaMask/snaps/pull/1694))
252
32
 
253
33
  ### Fixed
254
- - Allow version matching with prerelease versions ([#508](https://github.com/MetaMask/snaps-monorepo/pull/508))
255
- - Fix issue with iframe error reporting ([#501](https://github.com/MetaMask/snaps-monorepo/pull/501))
256
- - Fix an issue with file paths with leading `./` in npm snap manifests ([#537](https://github.com/MetaMask/snaps-monorepo/pull/537))
34
+ - Fix unpacking zero byte files from NPM ([#1708](https://github.com/MetaMask/snaps/pull/1708))
257
35
 
258
- ## [0.15.0]
36
+ ## [0.38.2-flask.1]
259
37
  ### Fixed
260
- - Fix an issue with detecting iframe execution environment load ([#464](https://github.com/MetaMask/snaps-monorepo/pull/464))
261
-
262
- ## [0.14.0]
263
- ### Changed
264
- - **BREAKING:** Increase TypeScript compilation target to ES2020 ([#449](https://github.com/MetaMask/snaps-monorepo/pull/449))
265
- - This should not be breaking for consumers on any non-deprecated browser or Node.js version.
266
-
267
- ## [0.13.0]
268
- ### Added
269
- - Add long-running endowment permission ([#386](https://github.com/MetaMask/snaps-monorepo/pull/386))
270
- - Add `network-access` endowment from `controllers` ([#439](https://github.com/MetaMask/snaps-monorepo/pull/439))
271
-
272
- ### Changed
273
- - **BREAKING:** Rename SnapController constructor argument ([#435](https://github.com/MetaMask/snaps-monorepo/pull/435))
274
-
275
- ## [0.12.0]
276
- ### Added
277
- - Add support for endowment teardown ([#407](https://github.com/MetaMask/snaps-monorepo/pull/407))
278
- - Emit `snapTerminated` event ([#406](https://github.com/MetaMask/snaps-monorepo/pull/406))
279
- - Add `IframeExecutionService` previously published via `@metamask/iframe-execution-environment-service` ([#415](https://github.com/MetaMask/snaps-monorepo/pull/415))
280
-
281
- ### Removed
282
- - Remove `_createWindowTimeout` ([#404](https://github.com/MetaMask/snaps-monorepo/pull/404))
283
- - Remove unresponsive timeout ([#395](https://github.com/MetaMask/snaps-monorepo/pull/395))
38
+ - Remove unused dependencies ([#1680](https://github.com/MetaMask/snaps/pull/1680))
284
39
 
40
+ ## [0.38.1-flask.1]
285
41
  ### Fixed
286
- - Correctly categorize ungracefully terminated snaps as crashed ([#427](https://github.com/MetaMask/snaps-monorepo/pull/427))
287
-
288
- ## [0.11.1]
289
- ### Changed
290
- - Always bind `fetch` by default ([#402](https://github.com/MetaMask/snaps-monorepo/pull/402))
291
-
292
- ## [0.11.0]
293
- ### Added
294
- - Add clearSnapState ([#346](https://github.com/MetaMask/snaps-monorepo/pull/346))
295
-
296
- ### Changed
297
- - Robustify snap startup procedure and iframe error handling ([#379](https://github.com/MetaMask/snaps-monorepo/pull/379))
298
- - Added ability to update snaps when installing them ([#322](https://github.com/MetaMask/snaps-monorepo/pull/322))
299
- - **BREAKING:** Use PermissionController:revokePermissionForAllSubjects ([#351](https://github.com/MetaMask/snaps-monorepo/pull/351))
300
- - Changed console.logs to console.info ([#361](https://github.com/MetaMask/snaps-monorepo/pull/361))
301
- - Upgraded TypeScript version to minimum 4.4 ([#360](https://github.com/MetaMask/snaps-monorepo/pull/360))
302
- - Remove cross-fetch ([#349](https://github.com/MetaMask/snaps-monorepo/pull/349))
303
-
304
- ### Fixed
305
- - Fix idle timeout implementation ([#385](https://github.com/MetaMask/snaps-monorepo/pull/385))
306
-
307
- ## [0.10.7]
308
- ### Added
309
- - Add version history information ([#317](https://github.com/MetaMask/snaps-monorepo/pull/317))
310
- - Add setInterval and clearInterval as default endowments ([#326](https://github.com/MetaMask/snaps-monorepo/pull/326))
311
- - Add queue for RPC requests to starting snaps ([#288](https://github.com/MetaMask/snaps-monorepo/pull/288))
312
- - This improves the experience of invoking a starting snap, waiting for the snap to be ready instead of throwing an error.
313
-
314
- ### Changed
315
- - **BREAKING:** Bump minimum Node version from 12 to 14 ([#331](https://github.com/MetaMask/snaps-monorepo/pull/331))
316
-
317
- ## [0.10.6]
318
- ### Fixed
319
- - Fix ID validation during Snap installation ([#308](https://github.com/MetaMask/snaps-monorepo/pull/308))
320
-
321
- ## [0.10.5]
322
- ### Added
323
- - Add updateSnap function to SnapController ([#259](https://github.com/MetaMask/snaps-monorepo/pull/259))
324
-
325
- ### Fixed
326
- - Fix issue where installation errors were repeatedly thrown ([#301](https://github.com/MetaMask/snaps-monorepo/pull/301))
327
- - Fix snap crash handling ([#298](https://github.com/MetaMask/snaps-monorepo/pull/298))
328
-
329
- ## [0.10.3]
330
- ### Changed
331
- - Always reinstall local snaps ([#289](https://github.com/MetaMask/snaps-monorepo/pull/289))
332
-
333
- ## [0.10.2]
334
- ### Fixed
335
- - Installation failure ([#279](https://github.com/MetaMask/snaps-monorepo/pull/279))
336
- - A faulty installation script in a dependency caused the installation of this package to fail.
337
-
338
- ## [0.10.1]
339
- ### Changed
340
- - Populate `jsonrpc` field in Snap RPC requests ([#273](https://github.com/MetaMask/snaps-monorepo/pull/273))
341
-
342
- ### Fixed
343
- - Various bugs ([#275](https://github.com/MetaMask/snaps-monorepo/pull/275))
344
- - Snap fetching during installation.
345
- - Snap removal when cancelling a Snap installation request.
346
-
347
- ## [0.10.0]
348
- ### Added
349
- - Allow specifying a version range when installing snap ([#250](https://github.com/MetaMask/snaps-monorepo/pull/250))
350
- - Add more safe default endowments to snaps ([#252](https://github.com/MetaMask/snaps-monorepo/pull/252))
351
-
352
- ### Changed
353
- - **BREAKING:** Specify all endowments in the `SnapController` ([#252](https://github.com/MetaMask/snaps-monorepo/pull/252)), ([#266](https://github.com/MetaMask/snaps-monorepo/pull/266))
354
- - Previously, default endowments were specified in the execution environment. Now, default endowments are specified in the `SnapController`, and the execution environment will only add endowments specified by the execution command, except for the `wallet` API object.
355
- - Disable caching when fetching local snaps ([#227](https://github.com/MetaMask/snaps-monorepo/pull/227))
356
- - This ensures that the `SnapController` will always fetch the latest snap manifest and source code during local development.
357
-
358
- ### Removed
359
- - **BREAKING:** Remove the `PermissionController` and `SubjectMetadataController` ([#261](https://github.com/MetaMask/snaps-monorepo/pull/261))
360
- - They are part of the [`@metamask/controllers`](https://npmjs.com/package/@metamask/controllers) as of version [26.0.0](https://github.com/MetaMask/controllers/releases/tag/v26.0.0) of that package.
361
-
362
- ### Fixed
363
- - Prevent useless errors from being thrown when a snap is removed ([#215](https://github.com/MetaMask/snaps-monorepo/pull/215))
364
-
365
- ## [0.9.0]
366
- ### Added
367
- - Make `SnapController` npm registry configurable ([#200](https://github.com/MetaMask/snaps-monorepo/pull/200))
368
-
369
- ### Changed
370
- - **BREAKING:** Return `null` from `SnapController.getSnapState` if the snap has no state ([#203](https://github.com/MetaMask/snaps-monorepo/pull/203))
371
- - Previously it would return `undefined` in this case.
372
- - `@metamask/controllers@^25.1.0` ([#207](https://github.com/MetaMask/snaps-monorepo/pull/207))
373
-
374
- ## [0.8.1]
375
- ### Added
376
- - A variety of `SnapController` actions ([#199](https://github.com/MetaMask/snaps-monorepo/pull/199))
377
-
378
- ## [0.8.0]
379
- ### Added
380
- - Expose more `PermissionController` functionality via actions ([#194](https://github.com/MetaMask/snaps-monorepo/pull/194))
381
-
382
- ### Changed
383
- - **BREAKING:** Replace `PermissionController` functions with actions in `SnapController` ([#194](https://github.com/MetaMask/snaps-monorepo/pull/194))
384
-
385
- ## [0.7.0]
386
- ### Changed
387
- - **BREAKING:** Rename execution environment service class and events ([#188](https://github.com/MetaMask/snaps-monorepo/pull/188))
388
- - `ServiceMessenger` events are now named `ExecutionService`.
389
- - `WebWorkerExecutionEnvironmentService` is now named `WebWorkerExecutionService`.
390
-
391
- ## [0.6.3]
392
- ### Fixed
393
- - Prevent `disableSnap` from throwing if the specified Snap is stopped ([#175](https://github.com/MetaMask/snaps-monorepo/pull/175))
394
-
395
- ## [0.6.2]
396
- ### Changed
397
- - **BREAKING:** Rename endowment permission builder exports ([#171](https://github.com/MetaMask/snaps-monorepo/pull/171))
398
-
399
- ### Removed
400
- - **BREAKING:** Remove the `svgIcon` property from Snap state ([#172](https://github.com/MetaMask/snaps-monorepo/pull/172))
401
- - The SVG icon content string is instead emitted with the `SnapController:snapAdded` event.
402
-
403
- ## [0.6.1]
404
- ### Changed
405
- - No changes this release.
406
-
407
- ## [0.6.0]
408
- ### Added
409
- - "Endowment" permissions ([#152](https://github.com/MetaMask/snaps-monorepo/pull/152))
410
- - `SnapController` endowment permissions support ([#155](https://github.com/MetaMask/snaps-monorepo/pull/155))
411
- - Network access endowment permission ([#154](https://github.com/MetaMask/snaps-monorepo/pull/154))
412
- - Snap installation events ([#162](https://github.com/MetaMask/snaps-monorepo/pull/162))
413
-
414
- ### Changed
415
- - **BREAKING:** Refactor `SnapController` to support the new Snaps publishing specification ([#140](https://github.com/MetaMask/snaps-monorepo/pull/140), [#157](https://github.com/MetaMask/snaps-monorepo/pull/157), [#163](https://github.com/MetaMask/snaps-monorepo/pull/163))
416
- - This introduces several breaking changes to how Snaps are developed, hosted, and represented at runtime. See [the specification](https://github.com/MetaMask/specifications/blob/d4a5bf5d6990bb5b02a98bd3f95a24ffb28c701c/snaps/publishing.md) and the referenced pull requests for details.
417
- - **BREAKING:** Rename Snap `name` property to `id` ([#147](https://github.com/MetaMask/snaps-monorepo/pull/147))
418
- - **BREAKING:** Introduce the required `permissionType` field to `PermissionController` permission specifications ([#152](https://github.com/MetaMask/snaps-monorepo/pull/152))
419
- - Make `SubjectMetadataController` subject metadata `name` optional ([#151](https://github.com/MetaMask/snaps-monorepo/pull/151))
420
-
421
- ### Removed
422
- - **BREAKING:** Inline snap functionality ([#148](https://github.com/MetaMask/snaps-monorepo/pull/148))
423
-
424
- ## [0.5.0]
425
- ### Changed
426
- - **BREAKING:** Update restricted RPC methods per new `PermissionController` ([#143](https://github.com/MetaMask/snaps-monorepo/pull/143))
427
- - **BREAKING:** Convert all TypeScript `interface` declarations to `type` equivalents ([#143](https://github.com/MetaMask/snaps-monorepo/pull/143))
428
- - Bump `@metamask/obs-store` to `7.0.0` ([#144](https://github.com/MetaMask/snaps-monorepo/pull/144))
429
-
430
- ## [0.4.0]
431
- ### Added
432
- - `SubjectMetadataController` ([#61](https://github.com/MetaMask/snaps-monorepo/pull/61))
433
- - `PermissionController` ([#132](https://github.com/MetaMask/snaps-monorepo/pull/132), [#141](https://github.com/MetaMask/snaps-monorepo/pull/141))
434
- - **BREAKING:** `SnapController`: Add max request processing time ([#128](https://github.com/MetaMask/snaps-monorepo/pull/128))
435
-
436
- ### Fixed
437
- - `SnapController`: Clean up timeouts after stopping a Snap ([#139](https://github.com/MetaMask/snaps-monorepo/pull/139))
438
- - `WebWorkerExecutionEnvironmentService`: Clean up post-termination timeouts ([#128](https://github.com/MetaMask/snaps-monorepo/pull/128))
439
-
440
- ## [0.3.1]
441
- ### Changed
442
- - **BREAKING:** Update Snap initial states ([#126](https://github.com/MetaMask/snaps-monorepo/pull/126))
443
- - The `idle` status is now named `installing`, and rehydrated snaps will have the status `stopped`.
444
-
445
- ### Fixed
446
- - Fix Snap execution and installation bugs ([#125](https://github.com/MetaMask/snaps-monorepo/pull/125))
447
- - Prevent Snaps from being started before installation is finished ([#124](https://github.com/MetaMask/snaps-monorepo/pull/124))
448
- - Correctly identify breaking changes in [0.3.0] release ([#123](https://github.com/MetaMask/snaps-monorepo/pull/123))
449
-
450
- ## [0.3.0]
451
- ### Added
452
- - Allow disabling and enabling Snaps ([#116](https://github.com/MetaMask/snaps-monorepo/pull/116))
453
- - Only enabled Snaps can be started.
454
- - Start stopped Snaps that receive an RPC message ([#114](https://github.com/MetaMask/snaps-monorepo/pull/114))
455
- - Add Snap max idle time ([#105](https://github.com/MetaMask/snaps-monorepo/pull/105))
456
- - A Snap that is idle for more than the max idle time will be stopped.
457
- - Poll Snaps for their status ([#104](https://github.com/MetaMask/snaps-monorepo/pull/104))
458
- - If a Snap stops responding, it will be forced to stop.
459
-
460
- ### Changed
461
- - **BREAKING:** Enforce consistent naming for Snaps-related functionality ([#119](https://github.com/MetaMask/snaps-monorepo/pull/119))
462
- - **BREAKING:** Use the `ControllerMessenger` to communicate between the `SnapController` and its execution environment service ([#100](https://github.com/MetaMask/snaps-monorepo/pull/100))
463
-
464
- ## [0.2.2]
465
- ### Added
466
- - Add Snap error state ([#96](https://github.com/MetaMask/snaps-monorepo/pull/96))
467
-
468
- ### Fixed
469
- - Package script issues ([#97](https://github.com/MetaMask/snaps-monorepo/pull/97), [#98](https://github.com/MetaMask/snaps-monorepo/pull/98))
470
-
471
- ## [0.2.0]
472
- ### Changed
473
- - Update publish scripts ([#92](https://github.com/MetaMask/snaps-monorepo/pull/92))
474
-
475
- ## [0.1.2]
476
- ### Changed
477
- - Restore name of `handshake` method to `ping` ([#90](https://github.com/MetaMask/snaps-monorepo/pull/90))
478
-
479
- ## [0.1.1]
480
- ### Added
481
- - Out of band error support ([#88](https://github.com/MetaMask/snaps-monorepo/pull/88))
482
-
483
- ### Changed
484
- - @metamask/controllers@17.0.0 ([#87](https://github.com/MetaMask/snaps-monorepo/pull/87))
485
-
486
- ## [0.1.0]
487
- ### Added
488
- - Readme file ([#71](https://github.com/MetaMask/snaps-monorepo/pull/71))
489
-
490
- ### Changed
491
- - **BREAKING:** Rename package to `@metamask/snaps-controllers` ([#73](https://github.com/MetaMask/snaps-monorepo/pull/73))
492
-
493
- ## [0.0.9]
494
- ### Added
495
- - `PluginController`: Always persist plugin `isRunning` state as `false` ([#64](https://github.com/MetaMask/snaps-monorepo/pull/64))
496
- - Plugins are not automatically running on boot, and we should never persist this state as `true`.
497
-
498
- ### Changed
499
- - **BREAKING:** `@metamask/controllers@15.0.0` ([#66](https://github.com/MetaMask/snaps-monorepo/pull/66))
500
- - This may cause incompatibilities with other versions of the `@metamask/controllers` package.
501
-
502
- ## [0.0.7]
503
- ### Fixed
504
- - Store plugin states in the correct place ([#48](https://github.com/MetaMask/snaps-monorepo/pull/48))
505
- - Previously, plugin states would be set as top-level keys of the `PluginController`'s state. This broke retrieving plugin states. They are now correctly stored under `state.pluginStates`.
42
+ - Fix parallel usage of registry ([#1669](https://github.com/MetaMask/snaps/pull/1669))
506
43
 
507
- ## [0.0.6]
44
+ ## [0.38.0-flask.1]
508
45
  ### Added
509
- - iframe execution environment ([#33](https://github.com/MetaMask/snaps-monorepo/pull/33))
510
- - Execution environment OpenRPC spec ([#23](https://github.com/MetaMask/snaps-monorepo/pull/23))
46
+ - Add `onInstall` and `onUpdate` lifecycle hooks ([#1643](https://github.com/MetaMask/snaps/pull/1643))
511
47
 
512
48
  ### Changed
513
- - **BREAKING:** Migrate `CommandEngine` message format to JSON-RPC ([#11](https://github.com/MetaMask/snaps-monorepo/pull/11))
514
- - **BREAKING:** Refactor `PluginController` to use `BaseControllerV2` ([#13](https://github.com/MetaMask/snaps-monorepo/pull/13))
515
- - **BREAKING:** Use generic execution environment interface ([#19](https://github.com/MetaMask/snaps-monorepo/pull/19))
516
- - **BREAKING:** Restore origin parameter to `setupWorkerConnection`, rename to `setupPluginProvider` ([#20](https://github.com/MetaMask/snaps-monorepo/pull/20))
517
- - **BREAKING:** Rename some execution environment methods ([#23](https://github.com/MetaMask/snaps-monorepo/pull/23))
518
-
519
- ### Fixed
520
- - Ensure that the plugin `isRunning` check always runs when a plugin is started ([#21](https://github.com/MetaMask/snaps-monorepo/pull/21))
521
-
522
- ## [0.0.5]
523
- ### Added
524
- - First semi-stable release.
49
+ - Make `updateBlockedSnaps` update the registry ([#1625](https://github.com/MetaMask/snaps/pull/1625))
50
+ - Move source code and snap state back to controller state ([#1634](https://github.com/MetaMask/snaps/pull/1634))
525
51
 
526
- [Unreleased]: https://github.com/MetaMask/snaps/compare/v1.0.2...HEAD
527
- [1.0.2]: https://github.com/MetaMask/snaps/compare/v1.0.1...v1.0.2
528
- [1.0.1]: https://github.com/MetaMask/snaps/compare/v1.0.0...v1.0.1
529
- [1.0.0]: https://github.com/MetaMask/snaps/compare/v1.0.0-prerelease.1...v1.0.0
530
- [1.0.0-prerelease.1]: https://github.com/MetaMask/snaps/compare/v0.32.2...v1.0.0-prerelease.1
531
- [0.32.2]: https://github.com/MetaMask/snaps/compare/v0.32.1...v0.32.2
532
- [0.32.1]: https://github.com/MetaMask/snaps/compare/v0.32.0...v0.32.1
533
- [0.32.0]: https://github.com/MetaMask/snaps/compare/v0.31.0...v0.32.0
534
- [0.31.0]: https://github.com/MetaMask/snaps/compare/v0.30.0...v0.31.0
535
- [0.30.0]: https://github.com/MetaMask/snaps/compare/v0.29.0...v0.30.0
536
- [0.29.0]: https://github.com/MetaMask/snaps/compare/v0.28.0...v0.29.0
537
- [0.28.0]: https://github.com/MetaMask/snaps/compare/v0.27.1...v0.28.0
538
- [0.27.1]: https://github.com/MetaMask/snaps/compare/v0.27.0...v0.27.1
539
- [0.27.0]: https://github.com/MetaMask/snaps/compare/v0.26.2...v0.27.0
540
- [0.26.2]: https://github.com/MetaMask/snaps/compare/v0.26.1...v0.26.2
541
- [0.26.1]: https://github.com/MetaMask/snaps/compare/v0.26.0...v0.26.1
542
- [0.26.0]: https://github.com/MetaMask/snaps/compare/v0.25.0...v0.26.0
543
- [0.25.0]: https://github.com/MetaMask/snaps/compare/v0.24.1...v0.25.0
544
- [0.24.1]: https://github.com/MetaMask/snaps/compare/v0.24.0...v0.24.1
545
- [0.24.0]: https://github.com/MetaMask/snaps/compare/v0.23.0...v0.24.0
546
- [0.23.0]: https://github.com/MetaMask/snaps/compare/v0.22.3...v0.23.0
547
- [0.22.3]: https://github.com/MetaMask/snaps/compare/v0.22.2...v0.22.3
548
- [0.22.2]: https://github.com/MetaMask/snaps/compare/v0.22.1...v0.22.2
549
- [0.22.1]: https://github.com/MetaMask/snaps/compare/v0.22.0...v0.22.1
550
- [0.22.0]: https://github.com/MetaMask/snaps/compare/v0.21.0...v0.22.0
551
- [0.21.0]: https://github.com/MetaMask/snaps/compare/v0.20.0...v0.21.0
552
- [0.20.0]: https://github.com/MetaMask/snaps/compare/v0.19.1...v0.20.0
553
- [0.19.1]: https://github.com/MetaMask/snaps/compare/v0.19.0...v0.19.1
554
- [0.19.0]: https://github.com/MetaMask/snaps/compare/v0.18.1...v0.19.0
555
- [0.18.1]: https://github.com/MetaMask/snaps/compare/v0.18.0...v0.18.1
556
- [0.18.0]: https://github.com/MetaMask/snaps/compare/v0.17.0...v0.18.0
557
- [0.17.0]: https://github.com/MetaMask/snaps/compare/v0.16.0...v0.17.0
558
- [0.16.0]: https://github.com/MetaMask/snaps/compare/v0.15.0...v0.16.0
559
- [0.15.0]: https://github.com/MetaMask/snaps/compare/v0.14.0...v0.15.0
560
- [0.14.0]: https://github.com/MetaMask/snaps/compare/v0.13.0...v0.14.0
561
- [0.13.0]: https://github.com/MetaMask/snaps/compare/v0.12.0...v0.13.0
562
- [0.12.0]: https://github.com/MetaMask/snaps/compare/v0.11.1...v0.12.0
563
- [0.11.1]: https://github.com/MetaMask/snaps/compare/v0.11.0...v0.11.1
564
- [0.11.0]: https://github.com/MetaMask/snaps/compare/v0.10.7...v0.11.0
565
- [0.10.7]: https://github.com/MetaMask/snaps/compare/v0.10.6...v0.10.7
566
- [0.10.6]: https://github.com/MetaMask/snaps/compare/v0.10.5...v0.10.6
567
- [0.10.5]: https://github.com/MetaMask/snaps/compare/v0.10.3...v0.10.5
568
- [0.10.3]: https://github.com/MetaMask/snaps/compare/v0.10.2...v0.10.3
569
- [0.10.2]: https://github.com/MetaMask/snaps/compare/v0.10.1...v0.10.2
570
- [0.10.1]: https://github.com/MetaMask/snaps/compare/v0.10.0...v0.10.1
571
- [0.10.0]: https://github.com/MetaMask/snaps/compare/v0.9.0...v0.10.0
572
- [0.9.0]: https://github.com/MetaMask/snaps/compare/v0.8.1...v0.9.0
573
- [0.8.1]: https://github.com/MetaMask/snaps/compare/v0.8.0...v0.8.1
574
- [0.8.0]: https://github.com/MetaMask/snaps/compare/v0.7.0...v0.8.0
575
- [0.7.0]: https://github.com/MetaMask/snaps/compare/v0.6.3...v0.7.0
576
- [0.6.3]: https://github.com/MetaMask/snaps/compare/v0.6.2...v0.6.3
577
- [0.6.2]: https://github.com/MetaMask/snaps/compare/v0.6.1...v0.6.2
578
- [0.6.1]: https://github.com/MetaMask/snaps/compare/v0.6.0...v0.6.1
579
- [0.6.0]: https://github.com/MetaMask/snaps/compare/v0.5.0...v0.6.0
580
- [0.5.0]: https://github.com/MetaMask/snaps/compare/v0.4.0...v0.5.0
581
- [0.4.0]: https://github.com/MetaMask/snaps/compare/v0.3.1...v0.4.0
582
- [0.3.1]: https://github.com/MetaMask/snaps/compare/v0.3.0...v0.3.1
583
- [0.3.0]: https://github.com/MetaMask/snaps/compare/v0.2.2...v0.3.0
584
- [0.2.2]: https://github.com/MetaMask/snaps/compare/v0.2.0...v0.2.2
585
- [0.2.0]: https://github.com/MetaMask/snaps/compare/v0.1.2...v0.2.0
586
- [0.1.2]: https://github.com/MetaMask/snaps/compare/v0.1.1...v0.1.2
587
- [0.1.1]: https://github.com/MetaMask/snaps/compare/v0.1.0...v0.1.1
588
- [0.1.0]: https://github.com/MetaMask/snaps/compare/v0.0.9...v0.1.0
589
- [0.0.9]: https://github.com/MetaMask/snaps/compare/v0.0.7...v0.0.9
590
- [0.0.7]: https://github.com/MetaMask/snaps/compare/v0.0.6...v0.0.7
591
- [0.0.6]: https://github.com/MetaMask/snaps/compare/v0.0.5...v0.0.6
592
- [0.0.5]: https://github.com/MetaMask/snaps/releases/tag/v0.0.5
52
+ ## [0.37.2-flask.1]
53
+ ### Changed
54
+ - Release package independently ([#1600](https://github.com/MetaMask/snaps/pull/1600))
55
+ - The version of the package no longer needs to match the version of all other
56
+ MetaMask Snaps packages.
57
+
58
+ [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@2.0.1...HEAD
59
+ [2.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@2.0.0...@metamask/snaps-controllers@2.0.1
60
+ [2.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@0.39.0-flask.1...@metamask/snaps-controllers@2.0.0
61
+ [0.39.0-flask.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@0.38.3-flask.1...@metamask/snaps-controllers@0.39.0-flask.1
62
+ [0.38.3-flask.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@0.38.2-flask.1...@metamask/snaps-controllers@0.38.3-flask.1
63
+ [0.38.2-flask.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@0.38.1-flask.1...@metamask/snaps-controllers@0.38.2-flask.1
64
+ [0.38.1-flask.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@0.38.0-flask.1...@metamask/snaps-controllers@0.38.1-flask.1
65
+ [0.38.0-flask.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@0.37.2-flask.1...@metamask/snaps-controllers@0.38.0-flask.1
66
+ [0.37.2-flask.1]: https://github.com/MetaMask/snaps/releases/tag/@metamask/snaps-controllers@0.37.2-flask.1