Skip to content

1.8.0

Latest

Choose a tag to compare

@LossyDragon LossyDragon released this 24 Dec 16:12
· 6 commits to master since this release
7ead3b7

Breaking:

ContentDownloader has been removed and remade from scratch now called DepotDownloader as a separate maven package (:javasteam-depotdownloader).

DepotDownloader mostly follows SteamRE/DepotDownloader internally.

See sample 023 on how to use the new way of downloading SteamApps. There is no migration path between ContentDownloader and DepotDownloader.

Thanks to all the contributors and users from GameNative for the countless bug hunting and testing!

Additions:

  • Revamped depot downloader implementation with Android optimization. Thanks @joshuatam and @utkarshdalal
  • Add SteamOS and LegionGoS enums to EGamingDeviceType
  • Add protobufs for Deadlock, Dota, and Counter-Strike 2.
  • Add steammessages_publishedfile protobuf. Thanks @asLody
  • Add Kotlin reified methods for Logger.getLogger(), SteamClient.addHandler(), and SteamClient.removeHandler().
  • Add Steam achievements support with expanded metadata parsing. See sample 032. Thanks @phobos665
  • Add EncryptedAppTicketCallback for SteamApps. Thanks @utkarshdalal
  • Add SteamClientCommunication for remote client control.

Fixes:

  • DepotManifest: Decrypt LinkTarget.
  • MessageObject: default KV name from "MessagObject" to "MessageObject".
  • ChatMemberInfo incorrect permissions value lookup.
  • GameID: Fix hashCode() value.
  • MemoryStream: read() to return -1 at end of stream. Thanks @asLody
  • CMClient: Optimize handleMulti() and getPacketMsg().
  • Adler32: Optimize checksum by unrolling.
  • Expose all CMsgClientPersonaState.Friend values in PersonaStateCallback.
  • Various performance optimizations in MemoryStream, BinaryReader, KeyValue, Utils, VZipUtil, VZstdUtil, ZipUtil, and DepotManifest.

Misc:

  • Partial implementation of peer to peer methods in SteamContent.
  • Port remaining classes in .types., .log., and .base. to Kotlin.
  • Update: Protobufs, steamd, and enums.
  • Update: dependencies and gradle.
  • Add @JavaSteamAnnotation annotation for classes, values, and methods added outside of SteamKit's implementation.