1"use strict";(self.webpackChunkdataedo=self.webpackChunkdataedo||[]).push([["19088"],{80519:function(e,t,r){r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var a=r(57805),n=r(85893),s=r(50065);r(88046),r(47902),r(5525),r(20597),r(27607),r(36357);let i={title:"Release notes 26.2",description:"",date:"2026-05-07T12:00"},o=void 0,l={authorsImageUrls:[]},c=[];function d(e){let t={p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,n.jsx)("div",{className:"rn-teaser",children:(0,n.jsxs)(t.p,{children:["Dataedo 26.2 introduces a dedicated ",(0,n.jsx)(t.strong,{children:"Processes view"})," in Portal's Data Lineage, with full editing support, column mapping, and script attachment! We also completely redesigned ",(0,n.jsx)(t.strong,{children:"ERD Diagrams"})," with faster loading and reworked our ",(0,n.jsx)(t.strong,{children:"Description Editor"})," using flexible, block-based approach. This major release also brings ",(0,n.jsx)(t.strong,{children:"Export to Excel"})," and two-way ",(0,n.jsx)(t.strong,{children:"Metadata Sync"})," for Data Classification tags in Dataedo Portal. And as always \u2014 there are more functionality and performance changes which you can find in the full article!"]})})}function u(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},5525:function(e,t,r){r.d(t,{Z:()=>s});var a=r(85893);r(67294);var n=r(67026);function s({children:e,hidden:t,className:r}){return(0,a.jsx)("div",{role:"tabpanel",className:(0,n.Z)("tabItem_Ymn6",r),hidden:t,children:e})}},47902:function(e,t,r){r.d(t,{Z:()=>T});var a=r(85893),n=r(67294),s=r(67026),i=r(69599),o=r(16550),l=r(32e3),c=r(4520),d=r(38341),u=r(76009);function m(e){return n.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,n.isValidElement)(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h({value:e,tabValues:t}){return t.some(t=>t.value===e)}var p=r(7227);function f({className:e,block:t,selectedValue:r,selectValue:n,tabValues:o}){let l=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{let t=e.currentTarget,a=o[l.indexOf(t)].value;a!==r&&(c(t),n(a))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let r=l.indexOf(e.currentTarget)+1;t=l[r]??l[0];break}case"ArrowLeft":{let r=l.indexOf(e.currentTarget)-1;t=l[r]??l[l.length-1]}}t?.focus()};return(0,a.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":t},e),children:o.map(({value:e,label:t,attributes:n})=>(0,a.jsx)("li",{role:"tab",tabIndex:r===e?0:-1,"aria-selected":r===e,ref:e=>{l.push(e)},onKeyDown:u,onClick:d,...n,className:(0,s.Z)("tabs__item","tabItem_LNqP",n?.className,{"tabs__item--active":r===e}),children:t??e},e))})}function g({lazy:e,children:t,selectedValue:r}){let i=(Array.isArray(t)?t:[t]).filter(Boolean);if(e){let e=i.find(e=>e.props.value===r);return e?(0,n.cloneElement)(e,{className:(0,s.Z)("margin-top--md",e.props.className)}):null}return(0,a.jsx)("div",{className:"margin-top--md",children:i.map((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==r}))})}function v(e){let t=function(e){let{defaultValue:t,queryString:r=!1,groupId:a}=e,s=function(e){let{values:t,children:r}=e;return(0,n.useMemo)(()=>{let e=t??m(r).map(({props:{value:e,label:t,attributes:r,default:a}})=>({value:e,label:t,attributes:r,default:a})),a=(0,d.lx)(e,(e,t)=>e.value===t.value);if(a.length>0)throw Error(`Docusaurus error: Duplicate values "${a.map(e=>e.value).join(", ")}" found in <Tabs>. Every value needs to be unique.`);return e},[t,r])}(e),[i,p]=(0,n.useState)(()=>(function({defaultValue:e,tabValues:t}){if(0===t.length)throw Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!h({value:e,tabValues:t}))throw Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}let r=t.find(e=>e.default)??t[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:s})),[f,g]=function({queryString:e=!1,groupId:t}){let r=(0,o.k6)(),a=function({queryString:e=!1,groupId:t}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!t)throw Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:e,groupId:t});return[(0,c._X)(a),(0,n.useCallback)(e=>{if(!a)return;let t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})},[a,r])]}({queryString:r,groupId:a}),[v,T]=function({groupId:e}){let t=e?`docusaurus.tab.${e}`:null,[r,a]=(0,u.Nk)(t);return[r,(0,n.useCallback)(e=>{t&&a.set(e)},[t,a])]}({groupId:a}),b=(()=>{let e=f??v;return h({value:e,tabValues:s})?e:null})();return(0,l.Z)(()=>{b&&p(b)},[b]),{selectedValue:i,selectValue:(0,n.useCallback)(e=>{if(!h({value:e,tabValues:s}))throw Error(`Can't select invalid tab value=${e}`);p(e),g(e),T(e)},[g,T,s]),tabValues:s}}(e);return(0,a.jsxs)("div",{className:(0,s.Z)("tabs-container","tabList__CuJ"),children:[(0,a.jsx)(f,{...t,...e}),(0,a.jsx)(g,{...t,...e})]})}function T(e){let t=(0,p.Z)();return(0,a.jsx)(v,{...e,children:m(e.children)},String(t))}},20597:function(e,t,r){r.d(t,{Z:()=>n});var a=r(85893);function n({children:e}){let t=Array.isArray(e)?e:[e];return(0,a.jsxs)("div",{className:"highlights-container",children:[(0,a.jsx)("div",{className:"highlights-header",children:(0,a.jsx)("h3",{className:"highlights-title",children:"HIGHLIGHTS"})}),(0,a.jsx)("div",{className:"highlights-items",children:t.map((e,t)=>(0,a.jsx)("div",{className:"highlights-item",children:(0,a.jsx)("span",{className:"highlights-item-text",children:e})},t))})]})}r(67294)},27607:function(e,t,r){r.d(t,{Z:()=>i});var a=r(85893),n=r(67294),s=r(88046);function i({elements:e={},title:t=""}
1){let r,i,o=Object.keys(e),[l,c]=(0,n.useState)(o[0]||"default");if(0===o.length)return(0,a.jsx)("div",{children:"No elements provided to ImageTabs component"});let d=e=>e.replace(/_/g," ").split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");return(0,a.jsxs)("div",{className:"container_dqRV",children:[t&&(0,a.jsx)("h3",{className:"title_YsUX",children:t}),(0,a.jsx)("div",{className:"buttonContainer_GZbi",children:o.map(e=>(0,a.jsx)("button",{onClick:()=>c(e),className:`tabButton_ZZuo ${l===e?"tabButtonActive_zG8r":"tabButtonInactive_Q5nJ"}`,children:d(e)},e))}),(0,a.jsx)("div",{className:"imageDisplay_LfNI",children:(0,a.jsx)(s.Z,{src:"string"==typeof(r=e[l])?r:r.src,width:"string"==typeof(i=e[l])?"80%":i.width||"80%",alt:`${d(l)} image`})})]})}},36357:function(e,t,r){r.d(t,{Z:()=>h});var a=r(85893),n=r(67294);function s({className:e}){return(0,a.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:(0,a.jsx)("path",{d:"M12 4L4 12M4 4L12 12",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round"})})}function i({className:e}){return(0,a.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:(0,a.jsx)("path",{d:"M10.6666 2V4.66667M5.33329 2V4.66667M2.66663 7.33333H13.3333M2.66663 4.66667C2.66663 4.31304 2.8071 3.97391 3.05715 3.72386C3.3072 3.47381 3.64634 3.33333 3.99996 3.33333H12C12.3536 3.33333 12.6927 3.47381 12.9428 3.72386C13.1928 3.97391 13.3333 4.31304 13.3333 4.66667V12.6667C13.3333 13.0203 13.1928 13.3594 12.9428 13.6095C12.6927 13.8595 12.3536 14 12 14H3.99996C3.64634 14 3.3072 13.8595 3.05715 13.6095C2.8071 13.3594 2.66663 13.0203 2.66663 12.6667V4.66667ZM5.33329 10H6.66663V11.3333H5.33329V10Z",stroke:"#1D74F5",strokeLinecap:"round",strokeLinejoin:"round"})})}function o({className:e}){return(0,a.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:(0,a.jsx)("path",{d:"M10.3333 8H8V4.66667M2 8C2 8.78793 2.15519 9.56815 2.45672 10.2961C2.75825 11.0241 3.20021 11.6855 3.75736 12.2426C4.31451 12.7998 4.97595 13.2417 5.7039 13.5433C6.43185 13.8448 7.21207 14 8 14C8.78793 14 9.56815 13.8448 10.2961 13.5433C11.0241 13.2417 11.6855 12.7998 12.2426 12.2426C12.7998 11.6855 13.2417 11.0241 13.5433 10.2961C13.8448 9.56815 14 8.78793 14 8C14 7.21207 13.8448 6.43185 13.5433 5.7039C13.2417 4.97595 12.7998 4.31451 12.2426 3.75736C11.6855 3.20021 11.0241 2.75825 10.2961 2.45672C9.56815 2.15519 8.78793 2 8 2C7.21207 2 6.43185 2.15519 5.7039 2.45672C4.97595 2.75825 4.31451 3.20021 3.75736 3.75736C3.20021 4.31451 2.75825 4.97595 2.45672 5.7039C2.15519 6.43185 2 7.21207 2 8Z",stroke:"#1D74F5",strokeLinecap:"round",strokeLinejoin:"round"})})}let l="metaItem_Ugig",c="metaIcon_yEKI";var d=JSON.parse('{"rn-23-1":{"version":"23.1","date":"2023-03-15","sessions":[{"utcTime":"2023-03-15T12:00:00Z"},{"utcTime":"2023-03-15T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-231-release-webinar"},"rn-23-2":{"version":"23.2","date":"2023-06-14","sessions":[{"utcTime":"2023-06-14T12:00:00Z"},{"utcTime":"2023-06-14T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-232-release-webinar"},"rn-24-1":{"version":"24.1","date":"2024-03-13","sessions":[{"utcTime":"2024-03-13T12:00:00Z"},{"utcTime":"2024-03-13T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-241-release-webinar"},"rn-24-2":{"version":"24.2","date":"2024-06-12","sessions":[{"utcTime":"2024-06-12T12:00:00Z"},{"utcTime":"2024-06-12T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-242-release-webinar"},"rn-24-3":{"version":"24.3","date":"2024-09-11","sessions":[{"utcTime":"2024-09-11T12:00:00Z"},{"utcTime":"2024-09-11T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-243-release-webinar"},"rn-24-4":{"version":"24.4","date":"2024-12-11","sessions":[{"utcTime":"2024-12-11T12:00:00Z"},{"utcTime":"2024-12-11T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-244-release-webinar"},"rn-25-1":{"version":"25.1","date":"2025-03-12","sessions":[{"utcTime":"2025-03-12T12:00:00Z"},{"utcTime":"2025-03-12T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-251-release-webinar"},"rn-25-2":{"version":"25.2","date":"2025-06-11","sessions":[{"utcTime":"2025-06-11T12:00:00Z"},{"utcTime":"2025-06-11T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-252-release-webinar"},"rn-25-3":{"version":"25.3","date":"2025-09-10","sessions":[{"utcTime":"2025-09-10T12:00:00Z"},{"utcTime":"2025-09-10T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-253-release-webinar"},"rn-25-4":{"version":"25.4","date":"2025-12-10","sessions":[{"utcTime":"2025-12-10T12:00:00Z"},{"utcTime":"2025-12-10T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-254-release-webinar"},"rn-26-1":{"version":"26.1","date":"2026-03-19","sessions":[{"utcTime":"2026-03-19T12:00:00Z"},{"utcTime":"2026-03-19T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-261-release-webinar"},"rn-26-2":{"version":"26.2","date":"2026-06-11","sessions":[{"utcTime":"2026-06-11T12:00:00Z"},{"utcTime":"2026-06-11T16:00:00Z"}],"recordingUrl":"https://dataedo.com/videos/dataedo-262-release-webinar"},"rn-26-3":{"version":"26.3","date":"2026-09-16","sessions":[{"utcTime":"2026-09-16T12:00:00Z"}],"registrationUrl":"https://my.demio.com/ref/ApLMvAELvrmMTvYP"}}');let u="PLACEHOLDER";function m(e){return e.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"})}function h({dataKey:e}){let t=`webinar-dismissed-${e??"default"}
1`,[r,h]=(0,n.useState)(!1);(0,n.useEffect)(()=>{try{"true"===sessionStorage.getItem(t)&&h(!0)}catch{}},[t]);let p=e?d[e]:null,f=p?.registrationUrl,g=p?.recordingUrl,v=p?.version??u,T=!!p&&function(e,t){if(e?.length)return Date.now()>new Date(e[e.length-1].utcTime).getTime();if(t){let[e,r,a]=t.split("-").map(Number);return Date.now()>new Date(e,r-1,a,23,59,59).getTime()}return!1}(p.sessions,p.date),b=p?.date?function(e){let[t,r,a]=e.split("-").map(Number);return new Date(t,r-1,a).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"})}(p.date):u,x=function(e){if(!e?.length)return u;let t=e.map(e=>new Date(e.utcTime)),r=t.map(m).join(" and "),a=function(e){let t=new Intl.DateTimeFormat("en-US",{timeZoneName:"long"}).formatToParts(e).find(e=>"timeZoneName"===e.type)?.value??"";return t.match(/\b[A-Z]/g)?.join("")??""}(t[0]);return a?`${r} ${a}`:r}(p?.sessions);return!r&&(f||g)&&(!T||g)?(0,a.jsxs)("div",{className:"banner_UXTr",children:[(0,a.jsx)("button",{className:"closeBtn_h5UX",onClick:()=>{h(!0);try{sessionStorage.setItem(t,"true")}catch{}},"aria-label":"Close webinar banner",children:(0,a.jsx)(s,{})}),(0,a.jsxs)("div",{className:"inner_d83g",children:[(0,a.jsxs)("div",{className:"left_lRla",children:[(0,a.jsx)("span",{className:"label_ugdT",children:"RELEASE WEBINAR"}),(0,a.jsx)("p",{className:"heading_wnHn",children:T?"Watch the recording on demand":`Dataedo ${v}: join us live`}),!T&&(0,a.jsxs)("div",{className:"meta_smHb",children:[(0,a.jsxs)("span",{className:l,children:[(0,a.jsx)(i,{className:c}),b]}),(0,a.jsxs)("span",{className:l,children:[(0,a.jsx)(o,{className:c}),x]})]})]}),(0,a.jsx)("div",{className:"right_a32o",children:(0,a.jsx)("a",{href:T?g??"#":f??"#",className:T?"btnSecondary_NsZx":"btnPrimary_f5zp",target:"_blank",rel:"noopener noreferrer",children:T?"Watch recording":"Register now"})})]})]}):null}},57805:function(e){e.exports=JSON.parse('{"permalink":"/release-notes/release-notes-26-2-0","source":"@site/release-notes/release-notes-26-2-0.mdx","title":"Release notes 26.2","description":"","date":"2026-05-07T12:00:00.000Z","tags":[],"readingTime":13.61,"hasTruncateMarker":true,"authors":[],"frontMatter":{"title":"Release notes 26.2","description":"","date":"2026-05-07T12:00"},"unlisted":false,"prevItem":{"title":"Release notes 26.2.1","permalink":"/release-notes/release-notes-26-2-1"},"nextItem":{"title":"Release notes 26.1.6","permalink":"/release-notes/release-notes-26-1-6"}}')}}]);
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.