PaletteAI 1.2.0 Release Notes
Summary
PaletteAI 1.2.0 is the first stable release in the 1.2 line. It introduces system-wide configuration and federation, a new cross-scope sharing model, an automatic spoke-side inventory agent, customizable project roles, and a broad round of security and compliance hardening, on top of upgraded fleet management and expanded GPU support.
- System-wide configuration - A new System scope lets administrators define compute, settings, models, and profile bundles once and have them federate to every tenant, project, and workload-namespace spoke, with per-scope overrides and aggregate fleet and GPU inventory views. Canvas adds a dedicated System Settings area for basic info, compute, resource limits, autoscaling, target namespaces, and variables.
- Cross-scope sharing - Compute pools, compute configurations, scaling policies, and integration settings can now be shared across projects, tenants, and the system scope through a new sharing model, with read visibility governed by each user's permissions.
- Curator spoke agent - A new Curator agent is installed automatically on each managed cluster to collect the hardware and inventory details used by compute and GPU features.
- Custom project roles - Beyond the built-in viewer, editor, and admin tiers, administrators can define additional project roles with their own permission sets; the roles are applied consistently across every tenant, and an invalid role definition no longer disrupts role provisioning for others.
- Security and compliance hardening - New STIG-aligned controls include a pre-authentication notice-and-consent banner, a 10-minute session inactivity timeout, logout with single sign-on termination, Kubernetes audit events for login, logout, and failed login, and read-only container filesystems. Audit-sink credentials are now generated automatically and stored in a managed, upgrade-safe Secret instead of shipping a default username and password.
- GPU partitioning and variants - GPU configuration moves to a finer-grained variant model with Day-1 and Day-2 Multi-Instance GPU (MIG) partitioning, fleet-level MIG views, and per-variant GPU quotas.
- CLI enhancements - The
paletteaiCLI adds asupport-bundlecommand and tooling for air-gapped content bundles has been extended to support all dependencies (images, charts, Packs, models, and GitHub repositories) in a single bundle.
For the complete, per-component list of changes, see Full Component Release Notes.
Upgrade Notes
- You must upgrade the
mural-crdschart to 0.7.17 before upgrading themuralchart to 1.2.0. For detailed instructions on how to upgrade PaletteAI, refer to the PaletteAI upgrade guide.
Component Versions
The following core component versions are pinned for this PaletteAI release.
| Component | Version |
|---|---|
| brush | 0.5.24 |
| canvas | 0.6.18 |
| hue | 0.12.28 |
| mural-crds | 0.7.17 |
Mural Helm values
values.yaml changes between 1.1.8 and 1.2.0
values.yaml
diff --git a/mural/charts/mural/values.yaml b/mural/charts/mural/values.yaml
index e201f047d..368ee08a2 100644
--- a/mural/charts/mural/values.yaml
+++ b/mural/charts/mural/values.yaml
@@ -28,8 +28,11 @@
## @param global.auditLogging.enabled Whether to enable audit logging to alertmanager. Default is true.
## @param global.auditLogging.alertmanagerURL The URL of the alertmanager service to send audit logs to.
## @param global.auditLogging.timeout Timeout for sending audit logs to alertmanager.
-## @param global.auditLogging.basicAuth.username Username for basic auth to alertmanager. Set to empty string to disable basic auth.
-## @param global.auditLogging.basicAuth.password Password for basic auth to alertmanager. Set to empty string to disable basic auth.
+## @param global.auditLogging.basicAuth.username Username for basic auth to alertmanager. Leave empty to auto-generate (stored in secretRef.name).
+## @param global.auditLogging.basicAuth.password Password for basic auth to alertmanager. Leave empty to auto-generate a random credential (stored in secretRef.name).
+## @param global.auditLogging.basicAuth.secretRef.name Name of the Secret holding the audit basic-auth credentials. Auto-generated and managed by the chart at the default name; point at your own Secret to self-manage.
+## @param global.auditLogging.basicAuth.secretRef.usernameKey Key within secretRef.name holding the username.
+## @param global.auditLogging.basicAuth.secretRef.passwordKey Key within secretRef.name holding the password.
## @param global.auditLogging.tls.insecureSkipVerify Whether to skip TLS certificate verification when connecting to alertmanager.
## @param global.auditLogging.tls.caCertSecretName Name of the secret containing the CA certificate for alertmanager TLS.
## @param global.auditLogging.tls.minVersion Minimum TLS version for connecting to alertmanager (e.g., "TLS12", "TLS13").
@@ -69,7 +72,7 @@ global:
# - use a custom FleetConfig controller image with the `gke-gcloud-auth-plugin` installed
kubernetesProvider: "Generic"
certManagerVersion: "v1.19.1"
- muralVersion: "1.1.8"
+ muralVersion: "1.2.0"
dns:
domain: "replace.with.your.domain"
rootIngress:
@@ -90,9 +93,16 @@ global:
alertmanagerURL: "https://alertmanager.mural-system.svc.cluster.local:9093"
timeout: "2s"
basicAuth:
- # Set username and password to empty strings to disable basic auth, or change the password for production use
- username: user
- password: pass
+ # Audit-sink basic-auth credentials. Leave username/password empty to
+ # auto-generate a random credential, stored in the Secret named by
+ # secretRef.name and preserved across upgrades. Set them to supply your
+ # own credential, or point secretRef.name at a Secret you manage.
+ username: ""
+ password: ""
+ secretRef:
+ name: "mural-audit-basic-auth"
+ usernameKey: "username"
+ passwordKey: "password"
tls:
insecureSkipVerify: false
caCertSecretName: alertmanager-tls-cert
@@ -110,7 +120,7 @@ global:
username: ""
password: ""
basicAuthSecretName: ""
- muralCrdsVersion: "0.7.8-hotfix.7"
+ muralCrdsVersion: "0.7.17"
## @section certificates
## @param certificates.clusterIssuer.spec.selfSigned The spec for the ClusterIssuer used by cert-manager to issue the Mural root CA certificate.
@@ -141,7 +151,7 @@ certificates:
## @param cleanup.deletionIntervalSeconds Cleanup deletion interval seconds.
## @param cleanup.deletionTimeoutSeconds Cleanup deletion timeout seconds.
cleanup:
- image: quay.io/spectrocloud-labs/spectro-cleanup:v1.7.0
+ image: quay.io/spectrocloud-labs/spectro-cleanup:v1.8.0
imagePullPolicy: IfNotPresent
deletionIntervalSeconds: 2
deletionTimeoutSeconds: 300
@@ -193,6 +203,7 @@ cleanup:
## @param fleetConfig.hub.clusterManager.featureGates.DefaultClusterSet DefaultClusterSet feature gate.
## @param fleetConfig.hub.clusterManager.featureGates.ManifestWorkReplicaSet ManifestWorkReplicaSet feature gate.
## @param fleetConfig.hub.clusterManager.featureGates.ResourceCleanup ResourceCleanup feature gate.
+## @param fleetConfig.hub.clusterManager.featureGates.CleanUpCompletedManifestWork CleanUpCompletedManifestWork feature gate for the cluster manager.
## @param fleetConfig.hub.clusterManager.purgeOperator If set, the cluster manager operator will be purged and the open-cluster-management namespace deleted when the FleetConfig CR is deleted.
## @param fleetConfig.hub.clusterManager.resources.limits.cpu The number of CPU units to request, e.g., '800m'.
## @param fleetConfig.hub.clusterManager.resources.limits.memory The amount of memory to request, e.g., '8Gi'.
@@ -286,7 +297,7 @@ fleetConfig:
ClusterClaim: true
RawFeedbackJsonString: true
source:
- bundleVersion: v1.0.0
+ bundleVersion: v1.3.1
registry: us-docker.pkg.dev/palette-images-fips/palette/spectro-ocm-bcfips
## @descriptionStart
##
@@ -897,11 +908,14 @@ fleetConfig:
## - **NilExecutorValidating** (ALPHA - default=false) - Enables nil executor validation
## - **ResourceCleanup** (BETA - default=true) - Enables automatic resource cleanup
## - **V1beta1CSRAPICompatibility** (ALPHA - default=false) - Enables v1beta1 CSR API compatibility
+ ## - **CleanUpCompletedManifestWork** (ALPHA - default=false) - Enables automatic garbage collection of completed manifest works
+ ## - **PlacementDebugServer** (ALPHA - default=false) - Enables the placement debug server
## @descriptionEnd
featureGates:
DefaultClusterSet: true
ManifestWorkReplicaSet: true
ResourceCleanup: true
+ CleanUpCompletedManifestWork: true
purgeOperator: true
## @descriptionStart
## Resource specifications for all clustermanager-managed containers.
@@ -1168,38 +1182,18 @@ alertmanager:
##
extraContainers: []
containerPortName: &containerPortName http
+ # Audit basic-auth credentials are auto-generated and unknown at template
+ # render time, and Kubernetes probe httpGet headers cannot reference a Secret.
+ # The Alertmanager web server enforces basic auth on all HTTP endpoints
+ # (including /-/healthy and /-/ready), so TCP-socket probes are used instead.
livenessProbe:
- httpGet:
- path: /-/healthy
+ httpGet: null
+ tcpSocket:
port: http
- # Change scheme to HTTP if TLS is not being used
- scheme: HTTPS
- httpHeaders:
- # IMPORTANT: This Authorization header must be kept in sync with global.auditLogging.basicAuth.username/password
- # The value below is Base64 encoded "user:pass" (matching the default credentials in global.auditLogging.basicAuth)
- #
- # If you change global.auditLogging.basicAuth credentials, you MUST regenerate this value using:
- # echo -n "username:password" | base64
- #
- # Then update the value below with the new Base64 string.
- - name: Authorization
- value: "Basic dXNlcjpwYXNz"
readinessProbe:
- httpGet:
- path: /-/ready
+ httpGet: null
+ tcpSocket:
port: http
- # Change scheme to HTTP if TLS is not being used
- scheme: HTTPS
- httpHeaders:
- # IMPORTANT: This Authorization header must be kept in sync with global.auditLogging.basicAuth.username/password
- # The value below is Base64 encoded "user:pass" (matching the default credentials in global.auditLogging.basicAuth)
- #
- # If you change global.auditLogging.basicAuth credentials, you MUST regenerate this value using:
- # echo -n "username:password" | base64
- #
- # Then update the value below with the new Base64 string.
- - name: Authorization
- value: "Basic dXNlcjpwYXNz"
service:
annotations: {}
labels: {}
@@ -1515,7 +1509,7 @@ brush:
## @param brush.image.pullPolicy The pull policy to use for the image
image:
repository: public.ecr.aws/mural/brush
- tag: v0.5.18-hotfix.7
+ tag: v0.5.24
pullPolicy: IfNotPresent
## @param brush.imagePullSecrets The pull secrets to use for the image
imagePullSecrets: []
@@ -1794,6 +1788,12 @@ canvas:
# This is a YAML-formatted file.
# Add variables to this file as needed.
+ ## @section Global parameters
+ ## @param canvas.global.instanceName Unique name for this PaletteAI instance; also the name of the singleton `System` CR that Canvas reads/writes.
+ ## Populated by the umbrella `mural` chart from its own `global.instanceName`. When empty the deployment falls
+ ## back to `pai-system` to match the backend default (hue's `constants.InstanceName`).
+ global:
+ instanceName: ""
## @section Canvas parameters
## @param canvas.replicas Number of canvas replicas
replicas: 1
@@ -1804,7 +1804,7 @@ canvas:
## @param canvas.image.pullPolicy canvas image pull policy
image:
repository: public.ecr.aws/mural/canvas
- tag: v0.6.9-hotfix.7
+ tag: v0.6.18
pullPolicy: IfNotPresent
## @param canvas.imagePullSecrets Image pull secrets
imagePullSecrets: []
@@ -1989,10 +1989,10 @@ canvas:
timeoutSeconds: 10
failureThreshold: 5
readiness:
- initialDelaySeconds: 15
- periodSeconds: 10
- timeoutSeconds: 10
- failureThreshold: 5
+ initialDelaySeconds: 3
+ periodSeconds: 2
+ timeoutSeconds: 3
+ failureThreshold: 15
## @param canvas.devspaceEnabled devspace enabled
devspaceEnabled: false
## @param canvas.branding.configMapName Kubernetes name of the branding ConfigMap (default `branding`).
@@ -2003,6 +2003,7 @@ canvas:
## @param canvas.branding.favicon Favicon: PNG, JPEG, or octet-stream base64 data URI, or HTTP(S) URL (proxied; PNG/JPEG/GIF/SVG/WebP/ICO). Recommended source: 32×32 or 48×48 PNG or multi-size ICO; HTTP(S) max 2 MB. Empty = bundled default.
## @param canvas.branding.primaryLogo Primary logo for login + header (see product docs). Data URI (PNG/JPEG/octet-stream base64) or HTTP(S) URL. Recommended: ≥128×128 px square or wide mark (e.g. 256×64) with height ≥64 px; HTTP(S) max 2 MB. Empty = defaults.
## @param canvas.branding.secondaryLogo Secondary header logo; requires `primaryLogo`. Data URI or HTTP(S) URL; displayed up to ~32 px tall. Recommended sizing matches `primaryLogo`; HTTP(S) max 2 MB.
+ ## @param canvas.branding.notice Pre-authentication notice and consent banner text shown on the login page (STIG SRG-APP-000068 / SRG-APP-000069). When set, login controls are disabled until the user acknowledges. Rendered as plain text; newlines preserved. Empty = no banner.
branding:
brandColor: ""
configMapName: "branding"
@@ -2012,9 +2013,100 @@ canvas:
sidebarBackgroundColor: ""
primaryLogo: ""
secondaryLogo: ""
+ notice: ""
## @param canvas.fullnameOverride Fullname override
fullnameOverride: canvas
+## @section curator
+curator:
+ ## @param curator.enabled Whether to enable the curator chart. Default is true.
+ enabled: true
+ # Default values for curator.
+
+ ## @section OCM addon parameters
+ ocm:
+ addon:
+ ## @param curator.ocm.addon.enabled Whether to create OCM addon registration resources.
+ enabled: true
+ ## @param curator.ocm.addon.name Name of the ClusterManagementAddOn and AddOnTemplate.
+ name: curator
+ ## @param curator.ocm.addon.installNamespace Namespace on the managed cluster where the curator agent is installed.
+ installNamespace: mural-system
+ ## @param curator.ocm.addon.managedClusters Managed clusters to enable the curator addon on.
+ ## Each entry creates a ManagedClusterAddOn in the managed cluster namespace on the hub.
+ managedClusters: []
+ # - namespace: hub-as-spoke
+ # installNamespace: mural-system
+ ## @section curator agent parameters
+
+ ## @param curator.replicaCount Number of curator replicas on each spoke cluster.
+ replicaCount: 1
+ ## @param curator.image.repository Image repository for curator.
+ ## @param curator.image.tag Image tag for curator.
+ ## @param curator.image.pullPolicy Image pull policy for curator.
+ image:
+ repository: public.ecr.aws/mural/curator
+ tag: v0.0.2
+ pullPolicy: IfNotPresent
+ ## @param curator.imagePullSecrets Image pull secrets for curator.
+ imagePullSecrets: []
+ ## @param curator.nameOverride Override for the chart name.
+ nameOverride: ""
+ ## @param curator.fullnameOverride Override for the fully qualified app name.
+ fullnameOverride: curator
+ ## @param curator.podSecurityContext.seccompProfile.type Seccomp profile for curator pods.
+ podSecurityContext:
+ seccompProfile:
+ type: RuntimeDefault
+ ## @param curator.securityContext.allowPrivilegeEscalation Allow privilege escalation.
+ ## @param curator.securityContext.capabilities.drop Capabilities to drop.
+ ## @param curator.securityContext.readOnlyRootFilesystem Mount root filesystem read-only.
+ ## @param curator.securityContext.runAsNonRoot Run as non-root user.
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+ ## @param curator.resources.requests.cpu CPU request for the curator controller.
+ ## @param curator.resources.requests.memory Memory request for the curator controller.
+ ## @param curator.resources.limits.cpu CPU limit for the curator controller.
+ ## @param curator.resources.limits.memory Memory limit for the curator controller.
+ resources:
+ limits:
+ cpu: 200m
+ memory: 256Mi
+ requests:
+ cpu: 100m
+ memory: 128Mi
+ ## @param curator.metrics.port Port for the metrics endpoint.
+ metrics:
+ port: 8080
+ ## @param curator.healthCheck.port Port for health and readiness probes.
+ healthCheck:
+ port: 8081
+ ## @skip curator.livenessProbe
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: healthz
+ initialDelaySeconds: 15
+ periodSeconds: 20
+ timeoutSeconds: 1
+ failureThreshold: 3
+ successThreshold: 1
+ ## @skip curator.readinessProbe
+ readinessProbe:
+ httpGet:
+ path: /readyz
+ port: healthz
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ timeoutSeconds: 1
+ failureThreshold: 3
+ successThreshold: 1
+
## @skip dex
dex:
enabled: true
@@ -2114,10 +2206,15 @@ dex:
hash: '$2a$12$Ot2dJ0pmdIC2oXUDW/Ez1OIfhkSzLZIbsumsxkByuU3CUr02DtiC.'
username: 'admin'
userID: '08a8684b-db88-4b73-90a9-3cd1661f5466'
+ # See https://dexidp.io/docs/configuration/tokens/#expiration-and-rotation-settings for all supported options.
expiry:
# The life time of tokens issued by Dex
idTokens: "8h"
- # See https://dexidp.io/docs/connectors/ for more options
+ # Session inactivity timeout (STIG SRG-APP-000190-CTR-000500).
+ # Idle sessions are logged out after this duration. Canvas resets the
+ # timer only on genuine user interaction.
+ refreshTokens:
+ validIfNotUsedFor: "10m"
# -- Additional storage [volumes](https://kubernetes.io/docs/concepts/storage/volumes/).
# See the [API reference](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#volumes-1) for details.
volumes:
@@ -2409,7 +2506,7 @@ fleetconfig-controller:
## Source bundle for the Cluster Manager and all Klusterlets.
source:
## @param fleetconfig-controller.fleetConfig.source.bundleVersion Bundle version.
- bundleVersion: v1.0.0
+ bundleVersion: v1.3.1
## @param fleetconfig-controller.fleetConfig.source.registry Image registry.
registry: quay.io/open-cluster-management
## @descriptionStart
@@ -2467,6 +2564,8 @@ fleetconfig-controller:
## - **NilExecutorValidating** (ALPHA - default=false) - Enables nil executor validation
## - **ResourceCleanup** (BETA - default=true) - Enables automatic resource cleanup
## - **V1beta1CSRAPICompatibility** (ALPHA - default=false) - Enables v1beta1 CSR API compatibility
+ ## - **CleanUpCompletedManifestWork** (ALPHA - default=false) - Enables automatic garbage collection of completed manifest works
+ ## - **PlacementDebugServer** (ALPHA - default=false) - Enables the placement debug server
## @descriptionEnd
featureGates:
@@ -2476,6 +2575,8 @@ fleetconfig-controller:
ManifestWorkReplicaSet: true
## @param fleetconfig-controller.fleetConfig.hub.clusterManager.featureGates.ResourceCleanup ResourceCleanup feature gate.
ResourceCleanup: true
+ ## @param fleetconfig-controller.fleetConfig.hub.clusterManager.featureGates.CleanUpCompletedManifestWork CleanUpCompletedManifestWork feature gate.
+ CleanUpCompletedManifestWork: true
## @param fleetconfig-controller.fleetConfig.hub.clusterManager.purgeOperator If set, the cluster manager operator will be purged and the open-cluster-management namespace deleted when the FleetConfig CR is deleted.
purgeOperator: true
## @descriptionStart
@@ -2661,7 +2762,7 @@ fleetconfig-controller:
## @param fleetconfig-controller.image.pullPolicy Image pull policy
image:
repository: us-docker.pkg.dev/palette-images-fips/palette/spectro-ocm-bcfips/fleetconfig-controller
- tag: v0.2.4
+ tag: v0.3.5
pullPolicy: IfNotPresent
## @param fleetconfig-controller.imagePullSecrets Image pull secrets
imagePullSecrets: []
@@ -3235,6 +3336,8 @@ hue:
projectName: ""
## @param hue.tenantName Owning tenant name for this spoke (`Project.spec.tenantRef.name`). Required on workload clusters for tenant-scoped OCI definition sync (`<tenantName>-tenant-spoke-definitions`) without listing Project on the spoke. Only applicable when ClusterType == spoke.
tenantName: ""
+ ## @param hue.systemName Marks a system-scoped spoke. When set, the spoke federates via the system resource bundle (`pai-system-project-definitions`). Mutually exclusive with projectName/tenantName. Only applicable when ClusterType == spoke.
+ systemName: ""
## @section OCI registry parameters. If specified, OCI deployment flow will be enabled.
## @param hue.ociRegistry.enabled whether to enable an OCI registry for tracking Workload revisions
## @param hue.ociRegistry.endpoint OCI registry endpoint
@@ -3321,7 +3424,7 @@ hue:
## @param hue.image.pullPolicy Image pull policy
image:
repository: public.ecr.aws/mural/hue
- tag: v0.12.12-hotfix.7
+ tag: v0.12.28
pullPolicy: IfNotPresent
## @param hue.resources.requests.cpu hue controller deployment's cpu request
## @param hue.resources.requests.memory hue controller deployment's memory request
@@ -3404,6 +3507,15 @@ hue:
## @param hue.rbac.create Specifies whether a RBAC role should be created
rbac:
create: true
+ ## @param hue.projectRBAC.additionalPersonas Map of custom project RBAC personas to ship as template ConfigMaps in the Helm release namespace, beyond the built-in viewer/editor/admin tiers. Keyed by persona tier ID (the `palette.ai/project-rbac-tier` annotation value). Each entry renders a labeled template ConfigMap that Hue discovers and copies into every tenant namespace. Defaults to an empty map. Each persona accepts an optional `displayName` (human-readable label for the UI) and a required `rules` string: a YAML list of Kubernetes PolicyRule objects (same shape as `Role.rules`). Tier IDs must be DNS-1123 subdomains and must not be reserved (`tnt-adm`) or duplicate a core tier (`viewer`, `editor`, `admin`).
+ projectRBAC:
+ additionalPersonas: {}
+ # operator:
+ # displayName: Operator
+ # rules: |
+ # - apiGroups: ["spectrocloud.com"]
+ # resources: ["aiworkloads", "computepools"]
+ # verbs: ["get", "list", "watch"]
## @param hue.admissionWebhooks.enabled Whether to enable admission webhooks
## @param hue.admissionWebhooks.failurePolicy The failure policy for admission webhooks
## @param hue.admissionWebhooks.certificate.mountPath The mount path for the certificate
@@ -3438,8 +3550,11 @@ hue:
## @param hue.auditLogging.enabled Whether to enable sending audit logs to Alertmanager
## @param hue.auditLogging.alertmanagerURL The URL of the Alertmanager instance to send audit logs to
## @param hue.auditLogging.timeout The timeout for Alertmanager requests (default: 2s)
- ## @param hue.auditLogging.basicAuth.username Basic auth username for Alertmanager
- ## @param hue.auditLogging.basicAuth.password Basic auth password for Alertmanager
+ ## @param hue.auditLogging.basicAuth.username Basic auth username for Alertmanager. Ignored when secretRef.name is set
+ ## @param hue.auditLogging.basicAuth.password Basic auth password for Alertmanager. Ignored when secretRef.name is set
+ ## @param hue.auditLogging.basicAuth.secretRef.name Existing Secret with Alertmanager basic-auth credentials; when set, username/password are read from it at runtime
+ ## @param hue.auditLogging.basicAuth.secretRef.usernameKey Key within secretRef.name holding the username
+ ## @param hue.auditLogging.basicAuth.secretRef.passwordKey Key within secretRef.name holding the password
## @param hue.auditLogging.tls.insecureSkipVerify Skip TLS certificate verification
## @param hue.auditLogging.tls.caCertSecretName The secret containing the CA certificate for Alertmanager TLS verification. Must contain a 'ca.crt' key. Must exist in the release namespace.
## @param hue.auditLogging.tls.minVersion Minimum TLS version for Alertmanager (TLS12, TLS13)
@@ -3454,6 +3569,10 @@ hue:
basicAuth:
username: ""
password: ""
+ secretRef:
+ name: ""
+ usernameKey: "username"
+ passwordKey: "password"
tls:
insecureSkipVerify: false
caCertSecretName: ""
@@ -3481,7 +3600,7 @@ hue:
enabled: true
image:
repository: public.ecr.aws/mural/hue-definitions
- tag: v0.12.12-hotfix.7
+ tag: v0.12.28
pullPolicy: IfNotPresent
pullSecrets: []
job:
Full Component Release Notes
The following table lists all changes made to core components in this PaletteAI release.
Per-component changes in 1.2.0
| Component | Tag | Notes |
|---|---|---|
| brush | brush/v0.5.18 | Other
|
| brush | brush/v0.5.19 | Features
Bug Fixes
Other
Dependency Updates
|
| brush | brush/v0.5.20 | Features
Bug Fixes
Other
|
| brush | brush/v0.5.21 | Bug Fixes
Other
|
| brush | brush/v0.5.22 | Features
Bug Fixes
Other
Dependency Updates
|
| brush | brush/v0.5.23 | Features
Bug Fixes
Other
Dependency Updates
|
| brush | brush/v0.5.24 | Bug Fixes
Performance
|
| canvas | canvas/v0.6.9 | Features
Bug Fixes
|
| canvas | canvas/v0.6.10 | Features
Bug Fixes
Other
|
| canvas | canvas/v0.6.11 | Features
Bug Fixes
Other
|
| canvas | canvas/v0.6.12 | Features
Bug Fixes
Other
|
| canvas | canvas/v0.6.13 | Features
Bug Fixes
Other
Docs
Refactoring
|
| canvas | canvas/v0.6.14 | Features
Bug Fixes
Other
Refactoring
|
| canvas | canvas/v0.6.15 | Features
Bug Fixes
Other
|
| canvas | canvas/v0.6.16 | Features
Bug Fixes
Other
|
| canvas | canvas/v0.6.17 | Features
Bug Fixes
|
| canvas | canvas/v0.6.18 | Bug Fixes
|
| hue | hue/v0.12.12 | Bug Fixes
|
| hue | hue/v0.12.13 | Features
Bug Fixes
Other
Dependency Updates
Refactoring
|
| hue | hue/v0.12.14 | Features
Bug Fixes
Other
Docs
|
| hue | hue/v0.12.15 | Features
Other
|
| hue | hue/v0.12.16 | Features
Bug Fixes
Other
|
| hue | hue/v0.12.17 | Bug Fixes
Other
|
| hue | hue/v0.12.18 | Features
Bug Fixes
|
| hue | hue/v0.12.19 | Features
Bug Fixes
Other
Refactoring
|
| hue | hue/v0.12.20 | Features
Bug Fixes
Other
|
| hue | hue/v0.12.21 | Features
Bug Fixes
Other
Dependency Updates
|
| hue | hue/v0.12.22 | Features
Bug Fixes
Refactoring
|
| hue | hue/v0.12.23 | Features
Bug Fixes
Other
Refactoring
|
| hue | hue/v0.12.24 | Features
Bug Fixes
Other
|
| hue | hue/v0.12.25 | Features
Bug Fixes
Other
|
| hue | hue/v0.12.26 | Features
Bug Fixes
Other
Performance
|
| hue | hue/v0.12.27 | Features
Bug Fixes
Other
Performance
Refactoring
|
| hue | hue/v0.12.28 | Bug Fixes
|
| mural-crds | mural-crds/v0.7.8 | Features
|
| mural-crds | mural-crds/v0.7.9 | Features
|
| mural-crds | mural-crds/v0.7.10 | Features
Bug Fixes
Other
|
| mural-crds | mural-crds/v0.7.11 | Features
Other
|
| mural-crds | mural-crds/v0.7.12 | Features
Bug Fixes
Other
Refactoring
|
| mural-crds | mural-crds/v0.7.13 | Features
Bug Fixes
|
| mural-crds | mural-crds/v0.7.14 | Features
Other
|
| mural-crds | mural-crds/v0.7.15 | Bug Fixes
|
| mural-crds | mural-crds/v0.7.16 | Features
|
| mural-crds | mural-crds/v0.7.17 | Features
|