macOS versions are currently reported as `macOS 26.0.0`.
But this makes it impossible to differentiate amongst macOS Beta
releases which have the same version number (`X.0.0`) but are different
builds.
This PR adds build number info to `os_version` for macOS Betas and
[Rapid Security Response](https://support.apple.com/en-us/102657)
release that have identical version numbers to stable release, but have
different builds numbers. We can differentiate them because the build
numbers end with a letter.
| Version | Before | After |
| - | - | - |
| macOS Sonoma 14.7.8 | 14.7.8 | 14.7.8 |
| macOS Sequoia 15.6.1 | 15.6.1 | 15.6.1 |
| mcOS Ventura 13.3.1 | 13.3.1 | 13.3.1 |
| macOS Ventura 13.3.1 (a) | 13.3.1 | 13.3.1 (Build 22E772610a) |
| macOS Tahoe 26.0.0 (Beta1) | 26.0.0 | 26.0.0 (Build 25A5316a) |
| macOS Tahoe 26.0.0 (Beta5) | 26.0.0 | 26.0.0 (Build 25A5349a) |
This should cause minimal telemetry changes and only impacting a macOS
betas and a couple specific older macOS versions, but will allow
differentiation between macOS beta releases in GitHub issues.
Alternatives:
1. Leave as-is (can't differentiate between macOS beta builds)
2. Always include build number info (impacts telemetry; more consistent
going forward; differentiates non-final Release Candidates which don't
include a trailing letter)
I couldn't find a cocoa method to retrieve macOS build number, so I
switched dependencies from `cocoa` to `objc2-foundation` in the client
crate. We already depend upon this crate as a dependency of
`blade-graphics` so I matched the features of that and so workspace-hack
doesn't change.
1ebc69a447/tooling/workspace-hack/Cargo.toml (L355)
Release Notes:
- N/A
86 lines
2.5 KiB
TOML
86 lines
2.5 KiB
TOML
[package]
|
|
name = "client"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/client.rs"
|
|
doctest = false
|
|
|
|
[features]
|
|
test-support = ["clock/test-support", "collections/test-support", "gpui/test-support", "rpc/test-support"]
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
async-tungstenite = { workspace = true, features = ["tokio", "tokio-rustls-manual-roots"] }
|
|
base64.workspace = true
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
clock.workspace = true
|
|
cloud_api_client.workspace = true
|
|
cloud_llm_client.workspace = true
|
|
collections.workspace = true
|
|
credentials_provider.workspace = true
|
|
derive_more.workspace = true
|
|
feature_flags.workspace = true
|
|
futures.workspace = true
|
|
gpui.workspace = true
|
|
gpui_tokio.workspace = true
|
|
http_client.workspace = true
|
|
http_client_tls.workspace = true
|
|
httparse = "1.10"
|
|
log.workspace = true
|
|
parking_lot.workspace = true
|
|
paths.workspace = true
|
|
postage.workspace = true
|
|
rand.workspace = true
|
|
regex.workspace = true
|
|
release_channel.workspace = true
|
|
rpc = { workspace = true, features = ["gpui"] }
|
|
schemars.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
serde_urlencoded.workspace = true
|
|
settings.workspace = true
|
|
sha2.workspace = true
|
|
smol.workspace = true
|
|
telemetry.workspace = true
|
|
telemetry_events.workspace = true
|
|
text.workspace = true
|
|
thiserror.workspace = true
|
|
time.workspace = true
|
|
tiny_http.workspace = true
|
|
tokio-socks = { version = "0.5.2", default-features = false, features = ["futures-io"] }
|
|
tokio.workspace = true
|
|
url.workspace = true
|
|
util.workspace = true
|
|
workspace-hack.workspace = true
|
|
worktree.workspace = true
|
|
|
|
[dev-dependencies]
|
|
clock = { workspace = true, features = ["test-support"] }
|
|
collections = { workspace = true, features = ["test-support"] }
|
|
fs.workspace = true
|
|
gpui = { workspace = true, features = ["test-support"] }
|
|
http_client = { workspace = true, features = ["test-support"] }
|
|
rpc = { workspace = true, features = ["test-support"] }
|
|
settings = { workspace = true, features = ["test-support"] }
|
|
util = { workspace = true, features = ["test-support"] }
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
windows.workspace = true
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
objc2-foundation.workspace = true
|
|
|
|
[target.'cfg(any(target_os = "windows", target_os = "macos"))'.dependencies]
|
|
tokio-native-tls = "0.3"
|
|
|
|
[target.'cfg(not(any(target_os = "windows", target_os = "macos")))'.dependencies]
|
|
rustls-pki-types = "1.12"
|
|
tokio-rustls = { version = "0.26", features = ["tls12", "ring"], default-features = false }
|