diff --git a/src/download/0.6.0/release-notes.html b/src/download/0.6.0/release-notes.html index a02495257..8066c30de 100644 --- a/src/download/0.6.0/release-notes.html +++ b/src/download/0.6.0/release-notes.html @@ -2217,7 +2217,7 @@

0.6.0 Release Notes

When one of these is accepted, it will be a compile error to copy some types. - to avoid copying, one can denote the capture value to make it a pointer: + To avoid copying, one can denote the capture value to make it a pointer:

{#code_begin|test|capture_aliasing#} const std = @import("std"); @@ -2456,7 +2456,7 @@

0.6.0 Release Notes

{#header_open|Slicing with Comptime Indexes#}

- When slicing and the length is comptime-known, the expression type is now + When slicing where the length is comptime-known, the expression type is now a single-item pointer to array {#syntax#}*[N]T{#endsyntax#} . Prior to this change an error-prone {#syntax#}@ptrCast{#endsyntax#} was required.

@@ -2657,7 +2657,7 @@

0.6.0 Release Notes

does not require an allocator.
  • - Sebsatian Keller added std.math constants such as log2e and sqrt2. + Sebastian Keller added std.math constants such as log2e and sqrt2. Note that with #425 solved these would not be needed, and would be removed.
  • @@ -2680,7 +2680,7 @@

    0.6.0 Release Notes

    when the time spent in the critical section is minimal and acquiring/releasing is done frequently. The implementation chosen for this was that of lock_futex.go from Golang 1.13 as it provides a nice balance between spinning and deciding to block (another possibility - could be rust/webkit `parking_lot`). Because this implementation only needs a futex interface, + could be rust/webkit parking_lot). Because this implementation only needs a futex interface, it can be reused:

    2) Parker API

    @@ -2984,7 +2984,7 @@

    0.6.0 Release Notes

    The good news:

    @@ -3041,7 +3041,7 @@

    0.6.0 Release Notes

    {#code_end#}

    InStream, OutStream, and SeekableStream were already generic - across error sets, it's not really worse to make them generic across the + across error sets; it's not really worse to make them generic across the vtable as well, which is what this change did.

    @@ -3115,9 +3115,9 @@

    0.6.0 Release Notes

  • Various APIs and implementations improved to take advantage of directory handles.
  • Error sets of various functions are improved to no longer have some kinds of errors, such as {#syntax#}error.OutOfMemory{#endsyntax#}, or in the case of deleting a file, {#syntax#}error.NoSpaceLeft{#endsyntax#}.
  • -
  • The new convention for APIs with null-terminated path parameters is the 'Z' suffix rather than 'C' suffix.
  • -
  • Some APIs are modified to take "options" structs which have default fields values.
  • -
  • inode number / file index is exposed into File.Stat.
  • +
  • The new convention for APIs with null-terminated path parameters is a 'Z' suffix rather than a 'C' suffix.
  • +
  • Some APIs are modified to take "options" structs which have default field values.
  • +
  • inode number / file index is exposed in File.Stat.
  • Cross-platform file locking flags are supported.
  • fs.File supports setEndPos to grow/shrink the file size as needed. (#4716)
  • Filesystem APIs now integrate with {#link|Async I/O#}, including automatically performing @@ -3293,7 +3293,7 @@

    0.6.0 Release Notes

    zen uefi

    This list was the list of targets that LLVM supported + - zen(a hobby OS not maintained for over 1 year) + + zen (a hobby OS not maintained for over 1 year) + UEFI.

    @@ -3371,7 +3371,7 @@

    0.6.0 Release Notes

    } {#code_end#}

    - {#syntax#}system{#endsyntax#} in this refered to: + Where {#syntax#}system{#endsyntax#} referred to:

    {#code_begin|syntax#} /// When linking libc, this is the C API. Otherwise, it is the OS-specific system interface. @@ -3388,7 +3388,7 @@

    0.6.0 Release Notes

    }; {#code_end#}

    - {#syntax#}else => struct{},{#endsyntax#} is modified to look for + Now, {#syntax#}else => struct{}{#endsyntax#} is modified to look for {#syntax#}@import("root").os{#endsyntax#} if it is provided. With this modification, as long as the OS package defines all the constants (such as {#syntax#}fd_t{#endsyntax#} and {#syntax#}EISDIR{#endsyntax#}), then @@ -3413,7 +3413,7 @@

    0.6.0 Release Notes

    Now that this is implemented, Zig has first class support for all operating systems. The main difference between upstream-recognized OSes and "other" OSes would be where the support - is maintained - upstream zig std lib, or in a third party "OS layer" package. + is maintained: in zig's std lib, or in a third party "OS layer" package.

    With this new feature, upstream support for Zen hobby OS is removed. @@ -3474,7 +3474,7 @@

    0.6.0 Release Notes

    uses {#link|Sentinel-Terminated Pointers#}.
  • Added {#syntax#}std.mem.span{#endsyntax#}.
  • Added {#syntax#}std.mem.spanZ{#endsyntax#}.
  • -
  • Added {#syntax#}std.mem.zeros{#endsyntax#} which zero-initializes types which have +
  • Added {#syntax#}std.mem.zeroes{#endsyntax#} which zero-initializes types which have well-defined memory layouts. (#4544)
  • Added {#syntax#}std.mem.Allocator.allocSentinel{#endsyntax#}.
  • Added {#syntax#}std.mem.indexOfSentinel{#endsyntax#}.
  • @@ -3824,7 +3824,7 @@

    0.6.0 Release Notes

    Bootstrapping is not to be confused with {#link|self-hosting|Self-Hosted Compiler Progress#}.

    - I forgot to mention in the blog post, when you don't pass any optimization flags to + I forgot to mention in the blog post that when you don't pass any optimization flags to zig cc, Zig determines that Debug Mode is appropriate, and enables Clang's UBSAN. @@ -4565,7 +4565,7 @@

    0.6.0 Release Notes

  • Exported variables now respect linkage.
  • Alexandros Naskos fixed slicing of C pointers to no longer produce {#syntax#}allowzero{#endsyntax#} slices. Instead they insert a runtime assertion. (#4462)
  • Alexandros Naskos improved made the std lib VDSO code more robust and it now operates successfully inside Windows Subsystem for Linux. (#3997)
  • -
  • LemonBoy improved arrray subscripts to properly type coerce to {#syntax#}usize{#endsyntax#}. (#4169)
  • +
  • LemonBoy improved array subscripts to properly type coerce to {#syntax#}usize{#endsyntax#}. (#4169)
  • LemonBoy implemented a compile error for comparison between enum literal and untagged enum. (#4770)
  • xackus fixed an overflow in {#syntax#}std.fmt.parseFloat{#endsyntax#} (#4845)
  • MichaĆ«l Larouche fixed adler32 returning incorrect value with large input.