Streaming log tail
`nimbus logs --follow` now streams over a persistent connection instead of polling every two seconds. Reconnects are transparent and preserve cursor position, so you no longer lose lines during a deploy.
Downstream product
One normalized stream, assembled from every collector the control plane watches. Served from the last healthy snapshot of each source, so it keeps returning correct data even while a collector is mid-incident. /api/feed serves the same thing as JSON.
`nimbus logs --follow` now streams over a persistent connection instead of polling every two seconds. Reconnects are transparent and preserve cursor position, so you no longer lose lines during a deploy.
Tokens issued before a workspace rename could fail to refresh, producing a confusing 401 several hours into a session. The refresh path now resolves the workspace by id rather than by slug.
Spinner frames and ANSI codes leaked into piped output in some shells. All writers now check both NO_COLOR and TTY status before emitting escape sequences.
Variables can be declared once at the workspace level and inherited by every project inside it. Project-level declarations still win, so existing setups are unaffected.
The config loader no longer walks the entire directory tree looking for a lockfile. It stops at the first workspace boundary, which removes most of the startup cost in large monorepos.
`nimbus push` has printed a deprecation notice since v2.4 and is now gone. Use `nimbus deploy`, which accepts the same flags.
Attempting to deploy into a region that is at capacity returned a bare 503. The CLI now names the region, lists the nearest alternatives, and exits with code 75.
The manifest is validated locally against the published schema before anything is sent, so typos in a service name fail in under a second instead of thirty.
Path separators were normalised inconsistently, producing different archive checksums for identical trees across platforms. Builds are now byte-identical regardless of host OS.
Layers upload concurrently with a default fan-out of four, tunable via `--upload-concurrency`. Large images see roughly a 3x improvement on typical connections.
HTTPS_PROXY and NO_PROXY were read only by the auth client, not by the upload client. Both now share a single transport configuration.
A single command that checks CLI version, credential validity, clock skew, and network reachability, then prints a copy-pasteable summary for bug reports.