Releases: pedropark99/zig-book
v0.5.1
What's Changed
- Fixed a typo by @martinconic in #34
New Contributors
- @martinconic made their first contribution in #34
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's Changed
This is a big release for the book. Because it adds two new chapters, which are:
- a chapter about the interaction between Zig and C, i.e. how to use and call C code from Zig.
- a chapter about a small project involving a image filter.
This is a big release because these two chapters complement each other, and also, they together give a good explanation on how to use C code in Zig, filling some important gap in knowledge about Zig. By @pedropark99 in #32.
Full Changelog: v0.4.6...v0.5.0
v0.4.6
What's Changed
- Add section describing the use of
std.MultiArrayList
by @pedropark99 in #27
Full Changelog: v0.4.5...v0.4.6
v0.4.5
What's Changed
This new release introduces the following changes:
- A new chapter was added to the book, describing how filesystem and I/O operations are made in Zig, from #25.
- Change the chapter title in specific chapters of the book. More precisely, the chapters that describe projects.
Full Changelog: v0.4.2...v0.4.5
v0.4.2
What's Changed
- Add a section to explain why function arguments in Zig are immutable by @pedropark99 in #24
- Also relate the knowledge discussed in this new section to the content discussed at the section about struct state.
Full Changelog: v0.4.1...v0.4.2
v0.4.1
When we declare methods inside a struct object in our Zig source code, in some specific cases we have to use a "pointer to struct" in the self
argument of our struct object, instead of using "copy to struct" in this self
argument. In other words, in some specific cases, we have to pass the struct object by reference, and not by value, to the method. This affects only the self
argument in methods of struct objects.
So, if you have a struct named User, and you declare a method inside this struct, a method of this struct might need to use self: *User in it's arguments, instead of the usual self: User.
In this release, we added a section to the book to explain this type of situations, and why we would use self: *x
instead of self: x
on struct methods.
What's Changed
- Remove format specifier that doesn't exist in Zig at the debugging chapter.
- Add section to explain the difference between
self: x
andself: *x
by @pedropark99 in #22
Full Changelog: v0.4.0...v0.4.1
v0.4.0
This is a big release that introduces two new chapters to the book that are related to Data Structures, Comptime and Generics in Zig.
What's Changed
- Add chapter that explains which Data Structures are avaialable in the Zig Standard Library, and demonstrate how to use them, by @pedropark99 in #20
- Add chapter that explains of the key features of Zig, which is
comptime
, and explains how this feature is used to implement generics in Zig. - One of the new chapters is also a chapter that uses a small project to demonstrate these concepts in practice.
Full Changelog: v0.3.8...v0.4.0
v0.3.8
What's Changed
Related to #7 .
This release Zig is not memory safe by default. But it is a language that offers a lot of tools to be memory safe.
This PR adds a section that lists the features that Zig offers to achieve safety in our software. In other words, this section
describes how Zig faces the "safety problem" in modern software.
By @pedropark99 in #18
Full Changelog: v0.3.7...v0.3.8
v0.3.7
What's Changed
- Move structs to a separate chapter.
- Also add a section to explain the relationship between modules and structs.
By @pedropark99 in #17
Full Changelog: v0.3.6...v0.3.7
v0.3.6
What's Changed
The following changes were made by @pedropark99 at #16 :
- Adds a small section to explain clearly what the keyword
defer
means in Zig code. - Adds some cross-references in the book.
- Explain a bit further the key differences between
defer
anderrdefer
.
Full Changelog: v0.3.5...v0.3.6