ArchipelagoMW-HollowKnight / Archipelago.HollowKnight

Hollow Knight mod enabling Archipelago multiworld interoperability.
MIT License
5 stars 10 forks source link

Bump Archipelago.MultiClient.Net from 5.0.6 to 6.0.1 #227

Closed dependabot[bot] closed 2 months ago

dependabot[bot] commented 3 months ago

Bumps Archipelago.MultiClient.Net from 5.0.6 to 6.0.1.

Release notes

Sourced from Archipelago.MultiClient.Net's releases.

Release 6.0.1

Changes:

  • session.ConnectionInfo.Game is now updated after successfully connecting, with the game of the slot you connected to
    • This fixes location and item name lookups for games connecting without providing a game

Release 6.0.0

Version 6.0.0 has been released (also available on nuget)

Breaking Changes (oof):

  • All members of ArchiepalgoSession are now provided as interfaces to improve unit testability
    • ReceivedItemsHelper > IReceivedItemsHelper
    • LocationCheckHelper > ILocationCheckHelper
    • PlayerHelper > IPlayerHelper
    • DataStorageHelper > IDataStorageHelper
    • ConnectionInfoHelper > IConnectionInfoProvider
    • RoomStateHelper > IRoomStateHelper
    • MessageLogHelper > IMessageLogHelper
  • Support for older servers that use version based data packages is completely dropped
  • DataStorage callbacks, both session.DataStorage["key"].OnValueChanged() aswel as session.DataStorage["key"] += Callback.Add() have received an additional arguments parameter
    • The parameter of type Dictionary<string, JToken> contains any additional arguments that where send to the server when the corresponding datastorage operation was ran
  • session.DataStorage now has support for BigInterger on .Net Framework 4.0 and higher
  • Changes to LocationCheckHelper:
    • ScoutLocationsAsync() now returns an Dictionary<long, ScoutedItemInfo>
    • GetLocationNameFromId() now has an additional optional games argument to specify the game to lookup the id in
      • game defaults to null where it will look into the game currently connected as
  • Changes to ReceivedItemsHelper:
    • GetItemName() now has an additional optional games argument to specify the game to lookup the id in
      • game defaults to null where it will look into the game currently connected as
    • .AllItemsReceived now returns a ReadOnlyCollection<ItemInfo> rather than ReadOnlyCollection<NetworkItem>
    • .PeekItem() and .DequeueItem now has return a type ItemInfo rather than NetworkItem
      • This means that when there is no item to in the queue, it will return null rather then an default struct
  • ItemSendLogMessage and its descendants HintItemSendLogMessage & ItemCheatLogMessage property Item changed type to ItemInfo rather than NetworkItem
  • Removal of previusly deprecated stuff:
    • ReceivingPlayerSlot and SendingPlayerSlot on ItemSendLogMessage, HintItemSendLogMessage have been removed
    • RoomInfoPacket.DataPackageVersions has been removed
    • Datastorage operation << and >> have been removed

New Features:

  • Support added for overlapping id's in datapackage
  • Api documentation is now available on https://archipelagomw.github.io/Archipelago.MultiClient.Net/index.html
  • New methods on ArchipelagoSession so the client can avoid using session.socket.SendPacket
    • Say() send a message on behalf of the player
    • SetGoalAchieved() mark the current slot as completed
    • SetClientState() update the status of the current client
  • ScoutLocationsAsync has a new overload with an HintCreationPolicy that allows the creation of hints that only get broadcasted once
  • ItemInfo is now used in instead of NetworkItem,
    • its now a class rather than struct
      • this means the default value will be null rather then an default empty struct
      • this also means it can nolonger be implicitly compared itemA == itemB
    • it provides properties to easily resolve names: .ItemName, .LocationName, .ItemDisplayName, .LocationDisplayName

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 2 months ago

Superseded by #228.