diff --git a/.changeset/big-cooks-fetch.md b/.changeset/big-cooks-fetch.md
deleted file mode 100644
index bf917b0921..0000000000
--- a/.changeset/big-cooks-fetch.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-Improved the performance of the explorer's `Interact` tab by fetching the ABI from an indexer instead of from an Ethereum RPC if available.
diff --git a/.changeset/blue-trees-invent.md b/.changeset/blue-trees-invent.md
deleted file mode 100644
index eb05f585de..0000000000
--- a/.changeset/blue-trees-invent.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-The transactions list in the explorer is now updated every 100ms instead of on every incoming transaction, to improve performance when there are many incoming transactions.
diff --git a/.changeset/calm-dodos-care.md b/.changeset/calm-dodos-care.md
deleted file mode 100644
index 2f51bc3f7c..0000000000
--- a/.changeset/calm-dodos-care.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/config": patch
----
-
-Replaced esbuild with tsx to load MUD config in an effort to resolve issues with loading multiple MUD configs in parallel.
diff --git a/.changeset/curly-apples-bake.md b/.changeset/curly-apples-bake.md
deleted file mode 100644
index 4f2a8075f7..0000000000
--- a/.changeset/curly-apples-bake.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/cli": patch
----
-
-When upgrading an existing world, the deployer now attempts to read the deploy block number from the `worlds.json` file. If it is found, the `HelloWorld` and `HelloStore` event are fetched from this block instead of searching for the events starting from the genesis block.
diff --git a/.changeset/curly-carrots-sit.md b/.changeset/curly-carrots-sit.md
deleted file mode 100644
index d291dd0d90..0000000000
--- a/.changeset/curly-carrots-sit.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-The SQL editor now shows an indicator if the query has changed since it was last run.
diff --git a/.changeset/dirty-buttons-tickle.md b/.changeset/dirty-buttons-tickle.md
deleted file mode 100644
index 1bc736d8bc..0000000000
--- a/.changeset/dirty-buttons-tickle.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/entrykit": patch
----
-
-Initial, experimental release of EntryKit.
diff --git a/.changeset/dirty-lemons-complain.md b/.changeset/dirty-lemons-complain.md
deleted file mode 100644
index c6a8e6bbf7..0000000000
--- a/.changeset/dirty-lemons-complain.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-The columns in the Explore tab table are now sorted correctly according to their types.
diff --git a/.changeset/dirty-tools-hammer.md b/.changeset/dirty-tools-hammer.md
deleted file mode 100644
index 7e8ffc6583..0000000000
--- a/.changeset/dirty-tools-hammer.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/store-sync": patch
----
-
-Updated the `watchLogs` util to accept the updated RPC response type.
diff --git a/.changeset/fair-rocks-exercise.md b/.changeset/fair-rocks-exercise.md
deleted file mode 100644
index 08878a8536..0000000000
--- a/.changeset/fair-rocks-exercise.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-SQL live queries in the Explore view table can now be paused and resumed.
diff --git a/.changeset/fast-nails-build.md b/.changeset/fast-nails-build.md
deleted file mode 100644
index 1625b24f9c..0000000000
--- a/.changeset/fast-nails-build.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-Indicated MUD schema key columns in the table view of the Explore tab.
diff --git a/.changeset/fresh-chairs-obey.md b/.changeset/fresh-chairs-obey.md
deleted file mode 100644
index 133f5f2727..0000000000
--- a/.changeset/fresh-chairs-obey.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-The functions in the Interact tab now display the emitted logs with the block explorer URL for the submitted transaction.
diff --git a/.changeset/funny-peas-care.md b/.changeset/funny-peas-care.md
deleted file mode 100644
index 1f81d5cd15..0000000000
--- a/.changeset/funny-peas-care.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-Added support for ERC-4337 bundled transactions, monitoring them by either listening to chain blocks or using the `observer` transport wrapper. Each user operation within a bundled transaction is displayed as an individual transaction in the Observe tab.
diff --git a/.changeset/heavy-eggs-smell.md b/.changeset/heavy-eggs-smell.md
deleted file mode 100644
index e1166f150e..0000000000
--- a/.changeset/heavy-eggs-smell.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/world": patch
----
-
-Use `WorldContextConsumerLib._msgSender()` instead of `msg.sender` in system libraries.
diff --git a/.changeset/hip-spies-wave.md b/.changeset/hip-spies-wave.md
deleted file mode 100644
index c8e4fc8e77..0000000000
--- a/.changeset/hip-spies-wave.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-When accessing a new table in Explore tab, the SQL editor now encloses all column names in double quotes in order to prevent invalid queries.
diff --git a/.changeset/itchy-fireants-drop.md b/.changeset/itchy-fireants-drop.md
deleted file mode 100644
index 27399c8e30..0000000000
--- a/.changeset/itchy-fireants-drop.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/cli": patch
----
-
-Deployer now retrieves resource tags by fetching logs to work around RPC rate limiting issues.
diff --git a/.changeset/khaki-panthers-collect.md b/.changeset/khaki-panthers-collect.md
deleted file mode 100644
index e42349eee6..0000000000
--- a/.changeset/khaki-panthers-collect.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-"vite-plugin-mud": patch
----
-
-Initial release of Vite plugin for MUD projects.
-
-This will soon be included by default in MUD templates, but you can add to an existing MUD project with:
-
-```
-pnpm add -D vite@^6 vite-plugin-mud
-```
-
-And use like:
-
-```ts
-// vite.config.ts
-import { defineConfig } from "vite";
-import { mud } from "vite-plugin-mud";
-
-export default defineConfig({
- plugins: [mud({ worldsFile: "worlds.json" })],
-});
-```
-
-```json
-// tsconfig.json
-{
- "compilerOptions": {
- "types": ["vite/client", "vite-plugin-mud/env"]
- }
-}
-```
diff --git a/.changeset/lazy-windows-sip.md b/.changeset/lazy-windows-sip.md
deleted file mode 100644
index 7ec6eaa698..0000000000
--- a/.changeset/lazy-windows-sip.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-The latest ABI changes are now consistently fetched correctly.
diff --git a/.changeset/little-ligers-impress.md b/.changeset/little-ligers-impress.md
deleted file mode 100644
index 405ff29909..0000000000
--- a/.changeset/little-ligers-impress.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-Fixed world ABI fetching in Rhodolite.
diff --git a/.changeset/little-tables-wait.md b/.changeset/little-tables-wait.md
deleted file mode 100644
index 9c82f5bdde..0000000000
--- a/.changeset/little-tables-wait.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/world": patch
----
-
-Moved TS utils over to using hardcoded ABIs instead of ones imported from `.abi.json` files to fix some internal type resolution issues.
diff --git a/.changeset/lucky-goats-sell.md b/.changeset/lucky-goats-sell.md
deleted file mode 100644
index c6dabfe651..0000000000
--- a/.changeset/lucky-goats-sell.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-"@latticexyz/store-sync": patch
----
-
-Added an experimental `@latticexyz/store-sync/react` export with a `SyncProvider` and `useSync` hook. This allows for easier syncing MUD data to React apps.
-
-Note that this is currently only usable with Stash and assumes you are also using Wagmi in your React app.
-
-```tsx
-import { WagmiProvider } from "wagmi";
-import { QueryClientProvider } from "@tanstack/react-query";
-import { SyncProvider } from "@latticexyz/store-sync/react";
-import { createSyncAdapter } from "@latticexyz/store-sync/internal";
-
-export function App() {
- return (
-
-
-
- {children}
-
-
-
- );
-}
-```
diff --git a/.changeset/many-peaches-cry.md b/.changeset/many-peaches-cry.md
deleted file mode 100644
index 3089a2cd14..0000000000
--- a/.changeset/many-peaches-cry.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/store-sync": patch
----
-
-Fixed a bug in `watchLogs` where logs from the buffer were not applied during the initial sync.
diff --git a/.changeset/mighty-lions-move.md b/.changeset/mighty-lions-move.md
deleted file mode 100644
index 410c17f656..0000000000
--- a/.changeset/mighty-lions-move.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-Transactions in `Observe` tab now display decoded `callFrom` function calls.
diff --git a/.changeset/modern-ravens-study.md b/.changeset/modern-ravens-study.md
deleted file mode 100644
index 4fbebdf51d..0000000000
--- a/.changeset/modern-ravens-study.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-"@latticexyz/block-logs-stream": patch
-"@latticexyz/common": patch
-"@latticexyz/config": patch
-"@latticexyz/dev-tools": patch
-"@latticexyz/explorer": patch
-"@latticexyz/faucet": patch
-"@latticexyz/protocol-parser": patch
-"@latticexyz/schema-type": patch
-"@latticexyz/stash": patch
-"@latticexyz/store-indexer": patch
-"@latticexyz/store-sync": patch
-"@latticexyz/store": patch
-"@latticexyz/world": patch
----
-
-Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
diff --git a/.changeset/nice-ligers-cough.md b/.changeset/nice-ligers-cough.md
deleted file mode 100644
index 651530f9ea..0000000000
--- a/.changeset/nice-ligers-cough.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/cli": patch
----
-
-Deployer will now throw an error if it detects an already registered table with a different schema than the one you are trying to deploy.
diff --git a/.changeset/nine-countries-nail.md b/.changeset/nine-countries-nail.md
deleted file mode 100644
index ab3ebf579b..0000000000
--- a/.changeset/nine-countries-nail.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-"@latticexyz/store-consumer": patch
-"@latticexyz/world-module-erc20": patch
----
-
-Extracted StoreConsumer base contracts into an independent package.
-Added a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration.
diff --git a/.changeset/orange-houses-drop.md b/.changeset/orange-houses-drop.md
deleted file mode 100644
index 26f5b01ba2..0000000000
--- a/.changeset/orange-houses-drop.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-Observer transport now uses the `blockExplorers.worldsExplorer.url` from the chain config if no `explorerUrl` is provided.
diff --git a/.changeset/perfect-steaks-fold.md b/.changeset/perfect-steaks-fold.md
deleted file mode 100644
index 1435b6d162..0000000000
--- a/.changeset/perfect-steaks-fold.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-SQL queries can be executed using the Cmd/Ctrl + Enter shortcut.
diff --git a/.changeset/perfect-zebras-rest.md b/.changeset/perfect-zebras-rest.md
deleted file mode 100644
index 1916fe7731..0000000000
--- a/.changeset/perfect-zebras-rest.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-When accessing a new table in Explore tab, the SQL editor now encloses column names that are also PostgreSQL keywords in double quotes in order to prevent invalid queries.
diff --git a/.changeset/popular-lies-teach.md b/.changeset/popular-lies-teach.md
deleted file mode 100644
index ce1af37089..0000000000
--- a/.changeset/popular-lies-teach.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/stash": patch
----
-
-Consolidated how state changes are applied and subscribers notified. Stash subscribers now receive an ordered list of state updates rather than an object.
diff --git a/.changeset/real-pigs-bake.md b/.changeset/real-pigs-bake.md
deleted file mode 100644
index e366e8484b..0000000000
--- a/.changeset/real-pigs-bake.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/world": patch
----
-
-Fixes relative system imports in system libraries and adds support for overloaded system functions.
diff --git a/.changeset/seven-ducks-complain.md b/.changeset/seven-ducks-complain.md
deleted file mode 100644
index a5fe828408..0000000000
--- a/.changeset/seven-ducks-complain.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-"@latticexyz/cli": patch
----
-
-In addition to a hex `--salt`, deploy commands now accept a string salt for world deployment, which will get converted to a hex.
-
-```
-pnpm mud deploy --salt hello
-```
diff --git a/.changeset/seven-seahorses-roll.md b/.changeset/seven-seahorses-roll.md
deleted file mode 100644
index 71284e6fe4..0000000000
--- a/.changeset/seven-seahorses-roll.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/cli": patch
----
-
-Fixed an issue with overloaded system ABI types.
diff --git a/.changeset/sharp-lions-cover.md b/.changeset/sharp-lions-cover.md
deleted file mode 100644
index e94ead112b..0000000000
--- a/.changeset/sharp-lions-cover.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/store": patch
----
-
-Added internal `getRecord` and `getStaticDataLocation` helpers.
diff --git a/.changeset/shy-eels-hide.md b/.changeset/shy-eels-hide.md
deleted file mode 100644
index 2b4779b786..0000000000
--- a/.changeset/shy-eels-hide.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-"@latticexyz/store-sync": patch
-"@latticexyz/world": patch
----
-
-Added a `getRecords` util to fetch table records from an indexer or RPC.
-
-Migrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies.
diff --git a/.changeset/slimy-cheetahs-vanish.md b/.changeset/slimy-cheetahs-vanish.md
deleted file mode 100644
index d6e792be25..0000000000
--- a/.changeset/slimy-cheetahs-vanish.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/cli": patch
----
-
-Added an `indexerUrl` option to the `mud deploy` and `mud pull` CLI commands to read table records from an indexer instead of fetching logs from an Ethereum RPC.
diff --git a/.changeset/slimy-lemons-think.md b/.changeset/slimy-lemons-think.md
deleted file mode 100644
index 3e94f73224..0000000000
--- a/.changeset/slimy-lemons-think.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-"@latticexyz/stash": patch
----
-
-Added `useRecord` and `useRecords` hooks for convenience.
-
-```ts
-import { useRecords } from "@latticexyz/stash/react";
-
-const players = useRecords({ stash, table: Position });
-```
-
-```ts
-import { useRecord } from "@latticexyz/stash/react";
-
-const player = useRecord({ stash, table: Position, key: { player: "0x..." } });
-```
diff --git a/.changeset/smart-suns-scream.md b/.changeset/smart-suns-scream.md
deleted file mode 100644
index 1d33c9985c..0000000000
--- a/.changeset/smart-suns-scream.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/abi-ts": patch
----
-
-Using a TS extension (rather than DTS) now correctly includes `as const` in the TS output.
diff --git a/.changeset/soft-rings-grab.md b/.changeset/soft-rings-grab.md
deleted file mode 100644
index 0459025933..0000000000
--- a/.changeset/soft-rings-grab.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/world": patch
----
-
-`getFunctions` now internally uses `fetchLogs` for better handling of block range errors.
diff --git a/.changeset/ten-hornets-greet.md b/.changeset/ten-hornets-greet.md
deleted file mode 100644
index c609b226c2..0000000000
--- a/.changeset/ten-hornets-greet.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-Added support for exporting table data in CSV, JSON, and TXT formats.
diff --git a/.changeset/tender-ties-draw.md b/.changeset/tender-ties-draw.md
deleted file mode 100644
index 92c09d2ea0..0000000000
--- a/.changeset/tender-ties-draw.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/common": patch
----
-
-Loosened `publicClient` type for `transactionQueue` action decorator and `writeContract` and `sendTransaction` actions so that they can be used with plain, undecorated Viem clients.
diff --git a/.changeset/thick-peas-burn.md b/.changeset/thick-peas-burn.md
deleted file mode 100644
index 7164f3621c..0000000000
--- a/.changeset/thick-peas-burn.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/world": patch
----
-
-Reworked `callFrom` action to use `getAction` internally, rather than a decorated Viem client, and updated types to better match Viem.
diff --git a/.changeset/thin-kiwis-film.md b/.changeset/thin-kiwis-film.md
deleted file mode 100644
index ee49503cc5..0000000000
--- a/.changeset/thin-kiwis-film.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/explorer": patch
----
-
-In the Explore tab, the view table now displays results generated by SQL query functions.
diff --git a/.changeset/tiny-parrots-hang.md b/.changeset/tiny-parrots-hang.md
deleted file mode 100644
index a2dd680013..0000000000
--- a/.changeset/tiny-parrots-hang.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/store-sync": patch
----
-
-Experimental pending logs watcher now reconnects if it loses connection or times out.
diff --git a/.changeset/tough-laws-whisper.md b/.changeset/tough-laws-whisper.md
deleted file mode 100644
index 07e21a9a31..0000000000
--- a/.changeset/tough-laws-whisper.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@latticexyz/store": patch
-"@latticexyz/world": patch
----
-
-Adds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems.
diff --git a/.changeset/tricky-experts-pull.md b/.changeset/tricky-experts-pull.md
deleted file mode 100644
index a7fc2414e2..0000000000
--- a/.changeset/tricky-experts-pull.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/store-sync": patch
----
-
-All sync methods using a `publicClient` argument now accept a plain Viem `Client` rather than a decorated `PublicClient`, allowing for more flexibility and better tree-shaking for lighter bundles.
diff --git a/.changeset/yellow-spoons-mate.md b/.changeset/yellow-spoons-mate.md
deleted file mode 100644
index cb1bf9e3cc..0000000000
--- a/.changeset/yellow-spoons-mate.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/common": patch
----
-
-Updated Rhodolite chain config.
diff --git a/.changeset/yellow-trains-do.md b/.changeset/yellow-trains-do.md
deleted file mode 100644
index a642ad1e2d..0000000000
--- a/.changeset/yellow-trains-do.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/world": patch
----
-
-Add a SystemCall.staticcall function that performs a staticcall without executing hooks.
diff --git a/.changeset/young-seals-travel.md b/.changeset/young-seals-travel.md
deleted file mode 100644
index 484aec348d..0000000000
--- a/.changeset/young-seals-travel.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@latticexyz/paymaster": patch
----
-
-Added `GenerousPaymaster`, a simple paymaster that sponsors all user operations for local development purposes.
diff --git a/docs/data/changelog.json b/docs/data/changelog.json
index a91b210ee7..d0795dd5ec 100644
--- a/docs/data/changelog.json
+++ b/docs/data/changelog.json
@@ -1,4 +1,746 @@
[
+ {
+ "version": "2.2.15",
+ "date": "2025-01-17T11:35:44.397Z",
+ "changes": {
+ "patch": [
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nImproved the performance of the explorer's `Interact` tab by fetching the ABI from an indexer instead of from an Ethereum RPC if available.",
+ "type": 0,
+ "commitHash": "b819749268918559589c12451d88ec1f933182d8",
+ "authorName": "alvarius",
+ "authorEmail": "alvarius@lattice.xyz",
+ "title": "feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nThe transactions list in the explorer is now updated every 100ms instead of on every incoming transaction, to improve performance when there are many incoming transactions.",
+ "type": 0,
+ "commitHash": "07b6be82ace9654ce043e616e28b347f3121f415",
+ "authorName": "alvarius",
+ "authorEmail": "alvarius@lattice.xyz",
+ "title": "feat(explorer): buffer transactions (#3365)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/config",
+ "type": "patch"
+ }
+ ],
+ "description": "\nReplaced esbuild with tsx to load MUD config in an effort to resolve issues with loading multiple MUD configs in parallel.",
+ "type": 0,
+ "commitHash": "9580d29aa0a181e3ded9c79de185ff1778c6daf0",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(config): import mud config with tsx (#3290)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/cli",
+ "type": "patch"
+ }
+ ],
+ "description": "\nWhen upgrading an existing world, the deployer now attempts to read the deploy block number from the `worlds.json` file. If it is found, the `HelloWorld` and `HelloStore` event are fetched from this block instead of searching for the events starting from the genesis block.",
+ "type": 0,
+ "commitHash": "1e092407da570f8ba52e89e73dda50cdff161a93",
+ "authorName": "Jackie Xu",
+ "authorEmail": "jackie@jackiexu.com",
+ "title": "feat(cli): fetch world deploy block number if available (#3417)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nThe SQL editor now shows an indicator if the query has changed since it was last run.",
+ "type": 0,
+ "commitHash": "53f7906b37b8f6ae27bee3236f62787ffca35806",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "feat(explorer): indicate unsaved query changes (#3446)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/entrykit",
+ "type": "patch"
+ }
+ ],
+ "description": "\nInitial, experimental release of EntryKit.",
+ "type": 0,
+ "commitHash": "971ffedb9cb88982bab1f03f4f3818dbae11c68a",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(entrykit): initial release (#3419)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nThe columns in the Explore tab table are now sorted correctly according to their types.",
+ "type": 0,
+ "commitHash": "722f4b4c48b9e49509a47e5a23f1ce45dbe9999d",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "fix(explorer): type-based sorting (#3340)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/store-sync",
+ "type": "patch"
+ }
+ ],
+ "description": "\nUpdated the `watchLogs` util to accept the updated RPC response type.",
+ "type": 0,
+ "commitHash": "1770620af19746578b99a996f380f5117bfdd053",
+ "authorName": "alvarius",
+ "authorEmail": "alvarius@lattice.xyz",
+ "title": "feat(store-sync): update watchLogs rpc response type (#3356)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nSQL live queries in the Explore view table can now be paused and resumed.",
+ "type": 0,
+ "commitHash": "35cb94ae06a24157303ec3311f2639f36d4e2e6f",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "feat(explorer): pause/resume live query (#3445)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nIndicated MUD schema key columns in the table view of the Explore tab.",
+ "type": 0,
+ "commitHash": "7fa68f6717ecd3fc2c734ca31c842c1242175cbe",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "feat(explorer): key columns indicator (#3447)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nThe functions in the Interact tab now display the emitted logs with the block explorer URL for the submitted transaction.",
+ "type": 0,
+ "commitHash": "1a2b3c8f585e72b0f8aae42a1c11abef7193059b",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "feat(explorer): show event logs for interact function (#3418)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdded support for ERC-4337 bundled transactions, monitoring them by either listening to chain blocks or using the `observer` transport wrapper. Each user operation within a bundled transaction is displayed as an individual transaction in the Observe tab.",
+ "type": 0,
+ "commitHash": "059240612a3ba74d3e16dfb3b1b2c7276a6ebe1d",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "feat(explorer): bundled transactions support (#3313)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/world",
+ "type": "patch"
+ }
+ ],
+ "description": "\nUse `WorldContextConsumerLib._msgSender()` instead of `msg.sender` in system libraries.",
+ "type": 0,
+ "commitHash": "653f378403c7e4f234f87dec20c9dfe523f0def0",
+ "authorName": "V",
+ "authorEmail": "vdrg@lattice.xyz",
+ "title": "fix(world): use WorldContextConsumerLib._msgSender() instead of msg.sender (#3436)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nWhen accessing a new table in Explore tab, the SQL editor now encloses all column names in double quotes in order to prevent invalid queries.",
+ "type": 0,
+ "commitHash": "0facee02cd70b7f8cd09a7faec59972ba95453d1",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "fix(explorer): format default sql query (#3363)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/cli",
+ "type": "patch"
+ }
+ ],
+ "description": "\nDeployer now retrieves resource tags by fetching logs to work around RPC rate limiting issues.",
+ "type": 0,
+ "commitHash": "3168f1f56abce047a639582b50bf1aa2c7906c90",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "chore: add changeset for cli PR #3350 (#3353)"
+ },
+ {
+ "packages": [
+ {
+ "package": "vite-plugin-mud",
+ "type": "patch"
+ }
+ ],
+ "description": "\nInitial release of Vite plugin for MUD projects.\n\nThis will soon be included by default in MUD templates, but you can add to an existing MUD project with:\n\n```\npnpm add -D vite@^6 vite-plugin-mud\n```\n\nAnd use like:\n\n```ts\n// vite.config.ts\nimport { defineConfig } from \"vite\";\nimport { mud } from \"vite-plugin-mud\";\n\nexport default defineConfig({\n plugins: [mud({ worldsFile: \"worlds.json\" })],\n});\n```\n\n```json\n// tsconfig.json\n{\n \"compilerOptions\": {\n \"types\": [\"vite/client\", \"vite-plugin-mud/env\"]\n }\n}\n```",
+ "type": 0,
+ "commitHash": "70f224ac8214c54c9c55b170f9c900030967f1b1",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(vite-plugin-mud): add MUD vite plugin (#3449)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nThe latest ABI changes are now consistently fetched correctly.",
+ "type": 0,
+ "commitHash": "3258a6d66251aa87514e5e63456f989a34bd1b8b",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "fix(explorer): fetch latest abi (#3370)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nFixed world ABI fetching in Rhodolite.",
+ "type": 0,
+ "commitHash": "2be543f7f0936f5dc94c13613da679d8634dfc27",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "fix(explorer): switch to fetchBlockLogs (#3352)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/world",
+ "type": "patch"
+ }
+ ],
+ "description": "\nMoved TS utils over to using hardcoded ABIs instead of ones imported from `.abi.json` files to fix some internal type resolution issues.",
+ "type": 0,
+ "commitHash": "2d2aa0867580dd910cc772b5cdd42c802e8652e3",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "fix(world): switch to TS for ABIs in utils (#3429)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/store-sync",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdded an experimental `@latticexyz/store-sync/react` export with a `SyncProvider` and `useSync` hook. This allows for easier syncing MUD data to React apps.\n\nNote that this is currently only usable with Stash and assumes you are also using Wagmi in your React app.\n\n```tsx\nimport { WagmiProvider } from \"wagmi\";\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { SyncProvider } from \"@latticexyz/store-sync/react\";\nimport { createSyncAdapter } from \"@latticexyz/store-sync/internal\";\n\nexport function App() {\n return (\n \n \n \n {children}\n \n \n \n );\n}\n```",
+ "type": 0,
+ "commitHash": "5f493cd8368e6571ef196d607dcd6de2815f799e",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(store-sync): add react provider and hook (#3451)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/store-sync",
+ "type": "patch"
+ }
+ ],
+ "description": "\nFixed a bug in `watchLogs` where logs from the buffer were not applied during the initial sync.",
+ "type": 0,
+ "commitHash": "cd9fd0abd859f1d83baafc93a91e238d81726928",
+ "authorName": "alvarius",
+ "authorEmail": "alvarius@lattice.xyz",
+ "title": "fix(store-sync): apply logs from buffer in watchLogs (#3346)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nTransactions in `Observe` tab now display decoded `callFrom` function calls.",
+ "type": 0,
+ "commitHash": "d542357350b85654bc65f3befad22a3509c4ddb6",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "feat(explorer): decoded callFrom transactions (#3364)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/block-logs-stream",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/common",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/config",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/dev-tools",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/faucet",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/protocol-parser",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/schema-type",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/stash",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/store-indexer",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/store-sync",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/store",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/world",
+ "type": "patch"
+ }
+ ],
+ "description": "\nMoved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.",
+ "type": 0,
+ "commitHash": "09e9bd533704e7c1885872a8a1f9dca9e78bda4b",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "chore: remove catalog usage, move viem to peer deps (#3405)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/cli",
+ "type": "patch"
+ }
+ ],
+ "description": "\nDeployer will now throw an error if it detects an already registered table with a different schema than the one you are trying to deploy.",
+ "type": 0,
+ "commitHash": "ee388ed599b051400a6f1fc5d4c5d369e466ad92",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "fix(cli): throw error on schema changes (#3336)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/store-consumer",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/world-module-erc20",
+ "type": "patch"
+ }
+ ],
+ "description": "\nExtracted StoreConsumer base contracts into an independent package.\nAdded a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration.",
+ "type": 0,
+ "commitHash": "d17a9be933cf4dbf869e26e6f9ee070444048312",
+ "authorName": "V",
+ "authorEmail": "vdrg@protonmail.ch",
+ "title": "feat(store-consumer): extract store consumer contracts (#3345)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nObserver transport now uses the `blockExplorers.worldsExplorer.url` from the chain config if no `explorerUrl` is provided.",
+ "type": 0,
+ "commitHash": "88b9daf1e01bd8675e31c455155759a3ef2af4f8",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(explorer): get observer url from chain config (#3366)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nSQL queries can be executed using the Cmd/Ctrl + Enter shortcut.",
+ "type": 0,
+ "commitHash": "cfdfcc1c8e1d21a6336c608760bb76aa04aebefd",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "feat(explorer): run query shortcut (#3443)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nWhen accessing a new table in Explore tab, the SQL editor now encloses column names that are also PostgreSQL keywords in double quotes in order to prevent invalid queries.",
+ "type": 0,
+ "commitHash": "9c1ca41560e2b3b319976794a73807f391e78b1b",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "fix(explorer): format default sql query (#3307)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/stash",
+ "type": "patch"
+ }
+ ],
+ "description": "\nConsolidated how state changes are applied and subscribers notified. Stash subscribers now receive an ordered list of state updates rather than an object.",
+ "type": 0,
+ "commitHash": "96f1473887e609cab366a4ba6caab9b62033cfb6",
+ "authorName": "alvarius",
+ "authorEmail": "alvarius@lattice.xyz",
+ "title": "feat(stash): clean up mutations, emit updates as a list (#3376)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/world",
+ "type": "patch"
+ }
+ ],
+ "description": "\nFixes relative system imports in system libraries and adds support for overloaded system functions.",
+ "type": 0,
+ "commitHash": "ba5191c3d6f74b3c4982afd465cf449d23d70bb7",
+ "authorName": "V",
+ "authorEmail": "vdrg@lattice.xyz",
+ "title": "fix(world): library imports and overloaded system functions (#3395)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/cli",
+ "type": "patch"
+ }
+ ],
+ "description": "\nIn addition to a hex `--salt`, deploy commands now accept a string salt for world deployment, which will get converted to a hex.\n\n```\npnpm mud deploy --salt hello\n```",
+ "type": 0,
+ "commitHash": "74090950d81c6713d981806af5c1197e804b56bf",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(cli): allow deploy salt to be a string (#3432)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/cli",
+ "type": "patch"
+ }
+ ],
+ "description": "\nFixed an issue with overloaded system ABI types.",
+ "type": 0,
+ "commitHash": "8fcf9c8f508ec818696f366a41f2b8a2e42c11b1",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "fix(cli): don't overload system abi type (#3455)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/store",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdded internal `getRecord` and `getStaticDataLocation` helpers.",
+ "type": 0,
+ "commitHash": "1b477d476a666ccffafc6eb266d1732b90bc28f9",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(store): add getRecord and getStaticDataLocation helpers (#3430)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/store-sync",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/world",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdded a `getRecords` util to fetch table records from an indexer or RPC.\n\nMigrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies.",
+ "type": 0,
+ "commitHash": "b819749268918559589c12451d88ec1f933182d8",
+ "authorName": "alvarius",
+ "authorEmail": "alvarius@lattice.xyz",
+ "title": "feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/cli",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdded an `indexerUrl` option to the `mud deploy` and `mud pull` CLI commands to read table records from an indexer instead of fetching logs from an Ethereum RPC.",
+ "type": 0,
+ "commitHash": "b819749268918559589c12451d88ec1f933182d8",
+ "authorName": "alvarius",
+ "authorEmail": "alvarius@lattice.xyz",
+ "title": "feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/stash",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdded `useRecord` and `useRecords` hooks for convenience.\n\n```ts\nimport { useRecords } from \"@latticexyz/stash/react\";\n\nconst players = useRecords({ stash, table: Position });\n```\n\n```ts\nimport { useRecord } from \"@latticexyz/stash/react\";\n\nconst player = useRecord({ stash, table: Position, key: { player: \"0x...\" } });\n```",
+ "type": 0,
+ "commitHash": "16242b74d5985720b4efca26e1e22e38bb463788",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(stash): add useRecord and useRecords hooks (#3450)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/abi-ts",
+ "type": "patch"
+ }
+ ],
+ "description": "\nUsing a TS extension (rather than DTS) now correctly includes `as const` in the TS output.",
+ "type": 0,
+ "commitHash": "534039428496bcededc62d2e450d29d7bac42475",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "fix(abi-ts): ts output should use as const (#3348)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/world",
+ "type": "patch"
+ }
+ ],
+ "description": "\n`getFunctions` now internally uses `fetchLogs` for better handling of block range errors.",
+ "type": 0,
+ "commitHash": "22674ad244f59afd6bd364a3dd44df36992dd35f",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "fix(world): use fetchLogs in getFunctions (#3338)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdded support for exporting table data in CSV, JSON, and TXT formats.",
+ "type": 0,
+ "commitHash": "b0b42a9e0cca0e31fb31d1e00b78c3015b6f5663",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "feat(explorer): export table data (#3380)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/common",
+ "type": "patch"
+ }
+ ],
+ "description": "\nLoosened `publicClient` type for `transactionQueue` action decorator and `writeContract` and `sendTransaction` actions so that they can be used with plain, undecorated Viem clients.",
+ "type": 0,
+ "commitHash": "9d7188754ad7f6df6b190bf6618b598cb1d895c4",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(common): loosen client type in tx queue (#3408)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/world",
+ "type": "patch"
+ }
+ ],
+ "description": "\nReworked `callFrom` action to use `getAction` internally, rather than a decorated Viem client, and updated types to better match Viem.",
+ "type": 0,
+ "commitHash": "509a3ccbac9b552a086f93b735d48e739153bead",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(world): rework types for callFrom viem action (#3414)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/explorer",
+ "type": "patch"
+ }
+ ],
+ "description": "\nIn the Explore tab, the view table now displays results generated by SQL query functions.",
+ "type": 0,
+ "commitHash": "c681aa6250eb8c3914a75fd45cdf32abc2d60746",
+ "authorName": "Karolis Ramanauskas",
+ "authorEmail": "hello@karolisram.com",
+ "title": "feat(explorer): show results from query functions (#3448)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/store-sync",
+ "type": "patch"
+ }
+ ],
+ "description": "\nExperimental pending logs watcher now reconnects if it loses connection or times out.",
+ "type": 0,
+ "commitHash": "9ddc874ecbe8671c197619a23bdeac2bee57174e",
+ "authorName": "alvarius",
+ "authorEmail": "alvarius@lattice.xyz",
+ "title": "fix(store-sync): reconnect unresponsive watchLogs socket (#3301)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/store",
+ "type": "patch"
+ },
+ {
+ "package": "@latticexyz/world",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems.",
+ "type": 0,
+ "commitHash": "09536b0614a03478fa0f53ec8beefef80455387d",
+ "authorName": "V",
+ "authorEmail": "3252614+vdrg@users.noreply.github.com",
+ "title": "feat: system libraries (#3374)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/store-sync",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAll sync methods using a `publicClient` argument now accept a plain Viem `Client` rather than a decorated `PublicClient`, allowing for more flexibility and better tree-shaking for lighter bundles.",
+ "type": 0,
+ "commitHash": "a6fe15cc524a7a2ed39a1f93d3e4f41a4e251697",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(store-sync): use client instead of decorated public client (#3441)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/common",
+ "type": "patch"
+ }
+ ],
+ "description": "\nUpdated Rhodolite chain config.",
+ "type": 0,
+ "commitHash": "88b9daf1e01bd8675e31c455155759a3ef2af4f8",
+ "authorName": "Kevin Ingersoll",
+ "authorEmail": "kingersoll@gmail.com",
+ "title": "feat(explorer): get observer url from chain config (#3366)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/world",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdd a SystemCall.staticcall function that performs a staticcall without executing hooks.",
+ "type": 0,
+ "commitHash": "275c867182df9f1e22a6d4f0901a494c40e29f9a",
+ "authorName": "V",
+ "authorEmail": "3252614+vdrg@users.noreply.github.com",
+ "title": "feat(world): add SystemCall.staticcall (#3381)"
+ },
+ {
+ "packages": [
+ {
+ "package": "@latticexyz/paymaster",
+ "type": "patch"
+ }
+ ],
+ "description": "\nAdded `GenerousPaymaster`, a simple paymaster that sponsors all user operations for local development purposes.",
+ "type": 0,
+ "commitHash": "a7625b97410346b1187e66803dde5194084312fd",
+ "authorName": "alvarius",
+ "authorEmail": "alvarius@lattice.xyz",
+ "title": "feat(paymaster): add simple GenerousPaymaster for local development (#3422)"
+ }
+ ],
+ "minor": [],
+ "major": []
+ }
+ },
{
"version": "2.2.14",
"date": "2024-10-24T00:00:00.000Z",
@@ -6196,4 +6938,4 @@
]
}
}
-]
+]
\ No newline at end of file
diff --git a/docs/pages/changelog.mdx b/docs/pages/changelog.mdx
index 4b41ffa6fc..c8c93f5fb9 100644
--- a/docs/pages/changelog.mdx
+++ b/docs/pages/changelog.mdx
@@ -1,3 +1,275 @@
+## Version 2.2.15
+
+Release date: Fri Jan 17 2025
+
+### Patch changes
+
+**[feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)](https://github.com/latticexyz/mud/commit/b819749268918559589c12451d88ec1f933182d8)** (@latticexyz/explorer)
+
+Improved the performance of the explorer's `Interact` tab by fetching the ABI from an indexer instead of from an Ethereum RPC if available.
+
+**[feat(explorer): buffer transactions (#3365)](https://github.com/latticexyz/mud/commit/07b6be82ace9654ce043e616e28b347f3121f415)** (@latticexyz/explorer)
+
+The transactions list in the explorer is now updated every 100ms instead of on every incoming transaction, to improve performance when there are many incoming transactions.
+
+**[feat(config): import mud config with tsx (#3290)](https://github.com/latticexyz/mud/commit/9580d29aa0a181e3ded9c79de185ff1778c6daf0)** (@latticexyz/config)
+
+Replaced esbuild with tsx to load MUD config in an effort to resolve issues with loading multiple MUD configs in parallel.
+
+**[feat(cli): fetch world deploy block number if available (#3417)](https://github.com/latticexyz/mud/commit/1e092407da570f8ba52e89e73dda50cdff161a93)** (@latticexyz/cli)
+
+When upgrading an existing world, the deployer now attempts to read the deploy block number from the `worlds.json` file. If it is found, the `HelloWorld` and `HelloStore` event are fetched from this block instead of searching for the events starting from the genesis block.
+
+**[feat(explorer): indicate unsaved query changes (#3446)](https://github.com/latticexyz/mud/commit/53f7906b37b8f6ae27bee3236f62787ffca35806)** (@latticexyz/explorer)
+
+The SQL editor now shows an indicator if the query has changed since it was last run.
+
+**[feat(entrykit): initial release (#3419)](https://github.com/latticexyz/mud/commit/971ffedb9cb88982bab1f03f4f3818dbae11c68a)** (@latticexyz/entrykit)
+
+Initial, experimental release of EntryKit.
+
+**[fix(explorer): type-based sorting (#3340)](https://github.com/latticexyz/mud/commit/722f4b4c48b9e49509a47e5a23f1ce45dbe9999d)** (@latticexyz/explorer)
+
+The columns in the Explore tab table are now sorted correctly according to their types.
+
+**[feat(store-sync): update watchLogs rpc response type (#3356)](https://github.com/latticexyz/mud/commit/1770620af19746578b99a996f380f5117bfdd053)** (@latticexyz/store-sync)
+
+Updated the `watchLogs` util to accept the updated RPC response type.
+
+**[feat(explorer): pause/resume live query (#3445)](https://github.com/latticexyz/mud/commit/35cb94ae06a24157303ec3311f2639f36d4e2e6f)** (@latticexyz/explorer)
+
+SQL live queries in the Explore view table can now be paused and resumed.
+
+**[feat(explorer): key columns indicator (#3447)](https://github.com/latticexyz/mud/commit/7fa68f6717ecd3fc2c734ca31c842c1242175cbe)** (@latticexyz/explorer)
+
+Indicated MUD schema key columns in the table view of the Explore tab.
+
+**[feat(explorer): show event logs for interact function (#3418)](https://github.com/latticexyz/mud/commit/1a2b3c8f585e72b0f8aae42a1c11abef7193059b)** (@latticexyz/explorer)
+
+The functions in the Interact tab now display the emitted logs with the block explorer URL for the submitted transaction.
+
+**[feat(explorer): bundled transactions support (#3313)](https://github.com/latticexyz/mud/commit/059240612a3ba74d3e16dfb3b1b2c7276a6ebe1d)** (@latticexyz/explorer)
+
+Added support for ERC-4337 bundled transactions, monitoring them by either listening to chain blocks or using the `observer` transport wrapper. Each user operation within a bundled transaction is displayed as an individual transaction in the Observe tab.
+
+**[fix(world): use WorldContextConsumerLib.\_msgSender() instead of msg.sender (#3436)](https://github.com/latticexyz/mud/commit/653f378403c7e4f234f87dec20c9dfe523f0def0)** (@latticexyz/world)
+
+Use `WorldContextConsumerLib._msgSender()` instead of `msg.sender` in system libraries.
+
+**[fix(explorer): format default sql query (#3363)](https://github.com/latticexyz/mud/commit/0facee02cd70b7f8cd09a7faec59972ba95453d1)** (@latticexyz/explorer)
+
+When accessing a new table in Explore tab, the SQL editor now encloses all column names in double quotes in order to prevent invalid queries.
+
+**[chore: add changeset for cli PR #3350 (#3353)](https://github.com/latticexyz/mud/commit/3168f1f56abce047a639582b50bf1aa2c7906c90)** (@latticexyz/cli)
+
+Deployer now retrieves resource tags by fetching logs to work around RPC rate limiting issues.
+
+**[feat(vite-plugin-mud): add MUD vite plugin (#3449)](https://github.com/latticexyz/mud/commit/70f224ac8214c54c9c55b170f9c900030967f1b1)** (vite-plugin-mud)
+
+Initial release of Vite plugin for MUD projects.
+
+This will soon be included by default in MUD templates, but you can add to an existing MUD project with:
+
+```
+pnpm add -D vite@^6 vite-plugin-mud
+```
+
+And use like:
+
+```ts
+// vite.config.ts
+import { defineConfig } from "vite";
+import { mud } from "vite-plugin-mud";
+
+export default defineConfig({
+ plugins: [mud({ worldsFile: "worlds.json" })],
+});
+```
+
+```json
+// tsconfig.json
+{
+ "compilerOptions": {
+ "types": ["vite/client", "vite-plugin-mud/env"]
+ }
+}
+```
+
+**[fix(explorer): fetch latest abi (#3370)](https://github.com/latticexyz/mud/commit/3258a6d66251aa87514e5e63456f989a34bd1b8b)** (@latticexyz/explorer)
+
+The latest ABI changes are now consistently fetched correctly.
+
+**[fix(explorer): switch to fetchBlockLogs (#3352)](https://github.com/latticexyz/mud/commit/2be543f7f0936f5dc94c13613da679d8634dfc27)** (@latticexyz/explorer)
+
+Fixed world ABI fetching in Rhodolite.
+
+**[fix(world): switch to TS for ABIs in utils (#3429)](https://github.com/latticexyz/mud/commit/2d2aa0867580dd910cc772b5cdd42c802e8652e3)** (@latticexyz/world)
+
+Moved TS utils over to using hardcoded ABIs instead of ones imported from `.abi.json` files to fix some internal type resolution issues.
+
+**[feat(store-sync): add react provider and hook (#3451)](https://github.com/latticexyz/mud/commit/5f493cd8368e6571ef196d607dcd6de2815f799e)** (@latticexyz/store-sync)
+
+Added an experimental `@latticexyz/store-sync/react` export with a `SyncProvider` and `useSync` hook. This allows for easier syncing MUD data to React apps.
+
+Note that this is currently only usable with Stash and assumes you are also using Wagmi in your React app.
+
+```tsx
+import { WagmiProvider } from "wagmi";
+import { QueryClientProvider } from "@tanstack/react-query";
+import { SyncProvider } from "@latticexyz/store-sync/react";
+import { createSyncAdapter } from "@latticexyz/store-sync/internal";
+
+export function App() {
+ return (
+
+
+
+ {children}
+
+
+
+ );
+}
+```
+
+**[fix(store-sync): apply logs from buffer in watchLogs (#3346)](https://github.com/latticexyz/mud/commit/cd9fd0abd859f1d83baafc93a91e238d81726928)** (@latticexyz/store-sync)
+
+Fixed a bug in `watchLogs` where logs from the buffer were not applied during the initial sync.
+
+**[feat(explorer): decoded callFrom transactions (#3364)](https://github.com/latticexyz/mud/commit/d542357350b85654bc65f3befad22a3509c4ddb6)** (@latticexyz/explorer)
+
+Transactions in `Observe` tab now display decoded `callFrom` function calls.
+
+**[chore: remove catalog usage, move viem to peer deps (#3405)](https://github.com/latticexyz/mud/commit/09e9bd533704e7c1885872a8a1f9dca9e78bda4b)** (@latticexyz/block-logs-stream, @latticexyz/common, @latticexyz/config, @latticexyz/dev-tools, @latticexyz/explorer, @latticexyz/faucet, @latticexyz/protocol-parser, @latticexyz/schema-type, @latticexyz/stash, @latticexyz/store-indexer, @latticexyz/store-sync, @latticexyz/store, @latticexyz/world)
+
+Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+
+**[fix(cli): throw error on schema changes (#3336)](https://github.com/latticexyz/mud/commit/ee388ed599b051400a6f1fc5d4c5d369e466ad92)** (@latticexyz/cli)
+
+Deployer will now throw an error if it detects an already registered table with a different schema than the one you are trying to deploy.
+
+**[feat(store-consumer): extract store consumer contracts (#3345)](https://github.com/latticexyz/mud/commit/d17a9be933cf4dbf869e26e6f9ee070444048312)** (@latticexyz/store-consumer, @latticexyz/world-module-erc20)
+
+Extracted StoreConsumer base contracts into an independent package.
+Added a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration.
+
+**[feat(explorer): get observer url from chain config (#3366)](https://github.com/latticexyz/mud/commit/88b9daf1e01bd8675e31c455155759a3ef2af4f8)** (@latticexyz/explorer)
+
+Observer transport now uses the `blockExplorers.worldsExplorer.url` from the chain config if no `explorerUrl` is provided.
+
+**[feat(explorer): run query shortcut (#3443)](https://github.com/latticexyz/mud/commit/cfdfcc1c8e1d21a6336c608760bb76aa04aebefd)** (@latticexyz/explorer)
+
+SQL queries can be executed using the Cmd/Ctrl + Enter shortcut.
+
+**[fix(explorer): format default sql query (#3307)](https://github.com/latticexyz/mud/commit/9c1ca41560e2b3b319976794a73807f391e78b1b)** (@latticexyz/explorer)
+
+When accessing a new table in Explore tab, the SQL editor now encloses column names that are also PostgreSQL keywords in double quotes in order to prevent invalid queries.
+
+**[feat(stash): clean up mutations, emit updates as a list (#3376)](https://github.com/latticexyz/mud/commit/96f1473887e609cab366a4ba6caab9b62033cfb6)** (@latticexyz/stash)
+
+Consolidated how state changes are applied and subscribers notified. Stash subscribers now receive an ordered list of state updates rather than an object.
+
+**[fix(world): library imports and overloaded system functions (#3395)](https://github.com/latticexyz/mud/commit/ba5191c3d6f74b3c4982afd465cf449d23d70bb7)** (@latticexyz/world)
+
+Fixes relative system imports in system libraries and adds support for overloaded system functions.
+
+**[feat(cli): allow deploy salt to be a string (#3432)](https://github.com/latticexyz/mud/commit/74090950d81c6713d981806af5c1197e804b56bf)** (@latticexyz/cli)
+
+In addition to a hex `--salt`, deploy commands now accept a string salt for world deployment, which will get converted to a hex.
+
+```
+pnpm mud deploy --salt hello
+```
+
+**[fix(cli): don't overload system abi type (#3455)](https://github.com/latticexyz/mud/commit/8fcf9c8f508ec818696f366a41f2b8a2e42c11b1)** (@latticexyz/cli)
+
+Fixed an issue with overloaded system ABI types.
+
+**[feat(store): add getRecord and getStaticDataLocation helpers (#3430)](https://github.com/latticexyz/mud/commit/1b477d476a666ccffafc6eb266d1732b90bc28f9)** (@latticexyz/store)
+
+Added internal `getRecord` and `getStaticDataLocation` helpers.
+
+**[feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)](https://github.com/latticexyz/mud/commit/b819749268918559589c12451d88ec1f933182d8)** (@latticexyz/store-sync, @latticexyz/world)
+
+Added a `getRecords` util to fetch table records from an indexer or RPC.
+
+Migrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies.
+
+**[feat: add `getRecords` util to fetch records from indexer, update deployer and explorer to use indexer (#3385)](https://github.com/latticexyz/mud/commit/b819749268918559589c12451d88ec1f933182d8)** (@latticexyz/cli)
+
+Added an `indexerUrl` option to the `mud deploy` and `mud pull` CLI commands to read table records from an indexer instead of fetching logs from an Ethereum RPC.
+
+**[feat(stash): add useRecord and useRecords hooks (#3450)](https://github.com/latticexyz/mud/commit/16242b74d5985720b4efca26e1e22e38bb463788)** (@latticexyz/stash)
+
+Added `useRecord` and `useRecords` hooks for convenience.
+
+```ts
+import { useRecords } from "@latticexyz/stash/react";
+
+const players = useRecords({ stash, table: Position });
+```
+
+```ts
+import { useRecord } from "@latticexyz/stash/react";
+
+const player = useRecord({ stash, table: Position, key: { player: "0x..." } });
+```
+
+**[fix(abi-ts): ts output should use as const (#3348)](https://github.com/latticexyz/mud/commit/534039428496bcededc62d2e450d29d7bac42475)** (@latticexyz/abi-ts)
+
+Using a TS extension (rather than DTS) now correctly includes `as const` in the TS output.
+
+**[fix(world): use fetchLogs in getFunctions (#3338)](https://github.com/latticexyz/mud/commit/22674ad244f59afd6bd364a3dd44df36992dd35f)** (@latticexyz/world)
+
+`getFunctions` now internally uses `fetchLogs` for better handling of block range errors.
+
+**[feat(explorer): export table data (#3380)](https://github.com/latticexyz/mud/commit/b0b42a9e0cca0e31fb31d1e00b78c3015b6f5663)** (@latticexyz/explorer)
+
+Added support for exporting table data in CSV, JSON, and TXT formats.
+
+**[feat(common): loosen client type in tx queue (#3408)](https://github.com/latticexyz/mud/commit/9d7188754ad7f6df6b190bf6618b598cb1d895c4)** (@latticexyz/common)
+
+Loosened `publicClient` type for `transactionQueue` action decorator and `writeContract` and `sendTransaction` actions so that they can be used with plain, undecorated Viem clients.
+
+**[feat(world): rework types for callFrom viem action (#3414)](https://github.com/latticexyz/mud/commit/509a3ccbac9b552a086f93b735d48e739153bead)** (@latticexyz/world)
+
+Reworked `callFrom` action to use `getAction` internally, rather than a decorated Viem client, and updated types to better match Viem.
+
+**[feat(explorer): show results from query functions (#3448)](https://github.com/latticexyz/mud/commit/c681aa6250eb8c3914a75fd45cdf32abc2d60746)** (@latticexyz/explorer)
+
+In the Explore tab, the view table now displays results generated by SQL query functions.
+
+**[fix(store-sync): reconnect unresponsive watchLogs socket (#3301)](https://github.com/latticexyz/mud/commit/9ddc874ecbe8671c197619a23bdeac2bee57174e)** (@latticexyz/store-sync)
+
+Experimental pending logs watcher now reconnects if it loses connection or times out.
+
+**[feat: system libraries (#3374)](https://github.com/latticexyz/mud/commit/09536b0614a03478fa0f53ec8beefef80455387d)** (@latticexyz/store, @latticexyz/world)
+
+Adds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems.
+
+**[feat(store-sync): use client instead of decorated public client (#3441)](https://github.com/latticexyz/mud/commit/a6fe15cc524a7a2ed39a1f93d3e4f41a4e251697)** (@latticexyz/store-sync)
+
+All sync methods using a `publicClient` argument now accept a plain Viem `Client` rather than a decorated `PublicClient`, allowing for more flexibility and better tree-shaking for lighter bundles.
+
+**[feat(explorer): get observer url from chain config (#3366)](https://github.com/latticexyz/mud/commit/88b9daf1e01bd8675e31c455155759a3ef2af4f8)** (@latticexyz/common)
+
+Updated Rhodolite chain config.
+
+**[feat(world): add SystemCall.staticcall (#3381)](https://github.com/latticexyz/mud/commit/275c867182df9f1e22a6d4f0901a494c40e29f9a)** (@latticexyz/world)
+
+Add a SystemCall.staticcall function that performs a staticcall without executing hooks.
+
+**[feat(paymaster): add simple GenerousPaymaster for local development (#3422)](https://github.com/latticexyz/mud/commit/a7625b97410346b1187e66803dde5194084312fd)** (@latticexyz/paymaster)
+
+Added `GenerousPaymaster`, a simple paymaster that sponsors all user operations for local development purposes.
+
+---
+
## Version 2.2.14
Release date: Thu Oct 24 2024
diff --git a/packages/abi-ts/CHANGELOG.md b/packages/abi-ts/CHANGELOG.md
index bd1ec7bd7d..f851c40b78 100644
--- a/packages/abi-ts/CHANGELOG.md
+++ b/packages/abi-ts/CHANGELOG.md
@@ -1,5 +1,11 @@
# @latticexyz/abi-ts
+## 2.2.15
+
+### Patch Changes
+
+- 5340394: Using a TS extension (rather than DTS) now correctly includes `as const` in the TS output.
+
## 2.2.14
## 2.2.13
diff --git a/packages/abi-ts/package.json b/packages/abi-ts/package.json
index 23dec12075..8e7037e4b6 100644
--- a/packages/abi-ts/package.json
+++ b/packages/abi-ts/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/abi-ts",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Create TypeScript type declaration files (`.d.ts`) for your ABI JSON files.",
"repository": {
"type": "git",
diff --git a/packages/block-logs-stream/CHANGELOG.md b/packages/block-logs-stream/CHANGELOG.md
index 263dfe1ad2..df19b4027e 100644
--- a/packages/block-logs-stream/CHANGELOG.md
+++ b/packages/block-logs-stream/CHANGELOG.md
@@ -1,5 +1,15 @@
# @latticexyz/block-logs-stream
+## 2.2.15
+
+### Patch Changes
+
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- Updated dependencies [09e9bd5]
+- Updated dependencies [9d71887]
+- Updated dependencies [88b9daf]
+ - @latticexyz/common@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/block-logs-stream/package.json b/packages/block-logs-stream/package.json
index 359a6e2d2d..520a6f32a2 100644
--- a/packages/block-logs-stream/package.json
+++ b/packages/block-logs-stream/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/block-logs-stream",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Create a stream of EVM block logs for events",
"repository": {
"type": "git",
diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md
index 9baf244b6a..5080b3d381 100644
--- a/packages/cli/CHANGELOG.md
+++ b/packages/cli/CHANGELOG.md
@@ -1,5 +1,52 @@
# Change Log
+## 2.2.15
+
+### Patch Changes
+
+- 1e09240: When upgrading an existing world, the deployer now attempts to read the deploy block number from the `worlds.json` file. If it is found, the `HelloWorld` and `HelloStore` event are fetched from this block instead of searching for the events starting from the genesis block.
+- 3168f1f: Deployer now retrieves resource tags by fetching logs to work around RPC rate limiting issues.
+- ee388ed: Deployer will now throw an error if it detects an already registered table with a different schema than the one you are trying to deploy.
+- 7409095: In addition to a hex `--salt`, deploy commands now accept a string salt for world deployment, which will get converted to a hex.
+
+ ```
+ pnpm mud deploy --salt hello
+ ```
+
+- 8fcf9c8: Fixed an issue with overloaded system ABI types.
+- b819749: Added an `indexerUrl` option to the `mud deploy` and `mud pull` CLI commands to read table records from an indexer instead of fetching logs from an Ethereum RPC.
+- Updated dependencies [9580d29]
+- Updated dependencies [1770620]
+- Updated dependencies [653f378]
+- Updated dependencies [2d2aa08]
+- Updated dependencies [5f493cd]
+- Updated dependencies [cd9fd0a]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [ba5191c]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [5340394]
+- Updated dependencies [22674ad]
+- Updated dependencies [9d71887]
+- Updated dependencies [509a3cc]
+- Updated dependencies [9ddc874]
+- Updated dependencies [09536b0]
+- Updated dependencies [a6fe15c]
+- Updated dependencies [88b9daf]
+- Updated dependencies [275c867]
+ - @latticexyz/config@2.2.15
+ - @latticexyz/store-sync@2.2.15
+ - @latticexyz/world@2.2.15
+ - @latticexyz/block-logs-stream@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/protocol-parser@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/store@2.2.15
+ - @latticexyz/abi-ts@2.2.15
+ - @latticexyz/world-module-metadata@2.2.15
+ - @latticexyz/gas-report@2.2.15
+ - @latticexyz/utils@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/cli/package.json b/packages/cli/package.json
index bdbf4ad74d..0292c1976c 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/cli",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Command line interface for mud",
"repository": {
"type": "git",
diff --git a/packages/common/CHANGELOG.md b/packages/common/CHANGELOG.md
index c82e52a558..957865a408 100644
--- a/packages/common/CHANGELOG.md
+++ b/packages/common/CHANGELOG.md
@@ -1,5 +1,15 @@
# Change Log
+## 2.2.15
+
+### Patch Changes
+
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- 9d71887: Loosened `publicClient` type for `transactionQueue` action decorator and `writeContract` and `sendTransaction` actions so that they can be used with plain, undecorated Viem clients.
+- 88b9daf: Updated Rhodolite chain config.
+- Updated dependencies [09e9bd5]
+ - @latticexyz/schema-type@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/common/package.json b/packages/common/package.json
index 25427de799..7174df990f 100644
--- a/packages/common/package.json
+++ b/packages/common/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/common",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Common low level logic shared between packages",
"repository": {
"type": "git",
diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md
index 9027726912..1a9651465a 100644
--- a/packages/config/CHANGELOG.md
+++ b/packages/config/CHANGELOG.md
@@ -1,5 +1,17 @@
# Change Log
+## 2.2.15
+
+### Patch Changes
+
+- 9580d29: Replaced esbuild with tsx to load MUD config in an effort to resolve issues with loading multiple MUD configs in parallel.
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- Updated dependencies [09e9bd5]
+- Updated dependencies [9d71887]
+- Updated dependencies [88b9daf]
+ - @latticexyz/common@2.2.15
+ - @latticexyz/schema-type@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/config/package.json b/packages/config/package.json
index 6d8ab8b353..3d8acc064f 100644
--- a/packages/config/package.json
+++ b/packages/config/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/config",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Config for Store and World",
"repository": {
"type": "git",
diff --git a/packages/create-mud/CHANGELOG.md b/packages/create-mud/CHANGELOG.md
index 584bcaa396..61c11f77b4 100644
--- a/packages/create-mud/CHANGELOG.md
+++ b/packages/create-mud/CHANGELOG.md
@@ -1,5 +1,7 @@
# Change Log
+## 2.2.15
+
## 2.2.14
## 2.2.13
diff --git a/packages/create-mud/package.json b/packages/create-mud/package.json
index 18734f2160..4d7f73a39c 100644
--- a/packages/create-mud/package.json
+++ b/packages/create-mud/package.json
@@ -1,6 +1,6 @@
{
"name": "create-mud",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Create a new MUD project",
"license": "MIT",
"author": "Lattice ",
diff --git a/packages/dev-tools/CHANGELOG.md b/packages/dev-tools/CHANGELOG.md
index 40ee36d761..df57bbb7bc 100644
--- a/packages/dev-tools/CHANGELOG.md
+++ b/packages/dev-tools/CHANGELOG.md
@@ -1,5 +1,36 @@
# @latticexyz/dev-tools
+## 2.2.15
+
+### Patch Changes
+
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- Updated dependencies [1770620]
+- Updated dependencies [653f378]
+- Updated dependencies [2d2aa08]
+- Updated dependencies [5f493cd]
+- Updated dependencies [cd9fd0a]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [ba5191c]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [22674ad]
+- Updated dependencies [9d71887]
+- Updated dependencies [509a3cc]
+- Updated dependencies [9ddc874]
+- Updated dependencies [09536b0]
+- Updated dependencies [a6fe15c]
+- Updated dependencies [88b9daf]
+- Updated dependencies [275c867]
+ - @latticexyz/store-sync@2.2.15
+ - @latticexyz/world@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/store@2.2.15
+ - @latticexyz/recs@2.2.15
+ - @latticexyz/react@2.2.15
+ - @latticexyz/utils@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/dev-tools/package.json b/packages/dev-tools/package.json
index 4280db68d3..ed5e4145f0 100644
--- a/packages/dev-tools/package.json
+++ b/packages/dev-tools/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/dev-tools",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "MUD developer tools",
"repository": {
"type": "git",
diff --git a/packages/entrykit/CHANGELOG.md b/packages/entrykit/CHANGELOG.md
new file mode 100644
index 0000000000..ccb16bbb85
--- /dev/null
+++ b/packages/entrykit/CHANGELOG.md
@@ -0,0 +1,28 @@
+# @latticexyz/entrykit
+
+## 2.2.15
+
+### Patch Changes
+
+- 971ffed: Initial, experimental release of EntryKit.
+- Updated dependencies [9580d29]
+- Updated dependencies [653f378]
+- Updated dependencies [2d2aa08]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [ba5191c]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [22674ad]
+- Updated dependencies [9d71887]
+- Updated dependencies [509a3cc]
+- Updated dependencies [09536b0]
+- Updated dependencies [88b9daf]
+- Updated dependencies [275c867]
+- Updated dependencies [a7625b9]
+ - @latticexyz/config@2.2.15
+ - @latticexyz/world@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/protocol-parser@2.2.15
+ - @latticexyz/store@2.2.15
+ - @latticexyz/paymaster@2.2.15
+ - @latticexyz/world-modules@2.2.15
diff --git a/packages/entrykit/package.json b/packages/entrykit/package.json
index ce8a2cffbf..638e041074 100644
--- a/packages/entrykit/package.json
+++ b/packages/entrykit/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/entrykit",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "User onboarding flows for MUD apps",
"repository": {
"type": "git",
diff --git a/packages/explorer/CHANGELOG.md b/packages/explorer/CHANGELOG.md
index d14b013a09..26d1099872 100644
--- a/packages/explorer/CHANGELOG.md
+++ b/packages/explorer/CHANGELOG.md
@@ -1,5 +1,55 @@
# @latticexyz/explorer
+## 2.2.15
+
+### Patch Changes
+
+- b819749: Improved the performance of the explorer's `Interact` tab by fetching the ABI from an indexer instead of from an Ethereum RPC if available.
+- 07b6be8: The transactions list in the explorer is now updated every 100ms instead of on every incoming transaction, to improve performance when there are many incoming transactions.
+- 53f7906: The SQL editor now shows an indicator if the query has changed since it was last run.
+- 722f4b4: The columns in the Explore tab table are now sorted correctly according to their types.
+- 35cb94a: SQL live queries in the Explore view table can now be paused and resumed.
+- 7fa68f6: Indicated MUD schema key columns in the table view of the Explore tab.
+- 1a2b3c8: The functions in the Interact tab now display the emitted logs with the block explorer URL for the submitted transaction.
+- 0592406: Added support for ERC-4337 bundled transactions, monitoring them by either listening to chain blocks or using the `observer` transport wrapper. Each user operation within a bundled transaction is displayed as an individual transaction in the Observe tab.
+- 0facee0: When accessing a new table in Explore tab, the SQL editor now encloses all column names in double quotes in order to prevent invalid queries.
+- 3258a6d: The latest ABI changes are now consistently fetched correctly.
+- 2be543f: Fixed world ABI fetching in Rhodolite.
+- d542357: Transactions in `Observe` tab now display decoded `callFrom` function calls.
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- 88b9daf: Observer transport now uses the `blockExplorers.worldsExplorer.url` from the chain config if no `explorerUrl` is provided.
+- cfdfcc1: SQL queries can be executed using the Cmd/Ctrl + Enter shortcut.
+- 9c1ca41: When accessing a new table in Explore tab, the SQL editor now encloses column names that are also PostgreSQL keywords in double quotes in order to prevent invalid queries.
+- b0b42a9: Added support for exporting table data in CSV, JSON, and TXT formats.
+- c681aa6: In the Explore tab, the view table now displays results generated by SQL query functions.
+- Updated dependencies [9580d29]
+- Updated dependencies [1770620]
+- Updated dependencies [653f378]
+- Updated dependencies [2d2aa08]
+- Updated dependencies [5f493cd]
+- Updated dependencies [cd9fd0a]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [ba5191c]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [22674ad]
+- Updated dependencies [9d71887]
+- Updated dependencies [509a3cc]
+- Updated dependencies [9ddc874]
+- Updated dependencies [09536b0]
+- Updated dependencies [a6fe15c]
+- Updated dependencies [88b9daf]
+- Updated dependencies [275c867]
+ - @latticexyz/config@2.2.15
+ - @latticexyz/store-sync@2.2.15
+ - @latticexyz/world@2.2.15
+ - @latticexyz/block-logs-stream@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/protocol-parser@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/store-indexer@2.2.15
+ - @latticexyz/store@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/explorer/package.json b/packages/explorer/package.json
index 17614cd004..f27526a535 100644
--- a/packages/explorer/package.json
+++ b/packages/explorer/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/explorer",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "World Explorer is a tool for visually exploring and manipulating the state of worlds",
"type": "module",
"exports": {
diff --git a/packages/faucet/CHANGELOG.md b/packages/faucet/CHANGELOG.md
index 98e8be3d8e..41a1ad3f65 100644
--- a/packages/faucet/CHANGELOG.md
+++ b/packages/faucet/CHANGELOG.md
@@ -1,5 +1,15 @@
# @latticexyz/faucet
+## 2.2.15
+
+### Patch Changes
+
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- Updated dependencies [09e9bd5]
+- Updated dependencies [9d71887]
+- Updated dependencies [88b9daf]
+ - @latticexyz/common@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/faucet/package.json b/packages/faucet/package.json
index 00e415a52f..c069918a41 100644
--- a/packages/faucet/package.json
+++ b/packages/faucet/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/faucet",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Faucet API for Lattice testnet",
"repository": {
"type": "git",
diff --git a/packages/gas-report/CHANGELOG.md b/packages/gas-report/CHANGELOG.md
index c8e8c190ad..320df8c4da 100644
--- a/packages/gas-report/CHANGELOG.md
+++ b/packages/gas-report/CHANGELOG.md
@@ -1,5 +1,7 @@
# Change Log
+## 2.2.15
+
## 2.2.14
## 2.2.13
diff --git a/packages/gas-report/package.json b/packages/gas-report/package.json
index ec7ecdbbd0..d9dc2a8edf 100644
--- a/packages/gas-report/package.json
+++ b/packages/gas-report/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/gas-report",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Gas reporter for specific lines within forge tests",
"repository": {
"type": "git",
diff --git a/packages/paymaster/CHANGELOG.md b/packages/paymaster/CHANGELOG.md
index e62969c775..17e1b17deb 100644
--- a/packages/paymaster/CHANGELOG.md
+++ b/packages/paymaster/CHANGELOG.md
@@ -1 +1,7 @@
# @latticexyz/paymaster
+
+## 2.2.15
+
+### Patch Changes
+
+- a7625b9: Added `GenerousPaymaster`, a simple paymaster that sponsors all user operations for local development purposes.
diff --git a/packages/paymaster/package.json b/packages/paymaster/package.json
index 304d04779f..b4bdad576f 100644
--- a/packages/paymaster/package.json
+++ b/packages/paymaster/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/paymaster",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Paymaster contracts",
"repository": {
"type": "git",
diff --git a/packages/protocol-parser/CHANGELOG.md b/packages/protocol-parser/CHANGELOG.md
index 7b30ad8eb4..7affe01d2f 100644
--- a/packages/protocol-parser/CHANGELOG.md
+++ b/packages/protocol-parser/CHANGELOG.md
@@ -1,5 +1,18 @@
# @latticexyz/protocol-parser
+## 2.2.15
+
+### Patch Changes
+
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- Updated dependencies [9580d29]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [9d71887]
+- Updated dependencies [88b9daf]
+ - @latticexyz/config@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/schema-type@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/protocol-parser/package.json b/packages/protocol-parser/package.json
index 6fc5569e17..734dcf1e3f 100644
--- a/packages/protocol-parser/package.json
+++ b/packages/protocol-parser/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/protocol-parser",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Parser utilities for the MUD protocol",
"repository": {
"type": "git",
diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md
index 8c23fdba45..358050bfee 100644
--- a/packages/react/CHANGELOG.md
+++ b/packages/react/CHANGELOG.md
@@ -1,5 +1,15 @@
# Change Log
+## 2.2.15
+
+### Patch Changes
+
+- Updated dependencies [09e9bd5]
+- Updated dependencies [1b477d4]
+- Updated dependencies [09536b0]
+ - @latticexyz/store@2.2.15
+ - @latticexyz/recs@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/react/package.json b/packages/react/package.json
index 7ef5ffe597..ca5aa7ae76 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/react",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "React tools for MUD client.",
"repository": {
"type": "git",
diff --git a/packages/recs/CHANGELOG.md b/packages/recs/CHANGELOG.md
index 762140fcae..c76a5a31ab 100644
--- a/packages/recs/CHANGELOG.md
+++ b/packages/recs/CHANGELOG.md
@@ -1,5 +1,13 @@
# Change Log
+## 2.2.15
+
+### Patch Changes
+
+- Updated dependencies [09e9bd5]
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/utils@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/recs/package.json b/packages/recs/package.json
index b592eb9568..06ec2968e0 100644
--- a/packages/recs/package.json
+++ b/packages/recs/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/recs",
- "version": "2.2.14",
+ "version": "2.2.15",
"repository": {
"type": "git",
"url": "https://github.com/latticexyz/mud.git",
diff --git a/packages/schema-type/CHANGELOG.md b/packages/schema-type/CHANGELOG.md
index 56f8190f34..509af757ba 100644
--- a/packages/schema-type/CHANGELOG.md
+++ b/packages/schema-type/CHANGELOG.md
@@ -1,5 +1,11 @@
# Change Log
+## 2.2.15
+
+### Patch Changes
+
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+
## 2.2.14
## 2.2.13
diff --git a/packages/schema-type/package.json b/packages/schema-type/package.json
index 355059a37e..afcc91a3a7 100644
--- a/packages/schema-type/package.json
+++ b/packages/schema-type/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/schema-type",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "SchemaType enum for various languages",
"repository": {
"type": "git",
diff --git a/packages/solhint-config-mud/CHANGELOG.md b/packages/solhint-config-mud/CHANGELOG.md
index 39c2740f84..f53999a0d9 100644
--- a/packages/solhint-config-mud/CHANGELOG.md
+++ b/packages/solhint-config-mud/CHANGELOG.md
@@ -1,5 +1,7 @@
# Change Log
+## 2.2.15
+
## 2.2.14
## 2.2.13
diff --git a/packages/solhint-config-mud/package.json b/packages/solhint-config-mud/package.json
index 522f16ae35..7f802183cb 100644
--- a/packages/solhint-config-mud/package.json
+++ b/packages/solhint-config-mud/package.json
@@ -1,6 +1,6 @@
{
"name": "solhint-config-mud",
- "version": "2.2.14",
+ "version": "2.2.15",
"repository": {
"type": "git",
"url": "https://github.com/latticexyz/mud.git",
diff --git a/packages/solhint-plugin-mud/CHANGELOG.md b/packages/solhint-plugin-mud/CHANGELOG.md
index 39c2740f84..f53999a0d9 100644
--- a/packages/solhint-plugin-mud/CHANGELOG.md
+++ b/packages/solhint-plugin-mud/CHANGELOG.md
@@ -1,5 +1,7 @@
# Change Log
+## 2.2.15
+
## 2.2.14
## 2.2.13
diff --git a/packages/solhint-plugin-mud/package.json b/packages/solhint-plugin-mud/package.json
index eac28b2ce4..45388236ac 100644
--- a/packages/solhint-plugin-mud/package.json
+++ b/packages/solhint-plugin-mud/package.json
@@ -1,6 +1,6 @@
{
"name": "solhint-plugin-mud",
- "version": "2.2.14",
+ "version": "2.2.15",
"repository": {
"type": "git",
"url": "https://github.com/latticexyz/mud.git",
diff --git a/packages/stash/CHANGELOG.md b/packages/stash/CHANGELOG.md
index f4bef51ee7..55b2d5b69e 100644
--- a/packages/stash/CHANGELOG.md
+++ b/packages/stash/CHANGELOG.md
@@ -1,5 +1,37 @@
# @latticexyz/stash
+## 2.2.15
+
+### Patch Changes
+
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- 96f1473: Consolidated how state changes are applied and subscribers notified. Stash subscribers now receive an ordered list of state updates rather than an object.
+- 16242b7: Added `useRecord` and `useRecords` hooks for convenience.
+
+ ```ts
+ import { useRecords } from "@latticexyz/stash/react";
+
+ const players = useRecords({ stash, table: Position });
+ ```
+
+ ```ts
+ import { useRecord } from "@latticexyz/stash/react";
+
+ const player = useRecord({ stash, table: Position, key: { player: "0x..." } });
+ ```
+
+- Updated dependencies [9580d29]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [1b477d4]
+- Updated dependencies [9d71887]
+- Updated dependencies [09536b0]
+- Updated dependencies [88b9daf]
+ - @latticexyz/config@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/protocol-parser@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/store@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/stash/package.json b/packages/stash/package.json
index 619fa048dc..64857cc79f 100644
--- a/packages/stash/package.json
+++ b/packages/stash/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/stash",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "High performance client store and query engine for MUD",
"repository": {
"type": "git",
diff --git a/packages/store-consumer/CHANGELOG.md b/packages/store-consumer/CHANGELOG.md
index 2c56039cb9..8fbb308953 100644
--- a/packages/store-consumer/CHANGELOG.md
+++ b/packages/store-consumer/CHANGELOG.md
@@ -1 +1,21 @@
# @latticexyz/store-consumer
+
+## 2.2.15
+
+### Patch Changes
+
+- d17a9be: Extracted StoreConsumer base contracts into an independent package.
+ Added a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration.
+- Updated dependencies [653f378]
+- Updated dependencies [2d2aa08]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [ba5191c]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [22674ad]
+- Updated dependencies [509a3cc]
+- Updated dependencies [09536b0]
+- Updated dependencies [275c867]
+ - @latticexyz/world@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/store@2.2.15
diff --git a/packages/store-consumer/package.json b/packages/store-consumer/package.json
index 769659da0c..aac398192d 100644
--- a/packages/store-consumer/package.json
+++ b/packages/store-consumer/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/store-consumer",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Store Consumer Contracts",
"repository": {
"type": "git",
diff --git a/packages/store-indexer/CHANGELOG.md b/packages/store-indexer/CHANGELOG.md
index 7da7c4e9cd..d30553a2f9 100644
--- a/packages/store-indexer/CHANGELOG.md
+++ b/packages/store-indexer/CHANGELOG.md
@@ -1,5 +1,27 @@
# @latticexyz/store-indexer
+## 2.2.15
+
+### Patch Changes
+
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- Updated dependencies [1770620]
+- Updated dependencies [5f493cd]
+- Updated dependencies [cd9fd0a]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [9d71887]
+- Updated dependencies [9ddc874]
+- Updated dependencies [09536b0]
+- Updated dependencies [a6fe15c]
+- Updated dependencies [88b9daf]
+ - @latticexyz/store-sync@2.2.15
+ - @latticexyz/block-logs-stream@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/protocol-parser@2.2.15
+ - @latticexyz/store@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/store-indexer/package.json b/packages/store-indexer/package.json
index e34318e7f3..443e90851a 100644
--- a/packages/store-indexer/package.json
+++ b/packages/store-indexer/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/store-indexer",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Minimal Typescript indexer for Store",
"repository": {
"type": "git",
diff --git a/packages/store-sync/CHANGELOG.md b/packages/store-sync/CHANGELOG.md
index 0855b88bb5..e0c5c6f587 100644
--- a/packages/store-sync/CHANGELOG.md
+++ b/packages/store-sync/CHANGELOG.md
@@ -1,5 +1,71 @@
# @latticexyz/store-sync
+## 2.2.15
+
+### Patch Changes
+
+- 1770620: Updated the `watchLogs` util to accept the updated RPC response type.
+- 5f493cd: Added an experimental `@latticexyz/store-sync/react` export with a `SyncProvider` and `useSync` hook. This allows for easier syncing MUD data to React apps.
+
+ Note that this is currently only usable with Stash and assumes you are also using Wagmi in your React app.
+
+ ```tsx
+ import { WagmiProvider } from "wagmi";
+ import { QueryClientProvider } from "@tanstack/react-query";
+ import { SyncProvider } from "@latticexyz/store-sync/react";
+ import { createSyncAdapter } from "@latticexyz/store-sync/internal";
+
+ export function App() {
+ return (
+
+
+
+ {children}
+
+
+
+ );
+ }
+ ```
+
+- cd9fd0a: Fixed a bug in `watchLogs` where logs from the buffer were not applied during the initial sync.
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- b819749: Added a `getRecords` util to fetch table records from an indexer or RPC.
+
+ Migrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies.
+
+- 9ddc874: Experimental pending logs watcher now reconnects if it loses connection or times out.
+- a6fe15c: All sync methods using a `publicClient` argument now accept a plain Viem `Client` rather than a decorated `PublicClient`, allowing for more flexibility and better tree-shaking for lighter bundles.
+- Updated dependencies [9580d29]
+- Updated dependencies [653f378]
+- Updated dependencies [2d2aa08]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [96f1473]
+- Updated dependencies [ba5191c]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [16242b7]
+- Updated dependencies [22674ad]
+- Updated dependencies [9d71887]
+- Updated dependencies [509a3cc]
+- Updated dependencies [09536b0]
+- Updated dependencies [88b9daf]
+- Updated dependencies [275c867]
+ - @latticexyz/config@2.2.15
+ - @latticexyz/world@2.2.15
+ - @latticexyz/block-logs-stream@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/protocol-parser@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/stash@2.2.15
+ - @latticexyz/store@2.2.15
+ - @latticexyz/recs@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/store-sync/package.json b/packages/store-sync/package.json
index d42b5d731b..e1bfffe0d1 100644
--- a/packages/store-sync/package.json
+++ b/packages/store-sync/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/store-sync",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Utilities to sync MUD Store events with a client or cache",
"repository": {
"type": "git",
diff --git a/packages/store/CHANGELOG.md b/packages/store/CHANGELOG.md
index febd2addca..fc2f8a4432 100644
--- a/packages/store/CHANGELOG.md
+++ b/packages/store/CHANGELOG.md
@@ -1,5 +1,21 @@
# Change Log
+## 2.2.15
+
+### Patch Changes
+
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- 1b477d4: Added internal `getRecord` and `getStaticDataLocation` helpers.
+- 09536b0: Adds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems.
+- Updated dependencies [9580d29]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [9d71887]
+- Updated dependencies [88b9daf]
+ - @latticexyz/config@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/protocol-parser@2.2.15
+ - @latticexyz/schema-type@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/store/package.json b/packages/store/package.json
index 1e52553e64..4bc1e7c86a 100644
--- a/packages/store/package.json
+++ b/packages/store/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/store",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Store",
"repository": {
"type": "git",
diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md
index ce9c3444e3..37eff93705 100644
--- a/packages/utils/CHANGELOG.md
+++ b/packages/utils/CHANGELOG.md
@@ -1,5 +1,7 @@
# Change Log
+## 2.2.15
+
## 2.2.14
## 2.2.13
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 73ea915d21..0e52e5063d 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/utils",
- "version": "2.2.14",
+ "version": "2.2.15",
"repository": {
"type": "git",
"url": "https://github.com/latticexyz/mud.git",
diff --git a/packages/vite-plugin-mud/CHANGELOG.md b/packages/vite-plugin-mud/CHANGELOG.md
new file mode 100644
index 0000000000..f505d847e4
--- /dev/null
+++ b/packages/vite-plugin-mud/CHANGELOG.md
@@ -0,0 +1,34 @@
+# vite-plugin-mud
+
+## 2.2.15
+
+### Patch Changes
+
+- 70f224a: Initial release of Vite plugin for MUD projects.
+
+ This will soon be included by default in MUD templates, but you can add to an existing MUD project with:
+
+ ```
+ pnpm add -D vite@^6 vite-plugin-mud
+ ```
+
+ And use like:
+
+ ```ts
+ // vite.config.ts
+ import { defineConfig } from "vite";
+ import { mud } from "vite-plugin-mud";
+
+ export default defineConfig({
+ plugins: [mud({ worldsFile: "worlds.json" })],
+ });
+ ```
+
+ ```json
+ // tsconfig.json
+ {
+ "compilerOptions": {
+ "types": ["vite/client", "vite-plugin-mud/env"]
+ }
+ }
+ ```
diff --git a/packages/vite-plugin-mud/package.json b/packages/vite-plugin-mud/package.json
index 05a6cf6932..4f38c4c90e 100644
--- a/packages/vite-plugin-mud/package.json
+++ b/packages/vite-plugin-mud/package.json
@@ -1,6 +1,6 @@
{
"name": "vite-plugin-mud",
- "version": "2.2.14",
+ "version": "2.2.15",
"repository": {
"type": "git",
"url": "https://github.com/latticexyz/mud.git",
diff --git a/packages/world-module-erc20/CHANGELOG.md b/packages/world-module-erc20/CHANGELOG.md
index d86539c0df..e0d97950a8 100644
--- a/packages/world-module-erc20/CHANGELOG.md
+++ b/packages/world-module-erc20/CHANGELOG.md
@@ -1,5 +1,27 @@
# @latticexyz/world-module-erc20
+## 2.2.15
+
+### Patch Changes
+
+- d17a9be: Extracted StoreConsumer base contracts into an independent package.
+ Added a `registerNamespace` boolean to `WithWorld` to provide more control over namespace registration.
+- Updated dependencies [653f378]
+- Updated dependencies [2d2aa08]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [d17a9be]
+- Updated dependencies [ba5191c]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [22674ad]
+- Updated dependencies [509a3cc]
+- Updated dependencies [09536b0]
+- Updated dependencies [275c867]
+ - @latticexyz/world@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/store@2.2.15
+ - @latticexyz/store-consumer@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/world-module-erc20/package.json b/packages/world-module-erc20/package.json
index 47b74eb7fd..25dbe152a3 100644
--- a/packages/world-module-erc20/package.json
+++ b/packages/world-module-erc20/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/world-module-erc20",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "ERC20 world module",
"repository": {
"type": "git",
diff --git a/packages/world-module-metadata/CHANGELOG.md b/packages/world-module-metadata/CHANGELOG.md
index 2dbdd1d7ab..12acb1e630 100644
--- a/packages/world-module-metadata/CHANGELOG.md
+++ b/packages/world-module-metadata/CHANGELOG.md
@@ -1,5 +1,23 @@
# @latticexyz/world-module-metadata
+## 2.2.15
+
+### Patch Changes
+
+- Updated dependencies [653f378]
+- Updated dependencies [2d2aa08]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [ba5191c]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [22674ad]
+- Updated dependencies [509a3cc]
+- Updated dependencies [09536b0]
+- Updated dependencies [275c867]
+ - @latticexyz/world@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/store@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/world-module-metadata/package.json b/packages/world-module-metadata/package.json
index bba356c77a..bd86a7b1a7 100644
--- a/packages/world-module-metadata/package.json
+++ b/packages/world-module-metadata/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/world-module-metadata",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "Metadata world module",
"repository": {
"type": "git",
diff --git a/packages/world-modules/CHANGELOG.md b/packages/world-modules/CHANGELOG.md
index dcc252a1ac..ab12ca9dfe 100644
--- a/packages/world-modules/CHANGELOG.md
+++ b/packages/world-modules/CHANGELOG.md
@@ -1,5 +1,28 @@
# Change Log
+## 2.2.15
+
+### Patch Changes
+
+- Updated dependencies [9580d29]
+- Updated dependencies [653f378]
+- Updated dependencies [2d2aa08]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [ba5191c]
+- Updated dependencies [1b477d4]
+- Updated dependencies [b819749]
+- Updated dependencies [22674ad]
+- Updated dependencies [9d71887]
+- Updated dependencies [509a3cc]
+- Updated dependencies [09536b0]
+- Updated dependencies [88b9daf]
+- Updated dependencies [275c867]
+ - @latticexyz/config@2.2.15
+ - @latticexyz/world@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/store@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/world-modules/package.json b/packages/world-modules/package.json
index fadfa1252a..92e631d7c7 100644
--- a/packages/world-modules/package.json
+++ b/packages/world-modules/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/world-modules",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "World modules",
"repository": {
"type": "git",
diff --git a/packages/world/CHANGELOG.md b/packages/world/CHANGELOG.md
index 84c010ef77..17df642e38 100644
--- a/packages/world/CHANGELOG.md
+++ b/packages/world/CHANGELOG.md
@@ -1,5 +1,34 @@
# Change Log
+## 2.2.15
+
+### Patch Changes
+
+- 653f378: Use `WorldContextConsumerLib._msgSender()` instead of `msg.sender` in system libraries.
+- 2d2aa08: Moved TS utils over to using hardcoded ABIs instead of ones imported from `.abi.json` files to fix some internal type resolution issues.
+- 09e9bd5: Moved viem to peer dependencies to ensure a single, consistent version is installed in downstream projects.
+- ba5191c: Fixes relative system imports in system libraries and adds support for overloaded system functions.
+- b819749: Added a `getRecords` util to fetch table records from an indexer or RPC.
+
+ Migrated the `getFunctions` and `getWorldAbi` utils from `@latticexyz/world` to `@latticexyz/store-sync/world` to allow `getFunctions` and `getWorldAbi` to use `getRecords` internally without circular dependencies.
+
+- 22674ad: `getFunctions` now internally uses `fetchLogs` for better handling of block range errors.
+- 509a3cc: Reworked `callFrom` action to use `getAction` internally, rather than a decorated Viem client, and updated types to better match Viem.
+- 09536b0: Adds an experimental feature to automatically generate Solidity libraries from systems, making it easier to perform calls between systems.
+- 275c867: Add a SystemCall.staticcall function that performs a staticcall without executing hooks.
+- Updated dependencies [9580d29]
+- Updated dependencies [09e9bd5]
+- Updated dependencies [1b477d4]
+- Updated dependencies [9d71887]
+- Updated dependencies [09536b0]
+- Updated dependencies [88b9daf]
+ - @latticexyz/config@2.2.15
+ - @latticexyz/block-logs-stream@2.2.15
+ - @latticexyz/common@2.2.15
+ - @latticexyz/protocol-parser@2.2.15
+ - @latticexyz/schema-type@2.2.15
+ - @latticexyz/store@2.2.15
+
## 2.2.14
### Patch Changes
diff --git a/packages/world/package.json b/packages/world/package.json
index 241492237a..346595e221 100644
--- a/packages/world/package.json
+++ b/packages/world/package.json
@@ -1,6 +1,6 @@
{
"name": "@latticexyz/world",
- "version": "2.2.14",
+ "version": "2.2.15",
"description": "World framework",
"repository": {
"type": "git",