Major release, major featuresAspire 13 is here and it's - you guessed it - the biggest release yet. We are so excited to share the next major iteration of Aspire with you all, because it's packed with features that streamline the existing Aspire experience that you all know and love. From complete process overhauls like aspire do to seemingly minor but completely game-changing tweaks to connection strings, Aspire 13 improves every aspect of the developer lifecycle.We also just launched our brand new website, aspire.dev, which is the home for all things Aspire, including this release's What's New! We're actively moving more content over, so let us know what you'd like to see on the Aspire GitHub or Discord.Without further ado, let's look at some of my faves from Aspire 13.💫 aspire do the thingThe new aspire do command is a complete reimagination of how we think about build, publish, and deployment pipelines in Aspire. Instead of a monolithic "hit deploy and pray" experience, aspire do breaks everything down into discrete, parallelizable steps with dependency tracking.Want to just build containers? aspire do build. Want to see your entire deployment pipeline visualized with all its dependencies? aspire do diagnostics. The beauty of this system is that it automatically parallelizes independent operations, so your deployments are fast.But here's the really cool part: you can define your own custom pipeline steps! Add validation, run tests, perform custom deployment logic - all as first-class citizens in the pipeline:builder.Pipeline.AddStep("validate", async (context) =>{ context.Logger.LogInformation("Running validation checks..."); // Your custom validation logic}, requiredBy: WellKnownPipelineSteps.Build);This is an early preview feature, but we're excited about the foundation it provides for complex deployment workflows, and even executable commands outside the realm of deployment. Check out the aspire do documentation to learn more!✨ No more copy-pasting logs with the Aspire MCPIt's 2025, of course we have an MCP! The Aspire Dashboard now includes a Model Context Protocol (MCP) server that lets AI assistants directly query your running application. Yes, you read that right - your AI coding assistant can now:List all your resources with their state and endpointsAccess console logs in real-timeRetrieve structured logs and tracesExecute commands on resourcesImagine asking GitHub Copilot "Why is my API service failing?" and having it actually check your logs, analyze trace data, and give you insights based on real telemetry from your running app. No more copying and pasting logs into chat windows!To get started, just click the MCP button in the Dashboard's top right corner and follow the setup instructions for your AI assistant (works with GitHub Copilot, Claude Code, and more).The MCP is available today as a preview. Learn more about the Aspire MCP server.PS: Try out the Aspire MCP with the Playwright MCP for fully autonomous, local bug fixing and feature validation!📎 Connection strings and dev certs and AI, oh mySometimes the best features are the ones that just make things work without you having to think about them. Aspire 13 delivers many of these quality-of-life improvements that might seem small but will save you hours of frustration. Here are my top 3:Polyglot connection properties: Database resources now automatically expose multiple connection string formats - not just .NET's ConnectionStrings format, but also URI format for Python apps and JDBC format for Java apps. Add a PostgreSQL database and your Python worker automatically gets DATABASE_URL while your Java app gets DB_JDBCCONNECTIONSTRING. It just works.Automatic dev certificate trust: Running HTTPS services locally used to be a pain when working across languages, especially when it came to passing OpenTelemetry information to the dashboard. Aspire 13 automatically configures certificate trust for Python (SSL_CERT_FILE), Node.js (NODE_EXTRA_CA_CERTS), and containers. Just add the resources and HTTPS works everywhere, for everything from frontend-to-backend communication to full OTEL for any language.Named references: Ever needed to reference the same database twice with different names? Now you can:var api = builder.AddProject("api") .WithReference(primaryDb, "primary") .WithReference(replicaDb, "replica");Your app gets ConnectionStrings__primary and ConnectionStrings__replica - clean, explicit, and easy to work with.These might not be flashy features, but they're the kind of polish that makes development with Aspire so much less frustrating than your traditional workflow.🫡 Yeah, we heard you! AddNpmApp has been replaced (and other JS improvements)We heard your feedback loud and clear - nobody calls them "NPM apps". So, we completely overhauled our JavaScript support! Say goodbye to AddNpmApp and hello to a unified, flexible JavaScript experience:AddJavaScriptApp is the new foundation: One method that works for any JavaScript application, with automatic package manager detection (npm, yarn, pnpm) and smart defaults:// Automatically runs 'npm run dev' locally // Automatically runs 'npm run build' when publishingvar frontend = builder.AddJavaScriptApp("frontend", "./frontend") // Automatically runs `npm install` before running `dev` .WithNpm(install: true);Vite gets first-class support: One of the most popular Community Toolkit integrations, AddViteApp, has been folded in to the new JS package, bootstrapping Vite-specific optimizations including HMR (Hot Module Replacement) and automatic port configuration.Intelligent package management: Aspire now uses deterministic install commands in production (npm ci, yarn install --frozen-lockfile) while remaining flexible in development. No more "works on my machine" issues from lockfile drift!Automatic Dockerfile generation: When you publish, Aspire generates optimized multi-stage Dockerfiles that detect your Node version from .nvmrc, .node-version, or package.json. Production builds just work.The JavaScript experience in Aspire 13 is intuitive, flexible, and ready for action. Check out the JavaScript documentation for the full details!🐍 Python got an overhaul, tooPython support isn't just "good" in Aspire 13 - it's genuinely first-class. You can now build full-stack polyglot applications with Python as confidently as you would with .NET:Three ways to run Python code: Choose the model that fits your use case:AddPythonApp - Run a Python script directlyAddPythonModule - Run a module (python -m celery worker)AddPythonExecutable - Run executables from your venv (gunicorn)Uvicorn integration for web apps: FastAPI, Starlette, and Quart apps get dedicated support with automatic HTTP endpoint configuration and health checks:var api = builder.AddUvicornApp("api", "./api", "main:app") .WithExternalHttpEndpoints() .WithHttpHealthCheck("/health");Flexible package management: Aspire automatically detects whether you're using pip, uv, or venv. Using the modern uv tool? Just add .WithUv() and get 10-100x faster dependency installs!VS Code debugging: Set breakpoints in your Python code and debug it alongside your .NET services. The Aspire VS Code extension generates launch configurations automatically.Production-ready: Aspire generates optimized Dockerfiles with automatic Python version detection from .python-version, pyproject.toml, or your venv.Want to see it in action? Try the new aspire-py-starter template that combines a React/Vite frontend with a FastAPI backend - a full-stack polyglot app in seconds:aspire new aspire-py-starterPython developers, welcome home. 🐍💫 Get started todayAspire 13 represents a massive leap forward - not just for .NET developers, but for anyone building distributed applications. Whether you're working with C#, Python, JavaScript, or all three, Aspire now provides a cohesive, polished experience from development through deployment.Ready to upgrade? It's easy:# Install the Aspire CLIcurl -sSL https://aspire.dev/install.sh | bash# Or, update the Aspire CLIaspire update --self# Then, update your projectaspire updateNew to Aspire? Check out aspire.dev for getting started guides, or dive right in with one of the starter templates:aspire new # Interactive template pickerWant more details? The complete release notes cover everything, including breaking changes, migration guides, and experimental features.We'd love to hear what you think! Share feedback on GitHub, join the conversation on Discord, or connect with us on BlueSky.Happy Aspirifying! 🚀