Skip to content

Commit 6f573e3

Browse files
committed
fix: pin build date in test mode so visual goldens are calendar-stable
1 parent 71f7229 commit 6f573e3

9 files changed

Lines changed: 31 additions & 20 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.45.1 - 2026-04-20
2+
3+
- fix: Tighter releases. Build verification stays stable across calendar days and CI runners.
4+
15
## 2.45.0 - 2026-04-19
26

37
- feat: Claude Desktop one-click install with safe defaults.

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "purple-ssh"
3-
version = "2.45.0"
3+
version = "2.45.1"
44
edition = "2024"
55
description = "Open-source terminal SSH manager and SSH config editor. Search hundreds of hosts, sync from 16 clouds, transfer files, manage Docker and Podman over SSH, sign short-lived Vault SSH certs and expose an MCP server for AI agents. Rust TUI, MIT licensed."
66
license = "MIT"

llms.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ A: Press m in the host list to open the theme picker with live preview. 11 built
440440

441441
## Status
442442

443-
- Current version: 2.45.0 (April 2026)
443+
- Current version: 2.45.1 (April 2026)
444444
- Release cadence: approximately bi-weekly
445445
- Test suite: 6500+ tests (unit, integration, property-based, HTTP mocking and OpenSSH ground-truth cross-validation)
446446
- CI: fmt, clippy, build, test on macOS and Linux, cargo-deny, MSRV 1.86 check, rustdoc warnings, site sync, TUI smoke test, design system, message centralization, keybinding invariants and visual regression

site/page.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@
4141
"url": "https://getpurple.sh",
4242
"downloadUrl": "https://getpurple.sh",
4343
"installUrl": "https://github.com/erickochen/purple/releases",
44-
"softwareVersion": "2.45.0",
44+
"softwareVersion": "2.45.1",
4545
"datePublished": "2024-10-01",
46-
"dateModified": "2026-04-19",
46+
"dateModified": "2026-04-20",
4747
"softwareRequirements": "macOS or Linux",
4848
"programmingLanguage": "Rust",
4949
"license": "https://opensource.org/licenses/MIT",
@@ -861,7 +861,7 @@ <h2 class="tagline">Open-source terminal SSH manager and SSH config editor for m
861861
<button class="copy-btn copy-inline" id="copy-btn" onclick="copy(this)" style="display:none">copy</button>
862862
</div>
863863
<div class="install-output" id="install-output" style="display:none">
864-
<div>Downloading purple v2.45.0 for darwin-arm64...</div>
864+
<div>Downloading purple v2.45.1 for darwin-arm64...</div>
865865
<div>Installing to /usr/local/bin/purple... <span class="success">done.</span></div>
866866
</div>
867867
<div class="alt-installs" id="alt-installs" style="display:none">
@@ -983,7 +983,7 @@ <h2 class="tagline">Open-source terminal SSH manager and SSH config editor for m
983983
<summary>How do I troubleshoot connection problems?</summary>
984984
<div class="answer">Run with <code>--verbose</code> to enable debug logging, then <code>purple logs --tail</code> in another terminal. Logs are written to <code>~/.purple/purple.log</code> with fault domain prefixes: <code>[external]</code> for remote/tool errors, <code>[config]</code> for local config issues. Set <code>PURPLE_LOG=trace</code> for maximum detail.</div>
985985
</details>
986-
<div class="man-foot"><span>purple v2.45.0</span><span>2026-04-19</span><span>PURPLE(1)</span></div>
986+
<div class="man-foot"><span>purple v2.45.1</span><span>2026-04-20</span><span>PURPLE(1)</span></div>
987987
</div>
988988
</div>
989989

