HTND 2.13.0
What's New
Features
-
Auto-Updater: Introduced automatic update checking, downloading, and installation system
- Periodic version checks against GitHub releases
- Platform-specific binary asset downloading
- Atomic installation with backup and rollback support
- Configurable update channels (stable, beta, etc.)
- Progress tracking and status reporting
- Manual and automatic update modes
-
Auto-Issue Reporting: Automatic GitHub issue creation for node panics and critical errors
- Auto-files error reports to HoosatNetwork/HTND repository
- Includes node version, OS, architecture, and timestamp
- Detailed stack traces for panics
- Rate-limited to prevent duplicate reports (24h cooldown per error)
- Uses read-only GitHub token with repo scope (issues write-only)
- Labels: bug, panic, auto-reported
Auto-Updater Configuration Arguments
| Argument | Type | Default | Description |
|---|---|---|---|
| Enabled | bool | true | Enable or disable the auto-updater |
| NotifyOnly | bool | false | Only notify about updates without downloading/installing |
| UpdateChannel | string | "stable" | Release channel to track (stable, beta, alpha) |
| CheckInterval | duration | 24h | Time interval between update checks |
| AutoDownload | bool | true | Automatically download available updates |
| AutoInstall | bool | true | Automatically install downloaded updates |
| GitHubOwner | string | "HoosatNetwork" | GitHub repository owner |
| GitHubRepo | string | "HTND" | GitHub repository name |
By default auto-updater will be enabled from this release onward with auto download and install.
Bug Fixes
- Nil pointer dereference in RPC routerInitializer: The crash occurred because Manager structs were stack-allocated, causing dangling pointers when method values (routerInitializer) captured their addresses. Changed to heap allocation (&Manager{}) to ensure pointers remain valid after function returns. Additionally added defensive nil checks for m.context in both RPC and protocol routerInitializer methods to prevent crashes if context is
Technical Details
The auto-updater provides seamless node updates with:
- Background checking at configurable intervals
- Safe installation with automatic backups
- Cross-platform support (Linux, macOS, Windows)
- Status callbacks for UI integration
- Graceful error handling and rollback
The auto-issue reporting provides automatic error tracking with:
- Zero-configuration setup using embedded GitHub token
- Intelligent deduplication via error fingerprinting
- Non-blocking asynchronous reporting
- Automatic panic recovery with full stack trace capture