Releases: datahub-project/datahub
v1.4.0-preview
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 https://github.com/data...
v1.3.0.1
v1.3.0.1rc1
Full Changelog: v1.3.0...v1.3.0.1rc1
v1.3.0
DataHub v1.3.0
Release Highlights
DataHub v1.3.0 is packed with exciting updates, including:
- UI Enhancements: Introducing a customizable home page that allows flexible landing page configuration, along with customizable entity summary tabs that give users direct control over which information appears in the summary view.
- Ingestion Connectors: Added support for Google BigQuery in Tableau ingestion and introduced Excel and Snaplogic ingestion sources. Enhanced column lineage extraction for Looker and support for dynamic tables in Snowflake ingestion.
- SDK Features: Exposed view definitions in the dataset SDK for better usability and added support for fine-grained lineage patching.
- Platform Improvements: Enhanced lineage processing for performance and scalability, added support for Metadata Change Logs in DataHub Cloud Events, and introduced an OIDC OAuth authenticator for service account access.
Changelog
User Interface & Experience
This release includes significant improvements to the user interface and user experience:
Custom Home Page
Customizable home page allows organization admins to configure the landing page experience for their users, pinning custom lists of assets, documentation, and links to guide users to the right data from the start. End users can refine these defaults by personalizing modules to fit their unique workflows and needs.
This feature is disabled by default. You can enable it by setting the following environment variable in the datahub-gms container:
SHOW_HOME_PAGE_REDESIGN=true
- Introduces a framework for customizable page templates and modules in the UI. [#14029]
- Introduces a new hierarchy module for the custom home page. [#14143]
- Introduces new Asset Collection module on the homepage. [#14050]
- Added support for Quick Link modules on the new home page. [#14141]
Customizable Entity Summary Tabs
Customizable Summary Tabs give asset owners direct control over what appears on summary tabs for Domains, Glossary Terms, and Data Products. Asset owners can now pin specific properties, documentation, and related assets to create tailored summary views for these key organizational assets.
- Added a new summary tab to the glossary node entity. [#14541]
- Introduced inline documentation editor for the summary tab. [#14514]
- Added new summary tab for related entities in the UI. [#14463]
- Added new link functionalities in the summary tab. [#14540]
Performance and Navigation Improvements
- Show context paths for Data Products. [#14802]
- Improved domain state management for better scalability with many domains. [#14478]
Misc
- Replaced Home Page product tour with a new Welcome modal. [#14299]
- Added deprecation banner for the V1 UI on the home page. [#14131]
- Fixed bug in merging owners with multiple ownership types. [#14543]
- Introduced access management tab for containers in the UI. [#14122]
- Introduced stats tab v2 for OSS with new UI features. [#13431]
- Added filter for status on run history in the UI. [#14851]
- Included dataProcessInstance in policies UI. [#14880]
Metadata Ingestion
We're continuously improving our integrations to add new capabilities and squash bugs.
New Sources
- Added new Excel ingestion source for transactional and analytical use. [#13261]
- Added Snaplogic as a new source for metadata ingestion. [#14231]
Existing Sources
- BigQuery: Added support for Google BigQuery connection type in Tableau. [#14080]
- Databricks: Fixed quoting issues for catalog/schema/table names in Databricks ingestion. [#14203]
- Iceberg:
- Looker: Enhanced column lineage extraction for Looker. [#14826]
- MySQL: Added support for stored procedures in MySQL ingestion. [#14274]
- Postgres: Added support for stored procedures in Postgres integration. [#14102]
- PowerBI: Added ODBC SQL query parsing support for PowerBI ingestion. [#13752]
- S3: Extended file sink to support writing files to S3. [#14160]
- Snowflake:
- Unity: Added support for MLModel and MLModel version in Unity Catalog connector. [#14594]
Misc. Ingestion Improvements
- Removed support for Pydantic v1, migrated to Pydantic v2. [#14014]
- Added support for incremental lineage in SQL queries. [#14548]
- Added support for slice on OpenAPI scroll APIs for OpenSearch. [#14510]
- Improved metadata handling in DataHub ingestion source. [#14643]
- Introduced new
browsePathsV2transformer for multiple entity types. [#14825]
DataHub Python SDK
Improvements and new features for the DataHub SDK:
- Refactored dataset lineage patch with reusable code and added smoke tests. [#14377]
- Exposed view definitions in the dataset SDK for better usability. [#14197]
- Added container support for charts and dashboards in the SDK. [#14641]
- Fixed handling of null platform in SDK v2 lineage. [#14784]
Platform & Backend
Platform improvements and backend enhancements:
- Added PDL annotations for upstreams in ingestion completion coverage. [#14241]
- Made usage fields searchable for ingestion validation. [#14400]
- Improved API error handling for better response clarity. [#14795]
- Refactored Kafka topic management and setup process. [#14564]
- Added support for MCL generation from a Change Data Capture source (Debezium). [#14824]
- Enhanced lineage processing system for performance and scalability. [#14609]
- Added base path support for improved routing. [#14866]
- Added support for Metadata Change Log in DataHub Cloud Events Source. [#14497]
- Added OIDC OAuth authenticator for service account access to DataHub. [#14707]
- Added filter support in
/scrollAPI for OpenAPI v3. [#14524]
Documentation
Documentation updates and improvements:
v1.3.0rc2
Full Changelog: v1.3.0rc1...v1.3.0rc2
v1.3.0rc1
What's Changed
- chore(kafka-setup): bump aws-msk-iam-auth by @chakru-r in #14085
- chore(): bump pyspark by @chakru-r in #14086
- fix(ci): image publish only for master branch push or release by @chakru-r in #14091
- fix(quickstart): update commit hash with resolved quickstart profile by @chakru-r in #14089
- fix(ui) Allow aggregation searches for enum filter types by @chriscollins3456 in #14076
- refactor(queries): refactor query edges by @david-leifker in #14095
- fix(ingest/dbt): improve dbt-cloud error message by @hsheth2 in #14098
- chore(setuptools): bump setuptools by @david-leifker in #14099
- fix(ingest/deltalake): pin upperbound for delta lake by @yoonhyejin in #14083
- fix(snowflake): Add missing config fields to SnowflakeV2Config by @sgomezvillamor in #14093
- fix(snowflake): correct additional_database_names OR logic in access_history filter by @sgomezvillamor in #14104
- feat(tableau): add support for Google BigQuery connection type in pla… by @brock-acryl in #14080
- docs(mcp): prefer the latest MCP server by @hsheth2 in #14077
- feat(ui) Add framework for template/module state and editing templates/modules to UI by @chriscollins3456 in #14029
- fix(openapi): openapi 3.1.0 - use oneOf to mark nullable primitive props as well by @kevin1chun in #14103
- chore(deps): bump kafka in kafka-setup by @chakru-r in #14094
- feat(graphql) Add deletePageModule GraphQL resolver by @chriscollins3456 in #14000
- fix(ingestion/oracle): table_name column in constraint table incorrectly referenced by @acrylJonny in #14107
- fix(ui/tests): Cypress test failures by @sakethvarma397 in #14090
- fix(ingestion/abs): updated deprecated azure sdk parameter to supported parameter and uri prefix support of https by @acrylJonny in #14106
- feat(logical): Add feature flag and models by @asikowitz in #14097
- chore(deps): bump commons-beanutils by @chakru-r in #14110
- fix(spring): fix null custom search config by @david-leifker in #14113
- build(actions): optimize docker layer caching by @chakru-r in #14114
- chore(deps): bump commons-beanutils - one more location by @chakru-r in #14116
- fix(smoke): add pydantic mypy plugin to smoke-tests by @hsheth2 in #14111
- feat(dbt/ingestion): add support for nested meta properties mapping by @pezik1 in #13396
- Update add-user-data.md by @SaravanaKumarG-1365462 in #11542
- fix(ci): use depot runners when possible by @chakru-r in #14115
- feat(ingest): enable use_queries_v2 by default for snowflake/bigquery by @hsheth2 in #13601
- fix(ingest/athena): Make Athena simple column v1 conversion optional by @treff7es in #14112
- feat(mock-data): allow throwing uncaught exception, errors, warning by @anshbansal in #14105
- feat(ci): add username to pr-labeler by @yoonhyejin in #14118
- feat(ui) Add ability to remove modules from page templates by @chriscollins3456 in #14067
- docs(api): update recommendations on apis by @RyanHolstien in #14117
- Enabling SSL for gms if the keystore and password is passed by @relaxedboi in #14121
- feat(ui) Add ability to edit global template on homepage by @chriscollins3456 in #14078
- feat(homePage): add the ability to create asset collection module by @purnimagarg1 in #14050
- test(datahub-schematron): update golden diff to fix schema translation test by @vinayakhulawale in #14132
- feat(ingest/mock-data): misc changes by @anshbansal in #14133
- fix(cli/upgrade): handle safely invalid version by @anshbansal in #14134
- docs(ingestion/snowflake): Remove comment that streams are not ingested by @acrylJonny in #14136
- feat(ui) Add drag and drop functionality to modules on home page by @chriscollins3456 in #14100
- fix(ci): quickstart ci - additional tests by @chakru-r in #14138
- feat(homepage): support documentation modules in the new home page by @purnimagarg1 in #14137
- docs(upgrade): Add instructions / user guide for upgrading from Core to Cloud by @jjoyce0510 in #14101
- feat(ui) Add banner on v1 home page to warn of v2 UI deprecation by @chriscollins3456 in #14131
- feat(permissions) Add platform privilege for editing global home page by @chriscollins3456 in #14081
- feat(ui) Fix alignment of rows and columns on new home page by @chriscollins3456 in #14142
- feat(homepage): Add support for Quick Link modules in the new home page by @purnimagarg1 in #14141
- fix(tests): disable auth for spark test via env var instead of env file by @chakru-r in #14148
- fix(ui): pass createdBy to highlight query column by @yoonhyejin in #14042
- feat(sdk): use discriminated unions for Filter types by @hsheth2 in #14127
- feat(customHomePage): adjust the views popover to the new home page by @v-tarasevich-blitz-brain in #13920
- docs: updates for release v1.2.0 by @chakru-r in #14139
- feat(ui/homepage): handle drag and drop with small modules by @purnimagarg1 in #14151
- feat(quickstart): bump default version to v1.2.0 by @chakru-r in #14154
- feat(ingestion): make REST emitter batch max payload size configurable by @pedro93 in #14123
- v0.3.12.4-acryl release notes by @david-leifker in #14149
- feat(sdk): add container filter to search sdk by @hsheth2 in #14130
- feat(ui) Add user role to custom home page behind feature flag by @chriscollins3456 in #14146
- fix(docs): add missing privileges for 3.12 by @kevinkarchacryl in #14140
- ci(cypress): resize observer fix (#6263) by @benjiaming in #14157
- feat(ingest): change asset list by @anshbansal in #14073
- fix(ingest/looker): prioritize explore project name over field-level source_file project assignment by @sgomezvillamor in #14119
- fix(ui/ingest): change title by @anshbansal in #14172
- fix(ui/ingest): cleanup, exception handling by @anshbansal in #14167
- feat(kafka-consumer): micrometer kafka consumer metrics by @david-leifker in #14156
- feat(customHomePage): create hierarchy module by @v-tarasevich-blitz-brain in #14143
- feat(sdk): add data products to suggested entity type filters by @hsheth2 in #14159
- fix(api): missing time duration for token expiration by @kevinkarchacryl in #14145
- feat(ui/homepage): handle adding module to a row with 3 modules already by @purnimagarg1 in #14177
- feat(postgres): add support for stored procedures in postgres. by @EmmetAVS in #14102
- fix(ingestion/abs): align add_partition_columns_to_schema functionality with working s3/gcs functionality in abs connector by @acrylJonny in #14153
- ER-Model-Relationship UI Changes by @Anshul759 in https://github.com/datahub-project/datahub/pull/...
v1.1.0.1
Full Changelog: v1.1.0...v1.1.0.1
v1.2.0.1rc1
Full Changelog: v1.2.0...v1.2.0.1rc1
v1.2.0.1
Note: The only change is for users of the Internal Schema Registry, if you're running a separate Schema Registry there is no need to upgrade from v1.2.0.
Includes Internal Schema Registry fix: Fix Internal Schema Registry Deserialization Issues
Full Changelog: v1.2.0...v1.2.0.1
v1.2.0
What's Changed
- ci: don't rerun docker workflows on labels by @hsheth2 in #13405
- test(audit-events): updates for audit event tests by @david-leifker in #13419
- feat(ingest): associate queries with operations by @hsheth2 in #13404
- Update search results page by @annadoesdesign in #13303
- chore(airflow): update dev mypy to 1.14.1 by @anshbansal in #13374
- feat(changeSyncAction): support RESTATE type syncs by @RyanHolstien in #13406
- feat(ui/lineage): Make show ghost entities toggle local storage sticky by @asikowitz in #13424
- ci: Add yaml format check by @asikowitz in #13407
- fix(graphql): remove false deprecation note by @jayacryl in #13402
- feat(ingestion): Make jsonProps of schemaMetadata less verbose by @skrydal in #13416
- feat(sdk): scaffold assertion client by @anthonyburdi in #13362
- fix(): DUE Producer Configuration & tracking message validation by @david-leifker in #13427
- fix(build): fix version in jars by @chakru-r in #13432
- fix(smoke-test): fix flakiness of audit smoke test by @RyanHolstien in #13429
- fix(ingest/snowflake): fix previously broken tests by @hsheth2 in #13428
- fix(searchBarAutocomplete): ui tweaks by @v-tarasevich-blitz-brain in #13430
- fix(docker): Fix for metadata ingestion docker build by @treff7es in #13435
- fix(ui) Add ellipses and tooltip to long names on home page header by @chriscollins3456 in #13425
- updated search menu items after search update by @annadoesdesign in #13422
- docs(release): Adding notes for v0.3.10.3 release by @jjoyce0510 in #13437
- fix(ingest/tableau): Fix infinite loop in Tableau retry by @treff7es in #13442
- fix(cli): ignore extra configs by @anshbansal in #13444
- fix(ingest/snowflake): parsing issues with empty queries by @anshbansal in #13446
- docs: remove old pages & assets by @yoonhyejin in #13367
- fix(build): fix local quickstart builds by @chakru-r in #13445
- docs: Adding color to 3.10 release notes by @jayacryl in #13448
- fix(ingest/mode): Not failing if queries endpoint returns 404 by @treff7es in #13447
- chore(avro): bump parquet-avro version by @esteban in #13452
- ci(): run smoke tests on release by @david-leifker in #13454
- feat(UI): funnel subtype for dataflows and datajobs all the way to the UI by @gabe-lyons in #13455
- improvement(ui): add wrapper component for stop propagation by @purnimagarg1 in #13434
- chore(ingest): bump bounds on cooperative timeout test by @hsheth2 in #13449
- feat(docs): Add 0.3.10.4 hotfix release notes by @pedro93 in #13458
- fix(authentication) redirection for native login and sso to function within iframes by @jayacryl in #13453
- fix(docs): Add feature availability to audit API by @pedro93 in #13459
- docs: remove markprompt by @yoonhyejin in #13463
- docs: add runllm chatbot by @yoonhyejin in #13464
- feat(sdk): add datajob lineage & dataset sql parsing lineage by @yoonhyejin in #13365
- fix(versioning): Properly set versioning scheme on unlink; always run side effects by @asikowitz in #13440
- feat(sdk): update lineage sample script to use client.lineage by @yoonhyejin in #13467
- feat(docs): Add doc links for 1.0.0 by @pedro93 in #13462
- docs: remove 0.15.0 from archived list by @yoonhyejin in #13468
- fix(docs): Add requirement on yarn for documentation for local development by @pedro93 in #13461
- feat(ingestion/kafka): Add optional externalURL base for link to external platform by @acrylJonny in #12675
- feat(ingest): filter by database in superset and preset by @kevinkarchacryl in #13409
- fix(web) domain search result item visual cleanup by @jayacryl in #13474
- fix(test): prevent audit test flakiness by @RyanHolstien in #13475
- fix(ingest/hive): Fix hive properties with double colon by @treff7es in #13478
- fix(sdk): use pluralized assertions by @anthonyburdi in #13481
- docs: Add show manage tags environment var by @asikowitz in #13482
- docs(): v0.3.11 DataHub Cloud Docs by @david-leifker in #13439
- tests(ingestion): fixes hex and hive docker flakiness by @sgomezvillamor in #13476
- fix(sdk): always url-encode entity links by @hsheth2 in #13483
- tests(smoke): removes non existing
mix_stderrparam inCliRunnerby @sgomezvillamor in #13485 - docs: Adding notes on remote executors handling smart assertions by @jayacryl in #13479
- fix(cli): warn more strongly about hard deletion by @anshbansal in #13471
- fix(ui): enable to edit tag when properties aspect was not present by @anshbansal in #13470
- docs(cloud): fix indent, remove note not relevant for cloud users by @anshbansal in #13493
- Adding KafkaClients dependency to the datahub-upgrade module by @RafaelFranciscoLuqueCerezo in #13488
- feat(cassandra): Support ssl auth with cassandra by @gabe-lyons in #13465
- fix(ingest/presto): Presto/Trino property extraction fix by @treff7es in #13487
- chore(): graphiql latest versions by @david-leifker in #13484
- feat(ingest/sql): column logic + join extraction by @hsheth2 in #13426
- chore(hex): debug logs by @sgomezvillamor in #13473
- fix(mssql): improve stored proc lineage + add
temporary_tables_patternconfig by @sgomezvillamor in #13415 - fix(ingest/mode): Additional pagination and timing metrics by @mminichino in #13497
- feat(config): add configurable search filter min length by @RyanHolstien in #13499
- ci(workflow): postgres consolidation & release unit tests by @david-leifker in #13500
- fix(config): fix mcp consumer batch property by @david-leifker in #13504
- fix(ci): enable publish on release by @david-leifker in #13506
- feat(ingestion/looker): extract group_labels from looker and add as tags in datahub by @acrylJonny in #13503
- Refactor elasticsearch search indexed by @jmacryl in #13451
- fix(ingest/mode): Additional 404 handling and caching update by @mminichino in #13508
- feat(platform): up limit of corpuser char length from 64 to 128 by @acrylJonny in #13510
- feat(ingest): improve join extraction by @hsheth2 in #13502
- feat(ingest): support pydantic v2 in mysql source by @hsheth2 in #13501
- fix(ci): metadata-io test by @david-leifker in #13514
- build(deps): bump gradle/gradle-build-action from 2 to 3 by @dependabot[bot] in #12951
- build(deps): bump actions/cache from 3 to 4 by @dependabot[bot] in #13346
- Support di...