Blog
Dagster 1.10: Mambo No 5

Dagster 1.10: Mambo No 5

February 12, 2025
Dagster 1.10: Mambo No 5
Dagster 1.10: Mambo No 5

Intuitive Concurrency Controls, Improved ELT integrations, and Developer Experience Upgrades

We're excited to announce the release of Dagster 1.10 Mambo No. 5!

This release focuses on bringing clarity and consistency across the platform, making existing features more intuitive and enjoyable to learn. We've significantly improved core areas like concurrency management, ELT integrations, and developer experience.

Let's dive into the major improvements in this release.

Intuitive Concurrency Controls

One of the biggest challenges in managing data pipelines is controlling concurrent execution. With Dagster 1.10, we've completely revamped how concurrency works to make it easier to understand, configure, and monitor.

Concurrency Improvements

  • Unified Concurrency Pools: Rather than having separate APIs for run and operation concurrency, we've introduced the concept of concurrency "pools" that can be enforced at different granularities.
  • Enhanced UI Visibility: Concurrency information is now easily accessible and configurable directly in the UI.
  • # Before: Using tags for concurrency groups
    @asset(tags={"dagster/concurrency_key": "heavy_process"})
    def process_data():
        pass
    
    # After: Using explicit concurrency argument
    @asset(pool="heavy_process")
    def process_data():
        pass
  • Improved Configuration: Concurrency settings are now logically grouped under a dedicated concurrency block in deployment settings.

The new approach immediately clarifies what concurrency controls are in place and how they affect your pipelines.

Modernized ELT Integrations

We've refreshed our integrations with popular ELT tools like Fivetran and Airbyte to leverage Dagster's asset-based patterns better and provide enhanced visibility into your data pipelines.

Key Improvements

  • Customizable Asset Loading: A new translator pattern allows fine-grained control over how external tool assets are represented in Dagster
  • Simplified Interfaces: Consolidated multiple configuration methods into a single, intuitive get_asset_spec() method
  • from dagster_fivetran import (
        DagsterFivetranTranslator,
        FivetranConnectorTableProps,
        FivetranWorkspace,
        load_fivetran_asset_specs,
    )
    
    import dagster as dg
    
    fivetran_workspace = FivetranWorkspace(
        account_id=dg.EnvVar("FIVETRAN_ACCOUNT_ID"),
        api_key=dg.EnvVar("FIVETRAN_API_KEY"),
        api_secret=dg.EnvVar("FIVETRAN_API_SECRET"),
    )
    
    
    class MyCustomFivetranTranslator(DagsterFivetranTranslator):
        def get_asset_spec(self, props: FivetranConnectorTableProps) -> dg.AssetSpec:
            default_spec = super().get_asset_spec(props)
            return default_spec.replace_attributes(
                key=default_spec.key.with_prefix("prefix"),
            ).merge_attributes(metadata={"custom": "metadata"})
    
    
    fivetran_specs = load_fivetran_asset_specs(
        fivetran_workspace, dagster_fivetran_translator=MyCustomFivetranTranslator()
    )
    
    defs = dg.Definitions(assets=fivetran_specs, resources={"fivetran": fivetran_workspace})
  • Enhanced Metadata Visibility: Better surfacing of pipeline status and performance data

Developer Experience Improvements

We've made several quality-of-life improvements to make development with Dagster more seamless:

GRPC Server Consolidation

The dagster dev command now launches a single centralized server per code location, reducing computational overhead and minimizing process-related errors.

Enhanced Asset APIs

  • Flexible Dependency Declaration: Mix and match between deps parameter and argument-based dependencies
  • Improved IO Manager Support: Now works seamlessly with multi_asset_check
  • Per-Partition Metadata: Add specific metadata to individual partitions during materialization
  • @asset(deps=["upstream1", "upstream2"])
    def my_asset(upstream2):  # Only need argument for IO manager access
        pass
    
    @multi_asset_check(
        specs=[
            AssetCheckSpec("check1", asset=asset1),
            AssetCheckSpec("check2", asset=asset2),
        ]
    )
    def multi_check(asset1: int, asset2: int) -> Iterable[AssetCheckResult]:
        pass

New Module Loading APIs

We've introduced new APIs to simplify loading definitions from modules:

import dagster as dg
import package.submodule as my_submodule

defs = dg.load_definitions_from_module(my_submodule)

New API lifecycle

We've introduced new API lifecycle stages, with their own decorators, annotations and warnings, to help developers make informed decisions about which APIs to use in their projects.

  • Preview: Features at an early stage of development and testing are marked as preview.
  • Beta: Features that are still under development, but are ready for use in non-critical production environments, are marked as beta.
  • Superseded: Features that are still available, but no longer considered best practice, are marked as superseded.

Discover all API lifecycle stages in our guide.

Looking Forward

Dagster 1.10 represents our commitment to making data orchestration more intuitive and powerful. These improvements lay the groundwork for exciting features coming later this year.

pip install -U dagster

Want to try out these new features? Upgrade to Dagster 1.10 today:

Check out our updated documentation to learn more about these new features and improvements.

As always, we'd love to hear your feedback! Join us on Slack to share your thoughts and experiences with the new release.

Acknowledgments

We want to thank all community contributors for their efforts and innovations in making this release possible.

