PageSourceSearch

https://docs.k3s.io/assets/js/1dedd89e.3c050667.js

js k3s.io collected 2026-10-01 10:16:23 UTC 93,157 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkk_3_s_docs=self.webpackChunkk_3_s_docs||[]).push([[1281],{51226:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>h,default:()=>o,frontMatter:()=>l,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"release-notes-old/v1.28.X","title":"v1.28.X","description":"Before upgrading from earlier releases, be sure to read the Kubernetes Urgent Upgrade Notes.","source":"@site/docs/release-notes-old/v1.28.X.md","sourceDirName":"release-notes-old","slug":"/release-notes-old/v1.28.X","permalink":"/release-notes-old/v1.28.X","draft":false,"unlisted":false,"editUrl":"https://github.com/k3s-io/docs/edit/main/docs/release-notes-old/v1.28.X.md","tags":[],"version":"current","lastUpdatedAt":1790705508000,"sidebarPosition":5,"frontMatter":{"hide_table_of_contents":true,"sidebar_position":5,"title":"v1.28.X"},"sidebar":"mySidebar","previous":{"title":"v1.29.X","permalink":"/release-notes-old/v1.29.X"},"next":{"title":"v1.27.X","permalink":"/release-notes-old/v1.27.X"}}');var t=i(74848),n=i(28453);const l={hide_table_of_contents:!0,sidebar_position:5,title:"v1.28.X"},h=void 0,c={},d=[{value:"Release v1.28.15+k3s1",id:"release-v12815k3s1",level:2},{value:"Changes since v1.28.14+k3s1:",id:"changes-since-v12814k3s1",level:3},{value:"Release v1.28.14+k3s1",id:"release-v12814k3s1",level:2},{value:"Changes since v1.28.13+k3s1:",id:"changes-since-v12813k3s1",level:3},{value:"Release v1.28.13+k3s1",id:"release-v12813k3s1",level:2},{value:"Changes since v1.28.12+k3s1:",id:"changes-since-v12812k3s1",level:3},{value:"Release v1.28.12+k3s1",id:"release-v12812k3s1",level:2},{value:"Changes since v1.28.11+k3s2:",id:"changes-since-v12811k3s2",level:3},{value:"Release v1.28.11+k3s2",id:"release-v12811k3s2",level:2},{value:"Changes since v1.28.11+k3s1:",id:"changes-since-v12811k3s1",level:3},{value:"Release v1.28.11+k3s1",id:"release-v12811k3s1",level:2},{value:"Changes since v1.28.10+k3s1:",id:"changes-since-v12810k3s1",level:3},{value:"Release v1.28.10+k3s1",id:"release-v12810k3s1",level:2},{value:"Changes since v1.28.9+k3s1:",id:"changes-since-v1289k3s1",level:3},{value:"Release v1.28.9+k3s1",id:"release-v1289k3s1",level:2},{value:"Changes since v1.28.8+k3s1:",id:"changes-since-v1288k3s1",level:3},{value:"Release v1.28.8+k3s1",id:"release-v1288k3s1",level:2},{value:"Changes since v1.28.7+k3s1:",id:"changes-since-v1287k3s1",level:3},{value:"Release v1.28.7+k3s1",id:"release-v1287k3s1",level:2},{value:"Changes since v1.28.6+k3s2:",id:"changes-since-v1286k3s2",level:3},{value:"Release v1.28.6+k3s2",id:"release-v1286k3s2",level:2},{value:"Changes since v1.28.5+k3s1:",id:"changes-since-v1285k3s1",level:3},{value:"Release v1.28.5+k3s1",id:"release-v1285k3s1",level:2},{value:"Changes since v1.28.4+k3s1:",id:"changes-since-v1284k3s1",level:3},{value:"Release v1.28.4+k3s2",id:"release-v1284k3s2",level:2},{value:"Changes since v1.28.3+k3s2:",id:"changes-since-v1283k3s2",level:3},{value:"Release v1.28.3+k3s2",id:"release-v1283k3s2",level:2},{value:"Changes since v1.28.3+k3s1:",id:"changes-since-v1283k3s1",level:3},{value:"Release v1.28.3+k3s1",id:"release-v1283k3s1",level:2},{value:"Changes since v1.28.2+k3s1:",id:"changes-since-v1282k3s1",level:3},{value:"Release v1.28.2+k3s1",id:"release-v1282k3s1",level:2},{value:"Changes since v1.28.1+k3s1:",id:"changes-since-v1281k3s1",level:3},{value:"Release v1.28.1+k3s1",id:"release-v1281k3s1",level:2},{value:"Changes since v1.27.5+k3s1:",id:"changes-since-v1275k3s1",level:3}];function a(e){const s={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.admonition,{title:"Upgrade Notice",type:"warning",children:(0,t.jsxs)(s.p,{children:["Before upgrading from earlier releases, be sure to read the Kubernetes ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#urgent-upgrade-notes",children:"Urgent Upgrade Notes"}),"."]})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Version"}),(0,t.jsx)(s.th,{children:"Release date"}),(0,t.jsx)(s.th,{children:"Kubernetes"}),(0,t.jsx)(s.th,{children:"Kine"}),(0,t.jsx)(s.th,{children:"SQLite"}),(0,t.jsx)(s.th,{children:"Etcd"}),(0,t.jsx)(s.th,{children:"Containerd"}),(0,t.jsx)(s.th,{children:"Runc"}),(0,t.jsx)(s.th,{children:"Flannel"}),(0,t.jsx)(s.th,{children:"Metrics-server"}),(0,t.jsx)(s.th,{children:"Traefik"}),(0,t.jsx)(s.th,{children:"CoreDNS"}),(0,t.jsx)(s.th,{children:"Helm-controller"}),(0,t.jsx)(s.th,{children:"Local-path-provisioner"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v12815k3s1",children:"v1.28.15+k3s1"})}),(0,t.jsx)(s.td,{children:"Oct 26 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v12815",children:"v1.28.15"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.13.2",children:"v0.13.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_46_1.html",children:"3.46.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1",children:"v3.5.13-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.22-k3s1.28",children:"v1.7.22-k3s1.28"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.14",children:"v1.1.14"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.25.6",children:"v0.25.6"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2",children:"v0.7.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.11.
110",children:"v2.11.10"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.11.3",children:"v1.11.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.15",children:"v0.15.15"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.30",children:"v0.0.30"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v12814k3s1",children:"v1.28.14+k3s1"})}),(0,t.jsx)(s.td,{children:"Sep 19 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v12814",children:"v1.28.14"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.12.0",children:"v0.12.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_44_0.html",children:"3.44.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1",children:"v3.5.13-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.21-k3s2.28",children:"v1.7.21-k3s2.28"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.14",children:"v1.1.14"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.25.6",children:"v0.25.6"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2",children:"v0.7.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.11.8",children:"v2.11.8"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.11.3",children:"v1.11.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.13",children:"v0.15.13"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.28",children:"v0.0.28"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v12813k3s1",children:"v1.28.13+k3s1"})}),(0,t.jsx)(s.td,{children:"Aug 21 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v12813",children:"v1.28.13"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.11",children:"v0.11.11"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_44_0.html",children:"3.44.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1",children:"v3.5.13-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.20-k3s2.28",children:"v1.7.20-k3s2.28"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.12",children:"v1.1.12"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.25.4",children:"v0.25.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.0",children:"v0.7.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.7",children:"v2.10.7"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.10",children:"v0.15.10"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.28",children:"v0.0.28"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v12812k3s1",children:"v1.28.12+k3s1"})}),(0,t.jsx)(s.td,{children:"Jul 31 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v12812",children:"v1.28.12"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.11",children:"v0.11.11"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_44_0.html",children:"3.44.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1",children:"v3.5.13-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.17-k3s1.28",children:"v1.7.17-k3s1.28"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.12",children:"v1.1.12"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.25.4",children:"v0.25.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.0",children:"v0.7.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.7",children:"v2.10.7"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.10",children:"v0.15.10"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.28",children:"v0.0.28"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v12811k3s2",children:"v1.28.11+k3s2"})}),(0,t.jsx)(s.td,{children:"Jul 03 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v12811",children:"v1.28.11"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.9",children:"v0.11.9"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_44_0.html",children:"3.44.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1",children:"v3.5.13-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.17-k3s1.28",children:"v1.7.17-k3s1.28"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.12",children:"v1.1.12"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.25.4",children:"v0.25.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.0",children:"v0.7.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.7",children:"v2.10.7"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.10",children:"v0.15.10"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.27",children:"v0.0.27"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v12811k3s1",children:"v1.28.11+k3s1"})}),(0,t.jsx)(s.td,{children:"Jun 25 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v12811",children:"v1.28.11"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.9",children:"v0.11.9"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_44_0.html",children:"3.44.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1",children:"v3.5.13-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.17-k3s1.28",children:"v1.7.17-k3s1.28"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.12",children:"v1.1.12"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.25.2",children:"v0.25.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.0",children:"v0.7.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.7",children:"v2.10.7"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.10",children:"v0.15.10"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.27",children:"v0.0.27"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v12810k3s1",children:"v1.28.10+k3s1"})}),(0,t.jsx)(s.td,{children:"May 22 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v12810",children:"v1.28.10"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.7",children:"v0.11.7"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_44_0.html",children:"3.44.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.15-k3s1",children:"v1.7.15-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.12-k3s1",children:"v1.1.12-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.24.2",children:"v0.24.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.0",children:"v0.7.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.7",children:"v2.10.7"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.9",children:"v0.15.9"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.26",children:"v0.0.26"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1289k3s1",children:"v1.28.9+k3s1"})}),(0,t.jsx)(s.td,{children:"Apr 25 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1289",children:"v1.28.9"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.7",children:"v0.11.7"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_44_0.html",children:"3.44.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.15-k3s1",children:"v1.7.15-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.12",children:"v1.1.12"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.24.2",children:"v0.24.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.0",children:"v0.7.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.7",children:"v2.10.7"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.9",children:"v0.15.9"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.26",children:"v0.0.26"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1288k3s1",children:"v1.28.8+k3s1"})}),(0,t.jsx)(s.td,{children:"Mar 25 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1288",children:"v1.28.8"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.4",children:"v0.11.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_44_0.html",children:"3.44.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.11-k3s2",children:"v1.7.11-k3s2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.12-k3s1",children:"v1.1.12-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.24.2",children:"v0.24.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.0",children:"v0.7.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.5",children:"v2.10.5"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.9",children:"v0.15.9"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.26",children:"v0.0.26"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1287k3s1",children:"v1.28.7+k3s1"})}),(0,t.jsx)(s.td,{children:"Feb 29 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1287",children:"v1.28.7"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.4",children:"v0.11.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_44_0.html",children:"3.44.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.11-k3s2",children:"v1.7.11-k3s2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/runc/releases/tag/v1.1.12-k3s1",children:"v1.1.12-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.24.2",children:"v0.24.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.3",children:"v0.6.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.5",children:"v2.10.5"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.8",children:"v0.15.8"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a
1,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.26",children:"v0.0.26"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1286k3s2",children:"v1.28.6+k3s2"})}),(0,t.jsx)(s.td,{children:"Feb 06 2024"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1286",children:"v1.28.6"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.0",children:"v0.11.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_42_0.html",children:"3.42.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.11-k3s2",children:"v1.7.11-k3s2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.12-k3s1",children:"v1.1.12-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.22.2",children:"v0.22.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.3",children:"v0.6.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.5",children:"v2.10.5"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.8",children:"v0.15.8"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.24",children:"v0.0.24"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1285k3s1",children:"v1.28.5+k3s1"})}),(0,t.jsx)(s.td,{children:"Dec 27 2023"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1285",children:"v1.28.5"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.0",children:"v0.11.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_42_0.html",children:"3.42.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.11-k3s2",children:"v1.7.11-k3s2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.10",children:"v1.1.10"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.22.2",children:"v0.22.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.3",children:"v0.6.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.5",children:"v2.10.5"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.4",children:"v0.15.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.24",children:"v0.0.24"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1284k3s2",children:"v1.28.4+k3s2"})}),(0,t.jsx)(s.td,{children:"Dec 06 2023"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1284",children:"v1.28.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.11.
10",children:"v0.11.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_42_0.html",children:"3.42.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.7-k3s1",children:"v1.7.7-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.8",children:"v1.1.8"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.22.2",children:"v0.22.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.3",children:"v0.6.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.5",children:"v2.10.5"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.4",children:"v0.15.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.24",children:"v0.0.24"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1283k3s2",children:"v1.28.3+k3s2"})}),(0,t.jsx)(s.td,{children:"Nov 08 2023"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1283",children:"v1.28.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.10.3",children:"v0.10.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_42_0.html",children:"3.42.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.7-k3s1",children:"v1.7.7-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.8",children:"v1.1.8"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.22.2",children:"v0.22.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.3",children:"v0.6.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.5",children:"v2.10.5"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.4",children:"v0.15.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.24",children:"v0.0.24"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1283k3s1",children:"v1.28.3+k3s1"})}),(0,t.jsx)(s.td,{children:"Oct 30 2023"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1283",children:"v1.28.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.10.3",children:"v0.10.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_42_0.html",children:"3.42.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.7-k3s1",children:"v1.7.7-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.8",children:"v1.1.8"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.22.2",children:"v0.22.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.3",children:"v0.6.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.10.5",children:"v2.10.5"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.4",children:"v0.15.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.24",children:"v0.0.24"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1282k3s1",children:"v1.28.2+k3s1"})}),(0,t.jsx)(s.td,{children:"Sep 20 2023"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1282",children:"v1.28.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.10.3",children:"v0.10.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_42_0.html",children:"3.42.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.6-k3s1",children:"v1.7.6-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.8",children:"v1.1.8"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.22.2",children:"v0.22.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.3",children:"v0.6.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.9.10",children:"v2.9.10"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.4",children:"v0.15.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.24",children:"v0.0.24"})})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"/release-notes-old/v1.28.X#release-v1281k3s1",children:"v1.28.1+k3s1"})}),(0,t.jsx)(s.td,{children:"Sep 08 2023"}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#v1281",children:"v1.28.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/kine/releases/tag/v0.10.3",children:"v0.10.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://sqlite.org/releaselog/3_42_0.html",children:"3.42.0"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/etcd/releases/tag/v3.5.9-k3s1",children:"v3.5.9-k3s1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/containerd/releases/tag/v1.7.3-k3s2",children:"v1.7.3-k3s2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/opencontainers/runc/releases/tag/v1.1.8",children:"v1.1.8"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/flannel-io/flannel/releases/tag/v0.22.2",children:"v0.22.2"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.6.3",children:"v0.6.3"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/traefik/traefik/releases/tag/v2.9.10",children:"v2.9.10"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/coredns/coredns/releases/tag/v1.10.1",children:"v1.10.1"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/helm-controller/releases/tag/v0.15.4",children:"v0.15.4"})}),(0,t.jsx)(s.td,{children:(0,t.jsx)(s.a,{href:"https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.24",children:"v0.0.24"})})]})]})]}),"\n",(0,t.jsx)("br",{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v12815k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.15+k3s1",children:"v1.28.15+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.15, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v12814",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v12814k3s1",children:"Changes since v1.28.14+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Add int test for flannel-ipv6masq ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10906",children:"(#10906)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump Wharfie to v0.6.7 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10977",children:"(#10977)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add user path to runtimes search ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11005",children:"(#11005)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add e2e test for advanced fields in services ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11020",children:"(#11020)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Launch private registry with init ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11045",children:"(#11045)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-10 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11063",children:"(#11063)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Allow additional Rootless CopyUpDirs through K3S_ROOTLESS_COPYUPDIRS ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11042",children:"(#11042)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump containerd to v1.7.22 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11075",children:"(#11075)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add the nvidia runtime cdi ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11095",children:"(#11095)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Simplify svclb ds ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11085",children:"(#11085)"})]}),"\n",(0,t.jsxs)(s.li,{children:['Revert "Make svclb as simple as possible" ',(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11115",children:"(#11115)"})]}),"\n",(0,t.jsxs)(s.li,{children:['Fixes "file exists" error from CNI bins when upgrading k3s ',(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11128",children:"(#11128)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to Kubernetes v1.28.15-k3s1 and Go 1.22.8 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/11161",children:"(#11161)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v12814k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.14+k3s1",children:"v1.28.14+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.14, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v12813",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v12813k3s1",children:"Changes since v1.28.13+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Testing Backports for 2024-09 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10804",children:"(#10804)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Update to newer OS images for install testing"}),"\n",(0,t.jsx)(s.li,{children:"Fix caching name for e2e vagrant box"}),"\n",(0,t.jsx)(s.li,{children:"Fix deploy latest commit on E2E tests"}),"\n",(0,t.jsx)(s.li,{children:"DRY E2E Upgrade test setup"}),"\n",(0,t.jsx)(s.li,{children:"Cover edge case when on new minor release for E2E upgrade test"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Update CNI plugins version ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10820",children:"(#10820)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-09 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10845",children:"(#10845)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix hosts.toml header var ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10874",children:"(#10874)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.14-k3s1 and Go 1.22.6 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10884",children:"(#10884)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update Kubernetes to v1.28.14-k3s2 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10907",children:"(#10907)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v12813k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.13+k3s1",children:"v1.28.13+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.13, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v12812",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v12812k3s1",children:"Changes since v1.28.12+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Fixing setproctitle function ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10624",children:"(#10624)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump docker/docker to v24.0.10-0.20240723193628-852759a7df45 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10651",children:"(#10651)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-08 release cycle ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10666",children:"(#10666)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Use pagination when listing large numbers of resources"}),"\n",(0,t.jsx)(s.li,{children:"Fix multiple issues with servicelb"}),"\n",(0,t.jsx)(s.li,{children:"Remove deprecated use of wait. functions"}),"\n",(0,t.jsx)(s.li,{children:"Wire lasso metrics up to metrics endpoint"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for August 2024 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10673",children:"(#10673)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump containerd to v1.7.20 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10662",children:"(#10662)"})]}
1),"\n",(0,t.jsxs)(s.li,{children:["Add tolerations support for DaemonSet pods ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10705",children:"(#10705)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.strong,{children:"New Feature"}),": Users can now define Kubernetes tolerations for ServiceLB DaemonSet directly in the ",(0,t.jsx)(s.code,{children:"svccontroller.k3s.cattle.io/tolerations"})," annotation on services."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.13-k3s1 and Go 1.22.5 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10719",children:"(#10719)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v12812k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.12+k3s1",children:"v1.28.12+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.12, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v12811",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v12811k3s2",children:"Changes since v1.28.11+k3s2:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-07 release cycle ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10499",children:"(#10499)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Bump k3s-root to v0.14.0"}),"\n",(0,t.jsx)(s.li,{children:"Bump github.com/hashicorp/go-retryablehttp from 0.7.4 to 0.7.7"}),"\n",(0,t.jsx)(s.li,{children:"Bump Local Path Provisioner version"}),"\n",(0,t.jsx)(s.li,{children:"Ensure remotedialer kubelet connections use kubelet bind address"}),"\n",(0,t.jsx)(s.li,{children:"Chore: Bump Trivy version"}),"\n",(0,t.jsx)(s.li,{children:"Add etcd s3 config secret implementation"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["July Test Backports ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10509",children:"(#10509)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.12-k3s1 and Go 1.22.5 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10541",children:"(#10541)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix issues loading data-dir value from env vars or dropping config files ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10598",children:"(#10598)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v12811k3s2",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.11+k3s2",children:"v1.28.11+k3s2"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.11, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v12811",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v12811k3s1",children:"Changes since v1.28.11+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Update flannel to v0.25.4 and fixed issue with IPv6 mask ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10428",children:"(#10428)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v12811k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.11+k3s1",children:"v1.28.11+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.11, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v12810",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v12810k3s1",children:"Changes since v1.28.10+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Replace deprecated ruby function ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10090",children:"(#10090)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix bug when using tailscale config by file ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10144",children:"(#10144)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump flannel version to v0.25.2 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10221",children:"(#10221)"})]}
1),"\n",(0,t.jsxs)(s.li,{children:["Update kube-router version to v2.1.2 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10182",children:"(#10182)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Improve tailscale test & add extra log in e2e tests ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10213",children:"(#10213)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-06 release cycle ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10258",children:"(#10258)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Add WithSkipMissing to not fail import on missing blobs"}),"\n",(0,t.jsx)(s.li,{children:"Use fixed stream server bind address for cri-dockerd"}),"\n",(0,t.jsx)(s.li,{children:"Switch stargz over to cri registry config_path"}),"\n",(0,t.jsx)(s.li,{children:"Bump to containerd v1.7.17, etcd v3.5.13"}),"\n",(0,t.jsx)(s.li,{children:"Bump spegel version"}),"\n",(0,t.jsx)(s.li,{children:"Fix issue with externalTrafficPolicy: Local for single-stack services on dual-stack nodes"}),"\n",(0,t.jsxs)(s.li,{children:["ServiceLB now sets the priorityClassName on svclb pods to ",(0,t.jsx)(s.code,{children:"system-node-critical"})," by default. This can be overridden on a per-service basis via the ",(0,t.jsx)(s.code,{children:"svccontroller.k3s.cattle.io/priorityclassname"})," annotation."]}),"\n",(0,t.jsx)(s.li,{children:"Bump minio-go to v7.0.70"}),"\n",(0,t.jsx)(s.li,{children:"Bump kine to v0.11.9 to fix pagination"}),"\n",(0,t.jsx)(s.li,{children:"Update valid resolv conf"}),"\n",(0,t.jsx)(s.li,{children:"Add missing kernel config check"}),"\n",(0,t.jsx)(s.li,{children:"Symlinked sub-directories are now respected when scanning Auto-Deploying Manifests (AddOns)"}),"\n",(0,t.jsx)(s.li,{children:"Fix bug: allow helm controller set owner reference"}),"\n",(0,t.jsx)(s.li,{children:"Bump klipper-helm image for tls secret support"}),"\n",(0,t.jsx)(s.li,{children:"Fix issue with k3s-etcd informers not starting"}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"--Enable-pprof"})," can now be set on agents to enable the debug/pprof endpoints. When set, agents will listen on the supervisor port."]}),"\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.code,{children:"--Supervisor-metrics"})," can now be set on servers to enable serving internal metrics on the supervisor endpoint; when set agents will listen on the supervisor port."]}),"\n",(0,t.jsx)(s.li,{children:"Fix netpol crash when node remains tainted uninitialized"}),"\n",(0,t.jsx)(s.li,{children:"The embedded load-balancer will now fall back to trying all servers with health-checks ignored, if all servers have been marked unavailable due to failed health checks."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["More backports for 2024-06 release cycle ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10289",children:"(#10289)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add snapshot retention etcd-s3-folder fix ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10315",children:"(#10315)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add test for ",(0,t.jsx)(s.code,{children:"isValidResolvConf"})," (#10302) ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10331",children:"(#10331)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix race condition panic in loadbalancer.nextServer ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10323",children:"(#10323)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix typo, use ",(0,t.jsx)(s.code,{children:"rancher/permissions"})," ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10299",children:"(#10299)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update Kubernetes to v1.28.11 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10347",children:"(#10347)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix agent supervisor port using apiserver port instead ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10355",children:"(#10355)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix issue that allowed multiple simultaneous snapshots to be allowed ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10377",children:"(#10377)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v12810k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.10+k3s1",children:"v1.28.10+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.10, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1289",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1289k3s1",children:"Changes since v1.28.9+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Bump E2E opensuse leap to 15.6, fix btrfs test ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10095",children:"(#10095)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Windows changes ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10114",children:"(#10114)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.10-k3s1 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10098",children:"(#10098)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1289k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.9+k3s1",children:"v1.28.9+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.9, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1288",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1288k3s1",children:"Changes since v1.28.8+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Add a new error when kine is with disable apiserver or disable etcd ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9804",children:"(#9804)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Remove old pinned dependencies ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9827",children:"(#9827)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Transition from deprecated pointer library to ptr ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9824",children:"(#9824)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Golang caching and E2E ubuntu 23.10 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9821",children:"(#9821)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add tls for kine ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9849",children:"(#9849)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump spegel to v0.0.20-k3s1 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9880",children:"(#9880)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-04 release cycle ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9911",children:"(#9911)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Send error response if member list cannot be retrieved"}),"\n",(0,t.jsx)(s.li,{children:"The k3s stub cloud provider now respects the kubelet's requested provider-id, instance type, and topology labels"}),"\n",(0,t.jsx)(s.li,{children:"Fix error when image has already been pulled"}),"\n",(0,t.jsx)(s.li,{children:"Add /etc/passwd and /etc/group to k3s docker image"}),"\n",(0,t.jsx)(s.li,{children:"Fix etcd snapshot reconcile for agentless servers"}),"\n",(0,t.jsx)(s.li,{children:"Add health-check support to loadbalancer"}),"\n",(0,t.jsx)(s.li,{children:"Add certificate expiry check, events, and metrics"}),"\n",(0,t.jsx)(s.li,{children:"Add workaround for containerd hosts.toml bug when passing config for default registry endpoint"}),"\n",(0,t.jsx)(s.li,{children:"Add supervisor cert/key to rotate list"}),"\n",(0,t.jsx)(s.li,{children:"The embedded containerd has been bumped to v1.7.15"}),"\n",(0,t.jsx)(s.li,{children:"The embedded cri-dockerd has been bumped to v0.3.12"}),"\n",(0,t.jsxs)(s.li,{children:["The ",(0,t.jsx)(s.code,{children:"k3s etcd-snapshot"})," command has been reworked for improved consistency. All snapshots operations are now performed by the server process, with the CLI acting as a client to initiate and report results. As a side effect, the CLI is now less noisy when managing snapshots."]}),"\n",(0,t.jsx)(s.li,{children:"Improve etcd load-balancer startup behavior"}),"\n",(0,t.jsx)(s.li,{children:"Actually fix agent certificate rotation"}),"\n",(0,t.jsx)(s.li,{children:"Traefik has been bumped to v2.10.7."}),"\n",(0,t.jsx)(s.li,{children:"Traefik pod annotations are now set properly in the default chart values."}),"\n",(0,t.jsx)(s.li,{children:"The system-default-registry value now supports RFC2732 IPv6 literals."}),"\n",(0,t.jsxs)(s.li,{children:["The local-path provisioner now defaults to creating ",(0,t.jsx)(s.code,{children:"local"})," volumes, instead of ",(0,t.jsx)(s.code,{children:"hostPath"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Allow LPP to read helper logs ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9938",children:"(#9938)"})]}
1),"\n",(0,t.jsxs)(s.li,{children:["Update kube-router to v2.1.0 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9942",children:"(#9942)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.9-k3s1 and Go 1.21.9 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9959",children:"(#9959)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix on-demand snapshots timing out; not honoring folder ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9994",children:"(#9994)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Make /db/info available anonymously from localhost ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/10002",children:"(#10002)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1288k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.8+k3s1",children:"v1.28.8+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.8, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1287",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1287k3s1",children:"Changes since v1.28.7+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Add an integration test for flannel-backend=none ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9608",children:"(#9608)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Install and Unit test backports ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9641",children:"(#9641)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update klipper-lb image version ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9605",children:"(#9605)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Chore(deps): Remediating CVE-2023-45142  CVE-2023-48795 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9647",children:"(#9647)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Adjust first node-ip based on configured clusterCIDR ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9631",children:"(#9631)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Improve tailscale e2e test ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9653",children:"(#9653)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-03 release cycle ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9669",children:"(#9669)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Fix: use correct wasm shims names"}),"\n",(0,t.jsx)(s.li,{children:"The embedded flannel cni-plugin binary is now built and versioned separate from the rest of the cni plugins and the embedded flannel controller."}),"\n",(0,t.jsx)(s.li,{children:"Bump spegel to v0.0.18-k3s3"}),"\n",(0,t.jsx)(s.li,{children:"Adds wildcard registry support"}),"\n",(0,t.jsx)(s.li,{children:"Fixes issue with excessive CPU utilization while waiting for containerd to start"}),"\n",(0,t.jsx)(s.li,{children:"Add env var to allow spegel mirroring of latest tag"}),"\n",(0,t.jsx)(s.li,{children:"Tweak netpol node wait logs"}),"\n",(0,t.jsx)(s.li,{children:"Fix coredns NodeHosts on dual-stack clusters"}),"\n",(0,t.jsx)(s.li,{children:"Bump helm-controller/klipper-helm versions"}),"\n",(0,t.jsx)(s.li,{children:"Fix snapshot prune"}),"\n",(0,t.jsx)(s.li,{children:"Fix issue with etcd node name missing hostname"}),"\n",(0,t.jsx)(s.li,{children:"Rootless mode should also bind service nodePort to host for LoadBalancer type, matching UX of rootful mode."}),"\n",(0,t.jsxs)(s.li,{children:["To enable raw output for the ",(0,t.jsx)(s.code,{children:"check-config"})," subcommand, you may now set NO_COLOR=1"]}),"\n",(0,t.jsx)(s.li,{children:"Fix additional corner cases in registries handling"}),"\n",(0,t.jsx)(s.li,{children:"Bump metrics-server to v0.7.0"}),"\n",(0,t.jsx)(s.li,{children:"K3s will now warn and suppress duplicate entries in the mirror endpoint list for a registry. Containerd does not support listing the same endpoint multiple times as a mirror for a single upstream registry."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Docker and E2E Test Backports ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9707",children:"(#9707)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix wildcard entry upstream fallback ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9733",children:"(#9733)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.8-k3s1 and Go 1.21.8 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9746",children:"(#9746)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1287k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.7+k3s1",children:"v1.28.7+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.7, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1286",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1286k3s2",children:"Changes since v1.28.6+k3s2:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Chore: bump Local Path Provisioner version ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9426",children:"(#9426)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump cri-dockerd to fix compat with Docker Engine 25 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9293",children:"(#9293)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Auto Dependency Bump ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9419",children:"(#9419)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Runtimes refactor using exec.LookPath ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9431",children:"(#9431)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Directories containing runtimes need to be included in the $PATH environment variable for effective runtime detection."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Changed how lastHeartBeatTime works in the etcd condition ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9424",children:"(#9424)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump Flannel v0.24.2 + remove multiclustercidr ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9401",children:"(#9401)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Allow executors to define containerd and docker behavior ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9254",children:"(#9254)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update Kube-router to v2.0.1 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9404",children:"(#9404)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-02 release cycle ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9462",children:"(#9462)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Enable longer http timeout requests ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9444",children:"(#9444)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Test_UnitApplyContainerdQoSClassConfigFileIfPresent ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9440",children:"(#9440)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Support PR testing installs ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9469",children:"(#9469)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update Kubernetes to v1.28.7 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9492",children:"(#9492)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix drone publish for arm ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9508",children:"(#9508)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Remove failing Drone step ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9516",children:"(#9516)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Restore original order of agent startup functions ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9545",children:"(#9545)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix netpol startup when flannel is disabled ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9578",children:"(#9578)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1286k3s2",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.6+k3s2",children:"v1.28.6+k3s2"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.6, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1285",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.strong,{children:"Important Notes"})}),"\n",(0,t.jsxs)(s.p,{children:["Addresses the runc CVE: ",(0,t.jsx)(s.a,{href:"https://nvd.nist.gov/vuln/detail/CVE-2024-2
11626",children:"CVE-2024-21626"})," by updating runc to v1.1.12."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1285k3s1",children:"Changes since v1.28.5+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Add a retry around updating a secrets-encrypt node annotations ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9125",children:"(#9125)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Wait for taint to be gone in the node before starting the netpol controller ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9175",children:"(#9175)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Etcd condition ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9181",children:"(#9181)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-01 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9203",children:"(#9203)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Pin opa version for missing dependency chain ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9216",children:"(#9216)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Added supp
1ort for env *_PROXY variables for agent loadbalancer ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9206",children:"(#9206)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Etcd node is nil ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9228",children:"(#9228)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.6 and Go 1.20.13 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9260",children:"(#9260)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Use ",(0,t.jsx)(s.code,{children:"ipFamilyPolicy: RequireDualStack"})," for dual-stack kube-dns ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9269",children:"(#9269)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Backports for 2024-01 k3s2 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9336",children:"(#9336)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Bump runc to v1.1.12 and helm-controller to v0.15.7"}),"\n",(0,t.jsx)(s.li,{children:"Fix handling of bare hostname or IP as endpoint address in registries.yaml"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Bump helm-controller to fix issue with ChartContent ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9346",children:"(#9346)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1285k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.5+k3s1",children:"v1.28.5+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.5, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1284",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1284k3s1",children:"Changes since v1.28.4+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Remove s390x steps temporarily since runners are disabled ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8983",children:"(#8983)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Remove s390x from manifest ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8998",children:"(#8998)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix overlapping address range ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8913",children:"(#8913)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Modify CONTRIBUTING.md guide ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8954",children:"(#8954)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Nov 2023 stable channel update ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9022",children:"(#9022)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Default runtime and runtime classes for wasm/nvidia/crun ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8936",children:"(#8936)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Added runtime classes for wasm/nvidia/crun"}),"\n",(0,t.jsx)(s.li,{children:"Added default runtime flag for containerd"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Bump containerd/runc to v1.7.10-k3s1/v1.1.10 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8962",children:"(#8962)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Allow setting default-runtime on servers ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9027",children:"(#9027)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump containerd to v1.7.11 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9040",children:"(#9040)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.5-k3s1 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/9081",children:"(#9081)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1284k3s2",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.4+k3s2",children:"v1.28.4+k3s2"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.4, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1283",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1283k3s2",children:"Changes since v1.28.3+k3s2:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Update channels latest to v1.27.7+k3s2 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8799",children:"(#8799)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add etcd status condition ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8724",children:"(#8724)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Now the user can see the etcd status from each node in a simple way"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["ADR for etcd status ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8355",children:"(#8355)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Wasm shims detection ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8751",children:"(#8751)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Automatic discovery of WebAssembly runtimes"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Add warning for removal of multiclustercidr flag ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8758",children:"(#8758)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Improve dualStack log ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8798",children:"(#8798)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Optimize: Simplify and clean up Dockerfile ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8244",children:"(#8244)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add: timezone info in image ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8764",children:"(#8764)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["New timezone info in Docker image allows the use of ",(0,t.jsx)(s.code,{children:"spec.timeZone"})," in CronJobs"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}
1),"\n",(0,t.jsxs)(s.li,{children:["Bump kine to fix nats, postgres, and watch issues ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8778",children:"(#8778)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Bumped kine to v0.11.0 to resolve issues with postgres and NATS, fix performance of watch channels under heavy load, and improve compatibility with the reference implementation."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["QoS-class resource configuration ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8726",children:"(#8726)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Containerd may now be configured to use rdt or blockio configuration by defining ",(0,t.jsx)(s.code,{children:"rdt_config.yaml"})," or ",(0,t.jsx)(s.code,{children:"blockio_config.yaml"})," files."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Add agent flag disable-apiserver-lb ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8717",children:"(#8717)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Add agent flag disable-apiserver-lb, agent will not start load balance proxy."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Force umount for NFS mount (like with longhorn) ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8521",children:"(#8521)"})]}),"\n",(0,t.jsxs)(s.li,{children:["General updates to README ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8786",children:"(#8786)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix wrong warning from restorecon in install script ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8871",children:"(#8871)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix issue with snapshot metadata configmap ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8835",children:"(#8835)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Omit snapshot list configmap entries for snapshots without extra metadata"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Skip initial datastore reconcile during cluster-reset ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8861",children:"(#8861)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Tweaked order of ingress IPs in ServiceLB ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8711",children:"(#8711)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Improved ingress IP ordering from ServiceLB"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Disable helm CRD installation for disable-helm-controller ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8702",children:"(#8702)"})]}),"\n",(0,t.jsxs)(s.li,{children:["More improves for K3s patch release docs ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8800",children:"(#8800)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update install.sh sha256sum ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8885",children:"(#8885)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add jitter to client config retry to avoid hammering servers when they are starting up ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8863",children:"(#8863)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Handle nil pointer when runtime core is not ready in etcd ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8886",children:"(#8886)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump dynamiclistener; reduce snapshot controller log spew ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8894",children:"(#8894)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Bumped dynamiclistener to address a race condition that could cause a server to fail to sync its certificates into the Kubernetes secret"}),"\n",(0,t.jsx)(s.li,{children:"Reduced etcd snapshot log spam during initial cluster startup"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Remove depends_on for e2e step; fix cert rotate e2e ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8906",children:"(#8906)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix etcd snapshot S3 issues ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8926",children:"(#8926)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Don't apply S3 retention if S3 client failed to initialize"}),"\n",(0,t.jsx)(s.li,{children:"Don't request metadata when listing S3 snapshots"}),"\n",(0,t.jsx)(s.li,{children:"Print key instead of file path in snapshot metadata log message"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.4 and Go to v1.20.11 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8920",children:"(#8920)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Remove s390x steps temporarily since runners are disabled ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8983",children:"(#8983)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Remove s390x from manifest ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8998",children:"(#8998)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1283k3s2",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.3+k3s2",children:"v1.28.3+k3s2"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.3, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1283",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1283k3s1",children:"Changes since v1.28.3+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Restore selinux context systemd unit file ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8593",children:"(#8593)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update channel to v1.27.7+k3s1 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8753",children:"(#8753)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump Sonobuoy version ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8710",children:"(#8710)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump Trivy version ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8739",children:"(#8739)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix: Access outer scope .SystemdCgroup ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8761",children:"(#8761)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Fixed failing to start with nvidia-container-runtime"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Upgrade traefik chart to v25.0.0 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8771",children:"(#8771)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update traefik to fix registry value ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8792",children:"(#8792)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Don't use iptables-save/iptables-restore if it will corrupt rules ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8795",children:"(#8795)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1283k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.3+k3s1",children:"v1.28.3+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.3, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1282",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1282k3s1",children:"Changes since v1.28.2+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Fix error reporting ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8250",children:"(#8250)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add context to flannel errors ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8284",children:"(#8284)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update channel, September patch release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8397",children:"(#8397)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add missing link to drone in documentation ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8295",children:"(#8295)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Include the interface name in the error message ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8346",children:"(#8346)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add extraArgs to vpn provider ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8354",children:"(#8354)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Allow to pass extra args to the vpn provider"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Disable HTTP on main etcd client port ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8402",children:"(#8402)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Embedded etcd no longer serves http requests on the client port, only grpc. This addresses a performance issue that could cause watch stream starvation under load. For more information, see ",(0,t.jsx)(s.a,{href:"https://github.com/etcd-io/etcd/issues/15402",children:"https://github.com/etcd-io/etcd/issues/15402"})]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Server token rotation ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8215",children:"(#8215)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix issues with etcd member removal after reset ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8392",children:"(#8392)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Fixed an issue that could cause k3s to attempt to remove members from the etcd cluster immediately following a cluster-reset/restore, if they were queued for removal at the time the snapshot was taken."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Fix gofmt error ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8439",children:"(#8439)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Added advertise address integration test ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8344",children:"(#8344)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Added cluster reset from non bootstrap nodes on snapshot restore e2e test ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8292",children:"(#8292)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix .github regex to skip drone runs on gh action bumps ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8433",children:"(#8433)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Added error when cluster reset while using server flag ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8385",children:"(#8385)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"The user will receive a error when --cluster-reset with the --server flag"}),"\n"]}),"\n"]}
1),"\n",(0,t.jsxs)(s.li,{children:["Update kube-router ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8423",children:"(#8423)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Update kube-router to v2.0.0-rc7 to fix performance issues"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Add SHA256 signatures of the install script ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8312",children:"(#8312)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Add SHA256 signatures of the install script."}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Add --image-service-endpoint flag ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8279",children:"(#8279)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Add ",(0,t.jsx)(s.code,{children:"--image-service-endpoint"})," flag to specify an external image service socket."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Don't ignore assets in home dir if system assets exist ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8458",children:"(#8458)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Pass SystemdCgroup setting through to nvidia runtime options ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8470",children:"(#8470)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Fixed issue that would cause pods using nvidia container runtime to be killed after a few seconds, when using newer versions of nvidia-container-toolkit."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Improve release docs - updated ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8414",children:"(#8414)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Take IPFamily precedence based on order ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8460",children:"(#8460)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix spellcheck problem ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8507",children:"(#8507)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Network defaults are duplicated, remove one ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8523",children:"(#8523)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix slemicro check for selinux ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8526",children:"(#8526)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update install.sh.sha256sum ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8566",children:"(#8566)"})]}),"\n",(0,t.jsxs)(s.li,{children:["System agent push tags fix ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8568",children:"(#8568)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fixed tailscale node IP dualstack mode in case of IPv4 only node ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8524",children:"(#8524)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Server Token Rotation ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8265",children:"(#8265)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Users can now rotate the server token using ",(0,t.jsx)(s.code,{children:"k3s token rotate -t <OLD_TOKEN> --new-token <NEW_TOKEN>"}),". After command succeeds, all server nodes must be restarted with the new token."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["E2E Domain Drone Cleanup ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8579",children:"(#8579)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump containerd to v1.7.7-k3s1 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8604",children:"(#8604)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump busybox to v1.36.1 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8602",children:"(#8602)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Migrate to using custom resource to store etcd snapshot metadata ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8064",children:"(#8064)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Switch build target from main.go to a package. ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8342",children:"(#8342)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Use IPv6 in case is the first configured IP with dualstack ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8581",children:"(#8581)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump traefik, golang.org/x/net, google.golang.org/grpc ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8624",children:"(#8624)"})]}
1),"\n",(0,t.jsxs)(s.li,{children:["Update kube-router package in build script ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8630",children:"(#8630)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add etcd-only/control-plane-only server test and fix control-plane-only server crash ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8638",children:"(#8638)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Use ",(0,t.jsx)(s.code,{children:"version.Program"})," not K3s in token rotate logs ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8653",children:"(#8653)"})]}),"\n",(0,t.jsxs)(s.li,{children:["[Windows Port ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/7259",children:"(#7259)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix CloudDualStackNodeIPs feature-gate inconsistency ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8667",children:"(#8667)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Re-enable etcd endpoint auto-sync ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8675",children:"(#8675)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Manually requeue configmap reconcile when no nodes have reconciled snapshots ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8683",children:"(#8683)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.3 and Go to v1.20.10 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8682",children:"(#8682)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Fix s3 snapshot restore ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8729",children:"(#8729)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1282k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.2+k3s1",children:"v1.28.2+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release updates Kubernetes to v1.28.2, and fixes a number of issues."}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1281",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1281k3s1",children:"Changes since v1.28.1+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Update channel for version v1.28 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8305",children:"(#8305)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Bump kine to v0.10.3 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8323",children:"(#8323)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.2 and go v1.20.8 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8364",children:"(#8364)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Bump embedded containerd to v1.7.6"}),"\n",(0,t.jsx)(s.li,{children:"Bump embedded stargz-snapshotter plugin to latest"}),"\n",(0,t.jsx)(s.li,{children:"Fixed intermittent drone CI failures due to race conditions in test environment setup scripts"}),"\n",(0,t.jsx)(s.li,{children:"Fixed CI failures due to changes to api discovery changes in Kubernetes 1.28"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{}),"\n",(0,t.jsxs)(s.h2,{id:"release-v1281k3s1",children:["Release ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/releases/tag/v1.28.1+k3s1",children:"v1.28.1+k3s1"})]}),"\n",(0,t.jsx)(s.p,{children:"This release is K3S's first in the v1.28 line. This release updates Kubernetes to v1.28.1."}),"\n",(0,t.jsx)(s.admonition,{title:"Important",type:"warning",children:(0,t.jsxs)(s.p,{children:["This release includes remediation for CVE-2023-32187, a potential Denial of Service attack vector on K3s servers. See ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/security/advisories/GHSA-m4hf-6vgr-75r2",children:"https://github.com/k3s-io/k3s/security/advisories/GHSA-m4hf-6vgr-75r2"})," for more information, including documentation on changes in behavior that harden clusters against this vulnerability."]})}),"\n",(0,t.jsx)(s.admonition,{title:"Critical Regression",type:"danger",children:(0,t.jsxs)(s.p,{children:["Kubernetes v1.28 contains a critical regression (",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/issues/120247",children:"kubernetes/kubernetes#120247"}),") that causes init containers to run at the same time as app containers following a restart of the node. This issue will be fixed in v1.28.2. We do not recommend using K3s v1.28 at this time if your application depends on init containers."]})}),"\n",(0,t.jsxs)(s.p,{children:["For more details on what's new, see the ",(0,t.jsx)(s.a,{href:"https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1270",children:"Kubernetes release notes"}),"."]}),"\n",(0,t.jsx)(s.h3,{id:"changes-since-v1275k3s1",children:"Changes since v1.27.5+k3s1:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Update to v1.28.1 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8239",children:"(#8239)"})]}),"\n",(0,t.jsxs)(s.li,{children:["CLI Removal for v1.28.0 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8203",children:"(#8203)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Secrets Encryption V3 ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8111",children:"(#8111)"})]}),"\n",(0,t.jsxs)(s.li,{children:["Add new CLI flag to disable TLS SAN CN filtering ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8252",children:"(#8252)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Added a new ",(0,t.jsx)(s.code,{children:"--tls-san-security"})," option."]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Add RWMutex to address controller ",(0,t.jsx)(s.a,{href:"https://github.com/k3s-io/k3s/pull/8268",children:"(#8268)"})]}),"\n"]}),"\n",(0,t.jsx)(s.hr,{})]})}function o(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},28453:(e,s,i)=>{i.d(s,{R:()=>l,x:()=>h});var r=i(96540);const t={},n=r.createContext(t);function l(e){const s=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function h(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),r.createElement(n.Provider,{value:s},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.