Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Goodbye v1.0 Hello v2.0 #63

Merged
merged 33 commits into from
Feb 25, 2024
Merged

Goodbye v1.0 Hello v2.0 #63

merged 33 commits into from
Feb 25, 2024

Conversation

CosmicHorrorDev
Copy link
Collaborator

I'll likely do some history cleanup (and at the very least resolve the merge conflicts), but it things are far enough along that this seems appropriate now. There's a lot that could be said, but I don't want to throw up a wall of text. This version is already published, so you can view the docs here

CosmicHorrorDev and others added 29 commits December 30, 2023 11:29
* feat: Switch appmanifest parsing to use `keyvalues-serde`

* feat: Add example to showcase `SteamApp` struct changes

* chore: Remove lingering debug `println!()`

* fix: Switch some fields to optional

* feat: Add `dlcappid` and `LauncherPath` to manifest

* fix: Add more missing fields to `SteamApp`

* Parsing tweaks

* Expose `crate::steamapp` types

* Placate clippy
* Hack together experimental API

* Get tests passing

* Dont use the apps listing from `libraryfolders.vdf`

* Fix windows build

* Remove caching of values

* Placate clippy
* Add additional Steam search paths for Linux

* Fix invalid return type for locate_steam_dir

* Fix formatting-related CI fail
* `cargo upgrade`

* `cargo upgrade --incompatible`

Everything seems to work fine on my machine. We'll see if CI has
anything to say otherwise. We should really beef up our test suite too,
but now I'm rambling
* Switch tests to run in isolated dummy steam installations

* Placate clippy
* Run `cargo test` in CI

* `#[ignore]` a couple lingering doctests
* Bundle existing CI jobs into one

* Run CI on more platforms

* Use `dtolnay/rust-toolchain` action

* Setup CI caching

* Run CI on stable and beta
* `ParseErrorInner` should **not** be part of the public API

* `LibaryFolders` -> `LibraryFolders`

* Make `Error` non-exhaustive

* Add path to io error

* Add path to parse error

* Remove erroneous print

* Fixup error for missing app installation
* Refactor `StateFlags`

* Restructure public api

* `cargo fmt`
* Move unsupported OS failure to runtime

* Move `locate()` behind a feature flag
* add method to query configured compatibility tool

* Update things to better match new structure

---------

Co-authored-by: Jan200101 <sentrycraft123@gmail.com>
* Expose `Library::from_dir()`

* Add a way to get just library paths
* Rename `InstallDir` back to `SteamDir`

* `FlagIter` -> `StateFlagIter`

* `tests::test_helpers` -> `tests::helpers`

* Conditionally ignore `shortcuts_extras` test
* Bump version to v2.0.0-alpha.1

* Make `App` plain data
* Finally found an approach to doctest dependecies thats decent

* Overhaul landing page

* Make github syntax highlighting happy

* `cargo fmt`

* Overhaul all remaining existing docs

* `cargo fmt`
* `SteamDir::from_steam_dir` -> `SteamDir::from_dir`

* `shortcuts_extra` is now just part of `steamlocate`

* Make `app_id` name more consistent

* `cargo fmt`

* Update the README

* Bump version to v2.0.0-beta.0
* Remove need to use `tempfile`

* Bump version to v2.0.0-beta.1
@CosmicHorrorDev
Copy link
Collaborator Author

Alright that should clean up the history so that these changes are on top of master now

@CosmicHorrorDev
Copy link
Collaborator Author

Hiya @WilliamVenner! I know you're probably just busy with life and all right now. Unless you say otherwise I'm planning on merging this and pushing for the v2.0 release within the next month or so

@WilliamVenner
Copy link
Owner

It's brilliant, go for it :D

@CosmicHorrorDev CosmicHorrorDev merged commit 2a518c9 into master Feb 25, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants