Skip to content

Instantly share code, notes, and snippets.

@martialboniou
Last active August 26, 2025 21:07
Show Gist options
  • Save martialboniou/b6763f1792a9fc04bf5503521236ffea to your computer and use it in GitHub Desktop.
Save martialboniou/b6763f1792a9fc04bf5503521236ffea to your computer and use it in GitHub Desktop.
Temporary notes about the recent changes in Zig 0.15 using std.Io

Zig 0.15 rework

  • zig 0.15.1 released
    • still some bugs
    • wait for 0.15.2
  • new Io for async prog
  • rework in progress in Writer/Reader

Here's the version I use and recommend if you want to play with Futures

zig version

  • official zig 0.15.1
    • brew version checked
  • 0.15.0-dev.1404+65db19a28 (compiled on 2025-08-04)
    • commit: 65db19a289f39bf3d0703164966eaeadb51cabab
  • WIP:
    • 0.16.0-dev.23+47a2f2dda
      • commit: 47a2f2ddae9cc47ff6df7a71060bbb3f5f20f2e8
      • seems to fix a bug with std.http.Client

zls version

  • 0.15.0-dev.347+ad5df4a0 (on 2025-08-05)
    • commit: ad5df4a03f015ae588a3dacb3bc403918b650cf2
      • older versions: 9c14baf
    • checked
      • type definitions
      • signature
      • diagnostics
      • inlay hint
      • hover
      • completions
      • rename symbol
      • formatting
      • unique code action (!)
  • tested with Neovim 0.11
    • vim.lsp.enable("zls")
    • if you don't use nvim-lspconfig like me, add lsp/zls.lua inside your config root vim.fn.stdpath[[data]]:
return {filetypes = {"zig", "zir"}, cmd = {"zls"}, root_markers = {"zls.json", "build.zig", ".git"}, workspace_required = false}
  • WIP:
    • 0.15.0-dev.384+e0ae13c5 with zig 0.16-dev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment