Skip to content

Latest commit

 

History

History
658 lines (377 loc) · 44.2 KB

CHANGELOG.md

File metadata and controls

658 lines (377 loc) · 44.2 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

1.26.0 (2022-11-07)

Bug Fixes

  • phaserx: avoid creating tilemap chunks if tilemap is not visible (#241) (641e2c4)

Features

  • relay: check message data doesn't exceed a configurable limit (#195) (4e35ed3)
  • services: admin endpoint on faucet (#238) (282fd69)

1.25.1 (2022-11-03)

Note: Version bump only for package mud

1.25.0 (2022-11-03)

Bug Fixes

Features

  • network,std-client: add support for SystemCall events in default MUD network setup (#232) (93d947b)
  • network: export createBlockNumberStream (#230) (c227e5d)
  • solecs: allow overriding Component logic, better inheritance (#229) (d4f5a4b)
  • std-client: export missing types (aefba08)
  • working deploy script from mud basics (#218) (fd1c61b)

1.24.1 (2022-10-29)

Bug Fixes

  • std-contracts: use assembly for delegation in UpgradableSystem (#228) (1fa46fd)

1.24.0 (2022-10-28)

Features

  • v2 endpoint for pruned snapshot that returns entities as raw bytes (#215) (28cce1e)

1.23.1 (2022-10-28)

Bug Fixes

  • avoid early return for unknown components (#226) (bb8684f)

1.23.0 (2022-10-26)

Features

1.22.0 (2022-10-26)

Features

  • network: expose method to register new system contracts on the client (#224) (4583767)
  • network: simplify calling untyped systems (#223) (94e4788)

1.21.0 (2022-10-26)

Bug Fixes

  • solecs: remove console import from MapSet (#216) (b3116b3)

Features

  • network: send ack between main thread and sync worker (#220) (e06978a)

1.20.0 (2022-10-22)

Features

  • recs: add util to clear cache of local cache component (#217) (30a5868)

1.19.0 (2022-10-21)

Bug Fixes

  • checksum address / value when pruning snapshot (#214) (64fd178)

Features

  • network: only create encoders if asked for it (c5af08c)

1.18.0 (2022-10-21)

Bug Fixes

  • ecs-browser: remove component on contract from ecs-browser (#205) (f08c6d1)

Features

  • service stabilizations, send ecs tx on drip, new pruned snapshot endpoint (#204) (d0de185)
  • solecs: add payable system interface (#206) (a436d9e)
  • utils: add more general euclidiean distance util (687f840)

1.17.0 (2022-10-19)

Features

1.16.0 (2022-10-19)

Features

1.15.0 (2022-10-18)

Features

  • network): expose relay ping method, feat(std-client: add tx hash to action component (#209) (3e0b4a7)

1.14.2 (2022-10-18)

Note: Version bump only for package mud

1.14.1 (2022-10-18)

Note: Version bump only for package mud

1.14.0 (2022-10-18)

Features

  • expose registerComponent method from setupMUDNetwork (#207) (4b078bd)
  • mud.dev: add video content (ffca85e)

1.13.0 (2022-10-15)

Features

  • network: expose SystemsRegistry and ComponentsRegistry from setupMUDNetwork (373d62b)

1.12.0 (2022-10-12)

Bug Fixes

  • std-contracts: fix name of Uint32Component (#201) (82600e2)

Features

  • fail without error on certain checks and other improvements (#202) (f5d565e)

1.11.0 (2022-10-11)

Features

  • add BareComponent (#200) (780d62c)
  • relay: check account balance is greater than a configured amount (#194) (1cbbd5b)

1.10.0 (2022-10-11)

Features

  • ecs-browser: add support for modifying boolean values (1dba52e)

1.9.0 (2022-10-11)

Bug Fixes

  • solecs): only allow components to register their own updates, feat(std-client: add support for multiple overrides per component per action (#199) (d8dd63e)

Features

  • network: fall back to rpc if stream service errors (#190) (414e777)
  • services: grpc prometheus metrics (#196) (33e8959)

1.8.0 (2022-10-07)

Bug Fixes

  • network: use websocket to subscribe to relayer messages (8218249)
  • relay: open stream grpc endpoint not properly closing (#187) (1db4a7d)

Features

1.7.1 (2022-10-06)

Note: Version bump only for package mud

1.7.0 (2022-10-06)

Bug Fixes

  • ecs-browser: do not early return for entity 0 (bf36cc0)
  • relay: proper interval rate limiting and flag to control account balance check (#181) (e84ae44)

Features

  • add utils to normalize hex ids (#185) (170e963)
  • general service improvements (#179) (e0dac83)
  • services: service-side changes for health probes (#183) (da4cf91)
  • soleces: expose component functions set and remove internally without onlyWriter permissions (#182) (662936b)

1.6.0 (2022-10-04)

Bug Fixes

  • make OverridableComponent conform with Component type (#180) (c9d2c31)

Features

  • flag for sig verification, rate limiting of push, and check for balance when relaying (#175) (0271ac9)

1.5.1 (2022-10-03)

Note: Version bump only for package mud

1.5.0 (2022-10-03)

Features

  • add a stream rpc for message push (#174) (e0aa956)
  • faucet re-drip after tweet, rpc to get time until next drip (#173) (27b08fc)

1.4.1 (2022-10-03)

Note: Version bump only for package mud

1.4.0 (2022-10-03)

Features

  • add signature verification for all client actions via relay service (#167) (7920d6e)
  • faucet improvements (#168) (29d0b91)
  • network: add util for creating faucet service (#171) (9f50d9c)
  • network: expose mappings and ecsEvent$ from setupMUDNetwork (44a8676)

1.3.0 (2022-09-30)

Bug Fixes

  • network: remove failed actions from the queue (b27b958)
  • recs: change internal query behavior to match previous version (47b8834)
  • std-client: add stream service config to createMUDNetwork (98b0861)

Features

  • recs: add local cache component (#169) (09058f6)
  • recs: allow multiple subscribers per query update$ (6d13531)

1.2.0 (2022-09-29)

Bug Fixes

  • network: check event type instead of just value before decoding (#166) (f4dedd9)

Features

  • network: increase network performance by reducing unnecessary rpc calls (#165) (195b710)

1.1.0 (2022-09-28)

Features

  • add createRelayService, add utils to work with Uint8Arrays (#164) (b02992b)
  • basic faucet service implementation (#163) (3217176)
  • ecs-browser: make nameComponent and spawnPrototypeAt optional (7822d53)
  • initial implementation of ecs relay service (#157) (140aec3)

1.0.0 (2022-09-27)

Note: Version bump only for package mud

0.16.4 (2022-09-26)

Bug Fixes

  • network: cancel tx request if gas estimation failed (565b37f)

0.16.3 (2022-09-26)

Bug Fixes

  • do gas estimation right before sending tx to avoid invalid gas estimations (f251642)

0.16.2 (2022-09-26)

Note: Version bump only for package mud

0.16.1 (2022-09-26)

Note: Version bump only for package mud

0.16.0 (2022-09-26)

Bug Fixes

  • std-client: add generic type to waitForComponentValueIn (f1641d4)

Features

0.15.1 (2022-09-23)

Note: Version bump only for package mud

0.15.0 (2022-09-21)

Features

0.14.2 (2022-09-21)

Note: Version bump only for package mud

0.14.1 (2022-09-21)

Bug Fixes

0.14.0 (2022-09-20)

Bug Fixes

  • phaser input click$ stream (#152) (a7e1cfe)
  • phaserx: distinguish left and right click in click$ stream (#155) (004753d)
  • std-client: remove references to old phaser version (#153) (c691c6e)

Features

0.13.0 (2022-09-19)

Features

0.12.0 (2022-09-16)

Features

  • cli: forge bulk upload ecs state script (#142) (bbd6e1f)

0.11.1 (2022-09-15)

Bug Fixes

  • do not run prepack multiple times when publishing (4f6f4c3)

0.11.0 (2022-09-15)

Features

  • add more granularity to initial sync state report (#146) (d4ba338)

0.10.0 (2022-09-14)

Features

  • add chunk snapshot and stream service (#139) (8c9d4b3)
  • matching Perlin noise implementations in Solidity and AssemblyScript (#145) (29094c4)

0.9.0 (2022-09-13)

Bug Fixes

  • network: align hex entity id formatting (#140) (93b1bd6)

Features

  • network: add loading state component update stream to SyncWorker (#141) (824c4f3)

BREAKING CHANGES

  • network: The loading state component is attached to the entity with id 0x060D (GodID). The std-client package previously exported a different mudwar specific GodID, which has been replaced with the 0x060D GodID exported by the network package.

  • test(network): add test for LoadingState and fix existing tests

0.8.1 (2022-08-22)

Bug Fixes

  • start from initialBlockNumber, build settings, fix github actions, and other minor additions (#137) (08eab5c)

0.8.0 (2022-08-22)

Bug Fixes

  • fix mud.dev build and improve responsiveness (#134) (a3f2b24)

Features

0.7.0 (2022-08-19)

Features

0.6.0 (2022-08-15)

Code Refactoring

  • sync worker (+ integrated snapshot service) (#125) (6173b59)

BREAKING CHANGES

  • sync worker update stream returns component id instead of component key

  • test(network): add tests for sync utils and SyncWorker logic

  • chore: remove logs and improve comments

  • chore: add logs

Co-authored-by: andrii dobroshynski 24281657+andriidski@users.noreply.github.com

0.5.1 (2022-08-05)

Bug Fixes

  • only render prototype creator if required components are provided (#124) (d877b39)

0.5.0 (2022-08-05)

Bug Fixes

  • better getComponentValueStrict error message, small std-client fixes (#121) (5c78b82)
  • CacheWorker (#118) (bfe006e)
  • optimism, cancel action if gas check fails, add noise utils, fix ecs-browser entry point (#119) (f35d3c3)
  • phaserx: allow for multiple tweens on same objects by passing in… (#122) (d129836)

Features

  • ecs-browser: Allow spawning of prototypes at arbitrary locations (#117) (b31bfcd)
  • logging library with support for topics/filters (#123) (4eac3c6)
  • std-client: add player getter utils for std client (#120) (7a06f0b)

0.4.3 (2022-07-30)

Note: Version bump only for package mud

0.4.2 (2022-07-29)

Note: Version bump only for package mud

0.4.1 (2022-07-29)

Note: Version bump only for package mud

0.4.0 (2022-07-29)

Bug Fixes

  • cli: extract encoded arguments from signature (#116) (f630319)
  • recs: fix fragment types in system definitions (#109) (c74f393)

Features

  • add 3d components (d230339)
  • allow component overrides to be null (f9baf44)
  • cli: cli commands for better debugging (#113) (80ae128)
  • network: faster execution of multiple tx, better revert message logging (#111) (bee34dc)
  • phaser: expose set cursor function in phaser input (#110) (e377bb0)
  • phaserx: allow running phaser in headless mode for unit testing in jest (#112) (22bc4d8)

0.3.2 (2022-07-26)

Note: Version bump only for package mud

0.3.1 (2022-07-26)

Note: Version bump only for package mud

0.3.0 (2022-07-26)

Bug Fixes

  • fix deploying to hardhat using forge, check for existing persona in launcher (#56) (a0f954b)
  • ri: add MoveFacet to deploy script (#55) (ee381e1)
  • std-contracts: add openzeppelin to remappings to fix build (5db32a8)
  • use hardhat as node (better logs) and make hardhat compatible with forge (#54) (45a5981)

Features

0.2.0 (2022-07-05)

Bug Fixes

  • phaserx: do not call preventDefault on keyboard events (ac27fe2)

Features

  • add webworker architecture for contract/client sync, add cache webworker (#10) (4ef9f90), closes #14
  • cli: add vscode solidity config file to mud create projects (064546a)
  • component browser 📈 (#16) (37af75e)
  • contracts: add function to set contract ecs state in bulk (#23) (5bc8d2b)
  • contracts: replace hardhat with foundry toolkit (#51) (2c0e4a9)
  • network: integrate snapshot service (#24) (a146164)
  • on-chain maps (nyc sprint 1) (#38) (089c46d), closes #17 #20 #18 #25 #26 #27 #28 #29 #30 #31 #33 #32 #34 #35 #36 #37 #39 #40 #41 #42 #43 #44 #45 #46 #48 #49 #50
  • recs: add more granular type assertion function for introspecting Component schema types (#8) (48331f9)
  • recs: add optional parameters to reaction and autorun systems (451209f)
  • recs: expose raw schema on component (69d9b89)
  • recs: rewrite for performance improvements (without integrating in ri) (#22) (887564d)
  • ri-client: pass requirement function result into updates function in ActionRequest (#7) (bb60c5a)
  • solecs: create getUniqueEntityId function on World contract (#4) (a06a9c5)

BREAKING CHANGES

  • Components have to implement a getSchema() function

  • feat(network): make Sync worker return a stream of ECS events (prev contract events)

  • feat(ri-contracts): integrate solecs change (add getSchema to components)

  • feat(ri-client): integrate network package changes

  • feat(network): store ECS state in cache

  • feat(network): load state from cache

  • feat(utils): add more utils for iterables

  • refactor(network): clean up

  • feat(network): generalize component value decoder function, add tests

  • fix(network): make it possible to subscribe to ecsStream from sync worker multiple times

  • fix(network): start sync from provided initial block number

  • feat(network): move storing ecs to indexDB to its own Cache worker

  • feat(network): create separate cache for every World contract address

  • fix(network): fix issues discovered during live review

  • chore: remove unused import

  • Update packages/network/src/createBlockNumberStream.ts

Co-authored-by: ludens ludens@lattice.xyz

  • feat(network): add clock syncInterval as config parameter

  • feat(utils): emit values through componentToStream and observableToStream only if non-null

  • feat(network): add chain id to cache id, disable loading from cache on hardhat

  • fix(contracts): change Position and EntityType schema to int32/uint32 to fit in js number

  • docs(client): fix typos in comments

  • fix(network): fix tests

  • fix(scripting): integrate new network package into ri scripting

  • fix(network): fix sending multiple requests for component schema if many events get reduced

0.1.8 (2022-05-25)

Bug Fixes

  • @latticexyz/cli: fix create script (2c3b0db)
  • ri-client: change bufferCount to bufferTime to apply ecs updates immediately below threshold (03ecc70)

Performance Improvements

  • ri-contracts: disable hardhat automine (72d644a)

0.1.7 (2022-05-25)

Note: Version bump only for package mud

0.1.6 (2022-05-25)

Note: Version bump only for package mud

0.1.5 (2022-05-24)

Note: Version bump only for package mud

0.1.4 (2022-05-24)

Note: Version bump only for package mud

0.1.3 (2022-05-23)

Note: Version bump only for package mud

0.1.2 (2022-05-23)

Note: Version bump only for package mud

0.1.1 (2022-05-23)

Note: Version bump only for package mud

0.1.0 (2022-05-23)

Bug Fixes

  • @mud/network: do not increase nonce for view functions (233c4b5)
  • @mud/network: use component id for ecs event mapping (instead of address) (baa5f10)
  • @mud/network: use component id instead of address for mapping (39b516c)
  • @mud/solecs: early return from Component.remove if value does not exist (02f78c1)
  • ri-client: fix assuming component value is not undefined when using updateQuery (f93ee23)
  • ri-client: integrate client with new contract-side component ids (78bbdfb)
  • ri-client: type game contracts using combined facet abi (6bc48a8)

Features

  • @mud/cli: add deploy script to cli (99d0b70)
  • @mud/cli: add initial version of mud create script (72758cf)
  • @mud/cli: add mud cli and move diamond abi generation to cli (034af90)
  • @mud/network: add @mud/network (9a29452)
  • @mud/network: add option to ignore tx confirmation to txQueue, add ready state, add fetch log (438549a)
  • @mud/phaserx: add @mud/phaserx (cbefb71)
  • @mud/recs: add @mud/recs (aaf6d0f)
  • @mud/solecs: add @mud/solecs (84f05f0)
  • @mud/solecs: add advanced queries with support for relationships (e56f6f4)
  • @mud/utils: add @mud/utils package (fc721cc)
  • @mud/utils: add keccak256 hash function that accepts string inputs (ca1a4e0)
  • @mud/utils: add stretch rxjs operator to add a minimum delay between events in a rxjs stream (3a1673f)
  • ri-client: add client reference implementation (10a33cb)
  • ri-contracts: add contracts reference implementation (8709568)
  • ri-scripting: add light client to send tx at scale, add scripts for stresstest 1 (903b25c)

Performance Improvements

  • @mud/network: add initial sync in stages (d0c026a)
  • @mud/network: move sync and processing of chain events to a webworker (dad52ea)
  • @mud/solecs: add MapSet.sol to improve solecs Component performance (reduce gas) (678c7ac)
  • ri-client: throttle ECS event processing to 12000 per second (88726ec)
  • ri-client: use json rpc provider to send transactions and load block events (2455aeb)