Zig Software Foundation 2025 Financial Report and Fundraiser
https://ziglang.org/news/2025-financials/
#HackerNews #ZigSoftwareFoundation #FinancialReport #Fundraiser #2025 #ZigLang #News
More releases today: New version of https://thi.ng/genart-api, an art-platform-independent API for browser-based generative art.
The new version (v0.28.0) addresses some recent (type) changes in TypeScript and updates the WebAssembly bindings to support the latest Zig 0.15.1 (just like releases of some of my other projects announced earlier today...)
Yesterday I released new versions of https://thi.ng/wasm-api (and its add-on packages), a modular and extensible bridge API & toolchain for hybrid JS/TS/Zig/WebAssembly apps, now updated to be compatible with the latest Zig version 0.15.1...
The update addresses some of Zig's breaking syntax & build system changes only, nothing on the JS/TS side has changed. As a result https://thi.ng/wasm-api-dom has a slightly revised internal structure (also a breaking change, but nothing major & unavoidable). All bundled Zig examples[1] in the repo have been updated too, take a look for reference (if needed).
FYI More details about the Zig language changes here:
https://ziglang.org/download/0.15.1/release-notes.html#Language-Changes
Specifically, the removal of `usingnamespace` has had a major impact on the existing handling of generated types in these wasm-api support packages (or your own) and now forces an additional level of hierarchy in terms of namespacing. This is because `usingnamespace` enabled a form of namespace merging, which allowed the generated WASM⭤TS interop types (written to their own sourcefile) to be merged/hoisted into the main library module.
For example, previously after importing `const dom = @import("wasm-api-dom");` we could refer to a type via `dom.WindowInfo`. Now with namespace merging removed, we have to use `dom.types.WindowInfo`. As I said, it's not a major departure, but a breaking change nonetheless[2]...
The `build.zig` file bundled with https://thi.ng/wasm-api is now also only compatible with Zig 0.15.1 (for now). Build files for older Zig versions are still included too (in the same directory)[3].
Lastly, once more for the record: The wasm-api bridge itself is NOT tied to Zig (or a particular version), however it's the main use case/language for my own WebAssembly use cases...
[1] https://github.com/thi-ng/umbrella/tree/develop/examples (all examples starting with `zig-*`)
[2] The existing design of these modules helped to keep these breaking changes to a minimum in userland code and these updates are all following the same uniform pattern (i.e. exposing interop types via `modulename.types.TypeName`...)
[3] https://github.com/thi-ng/umbrella/tree/develop/packages/wasm-api#using-the-zig-build-system
#Zig, what are you doing (credits to Bernard Kolobara)!?
const std = @import("std");
const FileError = error{
AccessDenied,
};
fn doSomethingThatFails() FileError!void {
return FileError.AccessDenied;
}
pub fn main() !void {
doSomethingThatFails() catch |err| {
if (err == error.AccessDenid) {
std.debug.print("Access was denied!\n", .{});
} else {
std.debug.print("Unexpected error!\n", .{});
}
};
}
1/2
I’m at a demoparty (Xenium) and there’s a guy coding a synth from scratch for a microcontroller (STM something) using #ziglang. Didn’t expect seeing Zig here but this makes sense - way better than using C here, also way easier than coding it in assembly.
I really wish I had time for #ziglang
Zig folks, what do you attribute the language's growth to? Zig is neither fully memory safe nor the first attempt at a C replacement, yet it's growing.
What can unpopular language learn from your community? #ziglang #programming
Inspired by @kristoff having merged my PR to Zine just today :))
C++ Encounters of the Rusty Zig Kind - There comes a time in any software developer’s life when they look at their achiev... - https://hackaday.com/2025/07/01/c-encounters-of-the-rusty-zig-kind/ #programminglanguages #softwaredevelopment #hackadaycolumns #rustlang #ziglang
I find a lot of Haskell folks enjoy Raku once they're properly introduced, but what about the Zig crowd? They're very different languages, I know, but their respective developers both seem to note each language is fun in its own way.
#vkuroko has full #Linux support now!
vkuroko is a project programmed in #Zig that brings the #Kuroko scripting language (dialect of #Python) to #SourceEngine #Games.
Originally only ran on Windows but now works on Linux!
https://github.com/evanlin96069/vkuroko
The creator is a great guy. You should check out his other projects like his #ika language. Go show him some support!
Various thi.ng updates, bug fixes, additions and new version of https://github.com/thi-ng/zig-thing/ — now fully compatible with current Zig v0.14.1
On a more diary/devlog note: I also updated several of my Zig based work-in-progress art pieces to the latest version (some of them not touched in 2+ years) and it's so good to see how the https://thi.ng/wasm-api toolchain has been holding up with various breaking Zig changes and also how this setup simplifies creating hybrid Zig/TypeScript projects (e.g. for using DOM/WebGL from Zig). Related, I also want to mention once more the #GenArtAPI Zig WebAssembly bindings[1] (updated a few weeks ago), which add another layer of flexibility & boilerplate reduction for generative/procedural/algorithmic art projects...
I will be attempting yet another few takes creating a video overview & mini-workshop/tutorial about https://thi.ng/genart-api, hopefully also touching on these aspects...
[1] https://github.com/thi-ng/genart-api/tree/main/packages/wasm
PSA for people using #Ziglang via the #ASDF version manager: The "official" Zig plugin seems to be unmaintained and doesn't support the new URL format of recent Zig releases, but there's a new fork of the plugin which does. You can switch to it via:
```
asdf plugin remove zig
asdf plugin add zig https://github.com/thaolt/asdf-zig
asdf install zig 0.14.1
```
Zig's self-hosted x86 backend is now default in Debug mode
https://ziglang.org/devlog/2025/?unique%2F=#2025-06-08
Discussions: https://discu.eu/q/https://ziglang.org/devlog/2025/?unique%252F=%232025-06-08
Cross compiling Zig on an old Kindle
https://samkhawase.com/blog/zig-kindle-gdb/
Discussions: https://discu.eu/q/https://samkhawase.com/blog/zig-kindle-gdb/