Skip to content

Commit f15fb62

Browse files
CopilotVoDaiLocz
andcommitted
feat: add v1.0.0 release features and release workflow
- Add __version__ = "1.0.0" constant to qoder_reset_gui.py - Add version display in GUI status bar - Create GitHub Actions release workflow (.github/workflows/release.yml) triggered on tag push (v*) to build and publish releases - Update CHANGELOG.md with version management features for 1.0.0 - Add version badge to README.md Co-authored-by: VoDaiLocz <88762074+VoDaiLocz@users.noreply.github.com>
1 parent aa70855 commit f15fb62

4 files changed

Lines changed: 132 additions & 6 deletions

File tree

.github/workflows/release.yml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
build:
13+
name: Build on ${{ matrix.os }}
14+
runs-on: ${{ matrix.os }}
15+
strategy:
16+
matrix:
17+
os: [ubuntu-latest, windows-latest, macos-latest]
18+
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
23+
- name: Set up Python
24+
uses: actions/setup-python@v5
25+
with:
26+
python-version: '3.9'
27+
28+
- name: Install system dependencies (Linux)
29+
if: runner.os == 'Linux'
30+
run: |
31+
sudo apt-get update
32+
sudo apt-get install -y xvfb libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0
33+
34+
- name: Install dependencies
35+
run: |
36+
python -m pip install --upgrade pip
37+
pip install -r requirements.txt
38+
pip install pyinstaller
39+
40+
- name: Build executable (Windows)
41+
if: runner.os == 'Windows'
42+
run: |
43+
pyinstaller --onefile --windowed --name "QoderResetTool" qoder_reset_gui.py
44+
45+
- name: Build executable (macOS)
46+
if: runner.os == 'macOS'
47+
run: |
48+
pyinstaller --onefile --windowed --name "QoderResetTool" qoder_reset_gui.py
49+
50+
- name: Build executable (Linux)
51+
if: runner.os == 'Linux'
52+
run: |
53+
pyinstaller --onefile --windowed --name "QoderResetTool" qoder_reset_gui.py
54+
55+
- name: Upload build artifacts
56+
uses: actions/upload-artifact@v4
57+
with:
58+
name: qoder-reset-tool-${{ runner.os }}
59+
path: dist/
60+
61+
release:
62+
name: Create GitHub Release
63+
needs: [build]
64+
runs-on: ubuntu-latest
65+
66+
steps:
67+
- name: Checkout code
68+
uses: actions/checkout@v4
69+
70+
- name: Download all artifacts
71+
uses: actions/download-artifact@v4
72+
73+
- name: Create release archives
74+
run: |
75+
cd qoder-reset-tool-Linux && tar -czf ../qoder-reset-tool-linux.tar.gz * && cd ..
76+
cd qoder-reset-tool-Windows && zip -r ../qoder-reset-tool-windows.zip * && cd ..
77+
cd qoder-reset-tool-macOS && tar -czf ../qoder-reset-tool-macos.tar.gz * && cd ..
78+
79+
- name: Create GitHub Release
80+
uses: softprops/action-gh-release@v2
81+
with:
82+
name: "Qoder-Free ${{ github.ref_name }}"
83+
body: |
84+
## Qoder-Free ${{ github.ref_name }}
85+
86+
### ✨ Features
87+
- One-click reset functionality for Qoder application data
88+
- Machine ID reset with UUID generation
89+
- Telemetry data cleanup and privacy protection
90+
- Deep identity cleanup with comprehensive file removal
91+
- Hardware fingerprint reset for advanced anti-detection
92+
- Multi-language support (English, Vietnamese, Chinese, Russian)
93+
- Cross-platform compatibility (Windows, macOS, Linux)
94+
- Modern PyQt5-based GUI with professional styling
95+
- Version display in status bar
96+
97+
### 📦 Downloads
98+
- **Windows**: `qoder-reset-tool-windows.zip`
99+
- **macOS**: `qoder-reset-tool-macos.tar.gz`
100+
- **Linux**: `qoder-reset-tool-linux.tar.gz`
101+
102+
### 📋 Requirements
103+
- Python 3.7+ (if running from source)
104+
- PyQt5 >= 5.15.0
105+
- requests >= 2.25.0
106+
files: |
107+
qoder-reset-tool-linux.tar.gz
108+
qoder-reset-tool-windows.zip
109+
qoder-reset-tool-macos.tar.gz
110+
draft: false
111+
prerelease: false
112+
env:
113+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

CHANGELOG.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10-
### Added
11-
- Initial release preparation
12-
- Professional documentation
13-
- GitHub Actions workflow
14-
15-
## [1.0.0] - 2024-08-31
10+
## [1.0.0] - 2025-03-05
1611

1712
### Added
1813
- **Core Features**
@@ -22,6 +17,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2217
- Deep identity cleanup with comprehensive file removal
2318
- Hardware fingerprint reset for advanced anti-detection
2419

20+
- **Version Management**
21+
- Added `__version__` constant for programmatic version access
22+
- Version display in GUI status bar
23+
- GitHub Actions release workflow for automated releases on tag push
24+
2525
- **Multi-Language Support**
2626
- English (en) - Full support
2727
- Vietnamese (vi) - Tiếng Việt

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Qoder Reset Tool 🔒
22

33
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4+
[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/locfaker/Qoder-Free/releases/tag/v1.0.0)
45
[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
56
[![PyQt5](https://img.shields.io/badge/GUI-PyQt5-green.svg)](https://pypi.org/project/PyQt5/)
67
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/locfaker/Qoder-Free)

qoder_reset_gui.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
Implemented using PyQt5, fully designed according to user prototype
55
"""
66

7+
__version__ = "1.0.0"
8+
79
import os
810
import sys
911
import json
@@ -435,6 +437,16 @@ def init_ui(self):
435437
}
436438
""")
437439

440+
# Status bar with version info
441+
self.statusBar().showMessage(f"Qoder-Free v{__version__}")
442+
self.statusBar().setStyleSheet("""
443+
QStatusBar {
444+
background-color: #ecf0f1;
445+
color: #7f8c8d;
446+
font-size: 12px;
447+
}
448+
""")
449+
438450
# Initialize status check
439451
self.initialize_status_check()
440452

0 commit comments

Comments
 (0)