github henrygd/beszel v0.21.1

3 hours ago

What's Changed

For developers using the agent as a Go package, Agent.Start now requires a context.Context.

For authors of integrations, existing memory fields other than memory percentage are deprecated in favor of new fields which provide raw byte values. The deprecated fields are still populated, but will be removed from the API in a future version.

type Stats struct {
  // Deprecated fields (populated on hubs <= 0.21.1; will be removed in a future version)
	Mem            float64     `json:"m" cbor:"2,keyasint"`  // Deprecated: GB, use MemBytes. Memory GB fields are kept for older hubs and integrations.
	MaxMem         float64     `json:"mm,omitzero" cbor:"-"` // Deprecated: GB, use MaxMemBytes.
	MemUsed        float64     `json:"mu" cbor:"3,keyasint"` // Deprecated: GB, use MemBytes.
	MemBuffCache   float64     `json:"mb" cbor:"5,keyasint"` // Deprecated: GB, use MemBytes.
	MemZfsArc      float64     `json:"mz,omitzero" cbor:"6,keyasint,omitempty"` // Deprecated: GB, use MemBytes.
	Swap           float64     `json:"s,omitzero" cbor:"7,keyasint,omitempty"`  // Deprecated: GB, use SwapBytes.
	SwapUsed       float64     `json:"su,omitzero" cbor:"8,keyasint,omitempty"` // Deprecated: GB, use SwapBytes.
  // New fields (populated on hub version 0.21.1+ for all agents)
	MemBytes       [4]uint64   `json:"mem,omitzero" cbor:"41,keyasint,omitzero"`  // [total, used, buff/cache, zfs arc] bytes
	MaxMemBytes    uint64      `json:"memm,omitzero" cbor:"-"`                    // max used memory bytes
	SwapBytes      [2]uint64   `json:"swap,omitzero" cbor:"42,keyasint,omitzero"` // [total, used] bytes
}
  • Add TLS certificate expiry alert for network monitors (#2627)
  • Add opt-in cgroup CPU and memory accounting (#2505)
  • Add pagination with a shared rows-per-page setting to data tables (#2444)
  • Add IRQ, SoftIRQ and Nice to the CPU usage breakdown (#2647)
  • Add OAUTH_DEFAULT_USER_ROLE environment variable to set the role of new OAuth users (#2516)
  • Add HUB_HEADERS environment variable to set custom WebSocket headers on the agent (#2585)
  • Add option to ignore TLS errors for HTTPS monitors (#2500)
  • Add zpool status messages to ZFS pool health (#2509)
  • Add CPU socket count to the system page (#2646)
  • Add CONTAINER_NAME_LABEL environment variable to name containers from a label (#2644)
  • Add env and envFrom options to the Helm chart (#2626)
  • Add Brazilian Portuguese (pt-BR) and Catalan translations (#2635)
  • Add xbps support to package update checks (#2522)
  • Change agent tokens to be masked until explicitly revealed (#2625)
  • Change the user created from USER_EMAIL to be an admin (#2516)
  • Fix users being able to reassign record ownership through updates (#2632)
  • Fix dashboard universal tokens appearing in request URLs (#2630)
  • Fix fan sensor reads blocking collection indefinitely (#2638, #2639)
  • Fix HTTPS monitor certificates not being re-checked (now hourly) (#2673)
  • Fix scheduled monitor probes running while the hub isn't requesting stats
  • Fix sensor names being changed by exclude filters (#2645)
  • Fix Libre Hardware Monitor helper stopping after sensor failures (#2624)
  • Fix arm/v6 Docker images being built with the wrong GOARM setting (#2637)
  • Fix numbers not using the app language for formatting (#2621)
  • Fix systems table showing no loading spinner until systems are loaded
  • Fix btrfs pool health when sysfs device info is unavailable (#2489)
  • Fix ZFS pool capacity to use the root dataset (#2540)
  • Fix package update checks under the systemd sandbox (#2538)
  • Fix systemd service logs missing output from services running as a non-system user (#2553)
  • Fix systemd monitoring starting when systemd is not available on D-Bus (#2573)
  • Fix hub dropping slow agent connections between polls (#2435)
  • Fix hub keeping connections open to unresponsive agents
  • Fix agent reconnect and shutdown handling (#2464)
  • Fix network counter underflow when interfaces are removed or containers restart (#2574)
  • Fix host CPU usage after a counter rollback
  • Fix larger stored stats records caused by zero-value fields
  • Fix legacy hubs receiving a duplicate stats payload (#2529)
  • Fix NVIDIA GPU power when power usage is unsupported by falling back to NVML power samples (#2550)
  • Fix zero GPU package power being stored (#2551)
  • Fix intel_gpu_top parsing when samples are missing commas (#2589)
  • Fix NVMe unsafe shutdowns counter overflowing (#2583)
  • Fix NVMe namespace fallbacks being lost on rescan (#2597)
  • Fix handling of cached NVMe failures and empty SMART responses
  • Fix zypper's apt-get wrapper being detected as apt (#2523)
  • Fix updater stopping when the system record lookup fails (#2588)
  • Fix systems table losing the update count when a host is down (#2559)
  • Fix latency tolerance in 1m realtime charts (#2521)
  • Fix charts hiding isolated points and spinning endlessly on empty values (#2514)
  • Fix live metrics subscriptions not ending after leaving the 1m view (#2599)
  • Fix sorting of monitor targets without a URL scheme and show HTTPS in the badge (#2501)
  • Fix lazy loading of the systemd table (#2602)
  • Fix system dialog layout shifting between tabs (#2571)
  • Improve accessibility and fix login page translation (#2604)
  • Update Go to 1.27.2 and Go dependencies
  • Update npm packages with security alerts (#2575)

New Contributors

Full Changelog: v0.21.0...v0.21.1

Don't miss a new beszel release

NewReleases is sending notifications on new releases.