What's new
New chapters, in the order of publication. The build makes this list from the history of the repository. Thus the list shows what shipped, not what a person remembered to write down. The guide currently usesZig 0.18.0-dev.738+ae9a8acc7. Before this page existed, CI compiled and ran all 283 snippets against that build.
Projects: A Chat Server, six chapters on the WebSocket chapters
6 chaptersRead the Frames YourselfThe HubThe ProtocolSlow ClientsThe ServerWhat You Will Build
Networking: four WebSocket chapters, with three stepped figures
4 chaptersA WebSocket ClientWebSocket FramesThe WebSocket HandshakeA WebSocket Server on a Socket
Comptime section: dispatch, @compileError, parsing, limits, three projects
7 chaptersProject: Parse Arguments from a StructReject Bad Input with @compileErrorDispatch with ComptimeProject: A Typed Event BusKnow the LimitsParse Strings at Compile Time
Comptime section: the first four chapters
4 chaptersKnow What the Compiler KnowsBuild Lookup TablesMake a TypeRead a Type
Add project files and brush presets, both checked on the way in
1 chapterProjects and Presets
Add the watercolour lab: water and pigment spreading and drying
1 chapterWatercolour
Add an oil brush: pickup and a paint load that drains
1 chapterOil: Pickup and Paint Load
Add bristle brushes, paper grain and a dry brush, and SEO copy for Paint
1 chapterBristles and Paper
Add the paint program's native window, cross-compiled for Windows
1 chapterA Native Window
Add the Paint section: a studio in the page and nine chapters
9 chaptersA Paint Program You Can TestFillFlow and OpacityLayers and the EraserSave a PNGSmoothing, Pressure and Scatter
Add Linear Light and Writing a PNG to Graphics
2 chaptersLinear LightWrite a PNG
Add a Working with Files section, nine chapters that run in the browser
9 chaptersBinary FilesRead CSVWrite CSVDirectoriesWhen Things Go WrongOpen, Read, Close
Give native snippets a .stdin file, and write the contest template
1 chapterA Contest Template
Solve the 0/1 knapsack five ways, and show why the row runs downward
1 chapterTake or Skip: The 0/1 Knapsack
Merge groups as edges arrive, with union by size and path compression
1 chapterUnion-Find (Disjoint Set Union)
List what changed between Zig 0.16.0 and master
1 chapterWhat Changed in Zig 0.17
Show the four shapes an interface takes in Zig
1 chapterInterfaces
Add a labelled switch chapter
1 chapterLabelled Switch
Add the batch job runner, the section's first whole program
1 chapterA Batch Job Runner
Add "Coming from std.Thread", and drop the thread-pool chapter from the plan
1 chapterMigrate from `std.Thread`
Add the atomics chapter to the Concurrency section
1 chapterAtomics
Add merge intervals and the monotonic deque, and rewrite the section in one voice
2 chaptersMerge IntervalsThe Monotonic Deque
Search an answer range, and walk a grid a frontier at a time
2 chaptersBinary Search on the AnswerBreadth-First Search on a Grid
Add prefix sums and the monotonic stack
2 chaptersThe Monotonic StackPrefix Sums and Difference Arrays
Add two pointers and the sliding window, each printing its own working
2 chaptersSliding WindowTwo Pointers
Teach binary search with a program that prints its own working
1 chapterBinary Search
Build the growable array the section always claimed it built
1 chapterA Growable Array
Add the build-along chapter, and stop claiming Zig 0.16 works
1 chapterBuild It From Scratch
Add the three chapters the section was missing
Add Lane Dodger: a raylib game, and the chapters about testing one
6 chaptersHandles, Not PointersDifficulty You Can ProveSound Without Sound FilesVendor raylibThe Loop Takes No dtA Game You Can Test
Add the URL shortener, a second Projects section
5 chaptersA Postgres ClientRoutes Over a SeamSlugs Are ArithmeticThe ServerWhat You Will Build
Build TCP's core in three chapters after the UDP one
3 chaptersLost DatagramsRetransmission and the WindowSequence Numbers and Acks
Older changes are in the history of the repository. The nightly build runs at 06:00 UTC against Zig master. The same list, for a feed reader, is at rss.xml. The guide itself starts at the section list.