1"use strict";(self.webpackChunkkubegems_docs=self.webpackChunkkubegems_docs||[]).push([[5185],{3905:function(e,t,a){a.d(t,{Zo:function(){return o},kt:function(){return b}});var l=a(67294);function u(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){u(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,l,u=function(e,t){if(null==e)return{};var a,l,u={},n=Object.keys(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||(u[a]=e[a]);return u}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(u[a]=e[a])}return u}var r=l.createContext({}),m=function(e){var t=l.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},o=function(e){var t=m(e.components);return l.createElement(r.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},p=l.forwardRef((function(e,t){var a=e.components,u=e.mdxType,n=e.originalType,r=e.parentName,o=s(e,["components","mdxType","originalType","parentName"]),p=m(a),b=u,h=p["".concat(r,".").concat(b)]||p[b]||g[b]||n;return a?l.createElement(h,i(i({ref:t},o),{},{components:a})):l.createElement(h,i({ref:t},o))}));function b(e,t){var a=arguments,u=t&&t.mdxType;if("string"==typeof e||u){var n=a.length,i=new Array(n);i[0]=p;var s={};for(var r in t)hasOwnProperty.call(t,r)&&(s[r]=t[r]);s.originalType=e,s.mdxType="string"==typeof e?e:u,i[1]=s;for(var m=2;m<n;m++)i[m]=a[m];return l.createElement.apply(null,i)}return l.createElement.apply(null,a)}p.displayName="MDXCreateElement"},63917:function(e,t,a){a.r(t),a.d(t,{assets:function(){return o},contentTitle:function(){return r},default:function(){return b},frontMatter:function(){return s},metadata:function(){return m},toc:function(){return g}});var l=a(87462),u=a(63366),n=(a(67294),a(3905)),i=["components"],s={title:"\u66f4\u65b0\u65e5\u5fd7",hide_title:!0,sidebar_position:5},r=void 0,m={unversionedId:"changelog",id:"changelog",title:"\u66f4\u65b0\u65e5\u5fd7",description:"Release: v1.22.0-beta.0",source:"@site/community/changelog.md",sourceDirName:".",slug:"/ch
1angelog",permalink:"/community/changelog",tags:[],version:"current",sidebarPosition:5,frontMatter:{title:"\u66f4\u65b0\u65e5\u5fd7",hide_title:!0,sidebar_position:5},sidebar:"community",previous:{title:"\u6587\u6863\u7248\u672c",permalink:"/community/contribute/docs/versions"}},o={},g=[{value:"Release: v1.22.0-beta.0",id:"release-v1220-beta0",level:2},{value:"HighLight \ud83d\udcaa\ud83d\udcaa",id:"highlight-",level:3},{value:"What's Changed",id:"whats-changed",level:3},{value:"Changes \ud83d\udee0",id:"changes-",level:4},{value:"Features \ud83c\udf89",id:"features-",level:4},{value:"Enhancements \ud83c\udf88",id:"enhancements-",level:4},{value:"Bugfixes \ud83d\udc1e",id:"bugfixes-",level:4},{value:"Others",id:"others",level:4},{value:"New Contributors",id:"new-contributors",level:3},{value:"Release: v1.21.4",id:"release-v1214",level:2},{value:"What's Changed",id:"whats-changed-1",level:3},{value:"Enhancements \ud83c\udf88",id:"enhancements--1",level:4},{value:"Bugfixes \ud83d\udc1e",id:"bugfixes--1",level:4},{value:"Release: v1.21.3",id:"release-v1213",level:2},{value:"What's Changed",id:"whats-changed-2",level:3},{value:"Bugfixes \ud83d\udc1e",id:"bugfixes--2",level:4},{value:"Release: v1.21.2",id:"release-v1212",level:2},{value:"What's Changed",id:"whats-changed-3",level:3},{value:"Bugfixes \ud83d\udc1e",id:"bugfixes--3",level:4},{value:"Release: v1.21.1",id:"release-v1211",level:2},{value:"What's Changed",id:"whats-changed-4",level:3},{value:"Enhancements \ud83c\udf88",id:"enhancements--2",level:4},{value:"Bugfixes \ud83d\udc1e",id:"bugfixes--4",level:4},{value:"Release: v1.21.0",id:"release-v1210",level:2},{value:"What's Changed",id:"whats-changed-5",level:3},{value:"Features \ud83c\udf89",id:"features--1",level:4},{value:"Enhancements \ud83c\udf88",id:"enhancements--3",level:4},{value:"Bugfixes \ud83d\udc1e",id:"bugfixes--5",level:4},{value:"Others",id:"others-1",level:4},{value:"Release: v1.21.0-rc4",id:"release-v1210-rc4",level:2},{value:"What's Changed",id:"whats-changed-6",level:3},{value:"Release: v1.21.0-rc3",id:"release-v1210-rc3",level:2},{value:"What's Changed",id:"whats-changed-7",level:3},{value:"Release: v1.21.0-rc2",id:"release-v1210-rc2",level:2},{value:"What's Changed",id:"whats-changed-8",level:3}],p={toc:g};function b(e){var t=e.components,a=(0,u.Z)(e,i);return(0,n.kt)("wrapper",(0,l.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"release-v1220-beta0"},(0,n.kt)("a",{parentName:"h2",href:"https://github.com/kubegems/kubegems/releases/tag/v1.22.0-beta.0"},"Release: v1.22.0-beta.0")),(0,n.kt)("h3",{id:"highlight-"},"HighLight \ud83d\udcaa\ud83d\udcaa"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Since KubeGems 1.22.0-beta.0 ,we had supported the Model Store. User of KubeGems can be download tens of thousands AI models from HuggingFace and OpenMMLab. And they could be successfully run in Kubernetes easily. ")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"We have released a new project ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/kubegems/modelx"},"ModelX"),", which is a repository for AI models management. Model X is based on the design of OCI and Helm Charts. ",(0,n.kt)("inlineCode",{parentName:"p"},"Modelx Client")," makes it easier for developers to package and publish models locally, and ",(0,n.kt)("inlineCode",{parentName:"p"},"Modelx Server")," can be combined with the KubeGems ModelStore to provide more convenient algorithm deployment online service."),(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},"Download ModelX (",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/modelx/releases"},"https://github.com/kubegems/modelx/releases"),")"))),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"KubeGems UI support i18n now, \ud83c\udde8\ud83c\uddf3 Chinese(Simplified)\u3001\ud83c\udded\ud83c\uddf0 Chinese(Traditional)\u3001\ud83c\uddfa\ud83c\uddf8 English \u3001\ud83c\uddef\ud83c\uddf5 Japanese\nMore languages support are being translated."))),(0,n.kt)("h3",{id:"whats-changed"},"What's Changed"),(0,n.kt)("h4",{id:"changes-"},"Changes \ud83d\udee0"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"remove componentstatus api by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/177"},"https://github.com/kubegems/kubegems/pull/177")),(0,n.kt)("li",{parentName:"ul"}
1,"refactor promql tpl to support 3-level directory by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/209"},"https://github.com/kubegems/kubegems/pull/209"))),(0,n.kt)("h4",{id:"features-"},"Features \ud83c\udf89"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"feat(gateway): gateway plugin use kubegems/ingress-nginx-operator to replace nginxinc/nginx-ingress-operator by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/167"},"https://github.com/kubegems/kubegems/pull/167")),(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(gpu): add nvidia dcgm-exporter plugin by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/173"},"https://github.com/kubegems/kubegems/pull/173")),(0,n.kt)("li",{parentName:"ul"},"model serving by @cnfatal in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/174"},"https://github.com/kubegems/kubegems/pull/174")),(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(monitor): add monitor collector status api by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/206"},"https://github.com/kubegems/kubegems/pull/206")),(0,n.kt)("li",{parentName:"ul"},"feat(dashboard): manage dashboard templates, and import these when init mysql by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/210"},"https://github.com/kubegems/kubegems/pull/210")),(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(token): user token manage by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/212"},"https://github.com/kubegems/kubegems/pull/212")),(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(announcement): add announcement api by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/215"},"https://github.com/kubegems/kubegems/pull/215")),(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(dashboard): add variables by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/217"},"https://github.com/kubegems/kubegems/pull/217")),(0,n.kt)("li",{parentName:"ul"},"feat(spm): upgrade jaeger and opentelmetry by @LinkMaq in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/219"},"https://github.com/kubegems/kubegems/pull/219")),(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(plugin): logging support aws loki storage by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/225"},"https://github.com/kubegems/kubegems/pull/225"))),(0,n.kt)("h4",{id:"enhancements-"},"Enhancements \ud83c\udf88"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(ingress): add ingressClass in plugin ingresses by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/166"},"https://github.com/kubegems/kubegems/pull/166")),(0,n.kt)("li",{parentName:"ul"},"add gpu recording rule by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/183"},"https://github.com/kubegems/kubegems/pull/183")),(0,n.kt)("li",{parentName:"ul"},"Promql insert labels by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/198"},"https://github.com/kubegems/kubegems/pull/198")),(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(metrics): add sumby when query from template by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/199"},"https://github.com/kubegems/kubegems/pull/199")),(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(cluster): return client cert expire time by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/211"},"https://github.com/kubegems/kubegems/pull/211")),(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(cluster): sync cluster version in worker by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/233"},"https://github.com/kubegems/kubegems/pull/233"))),(0,n.kt)("h4",{id:"bugfixes-"},"Bugfixes \ud83d\udc1e"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"bugfix(id: 178): add thirdparty crd roles tracked by events by @LinkMaq in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/179"},"https://github.com/kubegems/kubegems/pull/179")),(0,n.kt)("li",{parentName:"ul"},"bugfix: imagePullSecrets error by @pepesi in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/182"},"https://github.com/kubegems/kubegems/pull/182")),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(jwt): fix empty jwt payload by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/190"},"https://github.com/kubegems/kubegems/pull/190")),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(prometheus): query should not unescape again by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/197"},"https://github.com/kubegems/kubegems/pull/197")),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(metrics): label query use full vectorselector expr by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/205"},"https://github.com/kubegems/kubegems/pull/205"))),(0,n.kt)("h4",{id:"others"},"Others"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Add licence script to add copyright in the begin of code by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/160"},"https://github.com/kubegems/kubegems/pull/160")),(0,n.kt)("li",{parentName:"ul"},"clean no use code by @pepesi in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/180"},"https://github.com/kubegems/kubegems/pull/180")),(0,n.kt)("li",{parentName:"ul"},"dcgm-exporter scrape interval to 15s by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/191"},"https://github.com/kubegems/kubegems/pull/191")),(0,n.kt)("li",{parentName:"ul"},"fix(deploy): fix typo in kubegems-mirror.yaml by @itxx00 in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/187"},"https://github.com/kubegems/kubegems/pull/187")),(0,n.kt)("li",{parentName:"ul"},"feature: support i18n by @pepesi in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/189"},"https://github.com/kubegems/kubegems/pull/189")),(0,n.kt)("li",{parentName:"ul"},"New Crowdin updates by @pepesi in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/194"},"https://github.com/kubegems/kubegems/pull/194")),(0,n.kt)("li",{parentName:"ul"},"enhancement, use context.Context to determin use which language by @pepesi in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/195"},"https://github.com/kubegems/kubegems/pull/195")),(0,n.kt)("li",{parentName:"ul"},"bugfix, i18n can't recognize language correctly by @pepesi in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/196"},"https://github.com/kubegems/kubegems/pull/196")),(0,n.kt)("li",{parentName:"ul"},"Update ReadMe by @LinkMaq in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/200"},"https://github.com/kubegems/kubegems/pull/200")),(0,n.kt)("li",{parentName:"ul"},"feat: add oauth token and validate api by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/208"},"https://github.com/kubegems/kubegems/pull/208")),(0,n.kt)("li",{parentName:"ul"},"models fix by @cnfatal in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/201"},"https://github.com/kubegems/kubegems/pull/201")),(0,n.kt)("li",{parentName:"ul"},"merge release-1.21 back to main by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/229"},"https://github.com/kubegems/kubegems/pull/229"))),(0,n.kt)("h3",{id:"new-contributors"},"New Contributors"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"thanks to @itxx00 for made their first contribution in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/187"},"https://github.com/kubegems/kubegems/pull/187"))),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Full Changelog"),": ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/kubegems/kubegems/compare/v1.21.6-rc.0...v1.22.0-beta.0"},"https://github.com/kubegems/kubegems/compare/v1.21.6-rc.0...v1.22.0-beta.0")),(0,n.kt)("h2",{id:"release-v1214"},(0,n.kt)("a",{parentName:"h2",href:"https://github.com/kubegems/kubegems/releases/tag/v1.21.4"},"Release: v1.21.4")),(0,n.kt)("h3",{id:"whats-changed-1"},"What's Changed"),(0,n.kt)("h4",{id:"enhancements--1"},"Enhancements \ud83c\udf88"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"fix agent update,add api-resources cache by @cnfatal in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/223"},"https://github.com/kubegems/kubegems/pull/223")),(0,n.kt)("li",{parentName:"ul"},"add api-resources filter by @cnfatal in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/224"},"https://github.com/kubegems/kubegems/pull/224"))),(0,n.kt)("h4",{id:"bugfixes--1"},"Bugfixes \ud83d\udc1e"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"fix(#222): nacos install default namespace by @LinkMaq in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/228"},"https://github.com/kubegems/kubegems/pull/228"))),(0,n.kt)("h2",{id:"release-v1213"},(0,n.kt)("a",{parentName:"h2",href:"https://github.com/kubegems/kubegems/releases/tag/v1.21.3"},"Release: v1.21.3")),(0,n.kt)("h3",{id:"whats-changed-2"},"What's Changed"),(0,n.kt)("h4",{id:"bugfixes--2"},"Bugfixes \ud83d\udc1e"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Bugfix image pull secerts error by @pepesi in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/213"},"https://github.com/kubegems/kubegems/pull/213")),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(eventer): drop 'lease' event by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/214"},"https://github.com/kubegems/kubegems/pull/214"))),(0,n.kt)("h2",{id:"release-v1212"},(0,n.kt)("a",{parentName:"h2",href:"https://github.com/kubegems/kubegems/releases/tag/v1.21.2"},"Release: v1.21.2")),(0,n.kt)("h3",{id:"whats-changed-3"},"What's Changed"),(0,n.kt)("h4",{id:"bugfixes--3"},"Bugfixes \ud83d\udc1e"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(webhook): ingress api version error by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/171"},"https://github.com/kubegems/kubegems/pull/171")),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(cluster): apiserver version should from k8s, not db by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/172"},"https://github.com/kubegems/kubegems/pull/172")),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(apiresource): handle apiresource group failed error by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/175"},"https://github.com/kubegems/kubegems/pull/175"))),(0,n.kt)("h2",{id:"release-v1211"},(0,n.kt)("a",{parentName:"h2",href:"https://github.com/kubegems/kubegems/releases/tag/v1.21.1"},"Release: v1.21.1")),(0,n.kt)("h3",{id:"whats-changed-4"},"What's Changed"),(0,n.kt)("h4",{id:"enhancements--2"}
1,"Enhancements \ud83c\udf88"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(log): alert duration in template limit to 10m by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/152"},"https://github.com/kubegems/kubegems/pull/152")),(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(logging): disable tls in logging-operator by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/157"},"https://github.com/kubegems/kubegems/pull/157"))),(0,n.kt)("h4",{id:"bugfixes--4"},"Bugfixes \ud83d\udc1e"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"bugfix; error handle default image registry; by @pepesi in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/153"},"https://github.com/kubegems/kubegems/pull/153")),(0,n.kt)("li",{parentName:"ul"},"fix(plugin): #155 gpu can't regist device by @LinkMaq in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/159"},"https://github.com/kubegems/kubegems/pull/159")),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(workload): workload list istio-inject sort error by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/161"},"https://github.com/kubegems/kubegems/pull/161"))),(0,n.kt)("h2",{id:"release-v1210"},(0,n.kt)("a",{parentName:"h2",href:"https://github.com/kubegems/kubegems/releases/tag/v1.21.0"},"Release: v1.21.0")),(0,n.kt)("p",null,"This release brings new plugin management and observability features live. Now you can use the plugin CRD to enable and uninstall platform plugins. For observability, we provide a series of new functions such as access center, monitoring dashboard, log alert, etc."),(0,n.kt)("h3",{id:"whats-changed-5"},"What's Changed"),(0,n.kt)("h4",{id:"features--1"},"Features \ud83c\udf89"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(monitor): add log and event template by @jojotong in #59"),(0,n.kt)("li",{parentName:"ul"},"feat log receiver and alert by @jojotong in #65"),(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(observability): add dashboard and labelname api by @jojotong in #69"),(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(monitor): support unit in promql query and dashboard by @jojotong in #75"),(0,n.kt)("li",{parentName:"ul"},"\u2728 feat(plugin): add logging and eventer plugins by @jojotong in #77"),(0,n.kt)("li",{parentName:"ul"},"feat(plugin): add 6 plugins in kubegems-stack by @LinkMaq in #81"),(0,n.kt)("li",{parentName:"ul"},"feat(plugins): split all in one plugins by @cnfatal in #91"),(0,n.kt)("li",{parentName:"ul"},"feat(nacos): add nacos plugins for application configure management on kubegems by @pepesi in #90"),(0,n.kt)("li",{parentName:"ul"},"Feature nacos client by @pepesi in #113"),(0,n.kt)("li",{parentName:"ul"},"batch create applications by @cnfatal in #139")),(0,n.kt)("h4",{id:"enhancements--3"},"Enhancements \ud83c\udf88"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(plugin): finish monitor plugin transfer by @jojotong in #73"),(0,n.kt)("li",{parentName:"ul"},"perf(plugin): add appversion by @cnfatal in #99"),(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(gateway): specify different image tag by ingressclass version by @jojotong in #102"),(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(gateway): update to v0.5.2 to support workload extra labels by @jojotong in #106"),(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(logging): store alert rule in new configmap, to avoid overwrit\u2026 by @jojotong in #129"),(0,n.kt)("li",{parentName:"ul"},"fix(otel): otlp metrics remotewrite to prometheus by @LinkMaq in #141"),(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(alert): alert group show raw promql and logging by @jojotong in #142")),(0,n.kt)("h4",{id:"bugfixes--5"},"Bugfixes \ud83d\udc1e"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(observe): promql generator bug by @jojotong in #70"),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(plugin): monitor plugin add promrule and amconfig CRD by @jojotong in #74"),(0,n.kt)("li",{parentName:"ul"},"fix(plugins): can't read argocd admin password by @LinkMaq in #80"),(0,n.kt)("li",{parentName:"ul"}
1,'fix(charts): kubegems argocd "NOAUTH" and "Token Expire" by @cnfatal in #84'),(0,n.kt)("li",{parentName:"ul"},"fix(deploy): add cluster by @cnfatal in #94"),(0,n.kt)("li",{parentName:"ul"},"fix(plugins): nacos use helm by @cnfatal in #98"),(0,n.kt)("li",{parentName:"ul"},"fix(charts): Organize the plugins catalog by @LinkMaq in #97"),(0,n.kt)("li",{parentName:"ul"},"fix(charts): optimize opentelemetry servicemonitor by @LinkMaq in #103"),(0,n.kt)("li",{parentName:"ul"},"bugfix: resolve #s/87 by @pepesi in #107"),(0,n.kt)("li",{parentName:"ul"},"fix(charts): opentelemetry export to jaeger by @LinkMaq in #108"),(0,n.kt)("li",{parentName:"ul"},"fix(charts): otel nil pointer address by @LinkMaq in #110"),(0,n.kt)("li",{parentName:"ul"},"fix(plugins): image registry customize by @cnfatal in #112"),(0,n.kt)("li",{parentName:"ul"},"fix(charts): openkruise support and charts describe by @LinkMaq in #114"),(0,n.kt)("li",{parentName:"ul"},"fix(charts): can't find openkruise on charts repo by @LinkMaq in #115"),(0,n.kt)("li",{parentName:"ul"},"bugfix; environment cache_key error by @pepesi in #127"),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(gateway): use nginx-ingress 2.0.0 on k8s 1.22+ by @jojotong in #134"),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(loki): useExistingAlertingGroup to replace build-in alertingroups by @jojotong in #137"),(0,n.kt)("li",{parentName:"ul"},"fix(patch): unable to update some fileds in server side apply by @cnfatal in #148")),(0,n.kt)("h4",{id:"others-1"},"Others"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"observalibity features by @jojotong in #56"),(0,n.kt)("li",{parentName:"ul"},"makefile support tags for condition build by @pepesi in #111"),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udcc3 docs: update readme,, contributing, code conduct docs by @jojotong in #131")),(0,n.kt)("h2",{id:"release-v1210-rc4"},(0,n.kt)("a",{parentName:"h2",href:"https://github.com/kubegems/kubegems/releases/tag/v1.21.0-rc.4"},"Release: v1.21.0-rc4")),(0,n.kt)("h3",{id:"whats-changed-6"},"What's Changed"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(loki): useExistingAlertingGroup to replace build-in alertingroups by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/137"},"https://github.com/kubegems/kubegems/pull/137")),(0,n.kt)("li",{parentName:"ul"},"batch create applications by @cnfatal in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/139"},"https://github.com/kubegems/kubegems/pull/139")),(0,n.kt)("li",{parentName:"ul"},"fix(otel): otlp metrics remotewrite to prometheus by @LinkMaq in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/141"},"https://github.com/kubegems/kubegems/pull/141")),(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(alert): alert group show raw promql and logging by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/142"},"https://github.com/kubegems/kubegems/pull/142"))),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Full Changelog"),": ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/kubegems/kubegems/compare/v1.21.0-rc.3...v1.21.0-rc.4"},"https://github.com/kubegems/kubegems/compare/v1.21.0-rc.3...v1.21.0-rc.4")),(0,n.kt)("h2",{id:"release-v1210-rc3"},(0,n.kt)("a",{parentName:"h2",href:"https://github.com/kubegems/kubegems/releases/tag/v1.21.0-rc.3"},"Release: v1.21.0-rc3")),(0,n.kt)("h3",{id:"whats-changed-7"},"What's Changed"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\ud83d\udc1e fix(gateway): use nginx-ingress 2.0.0 on k8s 1.22+ by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/134"},"https://github.com/kubegems/kubegems/pull/134"))),(0,n.kt)("h2",{id:"release-v1210-rc2"},(0,n.kt)("a",{parentName:"h2",href:"https://github.com/kubegems/kubegems/releases/tag/v1.21.0-rc.2"},"Release: v1.21.0-rc2")),(0,n.kt)("h3",{id:"whats-changed-8"},"What's Changed"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\ud83c\udf88 perf(logging): store alert rule in new configmap, to avoid overwrit\u2026 by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/129"},"https://github.com/kubegems/kubegems/pull/129")),(0,n.kt)("li",{parentName:"ul"},"\ud83d\udcc3 docs: update readme,, contributing, code conduct docs by @jojotong in ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/kubegems/kubegems/pull/131"},"https://github.com/kubegems/kubegems/pull/131"))),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Full Changelog"),": ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/kubegems/kubegems/compare/v1.21.0-rc.0...v1.21.0-rc.2"},"https://github.com/kubegems/kubegems/compare/v1.21.0-rc.0...v1.21.0-rc.2")))}b.isMDXComponent=!0}}]);
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.