diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml
deleted file mode 100644
index 543c56c..0000000
--- a/.github/workflows/cache.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-# Forces `gupax.io` to cache stuff every day.
-
-name: Cache `gupax.io`
-on:
-  workflow_dispatch:
-  push:
-    branches: [ "main" ]
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v3
-    - name: Cache
-      run: |
-        wget \
-          --wait=1 \
-          --random-wait \
-          -e robots=off \
-          --header='Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' \
-          --header='Accept-Encoding: identity' \
-          --header='Accept-Language: en-US,en;q=0.5' \
-          --header='Connection: keep-alive' \
-          --header='Host: gupax.io' \
-          --header='Sec-Fetch-Dest: document' \
-          --header='Sec-Fetch-Mode: navigate' \
-          --header='Sec-Fetch-Site: same-origin' \
-          --header='Sec-Fetch-User: ?1' \
-          --header='TE: trailers' \
-          --header='Upgrade-Insecure-Requests: 1' \
-          --header='User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0' \
-          --recursive \
-          --page-requisites \
-          --html-extension \
-          --convert-links \
-          --no-parent \
-          --show-progress \
-          --tries=0 \
-          --domains "gupax.io" \
-          "https://gupax.io"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7485ba1..3eabf43 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,16 +16,16 @@ jobs:
 
     strategy:
       matrix:
-        os: [windows-2019, macos-11, ubuntu-20.04]
+        os: [macos-latest, ubuntu-latest]
 
     steps:
     - name: Checkout
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
       with:
         submodules: recursive
 
     - name: Cache
-      uses: actions/cache@v3
+      uses: actions/cache@v4
       with:
         path: |
           ~/.cargo
@@ -36,7 +36,8 @@ jobs:
       run: |
         if [ "$RUNNER_OS" == "Linux" ]; then
           sudo apt update
-          sudo apt install -y libgtk-3-dev
+          sudo apt install -y libgtk-3-dev mingw-w64
+          rustup target install x86_64-pc-windows-gnu
         elif [ "$RUNNER_OS" == "macOS" ]; then
           cargo install cargo-bundle
           rustup target install aarch64-apple-darwin
@@ -58,28 +59,27 @@ jobs:
           cargo build --release --target x86_64-unknown-linux-gnu
           mv target/x86_64-unknown-linux-gnu/release/gupaxx .
           tar -cf linux.tar gupaxx
-        else
-          cargo build --release
+          cargo build --release --target x86_64-pc-windows-gnu
         fi
       shell: bash
 
     - name: Archive (Windows)
-      if: ${{ runner.os == 'Windows' }}
-      uses: actions/upload-artifact@v3
+      if: ${{ runner.os == 'Linux' }}
+      uses: actions/upload-artifact@v4
       with:
         name: windows
-        path: target/release/gupaxx.exe
+        path: target/x86_64-pc-windows-gnu/release/gupaxx.exe
 
     - name: Archive
       if: ${{ runner.os == 'macOS' }}
-      uses: actions/upload-artifact@v3
+      uses: actions/upload-artifact@v4
       with:
         name: macos
         path: macos.tar
 
     - name: Archive (Linux)
       if: ${{ runner.os == 'Linux' }}
-      uses: actions/upload-artifact@v3
+      uses: actions/upload-artifact@v4
       with:
         name: linux
         path: linux.tar
