Релиз 0.16.0
#upstream
This release features 8 months of work: changes from 244 different contributors, spread among 1183 commits.
Perhaps most notably, this release debuts I/O as an Interface, but don't sleep on the Language Changes or enhancements to the Compiler, Build System, Linker, Fuzzer, and Toolchain which are also included in this release.
#upstream
🔥12🎉2
Artifacts: versioned storage that speaks Git (раздел Under the hood)
Zig в Cloudfare:
Zig в Cloudfare:
What we did need, however, was a Git server implementation that could run on Cloudflare Workers. It needed to be small, as complete as possible, extensible (notes, LFS), and efficient. So we built one in Zig, and compiled it to Wasm.
The Cloudflare Blog
Artifacts: versioned storage that speaks Git
Give your agents, developers, and automations a home for code and data. We’ve just launched Artifacts: Git-compatible versioned storage built for agents. Create tens of millions of repos, fork from any remote, and hand off a URL to any Git client.
🔥7👍2
Язык Zig (канал)
Artifacts: versioned storage that speaks Git (раздел Under the hood) Zig в Cloudfare: What we did need, however, was a Git server implementation that could run on Cloudflare Workers. It needed to be small, as complete as possible, extensible (notes, LFS)…
Why did we use Zig? Three reasons:
1. The entire git protocol engine is written in pure Zig (no libc), compiled to a ~100KB WASM binary (with room for optimization!). It implements SHA-1, zlib inflate/deflate, delta encoding/decoding, pack parsing, and the full git smart HTTP protocol — all from scratch, with zero external dependencies other than the standard library.
2. Zig gives us manual control over memory allocation which is important in constrained environments like Durable Objects. The Zig Build System lets us easily share code between the WASM runtime (production) and native builds (testing against libgit2 for correctness verification).
3. The WASM module communicates with the JS host via a thin callback interface: 11 host-imported functions for storage operations (host_get_object, host_put_object, etc.) and one for streaming output (host_emit_bytes). The WASM side is fully testable in isolation.
Under the hood, Artifacts also uses R2 (for snapshots) and KV (for tracking auth tokens):
❤5👍3
Forwarded from mak
remove result pointers from the language
accepted proposal by mlugg
accepted proposal by mlugg
Codeberg.org
remove result pointers from the language
In this issue, the terms "result location semantics", "result location", and "result pointer" are **not** intended to include the concept of "result types", which is a core part of Zig's type system whereby type information propagates "down" expression trees…
Forwarded from mak
GitHub
parse inline assembly syntax according to a set of dialects; integrate inline assembly more closely with the zig language · Issue…
Currently we have this situation: stage1: Inline assembly is a comptime-known string that can be built with expressions such as ++. stage2: Inline assembly must be string literals. This is in prepa...
Час назад:
https://mastodon.social/@andrewrk/116455170889340599
Скоро стрим с показом обновлений в системе сборки от Эндрю
I'm planning to do a stream in an hour or two from now
https://mastodon.social/@andrewrk/116455170889340599
After a long, unplanned hiatus, I'll do a live coding stream starting in a couple hours from now.
Main topic will be a demo of some partially completed changes to the build system, and pushing forward on it a little bit.
Q&A will also be welcome from chat.
https://www.
twitch.tv/andrewrok/
Скоро стрим с показом обновлений в системе сборки от Эндрю
Mastodon
Andrew Kelley (@andrewrk@mastodon.social)
After a long, unplanned hiatus, I'll do a live coding stream starting in a couple hours from now.
Main topic will be a demo of some partially completed changes to the build system, and pushing forward on it a little bit.
Q&A will also be welcome from chat.…
Main topic will be a demo of some partially completed changes to the build system, and pushing forward on it a little bit.
Q&A will also be welcome from chat.…
❤4🕊2
Язык Zig (канал)
https://codeberg.org/ziglang/zig/issues/31421#issuecomment-12842415 Небольшой сюрприз с размером бинарника
https://codeberg.org/ziglang/zig/src/branch/restricted
Ветка от jacobly с реализацией restricted values
#upstream
Ветка от jacobly с реализацией restricted values
#upstream
❤1👍1
https://x.com/bunjavascript/status/2048427636414923250
https://github.com/oven-sh/zig/compare/upgrade-0.15.2...upgrade-0.15.2-fast
In Bun’s zig fork, we added parallel semantic analysis and multiple codegen units to the llvm backend on macOS & Linux
This makes debug builds of Bun compile > 4x faster, improving internal development velocity
https://github.com/oven-sh/zig/compare/upgrade-0.15.2...upgrade-0.15.2-fast
We do not currently plan to upstream this, as Zig has a strict ban on LLM-authored contributions.
🤣9
Язык Zig (канал)
https://x.com/bunjavascript/status/2048427636414923250 In Bun’s zig fork, we added parallel semantic analysis and multiple codegen units to the llvm backend on macOS & Linux This makes debug builds of Bun compile > 4x faster, improving internal development…
В форк Zig от Bun мы добавили параллельный семантический анализ и генерацию кода по частям в LLVM-бэкенд для macOS и Linux.
Это ускорило компиляцию Bun (в режиме отладки) более чем в 4 раза, что сильно ускорило внутреннюю разработку.
Мы пока не планируем передавать это в основной проект, так как в Zig действует строгий запрет на любой вклад, созданный нейросетями.
Это ускорило компиляцию Bun (в режиме отладки) более чем в 4 раза, что сильно ускорило внутреннюю разработку.
Мы пока не планируем передавать это в основной проект, так как в Zig действует строгий запрет на любой вклад, созданный нейросетями.
😁6
На фоне недавней новости об эксперименте Bun с портированием с Zig на Rust, я вспомнил одну вещь.
В прошлые годы они ведь выделяли для Zig Software Foundation солидные суммы. Что теперь с ними будет? Уменьшится ли доход ZSF? Урежут ли тогда core team оплату мероприятий или себя?
https://ziglang.org/news/2025-financials/
В 2024 году было 60'000 USD.
Плюс к тому же двойной эффект, если донатеры пришедшие с волной популярности из-за Bun тоже уйдут.
В прошлые годы они ведь выделяли для Zig Software Foundation солидные суммы. Что теперь с ними будет? Уменьшится ли доход ZSF? Урежут ли тогда core team оплату мероприятий или себя?
https://ziglang.org/news/2025-financials/
В 2024 году было 60'000 USD.
Плюс к тому же двойной эффект, если донатеры пришедшие с волной популярности из-за Bun тоже уйдут.
👍1
Язык Zig (канал)
На фоне недавней новости об эксперименте Bun с портированием с Zig на Rust, я вспомнил одну вещь. В прошлые годы они ведь выделяли для Zig Software Foundation солидные суммы. Что теперь с ними будет? Уменьшится ли доход ZSF? Урежут ли тогда core team оплату…
https://x.com/arredsumner/status/2053047748191232310
Если вкратце:
1. Почти все (99.8%) тесты на
2. Сейчас код почти такой же, но компилятор теперь проверяет lifetime и добавили деструкторы.
3. Они устали думать над и исправлять ошибки по типу утечек памяти или краши, т.д. Хотят, чтобы язык это мощнее предотвращал.
4. Будет блог-пост с замерами скорости и потребления памяти, и как они этот порт сделали.
5. По скорости компиляции версия на Rust схожа с их форком Zig (где у них приватные поля в структурах и параллельная компиляция в LLVM), и быстрее официального Zig. Другими словами, для их проекта компилятор Zig медленнее компилятора Rust.
Порт содержит в себе 960 000 строк кода, за 6 дней
Если вкратце:
1. Почти все (99.8%) тесты на
x86_64-linux-gnu проходятся на Rust версии.2. Сейчас код почти такой же, но компилятор теперь проверяет lifetime и добавили деструкторы.
3. Они устали думать над и исправлять ошибки по типу утечек памяти или краши, т.д. Хотят, чтобы язык это мощнее предотвращал.
4. Будет блог-пост с замерами скорости и потребления памяти, и как они этот порт сделали.
5. По скорости компиляции версия на Rust схожа с их форком Zig (где у них приватные поля в структурах и параллельная компиляция в LLVM), и быстрее официального Zig. Другими словами, для их проекта компилятор Zig медленнее компилятора Rust.
Порт содержит в себе 960 000 строк кода, за 6 дней
X (formerly Twitter)
Jarred Sumner (@jarredsumner) on X
99.8% of bun’s pre-existing test suite passes on Linux x64 glibc in the rust rewrite
🤯5🥰1🐳1🤝1
Язык Zig (канал)
На фоне недавней новости об эксперименте Bun с портированием с Zig на Rust, я вспомнил одну вещь. В прошлые годы они ведь выделяли для Zig Software Foundation солидные суммы. Что теперь с ними будет? Уменьшится ли доход ZSF? Урежут ли тогда core team оплату…
https://news.ycombinator.com/item?id=48022280
А они уже давно перестали…
kristoff_it 4 days ago
Bun has stopped donating to the ZSF after the Anthropic acquisition
А они уже давно перестали…
🤬4😈1
Язык Zig (канал)
Zig vs Rust in 2026 От автора When Zig is safer and faster than Rust #блоги
YouTube
Zig vs Rust, agentic coding, and intellectual control
Linus ranting about C++: https://harmful.cat-v.org/software/c++/linus
Intellectual vs statistical control: https://www.georgefairbanks.com/ieee-software-v36-n1-jan-2019-intellectual-control
Intellectual vs statistical control: https://www.georgefairbanks.com/ieee-software-v36-n1-jan-2019-intellectual-control
❤1
Язык Zig (канал)
https://codeberg.org/ziglang/zig/issues/31421#issuecomment-12842415 Небольшой сюрприз с размером бинарника
Rewrite Bun in Rust
the binary size shrinks by 3 MB - 8 MB, the benchmarks are between neutral and faster
GitHub
Rewrite Bun in Rust by Jarred-Sumner · Pull Request #30412 · oven-sh/bun
Blog post with details coming soon.
It passes Bun's pre-existing test suite on all platforms (and fixes several memory leaks and flaky tests), the binary size shrinks by 3 MB - 8 MB, the be...
It passes Bun's pre-existing test suite on all platforms (and fixes several memory leaks and flaky tests), the binary size shrinks by 3 MB - 8 MB, the be...
😢6🐳2
Язык Zig (канал)
Rewrite Bun in Rust the binary size shrinks by 3 MB - 8 MB, the benchmarks are between neutral and faster
Мне напомнило это о долгой истории написания нового компилятора на Zig взамен старого на C++ во время примерно 0.7-0.10, как они сначала частями добавляли AstGen, Sema, какие-то части переиспользовали между stage1 и stage2, сколько лет это заняло т.д.
И как они некоторые фичи в то время пропустили, по типу второй версии async/await, мелкие фичи с
Если бы у главной команды были в то время LLM, сделали ли бы они эту миграцию намного быстрее? Скажем, не 5 лет (хотя честно говоря основной фокус был в последние годы), а месяц? Или может async/await бы не потеряли по пути? “export to C headers” ещё бы продолжал работать?
Или может Эндрю бы вообще не создавал Zig в 2015 и просто писал бы себе на C/C++ и JS (или даже Rust 1.0) дальше свои медиа-плееры и майнкрафт ботов?
И как они некоторые фичи в то время пропустили, по типу второй версии async/await, мелкие фичи с
@Vector
Если бы у главной команды были в то время LLM, сделали ли бы они эту миграцию намного быстрее? Скажем, не 5 лет (хотя честно говоря основной фокус был в последние годы), а месяц? Или может async/await бы не потеряли по пути? “export to C headers” ещё бы продолжал работать?
Или может Эндрю бы вообще не создавал Zig в 2015 и просто писал бы себе на C/C++ и JS (или даже Rust 1.0) дальше свои медиа-плееры и майнкрафт ботов?
👍3😁2