← Back to News page

The Upcoming Release Postponed Two More Weeks and Lacks Async Functions

July 19, 2023

Hello everyone,

I've been saying the upcoming 0.11.0 release of Zig would have async/await/suspend/resume for 9 months now. You can probably find 10 different places where I promised in writing or in front of a camera that this next release would have this feature.

Well, today I am reneging. Sorry about that. Feel free to be annoyed at me, that's totally fair given the situation.

I do have a big chunk of the work implemented in a branch, however, each time I pressed forward there, I realized that, to do things properly, I would need to first switch tasks and improve the codebase. This resulted in, for example, the massive InternPool changeset which is mostly invisible to Zig users but accomplishes all of these things:

Even after those changes landed, when I cracked open the async functions branch again, I was compelled to rework generic function calls. This accomplished more of those same four bullet points, but, it used up the time that I had allocated to work on async functions, and now the release is upon us.

I could delay the release yet again, however, it is a reality that most real-world Zig projects today do not depend on these experimental features, and the bottom line is that the project will benefit more from releasing now than from waiting until async function support is restored.

So! The only things left to do for the release are as follows:

  1. Type up the release notes. Soooo many release notes... dear lord have mercy on my soul
  2. Triage the remaining issues in the 0.11.0 milestone. Most issues will be punted to 0.12.0 or 0.11.1.
  3. Solve the remaining critical issues.
  4. Merge some PRs that have been patiently waiting for attention. I'm looking at you, #15382.

With that in mind, I've pegged Thursday, August 3rd, 2023 as the 0.11.0 release date. There should be no further delays after this point, because all four of those items above can be squished to fit the timeline to the extent necessary. Remember that there will be a bugfix release, so if your project has trouble with 0.11.0, work with us on the issue tracker and we'll get your bugs solved for the 0.11.1 release that will follow in 1-2 months.

I appreciate your grace in this matter. I don't love failing to deliver a feature that I definitely promised, but I insist that the Zig compiler codebase is better off with the changes that we worked on instead. It will be worth it in the end.

Sincerely,
Andrew

P.S. I'm not on Twitter anymore - my goal is to instead channel that micro-blogging energy into regular blogging energy on my personal website as well as posting Zig project news here on ziglang.org. I believe the RSS feed here works in case that's something you want to subscribe to.