site/worker.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,9 @@ const LANDING_PAGE = `<!DOCTYPE html>
177177
"url": "https://getpurple.sh",
178178
"downloadUrl": "https://getpurple.sh",
179179
"installUrl": "https://github.com/erickochen/purple/releases",
180-
"softwareVersion": "2.45.0",
180+
"softwareVersion": "2.45.1",
181181
"datePublished": "2024-10-01",
182-
"dateModified": "2026-04-19",
182+
"dateModified": "2026-04-20",
183183
"softwareRequirements": "macOS or Linux",
184184
"programmingLanguage": "Rust",
185185
"license": "https://opensource.org/licenses/MIT",
@@ -997,7 +997,7 @@ footer .sep { margin: 0 0.3em; }
997997
<button class="copy-btn copy-inline" id="copy-btn" onclick="copy(this)" style="display:none">copy</button>
998998
</div>
999999
<div class="install-output" id="install-output" style="display:none">
1000-
<div>Downloading purple v2.45.0 for darwin-arm64...</div>
1000+
<div>Downloading purple v2.45.1 for darwin-arm64...</div>
10011001
<div>Installing to /usr/local/bin/purple... <span class="success">done.</span></div>
10021002
</div>
10031003
<div class="alt-installs" id="alt-installs" style="display:none">
@@ -1119,7 +1119,7 @@ footer .sep { margin: 0 0.3em; }
11191119
<summary>How do I troubleshoot connection problems?</summary>
11201120
<div class="answer">Run with <code>--verbose</code> to enable debug logging, then <code>purple logs --tail</code> in another terminal. Logs are written to <code>~/.purple/purple.log</code> with fault domain prefixes: <code>[external]</code> for remote/tool errors, <code>[config]</code> for local config issues. Set <code>PURPLE_LOG=trace</code> for maximum detail.</div>
11211121
</details>
1122-
<div class="man-foot"><span>purple v2.45.0</span><span>2026-04-19</span><span>PURPLE(1)</span></div>
1122+
<div class="man-foot"><span>purple v2.45.1</span><span>2026-04-20</span><span>PURPLE(1)</span></div>
11231123
</div>
11241124
</div>
11251125
@@ -1616,7 +1616,7 @@ A: Press m in the host list to open the theme picker with live preview. 11 built
16161616
16171617
## Status
16181618
1619-
- Current version: 2.45.0 (April 2026)
1619+
- Current version: 2.45.1 (April 2026)
16201620
- Release cadence: approximately bi-weekly
16211621
- Test suite: 6500+ tests (unit, integration, property-based, HTTP mocking and OpenSSH ground-truth cross-validation)
16221622
- CI: fmt, clippy, build, test on macOS and Linux, cargo-deny, MSRV 1.86 check, rustdoc warnings, site sync, TUI smoke test, design system, message centralization, keybinding invariants and visual regression

src/ui/help.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ use super::design;
77
use super::theme;
88
use crate::app::{App, Screen};
99

10+
#[cfg(not(test))]
11+
fn build_date() -> &'static str {
12+
env!("PURPLE_BUILD_DATE")
13+
}
14+
15+
#[cfg(test)]
16+
fn build_date() -> &'static str {
17+
"1 Jan 2000"
18+
}
19+
1020
pub fn render(frame: &mut Frame, app: &mut App) {
1121
let return_screen = match &app.screen {
1222
Screen::Help { return_screen } => return_screen.as_ref(),
@@ -73,10 +83,7 @@ pub fn render(frame: &mut Frame, app: &mut App) {
7383
if is_host_list {
7484
let version = Line::from(vec![
7585
Span::styled(format!(" v{}", env!("CARGO_PKG_VERSION")), theme::version()),
76-
Span::styled(
77-
format!(" (built {}) ", env!("PURPLE_BUILD_DATE")),
78-
theme::muted(),
79-
),
86+
Span::styled(format!(" (built {}) ", build_date()), theme::muted()),
8087
]);
8188
block = block.title_bottom(version.right_aligned());
8289
}

tests/visual_golden/help.golden

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
│ ✖ │ All commands and docs: github.com/erickochen/purple/wiki │21h │
2626
│ │ Got an idea or a bug? github.com/erickochen/purple/issues │ │
2727
│ │ │ │
28-
│ ╰───────────────────────────────────────────────────────── v2.45.0 (built 19 Apr 2026) ╯ │
28+
│ ╰───────────────────────────────────────────────────────── v2.45.1 (built 1 Jan 2000) ╯ │
2929
╰───── j/k scroll [1/10] Esc close e.sh ╯
3030
Enter connect / search # tag v detail : cmds ? more
3131
---STYLES---
@@ -1172,15 +1172,15 @@
11721172
(61,27) fg=Reset bg=Reset mod=DIM
11731173
(62,27) fg=Reset bg=Reset mod=DIM
11741174
(63,27) fg=Reset bg=Reset mod=DIM
1175-
(64,27) fg=Magenta bg=Reset mod=DIM
1175+
(64,27) fg=Reset bg=Reset mod=DIM
11761176
(65,27) fg=Magenta bg=Reset mod=DIM
11771177
(66,27) fg=Magenta bg=Reset mod=DIM
11781178
(67,27) fg=Magenta bg=Reset mod=DIM
11791179
(68,27) fg=Magenta bg=Reset mod=DIM
11801180
(69,27) fg=Magenta bg=Reset mod=DIM
11811181
(70,27) fg=Magenta bg=Reset mod=DIM
11821182
(71,27) fg=Magenta bg=Reset mod=DIM
1183-
(72,27) fg=Reset bg=Reset mod=DIM
1183+
(72,27) fg=Magenta bg=Reset mod=DIM
11841184
(73,27) fg=Reset bg=Reset mod=DIM
11851185
(74,27) fg=Reset bg=Reset mod=DIM
11861186
(75,27) fg=Reset bg=Reset mod=DIM

tests/visual_golden/whats_new.golden

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
│ ● aws-api-s│ ├─╯╰─╯╵ ├─╯╶┴╴╰─╴ ▪ │ 5h │
1010
│ ● aws-worke│ ╵ ╵ │ 6h │
1111
│ ● aws-batch│ │ 7h │
12-
│ ● aws-ml-eu│ welcome to purple 2.45.0 │ 8h │
12+
│ ● aws-ml-eu│ welcome to purple 2.45.1 │ 8h │
1313
│ ● do-web-am│ │ean 10h │
1414
│ ● do-stagin│ │ 11h │
1515
│ ● do-worker│ 2.41.0 2026-04-15 │ 12h │

0 commit comments

Comments
 (0)