---
title: "Releasing Execution Contexts"
url: https://daily.dev/posts/releasing-execution-contexts-e78jjyq7b
source_url: https://crystal-lang.org/2026/07/12/releasing-execution-contexts
type: article
source: "Crystal"
published: 2026-07-12T14:22:48.489Z
updated: 2026-07-12T14:23:09.517Z
reading_time: 8
upvotes: 1
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Releasing Execution Contexts

**[Crystal](https://daily.dev/sources/crystallang)** · 8 min read · 1 upvotes · 0 comments

## Summary

Crystal language introduces Execution Contexts, a new multithreading model replacing the legacy 'preview MT' scheduler. Three context types are provided: Concurrent (fibers run concurrently on one thread), Parallel (fibers scale across CPU cores with work stealing), and Isolated (a single fiber owns a dedicated thread). The default context starts concurrent on one thread to avoid breaking existing apps, but can be resized for parallelism. Key breaking changes include fibers being able to switch threads in parallel contexts, schedulers moving threads on blocking syscalls like getaddrinfo, and removal of the spawn(same_thread: true) argument. The new scheduler is faster than all legacy schedulers and auto-scales to CPU cores roughly every 100ms. Legacy preview_mt and without_mt flags remain temporarily supported but are discouraged.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://crystal-lang.org/2026/07/12/releasing-execution-contexts>

## Similar posts on daily.dev

- [Crystal 1.21.0 is released\!](https://daily.dev/posts/crystal-1-21-0-is-released--rdiw9bdey) · Crystal · 19 upvotes · 0 comments

---

[View this post on daily.dev](https://daily.dev/posts/releasing-execution-contexts-e78jjyq7b)
