feat: Release 1.1.0

This commit is contained in:
Cyrix126 2024-04-21 16:59:13 +02:00
parent 228d1e8f8e
commit 9434cce1fe
13 changed files with 52 additions and 14 deletions

View file

@ -1,3 +1,35 @@
# v1.1.0
Stable release, bugfixes and new features.
## Changes
### UI
- Update xmrig and p2pool only if bundle button is checked.
- Default value for bundle button depends of bundle or standalone version.
- Ask user to restart Gupaxx after updating.
- Prevent user to update twice without restart.
### Internal
- Bump deps
- Update CI to produce different Gupaxx binary for standalone and bundle version.
- Update tools release to include different default value depending of standalone and bundle version.
- Use bundled XMRig and P2Pool of Gupaxx instead of upstream version.
- Update test
### Doc
- Update DIFFERENCES and ARCHITECTURE to reflect updates differences.
## Fixes
- fix temporary directories of updates not deleted introduced in fork
- fix https://github.com/Cyrix126/gupaxx/issues/3
- fix https://github.com/Cyrix126/gupaxx/issues/4
- fix https://github.com/Cyrix126/gupaxx/issues/5
## Notes
### Do not use built in updates to upgrade to this version
This update bump the 1.x.0 number, which would mean breaking changes. However, it is only because updating previously from Gupaxx (in =<1.0.0) without manually downloading from github release would upgrade P2Pool and XMRig from upstream, which is a behaviour that has been modified in this release.
No configuration file change is needed, just update from github for this release.
## 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)
# v1.0.0
Stable release

2
Cargo.lock generated
View file

@ -2125,7 +2125,7 @@ dependencies = [
[[package]]
name = "gupaxx"
version = "1.0.0"
version = "1.1.0"
dependencies = [
"anyhow",
"benri",

View file

@ -1,7 +1,7 @@
cargo-features = ["profile-rustflags"]
[package]
name = "gupaxx"
version = "1.0.0"
version = "1.1.0"
authors = ["cyrix126 <gupaxx@baermail.fr>"]
description = "Fork of Gupax integrating the XMRvsBeast Raffle "
documentation = "https://github.com/cyrix126/gupaxx"

View file

@ -54,7 +54,7 @@
- [x] adapt README for XvB
- [x] beta release
- [x] stable release
- [ ] video tutorial to set up XvB Tab
- [x] video tutorial to set up XvB Tab
- [x] adapt doc for new code
- [x] cargo package metadata
- [x] pgp signatures

View file

@ -60,6 +60,7 @@ pub mod resize;
// The state of the outer main [App].
// See the [State] struct in [state.rs] for the
// actual inner state of the tab settings.
#[allow(dead_code)]
pub struct App {
// Misc state
pub tab: Tab, // What tab are we on?

View file

@ -67,7 +67,7 @@ const REMOTE_NODE_MAX_CHARS: usize = {
assert!(len != 0);
len
};
#[allow(dead_code)]
pub struct RemoteNode {
pub ip: &'static str,
pub location: &'static str,
@ -278,6 +278,7 @@ impl NodeData {
//
// This struct leaves out most fields on purpose,
// we only need a few to verify the node is ok.
#[allow(dead_code)] // allow dead code because Deserialize doesn't use all the fields in this program
#[derive(Debug, serde::Deserialize)]
pub struct GetInfo<'a> {
pub id: &'a str,

View file

@ -530,14 +530,12 @@ impl Update {
path.display()
);
// if bundled, create directory for p2pool and xmrig if not present
if lock!(og).gupax.bundled {
if name == P2POOL_BINARY || name == XMRIG_BINARY {
if lock!(og).gupax.bundled && (name == P2POOL_BINARY || name == XMRIG_BINARY) {
std::fs::create_dir_all(
path.parent()
.ok_or_else(|| anyhow!(format!("{} path failed", name)))?,
)?;
}
}
// Move downloaded path into old path
std::fs::rename(entry.path(), path)?;
// If we're updating Gupax, set the [Restart] state so that the user knows to restart

View file

@ -125,6 +125,7 @@ impl Default for Sys {
//---------------------------------------------------------------------------------------------------- [Process] Struct
// This holds all the state of a (child) process.
// The main GUI thread will use this to display console text, online state, etc.
#[allow(dead_code)]
#[derive(Debug)]
pub struct Process {
pub name: ProcessName, // P2Pool or XMRig?

View file

@ -666,6 +666,7 @@ impl ImgXmrig {
}
//---------------------------------------------------------------------------------------------------- Public XMRig API
#[allow(dead_code)]
#[derive(Debug, Clone)]
pub struct PubXmrigApi {
pub output: String,

View file

@ -361,10 +361,11 @@ impl Helper {
}
}
//---------------------------------------------------------------------------------------------------- Public XvB API
#[derive(Debug, Clone, Default)]
pub struct PubXvbApi {
pub output: String,
pub uptime: u64,
pub _uptime: u64,
pub xvb_sent_last_hour_samples: SamplesAverageHour,
pub p2pool_sent_last_hour_samples: SamplesAverageHour,
pub stats_pub: XvbPubStats,

View file

@ -17,6 +17,7 @@ use crate::{
use super::{rounds::XvbRound, PubXvbApi};
#[allow(dead_code)] // because deserialize doesn't use all the fields
#[derive(Debug, Clone, Default, Deserialize)]
pub struct XvbPubStats {
pub time_remain: u32, // remaining time of round in minutes

View file

@ -87,12 +87,13 @@ fn main() {
// Run Gupax.
info!("/*************************************/ Init ... OK /*************************************/");
let _ = eframe::run_native(
eframe::run_native(
&app.name_version.clone(),
options,
Box::new(move |cc| {
egui_extras::install_image_loaders(&cc.egui_ctx);
Box::new(App::cc(cc, resolution, app))
}),
);
)
.unwrap();
}

View file

@ -35,6 +35,7 @@ use std::{
};
use zeroize::Zeroize;
#[allow(dead_code)] // for dummy value windows
#[derive(Debug, Clone)]
pub struct SudoState {
pub windows: bool, // If this bool is set, this struct is just a dummy so I don't have to change my type signatures :)