* chore(deps): update crc32fast to v1.5
* chore(deps): update ureq to v2.12
* chore(deps): update phf to v0.13
* chore(deps): update clap to v4.5
* chore(deps): update lazy_static to v1.5
* chore(deps): update thiserror to v2.0.16
* chore(deps): update clap to v4.5
* chore(deps): update bson to v2.15
* chore(deps): update base64 to v0.22
* chore(deps): update quick-xml to v0.38
* chore(deps): update webbrowser to v1.0
* chore(clippy): fix a load of "variables can be used directly"
* chore(ci): update MSRV toolchain to 1.82.0
* chore(pre-commit): update MSRV to 1.82.0
* chore(README): update Minimum Supported Rust Version to 1.82.0
* chore(VERSIONS): update MSRV to 1.82.0
* chore(cli): bump version to 0.4.0 and update MSRV to 1.82.0
* chore(release): bump version to 0.8.0 and update MSRV to 1.82.0
* tidy: Move TimeoutSettings out of protocol types
* tidy: Move game type to a types file
* tidy: Move generic query functions to own file
* tidy: Move ExtraRequestSettings to game types
* tidy: Move generic query functions into games module
* Revert "tidy: Move ExtraRequestSettings to game types"
This reverts commit aa0d23fc2acc12d68f03265a9caff6f98bf25054.
* Revert "tidy: Move TimeoutSettings out of protocol types"
This reverts commit 7ee10711ed11f17cc06565d4cc9102040d53a319.
* tidy: Re-export types needed for query at the root
* Add/Update badge
---------
Co-authored-by: GitHub Action <action@github.com>
* cli: Do DNS lookup if host is not an IP address
* cli: Add option to output as JSON
* cli: Pass hostname to ExtraRequestSettings if it isn't an IP
* cli: Add help docs to all arguments
* cli: Add options for all extra request settings
* cli: Use a CLI only error for DNS
* cli: Add option to set timeout settings
* docs: Update CHANGELOG
* cli: Add default values to TimeoutSettings
* cli: Refactor finding game definition into its own function
Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com>
* cli: Refactor IP resolution into its own set of functions
Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com>
* cli: Refactor output formatting into its own functions
Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com>
* cli: Improve doc comments for CLI args and derive Debug
Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com>
* protocols: Derive Serialize for versioned generic responses
This allows for serializing the output of as_original(). We cannot also
derive Deserialize here because the enums use references to the inner
types, which is unavoidable in the current implementation because
as_original() takes a reference to self.
* cli: Add the output mode options
This allows selected whether to use CommonResponse or the original
response struct when outputting.
* cli: Fix ExtraRequestSettings docs showing up in help output
* cli: Add help headings for timeouts and extra request settings
---------
Co-authored-by: Cain <75994858+cainthebest@users.noreply.github.com>