mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-26 10:06:13 +00:00
1 line
21 KiB
JavaScript
1 line
21 KiB
JavaScript
"use strict";(self.webpackChunkdocs_website=self.webpackChunkdocs_website||[]).push([[61479],{15680:(e,a,t)=>{t.d(a,{xA:()=>p,yg:()=>d});var n=t(96540);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?i(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function o(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=n.createContext({}),u=function(e){var a=n.useContext(s),t=a;return e&&(t="function"==typeof e?e(a):l(l({},a),e)),t},p=function(e){var a=u(e.components);return n.createElement(s.Provider,{value:a},e.children)},g="mdxType",c={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},m=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),g=u(t),m=r,d=g["".concat(s,".").concat(m)]||g[m]||c[m]||i;return t?n.createElement(d,l(l({ref:a},p),{},{components:t})):n.createElement(d,l({ref:a},p))}));function d(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var i=t.length,l=new Array(i);l[0]=m;var o={};for(var s in a)hasOwnProperty.call(a,s)&&(o[s]=a[s]);o.originalType=e,o[g]="string"==typeof e?e:r,l[1]=o;for(var u=2;u<i;u++)l[u]=t[u];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}m.displayName="MDXCreateElement"},54178:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>u,toc:()=>g});t(96540);var n=t(15680);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){return a=null!=a?a:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):function(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})),e}function l(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}const o={title:"v0.3.13",slug:"/managed-datahub/release-notes/v_0_3_13",custom_edit_url:"https://github.com/datahub-project/datahub/blob/master/docs/managed-datahub/release-notes/v_0_3_13.md"},s="v0.3.13",u={unversionedId:"docs/managed-datahub/release-notes/v_0_3_13",id:"docs/managed-datahub/release-notes/v_0_3_13",title:"v0.3.13",description:"This contains detailed release notes, but there's also an announcement blog post that covers the highlights.",source:"@site/genDocs/docs/managed-datahub/release-notes/v_0_3_13.md",sourceDirName:"docs/managed-datahub/release-notes",slug:"/managed-datahub/release-notes/v_0_3_13",permalink:"/docs/managed-datahub/release-notes/v_0_3_13",draft:!1,editUrl:"https://github.com/datahub-project/datahub/blob/master/docs/managed-datahub/release-notes/v_0_3_13.md",tags:[],version:"current",frontMatter:{title:"v0.3.13",slug:"/managed-datahub/release-notes/v_0_3_13",custom_edit_url:"https://github.com/datahub-project/datahub/blob/master/docs/managed-datahub/release-notes/v_0_3_13.md"},sidebar:"overviewSidebar",previous:{title:"Subscriptions & Notifications",permalink:"/docs/managed-datahub/subscription-and-notification"},next:{title:"v0.3.12",permalink:"/docs/managed-datahub/release-notes/v_0_3_12"}},p={},g=[{value:"Release Availability Date",id:"release-availability-date",level:4},{value:"Recommended Versions",id:"recommended-versions",level:4},{value:"Release Changelog",id:"release-changelog",level:2},{value:"v0.3.13.1-acryl",id:"v03131-acryl",level:3},{value:"v0.3.13-acryl",id:"v0313-acryl",level:3},{value:"Known Issues",id:"known-issues",level:2}],c={toc:g},m="wrapper";function d(e){var{components:a}=e,t=l(e,["components"]);return(0,n.yg)(m,i(function(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(a){r(e,a,t[a])}))}return e}({},c,t),{components:a,mdxType:"MDXLayout"}),(0,n.yg)("h1",{id:"v0313"},"v0.3.13"),(0,n.yg)("admonition",{type:"info"},(0,n.yg)("p",{parentName:"admonition"},"This contains detailed release notes, but there's also an ",(0,n.yg)("a",{parentName:"p",href:"https://datahub.com/blog/datahub-cloud-v0-3-13/"},"announcement blog post")," that covers the highlights.")),(0,n.yg)("h4",{id:"release-availability-date"},"Release Availability Date"),(0,n.yg)("p",null,"31-Jul-2025"),(0,n.yg)("h4",{id:"recommended-versions"},"Recommended Versions"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"CLI/SDK"),": 1.2.0.4"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Remote Executor"),": v0.3.13.1-acryl (recommended), v0.3.13-acryl, v0.3.12.4-acryl, v0.3.11.1-acryl"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"On-Prem Versions"),":",(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Helm"),": 1.5.74"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"API Gateway"),": 0.5.3"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Actions"),": 0.0.13")))),(0,n.yg)("h2",{id:"release-changelog"},"Release Changelog"),(0,n.yg)("h3",{id:"v03131-acryl"},"v0.3.13.1-acryl"),(0,n.yg)("p",null,"This is a maintenance release including all of the changes from v0.3.12 along with the following fixes and changes:"),(0,n.yg)("p",null,"Minor improvements:"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"Tweak the ingestion run status page to exclude entities that don't have a search card"),(0,n.yg)("li",{parentName:"ul"},"Tweak some colors for info messages on ingestion run status page"),(0,n.yg)("li",{parentName:"ul"},"Added ability to filter bulk-create assertions by Dataset Environment"),(0,n.yg)("li",{parentName:"ul"},"Tighter Smart Assertion Predictions by default"),(0,n.yg)("li",{parentName:"ul"},"Improved slack alert and UI formatting of assertion results"),(0,n.yg)("li",{parentName:"ul"},"Improved alignment of app logo with certain custom logo dimensions"),(0,n.yg)("li",{parentName:"ul"},"Added more fields to Access Workflow events - the urn, name, qualified name, and type of the entity being requested access if provided. Important for anyone integrating with private beta ",(0,n.yg)("strong",{parentName:"li"},"Access Workflows")," feature."),(0,n.yg)("li",{parentName:"ul"},"Fixes and updates to SCIM Integration with Okta. See ",(0,n.yg)("a",{parentName:"li",href:"/docs/managed-datahub/configuring-identity-provisioning-with-okta"},"SCIM Integration: Okta and DataHub"))),(0,n.yg)("p",null,"Critical fixes:"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"Anomaly feedback previously always operated on the latest run, now it operates on the actually selected run"),(0,n.yg)("li",{parentName:"ul"},"Metric floors and ceilings are now applied as expected"),(0,n.yg)("li",{parentName:"ul"},"Prevent Smart assertion SQL filters from being dropped"),(0,n.yg)("li",{parentName:"ul"},"Anomalous data points are automatically filtered out as expected now"),(0,n.yg)("li",{parentName:"ul"},"Slack installation endpoint now accepts empty dictionaries for optional parameters")),(0,n.yg)("h3",{id:"v0313-acryl"},"v0.3.13-acryl"),(0,n.yg)("p",null,"This release includes all changes up to and including DataHub Core v1.2.0."),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},"Breaking Changes"),(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"All DataHub Python packages now require Python 3.9+. This affects the following packages:",(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("inlineCode",{parentName:"li"},"acryl-datahub")," (DataHub CLI and SDK)"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("inlineCode",{parentName:"li"},"acryl-datahub-actions")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("inlineCode",{parentName:"li"},"acryl-datahub-airflow-plugin")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("inlineCode",{parentName:"li"},"acryl-datahub-prefect-plugin")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("inlineCode",{parentName:"li"},"acryl-datahub-gx-plugin")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("inlineCode",{parentName:"li"},"acryl-datahub-dagster-plugin")," (already required Python 3.9+)"))),(0,n.yg)("li",{parentName:"ul"},"#13619: The ",(0,n.yg)("inlineCode",{parentName:"li"},"acryl-datahub-airflow-plugin")," has dropped support for Airflow versions less than 2.7."),(0,n.yg)("li",{parentName:"ul"},"#14054: The v1 plugin in ",(0,n.yg)("inlineCode",{parentName:"li"},"acryl-datahub-airflow-plugin")," has been removed. The v2 plugin has been the default for a while already, so this should not impact most users. Users who were explicitly setting ",(0,n.yg)("inlineCode",{parentName:"li"},"DATAHUB_AIRFLOW_PLUGIN_USE_V1_PLUGIN=true")," will need to either upgrade or pin to an older version to continue using the v1 plugin."),(0,n.yg)("li",{parentName:"ul"},"#14015: In the sql-queries source, the ",(0,n.yg)("inlineCode",{parentName:"li"},"default_dialect")," configuration parameter has been renamed to ",(0,n.yg)("inlineCode",{parentName:"li"},"override_dialect"),". This also affects the Python SDK methods:",(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("inlineCode",{parentName:"li"},"DataHubGraph.parse_sql_lineage(default_dialect=...)")," \u2192 ",(0,n.yg)("inlineCode",{parentName:"li"},"DataHubGraph.parse_sql_lineage(override_dialect=...)")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("inlineCode",{parentName:"li"},"LineageClient.add_lineage_via_sql(default_dialect=...)")," \u2192 ",(0,n.yg)("inlineCode",{parentName:"li"},"LineageClient.add_lineage_via_sql(override_dialect=...)")))),(0,n.yg)("li",{parentName:"ul"},"#14059: The ",(0,n.yg)("inlineCode",{parentName:"li"},"acryl-datahub-gx-plugin")," now requires pydantic v2, which means the effective minimum supported version of GX is 0.17.15 (from Sept 2023)."),(0,n.yg)("li",{parentName:"ul"},"#13601: The ",(0,n.yg)("inlineCode",{parentName:"li"},"use_queries_v2")," flag is now enabled by default for Snowflake and BigQuery ingestion. This improves the quality of lineage and quantity of queries extracted."))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},"Product"),(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/docs/managed-datahub/slack/saas-slack-app#datahub-ai-in-slack"},(0,n.yg)("strong",{parentName:"a"},"DataHub AI in Slack")),": The AI-powered ",(0,n.yg)("inlineCode",{parentName:"li"},"@DataHub")," Slack command is now available in public beta. Admins can enable this feature by navigating to UI \u2192 Settings \u2192 AI."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Customizable Home Page"),": Introducing a brand new home page experience with customization to suit your personal or organizational needs! Currently in private beta behind a feature flag, this new home page allows users with permission to create or edit modules for a custom default experience for all users in your organization. Alternatively, users can individually update their own personal home page to suit their needs. Configure custom asset collections, hierarchy views, documentation, pinned links and more!"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Entity Profile Design Updates"),": Entity profile pages receive a tabs design uplift in this release with sleeker, simpler-looking tabs that bring a more consistent feel to the page."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Access Worfklows"),": Introducing support for creating access approval workflows with custom entry points, custom form fields, routing policies, and more using the ",(0,n.yg)("inlineCode",{parentName:"li"},"upsertActionWorkflow")," GraphQL API. Also introduced support for creating & reviewing access workflows via the ",(0,n.yg)("strong",{parentName:"li"},"Task Center"),". This is in private beta currently, available behind a feature flag (ACTION_WORKFLOWS_ENABLED)."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Bulk Create Field Metric Smart Assertions"),": When creating a field metric assertion, you now have the ability to 'Bulk create smart assertions'. This allows you to select multiple fields and metrics, and spin up anomaly monitors across all of them in one go"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Bulk Create Freshness and Volume Smart Assertions"),": On the data health page you can now create smart freshness and volume assertions across thousands of tables in one go. Makes it effortless to strap a seatbelt with anomaly monitors across your landscape."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Improved Notifications for Assertion Failures"),": Slack and email alerts for assertions failures will now include context around expected vs actual values, making it easier to separate signal from noise right where you work."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Assertion Notes"),": Add notes to assertions, capturing troubleshooting tips and other critical context for data producers who are responsible for maintaining the quality of the checks."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Floors and Ceilings for Metric Predictions"),": Smart assertions on metrics like volume and null percentage now have ceilings and floors to accurately capture the absolute limits of the metrics"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Preview exclusion windows in assertions timeline"),": The historical assertions timeline viz now displays exclusion windows that were applied to filter out bad training data"),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Container filters on Data Health dashboard"),": Filter your data health dashboard by the asset's container, making it easy to see health of specific schemas in your database."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Data Health Filters reflected in URL"),": This makes it easy to bookmark and share links to specific filtered pages on the Data Health dashboard."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/docs/features/feature-guides/mcp"},(0,n.yg)("strong",{parentName:"a"},"MCP Server")),": The search tool has been revamped to improve LLM understanding and reduce tool confusion / tool call error by ~60%."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/docs/automations/ai-docs"},(0,n.yg)("strong",{parentName:"a"},"AI-Generated Documentaton")),": We can now generate docs for tables with up to 3000 columns, increasing the previous limit of 1000."),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("strong",{parentName:"li"},"Upstream Propagation")," The tag and glossary term propagation automations now support propagating via lineage upstream. This feature is still\nin open beta; reach out to your DataHub Cloud representative to get access."))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},"Ingestion"),(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"For Snowflake and BigQuery, query extraction v2 has been enabled by default. This feature has been validated in beta for 6+ months, and improves the quality of lineage and usage, the quantity of queries extracted, and the overall ingestion performance."))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},"Platform"),(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"#6024 - Fix Auth Validation with System User"),(0,n.yg)("li",{parentName:"ul"},"#6025 - Fix Owner Types Hook Regression"),(0,n.yg)("li",{parentName:"ul"},"#6092 - Fix Cast Exception On ES Reindex"),(0,n.yg)("li",{parentName:"ul"},"#13819 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/13819"},"feat(policies): support policy privilege constraints and ingestion aspect validators")),(0,n.yg)("li",{parentName:"ul"},"#13828 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/13828"},"feat(openapi-31): properly update openapi spec to 3.1.0")),(0,n.yg)("li",{parentName:"ul"},"#13865 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/13865"},"feat(): lineage registry via openapi")),(0,n.yg)("li",{parentName:"ul"},"#13878 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/13878"},"feat(openapi): entity registry api")),(0,n.yg)("li",{parentName:"ul"},"#13898 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/13898"},"feat(monitoring): modernize datahub monitoring")),(0,n.yg)("li",{parentName:"ul"},"#13942 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/13942"},"feat(secret): increase secret encryption strength")),(0,n.yg)("li",{parentName:"ul"},"#14033 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/14033"},"feat(rest_emitter): support delete emit mcp")),(0,n.yg)("li",{parentName:"ul"},"#14057 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/14057"},"feat(search): custom search configuration for highlighting")),(0,n.yg)("li",{parentName:"ul"},"#14096 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/14095"},"Query Graph Edge Performance Improvement")),(0,n.yg)("li",{parentName:"ul"},"#14156 - ",(0,n.yg)("a",{parentName:"li",href:"https://github.com/datahub-project/datahub/pull/14156"},"feat(kafka-consumer): micrometer kafka consumer metrics")))),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("p",{parentName:"li"},"Bug Fixes"),(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"Search Filters - Allow searching for values on structured property filters outside of the initial set of provided values from the server. The limitation here is that your search must include the full value you are looking for in order to filter on it."),(0,n.yg)("li",{parentName:"ul"},"Freshness smart assertions have been updated to look at when operations were actually applied on the source data. Previously they used the timestamp when the operation metadata was ingested into DataHub. This is a critical fix for Freshness Smart Assertions."),(0,n.yg)("li",{parentName:"ul"},"The UI to create smart assertions for Views now defaults to Query the view for row count. Previously it looked at the warehouse's info schema by default, which always errored since info schemas don't capture metrics on Views.")))),(0,n.yg)("h2",{id:"known-issues"},"Known Issues"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"If the ",(0,n.yg)("inlineCode",{parentName:"li"},"global.serverEnv")," is not configured as ",(0,n.yg)("inlineCode",{parentName:"li"},"global.serverEnv=on-prem"),", frontend Sentry telemetry will be enabled."),(0,n.yg)("li",{parentName:"ul"},"There are several known issues with the tag and term propagation automations",(0,n.yg)("ul",{parentName:"li"},(0,n.yg)("li",{parentName:"ul"},"Glossary term selector search is not working in automation editor"),(0,n.yg)("li",{parentName:"ul"},"Tag propagation does not get undone when a tag is deleted"),(0,n.yg)("li",{parentName:"ul"},"Glossary term propagation does not get undone when the glossary term is deleted on a table"))),(0,n.yg)("li",{parentName:"ul"},"Internal Schema Registry - The internal schema registry does not supply a compatible schema for older MCP messages. The short term recommendation is to process all MCPs before upgrading to this release.")))}d.isMDXComponent=!0}}]); |