diff --git a/.github/workflows/download.yml b/.github/workflows/download.yml
deleted file mode 100644
index d333e65..0000000
--- a/.github/workflows/download.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-# Attempts to download all files from `gupax.io`
-# and verify the SHA256SUMS & PGP signature.
-
-name: gupax.io
-on:
-  workflow_dispatch:
-  push:
-    branches: [ "main" ]
-
-env:
-  CARGO_TERM_COLOR: always
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v3
-    - name: Download Windows Bundle
-      run: wget --content-disposition "https://gupax.io/windows-bundle"
-    - name: Download Windows Standalone
-      run: wget --content-disposition "https://gupax.io/windows"
-    - name: Download macOS-x64 Bundle
-      run: wget --content-disposition "https://gupax.io/macos-x64-bundle"
-    - name: Download macOS-x64 Standalone
-      run: wget --content-disposition "https://gupax.io/macos-x64"
-    - name: Download macOS-arm64 Bundle
-      run: wget --content-disposition "https://gupax.io/macos-arm64-bundle"
-    - name: Download macOS-arm64 Standalone
-      run: wget --content-disposition "https://gupax.io/macos-arm64"
-    - name: Download Linux Bundle
-      run: wget --content-disposition "https://gupax.io/linux-bundle"
-    - name: Download Linux Standalone
-      run: wget --content-disposition "https://gupax.io/linux"
-    - name: Download Hashes
-      run: wget --content-disposition "https://gupax.io/sha256sums"
-    - name: Download PGP key
-      run: wget --content-disposition "https://gupax.io/hinto"
-    - name: Verify PGP key
-      run: bash -c "[[ $(sha256sum "hinto.asc" | awk '{print $1}') == 02242a2c4b4dfb2f49d30a15630a301c72910e6e5c212d432c8b7ff438696b00 ]]"
-    - name: Import PGP key
-      run: gpg --import hinto.asc
-    - name: Verify Hashes
-      run: sha256sum -c SHA256SUMS.txt
-    - name: Verify PGP Signature
-      run: gpg --verify SHA256SUMS.txt
-    - name: Remove Old Hashes
-      run: rm SHA256SUMS.txt
-    - name: Download Hashes (GitHub)
-      run: wget --content-disposition "https://github.com/hinto-janai/gupax/releases/latest/download/SHA256SUMS"
-    - name: Verify Hashes (GitHub)
-      run: sha256sum -c SHA256SUMS
-    - name: Verify PGP Signature (GitHub)
-      run: gpg --verify SHA256SUMS
diff --git a/.github/workflows/ping.yml b/.github/workflows/ping.yml
deleted file mode 100644
index 984f9f0..0000000
--- a/.github/workflows/ping.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-# This uses the unit test in the [node.rs] file to ping all REMOTE_NODES
-# and attempts to serialize their JSON data to make sure they are working.
-
-name: Remote Node Ping
-on:
-  schedule:
-    - cron: "0 4 * * *"
-  push:
-    branches: [ "main" ]
-  pull_request:
-    branches: [ "main" ]
-
-env:
-  CARGO_TERM_COLOR: always
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-    - name: Cache
-      uses: actions/cache@v3.2.3
-      with:
-        path: |
-          ~/.cargo/registry
-          ~/.cargo/git
-          target
-        key: ping
-    - uses: actions/checkout@v3
-    - name: Install dependencies
-      run: |
-        sudo apt update
-        sudo apt install -y libgtk-3-dev
-    - name: Ping
-      run: cargo test -- --ignored --nocapture
diff --git a/.github/workflows/typo.yml b/.github/workflows/typo.yml
index 7b00ad6..91235c8 100644
--- a/.github/workflows/typo.yml
+++ b/.github/workflows/typo.yml
@@ -17,6 +17,6 @@ jobs:
     runs-on: ubuntu-latest
     steps:
     - name: Checkout
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
     - name: Spell Check
       uses: crate-ci/typos@master
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 78496e2..a323968 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,19 @@
+# v1.0.0
+Stable release
+
+## Changes
+### Internal
+use latest OS for github CI  
+bump deps  
+remove unused CI actions  
+
+## Fixes
+fix https://github.com/Cyrix126/gupaxx/issues/1  
+
+## Bundled Versions
+* [`P2Pool v3.10`](https://github.com/SChernykh/p2pool/releases/tag/v3.10)  
+* [`XMRig v6.21.1`](https://github.com/xmrig/xmrig/releases/tag/v6.21.1)  
+
 # v0.1.10
 Fix release for beta version.  
 This version is only made for testing purposes and have feedback.  
diff --git a/Cargo.lock b/Cargo.lock
index 08b6d9b..ceac373 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -365,9 +365,9 @@ dependencies = [
 
 [[package]]
 name = "async-executor"
-version = "1.9.1"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10b3e585719c2358d2660232671ca8ca4ddb4be4ce8a1842d6c2dc8685303316"
+checksum = "5f98c37cf288e302c16ef6c8472aad1e034c6c84ce5ea7b8101c98eb4a802fee"
 dependencies = [
  "async-lock 3.3.0",
  "async-task",
@@ -666,12 +666,6 @@ dependencies = [
  "rustc-demangle",
 ]
 
-[[package]]
-name = "base64"
-version = "0.21.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
-
 [[package]]
 name = "base64"
 version = "0.22.0"
@@ -925,9 +919,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.90"
+version = "1.0.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
+checksum = "1fd97381a8cc6493395a5afc4c691c1084b3768db713b73aa215217aa245d153"
 dependencies = [
  "jobserver",
  "libc",
@@ -1328,9 +1322,9 @@ dependencies = [
 
 [[package]]
 name = "downcast-rs"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
+checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
 
 [[package]]
 name = "ecolor"
@@ -1908,9 +1902,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.12"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
 dependencies = [
  "cfg-if",
  "libc",
@@ -2075,7 +2069,7 @@ dependencies = [
 
 [[package]]
 name = "gupaxx"
-version = "0.1.10"
+version = "1.0.0"
 dependencies = [
  "anyhow",
  "benri",
@@ -2122,9 +2116,9 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.4.0"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e"
+checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
 dependencies = [
  "cfg-if",
  "crunchy",
@@ -3646,7 +3640,7 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19"
 dependencies = [
- "base64 0.22.0",
+ "base64",
  "bytes",
  "futures-core",
  "futures-util",
@@ -3792,11 +3786,11 @@ dependencies = [
 
 [[package]]
 name = "rustls-pemfile"
-version = "2.1.1"
+version = "2.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f48172685e6ff52a556baa527774f61fcaa884f59daf3375c62a3f1cd2549dab"
+checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
 dependencies = [
- "base64 0.21.7",
+ "base64",
  "rustls-pki-types",
 ]
 
@@ -3819,9 +3813,9 @@ dependencies = [
 
 [[package]]
 name = "rustversion"
-version = "1.0.14"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
 
 [[package]]
 name = "ryu"
@@ -4967,9 +4961,9 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.13"
+version = "0.8.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1b04c569c83a9bb971dd47ec6fd48753315f4bf989b9b04a2e7ca4d7f0dc950"
+checksum = "dd595fb70f33583ac61644820ebc144a26c96028b625b96cafcd861f4743fbc8"
 dependencies = [
  "core-foundation",
  "home",
@@ -5103,9 +5097,9 @@ dependencies = [
 
 [[package]]
 name = "widestring"
-version = "1.0.2"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8"
+checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311"
 
 [[package]]
 name = "winapi"
diff --git a/Cargo.toml b/Cargo.toml
index 4b2a804..692e72f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,7 +1,7 @@
 cargo-features = ["profile-rustflags"]
 [package]
 name = "gupaxx"
-version = "0.1.10"
+version = "1.0.0"
 authors = ["cyrix126 <gupaxx@baermail.fr>"]
 description = "Fork of Gupax integrating the XMRvsBeast Raffle "
 documentation = "https://github.com/cyrix126/gupaxx"
diff --git a/README.md b/README.md
index 321be1a..0603273 100644
--- a/README.md
+++ b/README.md
@@ -2,11 +2,7 @@
 
 ## Status of development
 
-This fork is a work in progress, trying to achieve the bounty [**A fork of GUPAX integrating the XMRvsBeast Bonus Hashrate Raffle for P2Pool Miners**](https://bounties.monero.social/posts/105).
-
-It is not yet ready for stable release. It works in theory but not yet tested enough. Please feel free to test the beta release and open an issue if you encounter an anomaly.
-
-You can see the progress with [TODO](TODO_XMRvsBeast.md)
+This fork has a stable release. It is intended for end users and offers a friendly easy user experience.
 
 ## Gupaxx
 
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 277ebfd..cd3fbd7 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,4 +1,4 @@
 [toolchain]
-channel = "nightly-2024-03-21"
+channel = "nightly-2024-04-08"
 components = [ "rustfmt", "rustc-dev", "cargo", "clippy", "rustc-codegen-cranelift-preview", "rust-analyzer"]
 target = ["x86_64-unknown-linux-gnu", "aarch64-apple-darwin", "x86_64-apple-darwin","x86_64-pc-windows-gnu"]