Zig 0.14.0 Release Notes

91 points by tauoverpi 4 months ago | 17 comments
  • cztomsik 4 months ago
    Thank you, so many great features. My personal favorite is .declLiteral() syntax, which makes webserver route-configuration very easy and readable!

    If you are ever in temptation to do a builder for internal DSL, .declLiteral() might be a better way. I think it might be very cool for GUI structures too.

    I did a quick PoC for SQL query building, but unfortunately, any more advanced queries are better to copy & serialize their arguments for safety reasons, so not that useful there, but still, very hyped about this particular thing.

  • gwenzek 4 months ago
    Really liking the promotion of "Unmanaged" containers. It's the ones I'm using everywhere already
    • nesarkvechnep 4 months ago
      I really wish FreeBSD were a tier 1 OS.
      • alexrp 4 months ago
        We're probably going to add support for cross-compiling FreeBSD's libc in the near future (and I imagine the other BSDs as well). From there, I think the only blocker for Tier 1 is getting it built and tested in CI.
      • overflyer 4 months ago
        Please do a release party!!! The last one was so much fun! _
        • vitaminCPP 4 months ago
          Great work on the self-hosted (no llvm) compiler and linker !

          Is there somebody that can explain to me the value of incremental compilation?

          How is this different than CMake caching, for example?

          • squeek502 4 months ago
            My understanding is that Zig's incremental compilation will work on a much more granular level (i.e. functions, etc), so, for example, change one function and only that function (and its dependencies) will get recompiled/relinked (there's some linker trickery involved to avoid needing to relink everything IIUC).

            More details here: https://ziggit.dev/t/how-zig-incremental-compilation-is-impl...

            • robinei 4 months ago
              Why would the function's dependencies need recompilation? I guess the dependees may require it, if they inlined it, or if the signature changed.
              • squeek502 4 months ago
                I'm probably not describing it fully accurately. See the link for the proper explanation.
              • vitaminCPP 4 months ago
                Thanks for sharing !
            • overflyer 4 months ago
              What's the state of async/await by the way?
              • robinei 4 months ago
                Cut for the foreseeable future AFAIK. They may return to it when ready
            • fithisux 4 months ago
              No haiku-os :-(
              • alexrp 4 months ago
                Hm, I didn't think to add Haiku to the support table. It's probably Tier 3; the standard library support is minimal, and we don't support cross-compiling its libc. Patches definitely welcome.
              • 4 months ago