Skip to content

6.0.0

Choose a tag to compare

@github-actions github-actions released this 04 Mar 05:26
be13ec6

@metamask/kernel-browser-runtime 0.5.0

Added

  • Add console forwarding utilities (setupConsoleForwarding, handleConsoleForwardMessage, isConsoleForwardMessage) (#798)
  • Add caplet vat support to kernel facade and subcluster launching (#753)
  • Add CapTP infrastructure (background-captp, kernel-captp, kernel-facade) (#751)
    • Add system subclusters support and kernel facet service via CapTP (#803)
    • Add RPC handler modules and export ocapUrl* methods for offline use (#823)
  • Add relay query string utilities and relay-based kernel worker initialization (#638)
    • Add resetStorage query parameter support and remove createWorkerUrlWithRelays export (#642)
  • Add PlatformServicesClient and PlatformServicesServer for kernel-to-kernel network comms (#578)
    • Add location hints parameter to sendRemoteMessage in PlatformServicesClient and PlatformServicesServer (#666)
    • Add automatic reconnection with exponential backoff to PlatformServicesClient and PlatformServicesServer (#678)
    • Change PlatformServicesServer to no-op instead of throwing when stopping uninitialized remote comms (#692)
    • Add explicit connection management (closeConnection) to PlatformServicesClient and PlatformServicesServer (#699)
    • Reject promises on connection loss in PlatformServicesClient and PlatformServicesServer (#706)
    • Refactor remote location hint handling in PlatformServicesClient and PlatformServicesServer (#712)
    • Add message sequencing and acknowledgment to PlatformServicesClient and PlatformServicesServer (#744)
    • Rename initNetwork to initTransport in PlatformServicesServer (#749)
    • Add kernel incarnation detection to PlatformServicesClient and PlatformServicesServer (#788)
    • Handle reconnection to restarted peers with incarnation ID detection (#807)
    • Update PlatformServicesClient and PlatformServicesServer for ken protocol (#811)
    • Add cross-incarnation wake detection to PlatformServicesClient and PlatformServicesServer (#822)
    • Add getListenAddresses() method to PlatformServicesClient (returns empty array in browser) (#839)

Changed

  • BREAKING: Drop Node 20 support (#837)
  • BREAKING: Remove ./default-cluster export (#834)
  • Simplify kernel worker initialization (#718)
  • Move default cluster startup to background and add internal comms infrastructure (#709)
  • Migrate to JsonRpcEngine v2 for kernel worker middleware (#707)
  • Bump @metamask/snaps-utils from ^9.1.0 to ^11.6.1 (#682)

Fixed

  • Fix persistence handling in VatWorkerClient and VatWorkerServer (#604)

@metamask/kernel-errors 0.5.0

Added

  • Add permanent failure detection and network error code utilities (#789)
  • Add isResourceLimitError() utility (#776)
  • Add ResourceLimitError error class (#714)
  • Add EvaluatorError and SampleGenerationError error classes (#695)
  • Add AbortError and isRetryableNetworkError() utility (#678)
  • Add DuplicateEndowmentError (#619)

Changed

  • BREAKING: Drop Node 20 support (#837)

Fixed

  • Improve retryable network error detection (#697)

@metamask/kernel-platforms 0.1.0

Added

  • Initial release.

@metamask/kernel-rpc-methods 0.5.0

Changed

  • BREAKING: Drop Node 20 support (#837)

@metamask/kernel-shims 0.4.0

Added

  • Add ./endoify-node export for Node.js-specific lockdown initialization (#787)
  • Add ./endoify-repair export for repairIntrinsics-only lockdown (#578)

Changed

  • BREAKING: Drop Node 20 support (#837)

@metamask/kernel-store 0.5.0

Added

  • Support absolute database paths (#821)
  • Add close() method to KernelDatabase (#692)

Changed

  • BREAKING: Drop Node 20 support (#837)

@metamask/kernel-ui 0.4.0

Added

  • Add Remote Comms UI panel (#637)
    • Update RemoteComms status display to use state ('connected' | 'identity-only' | 'disconnected') instead of isInitialized boolean (#823)
  • Include error details in garbage collection failure messages (#578)

Changed

  • BREAKING: Drop Node 20 support (#837)
  • Remove reload kernel action and reloadSubcluster from UI controls (#836)
  • Update MetaMask design system dependencies and React peer dependency to v18 (#746)
  • Use connectToKernel instead of establishKernelConnection for kernel stream setup (#709)

Fixed

  • Move react and react-dom to peerDependencies and fix build externals (#652)

@metamask/kernel-utils 0.4.0

Added

  • Add vat bundle utilities (#763)
  • Add ./libp2p export with startRelay() and ifDefined() utility (#843)
  • Add Promisified<T> utility type (#752)
  • Add makeDiscoverableExo() constructor (#705)
  • Add retry utilities with exponential backoff and wake detection (#678)
  • Add mergeDisjointRecords() utility (#619)
  • Add makeDefaultExo utility (#612)
  • Add hex encoding utilities (#578)

Changed

  • BREAKING: Drop Node 20 support (#837)

@metamask/logger 0.6.0

Added

  • Add tagless console and file transports (#828)

Changed

  • BREAKING: Drop Node 20 support (#837)
  • Make Logger obey log level settings (#703)

@metamask/ocap-kernel 0.6.0

Added

  • Add TextEncoder, TextDecoder, setTimeout, and clearTimeout to vat globals allowlist (#856)
  • Add IOManager and IO kernel service for vat I/O streams (#840)
  • Add system subclusters and kernel facet service (#803)
    • Restrict kernel services to system subclusters only (#833)
    • Return generic "no registered kernel service" error for system-only services requested by non-system subclusters (#838)
  • Buffer vat outputs to make cranks transactional (#794)
    • Enqueue async vat syscalls immediately when outside a crank (#848)
  • Add caplet vat type for lightweight vat configurations (#753)
  • Add CapTP infrastructure for kernel-to-kernel communication (#751)
  • Prevent vat endowment names from being overridden (#619)
  • Add kernel-to-kernel remote communication via libp2p (#578)
    • Add remoteComms status to Kernel.getStatus() output (#637)
    • Add relays parameter to initRemoteComms for configuring relay servers (#638)
    • Add location hint support to OCAP URL handling (#666)
    • Fix kernel restart with open remote connections (#677)
    • Add automatic reconnection with exponential backoff for remote comms (#678)
    • Fix remote endpoint initialization to occur during registration rather than construction (#681)
    • Fix shutdown handling to properly sequence crank completion, stream closing, and remote comms teardown (#692)
    • Fix remote message queueing during connection establishment (#697)
    • Add explicit connection management for intentional disconnects (#699)
    • Reject pending promises on connection loss (#706)
    • Refactor remote location hint handling and add registerLocationHints platform service (#712)
    • Add timeout handling for remote message sends and URL redemptions (#713)
    • Add resource limits for remote communications (#714)
    • Add message sequencing and acknowledgment to remote messaging (#744)
    • Persist pending messages and sequence state in RemoteHandle across restarts (#760)
    • Add rate limiting for remote messages and connections (#776)
    • Add BIP39 mnemonic support for kernel identity seed recovery (#780)
    • Add kernel incarnation detection protocol for identifying peer restarts (#788)
    • Add permanent failure detection for reconnection attempts (#789)
    • Add incarnation ID infrastructure and handshake module (#800)
    • Handle reconnection to restarted peers with incarnation ID detection (#807)
    • Complete Ken protocol implementation for reliable remote message delivery (#811)
    • Implement distributed garbage collection protocol for remote references (#814)
    • Add cross-incarnation wake detection to reset backoffs on peer restart (#822)
    • Enable OCAP URL issuance and redemption without active remote comms (#823)
    • Add direct transport support (QUIC + TCP) for Node.js peer connections (#839)
    • Add initRemoteComms and registerLocationHints RPC methods for kernel control (#849)
    • Fix trailing comma in OCAP URLs when no relays are known (#850)
    • Allow plain ws:// connections for relay dialing (#855)
    • Restrict plain ws:// relay dialing to private and explicitly allowed addresses (#857)
    • Accept allowedWsHosts parameter in initRemoteComms RPC (#858)
    • Re-dial relays on connection close with exponential backoff (#860)

Changed

  • BREAKING: Drop Node 20 support (#837)
  • Close database in Kernel.stop() (#845)
  • Remove reloadConfig and reloadSubcluster methods from Kernel (#836)
  • Export Baggage and VatPowers types (#801)
  • Load vat bundles via Vite instead of @endo/import-bundle (#763)
  • Extract VatManager and SubclusterManager from Kernel class (#651)
    • Extract RemoteManager and KernelServiceManager from Kernel class (#653)
  • Migrate kernel service dispatch from Far to makeExo (#612)

Fixed

  • Disable cache for default bundle fetch (#802)
  • Clean up orphan messages during recovery (#769)
  • Fix message delivery to terminated vats (#617)
  • Handle messages remaining in queue after kernel restart (#611)
  • Fix kernel initialization and operation with persistent storage (#604)

@metamask/streams 0.5.0

Changed

  • BREAKING: Drop Node 20 support (#837)