Nomad v1.4.0 Release Notes

Release Date: 2022-10-04 // over 1 year ago
  • ๐Ÿ”‹ FEATURES:

    • ACL Roles: Added support for ACL Roles. [GH-14320]
    • Nomad Native Service Discovery: Add built-in support for checks on Nomad services [GH-13715]
    • Variables: Added support for storing encrypted configuration values. [GH-13000]
    • ๐Ÿ’ป UI Services table: Display task-level services in addition to group-level services. [GH-14199]

    ๐Ÿ’ฅ BREAKING CHANGES:

    • ๐Ÿ›  audit (Enterprise): fixed inconsistency in event filter logic [GH-14212]
    • ๐Ÿ‘ cli: eval status -json no longer supports listing all evals in JSON. Use eval list -json. [GH-14651]
    • ๐Ÿšš core: remove support for raft protocol version 2 [GH-13467]

    ๐Ÿ”’ SECURITY:

    • client: recover from panics caused by artifact download to prevent the Nomad client from crashing [GH-14696]

    ๐Ÿ‘Œ IMPROVEMENTS:

    • acl: ACL tokens can now be created with an expiration TTL. [GH-14320]
    • api: return a more descriptive error when /v1/acl/bootstrap fails to decode request body [GH-14629]
    • โฌ†๏ธ autopilot: upgrade to raft-autopilot library [GH-14441]
    • ๐Ÿšš cli: Removed deprecated network quota fields from quota status output [GH-14468]
    • cli: acl policy info output format has changed to improve readability with large policy documents [GH-14140]
    • cli: operator debug now writes newline-delimited JSON files for large collections [GH-14610]
    • cli: ignore -hcl2-strict when -hcl1 is set. [GH-14426]
    • โšก๏ธ cli: warn destructive update only when count is greater than 1 [GH-13103]
    • ๐Ÿ‘ client: Add built-in support for checks on nomad services [GH-13715]
    • client: re-enable nss-based user lookups [GH-14742]
    • ๐Ÿ‘ท connect: add namespace, job, and group to Envoy stats [GH-14311]
    • connect: add nomad environment variables to envoy bootstrap [GH-12959]
    • ๐Ÿ”ง consul: Allow interpolation of task environment values into Consul Service Mesh configuration [GH-14445]
    • consul: Enable setting custom tagged_addresses field [GH-12951]
    • core: constraint operands are now compared numerically if operands are numbers [GH-14722]
    • โšก๏ธ deps: Update fsouza/go-dockerclient to v1.8.2 [GH-14112]
    • โšก๏ธ deps: Update go.etcd.io/bbolt to v1.3.6 [GH-14025]
    • โšก๏ธ deps: Update google.golang.org/grpc to v1.48.0 [GH-14103]
    • โšก๏ธ deps: Update gopsutil for improvements in fingerprinting on non-Linux platforms [GH-14209]
    • ๐ŸŽ deps: Updated github.com/armon/go-metrics to v0.4.1 which includes a performance improvement for Prometheus sink [GH-14493]
    • โšก๏ธ deps: Updated github.com/hashicorp/go-version to v1.6.0 [GH-14364]
    • ๐Ÿšš deps: remove unused darwin C library [GH-13894]
    • fingerprint: Add node attribute for number of reservable cores: cpu.num_reservable_cores [GH-14694]
    • ๐Ÿ–จ fingerprint: Consul and Vault attributes are no longer cleared on fingerprinting failure [GH-14673]
    • ๐Ÿ‘ท jobspec: Added strlen HCL2 function to determine the length of a string [GH-14463]
    • ๐ŸŒฒ server: Log when a node's eligibility changes [GH-14125]
    • ๐Ÿ‘ท ui: Display different message when trying to exec into a job with no task running. [GH-14071]
    • ๐Ÿ‘ท ui: add service discovery, along with health checks, to job and allocation routes [GH-14408]
    • ๐Ÿ”Š ui: adds a sidebar to show in-page logs for a given task, accessible via job, client, or task group routes [GH-14612]
    • ๐Ÿ‘ท ui: allow deep-dive clicks to tasks from client, job, and task group routes. [GH-14592]
    • ๐Ÿ’ป ui: attach timestamps and a visual indicator on failure to health checks in the Web UI [GH-14677]

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ›  api: Fixed a bug where the List Volume API did not include the ControllerRequired and ResourceExhausted fields. [GH-14484]
    • ๐Ÿ‘ท cli: Ignore Vault token when generating job diff. [GH-14424]
    • ๐Ÿ›  cli: fixed a bug in the operator api command where the HTTPS scheme was not always correctly calculated [GH-14635]
    • ๐Ÿ‘ท cli: return exit code 255 when nomad job plan fails job validation. [GH-14426]
    • cli: set content length on POST requests when using the nomad operator api command [GH-14634]
    • ๐Ÿ›  client: Fixed bug where clients could attempt to connect to servers with invalid addresses retrieved from Consul. [GH-14431]
    • core: prevent new allocations from overlapping execution with stopping allocations [GH-10446]
    • ๐Ÿ›  csi: Fixed a bug where a volume that was successfully unmounted by the client but then failed controller unpublishing would not be marked free until garbage collection ran. [GH-14675]
    • ๐Ÿ›  csi: Fixed a bug where the server would not send controller unpublish for a failed allocation. [GH-14484]
    • ๐Ÿ›  csi: Fixed a data race in the volume unpublish endpoint that could result in claims being incorrectly marked as freed before being persisted to raft. [GH-14484]
    • ๐Ÿ›  helpers: Fixed a bug where random stagger func did not protect against negative inputs [GH-14497]
    • ๐Ÿ”ง jobspec: Fixed a bug where an artifact with headers configuration would fail to parse when using HCLv1 [GH-14637]
    • โฑ metrics: Update client node_scheduling_eligibility value with server heartbeats. [GH-14483]
    • โšก๏ธ quotas (Enterprise): Fixed a server crashing panic when updating and checking a quota concurrently.
    • ๐Ÿ‘ท rpc (Enterprise): check for spec changes in all regions when registering multiregion jobs [GH-14519]
    • ๐Ÿš€ scheduler (Enterprise): Fixed bug where the scheduler would treat multiregion jobs as paused for job types that don't use deployments [GH-14659]
    • ๐Ÿ›  template: Fixed a bug where the splay timeout was not being applied when change_mode was set to script. [GH-14749]
    • ๐Ÿšš ui: Remove extra space when displaying the version in the menu footer. [GH-14457]