Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ae2e22b44 |
@@ -5,6 +5,12 @@ All notable changes to RigDoctor are recorded here. Format follows
|
|||||||
(`MAJOR.MINOR.PATCH`, pre-1.0). `__version__` and `pyproject.toml` must match the git
|
(`MAJOR.MINOR.PATCH`, pre-1.0). `__version__` and `pyproject.toml` must match the git
|
||||||
release tag (so the auto-updater, D18, can compare versions).
|
release tag (so the auto-updater, D18, can compare versions).
|
||||||
|
|
||||||
|
## [0.3.1] - 2026-05-21
|
||||||
|
### Fixed
|
||||||
|
- Changelog/release notes now **render Markdown** instead of showing raw `#`/`**` markup —
|
||||||
|
the in-app changelog uses `QTextEdit.setMarkdown()` and the update prompt renders notes as
|
||||||
|
rich text (closes #1).
|
||||||
|
|
||||||
## [0.3.0] - 2026-05-21
|
## [0.3.0] - 2026-05-21
|
||||||
### Added
|
### Added
|
||||||
- **System inventory (M5)**: CPU, GPU (model/driver/VBIOS/VRAM/PCIe), motherboard/BIOS, RAM
|
- **System inventory (M5)**: CPU, GPU (model/driver/VBIOS/VRAM/PCIe), motherboard/BIOS, RAM
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "rigdoctor"
|
name = "rigdoctor"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
description = "Modular hardware monitoring & crash diagnostics for Linux gamers."
|
description = "Modular hardware monitoring & crash diagnostics for Linux gamers."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
"""RigDoctor — modular hardware monitoring & crash diagnostics for Linux gamers."""
|
"""RigDoctor — modular hardware monitoring & crash diagnostics for Linux gamers."""
|
||||||
|
|
||||||
__version__ = "0.3.0"
|
__version__ = "0.3.1"
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import sys
|
|||||||
import threading
|
import threading
|
||||||
|
|
||||||
from PySide6.QtCore import Qt, QProcess, QTimer, Signal
|
from PySide6.QtCore import Qt, QProcess, QTimer, Signal
|
||||||
|
from PySide6.QtGui import QTextDocument
|
||||||
from PySide6.QtWidgets import (
|
from PySide6.QtWidgets import (
|
||||||
QApplication,
|
QApplication,
|
||||||
QButtonGroup,
|
QButtonGroup,
|
||||||
@@ -171,7 +172,9 @@ class MainWindow(QMainWindow):
|
|||||||
box = QMessageBox(self)
|
box = QMessageBox(self)
|
||||||
box.setWindowTitle(f"Update to {self._latest_tag}")
|
box.setWindowTitle(f"Update to {self._latest_tag}")
|
||||||
box.setText(f"Update RigDoctor to {self._latest_tag}?")
|
box.setText(f"Update RigDoctor to {self._latest_tag}?")
|
||||||
box.setInformativeText(self._latest_notes or "(no release notes)")
|
notes_doc = QTextDocument()
|
||||||
|
notes_doc.setMarkdown(self._latest_notes or "_(no release notes)_")
|
||||||
|
box.setInformativeText(notes_doc.toHtml()) # render Markdown as rich text (#1)
|
||||||
box.setStandardButtons(QMessageBox.StandardButton.Ok | QMessageBox.StandardButton.Cancel)
|
box.setStandardButtons(QMessageBox.StandardButton.Ok | QMessageBox.StandardButton.Cancel)
|
||||||
box.button(QMessageBox.StandardButton.Ok).setText("Update")
|
box.button(QMessageBox.StandardButton.Ok).setText("Update")
|
||||||
if box.exec() != QMessageBox.StandardButton.Ok:
|
if box.exec() != QMessageBox.StandardButton.Ok:
|
||||||
@@ -232,9 +235,9 @@ class MainWindow(QMainWindow):
|
|||||||
return
|
return
|
||||||
blocks = []
|
blocks = []
|
||||||
for tag, date, notes in releases:
|
for tag, date, notes in releases:
|
||||||
head = tag + (f" ({date})" if date else "")
|
title = f"## {tag}" + (f" — {date}" if date else "")
|
||||||
blocks.append(f"{head}\n{'─' * len(head)}\n{notes or '(no notes)'}")
|
blocks.append(f"{title}\n\n{notes or '_(no notes)_'}")
|
||||||
view.setPlainText("\n\n".join(blocks))
|
view.setMarkdown("\n\n".join(blocks)) # render Markdown instead of raw text (#1)
|
||||||
|
|
||||||
def _check_updates(self) -> None:
|
def _check_updates(self) -> None:
|
||||||
self._update_checked.emit(updates.update_state())
|
self._update_checked.emit(updates.update_state())
|
||||||
|
|||||||
Reference in New Issue
Block a user