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
- docs(bigquery): schema resolver strategy by @sgomezvillamor in #15164
- fix(bigquery): apply case normalization consistently for temp table inference by @sgomezvillamor in #15252
- fix(abs): Prevent crash when validating dict path_specs in ABS source by @sgomezvillamor in #15329
- fix(searchBarV2): fix selecting option by hovering by @v-tarasevich-blitz-brain in #15349
- feat(uploadFiles): extend asset links to support file upload by @v-tarasevich-blitz-brain in #15225
- feat(datasetModules): add basic implementation of columns module by @v-tarasevich-blitz-brain in #15293
- fix(ingestion/grafana): fix fails caused by text panels in ingestion by @acrylJonny in #15291
- fix(datahub-actions): make config in ActionConfig optional by @daha in #15393
- fix(ingest/snowflake): Add classification_lib to setup dependencies by @treff7es in #15407
- feat(openapi v3) support sorting customization on missing value handling by @zhixuanjia in #15383
- fix(ingestion/grafana): fixing uniqueness bug in grafana connector by @acrylJonny in #15397
- feat(dataset-summary): create new lineage module for dataset summary page by @purnimagarg1 in #15313
- feat(ingestion): add feature flag for ingestion onboarding by @v-tarasevich-blitz-brain in #15376
- feat(ingestion): update ownership ux by @v-tarasevich-blitz-brain in #15374
- fix(cypress): optimyze summary about section tests by @v-tarasevich-blitz-brain in #15332
- (fix/metadata-ingestion): Update classification docs to mark deprecated by @ani-malgari in #15380
- fix(readOnly): fixes read only mode for update queries by @RyanHolstien in #15398
- fix(sdk): DataJob environment defaults to PROD when using flow_urn (#15381) by @dinesh-github in #15388
- fix(docs): Adding fixes for GraphQL APIs & support hiding from global context by @jjoyce0510 in #15399
- fix(ui): fix entity type search filter by @sakethvarma397 in #15406
- fix(ui): Adding chart's last modified data on search index by @sakethvarma397 in #15088
- feat(ingestion): create ingestion source skeleton by @v-tarasevich-blitz-brain in #15390
- fix(ingest/ci): fix docker compose integration test failures by @kyungsoo-datahub in #15424
- feat(ingestion/oracle): add support for materialized view, stored procs and usage by @acrylJonny in #15118
- fix(ui): Enable stateful ingestion for sources where we support it by @treff7es in #15422
- feat(ingestion): Add OAuth callback support for Kafka producers/sinks by @max-datahub in #15420
- chore(deps): fix (ch.qos.logback : logback-classic) by @relaxedboi in #15409
- fix(log): change to warning by @anshbansal in #15440
- fix(change-events): fix NPE in EditableSchemaMetadataChangeEventGenerator by @trialiya in #13895
- fix(pit): reduce overhead of PIT creation by @RyanHolstien in #15412
- fix(graphql): listUsers resolver incorrect access check by @david-leifker in #15448
- feat(context): Various UI improvements for Context Base (Part 1/2) by @jjoyce0510 in #15413
- feat(openapi)-NPE_v3_relationships_api_fix by @aabharti-visa in #15432
- chore(deps): fix (org.bouncycastle:bcprov-jdk18on) by @relaxedboi in #15439
- fix(csv-enricher): Add HTTP status code checking for remote file fetches by @pedro93 in #15454
- fix(search): fix name conflicts in search(mlmodel) by @deepgarg760 in #15415
- feat(ingest/airflow): add teradata operator support for Airflow plugin by @btkcodedev in #15418
- fix(ui): Replacing antd Modals to component library by @sakethvarma397 in #13801
- fix(graphql): improve response messages by @anshbansal in #15455
- chore(test): Update test weights from CI runs (2025-11-30) by @github-actions[bot] in #15451
- perf(metadata-io, ebean): add deterministic ordering for SELECT ... FOR UPDATE by @raudzis in #15425
- Don't crash when filtering Add assets to domain by @benjiaming in #15462
- docs(kafka): clarify USE_CONFLUENT_SCHEMA_REGISTRY disables cleanup policy step by @mhadole-tc in #15297
- tests(smoke): add proper log format by @anshbansal in #15464
- feat(ui/ingestion): create new page for ingestion run details by @purnimagarg1 in #15443
- refactor(tests): move print to logger by @anshbansal in #15466
- fix(secrets): Remove incorrect JSON escaping in updateSecret that corrupts special characters by @acrylJonny in #15442
- docs: Update wrong helm reference slack.md by @Tim-Visser in #15433
- feat(java-sdk): Add Java SDK V2 with fluent builder API and entity support by @shirshanka in #15307
- feat(ingestion): improve create/update source handling by @v-tarasevich-blitz-brain in #15446
- feat(ui/ingestion): build new source selection screen by @purnimagarg1 in #15471
- fix(search): fix suggestion conversion for ES8 by @deepgarg760 in #15426
- feat(kafka): add lightweight Kafka connectivity validation by @max-datahub in #15472
- chore(deps): update org.ow2.asm dependency in datahub-client by @deepgarg760 in #15478
- feat(ingest): add convert to lowercase for s3 by @kevinkarchacryl in #15475
- feat(events): improve events kafka pool & client retry by @david-leifker in #15429
- ES clear: delete indices themselves, not all the docs by @jmacryl in #15449
- fix(changeEvent): fix reinstate lifecycle event condition by @RyanHolstien in #15476
- docs(release): Revise known issues in release notes for v0.3.15 by @jayacryl in #15465
- fix(ui) Limit the number of entities per page in search (#5198) by @chriscollins3456 in #14871
- feat(python): make MCE Topic in Kafka sink as optional by @Anshul759 in #14150
- feat(structured-properties): add version field to StructuredProperties by @pedro93 in #15255
- docs(mcp): mcp server setup instructions by @jamesmayfield-star in #15484
- docs: reference field-path-spec-v2 in SchemaFieldPath by @libvarun in #15477
- test: make flaky neo4j integration test less flaky by @daha in #15492
- docs: Update GraqhQL query in external OAuth authentication docs by @daha in #15493
- feat(ui/ingestion): add search by name on source selection screen by @purnimagarg1 in #15488
- docs: revert versioned docs by @yoonhyejin in #15486
- feat(context): Support Viewing and Adding Related Context to All Asset Types by @jjoyce0510 in #15453
- fix(es8): fix role creation issues by @RyanHolstien in #15485
- docs: Update announcement bar content for Dec Town Hall by @grayayer in #15501
- fix: make published GMS and frontend ports configurable with quickstart by @daha in #15494
- fix(platformsModule): do not show add sources button when an user doesn't have permissions to manage ingestions by @v-tarasevich-blitz-brain in #15507
- feat(ingestion): add the new details form (step 2) by @v-tarasevich-blitz-brain in #15474
- fix(ingest/snowflake/sqlparser): Ensure table-column lineage consistency across Snowflake source and SQL aggregator by @treff7es in #15377
- feat(ingestion): add advanced settings section by @v-tarasevich-blitz-brain in #15506
- feat(ui/ingestion): build step 3 of create/edit ingestion source by @purnimagarg1 in #15508
- fix(security): disable server version disclosure in HTTP headers by @esteban in #15500
- chore(gradle): bump multiple 3rd party dependencies versions by @esteban in #15431
- feat(assertion): enforce strict urns for assertions by @david-leifker in #15512
- feat(ui/backend): business attributes support for new ui by @kartikey-visa in #15452
- Added username to pr labeler for Patrick Druley (pdruley) by @pdruley in #15509
- feat(ingestion/grafana) add option to pass grafana user email as dashboard owner by @daha in #15489
- perf(ingestion): compile regex patterns for ingestion filtering hot path by @rob-1019 in #15463
- Datahub as a microfrontend host (react) by @philip-nikolov-jpmc in #15358
- Datahub as a microfrontend host (frontend) by @philip-nikolov-jpmc in #15359
- feat(ingestion): Restores "Extending file sink to support writing to S3 (#14160) (#14248)" by @esteban in #15504
- chore(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #15385
- docs: improve docs for cdc mode configuration by @shirshanka in #15496
- docs(search): datahub cloud search access controls by @david-leifker in #15513
- fix(java-sdk): Ensure full aspect writes complete before patches by @shirshanka in #15522
- feat(ingestion): add filters section by @v-tarasevich-blitz-brain in #15516
- fix(ingestion): fix updated secret field by @v-tarasevich-blitz-brain in #15528
- feat(ingestion): update test connection button by @v-tarasevich-blitz-brain in #15527
- chore(): bump lz4 & jdbc wrapper by @david-leifker in #15531
- docs(v0.3.15.5): update docs by @david-leifker in #15510
- ci(pr tracking): pr to linear automation by @gabe-lyons in #15503
- feat(ingest/kafka-connect): Kafka connect infer lineage from DataHub by @treff7es in #15234
- chore(ci): use cache mount for apt install to speed up docker build by @kewats in #15441
- feat(ingestion/hive-metastore): add upstream lineage to hive-metastore by @acrylJonny in #15435
- fix(ui) Fix two spots that need resolveRuntimePath by @chriscollins3456 in #15535
- fix(ui) Fix unsafe destructuring of assertion in UI by @chriscollins3456 in #15519
- feat(ingestion): add analytics events by @v-tarasevich-blitz-brain in #15547
- feat(ui/ingestion): update breadcrumb in create/edit source to have option to go to Manage Data Sources by @purnimagarg1 in #15540
- feat(ui/ingestion): bring ingestion page redirection changes back to OSS by @purnimagarg1 in #15544
- feat(files) Add basic file cleanup after related entity is deleted by @chriscollins3456 in #15271
- feat(dataplex): New connector for Google Dataplex by @pdruley in #15379
- docs(logical): Add note on separate logical platform by @asikowitz in #15551
- fix(system-update): fix system-update entity-client by @david-leifker in #15555
- fix(ingestion/dremio): fix schema_resolver for non-standard uri length for dremio by implementing custom schema resolver by @acrylJonny in #15514
- fix(actions): Prepare doc propagation action for prefixed pipeline names by @skrydal in #15672
- fix(ingestion): fix ingestion onboarding redesign feature flag not being set by @purnimagarg1 in #15608
- feat(ui): show 404 if user manually navigates browser url to non-existent mfe by @philip-nikolov-jpmc in #15548
- feat(context): Context Base V1 Fix Ups by @jjoyce0510 in #15532
- fix(gh to linear): fix missing gh repo in action by @gabe-lyons in #15678
- feat(ci): re-run only failed smokle-tests in workflow reruns by @chakru-r in #15552
- feat(ci): add workflow monitor for automatic retrigger on first failure by @chakru-r in #15683
- improvement(ui/ingestion): add external sources and update categories and pills of sources by @purnimagarg1 in #15542
- docs: fix broken link on slack setup docs by @yoonhyejin in #15680
- fix(dataplex): Several fixes and refactoring for the Dataplex MVP by @pdruley in #15677
- feat(ui) Show ingestion onboarding popup on new select source screen by @chriscollins3456 in #15685
- feat(ui/signup): redesign the user sign up page by @purnimagarg1 in #15684
- feat(docs): Adding Context Base Python APIs + docs by @jjoyce0510 in #15319
- feat(ui/login): implement redesign of login page by @purnimagarg1 in #15686
- feat(ui) Update styling of the filters section in new ingestion forms by @chriscollins3456 in #15687
- feat(context): Remove "drafts" concept pre-release by @jjoyce0510 in #15536
- fix(ui) Fix linting error on master by @chriscollins3456 in #15692
- feat: Add useFinalSidebarTabs hook for entity sidebar extensibility by @annadoesdesign in #15690
- feat(search): add basic search validations by @RyanHolstien in #15369
- fix(structured-properties): fix property definition version type by @david-leifker in #15688
- docs: fix command for remote executor helm chart & aws deploy by @yoonhyejin in #15681
- fix(pr-to-linear): make task non blocking by @gabe-lyons in #15694
- fix(ci): handle empty smoke-test matrix by @chakru-r in #15697
- feat(ci): publish workflow metrics to posthog by @chakru-r in #15700
- fix: adds missing tenacity dep for dataplex plugin by @sgomezvillamor in https://github.com/datahub-project/datahub/pull/15701
- Update pr-labeler.yml by @alokr-dhub in https://github.com/datahub-project/datahub/pull/15705
- fix(ingestion/grafana): fix broken ownership ingestion by @daha in https://github.com/datahub-project/datahub/pull/15525
- chore: add dinesh-verma-datahub to pr-labeler team members by @dinesh-verma-datahub in https://github.com/datahub-project/datahub/pull/15706
- updated pr-labeler.yml by @alfiyas-datahub in https://github.com/datahub-project/datahub/pull/15708
- fix(masking): mask passwords in SQLAlchemy URLs using correct encoding by @alokr-dhub in https://github.com/datahub-project/datahub/pull/15696
- feat(ingestion): add discard changes confirmation by @v-tarasevich-blitz-brain in https://github.com/datahub-project/datahub/pull/15543
- feat(ingestion): add descriptions to sources by @v-tarasevich-blitz-brain in https://github.com/datahub-project/datahub/pull/15671
- feat(ui): update design of reset credentials page by @purnimagarg1 in https://github.com/datahub-project/datahub/pull/15711
- feat(ingestion): Add Redshift Query Tagging by @AdrianMachado in https://github.com/datahub-project/datahub/pull/15676
- feat(ci): test failure metric reporting by @chakru-r in https://github.com/datahub-project/datahub/pull/15717
- fix(pr-to-linear): fixing possible error conditions by @gabe-lyons in https://github.com/datahub-project/datahub/pull/15726
- fix(reset-credentials): submit reset credentials form on enter and fix tests by @purnimagarg1 in https://github.com/datahub-project/datahub/pull/15724
- feat(ui) Fix issues with new sign up page and show them be default by @chriscollins3456 in https://github.com/datahub-project/datahub/pull/15716
- feat(hive): Add Thrift connection mode with Kerberos support to hive-metastore connector by @max-datahub in https://github.com/datahub-project/datahub/pull/15691
- feat(ingestion): Add OAuth callback support for Kafka producers/sinks by @max-datahub in https://github.com/datahub-project/datahub/pull/15673
- fix(ui): bring back change for fixing search bar loading style bug by @purnimagarg1 in https://github.com/datahub-project/datahub/pull/15720
- refactor(fivetran): update handling of database and schema names to use quoted identifiers by @askumar27 in https://github.com/datahub-project/datahub/pull/15321
- fix(ui): update button styles for login/signup screens by @purnimagarg1 in https://github.com/datahub-project/datahub/pull/15722
- feat(ingestion): add telemetry events for the new ingestion flow by @purnimagarg1 in https://github.com/datahub-project/datahub/pull/15721
- Improve disable states and Modal compatibility by @AdrianMachado in https://github.com/datahub-project/datahub/pull/15693
- Add rob-1019 (Rob J. Caskey) to team-member list by @rob-1019 in https://github.com/datahub-project/datahub/pull/15469
- fix(redshift): fix lineage extraction ignoring disabled flags (regression from #14580) by @sgomezvillamor in https://github.com/datahub-project/datahub/pull/15545
- feat(ingestion/airflow) Add Airflow 3.x support by @treff7es in https://github.com/datahub-project/datahub/pull/13790
- feat: add transformer to convert tags to structured properties by @sgomezvillamor in https://github.com/datahub-project/datahub/pull/15423
- fix(ci): cleanup prev run artifacts during retry by @chakru-r in https://github.com/datahub-project/datahub/pull/15734
- feat(ingest/powerbi): add Amazon Athena lineage support by @kyungsoo-datahub in https://github.com/datahub-project/datahub/pull/15728
- feat(ingestion): add forms for popular sources by @v-tarasevich-blitz-brain in https://github.com/datahub-project/datahub/pull/15712
- feat(sdk): enable parametrized assertion run in python sdk by @petemango in https://github.com/datahub-project/datahub/pull/15447
- bugfix(fivetran): Improve Fivetran REST API Error Handling and User Reporting by @askumar27 in https://github.com/datahub-project/datahub/pull/15323
- improvement(search) adding support for semantic search by @alexsku in https://github.com/datahub-project/datahub/pull/15743
- feat(ingestion): Use UA constant for dbrx by @AdrianMachado in https://github.com/datahub-project/datahub/pull/15745
- feat(ingestion): adding ingestion security guidelines by @gabe-lyons in https://github.com/datahub-project/datahub/pull/15729
- fix(ingest/mssql): Fix MSSQL stored procedure lineage extraction by @kyungsoo-datahub in https://github.com/datahub-project/datahub/pull/15340
- chore(test): Update test weights from CI runs (2025-12-21) by @github-actions[bot] in https://github.com/datahub-project/datahub/pull/15747
- fix(cli): apply latest cli version by @deepgarg760 in https://github.com/datahub-project/datahub/pull/15731
- fix(metabase): add legacy-mbql parameter for Metabase 0.57+ compatibility by @J0hnG4lt in https://github.com/datahub-project/datahub/pull/15709
- fix(actions): Added support for pydantic v2 to actions framework by @pdruley in https://github.com/datahub-project/datahub/pull/15742
- docs: integrate metadata standards sidebar section by @yoonhyejin in https://github.com/datahub-project/datahub/pull/15718
- feat(dataplex): Adding dataplex platform logo ahead of connector by @pdruley in https://github.com/datahub-project/datahub/pull/15354
- feat(docs): migrate RFC process back to main repository by @shirshanka in https://github.com/datahub-project/datahub/pull/15242
- fix(ui/lineageV3): Fix lineage graph (breaks lineage module) by @asikowitz in https://github.com/datahub-project/datahub/pull/15715
- fix(ui) Fix yaml editor cursor alignment issues by @chriscollins3456 in https://github.com/datahub-project/datahub/pull/15758
- feat(config): support split consumer/producer config for kafka by @RyanHolstien in https://github.com/datahub-project/datahub/pull/15751
- feat(azure-data-factory): add Azure Data Factory connector by @askumar27 in https://github.com/datahub-project/datahub/pull/15499
- feat(ingest/snowflake): Add Snowflake Semantic View ingestion support by @kyungsoo-datahub in https://github.com/datahub-project/datahub/pull/15395
- docs(metadata-tests): added tuning recommendation by @david-leifker in https://github.com/datahub-project/datahub/pull/15761
- fix(log): message of checkV2TableExists by @nhuantho in https://github.com/datahub-project/datahub/pull/15765
- feat(cli): add --env option to ingest deploy command by @pedro93 in https://github.com/datahub-project/datahub/pull/15518
- feat(docker): add Alpine-based variants for ingestion and actions images by @esteban in https://github.com/datahub-project/datahub/pull/15764
- docs(release-notes): Add initial release notes for upcoming version by @jayacryl in https://github.com/datahub-project/datahub/pull/15767
- docs(observe): smart assertions profiling by @jayacryl in https://github.com/datahub-project/datahub/pull/15750
- feat(observability): add Kafka consumer lag monitoring by @shirshanka in https://github.com/datahub-project/datahub/pull/15769
- chore(ci): cleanup pr labeler by @anshbansal in https://github.com/datahub-project/datahub/pull/15771
- Update pr-labeler to include myself as DH team member by @kewats in https://github.com/datahub-project/datahub/pull/15772
- feat(consistency-checks): api and upgrade consistency checks by @david-leifker in https://github.com/datahub-project/datahub/pull/15766
- fix(sql-parsing): split MSSQL statements when previous expression ends with parentheses by @alfiyas-datahub in https://github.com/datahub-project/datahub/pull/15730
- improvement(ui/ingestion): update copy of abandonment flow modal by @purnimagarg1 in https://github.com/datahub-project/datahub/pull/15778
- improvement(ui/ingestion): minor UI improvements in ingestion flow by @purnimagarg1 in https://github.com/datahub-project/datahub/pull/15779
- fix(ingestion/schema-resolver): add enabler for sql parsing for more than 3 parts and implement in dremio by @acrylJonny in https://github.com/datahub-project/datahub/pull/15733
- Add HTTPS Support and Allow Disabling HTTP in Play Frontend by @relaxedboi in https://github.com/datahub-project/datahub/pull/15757
- feat(ui) Update copy for ingestion page subtitles by @chriscollins3456 in https://github.com/datahub-project/datahub/pull/15759
- feat(ci): add pipMirrorUrl and pipExtraIndexUrl support for Docker builds by @esteban in https://github.com/datahub-project/datahub/pull/15773
- fix(openapi-timeseries): return scrollId by @david-leifker in https://github.com/datahub-project/datahub/pull/15784
- Update townhalls.md by @jatherley in https://github.com/datahub-project/datahub/pull/15781
- docs: update top of site banner for upcoming Jan Townhall. by @grayayer in https://github.com/datahub-project/datahub/pull/15785
- config(quickstart): 3 partitions for quickstart topics by @david-leifker in https://github.com/datahub-project/datahub/pull/15780
- fix(gms) Clear user role membership cache after accepting role by @chriscollins3456 in https://github.com/datahub-project/datahub/pull/15782
- fix(ui) Stop showing validation errors and enable "Next" when in YAML editor by @chriscollins3456 in https://github.com/datahub-project/datahub/pull/15783
- fix(ui/ingestion): bug fixes in the new ingestion flow by @purnimagarg1 in https://github.com/datahub-project/datahub/pull/15786
- fix(ingest/build: Pin ruamel.yaml version by @treff7es in https://github.com/datahub-project/datahub/pull/15788
- feat(kafka): automatically upsize topic partition counts by @rob-1019 in https://github.com/datahub-project/datahub/pull/15714
- fix(search): Sanitize base64 images from search index to prevent indexing failures by @deepgarg760 in https://github.com/datahub-project/datahub/pull/15689
- fix(security): address multiple CVEs in dependencies and Docker images by @esteban in https://github.com/datahub-project/datahub/pull/15787
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
- @dinesh-github made their first contribution in #15388
- @max-datahub made their first contribution in #15420
- @btkcodedev made their first contribution in #15418
- @mhadole-tc made their first contribution in #15297
- @Tim-Visser made their first contribution in #15433
- @jamesmayfield-star made their first contribution in #15484
- @libvarun made their first contribution in #15477
- @pdruley made their first contribution in #15509
- @rob-1019 made their first contribution in #15463
- @philip-nikolov-jpmc made their first contribution in #15358
- @kewats made their first contribution in #15441
- @alokr-dhub made their first contribution in https://github.com/datahub-project/datahub/pull/15705
- @dinesh-verma-datahub made their first contribution in https://github.com/datahub-project/datahub/pull/15706
- @alfiyas-datahub made their first contribution in https://github.com/datahub-project/datahub/pull/15708
- @J0hnG4lt made their first contribution in https://github.com/datahub-project/datahub/pull/15709
- @nhuantho made their first contribution in https://github.com/datahub-project/datahub/pull/15765
Full Changelog: v1.3.0.1...v1.4.0rc3