Fábio | HynekBlaha | Matthew Kuzyk | Meg McRoberts | Simon Heather | Alexander Grueneberg | Alexander Bogdanowicz | Aksel Stokseth | Alex Harris | Aleksei Kozharin | ARookieDS | Avril Aysha | Axell | Benoit Perigaud | Daniel | Anton Burnashev | Charles Lariviere | Chris Histe | Christopher Tee | Cooper Ellidge | Daniel Gafni | Jonas Thelemann | Dinis Rodrigues | divyanshu | David Liu | Danny Xie | Dan Schafer | Tyler Eason | Edson Nogueira | Egor Dmitriev | Ethan Wolinsky | Đỗ Trọng Hải | Ion Koutsouris | izzy | ja14000 | Judah Rand | kevin-longe-unmind | Kristian André Jakobsen | Louis Guitton | Marijn Valk | Matt Weingarten | Matthew Heguy | Niko | Oral Ersoy Dokumacı | ollie-bell | Pablo Recio | tianzedavid | Tiberiu Ana | Shane Zarechian | Adam Skärbo Jonsson | Andrew Ardill | Fredrik Bakken | GBBBAS | Marek H | Anton | HynekBlaha | Morten Kuhlwein | Francisco | Oren Lederman | Quinten Bruynseraede | Rhiyo | kamthanev | abhinavDhulipala | aimeecodes | Alex Harris| Alex Rasmussen | Aidas Petryla | Ben Gotow | Brian Tu | Charles Augello | Christopher Tee | Daniel Gafni | David Aktas-Beckschulte | David Baker | Daniel Bartley | Orestis Herodotou | Dinis Rodrigues | Dragos Pop | dwisdom-tk | Tyler Eason | Sergei Nikiforov | Gianfranco Demarco | David Beran | Ion Koutsouris | Ian Jenkins | jj | Joscha Feth | Josh Taylor | Josmar Cristello | kang | Marijn Valk | Melnikov Levy | Maryam Khan | Matt Weingarten | Michael Mussato | hvle | Rune Hessner | Pavel Roslovets | shimon pats | stigmarl | Eric Yoo | Thiago Azevedo | Martin Erpicum | V | Thanabodee Charoenpiriyakij | Thierry Jean | zyd14

Stay tuned for more updates and enhancements in future releases.

Have feedback or questions? Start a discussion in Slack or Github.

Interested in working with us? View our open roles.

Want more content like this? Follow us on LinkedIn.

Dagster Newsletter

Get updates delivered to your inbox

Latest writings

The latest news, technologies, and resources from our team.

Multi-Tenancy for Modern Data Platforms
Webinar

April 7, 2026

Multi-Tenancy for Modern Data Platforms

Learn the patterns, trade-offs, and production-tested strategies for building multi-tenant data platforms with Dagster.

Deep Dive: Building a Cross-Workspace Control Plane for Databricks
Webinar

March 24, 2026

Deep Dive: Building a Cross-Workspace Control Plane for Databricks

Learn how to build a cross-workspace control plane for Databricks using Dagster — connecting multiple workspaces, dbt, and Fivetran into a single observable asset graph with zero code changes to get started.

Dagster Running Dagster: How We Use Compass for AI Analytics
Webinar

February 17, 2026

Dagster Running Dagster: How We Use Compass for AI Analytics

In this Deep Dive, we're joined by Dagster Analytics Lead Anil Maharjan, who demonstrates how our internal team utilizes Compass to drive AI-driven analysis throughout the company.

DataOps with Dagster: A Practical Guide to Building a Reliable Data Platform
DataOps with Dagster: A Practical Guide to Building a Reliable Data Platform
Blog

March 17, 2026

DataOps with Dagster: A Practical Guide to Building a Reliable Data Platform

DataOps is about building a system that provides visibility into what's happening and control over how it behaves

Unlocking the Full Value of Your Databricks
Unlocking the Full Value of Your Databricks
Blog

March 12, 2026

Unlocking the Full Value of Your Databricks

Standardizing on Databricks is a smart strategic move, but consolidation alone does not create a working operating model across teams, tools, and downstream systems. By pairing Databricks and Unity Catalog with Dagster, enterprises can add the coordination layer needed for dependency visibility, end-to-end lineage, and faster, more confident delivery at scale.

Announcing AI Driven Data Engineering
Announcing AI Driven Data Engineering
Blog

March 5, 2026

Announcing AI Driven Data Engineering

AI coding agents are changing how data engineers work. This Dagster University course shows how to build a production-ready ELT pipeline from prompts while learning practical patterns for reliable AI-assisted development.

How Magenta Telekom Built the Unsinkable Data Platform
Case study

February 25, 2026

How Magenta Telekom Built the Unsinkable Data Platform

Magenta Telekom rebuilt its data infrastructure from the ground up with Dagster, cutting developer onboarding from months to a single day and eliminating the shadow IT and manual workflows that had long slowed the business down.

Scaling FinTech: How smava achieved zero downtime with Dagster
Case study

November 25, 2025

Scaling FinTech: How smava achieved zero downtime with Dagster

smava achieved zero downtime and automated the generation of over 1,000 dbt models by migrating to Dagster's, eliminating maintenance overhead and reducing developer onboarding from weeks to 15 minutes.

Zero Incidents, Maximum Velocity: How HIVED achieved 99.9% pipeline reliability with Dagster
Case study

November 18, 2025

Zero Incidents, Maximum Velocity: How HIVED achieved 99.9% pipeline reliability with Dagster

UK logistics company HIVED achieved 99.9% pipeline reliability with zero data incidents over three years by replacing cron-based workflows with Dagster's unified orchestration platform.