chore(deps): update rust crate steamlocate to v2.0.1 #217

Open
renovate-bot wants to merge 1 commit from renovate/steamlocate-2.x-lockfile into master
Collaborator

This PR contains the following updates:

Package Type Update Change
steamlocate workspace.dependencies patch 2.0.0-beta.2 -> 2.0.1

Release Notes

WilliamVenner/steamlocate-rs (steamlocate)

v2.0.1

Compare Source

Just a small release to keep things up to date

Documentation

Dependencies

  • Update winreg from 0.52 -> 0.55 #​86

Internal

  • Make tests into into integration tests where possible #​87
  • Remove publish workflow #​88
  • Add a release checklist #​90

v2.0.0

Finally after a very long development period we're release version 2.0.0. Living up to the major version bump this release does involve breaking changes to most parts of the API. The majority of these changes fit into three core
themes:

  1. Iteratorification of the list all flavors of methods
  2. Exhaustively parsing Apps (previously SteamApps) to drop the public dependency on steamy-vdf
  3. Actually defining an Error type instead of returning ambiguous Nones

Let's dive right in

Iteratorification of the list all methods

Methods that would previously exhaustively collect some set of information and cache it like SteamDir::libraryfolders() and SteamDir::apps() now return iterators that walk over the set of information and returns values on the fly akin to APIs like std::fs::read_dir(). This has a couple of distinct advantages where we can return precise errors for each item ergonomically, and we can be lazier with our computation

Exhaustive Apps

We're trying to be a stable library since our major version is >0, but unfortunately there's not a stable VDF parser in sight. That's a bit problematic as we'll want to avoid relying on one in our public API, but that also means significant changes to how App would hold a steamy_vdf::Table representing the parsed appmanifest file. To mitigate this we attempt to exhaustively parse and provide as much data as we can from steam apps, and to top it off we also annotated it with #[non_exhaustive], so that more fields can be added in the future without a breaking change

An Error appears!

This is a significant improvement over the old API. Previously errors would be bubbled up as Nones that would lead to ambiguity over whether a None is from something not existing or simply failing to be parsed. We now religiously return errors to represent failure cases leaving it up to the consumer to decide whether to ignore the error or fail loudly

Where possible we try to include relevant information for the error, but several of the underlying types are intentionally opaque to avoid exposing unstable depdencies in our public API


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [steamlocate](https://github.com/WilliamVenner/steamlocate-rs) | workspace.dependencies | patch | `2.0.0-beta.2` -> `2.0.1` | --- ### Release Notes <details> <summary>WilliamVenner/steamlocate-rs (steamlocate)</summary> ### [`v2.0.1`](https://github.com/WilliamVenner/steamlocate-rs/blob/HEAD/CHANGELOG.md#201) [Compare Source](https://github.com/WilliamVenner/steamlocate-rs/compare/2.0.0...2.0.1) Just a small release to keep things up to date #### Documentation - Add a changelog [#&#8203;89](https://github.com/WilliamVenner/steamlocate-rs/issues/89) #### Dependencies - Update `winreg` from 0.52 -> 0.55 [#&#8203;86](https://github.com/WilliamVenner/steamlocate-rs/issues/86) #### Internal - Make tests into into integration tests where possible [#&#8203;87](https://github.com/WilliamVenner/steamlocate-rs/issues/87) - Remove publish workflow [#&#8203;88](https://github.com/WilliamVenner/steamlocate-rs/issues/88) - Add a release checklist [#&#8203;90](https://github.com/WilliamVenner/steamlocate-rs/issues/90) ### [`v2.0.0`](https://github.com/WilliamVenner/steamlocate-rs/blob/HEAD/CHANGELOG.md#200) Finally after a *very* long development period we're release version 2.0.0. Living up to the major version bump this release does involve breaking changes to most parts of the API. The majority of these changes fit into three core themes: 1. `Iterator`ification of the *list all* flavors of methods 2. Exhaustively parsing `App`s (previously `SteamApp`s) to drop the public dependency on `steamy-vdf` 3. Actually defining an `Error` type instead of returning ambiguous `None`s Let's dive right in #### `Iterator`ification of the *list all* methods Methods that would previously exhaustively collect some set of information and cache it like `SteamDir::libraryfolders()` and `SteamDir::apps()` now return iterators that walk over the set of information and returns values on the fly akin to APIs like `std::fs::read_dir()`. This has a couple of distinct advantages where we can return precise errors for each item ergonomically, and we can be lazier with our computation #### Exhaustive `App`s We're trying to be a stable library since our major version is >0, but unfortunately there's not a stable [VDF](https://developer.valvesoftware.com/wiki/KeyValues) parser in sight. That's a bit problematic as we'll want to avoid relying on one in our public API, but that also means significant changes to how `App` would hold a `steamy_vdf::Table` representing the parsed appmanifest file. To mitigate this we attempt to exhaustively parse and provide as much data as we can from steam apps, and to top it off we also annotated it with `#[non_exhaustive]`, so that more fields can be added in the future without a breaking change #### An `Error` appears! This is a *significant* improvement over the old API. Previously errors would be bubbled up as `None`s that would lead to ambiguity over whether a `None` is from something not existing or simply failing to be parsed. We now religiously return errors to represent failure cases leaving it up to the consumer to decide whether to ignore the error or fail loudly Where possible we try to include relevant information for the error, but several of the underlying types are intentionally opaque to avoid exposing unstable depdencies in our public API </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMiIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
renovate-bot added 1 commit 2025-04-11 19:01:25 +02:00
Some required checks are missing.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/steamlocate-2.x-lockfile:renovate/steamlocate-2.x-lockfile
git checkout renovate/steamlocate-2.x-lockfile
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: bitsquid_dt/dtmt#217
No description provided.