- [Tags] Allow editing tags that do not have property aspects (i.e: when creating by a transformer).
- [Tags] Support null tagProperties aspect when updating tag color.
- [Search] Adds a search filter for "Created At". This is behind a feature flag `SHOW_CREATED_AT_FILTER`, disabled by default as the underlying metadata is not available for all entities.
- [Search] Improve platform instance search filters. Adds names & icons to each entry.
- [Gen AI] Fix column / ml feature description show more button when text was larger than expected.
- [Glossary] Display custom properties in glossary nodes.
- [Lineage] Add feature flag for lineage full expansion in the UI for very large graphs.
- [Proposals] Fix status filter in list action request GraphQL call.
- [System Sources] Remove hardcoded CLI versions for system sources. This should be dynamic and inherit the system default.
- [UI] Don't show 404 while computing user permissions for a page.
- [UI] Fix pagination overflow on embedded list search results
- [Forms] Remove schema field entities from form assignment entity types.
- [OpenAPI] #13095 Remove required fields when default present in PDL
- [Validation] Correct entity type name casing from URNs
- [Ebean] #13392 Handle too large SQL statements
- [Lineage] #13257 Apply more specific filters when querying elasticsearch for lineage
- [Lineage] #13424 The "Show Hidden Edges" toggle is now local-storage sticky like the other toggles
- [Lineage] #13323 Fixes bug with edges through queries disappearing when hiding transformations
- [Stats] #13327 Fixes a bug where the incorrect total table count was displayed for Snowflake tables
- Product
- **Rebrand to DataHub Cloud**: To show our commitment to the success of the open source **DataHub Community**, we've officially rebranded Acryl to **DataHub Cloud**! 🎉🎉🎉 This will result in a change of the logos & copy visible across the product. Learn more at [datahub.com](https://datahub.com).
- **Search Bar**: Introducing a brand new search bar experience with sleeker designs, more functionality such as filtering, and consistent results with what users expect compared to search page results.
- **Glossary**: This release enhances our Business Glossary with improved scaling capabilities, ensuring support for glossaries of any size. We've also made several UX improvements, including a new search bar when browsing Terms within a Term Group.
- **Tags Management**: This release includes a Tags management experience. This appears in the left navigation bar under the **Tags** section. To view tags management, users must have the new `View Manage Tags` platform privilege. To edit all tags, users must have the new `Manage Tags` platform privilege.
- **Lineage**: Lineage nodes support a double click action to change the home (focused) node.
- **Proposals**: Our proposals redesign is in Beta and can be enabled by request. This feature introduces an improved user experience, sleeker design, and additional functionality around proposal notes! Note that this feature has some scaling limitations when there are many proposals (on the order of thousands) that we are currently working on with improvements to come in future releases.
- SYNC_WAIT: Synchronously updates the primary storage (SQL) but asynchronously updates search storage (Elasticsearch). Provides a balance between consistency and performance. Suitable for updates that need to be immediately reflected in direct entity retrievals but where search index consistency can be slightly delayed.
- SYNC_PRIMARY: Synchronously updates the primary storage (SQL) but asynchronously updates search storage (Elasticsearch). Provides a balance between consistency and performance. Suitable for updates that need to be immediately reflected in direct entity retrievals but where search index consistency can be slightly delayed.
- ASYNC: Queues the metadata change for asynchronous processing and returns immediately. The client continues execution without waiting for the change to be fully processed. Best for high-throughput scenarios where eventual consistency is acceptable.
- ASYNC_WAIT: Queues the metadata change asynchronously but blocks until confirmation that the write has been fully persisted. More efficient than fully synchronous operations due to backend parallelization and batching while still providing strong consistency guarantees. Useful when you need confirmation of successful persistence without sacrificing performance.
Limitations:
- Async modes (ASYNC / ASYNC_WAIT) are impacted by kafka lag.
- SYNC_WAIT is only available with OpenAPI ingestion
- ASYNC_WAIT: in some cases, must complete at least one ingestion run with the new service.
```python
from datahub.emitter.mce_builder import make_dataset_urn
from datahub.ingestion.graph.client import get_default_graph
from datahub.emitter.rest_emitter import EmitMode
from datahub.emitter.mcp import MetadataChangeProposalWrapper
from datahub.metadata.schema_classes import DatasetPropertiesClass
from datahub.emitter.rest_emitter import DatahubRestEmitter