Skip to content

Releases: pedropark99/zig-book

v0.5.1

12 Sep 12:34
6fae6f3
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.5.1

v0.5.0

05 Sep 23:00
83849c0
Compare
Choose a tag to compare

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

24 Aug 18:57
69022bb
Compare
Choose a tag to compare

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

24 Aug 01:57
bde8c9c
Compare
Choose a tag to compare

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

12 Aug 02:18
77dc10f
Compare
Choose a tag to compare

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

11 Aug 18:42
a17bba3
Compare
Choose a tag to compare

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 and self: *x by @pedropark99 in #22

Full Changelog: v0.4.0...v0.4.1

v0.4.0

10 Aug 14:48
282a024
Compare
Choose a tag to compare

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

01 Aug 02:40
a1c64c0
Compare
Choose a tag to compare

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

31 Jul 22:59
b76d266
Compare
Choose a tag to compare

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

31 Jul 00:06
b9e5d69
Compare
Choose a tag to compare

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 and errdefer.

Full Changelog: v0.3.5...v0.3.6