Skip to content

Nxs Universal Chart

v3.1.1 Breaking

This release includes 2 breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Affected surfaces

breaking_upgrade rbac

ReleasePort's take

Moderate signal
editorial:auto 9d

Kubernetes v3.1.1 now honors replicas: 0 and disables auto‑generated affinity by default.

Why it matters: The change to generic.usePredefinedAffinity defaults to false alters scheduling for all workloads; deployments specifying replicas: 0 will no longer be silently overridden, affecting workload scaling guarantees.

Summary

AI summary

Default affinity behavior changed to disabled and replicas 0 now honoured.

Changes in this release

Breaking High

Changes podAffinityPreset default from "soft" to empty string, altering generated affinity rules.

Changes podAffinityPreset default from "soft" to empty string, altering generated affinity rules.

Source: llm_adapter@2026-07-17

Confidence: high

Breaking High

Breaks default behavior: generic.usePredefinedAffinity now defaults to false, removing auto‑generated affinity.

Breaks default behavior: generic.usePredefinedAffinity now defaults to false, removing auto‑generated affinity.

Source: llm_adapter@2026-07-17

Confidence: low

Breaking Medium

Changes generic.usePredefinedAffinity default from true to false, disabling auto‑generated affinity.

Changes generic.usePredefinedAffinity default from true to false, disabling auto‑generated affinity.

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Feature Medium

Adds revisionHistoryLimit support for Deployments, StatefulSets, and DaemonSets.

Adds revisionHistoryLimit support for Deployments, StatefulSets, and DaemonSets.

Source: llm_adapter@2026-07-17

Confidence: high

Dependency Low

Updates Chart.lock to match dependencies: nuc-common 1.0.5, nuc-native-gateway 1.0.6, nuc-external-secrets 1.1.0; adds lock entries for nuc-argocd, nuc-keycloak-operator, nuc-strimzi-kafka-operator.

Updates Chart.lock to match dependencies: nuc-common 1.0.5, nuc-native-gateway 1.0.6, nuc-external-secrets 1.1.0; adds lock entries for nuc-argocd, nuc-keycloak-operator, nuc-strimzi-kafka-operator.

Source: llm_adapter@2026-07-17

Confidence: high

Bugfix Medium

Fixes rendering of replicas: 0 on Deployments and StatefulSets to honor explicit zero.

Fixes rendering of replicas: 0 on Deployments and StatefulSets to honor explicit zero.

Source: llm_adapter@2026-07-17

Confidence: high

Refactor Low

Omits empty affinity sub‑blocks and the entire affinity block when all presets are empty.

Omits empty affinity sub‑blocks and the entire affinity block when all presets are empty.

Source: llm_adapter@2026-07-17

Confidence: high

Full changelog

What's Changed

  • feat: support revisionHistoryLimit on Deployments and StatefulSets by @edvegas in https://github.com/nixys/nxs-universal-chart/pull/121
  • feat: add release v3.1.1 by @Gekter in https://github.com/nixys/nxs-universal-chart/pull/123
  • feat: support revisionHistoryLimit on DaemonSet by @SachkovDM

Added

  • added revisionHistoryLimit support for deployments, statefulSets, and daemonSets, including deploymentsGeneral, statefulSetsGeneral, and daemonSetsGeneral fallbacks. An explicitly set 0 is honoured; when unset, the field is omitted and the Kubernetes default (10) applies.

Fixed

  • fixed replicas: 0 on deployments and statefulSets being rendered as 1: an explicit 0 was treated as an unset value by default. An explicitly set 0 is now honoured; the default of 1 still applies when replicas is omitted (#119).

Changed

  • behavior change: generic.usePredefinedAffinity default changed from true to false: workloads without an explicit affinity no longer get generated affinity presets, so no affinity block is rendered unless requested. Set generic.usePredefinedAffinity: true (or per workload kind, e.g. deploymentsGeneral.usePredefinedAffinity: true) to keep the previous behavior (#21).
  • podAffinityPreset default changed from soft to "": the generated pod affinity and pod anti-affinity presets contradicted each other and cancelled out while adding scheduler overhead. With presets enabled, only the soft pod anti-affinity is generated by default now (#21).
  • generated affinity no longer renders empty preset sub-blocks (nodeAffinity: {} and alike); when all presets are empty the affinity block is omitted entirely (#21).
  • regenerated Chart.lock to match the dependencies declared in Chart.yaml: nuc-common 1.0.5, nuc-native-gateway 1.0.6, nuc-external-secrets 1.1.0, and added lock entries for nuc-argocd, nuc-keycloak-operator, and nuc-strimzi-kafka-operator.

Testing

  • added unit suites tests/units/replicas_test.yaml, tests/units/affinity_presets_test.yaml, and tests/units/revision_history_limit_test.yaml covering the changes above.

Full Changelog: https://github.com/nixys/nxs-universal-chart/compare/v3.1.0...v3.1.1

Breaking Changes

  • Default `generic.usePredefinedAffinity` changed from true to false; workloads without explicit affinity no longer receive generated presets unless explicitly enabled.
  • `podAffinityPreset` default changed from "soft" to empty string, altering generated pod affinity/anti‑affinity behavior.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Nxs Universal Chart

Get notified when new releases ship.

Sign up free

About Nxs Universal Chart

All releases →

Related context

Beta — feedback welcome: [email protected]