I occasionally check on the 0.16 milestone and noticed this morning that no open issues remain. Of course that is subject to change, but it seems likely that the 0.16 release is approaching.
For early adopters who have been using prerelease builds - what are your thoughts so far? I know async IO is the big thing, but I’m curious what other lesser-known things are part of 0.16 release.
I tried the fuzzer in 0.15.2 and it crashed on macOS, which is a known issue, but also crashed on linux. Based on what little research I did it just didn’t seem to be very mature/well supported as of 0.15.2. Hoping that changes with 0.16!
Oh hell yeah! I’ve been anticipating this release more than any other. My project required a major overhaul to support 0.16 and I’m ready to merge everything once it comes out. LFG!!!
Very good, 0.16 is an exceptional chunk of work. Congrats to all for this magnificent milestone. In many ways the new IO system has been a very brave leap of faith, and yet a success.
been using it for a while now, building a comprehensive http server framework, and it’s been good fun, albeit using threaded for parallelisms. Seeing very impressive performance numbers, and the ergonomics are sweet. Zig 1.0 is going to be a monster.
It’s not the end of the road though, there is still a way to go for getting the full async / green threads working for network servers using stdlib. If you check the sources on the completed 0.16 code, you will see that basic things like listening and accepting new connections are still @pannic(“TODO”) in the adapters.
Given that the 0.17 release cycle will be relatively quick, it’s probably 0.18 that brings home the bacon for async network programming using just the stdlib. Looking forward to that.
In the meantime, you CAN do green threads (always have been able to with zig), just means you still have to get your hands dirty and roll your own experiments .. or lean into 3rd party code.
Despite that little speed bump, fantastic progress.
I was really hoping the evented Io implementation will be finished in the released version. This way, it’s guaranteed the interface will still significantly change in the future.
Definitely. Andrew/Loris mentioned that in the Zigtoberfest IO presentation that it’s possible they didn’t get everything right in the first shot so we should test it out and let them know how it works out for us in the real world. Based on that feedback there may or may not be additional changes. We aren’t 1.0 yet so we have time to adjust direction if needed.
@wbrian If you are a member of the Zig core team please forgive me and ignore this text;
otherwise I wish we could just .await them to share us the details about any new release.