diff --git a/CHANGELOG.md b/CHANGELOG.md index 9df554927b8..450caf5c0b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## 0.13.0 (Unreleased) +## 1.0.0 (Unreleased) FEATURES: diff --git a/client/allocrunner/taskrunner/envoy_version_hook.go b/client/allocrunner/taskrunner/envoy_version_hook.go index daff412258d..eed00952aa1 100644 --- a/client/allocrunner/taskrunner/envoy_version_hook.go +++ b/client/allocrunner/taskrunner/envoy_version_hook.go @@ -19,7 +19,7 @@ const ( // envoyLegacyImage is used when the version of Consul is too old to support // the SupportedProxies field in the self API. // - // This is the version defaulted by Nomad before v0.13.0 and/or when using versions + // This is the version defaulted by Nomad before v1.0 and/or when using versions // of Consul before v1.7.8, v1.8.5, and v1.9.0. envoyLegacyImage = "envoyproxy/envoy:v1.11.2@sha256:a7769160c9c1a55bb8d07a3b71ce5d64f72b1f665f10d81aa1581bc3cf850d09" ) @@ -140,7 +140,7 @@ func (h *envoyVersionHook) needsVersion(config map[string]interface{}) bool { } // image determines the best Envoy version to use. If supported is nil or empty -// Nomad will fallback to the legacy envoy image used before Nomad v0.13. +// Nomad will fallback to the legacy envoy image used before Nomad v1.0. func (_ *envoyVersionHook) tweakImage(configured string, supported map[string][]string) (string, error) { versions := supported["envoy"] if len(versions) == 0 { diff --git a/client/allocrunner/taskrunner/task_dir_hook.go b/client/allocrunner/taskrunner/task_dir_hook.go index 10f9827bedd..cc8769db915 100644 --- a/client/allocrunner/taskrunner/task_dir_hook.go +++ b/client/allocrunner/taskrunner/task_dir_hook.go @@ -92,7 +92,7 @@ func setEnvvars(envBuilder *taskenv.Builder, fsi drivers.FSIsolation, taskDir *a // Set the host environment variables for non-image based drivers if fsi != drivers.FSIsolationImage { - // COMPAT(0.13) using inclusive language, blacklist is kept for backward compatibility. + // COMPAT(1.0) using inclusive language, blacklist is kept for backward compatibility. denylist := conf.ReadAlternativeDefault( []string{"env.denylist", "env.blacklist"}, cconfig.DefaultEnvDenylist, diff --git a/client/allocrunner/taskrunner/validate_hook.go b/client/allocrunner/taskrunner/validate_hook.go index 07d5f5adcd0..a2fb1d2207e 100644 --- a/client/allocrunner/taskrunner/validate_hook.go +++ b/client/allocrunner/taskrunner/validate_hook.go @@ -43,7 +43,7 @@ func validateTask(task *structs.Task, taskEnv *taskenv.TaskEnv, conf *config.Con var mErr multierror.Error // Validate the user - // COMPAT(0.13) uses inclusive language. blacklist is kept for backward compatilibity. + // COMPAT(1.0) uses inclusive language. blacklist is kept for backward compatilibity. unallowedUsers := conf.ReadStringListAlternativeToMapDefault( []string{"user.denylist", "user.blacklist"}, config.DefaultUserDenylist, diff --git a/client/client.go b/client/client.go index c1bd1afcdb8..9a1e8e1d04e 100644 --- a/client/client.go +++ b/client/client.go @@ -416,7 +416,7 @@ func NewClient(cfg *config.Config, consulCatalog consul.CatalogAPI, consulProxie } // Build the allow/denylists of drivers. - // COMPAT(0.13) uses inclusive language. white/blacklist are there for backward compatible reasons only. + // COMPAT(1.0) uses inclusive language. white/blacklist are there for backward compatible reasons only. allowlistDrivers := cfg.ReadStringListToMap("driver.allowlist", "driver.whitelist") blocklistDrivers := cfg.ReadStringListToMap("driver.denylist", "driver.blacklist") diff --git a/client/fingerprint_manager.go b/client/fingerprint_manager.go index db162c66f37..7968b14c7ef 100644 --- a/client/fingerprint_manager.go +++ b/client/fingerprint_manager.go @@ -71,10 +71,10 @@ func (fm *FingerprintManager) getNode() *structs.Node { func (fp *FingerprintManager) Run() error { // First, set up all fingerprints cfg := fp.getConfig() - // COMPAT(0.13) using inclusive language, whitelist is kept for backward compatibility. + // COMPAT(1.0) using inclusive language, whitelist is kept for backward compatibility. allowlistFingerprints := cfg.ReadStringListToMap("fingerprint.allowlist", "fingerprint.whitelist") allowlistFingerprintsEnabled := len(allowlistFingerprints) > 0 - // COMPAT(0.13) using inclusive language, blacklist is kept for backward compatibility. + // COMPAT(1.0) using inclusive language, blacklist is kept for backward compatibility. denylistFingerprints := cfg.ReadStringListToMap("fingerprint.denylist", "fingerprint.blacklist") fp.logger.Debug("built-in fingerprints", "fingerprinters", fingerprint.BuiltinFingerprints()) diff --git a/command/agent/config.go b/command/agent/config.go index f9690efffab..83a09e5da22 100644 --- a/command/agent/config.go +++ b/command/agent/config.go @@ -311,7 +311,8 @@ type ClientTemplateConfig struct { // are unsafe because they expose information from the client host. FunctionDenylist []string `hcl:"function_denylist"` - // Deprecated: COMPAT(0.13) consul-template uses inclusive language from v0.25.0 - function_blacklist is kept for compatibility + // Deprecated: COMPAT(1.0) consul-template uses inclusive language from + // v0.25.0 - function_blacklist is kept for compatibility FunctionBlacklist []string `hcl:"function_blacklist"` // DisableSandbox allows templates to access arbitrary files on the diff --git a/drivers/docker/config.go b/drivers/docker/config.go index e4abc6cfd1f..e09b83dd00b 100644 --- a/drivers/docker/config.go +++ b/drivers/docker/config.go @@ -96,7 +96,7 @@ func PluginLoader(opts map[string]string) (map[string]interface{}, error) { conf["volumes"] = volConf // capabilities - // COMPAT(0.13) uses inclusive language. whitelist is used for backward compatibility. + // COMPAT(1.0) uses inclusive language. whitelist is used for backward compatibility. if v, ok := opts["docker.caps.allowlist"]; ok { conf["allow_caps"] = strings.Split(v, ",") } else if v, ok := opts["docker.caps.whitelist"]; ok { diff --git a/plugins/drivers/testutils/testing.go b/plugins/drivers/testutils/testing.go index 6fab6a36b98..031d4049905 100644 --- a/plugins/drivers/testutils/testing.go +++ b/plugins/drivers/testutils/testing.go @@ -266,7 +266,7 @@ func SetEnvvars(envBuilder *taskenv.Builder, fsi drivers.FSIsolation, taskDir *a // Set the host environment variables for non-image based drivers if fsi != drivers.FSIsolationImage { - // COMPAT(0.13) using inclusive language, blacklist is kept for backward compatibility. + // COMPAT(1.0) using inclusive language, blacklist is kept for backward compatibility. filter := strings.Split(conf.ReadAlternativeDefault( []string{"env.denylist", "env.blacklist"}, config.DefaultEnvDenylist, diff --git a/version/version.go b/version/version.go index 2838061c567..92c759a5b30 100644 --- a/version/version.go +++ b/version/version.go @@ -11,7 +11,7 @@ var ( GitDescribe string // The main version number that is being run at the moment. - Version = "0.13.0" + Version = "1.0.0" // A pre-release marker for the version. If this is "" (empty string) // then it means that it is a final release. Otherwise, this is a pre-release diff --git a/website/pages/docs/upgrade/upgrade-specific.mdx b/website/pages/docs/upgrade/upgrade-specific.mdx index 7bd98d8664d..9d85eb4c790 100644 --- a/website/pages/docs/upgrade/upgrade-specific.mdx +++ b/website/pages/docs/upgrade/upgrade-specific.mdx @@ -15,32 +15,32 @@ details provided for their upgrades as a result of new features or changed behavior. This page is used to document those details separately from the standard upgrade flow. -## Nomad 0.13.0 +## Nomad 1.0.0 ### Signal used when stopping Docker tasks When stopping tasks running with the Docker task driver, Nomad documents that a `SIGTERM` will be issued (unless configured with `kill_signal`). However, recent -versions of Nomad would issue `SIGINT` instead. Starting again with Nomad v0.13.0 +versions of Nomad would issue `SIGINT` instead. Starting again with Nomad v1.0.0 `SIGTERM` will be sent by default when stopping Docker tasks. ### Deprecated metrics have been removed Nomad v0.7.0 added supported for tagged metrics and deprecated untagged metrics. There was support for configuring backwards-compatible metrics. This support has -been removed with v0.13.0, and all metrics will be emitted with tags. +been removed with v1.0.0, and all metrics will be emitted with tags. ### Null characters in region, datacenter, job name/ID, task group name, and task names -Starting with Nomad v0.13.0, jobs will fail validation if any of the following +Starting with Nomad v1.0.0, jobs will fail validation if any of the following contain null character: the job ID or name, the task group name, or the task name. Any -jobs meeting this requirement should be modified before an update to v0.13.0. Similarly, +jobs meeting this requirement should be modified before an update to v1.0.0. Similarly, client and server config validation will prohibit either the region or the datacenter from containing null characters. ### EC2 CPU characteristics may be different -Starting with Nomad v0.13.0, the AWS fingerprinter uses data derived from the +Starting with Nomad v1.0.0, the AWS fingerprinter uses data derived from the official AWS EC2 API to determine default CPU performance characteristics, including core count and core speed. This data should be accurate for each instance type per region. Previously, Nomad used a hand-made lookup table that was not region @@ -52,7 +52,7 @@ available to the Nomad client. ### Inclusive language -Starting with Nomad v0.13.0, the terms `blacklist` and `whitelist` have been +Starting with Nomad v1.0.0, the terms `blacklist` and `whitelist` have been deprecated from client configuration and driver configuration. The existing configuration values are permitted but will be removed in a future version of Nomad. The specific configuration values replaced are: @@ -68,12 +68,12 @@ Nomad. The specific configuration values replaced are: ### Envoy proxy versions -Nomad 0.13.0 changes the behavior around the selection of Envoy version used +Nomad 1.0.0 changes the behavior around the selection of Envoy version used for Connect sidecar proxies. Previously, Nomad always defaulted to Envoy v1.11.2 if neither the `meta.connect.sidecar_image` parameter or `sidecar_task` stanza were explicitly configured. Likewise the same version of Envoy would be used for Connect ingress gateways if `meta.connect.gateway_image` was unset. Starting with -Nomad 0.13.0, each Nomad Client will query Consul for a list of supported Envoy +Nomad 1.0.0, each Nomad Client will query Consul for a list of supported Envoy versions. Nomad will make use of the latest version of Envoy supported by the Consul agent when launching Envoy as a Connect sidecar proxy. If the version of the Consul agent is older than v1.7.8, v1.8.4, or v1.9.0, Nomad will fallback to @@ -81,7 +81,7 @@ the v1.11.2 version of Envoy. As before, if the `meta.connect.sidecar_image`, `meta.connect.gateway_image`, or `sidecar_task` stanza are set, those settings take precedence. -When upgrading Nomad Clients from a previous version to v0.13.0 and above, it is +When upgrading Nomad Clients from a previous version to v1.0.0 and above, it is recommended to also upgrade the Consul agents to v1.7.8, 1.8.4, or v1.9.0 or newer. Upgrading Nomad and Consul to versions that support the new behaviour while also doing a full [node drain](https://www.nomadproject.io/docs/upgrade#5-upgrade-clients) at