Skip to content

Commit 8e39507

Browse files
beriberikixclaude
andcommitted
Report a version that means something, and set it to 0.5.0
"Version: 0.1.0" was a literal in three separate print statements, so every release ever published reported 0.1.0 regardless of the tag it was built from — v0.1.38-test included. It now comes from one constant. Sets that constant to 0.5.0 and dates the changelog entry. The earlier releases are being deleted rather than left in place: each shipped a transfer path that had never moved data and a bind that recorded devices without serving them, so there is nothing there worth keeping. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017rmyikdjWveP99ZUCDLY89
1 parent 8cd1ac6 commit 8e39507

5 files changed

Lines changed: 26 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,15 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [v0.5.0] - 2026-08-06
9+
10+
First release in which the software does what it claims. Every prior release shipped a
11+
transfer path that had never moved data, and a `bind` that recorded devices without
12+
serving them. Those releases have been deleted rather than left to mislead.
13+
14+
The version number also means something now: it was hardcoded as "0.1.0" in three
15+
separate print statements, so every previous release reported 0.1.0 regardless of its
16+
tag.
917

1018
### Fixed — USB transfers now reach real hardware
1119

Sources/Common/Version.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Version.swift
2+
// The single place the shipped version number is written down.
3+
4+
import Foundation
5+
6+
/// The version this binary reports.
7+
///
8+
/// This lived as the literal "0.1.0" in three separate print statements, so every
9+
/// release since the beginning shipped a binary reporting 0.1.0 no matter which tag it
10+
/// was built from. Keeping it in one place is what makes `usbipd --version` mean
11+
/// something.
12+
public enum USBIPDVersion {
13+
public static let current = "0.5.0"
14+
}

Sources/USBIPDCLI/CommandLineParser.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ public class CommandLineParser {
129129
/// Print version information
130130
private func printVersion() {
131131
print("USB/IP Daemon for macOS")
132-
print("Version: 0.1.0")
132+
print("Version: \(USBIPDVersion.current)")
133133
print("Build: \(getBuildInfo())")
134134
logger.info("Version information displayed")
135135
}

Sources/USBIPDCLI/Commands.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public class HelpCommand: Command {
5656
logger.debug("Executing help command")
5757

5858
print("USB/IP Daemon for macOS")
59-
print("Version: 0.1.0")
59+
print("Version: \(USBIPDVersion.current)")
6060
print("")
6161
print("Usage: usbipd [command] [options]")
6262
print("")

Sources/USBIPDCLI/main.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ private func handleEarlyExit(_ arguments: [String]) {
8181

8282
if args[0] == "--version" || args[0] == "-v" {
8383
print("USB/IP Daemon for macOS")
84-
print("Version: 0.1.0")
84+
print("Version: \(USBIPDVersion.current)")
8585
print("Build: Development")
8686
return
8787
}

0 commit comments

Comments
 (0)