What's Changed
- fix(protobuf): use DynamicMessage for MESSAGE-type extension defaults by @abedatahub in #14900
- MCL Generation via CDC by @chakru-r in #14824
- chore(devenv): upgrade of opensearch to 2.17 and stability improvements by @alexsku in #14895
- feat(s3/ingest): performance improvements for get_dir_to_process and get_folder_info by @ligfx in #14709
- feat: ConnectionModel and DataHubGraph:get_urns_by_filter and StructuredProperties from saas by @sgomezvillamor in #14912
- fix(ingest/snowflake): Fixed the Snowflake external URL generation issue for privatelink connections. by @treff7es in #14905
- ci(nightly): add more profiles to nightly tests by @chakru-r in #14907
- ci(cloudflare): fix workflow check for secret by @chakru-r in #14906
- chore(): bump grpc-protobuf by @david-leifker in #14915
- fix(ingest/snowflake): Skip sql parsing if all the features disable in config where it is needed by @treff7es in #14908
- feat(ingest): add high level stage for ingestion by @anshbansal in #14862
- fix(ingest/grafana): add exception handling by @anshbansal in #14921
- config(gms): enable some features by default by @anshbansal in #14889
- ci(reviewers): add petemango to pr-labeller by @petemango in #14922
- fix(ci): bump metadata-ingestion runner by @david-leifker in #14924
- test(searchBarAutocomplete): add cypress tests by @v-tarasevich-blitz-brain in #13333
- feat(structuredProperties): add new property to hide properties with emty value by @v-tarasevich-blitz-brain in #14870
- feat(structuredProperties): add option to hide properties with empty values by @v-tarasevich-blitz-brain in #14872
- fix(ui) Fix re-expanding entity name after sidebar opens/closes by @chriscollins3456 in #14925
- tests(structuredProperties): add cypress tests by @v-tarasevich-blitz-brain in #14888
- docs(release-notes): disclaimers for 0.3.14 by @jayacryl in #14812
- chore(doc): Fix json schema generation after pydantic v2 move by @skrydal in #14926
- feat(quickstart): bump min docker req and add validation by @deepgarg760 in #14927
- docs: fix datajob docs inline code format by @yoonhyejin in #14933
- feat(ingestion): Add Databricks support to Fivetran integration by @askumar27 in #14897
- feat(ingest): ensure payload size constraints for queryProperties, querySubjects and upstreamLineage aspects by @sgomezvillamor in #14919
- feat(search): implement multi-client search engine shim for ES8 support by @RyanHolstien in #14904
- fix(build): fix "grep: invalid option -- P" error in quickstart by @petemango in #14916
- feat: RelationshipChangeEvent model + attribution action graph + kafka msk iam (all from SaaS) by @sgomezvillamor in #14938
- feat(ui/ingest): add source errors, warnings by @anshbansal in #14939
- fix(smoke-tests): smoke test fixes for postgres profile by @chakru-r in #14940
- fix(web): embedded search list responsiveness by @jayacryl in #14913
- fix(entity controller) Fix case sensitivity in entity controller by @zhixuanjia in #14902
- improvement(summary-tab): hide current property in replace dropdown of property header by @purnimagarg1 in #14842
- test(customLinks): add cypress tests (#274) by @v-tarasevich-blitz-brain in #14834
- fix(ui/LineChart): adjust scaling of the line chart for the data with a small difference by @v-tarasevich-blitz-brain in #14836
- feat(customLinks): add upsert link endpoint (#291) by @v-tarasevich-blitz-brain in #14854
- feat(analytics) Support google tag tracking only with ID supplied by @chriscollins3456 in #14946
- feat(uplodaFiles): add feature flag by @v-tarasevich-blitz-brain in #14951
- test(ingestion): add cypress tests for redesigned ingestion flow by @purnimagarg1 in #14844
- test(cypress/statsTabV2): add cypress tests by @v-tarasevich-blitz-brain in #13495
- test(customLinks): add integration tests (#275) by @v-tarasevich-blitz-brain in #14835
- feat(structuredProperties): refresh structured properties on update by @v-tarasevich-blitz-brain in #14910
- docs(ingestion): Updating breaking changes for LookML and Looker sources by @askumar27 in #14947
- chore: add 'askumar27' to PR labeler configuration by @sgomezvillamor in #14949
- fix(protobuf): skip MESSAGE-type options in PropertyVisitor by @abedatahub in #14957
- bugfix(setup): pin pydantic version due to incompatibility with pyiceberg by @askumar27 in #14959
- bugfix(fivetran/unity): move UnityCatalogConnectionConfig import to avoid circular deps with ge_profiler by @askumar27 in #14956
- docs(snowflake): use_queries_v2 + some minor fixes by @sgomezvillamor in #14944
- fix(setup): updated fivetran databricks dependencies by @askumar27 in #14962
- Update release notes for v0.3.14.1-acryl by @gabe-lyons in #14958
- fix(smoke-test):cleanup existing token and add wait by @deepgarg760 in #14965
- chore(deps): bump tar-fs from 2.1.3 to 2.1.4 in /docs-website by @dependabot[bot] in #14875
- doc(smoke test): add some guideline for smoke test by @anshbansal in #14967
- chore(): bump grpc-netty by @david-leifker in #14969
- ci(): metadata-io instance size by @david-leifker in #14876
- fix(ui): Proper url encoding in Impact view filters by @sakethvarma397 in #14963
- fix(ui): Fix overlapping Modals by @sakethvarma397 in #14964
- fix: change deprecated filename key to path in example recipe by @tuliolima in #14950
- fix(ingest): serialisation of structured report by @anshbansal in #14973
- refactor(policy): Update policy check for get invite token and create invite token by @DucNgoQuang in #14941
- fix(log): do not consider error if not strict by @anshbansal in #14977
- feat(loadIndices): loadIndices upgrade by @david-leifker in #14928
- fix(impact): add missing executor pool by @david-leifker in #14976
- fix(authentication): fix PlayCacheSessionStore by @trialiya in #14754
- fix(ingest/dremio): Dremio sql parsing fix by @treff7es in #14974
- fix(cli): remove pydantic warning by @anshbansal in #14987
- fix(build): Add --copies flag to Python venv creation for better compatibility by @pedro93 in #14120
- fix(smoke-test):cleanup existing token and add wait by @deepgarg760 in #14988
- fix(ingest/deltalake) Deltalake ingestor doesn't delete metadata if the table is deleted. by @alplatonov in #14763
- fix(ci): only applies to master by @david-leifker in #14981
- fix(upsertLink): remove log by @v-tarasevich-blitz-brain in #14984
- refactor(ui) : New great expectation logo by @DucNgoQuang in #14983
- fix(api): add validation entity type for policy creation by @anshbansal in #14955
- build(actions): optimize docker layer caching for bundled-venvs by @chakru-r in #14945
- quickstart Reload improvements by @chakru-r in #14982
- fix(upsertLink): reorder fields to be consistent with Saas by @v-tarasevich-blitz-brain in #14986
- fix(ui): Entity text overflow in 'owner of' section by @sakethvarma397 in #14934
- refactor(test): refactor smoke test by @anshbansal in #14993
- fix(ingest/grafana): filter out invalid input field workunits by @anshbansal in #14972
- refactor(test): refactor smoke test by @anshbansal in #14996
- refactor(test): refactor smoke test by @anshbansal in #14998
- fix(build): add ability to specificy constraints for bundled-venvs by @chakru-r in #14999
- fix(python): skip pydantic_core 2.41.3 by @sgomezvillamor in #14997
- fix(ingest/mssql): ODBC connection always needs a database name by @ligfx in #14994
- feat(dataproduct): output ports by @sgomezvillamor in #15000
- chore(iceberg): bump dependency by @sgomezvillamor in #15001
- refactor(test): refactor smoke test by @anshbansal in #15003
- update tag editing to include name and updated menu by @annadoesdesign in #14884
- fix(ui) Move template editable changes to their own files by @chriscollins3456 in #14923
- feat(cli): graphql command by @shirshanka in #14781
- choir(ingestion/sqlparser): Bump sqlglot to v27.27.0 by @treff7es in #15008
- feat(ingest/unity): Use sql to extract query history for usage by @treff7es in #14953
- fix(doc): Update permissions in redshift quickstart doc by @treff7es in #14909
- fix(ingest/teradata): Fix Teradata lineage URN generation to prevent extra database prefixes by @treff7es in #14715
- test(summaryTab): cypress tests by @v-tarasevich-blitz-brain in #14808
- fix(externalEvents): fixes timeout issues for external events api by @RyanHolstien in #14979
- refactor(test): refactor smoke test by @anshbansal in #15010
- fix(test): remove un-necessary test by @anshbansal in #15015
- feat(ingestion): add ability to exclude archived mode reports. by @NehaGslab in #14978
- fix(mongo-source): Add failing test for complex topic name parsing by @chaiwon1 in #15002
- refactor(sdk): extract env variables into a single file by @anshbansal in #15021
- doc(dev): update claude md for git worktrees by @anshbansal in #15020
- chore: migrate Unity catalog from deprecated SqlParsingBuilder to SqlParsingAggregator and remove SqlParsingBuilder by @sgomezvillamor in #15005
- feat(cli): add user
addcommand by @anshbansal in #15011 - chore(): bump netty by @david-leifker in #15027
- refactor(test): refactor smoke test by @anshbansal in #15019
- docs(elasticsearch): add note for shim config by @RyanHolstien in #15030
- fix(auth):allow colon in secret password by @deepgarg760 in #15023
- chore(deps): Upgrade to latest (com.mysql:mysql-connector-j) by @relaxedboi in #15018
- chore(deps): bump actions/labeler from 5 to 6 by @dependabot[bot] in #14760
- chore(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #14761
- chore(deps): bump actions/setup-java from 4 to 5 by @dependabot[bot] in #14759
- chore(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #14985
- refactor(test): make python version ==3.11.x by @anshbansal in #15035
- fix(cypress): fix summaryTab.js by @v-tarasevich-blitz-brain in #15017
- improvement(ui): consolidate all rich text editors to use editor in component library by @purnimagarg1 in #15009
- fix(mce-consumer): database max connections by @david-leifker in #15042
- fix(ingestion/mongodb): Fix handling of arrays containing complex structures by @skrydal in #15026
- fix(collectionModule): fix long entity name by @v-tarasevich-blitz-brain in #15033
- feat(uploadFiles): add endpoint to get presigned upload url by @v-tarasevich-blitz-brain in #14943
- feat(gms) Add new REST endpoint for retrieving files from S3 by @chriscollins3456 in #15048
- fix(security): Update dependencies to address multiple CVEs by @esteban in #15045
- fix(security): Update dependencies to address multiple CVEs (addendum) by @esteban in #15049
- chore(docker): upgrade OpenSearch from 2.17.0 to 2.19.3 by @abedatahub in #15047
- chore(docs): Clarifying listDomains query documentation by @skrydal in #15050
- feat(ui/ingest): unity-catalog => databricks by @ligfx in #14636
- feat(ingest/postgres,mysql): Add iam auth support for MySql and Postgresql source by @treff7es in #14899
- chore(redshift): log time taken queries by @sgomezvillamor in #15054
- feat(ui/platform): Adds env variable to control default skipHighlighting search flag by @sakethvarma397 in #15038
- fix(ui): Removing unused props and trimming down the graphql objects by @sakethvarma397 in #15043
- ci(label): add username to pr-labeler by @yoonhyejin in #15064
- docs(ingestion/bigquery): update docs to cover bigquery.tables.getData for use_tables_list_query_v2 parameter by @acrylJonny in #14728
- feat(ui) Add new file upload to S3 extension in the UI by @chriscollins3456 in #15061
- fix(redsfhit): fix closed cursor by @sgomezvillamor in #15065
- feat(ui): Show all views in settings by @sakethvarma397 in #14971
- feat(homepage): add default platforms module on the homepage by @purnimagarg1 in #14942
- feat(sql-setup): system-update replacement for mysql/postgres setup by @david-leifker in #15044
- feat(elasticsearch-setup): system-update replacement for elasticsearch-setup by @david-leifker in #15058
- SE-123: added product update resolver by @benjiaming in #14980
- feat(ingest/snowfle,bigquery): Stateful time window ingestion for queries v2 with bucket alignment by @treff7es in #15040
- feat(uploadFiles): disable feature flag when s3 isn't configured by @v-tarasevich-blitz-brain in #14990
- feat(file-upload): implement selecting and uploading file via button on the editor toolbar by @purnimagarg1 in #15036
- feat(uploadFiles): handle errors by @v-tarasevich-blitz-brain in #15024
- feat(gms) Add new dataHubFile entity and relevant graphql mappings by @chriscollins3456 in #15028
- fix(ingest): Handle empty column names in SQL parsing column lineage by @kyungsoo-datahub in #15013
- feat(gms) Add permission checks to download file REST endpoint by @chriscollins3456 in #15059
- fix(mongodb): fixes missing deps for unit testing by @sgomezvillamor in #15077
- feat(uloadFiles): add support to schema field and asset documentation tab by @v-tarasevich-blitz-brain in #15055
- feat(uploadFiles): add anaytics events by @v-tarasevich-blitz-brain in #15080
- fix(datahub-web-react): Update Titles and subtitles of Settings pages by @ani-malgari in #15072
- fix(sort): fix out of bounds exception with count 0 by @david-leifker in #15085
- fix(ui): Minor UX improvements for Query Tab by @sakethvarma397 in #15074
- fix(druid): fixes docker setup for postgres in druid integration tests by @sgomezvillamor in #15090
- fix(quickstart): handle potential wrapping of df cmd output in disk space check by @chakru-r in #15083
- fix(system-update): fix index prefix in new setup for es/os by @david-leifker in #15087
- chore: udpate ingestion support status by @sgomezvillamor in #15053
- fix(search): Remove duplicate filter values that can't be handled by elasticsearch by @asikowitz in #15078
- fix(files) Remove bucket name prefix to presigned urls for files by @chriscollins3456 in #15082
- fix(smoke-tests): correct server config access in tracking test by @shirshanka in #15092
- feat(docs): enhance metadata model entity documentation with field tables and SDK examples by @shirshanka in #15095
- feat(fivetran/google_sheets): add Google Sheets support and API client integration by @askumar27 in #15007
- fix(datahub-web-react): Fixed routing issue to prevent non-admin users from accessing analytics page by @ani-malgari in #15093
- fix(datahub-web-react): Fix icons not rendering for domains on autocomplete search results by @ani-malgari in #15096
- feat(oss): add clientId to ctaLink by @benjiaming in #15071
- SE-123: Fetch product updates from backend by @benjiaming in #15079
- feat(docs): add structured property for search field names in metadata model by @shirshanka in #15097
- fix(ingest/dremio): Fix platform_instance URN generation by @treff7es in #15076
- docs(testing): add guidelines to avoid AI test anti-patterns by @abedatahub in #15073
- refactor(smoke test): centralise env variables by @anshbansal in #15100
- fix(restore-indices): log error instead of silent failure by @david-leifker in #15070
- fix(ui): Fix routing issue in Manage Views by @sakethvarma397 in #15101
- fix(ui/column-stats): fix unopenable side panel for nested column stats by @acrylJonny in #14874
- fix(elasticsearch): fix regression system-update elasticsearch-setup by @david-leifker in #15107
- fix(web): tsc null check by @jayacryl in #15109
- fix(prefix): improve/fix es prefix calculation by @david-leifker in #15110
- chore(metabase): use non deprecated fields in ChartInfo and DashboardInfo aspects by @sgomezvillamor in #15102
- feat(docs): generate DataHub-optimized entity documentation variant by @shirshanka in #15111
- fix(docs): Fix upgrade restore docs by @redblackcoder in #15103
- fix(mssql): replace permission-based RDS detection with server name analysis and fix SQLAlchemy 1.4+ compatibility by @sgomezvillamor in #14975
- fix(ingestion/dremio): handle dremio oom errors when ingesting large amount of metadata by @acrylJonny in #14883
- feat(ingestion/sql-queries): add performance optimizations, S3 support, temp table patterns by @brock-acryl in #14757
- docs(snowflake): lineage limitations by @sgomezvillamor in #15115
- fix(ci): reworked smoke test batching by @chakru-r in #15039
- fix(cypress): fix summaryTab.js by @v-tarasevich-blitz-brain in #15136
- feat(ci): monitor test weights and update automatically by @chakru-r in #15126
- feat(ui/theme): Support styled-components theming; clean up ant theming DES-359 by @asikowitz in #14787
- Fixed some UX and React reconciliation errors on Tags page by @ani-malgari in #15098
- feat(search): unified entity index by @david-leifker in #14966
- fix(cypress) Skip summaryTab.js while we fix it by @chriscollins3456 in #15135
- fix(docs): move DataHub variant entity docs to separate directory by @shirshanka in #15144
- feat(elasticsearch): support for composable index templates by @sgomezvillamor in #15089
- tests(cypress): optimize symmaryTab tests by @v-tarasevich-blitz-brain in #15138
- feat(iam-setup): additional support for iam by @david-leifker in #15143
- feat(graphql): Add comprehensive entity patching functionality by @brock-acryl in #14823
- fix(docs): fixed misprint in api comparison table, fixed table layout and columns by @timtibilati in #14481
- fix(web): nested select component should not auto-clear selections by @jayacryl in #15122
- fix(quickstart): bump default version to v1.3.0 by @chakru-r in #15155
- fix(cypress): fix manage_tagsV2 by @v-tarasevich-blitz-brain in #15151
- fix(cypress): fix cypress test for dataset_health by @purnimagarg1 in #15153
- fix(cypress): fix ingestion_source cypress test by @purnimagarg1 in #15154
- chore(): bump kubectl by @david-leifker in #15157
- docs(search): improve docs for upstream and downstream advanced query by @anshbansal in #15167
- feat(OpenAPI v3): Improve generic scroll API to have advanced pagination and facets by @zhixuanjia in #14877
- fix(upgrade reindex): Fix count in restore job by @redblackcoder in #15094
- fix(lineage): Use lineage viz methods when ignoreAsHops is specified by @asikowitz in #15171
- fix(build): regression in nuke task when running non-debug profiles by @chakru-r in #15016
- feat(files) Add combined commits together for file upload/download by @chriscollins3456 in #15170
- fix(ci): cache gradle plugins by @chakru-r in #15175
- feat(ui): Modernize Analytics Page with v2/Alchemy Components (#6872) by @chriscollins3456 in #15068
- fix(tests): fix v2_edit_documentation (bring from SaaS) by @v-tarasevich-blitz-brain in #15165
- fix(tests): bring fixes for modules.js cypress tests from saas by @v-tarasevich-blitz-brain in #15081
- fix(ingest): Handle empty column names from Snowflake access history by @kyungsoo-datahub in #15106
- feat(models): AssertionInfo with note by @jayacryl in #15031
- feat(pdl): Add Microsoft Teams as a new notification sink type by @askumar27 in #15186
- docs(observe): add documentation for smart sql assertions by @petemango in #15187
- fix(modules) Support unknown module types gracefully in the app by @chriscollins3456 in #15185
- fix(ingestion): Add aws_common dependency to cockroachdb and mariadb plugins by @askumar27 in #15189
- fix(ui/theme): Catch errors in loading custom theme by @asikowitz in #15184
- docs(observe): add documentation for custom sql in column value assertions by @petemango in #15192
- feat(uploadFiles): bring changes from SaaS by @v-tarasevich-blitz-brain in #15166
- improvement(upload-files): bring back changes from SaaS by @purnimagarg1 in #15181
- feat(ui/file-upload): show inline previews of text, pdf and video files by @purnimagarg1 in #15182
- test(uploadFile): add cypress tests by @v-tarasevich-blitz-brain in #15195
- improve(uploadFiles): move upload files related props to its own oject by @v-tarasevich-blitz-brain in #15179
- feat(docs): Click to expand image by @AdrianMachado in #15201
- feat(docs): Add docs for injecting custom instructions to Ask DataHub, Docs Gen, + Classification by @jjoyce0510 in #15197
- feat(unity/mlmodel): add model signature and run details support in Unity Catalog Source by @askumar27 in #15177
- fix(smoke-tests): fix some of the top failing cypress tests by @ani-malgari in #15199
- add readWrite documentation to be added to mongodb page by @dgluong-datahub in #15200
- fix(quickstart): limit old cli to 1.2 by @chakru-r in #15208
- chore(python): remove pydantic V1 deprecation warnings by @sgomezvillamor in #15057
- fix(cypress/summaryTab): split test into separated files by @v-tarasevich-blitz-brain in #15194
- feat(datasetSummaryTab): add feature flag by @v-tarasevich-blitz-brain in #15206
- docs(subscriptions): Update docs for subscriptions management by @AdrianMachado in #15203
- chore(docs): Clarify definition of "View Entity" and "View Entity Pag… by @abedatahub in #15213
- docs(release): Add release notes for version 0.3.15 by @jayacryl in #15139
- docs(logical): Add docs on creating logical datasets and bulk relationship removal by @asikowitz in #15029
- Add feature guide for upload/download to s3 in documentation by @chriscollins3456 in #15168
- hotfix(): Add new create domains flow by @jjoyce0510 in #15202
- fix(docs): change incorrect link to CF template by @kevinkarchacryl in #15217
- fix(ingest/airflow): Remove Python 2.9 airflow tests by @treff7es in #15216
- bug(unity-catalog): update parameter key in UnityCatalogApiProxy for MLFlow Model files by @askumar27 in #15220
- fix(ui): Handle structured properties overflow and indentation by @sakethvarma397 in #15131
- chore(ci): update gradle config, test infrastructure, and testng suit… by @david-leifker in #15207
- Update announcement bar content to Context ON-DEMAND by @grayayer in #15221
- feat(databricks): adds Azure oauth to Databricks by @Anshul759 in #15117
- feat(sdk): add Tag entity to SDK v2 by @sgomezvillamor in #14791
- feat(impact): allow partial results for backwards compat by @david-leifker in #15198
- feat(docker) Add quickstartDebugAws gradle command for testing s3 locally by @chriscollins3456 in #15218
- improvement(ui/file-upload): handle file previews when there's no permission to view or error occurs by @purnimagarg1 in #15210
- feat: bring back changes from proposals cypress PR to OSS by @purnimagarg1 in #15224
- fix(elasticsearch): fix index template by @david-leifker in #15227
- fix(search): improve queries index write perf by @david-leifker in #15226
- feat(structured-properties): implement infinite scroll with backend search for structured properties table by @purnimagarg1 in #14991
- chore(build): upgrade git-properties gradle plugin by @chakru-r in #15229
- Move Ask DataHub doc into "Features" by @jjoyce0510 in #15228
- fix(system-update): fix opensearch event template index creation by @david-leifker in #15231
- feat(ui): add model signature table for mlmodel summary tab by @yoonhyejin in #15205
- feat(spark): Add SQLJobFacet to column-level lineage transformations by @askumar27 in #15232
- Revert "fix(ingest/dremio): Fix platform_instance URN generation" by @treff7es in #15236
- security: Update GPG Key by @esteban in #15239
- fix(irc): add endpoints field in /v1/config response by @chakru-r in #15245
- feat(ci): allow PRs from repo forks to use depot by @chakru-r in #15243
- Improve datahub-web-react build caching by @chakru-r in #15256
- feat(dataset-summary): add summary tab on dataset entities by @purnimagarg1 in #15238
- fix(cypress): fix summary tab tests by @v-tarasevich-blitz-brain in #15267
- fix(kafka-setup): skip schema registry config setup when kafka setup is disabled by @chakru-r in #15268
- fix(cypress): fix cypress flakiness in ingestionV2/sources.js by @purnimagarg1 in #15260
- fix(upgrade): add missed configs for lineage reprocessing by @anshbansal in #15266
- fix(python): correct Literal type comparison bugs in assertion classes by @sgomezvillamor in #15269
- fix(ingest/bigquery): Fix bigquery user agent string by @treff7es in #15214
- fix(ingest/vertex): Vertex null start date fix by @treff7es in #15258
- fix(ingest/transformer): Preserve manually set domains in PatternAddDatasetDomain with PATCH semantics by @treff7es in #15259
- Modify announcement bar for context webinar removing UTMs by @grayayer in #15265
- feat(metadata-integration/openlineage): support env and orchestrator in openlineage event emission by @acrylJonny in #15251
- feat(ingest/snowflake): add Streamlit apps ingestion support by @kyungsoo-datahub in #15272
- fix(ui) Add followup tweaks to updated analytics page DES-442 by @chriscollins3456 in #15142
- chore(test): Update test weights from CI runs (2025-11-02) by @github-actions[bot] in #15173
- chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #15178
- fix(ui) : Correct privilledge check for invite token related UI features by @DucNgoQuang in #15063
- docs(ingestion): Added documentation for Glue Cross-account Access. by @NehaGslab in #15254
- refactor(pydantic): remove Pydantic v1 legacy code and migrate fully to v2 by @sgomezvillamor in #15261
- chore(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #15114
- fix(ui): update hard-coded logo paths to reference theme config by @liannab in #15084
- fix(ui) Reduce the download CSV count to reduce likelihood of timeouts by @chriscollins3456 in #14092
- fix(ci): run label triggered workflows in their own group by @chakru-r in #15277
- feat: Allow users to add multiple Applications to entities by @ani-malgari in #15160
- fix(ingest/ci): fix integration test failures by @kyungsoo-datahub in #15284
- feat(ingestion): Add secret masking framework by @kyungsoo-datahub in #15188
- fix(ci): restore always() for smoke test step by @chakru-r in #15286
- fix(logs): Warn instead of error on schema extract failure by @kevinkarchacryl in #15230
- fix(es): npe when applying scripted update on elasticsearch by @chakru-r in #15283
- feat(dbt): enhance DBTCloud integration with bulk job ingestion by @askumar27 in #15264
- feat(ingest/ui): Updated lookml recipe and minor ui enhancements by @askumar27 in #15086
- feat(lookml): Use Looker API to get fields of a View by @askumar27 in #15060
- chore(deps): bump min-document from 2.19.0 to 2.19.1 in /datahub-web-react by @dependabot[bot] in #15247
- fix(cypress): fix searchBarV2Redesign test by @v-tarasevich-blitz-brain in #15281
- fix(cypress): memory optimizations by @v-tarasevich-blitz-brain in #15290
- feat(openapi): rework to pull schemas from openapi v2 and v3 definitions by @bryanprosser-acryl in #14045
- docs(ingestion): Added Google sheets connector support for fivetran by @askumar27 in #15294
- fix: allow for non-tagged assets in Grafana by @dgluong-datahub in #15300
- fix(doc): kafka setup doc updates by @chakru-r in #15304
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #15051
- fix(ingest/iceberg): Extend iceberg source to allow role assumption by @skrydal in #15288
- docs: fix typos in some files by @Edge-Seven in #15302
- fix(ingest/aws): Fix for the aws credential caching by @treff7es in #15278
- feat(tag): hide delete tag action in tag drawer by @JacobCuke in #15298
- refactor(test): use DataHub API in consistency checks by @anshbansal in #15311
- fix(cypress): temporary skip heavy tests of about section by @v-tarasevich-blitz-brain in #15316
- Revert "refactor(test): use DataHub API in consistency checks" by @anshbansal in #15322
- fix(snaplogic): Fix SnapLogic logo and docs url. by @SalimAbdul-snaplogic in #15067
- refactor(test): consolidate into pyproject.toml by @anshbansal in #15325
- fix: resolve remaining Pydantic v2 deprecation warnings by @sgomezvillamor in #15309
- feat(datahub-actions): bump acryl-executor by @sgomezvillamor in #15310
- refactor(lookml): Fixed log levels for source reporters by @askumar27 in #15318
- feat(ingest/kafka-connect): Add Confluent Cloud connector and transform pipeline support by @treff7es in #14575
- test(smoke): mark test as read only by @anshbansal in #15328
- fix(system-update): sql setup regression by @chakru-r in #15320
- lint(pre-commit): exclude task that caused issues with git worktrees by @anshbansal in #15335
- fix(): fix system-update compose by @david-leifker in #15289
- feat(datahub-actions): Bump up acryl-executor to 0.3.1 by @kyungsoo-datahub in #15334
- fix(theme): Properly set logo url on ErrorSection.tsx by @asikowitz in #15295
- fix a few cypress flaky tests by @chakru-r in #15331
- test(smoke): read only test for lineage by @anshbansal in #15338
- test(smoke): read only test for data products by @anshbansal in #15337
- docs(mcp): Adding more detail to MCP Server Docs by @jjoyce0510 in #15343
- fix(ingestion): Fix confluent cloud test health check by @esteban in #15346
- feat(build): implement Gradle dependency locking by @esteban in #15303
- feat(ingestion): Make PySpark optional for S3 by @esteban in #15123
- fix(cypress): for v2_edit_documentation by @v-tarasevich-blitz-brain in #15330
- fix(build): revert default variant for datahub-actions image by @chakru-r in #15352
- docs : update Town Hall registration by @jatherley in #15344
- feat(config): Hide input data in validation errors when DATAHUB_DEBUG is disabled by @kyungsoo-datahub in #15345
- fix(masking): add emergency fallback pattern when registry changes rapidly by @kyungsoo-datahub in #15353
- feat(docs): Adding models + APIs for context base V1 by @jjoyce0510 in #15280
- fix(cypress): reduce num tests kept in mem to address electron renderer crash by @chakru-r in #15357
- fix(test): resolve search test flakiness with enhanced SearchRequestHandler cache key by @trialiya in #15299
- feat(readOnly): support read only datahub deployments by @RyanHolstien in #15301
- fix(datahub-actions): Bump up acryl-executor to 0.3.2 by @kyungsoo-datahub in #15362
- fix(docs): fix docs generation failing on untracked files by @deepgarg760 in #15351
- fix(graphql) Add FabricTypes we support in PDL to GraphQL by @chriscollins3456 in #15355
- chore(deps): fix (com.azure:azure-identity-extensions) by @relaxedboi in #15314
- feature(ingestion) denormalised table and schema name for getting primary key by @aabharti-visa in #15317
- add clone back into menu by @annadoesdesign in #15240
- fix(frontend): add missing contextDocumentsEnabled and manageDocuments fields by @esteban in #15370
- fix(security): Update jersey-client to 2.46 by @esteban in #15360
- feat(ci): add gradle lockfile validation for version changes by @esteban in #15372
- docs(v1.3.0): update docs for release by @RyanHolstien in #14948
- fix(spotless): Exclude generated code from spotless by @redblackcoder in #15104
- docs: Update announcement bar content in docusaurus config by @grayayer in #15371
- fix(ingest): schema pattern for unity catalog before/after by @kevinkarchacryl in #15350
- fix(test): mock instead of spy by @david-leifker in #15246
- fix(actions): handle additional transient exception types to improve actions robustness by @chakru-r in #15378
- feat(graphql): add feature flag and CSP headers for GraphiQL endpoint by @deepgarg760 in #15364
- fix(docs): fix docs version by @deepgarg760 in #15375
- fix: allow edited display name in the UI to reflect editableProperties by @dgluong-datahub in #15382
- feat(docs): Introducing UI flows for Context Base V1 by @jjoyce0510 in #15279
New Contributors
- @tuliolima made their first contribution in #14950
- @DucNgoQuang made their first contribution in #14941
- @chaiwon1 made their first contribution in #15002
- @kyungsoo-datahub made their first contribution in #15013
- @ani-malgari made their first contribution in #15072
- @redblackcoder made their first contribution in #15103
- @timtibilati made their first contribution in #14481
- @dgluong-datahub made their first contribution in #15200
- @github-actions[bot] made their first contribution in #15173
- @liannab made their first contribution in #15084
- @Edge-Seven made their first contribution in #15302
- @JacobCuke made their first contribution in #15298
Full Changelog: v1.3.0.1...v1.4.0-preview