From 7cf198516cf757fde77497bd3e4daf6959129319 Mon Sep 17 00:00:00 2001 From: Sreehari Anil Date: Wed, 5 Aug 2026 18:11:47 +0530 Subject: [PATCH 1/2] dev: bump the msrv to 1.81.0 --- .github/workflows/basic-ci.yml | 2 +- Cargo.toml | 2 +- README.md | 2 +- rust-toolchain.toml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/basic-ci.yml b/.github/workflows/basic-ci.yml index dfeef6a..20e8f1a 100644 --- a/.github/workflows/basic-ci.yml +++ b/.github/workflows/basic-ci.yml @@ -27,7 +27,7 @@ jobs: submodules: true - name: Toolchain (stable with rustfmt, clippy) - uses: dtolnay/rust-toolchain@1.78 + uses: dtolnay/rust-toolchain@1.81.0 with: components: rustfmt, clippy diff --git a/Cargo.toml b/Cargo.toml index ebc3786..fb5b74d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ repository = "https://github.com/Sreehari425/presenceforge" license = "MIT OR Apache-2.0" keywords = ["discord", "rpc", "rich-presence", "ipc", "gaming"] categories = ["api-bindings", "games"] -rust-version = "1.78.0" +rust-version = "1.81.0" # Configuration for docs.rs to build documentation with all features [package.metadata.docs.rs] diff --git a/README.md b/README.md index b74a1a8..9967ebf 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ A Rust library for Discord Rich Presence that actually works without the headaches. No more fighting with the Discord SDK or dealing with complex C bindings. [![License](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg)](https://github.com/Sreehari425/presenceforge#license) -[![Rust](https://img.shields.io/badge/rust-1.78+-blue.svg)](https://www.rust-lang.org) +[![Rust](https://img.shields.io/badge/rust-1.81+-blue.svg)](https://www.rust-lang.org) ![Crates.io Version](https://img.shields.io/crates/v/presenceforge) > **Note**: This is currently in development (v0.2.1). Things might break. diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 098f812..ef6dd7c 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.78.0" +channel = "1.81.0" components = ["rustfmt", "clippy", "rust-src"] From 6155d35aba8c5b4ed03bd58dcf0b794e2136b995 Mon Sep 17 00:00:00 2001 From: Sreehari Anil Date: Wed, 5 Aug 2026 18:17:01 +0530 Subject: [PATCH 2/2] chore: update documentation --- Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 10 +++++----- changelogs/0.3.0.md | 9 +++++++++ docs/ACTIVITY_BUILDER_REFERENCE.md | 2 +- docs/API_REFERENCE.md | 2 +- docs/ASYNC_RUNTIMES.md | 14 +++++++------- docs/FAQ.md | 8 ++++---- docs/GETTING_STARTED.md | 12 ++++++------ src/lib.rs | 6 +++--- 10 files changed, 38 insertions(+), 29 deletions(-) create mode 100644 changelogs/0.3.0.md diff --git a/Cargo.lock b/Cargo.lock index d4929c8..9af98fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -758,7 +758,7 @@ dependencies = [ [[package]] name = "presenceforge" -version = "0.2.1" +version = "0.3.0" dependencies = [ "async-std", "blocking", diff --git a/Cargo.toml b/Cargo.toml index fb5b74d..5145e6b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "presenceforge" -version = "0.2.1" +version = "0.3.0" edition = "2021" authors = ["Sreehari Anil "] description = "A library for Discord Rich Presence (IPC) integration" diff --git a/README.md b/README.md index 9967ebf..b1485cc 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A Rust library for Discord Rich Presence that actually works without the headach [![Rust](https://img.shields.io/badge/rust-1.81+-blue.svg)](https://www.rust-lang.org) ![Crates.io Version](https://img.shields.io/crates/v/presenceforge) -> **Note**: This is currently in development (v0.2.1). Things might break. +> **Note**: This is currently in development (v0.3.0). Things might break. > This is a learning/hobby project. > Features and APIs may change in future versions. @@ -42,18 +42,18 @@ Add PresenceForge to your `Cargo.toml`: ```toml [dependencies] -presenceforge = "0.2.1" +presenceforge = "0.3.0" ``` For async support, add one of the runtime features: ```toml [dependencies] -presenceforge = { version = "0.2.1", features = ["tokio-runtime"] } +presenceforge = { version = "0.3.0", features = ["tokio-runtime"] } # OR -presenceforge = { version = "0.2.1", features = ["async-std-runtime"] } +presenceforge = { version = "0.3.0", features = ["async-std-runtime"] } # OR -presenceforge = { version = "0.2.1", features = ["smol-runtime"] } +presenceforge = { version = "0.3.0", features = ["smol-runtime"] } ``` ### Basic Usage (Synchronous) diff --git a/changelogs/0.3.0.md b/changelogs/0.3.0.md new file mode 100644 index 0000000..0a13b08 --- /dev/null +++ b/changelogs/0.3.0.md @@ -0,0 +1,9 @@ +## [0.3.0] - release + +### Changed (Breaking) + +#### Minimum Supported Rust Version (MSRV) + +- Bumped MSRV to Rust `1.81.0` in `Cargo.toml` and pinned channel to `1.81.0` in `rust-toolchain.toml`. +- Upgraded CI workflow configuration to target Rust 1.81.0. +- Required to maintain full compatibility with `thiserror` v2 (which relies on `core::error::Error` stabilized in Rust 1.81.0). diff --git a/docs/ACTIVITY_BUILDER_REFERENCE.md b/docs/ACTIVITY_BUILDER_REFERENCE.md index ed2fbc0..f1a294e 100644 --- a/docs/ACTIVITY_BUILDER_REFERENCE.md +++ b/docs/ACTIVITY_BUILDER_REFERENCE.md @@ -194,7 +194,7 @@ let end_time = now + 300; ### 8. **Secrets** (For "Ask to Join" and Spectate features) > **⚠️ Feature Flag Required:** These methods require the `secrets` feature flag to be enabled. -> Add to your `Cargo.toml`: `presenceforge = { version = "0.2.1", features = ["secrets"] }` +> Add to your `Cargo.toml`: `presenceforge = { version = "0.3.0", features = ["secrets"] }` #### Note: untested feature diff --git a/docs/API_REFERENCE.md b/docs/API_REFERENCE.md index 7e51a8b..586c4f5 100644 --- a/docs/API_REFERENCE.md +++ b/docs/API_REFERENCE.md @@ -2,7 +2,7 @@ API reference for PresenceForge (work-in-progress; APIs may change). -> **Note:** PresenceForge v0.2.1 is an early development release. +> **Note:** PresenceForge v0.3.0 is an early development release. > It’s functional, but features may change or be incomplete. ## Table of Contents diff --git a/docs/ASYNC_RUNTIMES.md b/docs/ASYNC_RUNTIMES.md index ae83db1..a9dad16 100644 --- a/docs/ASYNC_RUNTIMES.md +++ b/docs/ASYNC_RUNTIMES.md @@ -1,6 +1,6 @@ # Async Runtimes Guide -> **Note:** PresenceForge v0.2.1 is an early development release. +> **Note:** PresenceForge v0.3.0 is an early development release. > It’s functional, but features may change or be incomplete. ## Table of Contents @@ -63,13 +63,13 @@ Add to your `Cargo.toml` with **one** of these feature flags: ```toml [dependencies] # For Tokio -presenceforge = { version = "0.2.1", features = ["tokio-runtime"] } +presenceforge = { version = "0.3.0", features = ["tokio-runtime"] } # For async-std -presenceforge = { version = "0.2.1", features = ["async-std-runtime"] } +presenceforge = { version = "0.3.0", features = ["async-std-runtime"] } # For smol -presenceforge = { version = "0.2.1", features = ["smol-runtime"] } +presenceforge = { version = "0.3.0", features = ["smol-runtime"] } ``` **This exact code works with all three runtimes:** @@ -141,7 +141,7 @@ Add to your `Cargo.toml`: ```toml [dependencies] -presenceforge = { version = "0.2.1", features = ["tokio-runtime"] } +presenceforge = { version = "0.3.0", features = ["tokio-runtime"] } tokio = { version = "1", features = ["rt-multi-thread", "macros"] } ``` @@ -322,7 +322,7 @@ async-std provides an async API similar to the standard library. ```toml [dependencies] -presenceforge = { version = "0.2.1", features = ["async-std-runtime"] } +presenceforge = { version = "0.3.0", features = ["async-std-runtime"] } async-std = { version = "1", features = ["attributes"] } ``` @@ -422,7 +422,7 @@ smol is a small and fast async runtime. ```toml [dependencies] -presenceforge = { version = "0.2.1", features = ["smol-runtime"] } +presenceforge = { version = "0.3.0", features = ["smol-runtime"] } smol = "2" ``` diff --git a/docs/FAQ.md b/docs/FAQ.md index 77ffb53..fba4b1a 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -52,11 +52,11 @@ git ls-remote git@github.com:Sreehari425/presenceforge.git If SSH works but you still have issues, please report them on GitHub Issues. -For now, use version `0.2.1` instead: +For now, use version `0.3.0` instead: ```toml [dependencies] -presenceforge = "0.2.1" +presenceforge = "0.3.0" ``` --- @@ -74,7 +74,7 @@ The feature is called `tokio-runtime`, not `tokio`: ```toml [dependencies] -presenceforge = { version = "0.2.1", features = ["tokio-runtime"] } +presenceforge = { version = "0.3.0", features = ["tokio-runtime"] } ``` Valid features: `tokio-runtime`, `async-std-runtime`, `smol-runtime` @@ -94,7 +94,7 @@ Make sure you're using compatible versions: ```toml [dependencies] -presenceforge = { version = "0.2.1", features = ["tokio-runtime"] } +presenceforge = { version = "0.3.0", features = ["tokio-runtime"] } tokio = { version = "1", features = ["full"] } # Use version 1.x ``` diff --git a/docs/GETTING_STARTED.md b/docs/GETTING_STARTED.md index f9f0228..7228a57 100644 --- a/docs/GETTING_STARTED.md +++ b/docs/GETTING_STARTED.md @@ -2,7 +2,7 @@ Welcome to PresenceForge! This guide will help you get started with integrating Discord Rich Presence into your Rust application. -> **Note:** PresenceForge v0.2.1 is an early development release. +> **Note:** PresenceForge v0.3.0 is an early development release. > It’s functional, but features may change or be incomplete. ## What is Discord Rich Presence? @@ -36,7 +36,7 @@ Add PresenceForge to your `Cargo.toml`: ```toml [dependencies] -presenceforge = "0.2.1" +presenceforge = "0.3.0" ``` ### With Async Support @@ -46,13 +46,13 @@ If you need async support, add one of the runtime features: ```toml [dependencies] # For Tokio users -presenceforge = { version = "0.2.1", features = ["tokio-runtime"] } +presenceforge = { version = "0.3.0", features = ["tokio-runtime"] } # For async-std users -presenceforge = { version = "0.2.1", features = ["async-std-runtime"] } +presenceforge = { version = "0.3.0", features = ["async-std-runtime"] } # For smol users -presenceforge = { version = "0.2.1", features = ["smol-runtime"] } +presenceforge = { version = "0.3.0", features = ["smol-runtime"] } ``` ## Your First Rich Presence @@ -70,7 +70,7 @@ cd my-discord-presence ```toml [dependencies] -presenceforge = "0.2.1" +presenceforge = "0.3.0" ``` ### Step 3: Write your first presence diff --git a/src/lib.rs b/src/lib.rs index b90cf0b..9d1b0c6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -55,7 +55,7 @@ //! //! ```toml //! [dependencies] -//! presenceforge = { version = "0.2.1", features = ["tokio-runtime"] } +//! presenceforge = { version = "0.3.0", features = ["tokio-runtime"] } //! tokio = { version = "1", features = ["rt-multi-thread", "macros"] } //! ``` //! @@ -90,7 +90,7 @@ //! //! ```toml //! [dependencies] -//! presenceforge = { version = "0.2.1", features = ["async-std-runtime"] } +//! presenceforge = { version = "0.3.0", features = ["async-std-runtime"] } //! async-std = { version = "1", features = ["attributes"] } //! ``` //! @@ -125,7 +125,7 @@ //! //! ```toml //! [dependencies] -//! presenceforge = { version = "0.2.1", features = ["smol-runtime"] } +//! presenceforge = { version = "0.3.0", features = ["smol-runtime"] } //! smol = "2" //! ``` //!