New
- Optimized performance of calculating partition keys for time window partitions with exclusions.
timedeltaanddatetimeare now available via thedatetimecontext when rendering components (Thanks, @stevenayers!)FreshnessPolicyis now available via thedgcontext when rendering components. (Thanks, @stevenayers!)- Assets may now be annotated with up to 10 kinds (limit was previously 3).
- Arbitrary resource parameters may now be hidden in the UI by setting
json_schema_extra={"dagster__is_secret": True}on the correspondingFielddefinition in the resource class. - The
dg docscli group has been removed. Theintegrationssubcommand has been moved todg utils integrations. - Bumped the
gqldependency indagster-graphqlto be inclusive of v4 for broader transitive dependency compatibility - [dagster-omni] Fix issue where retries would terminate while asynchronously gathering metadata.
- [dagster-tableau] The value of resource parameter
TableauWorkspace.connected_app_secret_valueis now hidden in the UI. - [dagster-tableau] Updated extraction logic to handle hidden sheets. The materializable data sources connected to these sheets are now successfully detected and included as materializable data assets. (Thanks, @miriamcastel!)
Bugfixes
- Fix an AttributeError when calling
map_asset_specson assets defined using theinsparameter. (Thanks, @Jongwan93!) - Fix an issue where backfill runs that incorrectly created unpartitioned materializations of a partitioned asset, or partitioned materializations of an unpartitioned asset due to incorrect asset business logic would move the backfill into an invalid state. Now, the backfill will detect this case and fail the backfill.
- Fixed an issue with
dg plus deploy refresh-defs-statewhich could cause errors when refreshing state for components that required CLIs that were only available in the project environment. - [dagster-dbt] Fixed issue that could cause errors when emitting events for a dbt Cloud job run.
Dagster Plus
- Dagster Plus Pro users can now create service users. Service users are accounts that can
authenticate API requests but that are not tied to any particular human user.