zig (0.13.0-1) unstable; urgency=medium

  [ Andrew Kelley ]
  * init
  * link against LLVM
  * input output
  * add license
  * read a file
  * tokenize
  * preprocessor detects #include directives
  * preprocessor runs once
  * some half done thing I forgot about ¯\_(ツ)_/¯
  * tokenizing hello.zig
  * building part of the hello world AST
  * parser generator beginnings
  * parsergen parsing a simple grammar
  * progress toward more complex parser gen
  * experiment with being a linker
  * delete ELF parsing code
  * generated parser understands tuples
  * parser generator supports sub rules
  * parser generator supports a simple OR
  * grammar doesn't need the option() construct
  * delete parser generator. let's try recursive descent
  * parsing hello.zig example with recursive descent
  * more detailed AST inspection
  * semantic analysis checks for multiple definitions of functions
  * partial hello world codegen
  * hello world IR code looks good
  * codegen: fix param type of const strings
  * write object file and fix void return type
  * add unreachable expression
  * hello world example working
  * fix not using subtarget features
  * debug information for functions
  * debug symbols implemented; debugging with gdb works
  * only \n and ' ' are valid whitespace characters
  * debug/release mode
  * simple vim syntax highlighting
  * support linker directives
  * cleanup
  * build: improve findllvm script
  * build: fix findllvm script

  [ Josh Wolfe ]
  * fix typo

  [ Andrew Kelley ]
  * fix invalid memory write
  * parser: more AST printing code for debug purposes

  [ Josh Wolfe ]
  * inline AstNodeStatement

  [ Andrew Kelley ]
  * assert(false) -> zig_unreachable()

  [ Josh Wolfe ]
  * clean up noreturn stuff

  [ Andrew Kelley ]
  * fix the remaining TODOs in the source

  [ Josh Wolfe ]
  * inline AstNodeStatementExpression

  [ Andrew Kelley ]
  * parser: force ast printer to be correct
  * no errors during codegen
  * add tests

  [ Josh Wolfe ]
  * more readable integer constant
  * add hook for environment variable ZIG_DEBIAN_HACK. see #1.

  [ Andrew Kelley ]
  * call ld with correct -dynamic-linker argument
  * support C-style comments, plus nesting
  * allow empty function and return with no expression
  * add pub and export visibility modifiers and optimization
  * figure out integers
  * rename standalone.cpp to run_tests.cpp
  * add tests for compile errors
  * add root export declaration which is overridable by command line options
  * more vim doc files
  * remove unnecessary codegen llvm initialization
  * ability to export .o file
  * parse and codegen for math expressions
  * remove LLVMZigTargetMachineEmitToFile
  * parser: add missing `static`
  * add unary expression
  * rename unary expression to prefix op expression
  * function call names are expressions

  [ Josh Wolfe ]
  * flatten expression ast to hide operator precedence

  [ Andrew Kelley ]
  * codegen: fix wrong node type

  [ Josh Wolfe ]
  * merge arithmetic binary operator gen functions

  [ Andrew Kelley ]
  * add missing panic for shared library output

  [ Josh Wolfe ]
  * inline PrimaryExpr ast node

  [ Andrew Kelley ]
  * ability to generate shared library and h file
  * minor parser refactoring
  * add directive to specify root export version
  * add bad version string test case

  [ Josh Wolfe ]
  * factor analysis code out of codegen
  * rename variable

  [ Andrew Kelley ]
  * analyze no longer depends on llvm C++ API

  [ Josh Wolfe ]
  * untangle analyze_node into a stricter call graph

  [ Andrew Kelley ]
  * all LLVM C++ API contained to one file

  [ Josh Wolfe ]
  * no more TypeId. use g->builtin_types.
  * implement basics of type checking

  [ Andrew Kelley ]
  * refactor code to prepare for multiple files

  [ Josh Wolfe ]
  * fix ast printer names

  [ Andrew Kelley ]
  * closer to multiple files working
  * analyze looks for root export decl only in the root source file
  * colored error messages that tell the source file
  * add --color cli arg to override tty detection
  * support multiple files
  * add test for bad import

  [ Josh Wolfe ]
  * string literals have type *const u8
  * implicit void statements and all tests pass with type checking

  [ Andrew Kelley ]
  * support if conditionals
  * fix parameter access and thus shared library example
  * add test for undeclared identifier error
  * fix execution reaches end of non-void

  [ Josh Wolfe ]
  * parsing variable declaration

  [ Andrew Kelley ]
  * add labels and goto

  [ Josh Wolfe ]
  * analysis for variable declaration, but not variable reference
  * fix analysis for variable reference
  * local variables work
  * tests for local variables
  * fix if-else type mismatch crash
  * add bool literals
  * tests for bool stuff
  * correkt spelling error
  * can't declare unreachable variables
  * test for separate scopes not colliding
  * fix codegen for void parameters
  * test for void parameters

  [ Andrew Kelley ]
  * parseh command, parses a C .h file and produces extern decls
  * parseh: detect fixed size integer types
  * more C header interoperability
  * exporting .h file supports void
  * parseh: fix wrong fn parameters in some cases
  * fix reading source from stdin
  * error for extern function with void parameter
  * run_tests supports --reverse arg
  * add unused label error
  * update README
  * fix hello world example
  * update README
  * add mutable local variables

  [ Josh Wolfe ]
  * cmake needs to be taught a lesson in debian paths
  * initialize mutable variables to zero
  * let is now a statement, not an expression
  * getting started on array types

  [ Andrew Kelley ]
  * add debugging info for array type
  * all variables have memory addresses
  * integrate debug scopes with block context
  * add local variables to debug info
  * codegen: do all the allocas at beginning of function
  * codegen: set target triple and data layout
  * codegen does signed, unsigned, and floating point math
  * add array access syntax
  * array access support
  * support assigning to arrays
  * add test for arrays
  * parseh: add c header files
  * parseh: better results for stdio.h
  * ability to call external variadic functions

  [ Josh Wolfe ]
  * fix typo

  [ Andrew Kelley ]
  * parseh: cleanup types
  * readme: update int types
  * doc: update vim syntax
  * add language reference documentation
  * add inline assembly support
  * provide std.zig and add it to import paths
  * hello world working without libc
  * move roadmap to github issues
  * readme: update current status
  * prepare codebase for struct and string support
  * std: print_str no longer requires length argument
  * progress on struct support

  [ Josh Wolfe ]
  * fix a + b + c and similar
  * fix short circuit expressions
  * tokenizing assignment operators
  * parsing assignment operators
  * codegen and tests for modify operators. closes #16

  [ Andrew Kelley ]
  * structs are working

  [ Josh Wolfe ]
  * prefer checking a type's id over comparing it to a builtin_types entry

  [ Andrew Kelley ]
  * fix incorrect debug info path to imports
  * add number literal type
  * std: factor out the write syscall and make it public

  [ Josh Wolfe ]
  * fix compile -Werrors
  * prefer `int *token_index` over new_token_index

  [ Andrew Kelley ]
  * instead of *mut and *const, & and &const
  * doc: update vim syntax
  * `const` and `var` instead of `let` and `let mut`
  * analyze: BlockContext has concept of module scope
  * add global variable support
  * constant initializers allow simple expressions
  * std: expose exit syscall
  * support inline assembly expressions with return type
  * std: more efficient inline assembly
  * std: even more efficient inline assembly
  * codegen: add support for shortening cast

  [ Josh Wolfe ]
  * tokenizer parses all number literal types
  * more number literal syntax is supported. floats still need work

  [ Andrew Kelley ]
  * when linking with libc use the C runtime library
  * readme: add note about discovering libc path
  * readme: provide bash to get c dir

  [ Josh Wolfe ]
  * better radix handling in float parsing. base 10 still doesn't work.
  * some tests for number literals
  * add number literal tests for integers
  * base 10 decimals work now. closes #15

  [ Andrew Kelley ]
  * add implicit casting support
  * implicit casting from constant size array to string
  * analyze: clean up type checking
  * fix assignment operators for struct fields
  * support addressof operator and struct pointer field access
  * use realpath to avoid duplicate imports
  * structs have debug information
  * add some brainstorming example zig code
  * codegen: fix struct pointer field access
  * analyze: error for infinite size struct
  * add test for invalid struct field access
  * codegen: support byvalue struct assignment
  * inline assembly uses -> instead of return
  * add struct value expression
  * add test for error for redefinition of struct
  * add error for byvalue struct param on exported fn
  * add error for missing or duplicate field in struct value expr
  * add test for invalid field in struct value expression
  * add while loop
  * add test for while loop
  * add break expression
  * add error for break outside loop
  * implement continue expression
  * parse if maybe expression
  * analyze if maybe var expressions
  * block expressions require parens
  * basic maybe type working
  * error for if var expression not maybe type
  * closer to guess number example working
  * ability to access pointers with array indexing syntax
  * fix implicit cast after unreachable bad code gen
  * codegen: emit debug metadata for parameters
  * fix various bugs related to guess number example
  * add rand example that doesn't yet work
  * add #typeof() compiler function
  * implement #sizeof()
  * multiple files example no longer use libc
  * partial import segregation
  * import segregation for types
  * cleanup readme
  * add member functions
  * member functions get a namespaced symbol
  * add pointer dereferencing operator
  * fix crash when struct field is invalid
  * fix binary operators incorrectly assuming i32
  * fix += not allowed for pointers
  * progress toward compile time constant expression evaluation
  * add #min_value() and #max_value()
  * fix some errors in rand example
  * analyze: ability to call a method on a struct pointer
  * `#sizeof` allowed in constant expression
  * update rand example
  * array syntax is [10]i32 instead of [i32; 10]
  * support unknown size arrays
  * add unknown size array test
  * codegen: fix member function invocation
  * codegen: fix array access of struct field
  * codegen: arithmetic is all wrapping for now
  * codegen: fix lshr/ashr not looking at int sign
  * fix bug in RNG example
  * support pub structs. move rand to std lib.
  * fix undefined reference to memcpy in release mode
  * while detects simple constant condition
  * re-add errno.zig
  * add ?? maybe unwrapping binary operator
  * tokenize: detect "..." after a number literal
  * implement array slicing syntax
  * fix codegen for implicit maybe wrap
  * codegen: fix else if expression and maybe unwrap expr
  * fix guess number example. now it works
  * implement unknown size array indexing and slicing
  * add restrict qualifier on pointer arguments
  * suport checked arithmetic operations via intrinsics
  * rename `restrict` to `noalias`
  * implement pub const
  * add memcpy and memset intrinsics
  * order-independent declarations
  * detect and report top level decl dependency loop
  * order-independent declarations even from imports
  * cleanup guess number example
  * parsing enum declarations
  * refactor out the horrible beast that was codegen_node
  * update enum parsing to new plan
  * delete unused enumfield and enumdecl node types
  * fix codegen for void struct fields
  * resolve enum types and emit debug info
  * simple enum support
  * doc: rename match to switch in vim syntax
  * support enums with values attached
  * fix not adding builtin functions code
  * fix build with gcc
  * all types are now expressions
  * fix noalias codegen
  * instead of 'as' to cast, call type as function
  * parser: type expressions cannot be assignment
  * fix next_node_index on wrong struct
  * overflow intrinsics take type as first argument
  * merge constant expression evaluator with analyzer
  * delete parseh
  * fix build with gcc
  * solve the mystery of undefined reference error
  * fix readme formatting
  * more readme formatting
  * reduce precedence of {} suffix operator
  * add void arrays test
  * rename "use" to "import"
  * parser: fix not setting container init kind
  * fix error message for struct initialization on array
  * support array literals
  * rename "alwaysinline" to "inline"
  * better main symbol prototype
  * proposed cat example implementation
  * fix cat example
  * fix nested arrays
  * add for loop which can iterate over arrays
  * refactor std to use for loop
  * pave the road for function pointers
  * add function pointer support
  * add error for shadowing a type
  * revise plan for cat example
  * use signed integer for sizes of things
  * Revert "delete parseh"
  * add switch statement to language reference
  * add switch statement support to parser
  * cmake: detect libLLVM.so

  [ MovingtoMars ]
  * start working on lang spec
  * rename value_count to member_count

  [ Andrew Kelley ]
  * basic support for switch expression
  * doc: remove string keyword from vim syntax highlighting
  * parsing error value decls and error value literals
  * number literal rework
  * allow constants to have number literal values
  * implicit casts rewrite the AST
  * add test for const number literal
  * add undefined reserved word
  * add compile error for non constant expr global
  * support statically initialized structs
  * un-special case constant global strings
  * support statically initialized array literal
  * add undefined literal
  * implement undefined literal
  * character literal returns a number literal
  * fix no error emitted for redeclaring global var
  * implement literal error values
  * codegen: fix field access of arrays
  * main returns %void
  * fix hang when returning from while loop
  * various small cleanups
  * introduce the error keyword and type
  * fix number literal implicit cast
  * ability to return structs byvalue from functions
  * fix parameter access of sret functions
  * support the `%return` expression
  * update std lib to use error type and global variables
  * implement %% operator
  * fix tests and add %% operator test
  * bootstrap: use %% operator instead of cast
  * update README
  * implement %% prefix operator
  * codegen: get rid of cur_block_context
  * syntax: back to -> for return type, no more =>
  * compiler enforces checking for error
  * implement compile time string concatenation
  * analyze: fix crash when return type is invalid
  * add the C integer types
  * add constant expression evaluation for negation
  * variable initializations are now mandatory
  * update README
  * different extern syntax and simplify parsing top level decls
  * add c_import top level decl
  * docs: update deps to llvm and clang 3.7.1
  * upgrade to the libclang C++ API
  * parseh works for simple functions
  * fix crash when compiling empty file
  * add error for `@typeof` or `&` of number literal
  * remove bogus example code
  * add explicit cast from isize/usize to pointer
  * fix codegen for pointers to void
  * fix comparing incompatible number literals crash
  * fix `%%` prefix operator codegen for simple values
  * parseh: recognize typedef types
  * parseh correctly handles C's void type

  [ MovingtoMars ]
  * simple malloc and free using mmap
  * malloc fails on proper errors
  * check mmap return against -1

  [ Andrew Kelley ]
  * fix stdio duplicately defining va_list
  * parseh: still produce output when not all types are known
  * build command supports -isystem argument

  [ MovingtoMars ]
  * malloc fails on mmap error code properly

  [ Andrew Kelley ]
  * move AST rendering code to separate file
  * c_import of stdio.h works for some functions

  [ MovingtoMars ]
  * basic float printing
  * cleanup float printing
  * remove accidental printf from float printing

  [ Andrew Kelley ]
  * parseh: add --c-import-warnings option
  * parseh recognizes C enums
  * add parseh tests
  * add restrict -> noalias parseh test
  * add parseh test for multiple fn prototypes
  * std: remove incorrect float printing code
  * null pointer optimization for ?&T
  * parseh understands simple structs
  * parseh understands elaborated structs and enums
  * parsh understands constant sized arrays
  * ability to refer to member function directly
  * ability to call member functions directly
  * fix function calling of pointers
  * add test for calling the result of if-else expr
  * parser: allow missing fn name and missing param names
  * ability to specify function type
  * parseh handles self referential structs and fn pointers
  * parseh understands bodyless struct used in fn
  * fix incorrect loading of files over 8192 bytes
  * attempt to get preprocessor entities from libclang
  * parseh understands simple character literal macro

  [ MovingtoMars ]
  * float printing mostly works
  * better f64_is_nan
  * remove some magic numbers from float printing
  * fix some inaccuracy in float printing

  [ Andrew Kelley ]
  * parseh understands number literal defines
  * parseh defines can reference other defines
  * parseh fix crash
  * parseh understands variable declarations
  * parseh properly ignores anonymous structs
  * parseh understands types better and handles some situations better
  * codegen extern global variables correctly
  * delete bogus --help text
  * fix some parseh crashes
  * parseh: use the decayed type not original type
  * parseh understands forward struct definitions
  * parseh handles typedef void better
  * parser: fix parsing of type decls
  * parseh: correct debug for forward decls
  * add --library-path cli option
  * typedecl top level decls respect pub
  * fix C interaction with maybe function pointers
  * support casting between int and float types
  * support casting between floats
  * codegen: fix negation for floats
  * fix invalid const expr eval for negative floats
  * roadmap item acheived enough to put in README
  * parseh: do not create macro alias for extern vars
  * parseh understands macros which alias global fn ptr vars
  * add ?? prefix operator
  * optimization: avoid codegening unused functions
  * build: fix release mode
  * c_import top level decl supports pub
  * inline is a keyword instead of a directive
  * remove the constructor of hash map
  * codegen: avoid a table lookup
  * codegen: avoid table lookup in assembly expression
  * codegen: avoid table lookup for field access
  * add test for var local eval const expr
  * build: prefer llvm-config
  * add abort function and "cold" fn attribute
  * unreachable causes a trap in debug mode
  * codegen: ?? prefix operator causes trap in debug mode
  * build: fix libc path finding
  * fx segfault with colliding bogus top level functions
  * fix crash when incomplete struct used as argument
  * fix various semantic analyzer crashes
  * fix false positive error with same named methods in incomplete struct
  * add @compile_var builtin and "is_big_endian" compile var
  * types sized and aligned with LLVM target data layout API
  * add @compile_var("is_release")
  * fix debug info for arrays being 1 element too short
  * fix debug symbols for byval arguments
  * basic support for building a test target
  * test runner prints test names
  * fix handling of implicit casts in binary operators
  * skip analyzing parameters of invalid function call
  * add ability to call function pointer field
  * fix running tests when linking with libc
  * allow defining errors with the same name
  * move os_get_random_bytes to os.zig
  * fix crash when initializing struct if field is invalid
  * implement constant values for enums with payload
  * for loop supports break and continue
  * ability to explicitly cast bool to int
  * fix debug info for bool type
  * codegen: fix switch expressions for enums with payloads
  * switch statements resolve peer compatibility
  * no namespace required when switching on enum
  * support variable in switch expression prongs
  * switch trap in debug mode when no prong found
  * another planned feature complete
  * fix explicit casting from integer literal to float
  * add rand.float32 to standard library

  [ realazthat ]
  * Added code for generating nonnull attributes

  [ Andrew Kelley ]
  * codegen: use gen_index for nonnull attribute
  * add nonnull to functions with pointer return type
  * update for loop syntax
  * parsing code for defer and more
  * simple unconditional defer support
  * codegen: return respects unconditional defer
  * implement %defer and ?defer
  * parser recognizes %return in a prefix op expression
  * rhs of ?? and %% can be any expression
  * add test for ?? return and add const expr eval for ? prefix op
  * std: remove auto flushing of stderr. use printf
  * parseh understands simple string literal macros
  * parseh: fix not properly demoting structs to typedefs
  * unreachable return type can cast to any other return type
  * ability to explicitly cast maybe pointers to each other
  * add debug info for slices
  * fix debug type of ptr and len fields of slices
  * fix a bogus call to bignum_normalize causing assertion failure
  * blocks with one statement pass constant expression eval
  * add debug info for loop variables
  * implement @const_eval
  * error for non const expr in array size outside fn
  * remove ptr field access of arrays
  * array.len generates a constant number literal expression
  * improve performance for get_fn_type
  * parseh: tiny performance improvement
  * add link to tetris example
  * support static linking against libc

  [ Josh Wolfe ]
  * fix some of the ubuntu build trouble

  [ Andrew Kelley ]
  * support overriding the dynamic linker argument to ld
  * fix build with GCC
  * std: fix parse_u64 implementation and add test
  * @const_eval returns poison value for type when it fails
  * fix -dynamic-linker arg to ld when not overridden
  * if statements can be const expr evaluated
  * minor readme rewording
  * don't create debug type for void arrays
  * add link to intro in readme
  * add "targets" command to list architectures, oses, abis
  * targets command shows which ones are native
  * cleanup target data organization
  * ability to cross compile
  * fix division by 0 crashing compiler
  * add compile error for missing enumeration value in switch
  * add @compile_var("os") and @compile_var("arch")

  [ Serge Paquet ]
  * fix undefined LONG_LONG_MAX compilation error

  [ Andrew Kelley ]
  * add @compile_var("environ")
  * i386 support
  * std: delete malloc and free
  * c integer size takes into account architecture and OS
  * fix build on GCC
  * avoid codegening functions never called from conditional compilation
  * if statement children nodes know if they're compiled out
  * add @ctz, @clz and compiler_rt implementation
  * parseh: fix branching on undefined memory
  * a = b % c uses the types of b and c instead of a
  * add windows C int sizes
  * fix some c header symbol collisions
  * dummy implementation of os_get_random_bytes for windows
  * if any c imports fail, don't emit undefined identifier errors
  * respect link order in source code
  * parseh: more specific warning for different calling conventions
  * parseh: support attributed types
  * parseh: ZIG_PARSEH_CFLAGS -> ZIG_NATIVE_PARSEH_CFLAGS
  * parseh: fix __cdecl causing a fn ptr to be double ptr
  * update readme
  * use llvm-config to find llvm include dirs
  * MacOS has the same int sizes as Linux
  * handle libc include path and libc lib path differently
  * first pass at linking on macos
  * add missing system library to darwin linker job
  * linking on darwin: provide builtins and -arch
  * update bootstrap to work for macos too
  * prepend underscore to non exported functions
  * add windows os code
  * os: fix ability to compile for windows
  * rename 'environ' to 'env_type'
  * fix 64 bit integer printing for mingw
  * use PRIuMAX instead of PRIu64 for mingw
  * back to normal print specifiers
  * os: implement windows os layer
  * update run_tests to work on windows
  * link: on windows link test runner and builtin o files
  * fix build error with signed/unsigned

  [ notkild ]
  * Add support to open, create and close file

  [ Andrew Kelley ]
  * rewrite how importing works
  * fix comparison of unsigned integers error
  * rename syscall.zig to linux.zig
  * better hash table performance
  * c_void is provided outside of C imports
  * fix detection of @import and @c_import inside fn body
  * build: std files each specify install destination
  * update to llvm 3.8.0
  * README: update dependencies
  * add multiline string literal
  * support simple generic functions
  * fix generics not using ast clone
  * ability to compare function pointers at compile time
  * add error for gt and lt comparison of invalid types
  * support multiple generic function instances
  * generic functions use correct type for generic args
  * fix evaluating generic function instance in wrong context
  * fix segfault in generic functions

  [ Josh Wolfe ]
  * fix gcc compile errors

  [ Andrew Kelley ]
  * update cat example, refactor std

  [ Josh Wolfe ]
  * fix gcc compile error

  [ Andrew Kelley ]
  * fix crash when passing empty string to function
  * support hex escapes in string literals

  [ Josh Wolfe ]
  * fix parsing of hex literal 0xb

  [ Andrew Kelley ]
  * implement @err_name builtin function
  * fix debug symbols regression after llvm 3.8.0
  * fix cat example by flushing stdout at end
  * re-introduce goto
  * add @breakpoint()
  * goto: jumping out of scope runs defers
  * add error for assigning null to non-nullable pointer
  * update readme
  * fix crash when casting undefined to slice
  * add error for accessing empty array
  * move some tests into self hosted
  * unsigned ints implicitly cast to signed ints when they fit
  * add error for unable to infer expression type in if statements
  * compile-time function evaluation of pure functions
  * eval: support more node types
  * eval: ability to eval more things
  * passing all tests
  * add error for dividing by zero in static function evaluation
  * more eval tests and fix eval call analyze code
  * eval: support array literals
  * fix evaluating generic functions in wrong context
  * fix crash with generic function and implicit cast
  * move more tests to self-hosted land
  * update README
  * update readme
  * move 2 tests to self hosted land
  * add @embed_file builtin function
  * rearrange standard library a bit
  * fix crash in non-const expression in struct literal outside fn
  * std: remove broken windows random implementation
  * implement constant initialization of enum values
  * add test for public enums
  * enum init uses container init syntax instead of fn call
  * fix casting with imported symbol not working
  * add optional continue expression to while loop
  * for loop: add ability to get pointer to elem var
  * fix undeclared identifier not marking function as impure
  * ability to use a struct with no fields
  * better parsing of C macros
  * add syntax to allow symbols to have arbitrary strings as names
  * parseh: support anonymous enums and enums with initializers

  [ Josh Wolfe ]
  * fix gcc build errors
  * fix vim syntax highlighting for multiline strings

  [ Andrew Kelley ]
  * build: add test coverage target
  * fix returning empty struct from function
  * fix handling of slice of zero bits type
  * cat example: fix not flushing stderr
  * add skeleton for union support
  * add compile error for invalid equality operator uses
  * add codegen for pointer comparison
  * rename unknown_size_array to slice
  * fix ability to parse character literals
  * support switching on error union type

  [ Josh Wolfe ]
  * vim syntax: single-line strings must be contained in a single line

  [ Andrew Kelley ]
  * add array bounds checking in debug mode
  * ability to compare booleans
  * add missing debug entry for breakpoint
  * better parameter codegen
  * better alignment value for stack variables
  * ability to specify body of an extern function
  * add array multiplication operator
  * build: link against libLLVM.so if available
  * implement string escapes
  * support maybe destructuring into a pointer variable
  * beginnings of network standard library code
  * more networking standard library code
  * add cmpxchg builtin function
  * add fence builtin function
  * add integer wrapping
  * add tests for integer overflow crashing
  * add tests for integer wrapping
  * add debug safety for left shifting
  * add shl_with_overflow builtin function
  * fix eval integer wrapping and add tests
  * implicit wrap widening cast on integer peer types
  * add frame_address and return_address builtins
  * link: don't put -l in front of .a or .so files
  * better array concatenation semantics
  * self hosted tests test release mode too
  * std: separate str and cstr
  * support generic data structures
  * generic args available to member functions
  * ability to cast slice to u8 slice
  * add debug safety for division
  * add div_exact builtin fn
  * fix null literal outside function
  * ability to cast u8 slice to bigger slice
  * add list implementation to standard library
  * not-yet-working implementation of generic hash map
  * add debug safety for shortening casts
  * support variable declarations in structs
  * fix ability to use previous generic params and
  * add hashmap to standard library
  * some work in progress networking code
  * builtin: use explicit type instead of typeof function
  * recognize ar program and pass --gc-sections to ld
  * add readonly attribute to relevant functions and parameters

  [ José Miguel Sánchez ]
  * Add --zig-std-dir
  * For the sake of correctness: we can always rely on ZIG_STD_DIR

  [ Andrew Kelley ]
  * ability to cast maybe pointer to isize/usize
  * std: fix linux.get_errno
  * we have generics now
  * std: make parsing an unsigned number generic
  * update README with website
  * add error for wrong return type of main
  * std: take advantage of ability to cast maybe pointer to isize
  * add compile_err builtin
  * switch on compile var marks entire namespaces
  * add 64 bit division test
  * add int_type builtin function
  * add bit_count, is_wrapping, is_signed fields to int types

  [ Travis McDemus ]
  * Add unsigned and signed generic print fns

  [ Andrew Kelley ]
  * compiler-rt: add __aeabi_uldivmod
  * fix crash when error evaluating target of for expr
  * add beginning of print stack trace function
  * support extern C ABI for return types
  * add some docs about builtin functions
  * linux: accept calls accept4 with 0 for flags
  * fix raw string literal crash
  * fix offset map for inline assembly error messages
  * inline assembly: allow empty output list
  * don't add no-frame-pointer-elim for inline functions
  * fix tokenizing string symbols with hex characters in them
  * parseh: support octal in C macro string literal
  * ability to cast explicitly from int to enum
  * fix duplicate type defined when imported from parseh
  * fix not resolving use declarations
  * rename NodeTypeStructDecl to NodeTypeContainerDecl
  * inline parameters
  * std: add OutStream.write_byte
  * unsigned integers for sizes of things
  * std: improve rand implementation and API
  * std: cleanup of rand
  * explicit wrapping integer operations
  * remove multiline comments
  * std: add vaporware plans for floating point builtins
  * std: add tests for mt32 and mt64
  * new multiline string syntax
  * implement multiline C string syntax
  * ability to have a return type of 'type'
  * add zeroes value
  * add style guide
  * add CBuf to standard library
  * std: conform to style guidelines
  * std: replace print_u64/i64 with printInt
  * fix crash when calling method on slice
  * progress toward stack trace printing
  * std: more progress toward stack printing
  * implement `?return` expression
  * implement null as a literal type
  * add ability to explicitly cast enum with no payload to int
  * tokenizer: add missing return statement on float overflow
  * stronger static eval recursive test
  * fix c hello world example
  * fix std io input to work for non seekable fds
  * restore shared library functionality
  * port to llvm 3.9
  * generate debug info for global constants

  [ Wink Saville ]
  * Add Email list
  * Fix email address of Email list

  [ Andrew Kelley ]
  * fix gcc 5.4.0compile errors
  * README: clarify build vs runtime dependencies
  * rename compileErr builtin to compileError
  * rename errName builtin to errorName
  * maxValue and minValue builtins return number literal
  * build: fix warning on gcc 6.2
  * build: add missing static in tokenizer
  * build: remove -Wmissing-prototypes
  * ability to infer parameter types
  * std: avoid calling close twice in InStream

  [ Constantine Tarasenkov ]
  * Fix for C pointer generator

  [ Andrew Kelley ]
  * std: use parameter type inference on min and max functions
  * langref: correct builtin function names
  * rename LLVMZig to ZigLLVM
  * fix compile error message for wrong arg count on method
  * add compile error for assigning through const
  * fix crash with []type{} expression
  * std: fix compile error for unsupported os
  * change `unreachable{}` to `@unreachable()`

  [ alter ]
  * MacOSX compatibility

  [ Andrew Kelley ]
  * darwin compat fixups
  * tests: use a more robust path to self_hosted.zig
  * fix compiler crash involving slice with const slice child
  * ability to specify -framework linker args for MacOS
  * use size_t for indexes
  * tests: correct test name
  * avoid emitting "no member" errors when use import fails
  * fix error when switch prong has implicit cast
  * exporting an object creates an h file
  * fix incorrect linking from previous commit
  * fix compile crash when leaving out for loop parameter
  * os: fix file descriptor leak in os_exec
  * stack trace is able to figure out compilation unit
  * fix compiler crash for misspelled type with pointer only reference
  * enums support member functions
  * ability to have struct to have a field which is slice of itself
  * refactor field access code into more generic container code
  * add error message for method call on non method
  * fix crash when doing binary not on integer literal
  * emit error for extern function
  * cstr.len and cstr.cmp can run at compile time
  * std/rand: remove unneeded TODO
  * add this keyword refers to thing in immediate scope
  * clean up test directory
  * remove compiler directives
  * fix regression: debug safety sometimes incorrectly disabled
  * *WIP*
  * empty function compiles successfully with IR
  * simple add function works with IR
  * fix warning on some compiler versions
  * IR in 2 passes
  * explicit casting works with IR
  * IR if statements WIP
  * IR working for if statements
  * add variable declaration IR
  * add variable declaration initialization IR

  [ François Saint-Jacques ]
  * capitalize builtins in doc

  [ Andrew Kelley ]
  * IR: introduce concept of lvalues
  * IR supports variable assignment
  * IR can inline loops
  * IR: phi instruction works at compile time
  * IR analysis unrolls a complicated loop
  * IR: ability to assign to an array at runtime
  * more test coverage
  * more test coverage, change 'got' to 'found' in errors
  * ir: ability to modify global vars
  * ir: support return expression
  * *WIP*

  [ Steve Perkins ]
  * quicksort
  * sortCmp allows for a custom cmp function
  * sort requires compare function.
  * add sort to CMakeLists + std/index

  [ Andrew Kelley ]
  * add concept of inline for, inline while, inline var
  * IR: support this literal and bool literal
  * WIP moving all analysis to IR
  * IR: support slice types
  * IR: support pointer types
  * IR: move unused codegen code to commented out in bottom of ir.cpp
  * IR: gen string literal
  * IR handles global variables correctly
  * IR: fix prefix op eval setting wrong type
  * IR: fix hang for unreachable functions
  * IR: add assembly instruction
  * IR: implement compile time array access
  * IR: implement pointer dereferencing (even at compile time)
  * remove superseded eval code
  * IR: pointers to constants don't copy data
  * IR: pointers to constants use correct addresses
  * remove AST cloning code and add AST render for while loops
  * IR: inline assembly working
  * IR: support setDebugSafety builtin function
  * IR: correctly codegening memset and memcpy
  * IR: fix decl references pointerness
  * IR: more maybe type support
  * IR: implement compileVar builtin and more
  * IR: error for uncasted null lit variable
  * IR: implement ir_print for maybe type
  * IR: support sizeOf builtin
  * IR: support unwrap maybe operation
  * IR: implement ctz and clz builtins
  * IR: fix detection of invalid codegen
  * IR: fix codegen for arrays
  * IR: implement setFnVisible builtin
  * IR: generating a switch statement
  * IR: switch expression works with numbers
  * IR: support switch with range
  * IR: add error for non static const on switch case range
  * IR: support inline switch
  * IR: support import builtin function
  * IR: fix parsing while loop
  * IR: support goto and labels
  * IR: fix crash when duplicate label error
  * IR: add inline goto
  * IR: detect error for exceeding branch quota
  * IR: add ref instruction
  * IR: fix not checking for error in unary bool not
  * IR: silence irrelevant function prototype errors
  * IR: function call porting progress
  * rename BlockContext to Scope
  * rewrite scope implementation
  * IR: re-organize where state goes to prepare for generics
  * add missing copyright notices
  * IR: compile time function evaluation
  * IR: inline function evaluation works on generic functions
  * IR: implement generic function calls
  * IR: implement break and continue
  * IR: implement short circuit bool or, and
  * remove the boolean argument from setFnTest
  * IR: implement defer
  * IR: implement compile time eval unwrap maybe
  * IR: add error for assigning runtime value to inline var
  * delete unused builtin function stuff
  * IR: add minValue, maxValue, and negation
  * IR: add compileError builtin fn
  * IR: a bunch of fixes and some additions
  * IR: omit debug safety checks in for loop codegen
  * IR: better array len instruction
  * IR: fix errorName builtin
  * IR: support error union type
  * IR: don't crash if number literal used with pure error
  * IR: fix implementation of parseh
  * IR: implement embedFile builtin
  * IR: implement fence and cmpxchg builtins
  * IR: implement divExact builtin
  * IR: implement truncate builtin
  * IR: implement intType builtin
  * IR: implement compile time array multiplication
  * IR: implement compile time array concatenation
  * IR: implement alloca builtin
  * IR: implement memcpy, memset, and slice expression
  * IR: implement memberCount builtin
  * IR: implement breakpoint builtin
  * IR: implement character literal
  * IR: implement the rest of the builtin functions
  * IR: implement maybe return expression
  * fix external function calls
  * IR: panic with a TODO instead of generating invalid code
  * IR: add more instructions
  * IR: fix switching on enum
  * IR: fix compile time switch eval for enums
  * IR: fix `this` expression
  * IR: consolidate Ref and PrefixOpAddressOf instructions
  * IR: allow undefined compile time values sometimes
  * IR: support var type args and fix phi peer type resolution
  * IR: make generic function type have zero_bits flag
  * IR: unreachable has lowest priority when resolving peer types
  * IR: update some std code to newest zig
  * IR: add runime negation
  * IR: fix type of decls accessed via namespace
  * IR: basic support for implicit casting to const pointer
  * IR: fix container field access via container pointer
  * IR: fix err variable in ErrOkOr instruction
  * IR: phi instruction handles unreachable values correctly
  * IR: fix codegen of ref instruction
  * IR: all structs anonymous
  * hello.zig working with all structs anonymous
  * IR: ability to return a container from a function
  * remove duplicate definition of container_string
  * IR: memoize compile-time evaluated fn invocations
  * IR: add FnProto instruction
  * workaround for Arch being a primitive type
  * IR: add MaybeOkOr instruction
  * errors from inline fn calls include stack trace
  * better error message generic instantiations
  * IR: if and switch guaranteed compile time if target expr is
  * IR: start a new passing self hosted test suite
  * organize tests
  * IR: support error defers
  * IR: support maybe defers
  * IR: update all error messages to be useful if generic instantiation
  * IR: fix lazy eval of enum field access
  * IR: enum init support
  * IR: implement runtime enum init and switch on enum with variable
  * get_error_type calls ensure_complete_type on child
  * IR: fix phi instruction when one of the predecessors is unreachable
  * update more std library to new zig
  * IR: fix compile time evaluation of else prong in switch
  * migrate all the temporary tests to new test file
  * IR: port some tests
  * pass void parameters test
  * IR: port some tests
  * IR: port more tests
  * IR: port more tests
  * IR: fix switch enum variable for void enum field
  * IR: port another test
  * IR: fix missing implicit casts in init expressions
  * port more tests
  * IR: support const ref
  * IR: support compile time global pointer reinterpret
  * IR: port more tests
  * IR: port more tests
  * IR: pass enumToInt test
  * IR: port more tests
  * IR testing: rename cases3 dir to cases
  * IR: pass explicitCastMaybePointers test
  * IR: pass genericMallocFree test
  * IR: port more tests
  * IR: pass staticEvalListInit test
  * IR: port all passing tests over
  * IR: pass intToPtrCast test
  * IR: pass pointerComparison test
  * IR: pass cStringConcatenation test
  * IR: pass intToEnum test
  * IR: pass castSliceToU8Slice test
  * IR: pass passSliceOfEmptyStructToFn test
  * IR: pass pointerToVoidReturnType test
  * IR: pass genericFnWithImplicitCast test
  * rename self_hosted3 to self_hosted
  * IR: error for returning from defer expression
  * IR: better basic block dependency detection
  * IR: handle phi instruction with 0 resulting incoming values
  * eradicate use of zeroes in std
  * IR: add error for goto jumping over variable declaration
  * IR: implement binary not instruction
  * IR: progress toward compiling standard library
  * IR: std makes it to codegen
  * IR: std library passes codegen
  * fix debug information for function pointers in structs
  * IR: add unreachable code compiler error
  * IR: pass MT19937_64 test
  * fix mem.sliceAsInt regression
  * containers created during eval get names for parameters
  * fix mul and sub overflow ops being rendered as addition
  * fix hash map implementation
  * self hosted tests import std library
  * pass undeclared identifier test
  * pass unreachable variable test
  * fix compiler rt
  * pass cannot assign to constant test
  * pass array access compile error tests
  * pass more tests by updating expected error messages
  * pass more tests
  * don't mark call instruction as generated
  * add compile error for initializing struct with non struct type
  * pass conflicting variable name test
  * don't try to eval extern functions at compile time
  * fix some tests
  * fix unable to eval const expr test case
  * pass unnecessary if statement test
  * pass division by zero test
  * partially fix parseh command
  * IR: implement error for missing or extra switch prongs
  * fix a few tests
  * better error message for unable to eval const expr
  * fix some tests
  * pass more tests
  * pass some parseh tests
  * IR: implement macro for function aliasing function pointer
  * IR: fix array concatenation
  * fix use decl regression
  * fix crash when casting fn call arg
  * fix some bugs with structs
  * fix some stuff when llvm has assertions on
  * fix enum codegen and implement comptime switch var on enums
  * fix handling of invalid enumeration
  * fix llvm assertion failure for zero bits structs
  * fix get_maybe_type not ensuring complete child type
  * fix array of enums. also render debug info for const vars
  * fix handling of const values for 2d arrays
  * add test for short-circuit AND and OR assignment
  * implement error when assigning to field of const struct
  * equality comparison of void types is known at compile time
  * ability to equality compare with null
  * add test for compile time bool not operator
  * add test for compile error returning from defer expression
  * get rid of zeroes literal
  * use comptime instead of inline for var and params
  * introduce comptime expression
  * remove staticEval builtin in favor of comptime expression
  * mem.free no longer requires explicit type argument
  * update charToDigit to take advantage of switch syntax
  * basic support for functions with variable length arguments
  * various fixes
  * printf var args proof of concept
  * update cat example code
  * fix runtime branching tricking the comptime evaluation
  * fix behavior for comptime and runtime basic block phi
  * fix sometimes using wrong outer scope for generating defers
  * fix compile time initialization of array with undefined
  * fix crash when assigning too large value to integer
  * readme update
  * add integer literal to pointer explicit cast
  * fix crash when passing void to var args function
  * fix var args allocating wrong amount of memory in compiler
  * document setDebugSafety builtin function
  * prefix op maybe and error are for types only
  * remove ability to mark if and switch as inline
  * fix behavior when initializing struct with undefined
  * fix ability to call method on variable at compile time
  * add try expression
  * update outdated comment
  * make --target-os freestanding work
  * implement packed structs
  * exported global variables get emitted as external in LLVM
  * typedefs work for binary math operations
  * add ability to set linker script
  * add setGlobalAlign and setGlobalSection builtin functions
  * add volatileStore() builtin function
  * in freestanding environment, assume gnu binutils
  * preserve names of exported variables
  * ability to set global variable alignment and ...
  * add compile error when setting non power of 2 alignment
  * remove volatileStore builtin; add volatile pointers
  * memcpy and memset builtins support volatile pointers
  * inline assembly supports `%=` syntax
  * memset and memcpy implementations need not return dest
  * infer hard float from target environments that imply it
  * even external functions which provide definitions get nounwind
  * setGlobalSection and setGlobalAlign work for functions
  * `%=` in inline assembly survives optimization
  * all functions are nounwind because zig does not support exceptions
  * fix volatile not respected for loads
  * delete unneeded IR code and fix assigning to const ptr
  * use printf in test runner code
  * tell LLVM the target sub arch type
  * try expression can omit variable assignments
  * fix assigning to const ptr through struct or index
  * fix volatile not respected for storing through a struct pointer
  * improved behavior on debug safety crash
  * coldcc works better
  * variables, memcpy, and memset all get alignment
  * inline assembly allows clobbers with no input
  * std.io supports printing integers as hex values
  * lots of miscellaneous things all in one big commit
  * remove the depends_on_compile_var code
  * zig logo in readme
  * rework compile-time known pointer values
  * fix crash on string literal with character code >= 128
  * std.io.parseUnsigned buf parameter is const
  * slice and array re-work plus some misc. changes
  * printf: only include + sign on signed ints if width specified
  * fix tokenization assertion failure on some float numbers
  * fix crash when return value is ??void
  * add runtime debug safety for dividing integer min value by -1
  * ability to declare const bitfields
  * move int and array types to central table
  * move volatile pointers to central type table
  * reading from a bit field partially works
  * support arithmetic for non byte aligned integer types
  * ability to write to bit fields
  * pointers with bit offset contain length
  * fix assertion failure when first use of a struct is sizeOf
  * more robust detection of types that failed to resolve
  * correct size of types for packed structs
  * bitfields support for array of non-store-aligned packed structs
  * fix regression with bit fields that align properly
  * fix wrong format specifier
  * update std code for MacOS
  * fix use decls not always working
  * add character format specifier to std.io.OutStream.printf
  * add compile error for control flow using comptime var at runtime
  * add compile error for ignoring return value
  * fix unwrap error payload not emitting debug safety
  * unwrap error payload instruction has side effects only if safety check on
  * README: more robust suggested configuration command
  * fix examples
  * add passing test for floating point edge case
  * more robust const struct values
  * fix inability to write to global in some cases
  * rename CBuf to Buffer0 and some minor std API changes
  * fix assertion failure for some switch errors
  * add compile error for assigning number literal to non-comptime var

  [ Jackie Meggesto ]
  * Fix unused return value in darwin.zig

  [ Andrew Kelley ]
  * remove zeroes from vim syntax file
  * add basic emacs syntax file
  * fix assertion error, trying to dereference to array
  * fix a case of invalid ptr const-ness
  * support passing var args directly
  * break off some of std.io into std.fmt, generalize printf
  * update to llvm 4.0
  * fix not allocating enough memory for passing args
  * add default value for macosx version min when compiling natively
  * codegen nullable void the same way as bool
  * types with zero bits do not have a pointer handle
  * use lld instead of system linker
  * add --each-lib-rpath option and corresponding config option
  * fix behavior with reinterpreting constant memory
  * introduce new test syntax
  * lazy analysis of top level declarations
  * fix test regression regarding shadowing names
  * unify main entry point regardless of whether linking libc
  * on Darwin/MacOS/iOS, add c to link libs implicitly
  * improvements for windows and libc integration
  * don't mangle symbols with underscores
  * use intel dialect for inline assembly
  * introduce copyable concept
  * add test for implicit conversion from array to mutable slice
  * add comptime top level declaration
  * new unreachable syntax
  * replace "&&" and "||" with "and" and "or"
  * organize std and make import relative to current file
  * add comptime eval for some uint comparisons with 0
  * update langref
  * add debug safety checks for remainder division
  * add stack protector safety when linking libc
  * std/mem: take advantage of new printf

  [ Josh Wolfe ]
  * fix cmake finding dependencies for ubuntu

  [ Andrew Kelley ]
  * first pass at zig build system
  * change `@bitcast` to `@ptrcast`

  [ Josh Wolfe ]
  * ignore eclipse project configuration
  * clean up analysis of {blocks}
  * show implicit semicolon rules in langref grammar
  * Require top-level-declaration comptime use {}
  * fix confusion in block expression parsing
  * variable declarations must be followed by semicolon
  * allow implicit semicolon after defer {}
  * add secret void expression after defer statement if it's the last statement in a block
  * defer without a block body requires a following semicolon
  * fix else-if parsing

  [ Andrew Kelley ]
  * zig build system progress
  * expose environment variables in standard library
  * proof of concept build system
  * zig build system: add setLinkerScript and setTarget
  * delete alloca builtin function
  * fix std build for darwin
  * link: delete code that checks the linker version
  * API for command line args
  * zig build system improvements, add some std API
  * zig build system: delete ./build file on success
  * link: fix ignoring first linker arg
  * link: correctly print debug linker invocation
  * zig build system: fix cleanup on error, report spawn error
  * doc: link to Andrea's emacs mode
  * support module level assembly
  * more accurate detection of pub main
  * fix crash when referencing invalid member of builtin enum
  * ability to use zig as an assembler
  * add support to use zig as a linker driver
  * std: ChildProcess.spawn looks at PATH env var
  * Update zig build system to support user defined options
  * zig build: use -D for options instead of -O
  * fix runtime struct initialization of bitfield
  * peer resolve types [N]T, [M]T as []const T
  * fix var args having wrong index when runtime param before it
  * add compile error for the bug of unable to call var ags at compile time
  * ability to implicitly cast integer literal to &const Int
  * fix std.mem.IncrementingAllocator
  * allow implicit cast from `[N]T` to `&const []const T`
  * add enumTagName builtin function
  * fix mangling exported global variables
  * fix for loops not working at compile-time
  * fix some -Wconversion errors
  * run alwaysinline pass in debug mode
  * zig build system writes template build.zig file when none exists
  * try harder to find lld
  * build: ignore libLLD.so when it is a broken symlink
  * ability to inline at function callsite
  * fix crash when using zig to link

  [ Josh Wolfe ]
  * make it an error to ignore a statement's value
  * block statement lists never get fake expressions

  [ Andrew Kelley ]
  * typedefpocalypse
  * all internal functions get unnamed_addr attribute
  * move emacs/vim files to separate repos
  * zig build system understands the concept of dependencies

  [ Josh Wolfe ]
  * comptime ({}) should not get an implicit semicolon
  * add tests for implicit semicolon. closes #297

  [ Andrew Kelley ]
  * zig build system: ability to link against dynamic library step
  * improvements to zig build system and unwrap error safety
  * zig build system: implement custom command step
  * zig build system: progress toward install and uninstall
  * build examples in ./run_tests
  * zig build system creates symlinks atomically
  * add compile error for intToPtr with a 0-bit ptr

  [ Raul Leal ]
  * Implicit cast from T to %?T

  [ Andrew Kelley ]
  * minor clean ups from previous commit
  * rename `@intType` to `@IntType` to follow convention
  * add `@fieldParentPtr` builtin function
  * std.rand API follows idiomatic convention for init
  * bail out of analysis on first error during comptime eval
  * error when building exe with no entry point
  * convert compare-output tests to use zig build system
  * convert build examples tests to zig build system
  * convert std lib tests to zig build system
  * remove unused test code
  * update zig build help text when no build.zig found
  * convert assemble and link tests to zig build system
  * convert debug safety tests to zig build system
  * test framework supports name prefix and filter argument
  * convert parseh tests to zig build system
  * delete test_artifacts directory when tests complete

  [ Raul Leal ]
  * Add @offsetOf builtin function

  [ Andrew Kelley ]
  * add compile error tests for offsetOf builtin
  * zig build system supports building a library
  * add example which exercises addObject in the zig build system
  * rename `@ptrcast` to `@ptrCast` to follow convention
  * add Travis CI integration
  * std: fix PATH resolution when spawning child
  * remove `?return` and `?defer`
  * update syntax for try and nullable unwrapping
  * std.os.ChildProcess: fix closing wrong file descriptors
  * add peer type resolution for T and ?T
  * slicing now returns correct const-ness
  * new compile errors for setGlobalAlign and setGlobalSection builtins
  * fix crash when unwrapping error with no error decls
  * zig build system: installFile and installClibrary

  [ Josh Wolfe ]
  * add test_artifacts to .gitignore, so you can commit while tests are running
  * remove redundant unreachable code error
  * refactor ir_gen_block to make different return paths more clear

  [ Andrew Kelley ]
  * make undefined as a constant value lazy

  [ Josh Wolfe ]
  * blocks check that their statements are void
  * fix check-statement-is-void. add tests
  * defer requires expr to be void. closes #341

  [ Andrew Kelley ]
  * better stack traces for ELF x86_64
  * stack traces support compile units with no pc range
  * update README
  * readme update
  * readme update
  * update travis badge to new url
  * add some timing diagnostics
  * compile time improvement - add __zig_panic_slice fn
  * compile time improvement - move overflow math safety to fns
  * compile time improvement - move bounds checking to function calls
  * revert the last 3 compile time improvements
  * build system: addAssembly and addObject functions
  * build system: consolidate duplicate code and more
  * zig test no longer requires a separate test_runner.o file
  * add no-elim-base-pointer to __zig_fail function
  * add compile error for returning local variable address
  * phi instruction retains stack ptr hint
  * zig puts temporary object files in zig-cache folder
  * build system: remove setLinkerScriptContents
  * add implicit cast from [0]T to %[]T
  * back to AT&T syntax for assembly
  * add peer type resolution `[]T` and `[0]T`
  * zig build: when compiling C files put .o files in cache dir
  * zig build: organize build artifacts
  * zig build: refactor CLibrary and CExecutable into same struct
  * fix regression from previous commit
  * zig build can build and install static C libraries
  * zig build: improved API for installing C build artifacts
  * zig build: support install for zig artifacts
  * `@import("builtin")` instead of `@compileVar`
  * basic support for specifying packages at the command line
  * make debug safety stuff lazy
  * allow undefined to be resolved with other types
  * fix compiler crash when referencing a variable...
  * add safe release build mode
  * fix debug info for nullable type
  * zig build: copy args for addCommand
  * slightly better memset/memcpy implementation
  * zig build: inherit stdin for running commands

  [ Andrea Orru ]
  * Generic doubly linked list. (#361)

  [ Andrew Kelley ]
  * zig build: cache_root is relative to build_root
  * add compile error for shadowing variable
  * remove test and try expressions in favor of if expressions
  * change while syntax
  * implement while for nullables and error unions
  * std: take advantage of new while syntax
  * implement else on loops and break can give an expression
  * std: rename List to ArrayList and re-organize...
  * add compile error when unable to inline a function
  * builtin functions for division and remainder division
  * allow division and remainder operators sometimes
  * switch expression - add compile errors
  * fix comptime switch on enum with ref payload
  * add test case for all prongs unreachable in switch
  * detect duplicate switch value even when else prong present
  * update README
  * fix inability to initialize global pointer to global array element
  * rename c_long_double to c_longdouble
  * std.fmt.format prints bool values
  * delete @generatedCode builtin function
  * move docs to ziglang.org
  * zig build: allow calling b.standardReleaseOptions...
  * ability to slice ptr to hard coded integer at comptime
  * inline function call with builtin function instead...
  * add compile error for casting negative value to...
  * add compile error for comptime division by zero
  * fix printf format specifier
  * add compile error for compile-time integer cast truncating bits
  * typeId builtin instead of isInteger, isFloat, etc
  * change slicing syntax from ... to ..
  * add setFloatMode builtin and std.math.floor
  * flip the enum order of FloatMode
  * fix compiler crash when indexing types
  * add error for break/continue exiting defer expression
  * add compile error for goto leaving defer expression
  * building with mingw for windows
  * std.fmt can print nullables, errors, and error unions
  * clean up behavior test names
  * fix segfault with array of variadic functions
  * fix segfault with array of generic functions
  * implicitly cast by value var args parameters to const references
  * const global values can reference each other

  [ Andrea Orru ]
  * Generalize join.
  * Updated comment.

  [ Andrew Kelley ]
  * fix crash when unwrapping optional field of global variable
  * fix crash when writing to const hardcoded ptr
  * change std.rand.Rand.rangeUnsigned to std.rand.Rand.range
  * add appveyor integration testing
  * compileError builtin includes "referenced by" notes
  * progress toward hello world without libc in windows
  * progress toward windows hello world working
  * partial implementation of printing floating point numbers with errol3
  * fix compiler segfault on `null ?? x`
  * fix alignOf builtin

  [ Marc Tiehuis ]
  * Add math library

  [ Andrew Kelley ]
  * parseh: fix not recognizing integer suffixes on hex numbers
  * update C headers to clang 4.0.0
  * fix peer type resolution for array and error

  [ scurest ]
  * allow trailing commas

  [ Andrew Kelley ]
  * std: refactor pow to be generic

  [ Marc Tiehuis ]
  * Get tests passing under release mode

  [ Andrew Kelley ]
  * build: link against system libs reported by llvm-config
  * workaround for llvm bug
  * don't call c.getrandom because older libcs don't have it

  [ Marc Tiehuis ]
  * Add math special case tests and general fixes
  * Add install targets for math library files

  [ Andrew Kelley ]
  * fix incorrect install line in cmakelists

  [ Marc Tiehuis ]
  * Fixes for release mode tests
  * Fix scalbn constant multiplier
  * Fix pow tests
  * Return undefined in frexp instead of 0 on nan input

  [ Andrew Kelley ]
  * better bigint/bigfloat implementation
  * remove unused enum

  [ Marc Tiehuis ]
  * Add Visual Studio Code extension link

  [ Andrew Kelley ]
  * fix initializing undefined and crash when casting to invalid type
  * add missing stdcallcc to ExitProcess decl
  * remove duplicate gitignore entry
  * silence false positives about uninitialized variables
  * fix segfault when var args fn proto shows up in ir printing
  * fix invalid target info
  * fix constant debug info when number literal is 0
  * Revert "silence false positives about uninitialized variables"
  * limit generated C preprocessor tokens to alphabet

  [ Marc Tiehuis ]
  * Correct floating-point literal allowed ranges

  [ Andrew Kelley ]
  * add ability to explicitly cast float to integer
  * fix printing floating point compile errors
  * README: add the zen of zig
  * zen update
  * add ptrToInt builtin, remove usize(ptr) cast
  * more intuitive left shift and right shift operators

  [ Marc Tiehuis ]
  * Fix coverage build command

  [ Andrew Kelley ]
  * fix tokenization error pointing to wrong character
  * update gitignore
  * organize file path of compiler_rt
  * compiler_rt implementations for __fixuns* functions
  * fix wrong value for clz, ctz at compile time
  * add compiler_rt functions for f128
  * fix big integer shifting by large number
  * fix bitCast for big integers
  * make casting between __float128 and long double explicit
  * cast between __float128 and double to fix build in some places
  * depend on libquadmath
  * remove dependency on quadmath.h
  * include compiler-rt tests in main testing suite
  * add compiler-rt fns: udivmodti4, udivti3, umodti3
  * make udivmod generic and add tests
  * slightly nicer floating point printing
  * bit shifting safety
  * add compile error for globally shadowing a primitive type
  * std: better int log2 implementation for number literals
  * add setEvalBranchQuota builtin function
  * fix floating point printing
  * compile-time f32, f64 operations are now correctly lossy
  * zen update
  * fix not propagating parseh aliases through pub use decls
  * move zen of zig to a sub command
  * std.math: remove constants that can be derived
  * more zen
  * move docs to website
  * fix compiler test errors
  * unreachable still codegens to unreachable in ReleaseFast test mode
  * refactor - codegen llvm functions lazily
  * fix some casts on const data causing segfault
  * implement comptime bitcasting from array
  * add zig-compiler-completions to Related Projects
  * float division by zero check only when FloatMode.Optimzed
  * update for llvm 5.0.0rc1
  * update travis for llvm 5
  * update build to look for llvm 5.0
  * fix invalid llvm IR for const enum
  * fix wrong switch target type with enum from .h file
  * add some asserts in switch analysis code
  * remove @alignOf and add @cAbiAlignOf and @preferredAlignOf

  [ scurest ]
  * use most_aligned_member+padding to represent enum unions

  [ Andrew Kelley ]
  * fixups from previous commit
  * codegen for enums chooses best order of tag and union fields
  * audit alignment for functions
  * progress toward tests passing on MacOS
  * fixups to linux build
  * travis: add macos script
  * travis try again
  * travis again
  * macos updates
  * all behavior tests passing for macos
  * macos passing all tests except for building a shared library
  * all tests passing in MacOS
  * embed LLD 5.0.0
  * LLD: apply "[MACH-O] Fix the ASM code generated...
  * LLD: workaround for buggy MACH-O code
  * build: use embedded LLD by default
  * remove remnants of depending on darwin system linker
  * travis: use external lld for apple
  * build: fix embedded LLD build
  * travis: use external lld for linux
  * remove workaround for LLVM not respecting "nobuiltin"
  * introduce align keyword
  * fix bitfield pointer syntax
  * pass all tests without triggering assertions
  * prevent implicitly increasing pointer alignment
  * ptrCast gives compile error for increasing alignment
  * fix tests
  * more alignment improvements
  * add test for @alignCast on a slice
  * add tests for function alignment handling
  * add "child" field to pointer type
  * generic functions can access comptime args in align value
  * @ptrCast preserves larger alignment if applicable
  * when getting an element pointer, use the best alignment
  * add alignment field to pointer type
  * compile error for not-aligned-enough pointer to cmpxchg
  * set alignment on all loads and globals
  * codegen: all stores specify align value
  * align syntax: align(4) instead of align 4
  * test suite cross-compile builds tests for other targets
  * tests use darwin, not macosx since that's what macbook reports as
  * travis: skip cross compiling osx tests
  * LLD: fix libCOFF calling exit() instead of return
  * successfully cross-building behavior tests for windows
  * compiler-rt: add __aeabi_uldivmod
  * add windows to test targets
  * allow array literals to have size and fix comptime bug
  * setEvalBranchQuota must be called from top of comptime stack

  [ Raul Leal ]
  * Opaque ptr patch

  [ Andrew Kelley ]
  * only export __chkstk for windows

  [ Josh Wolfe ]
  * fix return types of min amd max
  * Revert "fix return types of min amd max"

  [ Andrew Kelley ]
  * c-to-zig: return statement
  * c-to-zig: less than, negation, ternary

  [ Josh Wolfe ]
  * cleanup whitespace

  [ Andrew Kelley ]
  * parseh: emit_warning takes SourceLocation
  * here, have trans_qual_type

  [ Josh Wolfe ]
  * start implementing variable declaration translation
  * progress toward variable declaration translation
  * translate some variable declaration cases
  * translate while loops and implicit bitcasts

  [ Andrew Kelley ]
  * rewrite parseh to use AST instead of direct types
  * fix parseh bugs
  * parseh: fix generating functions from macros
  * parseh tests passing
  * parseh: remove unneeded hash tables
  * parseh: fix duplicate definitions
  * fix void return node and param name nodes, fix dupe macros
  * add OpaqueType builtin
  * rename parseh to parsec
  * travis: use embedded LLD and perform all tests
  * parsec: turn panics into warnings
  * better build.zig template
  * std: add os.sleep
  * std: add ChildProcess.kill
  * README: add notepad++ syntax highlighting project
  * std: os.ChildProcess knows when its child died
  * fix ChildProcess.spawn on darwin
  * std.os.ChildProcess: don't expect all SIGCHLD to come from spawn
  * std.ChildProcess.spawn: handle 0 from waitpid correctly
  * fix std.Buffer.endsWith

  [ Jonathan Marler ]
  * Switched find order for llvm, means it will choose llvm version 5.0 before any other version. (#446)

  [ Marc Tiehuis ]
  * Add exit function (#450)
  * Add appendSlice function (#448)

  [ Andrew Kelley ]
  * build: add more search paths for libclang
  * std.fmt knows how to format &[N]u8
  * more compile errors for non-const variables of things
  * rename some behavior tests
  * add import test
  * support parens in C macros
  * variables are allowed to be pointers to opaque

  [ jean-dao ]
  * std.io.InStream: add readLine function (#458)

  [ Jonathan Marler ]
  * Allow INVALID_HANDLE_VALUE for windows to work on 32-bit and 64-bit. (#457)

  [ Andrew Kelley ]
  * fix not verifying GlobalLinkage and AtomicOrder types
  * fix uninitialized variable

  [ jean-dao ]
  * c macros: support hex chars (#459)

  [ Jonathan Marler ]
  * Add support for MSVC
  * Modified cmake to use LLVM imported packages.

  [ Andrew Kelley ]
  * local var

  [ Josh Wolfe ]
  * wip c to zig stuff
  * not my segfault
  * oh, actually it was

  [ Andrew Kelley ]
  * fix error messages

  [ Josh Wolfe ]
  * analysis of result used

  [ Andrew Kelley ]
  * fix up msvc stuff to make it work on linux and macos too
  * add Child property of slice type

  [ Jonathan Marler ]
  * Fixed a couple compilation errors for MSVC 64-bit (#475)

  [ Andrew Kelley ]
  * add SoftFloat-3d
  * depend on embedded SoftFloat-3d instead of __float128
  * do not depend on __int128
  * bump incrementing allocator memory in build system to 20MB

  [ Jonathan Marler ]
  * Fixed softfloat header file for msvc (#482)

  [ Marc Tiehuis ]
  * Add dash arguments for cli

  [ Andrew Kelley ]
  * add release-safe to the test matrix
  * std.os.ChildProcess: fix fd leak
  * add option to run tests in LLDB and turn it on for macos travis
  * fix use of uninitialized variable in alignCast
  * add -mllvm support
  * fix build for travis osx
  * fix crash when enum has invalid field
  * zig build: use stack protector for C code in debug mode
  * add test for struct with invalid field
  * std.build: simpler API
  * add macos instructions to readme
  * README: macos instructions: simplify
  * README: macos instructions: suggest running tests
  * std.build: explicitly disable stack protector when nostdlib
  * std.build: catch mistake of setting output path to build dir
  * add --verbose-link option
  * coff linking passes -DEBUG
  * std: fix os.sleep on darwin and windows

  [ Marc Tiehuis ]
  * Stop debug allocator ever panicking (#492)

  [ Andrew Kelley ]
  * parsec: don't make pointless block in fn body
  * all parsec tests passing

  [ Josh Wolfe ]
  * optimize >>= operator for common case
  * fix tests

  [ Andrew Kelley ]
  * parsec: cleaner shifting code for fixed size types

  [ Josh Wolfe ]
  * translate expr++ from c to zig

  [ Andrew Kelley ]
  * parse-c: fix anonymous enums
  * parse-c: support function calls

  [ Josh Wolfe ]
  * if statement
  * add some tests
  * logical and, logical or
  * ==, !=

  [ Andrew Kelley ]
  * parse-c: field access expressions
  * parse-c: null statements

  [ Josh Wolfe ]
  * bitwise binary operators
  * assign

  [ Andrew Kelley ]
  * parse-c: fix undefined array literals

  [ Josh Wolfe ]
  * add sub mul div rem

  [ Andrew Kelley ]
  * parse-c: array access expression

  [ Josh Wolfe ]
  * fix assignment needing an lvalue

  [ Andrew Kelley ]
  * parse-c: support c style cast
  * parse-c: support implicit cast to void *
  * parse-c: support sizeof

  [ Josh Wolfe ]
  * chain assignment
  * fix chain assignment semicolon

  [ Andrea Orru ]
  * LinkedList helper functions (#493)

  [ Andrew Kelley ]
  * README: adds for contributors we want
  * macho linking: support full lib paths correctly
  * std.build: fix building C dynamic libraries on darwin
  * std.build: fix -install_name for darwin dynamic C linking
  * zig build: add linkFramework API
  * improvements to windows support
  * windows gui hello world
  * windows API functions are not stdcalls
  * Revert "windows API functions are not stdcalls"
  * fix i386 windows stdcall
  * fix docs
  * update std.os.ChildProcess API
  * std.os.ChildProcess: ability to set both uid and gid
  * add std.fmt.trim
  * std.os.ChildProcess: setgid before setuid
  * implement setreuid, setregid for darwin
  * add fmt.parseInt
  * README: we support x86_64 macos

  [ Josh Wolfe ]
  * add reset() method to IncrementingAllocator (#501)

  [ Andrew Kelley ]
  * add test for std.mem.IncrementingAllocator
  * implement IncrementingAllocator for Windows

  [ Marc Tiehuis ]
  * Allow 128-bit hex float literals

  [ Andrew Kelley ]
  * fix build on mingw
  * simpler cmake for msvc
  * better implementation of os_spawn_process for windows
  * add ___chkstk_ms compiler-rt function
  * fix previous commit
  * compiler-rt: add _aulldiv and _aullrem for i386 windows
  * disable /W4 on MSVC
  * better output for cross platform zig test on windows
  * zig test on 64-bit windows runs 32-bit tests
  * workaround for invalid binary created on windows
  * better divTrunc codegen
  * update C headers to clang 5.0.0
  * fix typo in target_can_exec logic
  * don't try to use cold calling convention on windows
  * remove zigrt
  * improve bit shift API in std.math
  * workaround llvm bug for windows alignment
  * fix codegen on windows
  * add windows 32 bit to test matrix
  * travis: fix typo in linux script
  * travis: older wine only works with i386 builds
  * travis: set -e on osx script
  * update hello world examples
  * build: escape backslashes in path arguments given to cmake
  * fix implementation of --zig-std-dir
  * fix build when no cmake path args specified
  * implement standard library path search
  * fix regression from previous commit
  * add git rev name to version string when available
  * support linking against MSVC libc
  * remove unused function
  * still build compiler-rt when linking msvc CRT
  * fix parse-c tests
  * better compiler-rt linkage logic
  * fix typo in compiler-rt
  * compiler-rt: strong linkage for __chkstk
  * support terminal colors for cmd.exe and msys pty
  * windows: alignstack=16 on every function
  * fix travis
  * add @setAlignStack builtin
  * replace __chkstk function with a stub that does not crash
  * use __chkstk_ms compiler-rt functions for __chkstk
  * fix tests on linux and macos
  * compiler-rt tests pass with and without libc
  * fix duplicated symbols in compiler-rt tests
  * fix mingw build

  [ Snorre ]
  * fix isatty for macOS and libc (#523)

  [ Andrea Orru ]
  * Fix for LLD on linker scripts with empty sections

  [ Andrew Kelley ]
  * fix compiler crash when invalid value used
  * better support table
  * implement os.path.dirname for windows
  * more std.os.path work for windows
  * os.path.basename implementation for windows
  * implement std.os.relative for windows
  * implement os.getCwd for windows
  * fix os.path.resolveWindows on non-windows
  * implement std.os.deleteFile for windows
  * implement os.path.real for windows and update allocator interface
  * fix build on non-windows
  * implement std.io.InStream for windows
  * use allocator.shrink instead of realloc in os.path.real
  * add module flag to emit CodeView for COFF object files
  * fix std.io.OutStream.close for windows
  * better abort() implementation for windows
  * implement command line argument parsing for windows
  * fix std.os.getRandomBytes for windows
  * implement std.os.ChildProcess for windows
  * implement os.makeDir for windows
  * fix os.makeDir for posix
  * organize windows utility functions
  * fix regressions from previous commit on windows
  * implement std.os.symLink for windows
  * implement std.os.rename  for windows
  * std.io: remove unused constants
  * implement io.OutStream.openMode for windows
  * build-exe allows direct export of WinMainCRTStartup
  * try harder to emit console colors
  * disable byval parameters on windows to work around llvm bug
  * std.mem.IncrementingAllocator: check for errors
  * implement environment variables for windows
  * fix regression on posix from previous commit
  * disable some of the failing tests
  * only SetConsoleTextAttribute to do console colors on windows
  * use correct integer type for windows BOOL
  * mingw build: delete unused variable
  * fix child process stdio piping behavior on windows
  * fix std.io.InStream for windows
  * fix posix from previous commit
  * std.io: fix bug when writing large buffer
  * set stdout and stderr to binary mode on windows
  * 16MB stack size when building with msvc
  * fix windows argument parsing
  * clean up some resources
  * LLD COFF: close handles to objects used to link
  * fix compare-output tests on windows
  * fix debug safety tests on windows
  * ability to make a DLL
  * fix regression on posix from previous commit
  * std.os.ChildProcess: on windows cwd affects exe search path
  * look for libc at runtime on windows
  * appveyor: build with msvc and publish artifacts
  * appveyor: update version to match zig version
  * fix codegen of enum name table having wrong LLVM types
  * add uwtable attribute to functions on windows

  [ Marc Tiehuis ]
  * Add c allocator (#542)

  [ Andrew Kelley ]
  * Release 0.1.0
  * build: fix logic for version when there is a git tag
  * Release 0.1.1
  * remove unsupported targets from readme
  * fix docs link
  * zig build: fix system libraries not respected for C artifacts
  * std.fmt.format supports ints smaller than u8
  * fix compiler crash regarding type name of undefined
  * report compile error instead of crashing for void in var args
  * parse-c: improve performance
  * self hosted zig: print usage

  [ scurest ]
  * Print better floats

  [ Andrew Kelley ]
  * add maximum value for @setAlignStack
  * remove CXX ABI workaround
  * wip self hosted code

  [ scurest ]
  * More corrections to float printing

  [ Andrew Kelley ]
  * fix missing compiler_rt in release modes
  * add some sanity tests for float printing
  * cleaner verbose flags and zig build prints failed command
  * fix crash on field access of opaque type
  * better output when @cImport generates invalid zig
  * add guard to c_headers for duplicate va_list on darwin

  [ Marc Tiehuis ]
  * Improve invalid character error messages (#566)

  [ Andrew Kelley ]
  * use llvm named structs for const values when possible
  * add test case for previous commit
  * delete -municode command line argument
  * breaking change to std.io API
  * fix windows build from previous commit

  [ Andreas Haferburg ]
  * Enforce "\n" line endings on Windows (#574)

  [ Dimenus ]
  * WIN32: Linking with the CRT at runtime. (#570)

  [ Andrew Kelley ]
  * bump build_runner allocator to use 30 MB
  * windows: use the same libc search within a compilation unit
  * update to llvm master
  * use llvm named structs for const values when possible
  * add missing environment
  * fix incorrect debug info for empty structs
  * fix incorrect debug info for empty structs
  * more compile-time type reflection

  [ Marc Tiehuis ]
  * Add emit command-line option (#580)

  [ dimenus ]
  * Add support for windows line endings with c macros
  * Windows libc & static libc are located in the same dir which is already covered by msvc_lib_dir

  [ Andrew Kelley ]
  * slightly more verbose error message when building object file fails
  * add compile-time reflection for function arg types
  * fix build on MacOS

  [ scurest ]
  * add test for c_allocator
  * fix redeclaration of mem (#585)
  * fix typos in std.io (#589)

  [ Andrew Kelley ]
  * add @memberType and @memberName builtin functions
  * std.io: introduce buffered I/O and change API
  * fix travis linux script
  * fix enum sizes too large
  * fix parameter of extern var args not type checked

  [ Jeff Fowler ]
  * fix typo on darwin lseek (#602)
  * Fix Stat include in darwin land (#605)

  [ Andrew Kelley ]
  * add a std lib test for reading and writing files
  * add windows implementation of io.File.getEndPos
  * fix bug when multiple function definitions exist
  * fix test failure on 32 bit windows
  * fix test failures
  * disable broken 32 bit windows test

  [ Brendon Scheinman ]
  * add epoll and timerfd support on linux

  [ Andrew Kelley ]
  * rename test
  * fix windows trying to run linux-only tests

  [ dimenus ]
  * Fixed duplicate decl detection for typedefs/enums
  * Fixed duplicate decl detection for typedefs/enums

  [ Josh Wolfe ]
  * parsec supports C NULL to pointer implicit cast
  * parsec supports C comma operator

  [ Andrew Kelley ]
  * add test case for previous commit

  [ Josh Wolfe ]
  * parsec supports bitshift operators
  * parsec supports more compound assign operators
  * parsec supports post increment/decrement with used result
  * parsec supports do loop

  [ Andrew Kelley ]
  * c-to-zig: handle UO_Deref
  * add docs for std.base64
  * basic union support
  * update fast math flags for latest llvm
  * unions have a secret field for the type
  * union secret field is the tag index instead of distinct type index
  * debug safety for unions
  * fix codegen for union init with runtime value
  * add documentation placeholders for unions

  [ dimenus ]
  * Added DLL loading capability in windows to the std lib.

  [ Andrew Kelley ]
  * add parse-c support for unions
  * parse-c: support address of operator

  [ Josh Wolfe ]
  * rework std.base64 api
  * move base64 functions into structs

  [ Andrew Kelley ]
  * rename "parsec" to "translate-c"
  * update homepage docs
  * translate-c: support pre increment and decrement operators
  * translate-c supports string literals
  * fix assertion failed when invalid type encountered
  * translate-c supports returning void
  * translate-c supports for loops
  * translate-c supports break and continue
  * add an assert to catch corrupted memory
  * fix crash when constant inside comptime function has compile error
  * translate-c: introduce the concept of scopes
  * translate-c: avoid global state and introduce var decl scopes
  * translate-c supports switch statements
  * translate-c: better way to translate switch
  * translate-c: fix translation when no default switch case
  * translate-c: support variable name shadowing
  * translate-c: support pointer casting

  [ dimenus ]
  * Added support for exporting of C field expressions

  [ Mason Remaley ]
  * Implements translation for the prefix not operator (#628)

  [ Andrew Kelley ]
  * translate-c: fix sometimes getting (no file) warnings
  * translate-c: detect macros referencing field lookup
  * translate-c: fix clobbering primitive types
  * translate-c: support const ptr initializer
  * update fast math llvm API to latest

  [ Josh Wolfe ]
  * fix os.Dir compile errors
  * add Buffer.appendFormat()

  [ Andrew Kelley ]
  * better error code for File.getEndPos failure
  * fix capturing value of switch with all unreachable prongs
  * translate-c: support static incomplete array inside function
  * fix build broken by previous commit

  [ Josh Wolfe ]
  * add mem.readIntLE and readIntBE

  [ Andrew Kelley ]
  * ability to specify tag type of enums
  * packed structs can have enums with explicit tag types
  * translate-c: only emit enum tag type if not c_int or c_uint
  * updated embedded LLD to 5.0.1rc2
  * LLD patch: COFF: better behavior when using as a library
  * LLD patch: Fix for LLD on linker scripts with empty sections
  * LLD patch: workaround for buggy MACH-O code
  * LLD patch: Fix the ASM code generated for __stub_helpers section
  * update c_headers to llvm 5.0.1rc2
  * update to LLVM 5.0.1rc2

  [ Josh Wolfe ]
  * implement insertion sort. something's broken
  * todo: fix #639

  [ Andrew Kelley ]
  * casting between integer and enum only works via tag type
  * ability to set tag values of enums
  * rework enums and unions and their relationship to each other
  * rename @EnumTagType to @TagType. add tests for union-enums
  * fix abi alignment of union-enums not counting tag type
  * more tests for unions
  * update docs regarding enums and unions
  * add test for @sizeOf on extern and packed unions
  * add test for union with 1 void field being 0 bits
  * fix build on windows
  * add test for casting union to tag type of union

  [ MIURA Masahiro ]
  * Fix the color of compiler messages for light-themed terminal.

  [ Andrew Kelley ]
  * rename builtin.is_big_endian to builtin.endian
  * fix incorrect LLVM IR for union constant when active field is void
  * read a file
  * simple tokenization
  * tokenizing string literals
  * tokenizing basic operators
  * tokenizing hello world
  * parser skeleton
  * translate-c: fix not printing clang errors
  * fix casting integer literal to enum
  * add implicit cast from enum to union
  * revert to master branch ir.cpp, fixes issue better than this branch
  * allow implicit cast from union to its enum tag type
  * allow union and its tag type to peer resolve to the tag type
  * fix enum with 1 member causing segfault
  * switch on enum which only has 1 field is comptime known
  * fix regressions from previous commit
  * add higher level arg-parsing API + misc. changes
  * upgrade to new args api
  * awkward void union field syntax no longer needed
  * translate-c: refactor prefix and suffix op C macro parsing
  * translate-c: support macros with pointer casting
  * translate-c: more complex logic for translating a C cast in a macro
  * add implicit cast from enum tag type of union to const ptr to the union
  * parse a simple variable declaration
  * tokenizing libc hello world
  * partial parameter decl parsing
  * parsing an extern fn declaration
  * rename @EnumTagType to @TagType in type names
  * mem.Allocator initializes bytes to undefined
  * rendering source code without recursion
  * add self-hosted parsing and rendering to main tests
  * self-hosted: parse var decls
  * self-hosted: parse variable declarations with types
  * self-hosted: clean up parser
  * self-hosted: parsing and rendering blocks
  * self-hosted: workaround for issue #537
  * self-hosted: refactor into multiple files
  * refactor debug.global_allocator into mem.FixedBufferAllocator
  * self-hosted: test all out of memory conditions
  * self-hosted: link with LLVM
  * stack traces: support DW_AT_ranges
  * self-hosted: move code to std.os.ChildProcess.exec
  * self-hosted: cleanup build looking for llvm-config
  * self-hosted: build tries to find llvm-config.exe
  * self-hosted: look for llvm-config in homebrew

  [ Josh Wolfe ]
  * self-hosted: implement addr of align parsing
  * self-hosted: implement var decl align

  [ Andrew Kelley ]
  * add test for allowing slice[slice.len..slice.len]
  * fix const and volatile qualifiers being dropped sometimes
  * fix compiler crash in a nullable if after an if in...
  * replace quicksort with blocksort
  * disable sort tests for 32-bit windows because of issue #537
  * fix missing import from previous commit
  * change mem.cmp to mem.lessThan and add test

  [ Josh Wolfe ]
  * roughly parsing infix operators

  [ Andrew Kelley ]
  * fix std.mem missing error.OutOfMemory decl
  * wip export rewrite
  * wip bring back export keyword
  * export keyword works again
  * bring back code that uses export and fix tests
  * add sort.min and sort.max functions to stdlib
  * fix assert when wrapping zero bit type in nullable
  * fix crash when implicitly casting array of len 0 to slice
  * add labeled loops, labeled break, labeled continue. remove goto
  * explicitly return from blocks
  * fix darwin and windows from previous commit

  [ Josh Wolfe ]
  * bufPrint returns an error

  [ Andrew Kelley ]
  * std.math: remove unnecessary inline calls and
  * fix endianness of sub-byte integer fields in packed structs
  * port most of main.cpp to self hosted compiler

  [ Josh Wolfe ]
  * source files must end with newline

  [ Andrew Kelley ]
  * std.os.path.resolve handles an absolute path that is missing the drive
  * build: add --search-prefix option

  [ Josh Wolfe ]
  * [self-hosted] tokenizer error for ascii control codes

  [ Andrew Kelley ]
  * build: findLLVM correctly handles system libraries
  * translate-c: set up debug scope for translated functions
  * std.os.path.resolve handles an absolute path that is missing the drive
  * build: add --search-prefix option
  * build: findLLVM correctly handles system libraries
  * translate-c: set up debug scope for translated functions
  * move std/debug.zig to a subdirectory

  [ Josh Wolfe ]
  * debug needs to export FailingAllocator
  * [self-hosted] source must be valid utf8. see #663
  * add source encoding rules to the docs. see #663

  [ Andrew Kelley ]
  * docs: fix typo
  * fix segfault when passing union enum with sub byte...
  * self-hosted: build against zig_llvm and embedded LLD

  [ Josh Wolfe ]
  * set compile flags for zip_cpp
  * move utf8 parsing to std
  * fix self-hosted parser test

  [ Peter Rönnquist ]
  * Added format for floating point numbers. {.x} where x is the number of decimals.

  [ Andrew Kelley ]
  * ir: new pass iteration strategy
  * doc fixes
  * add test for while respecting implicit comptime
  * add noInlineCall to docs
  * fix self hosted compiler on windows
  * readme: update macos installation instructions
  * enum tag values are expressions so no parentheses needed
  * add building the self hosted compiler to the main test suite
  * build: std files and c header files are only specified once
  * add december in review to reading material; fix docs
  * self-hosted build: use llvm-config from stage1
  * fix self-hosted build on windows
  * self-hosted compiler works on windows
  * self-hosted compiler works on macos
  * fix test regressions on windows from previous commit
  * appveyor ci: look for newer windows sdk version
  * try using appveyor's llvm copy
  * Revert "try using appveyor's llvm copy"
  * update windows build to llvm 5.0.1
  * appveyor: set VCINSTALLDIR
  * appveyor: try using vcvarsall
  * appveyor: skip building self hosted compiler for now
  * Revert "appveyor ci: look for newer windows sdk version"
  * appveyor: enable verbose link for self hosted compiler
  * workaround for microsoft releasing windows SDK with wrong version
  * translate-c: update to clang 6.0.0 which has more binary operators
  * disable NewGVN
  * fix exp1m implementation

  [ Jimmi Holst Christensen ]
  * Fixed the call to mem.readInt in Rand.scalar
  * Fixed the call to mem.readInt in endian.swap

  [ Andrea Orru ]
  * Darwin -> MacOSX, added Zen. See #438

  [ Andrew Kelley ]
  * fix struct inside function referencing local const
  * add a test for returning a type that closes over a local const
  * update hello world docs

  [ Andrea Orru ]
  * Adding zen support

  [ Andrew Kelley ]
  * replace `%return` with `try`
  * replace `a %% b` with `a catch b`
  * `a catch unreachable` generates unwrap-error code

  [ Andrea Orru ]
  * exit, createThread for zen

  [ Andrew Kelley ]
  * remove %% prefix operator

  [ Andrea Orru ]
  * Intrusive linked lists

  [ Marc Tiehuis ]
  * Add hw sqrt for x86_64
  * Fix endian swap parameters

  [ Andrew Kelley ]
  * the same string literal codegens to the same constant
  * functions which can return errors have secret stack trace param
  * *WIP* proof of concept error return traces

  [ Marc Tiehuis ]
  * Add integer rotation functions
  * Add Md5 and Sha1 hash functions

  [ Andrew Kelley ]
  * typecheck the panic function

  [ Marc Tiehuis ]
  * Add Sha2 functions
  * Change indexing variable types for crypto functions
  * Disable win32 tests for Sha2 + correct lengths

  [ Andrew Kelley ]
  * fix duplicate stack trace code
  * error return trace pointer prefixes other params
  * remove 32-bit windows from supported targets list
  * error return traces use a zig-provided function to save binary size
  * stack traces are a variable number of frames
  * clean up error return tracing
  * add builtin.have_error_return_tracing

  [ Marc Tiehuis ]
  * Add Blake2X hash functions

  [ Andrew Kelley ]
  * fix getting debug info twice in default panic handler
  * fix compiler crash related to @alignOf
  * implement bigint div and rem
  * fix bigint remainder division

  [ Marc Tiehuis ]
  * Change crypto functions to fill a buffer
  * Add crypto internal test functions

  [ Jimmi Holst Christensen ]
  * Output "undefined" on uninitialized variables
  * Fixed tests for undefined variables
  * translate_c can now translate if statements on integers and floats

  [ Josh Wolfe ]
  * Buffer.toSliceCopy
  * Revert "Buffer.toSliceCopy"

  [ Andrew Kelley ]
  * fix error return traces pointing to off-by-one source line
  * docgen auto generates table of contents
  * docgen: validate See Also sections
  * docgen: support executing exe code examples

  [ Marc Tiehuis ]
  * Fix crypto exports
  * Add throughput test program
  * Add Sha3 hashing functions

  [ Andrew Kelley ]
  * ziglang.org home page no longer in this repo

  [ Jimmi Holst Christensen ]
  * fixed xor with zero
  * More tests, and fixed none negative bigint xor
  * A few more none negative cases, just to be sure we've covered everything

  [ Andrew Kelley ]
  * update embedded LLD to 6.0.0rc1
  * LLD patch: workaround for buggy MACH-O code
  * test: fix brace expansion test not checking invalid inputs
  * fix null debug info for 0-length array type
  * emit a compile error for @panic called at compile time
  * add compile error for shifting by negative comptime integer
  * all doc code examples are now tested
  * docs: remove references to %% prefix operator
  * readme: specify that we need exactly llvm 5.0.1

  [ Jimmi Holst Christensen ]
  * Implemented windows versions of seekTo and getPos
  * Removed PLARGE_INTEGER
  * Now using the right unexpectedError in seekForward

  [ Andrew Kelley ]
  * temporary workaround for os.deleteTree not implemented for windows/mac

  [ Jimmi Holst Christensen ]
  * Removed bitcast from usize to isize in seekTo
  * We now make a more correct conversion from windows LARGE_INTEGER type to usize
  * usize might be same size as LARGE_INTEGER. If that's the case, then we don't want to compare pos to @maxValue(usize).

  [ Andrew Kelley ]
  * windows-compatible os_rename function
  * os_rename uses MoveFileEx on windows

  [ Marc Tiehuis ]
  * Fix build template to match build runner changes

  [ Andrew Kelley ]
  * fix docgen on windows
  * remove unused function, fixes mingw build
  * fix crash when switching on enum with 1 field and no switch prongs
  * appveyor: add language reference to build artifacts
  * fix crash on union-enums with only 1 field
  * add new kind of test: generating .h files. and more
  * docgen: verify internal links

  [ Marc Tiehuis ]
  * Add array type handling for gen_h

  [ Andrew Kelley ]
  * fix printf format specifier
  * clean up readme
  * replace %defer with errdefer
  * cleanups that I meant to put in the previous commit
  * rename "debug safety" to "runtime safety"
  * syntax: functions require return type. remove `->`
  * fix compiler crash on function with invalid return type
  * fix crash when align 1 field before self referential...
  * allow packed containers in extern functions
  * std: fix fn return syntax for zen os
  * add compile error for calling naked function

  [ Marc Tiehuis ]
  * Improve documentation styling for mobile devices

  [ Andrea Orru ]
  * Add IntrusiveLinkedList to index.zig

  [ Andrew Kelley ]
  * langref: remove page title header
  * add compile error for duplicate struct, enum, union fields
  * fix error message mentioning unreachable instead of noreturn
  * *WIP* error sets
  * fix assertion fail when using global var number literal
  * add some docs for reflection
  * add docs recommending to only have 1 cImport
  * docs: move source encoding section
  * add docs for memberType, memberCount, memberName
  * *WIP* error sets converting std lib
  * *WIP* error sets - fix implicit cast
  * *WIP* error sets - allow peer type resolution to create new error set

  [ David McFarland ]
  * make lld include paths private

  [ Andrew Kelley ]
  * *WIP* error sets - rewrite "const cast only" function
  * *WI* error sets - basic support working
  * *WIP* error sets - correctly resolve inferred error sets
  * *WIP* error sets - support fns called at comptime
  * *WIP* error sets - an inferred error set can end up being the global one
  * *WIP* error sets - std lib test compile but try to link against windows

  [ Ben Noordhuis ]
  * Use /dev/urandom and sysctl(RANDOM_UUID) on Linux.

  [ Andrew Kelley ]
  * add --forbid-library
  * fix accidentally linking against kernel32 on non windows
  * error sets - compile error for equality with no common errors
  * error sets - peer resolution for error unions
  * make OutStream and InStream take an error set param
  * fix test failure, organize code, add new compile error
  * handle linux returning EINVAL for large reads
  * handle linux returning EINVAL for large writes
  * error sets: fix peer resolution of error unions
  * error sets - fix most std lib compile errors

  [ Ben Noordhuis ]
  * DRY 'is slice?' conditionals in parser (#750)
  * format struct pointers as "<typename>@<address>" (#752)

  [ Andrew Kelley ]
  * update embedded LLD to 6.0.0rc2
  * LLD patch: workaround for buggy MACH-O code

  [ Jeff Fowler ]
  * improve behavior of `zig build` (#754)

  [ Ben Noordhuis ]
  * implement openSelfExe() on darwin (#753)

  [ Andrew Kelley ]
  * fix comptime fn execution not returning error unions properly
  * error sets - most tests passing
  * error sets - update langref. all tests passing
  * error set casting building

  [ Marc Tiehuis ]
  * Add ArrayList functions (#755)

  [ Andrew Kelley ]
  * error sets - fix bad value for constant error literal
  * std: fix return type of std.c.write
  * error sets: runtime safety for int-to-err and err set cast
  * if statements support comptime known test error, runtime payload
  * syntax: parse `?error!i32` as `?(error!i32)`
  * add test for comptime err to int with only 1 member of set
  * add compile error tests for error sets
  * fix build runner on windows
  * appveyor: answer Yes to all pacman questions
  * appveyor: don't try to build for mingw
  * fix crash with error peer type resolution
  * self hosted compiler: move tokenization and parsing to std lib
  * fix compiler crash switching on global error with no else
  * std lib: modify allocator idiom
  * std zig tokenizer: don't require 3 newlines at the end of the source
  * std.os and std.io API update
  * std: refactor posixOpen to be friendlier to error return traces
  * fix exported variable not named in the object file
  * introduce std.heap.ArenaAllocator and std.heap.DirectAllocator
  * remove std.heap.IncrementingAllocator
  * back to malloc instead of aligned_alloc for c_allocator
  * std.heap.ArenaAllocator: fix incorrectly activating safety check
  * workaround on windows for llvm6 missing advapi32.lib in llvm-config
  * self hosted parser tests every combination of memory allocation failure
  * fix self hosted tokenizer handling of EOF
  * self hosted: add tokenizer test fix eof handling
  * zig_llvm.cpp uses new(std::nothrow)
  * correct doc comment in self hosted parser
  * self hosted parser supports builtin fn call with no args
  * self hosted parser: support string literals
  * fix build broken by previous commit
  * std.zig.parser understands inferred return type and error inference
  * fix sometimes not type checking function parameters
  * std.zig.parser understands try. zig fmt respects a double line break.
  * fix crash when doing comptime float rem comptime int
  * fix compiler crash when struct contains...
  * zig fmt supports simple line comments
  * add an assert to catch #777
  * ability to slice an undefined pointer at compile time if the len is 0
  * improve std lib linux epoll API

  [ Ben Noordhuis ]
  * add support for stack traces on macosx
  * fix memory leak in std.debug.openSelfDebugInfo()

  [ Andrew Kelley ]
  * add async, await, suspend, resume, cancel keywords
  * parse async fn calls and cancel expressions
  * parse async fn definitions
  * add promise type
  * implement IR analysis for async function calls
  * clean up mach-o stack trace code
  * add coroutine startup IR to async functions
  * coroutines: analyze get_implicit_allocator instruction
  * ir analysis for coro_id and coro_alloc
  * IR analysis for coro.begin

  [ Ben Noordhuis ]
  * name types inside functions after variable

  [ Andrew Kelley ]
  * implement Zig IR for async functions

  [ Ben Noordhuis ]
  * allow implicit cast from `S` to `?&const S`

  [ Andrew Kelley ]
  * fix type_is_codegen_pointer being used incorrectly
  * Revert "workaround on windows for llvm6 missing advapi32.lib in llvm-config"
  * update embedded LLD to 6.0.0rc3
  * LLD patch: workaround for buggy MACH-O code
  * update C headers to clang 6.0.0rc3
  * update errors section of docs

  [ Marc Tiehuis ]
  * Add utf8 string view

  [ Andrew Kelley ]
  * codegen for calling an async function
  * codegen for cancel
  * codegen for coro_id instruction
  * codegen for coro_alloc and coro_size instructions
  * codegen for get_implicit_allocator instruction
  * codegen for coro_alloc_fail instruction
  * codegen for coro_begin instruction
  * codegen for coro_suspend instruction
  * codegen for coro_end instruction
  * codegen for coro_free instruction
  * codegen for coro_resume instruction
  * fix handle_is_ptr for promise type
  * coroutines: fix llvm error of instruction not dominating uses
  * add coroutine LLVM passes
  * async functions are allowed to accept zig types
  * fix invalid memory write in coroutines implementation
  * move coroutine init code to after coro.begin
  * parse await and suspend syntax
  * implement coroutine suspend

  [ Ben Noordhuis ]
  * allow implicit cast from &const to ?&const &const

  [ Andrew Kelley ]
  * workaround llvm coro transformations
  * workaround for llvm: delete coroutine allocation elision
  * remove signal hanlding stuff from std.os.ChildProcess
  * another llvm workaround for getelementptr
  * Revert "another llvm workaround for getelementptr"
  * llvm coroutine workaround: sret functions return sret pointer
  * revert workaround for alloc and free as coro params
  * Revert "llvm coroutine workaround: sret functions return sret pointer"

  [ Ben Noordhuis ]
  * fix assert on self-referencing function ptr field

  [ Andrew Kelley ]
  * different way of fixing previous commit
  * another workaround for llvm coroutines
  * break the data dependencies that llvm coro transforms cant handle
  * better coroutine codegen, now passing first coro test
  * run coroutine tests only in Debug mode
  * add atomicrmw builtin function
  * async function fulfills promise atomically
  * implement coroutine resume
  * add test for coroutine suspend with block
  * implementation of await
  * fix not casting result of llvm.coro.promise
  * await keyword works
  * coroutines: add await early test case
  * add optnone noinline to async functions
  * std.debug.dwarf supports line number version 4
  * add llvm 6.0.0 binaries to appveyor cache
  * fix conflict artifact accidentally in appveyor script

  [ Joshua Olson ]
  * Fix Linux gcc requirement (#807)
  * Clarify what is meant by 'libraries' (#808)

  [ Jacob Dufault ]
  * Make Utf8View public, add comments, and make iterator lowercase.

  [ Jimmi Holst Christensen ]
  * Simple translation of UO_LNot
  * Added appropriate TODO comment to UO_LNot
  * expr to bool is now it's own function. * Now while and for loops work on ints and floats, like if statements * This fixes the loop problem in #813
  * We now also use trans_to_bool_expr on bool not
  * Removed fixed todo

  [ Andrew Kelley ]
  * remove value judgement from std lib API docs
  * ptrCast builtin now gives an error for removing const qualifier
  * fix broken tests from previous commit
  * unless hf is specified in target environ, assume soft floating point
  * fix assertion when taking slice of zero-length array
  * var is no longer a pseudo-type, it is syntax
  * turn assertion into compile error for using var as return type
  * fix missing compile error for returning error from void async function

  [ Jimmi Holst Christensen ]
  * Ast Render no longer outputs erroneous semicolon closes #813

  [ Andrew Kelley ]
  * add compile error for using @tagName on extern union

  [ Jimmi Holst Christensen ]
  * Translate C can now translate switch statements again
  * Translate C will now handle ignored return values
  * Translate C now correctly converts ints, floats, ptrs and enums to bools * Boolean "and" and "or" should also work with these types. * This new method also simplifies to output code.

  [ Andrew Kelley ]
  * travis ci: update ubuntu llvm repo and CC,CXX env vars to 6
  * translate-c: add missing case labels
  * enums with 1 field and explicit tag type still get the tag type
  * fix partial inlining of binary math operator using old value
  * don't memoize comptime functions if they can mutate state via parameters
  * update to SoftFloat-3e

  [ Marc Tiehuis ]
  * Unroll Sha3 inner loop

  [ Andrea Orru ]
  * Added 6 parameters syscalls for zen
  * Fixed syntax errors in linux-i386 syscalls

  [ Andrew Kelley ]
  * omit pad zeroes in debug stack traces
  * add behavior test for coroutine frame allocation failure
  * improvements to stack traces
  * refactor stack trace code to remove global state
  * fix await multithreaded data race
  * change 5 to 6 in travis osx scripts
  * workaround for llvm-config missing xml2

  [ Andrea Orru ]
  * Simplify intrusive linked list test

  [ Andrew Kelley ]
  * xml2 workaround is relevant for linux too

  [ Andrea Orru ]
  * zen-specific: main -> _start

  [ Andrew Kelley ]
  * fix incorrect setEvalBranchQuota compile error
  * fix comptime slicing not preserving comptime mutability
  * don't memoize comptime fn calls that access comptime mutable state
  * some return types disqualify comptime fn call caching

  [ Marc Tiehuis ]
  * Add WebAssembly output workaround for LLVM 6

  [ Andrea Orru ]
  * Panic instead of segfault when returning generic type from functions closes #829

  [ Andrew Kelley ]
  * fix casting a function to a pointer causing compiler crash

  [ Andrea Orru ]
  * Compiler error when taking @offsetOf of void struct member closes #739
  * Tests for zero-bit field compiler error

  [ Andrew Kelley ]
  * fix tests broken by previous commit
  * add missing docs for setAlignStack builtin

  [ Andrea Orru ]
  * IPC structure updates
  * More precise naming
  * subscribeIRQ support

  [ Andrew Kelley ]
  * Release 0.2.0

  [ Andrea Orru ]
  * Some POSIX stuff, including a primitive write
  * Add Thread option for Mailboxes
  * Service -> Server

  [ Tesla Ice Zhang ]
  * Fix some explicit errors

  [ Ben Noordhuis ]
  * add CLANG_LIBDIRS cmake build variable
  * add LLVM_LIBDIRS to link directories

  [ Marc Tiehuis ]
  * Add addIncludeDir to TestStep + fix build template

  [ Andrew Kelley ]
  * add test for addIncludeDir for test step

  [ Andrea Orru ]
  * Message type, Undefined mailbox, read syscall, more constructors

  [ Tesla Ice Zhang ]
  * Remove unnecessary rule and re-fix an old bug

  [ Andrea Orru ]
  * Public SplitIterator

  [ Andrew Kelley ]
  * self-hosted build: print helpful message when libstdc++.a not found

  [ Wander Lairson Costa ]
  * Include libxml2 and zlib as required libraries

  [ Andrea Orru ]
  * Zen specific hacks

  [ Andrew Kelley ]
  * change async function call syntax

  [ Marc Tiehuis ]
  * Add missing pub specifier to atan2

  [ Andrew Kelley ]
  * update to llvm 7.0.0
  * ability to use async function pointers
  * create multiple llvm.memcpy and llvm.memset with different align params
  * use the llvm API for creating memcpy and memset instructions

  [ Marc Tiehuis ]
  * Fix OpqaueType usage in exported c functions
  * Fix os.File.mode function

  [ Andrew Kelley ]
  * std.os.linux exposes syscall functions and syscall numbers
  * move error ret tracing codegen to zig ir
  * fix async fns with inferred error sets
  * add promise->T syntax parsing
  * add comptime test for the type of suspend promise
  * fix invalid codegen for error return traces across suspend points

  [ Jay Weisskopf ]
  * doc: fix typo and tighten wording in error sections

  [ Andrew Kelley ]
  * fix bitrotted code in unexpected error tracing
  * fix crash when compile error in analyzing @panic call
  * std.math.cast handles signed integers
  * std/os: getting dir entries works on OS X

  [ Ben Noordhuis ]
  * non-zero exit when build.zig cannot be created
  * skeleton stage 2 support for 'zig build'

  [ Jimmi Holst Christensen ]
  * Fixed looking for windows sdk when targeting linux

  [ Andrew Kelley ]
  * fix compile time array concatenation for slices

  [ hellerve ]
  * st/os: address @andrewrk concerns

  [ Jimmi Holst Christensen ]
  * std.zig.parser can now parse top level test declarations

  [ Marc Tiehuis ]
  * Rewrite Rand functions

  [ Andrew Kelley ]
  * fix examples and rename std.rand.Rand to std.rand.Random

  [ Jimmi Holst Christensen ]
  * std.zig.parser now supports all infix operators
  * Fixed self hosted compiler compiler error from prev commit
  * std.zig.parser now parses call expr

  [ Andrew Kelley ]
  * add ZIG_STATIC cmake option

  [ Jimmi Holst Christensen ]
  * std.zig.parser now treats call expr as a suffix operator
  * std.zig.parser parses all prefix operators

  [ Andrew Kelley ]
  * find libc and zig std lib at runtime
  * appveyor and travis ci: stop passing unused configure args

  [ Jimmi Holst Christensen ]
  * Added a lot of test cases

  [ Andrew Kelley ]
  * implement os_self_exe_path in the c++ compiler for darwin

  [ Marc Tiehuis ]
  * docs: fix unclosed code tag

  [ Jimmi Holst Christensen ]
  * Fixed review commented code
  * Each test now have it's own test name
  * Added test cases to cover all of zigs syntax

  [ Andrew Kelley ]
  * fix regressions on windows

  [ Jimmi Holst Christensen ]
  * std.zig.parser now handles lib name for extern var and fn

  [ Raul Leal ]
  * Fix undeclared identifier error in readUntilDelimiterBuffer and incorrect number of parameters in readUntilDelimiterAlloc (#877)

  [ Jimmi Holst Christensen ]
  * std.zig.parser now parses multi line strings
  * std.zig.parser now parses char literals
  * std.zig.parser now parses null and bool literals

  [ Andrew Kelley ]
  * musl-friendly dynamic linking

  [ Jimmi Holst Christensen ]
  * std.zig.parser now parses error, this and unreachable

  [ Marc Tiehuis ]
  * Add run compiler command

  [ Jimmi Holst Christensen ]
  * std.zig.parser now parses slicing and array access

  [ Andrew Kelley ]
  * std.io.readLine function

  [ Jimmi Holst Christensen ]
  * std.zig.parser now parses slice and array types
  * std.zig.tokenizer fixed tokens having wrong column and line
  * std.zig.parser refactored call, slice and array access to be suffix op
  * std.zig.parser Refactor: * Slice/Array access is now not parsed in the expr contruction loop * State.ExprListItemOrEnd now takes a token id for the end token
  * std.zig.parser now parses initializers... Or, it would, if it worked
  * std.zig.parser now parses grouped expressions * I also moved some tests down, as they fail in ways I can't fix yet
  * std.zig.parser moved container initializer tests down
  * std.zig.parser Refactored top level decl parsing * Now, the arraylist from the root node is passed through the states. * This allows us to reuse the code for enums, unions and structs
  * std.zig.ast Added ContainerDecl

  [ Andrew Kelley ]
  * upload static linux artifacts on successful travis build
  * travis artifacts: don't upload extra stuff
  * travis: don't upload build/ folder as artifacts

  [ Jimmi Holst Christensen ]
  * std.zig.parser now parses regular enums, unions and struct * Still missing packed, and extern

  [ Andrew Kelley ]
  * travis: don't upload other files as artifacts
  * remove more signal handling stuff from std.os.ChildProcess
  * travis: better s3 artifacts
  * travis: don't skip tests
  * fix up logic for macos std.os.deleteTree

  [ Jimmi Holst Christensen ]
  * std.zig.parser now parses container decls
  * std.zig.tokenizer Tokens now don't contain a line and column field. * Instead, this information is optained by asking the tokenizer. * getTokenLocation takes a start_index, so relative loc can be optained
  * std.zig.parser now parses error set declarations

  [ Marc Tiehuis ]
  * Fix off-by-one error in all crypto functions

  [ Jimmi Holst Christensen ]
  * std.zig.parser should now parse operators with precedence. * This haven't been tested yet

  [ Marc Tiehuis ]
  * Add Hmac function (#890)

  [ Jimmi Holst Christensen ]
  * std.zig Major Refactor * parser now parses expression like the C++ compiler does * This makes initializers work * Added control flow expression (only return is parsed) * Added catch parsing (It doesn't quite work) * The parse can now specify states as optional.   * The parse will roll back on error if states are optional   * This can be overriden by State.Required

  [ Andrew Kelley ]
  * update to latest llvm API
  * travis: update docker image tag for llvm7

  [ Ben Noordhuis ]
  * fix use-after-free in BufMap.set()
  * fix llvm assert on version string with git sha

  [ Jimmi Holst Christensen ]
  * std.zig.parser: Initializers are now parsed and fmt correctly
  * std.zig.parser Fixed: * Parsing of the optional expression in contrl flow expr * Rendering of catch expressions

  [ Marc Tiehuis ]
  * Add common hash/checksum functions

  [ Jimmi Holst Christensen ]
  * std.zig.parser now parses labeled blocks. * There is also some code for switch range parsing
  * std.zig.parser now parses switch
  * std.zig.parser WIP generalizing parsing of payloads * Note, it doesn't work :)

  [ Andrew Kelley ]
  * error return traces for the early return case
  * codegen: fix not putting llvm allocas together
  * put the error return addresses in the coro frame
  * fix calling convention at callsite of zig-generated fns
  * error return traces work with async return case
  * add docs for packed enum
  * add docs for union methods
  * *WIP* async/await TCP server
  * running into the llvm corosplit error again
  * update what std tests to run
  * fixups from rebase
  * basic tcp server working when used with netcat
  * async tcp server proof of concept

  [ Jimmi Holst Christensen ]
  * std.zig.parser now parses while loops and labeled break and continue
  * std.zig.parser unified code for rendering and parsing semicolon in statements
  * std.zig.parser now parses for loops
  * std.zig.parser now parses if statements
  * ast.zig.parser now parses defer statements
  * std.zig.parser now parses comptime
  * std.zig.parser now parses fn types
  * std.zig.parser now parses asm expressions * We cannot render asm expressions yet

  [ Andrew Kelley ]
  * fix std.io.readline to work on windows

  [ Jimmi Holst Christensen ]
  * std.zig.parser can now render asm expressions
  * std.zig.parser changed assign expr to only be allowed in some contexts * Only allowed in while continue expr and statement expr
  * std.zig.parser now parses coroutine code
  * std.zig.tokinizer: fixed failing tests
  * std.zig: fixed compiler errors
  * std.zig.parser readded all tests * Ops!
  * std.zig.parser: changed block exprs from primary expr to expr
  * std.zig.parser now parses toplevel use
  * std.zig.tokinizer now treats string identifiers as identifiers
  * std.zig.parser now parses the `var` type * I parse it as a type in all contexts. This is not how the   C++ compiler does it, but I think typechecking should catch this
  * std.zig.ast: fixed none compiling code
  * std.zig.parser: removed dublicate "zig fmt: coroutines" test

  [ Andrew Kelley ]
  * add missing call in zig fmt to commit results to disk

  [ Jimmi Holst Christensen ]
  * std.zig.parser fixed segfault when parsing cc for fn decl

  [ Andrew Kelley ]
  * cmake defaults stage1 to install in build directory
  * fix another undefined deref
  * add memmove to builtin.o

  [ Josh Wolfe ]
  * zig fmt while-else with no blocks

  [ Andrew Kelley ]
  * add more linux syscalls and constants
  * simplify and fix BufMap logic

  [ Andrea Orru ]
  * Update zen library

  [ Jimmi Holst Christensen ]
  * std.zig: Major refactor * There now exists a few function to allocate all nodes in parser.zig * ast.zig now have a table of Ids and their corrisponding type
  * std.zig.parser: * Renamed eatToken to expectToken * A new eatToken fn, which only eats the token, if the id match * Inlined initNode, as it is not suppose to be used outside createNode
  * std.zig.parser: Fixed parsing of field access rhs related: #909
  * std.zig.parser: Redid parsing of error set delc related: #909
  * std.zig.parser can now parse `std/heap.zig`: related: #909 * Struct fields can now be pub * Parsing of double deref now works * Block expressions now have the right precedence
  * std.zig.parser now allows assignment expr in switch cases. This makes `std/os/index.zig` parse related: #909
  * std.zig.parser now handle `try`'s precedence correctly This allows parsing of `std/zig/parser.zig`. Related: #909
  * std.zig.parser now accept both string and multiline string for strings Related #909 Allows it to parse `std/special/compiler_rt/aullrem.zig`, `std/special/compiler_rt/aulldiv.zig` and `std/math/x86_64/sqrt.zig`
  * std.zig.parser now parses inline fn proto Related #909 Allows parsing of `std/os/zen.zig`.
  * std.zig.parser: requireSemiColon now matches the C++ behavior Related #909 Allowes parsing of `std/os/child_process.zig`

  [ Andrew Kelley ]
  * allow integer and float literals to be passed to var params

  [ Jimmi Holst Christensen ]
  * std.zig.parser special cased error in return. Related #909 This allows parsing of `std/special/build_runner.zig`

  [ Andrew Kelley ]
  * LLD patch: Do not keep shared symbols to garbage...

  [ Andrea Orru ]
  * outb syscall

  [ Jimmi Holst Christensen ]
  * std.zig.parser now parses alignment of functions Related #909 This allows it to parse `std/special/compiler_rt/index.zig`

  [ Marc Tiehuis ]
  * Revise self-hosted command line interface

  [ Jimmi Holst Christensen ]
  * std.zig.parser: Refactor, round 1: * Removed the Optional state   * We now have an OptionalCtx instead of DestPtr   * OptionalCtx simulated return, instead of reverting states   * OptionalCtx is a lot less hacky, but is still a small footgun * Trying to avoid consuming more than one token per state   * This is required, because of comments   * The C++ compiler allows comments between all tokens   * We therefor have to consume comment tokens between each state * Reordered states so they are grouped in some logical fasion

  [ Andrew Kelley ]
  * fix invalid implicit cast on macos
  * remove --zig-install-prefix arg now that we find std at runtime

  [ Jimmi Holst Christensen ]
  * std.zig.parser: Refactored `commaOrEnd` to `expectCommaOrEnd` * Now it returns end when found, or null if comma was found. * State should now be appended outside the function
  * std.zig.ast: Fixed build failures

  [ Andrew Kelley ]
  * inline functions must be stored in const or comptime var
  * zig fmt: container init fields each on own line
  * zig fmt includes trailing commas
  * zig fmt: switch cases on new lines

  [ Andrea Orru ]
  * Pass up to 5 arguments in Zen IPC

  [ Marc Tiehuis ]
  * Remove cc command
  * Use builtin Arch/Os/Environ

  [ Jimmi Holst Christensen ]
  * std.zig.parser: Refactor round 2 * More work on ensuring that each state only eat one token * VarDecl parsing now constructs its node * Handling all fn parsing in the same case * Using eatToken instead of getNextToken where possible * All tokenIdTo* now takes  @TagType(Token.Id) * Added a createToCtxLiteral function

  [ Marc Tiehuis ]
  * Replace File.exists with File.access
  * Fix windows access check

  [ Andrew Kelley ]
  * fix undefined behavior triggered by fn inline test
  * fix regression with zig install dir
  * travis: put cache-control header for ziglang.org/download

  [ Andrea Orru ]
  * FIXME note

  [ Andrew Kelley ]
  * add std.os.createThread
  * fix linux implementation of self exe path
  * add @sqrt built-in function
  * exit with error code instead of panic for file not found
  * std.math.ln and std.math.exp use float strict mode
  * add @atomicLoad builtin

  [ Alexandros Naskos ]
  * Added ReleaseSmall mode
  * Set SizeLevel to 2 in ReleaseSmall mode
  * Fixed test build code
  * Added ReleaseSmall mode to docgen

  [ Andrew Kelley ]
  * std.debug: dumpStackTrace & friends use DirectAllocator

  [ Marc Tiehuis ]
  * Add exp/norm distributed random float generation

  [ Andrew Kelley ]
  * fix windows not respecting --msvc-lib-dir, --kernel32-lib-dir
  * improve cmpxchg

  [ tgschultz ]
  * Added timestamp, high-perf. timer functions.
  * Added unstaged changes.
  * Fixed compiler errors around darwin code.

  [ Andrew Kelley ]
  * add --no-rosegment cli option

  [ tgschultz ]
  * fixed typos.
  * Fixed incorrect sign on epoch.clr
  * Added notes regarding CLOCK_MONOTONIC_RAW and made it easy to change our mind in the future. Updated std.os imported tests' block with lazy declaration workaround and added time.zig. Corrected some incorrect comments.
  * Fixed another incorrect comment

  [ Andrew Kelley ]
  * support break in suspend blocks

  [ tgschultz ]
  * Style cleanups, u64 casts, Timer.start returns error instead of unreachable on unexpected errno.

  [ Jimmi Holst Christensen ]
  * Added field builtin function
  * Optimized field ptr ir for hot path and fix assignment bug
  * Added builtin field to docs

  [ tgschultz ]
  * Use std.os.errorUnexpectedPosix if timer initialization encounters unexpected error

  [ Andrew Kelley ]
  * zig fmt: preserve comments in front of test blocks

  [ Harry Eakins ]
  * Readability improvements and bug-fix to std/crypto/throughput_test.zig
  * Changed all MB to MiB

  [ Andrew Kelley ]
  * std.zig.parser: remove unused field
  * add test case for #936

  [ tgschultz ]
  * Added DirectAllocator support for alignments > os.page_size on posix systems

  [ Andrew Kelley ]
  * travis: use encrypted env vars for s3 credentials
  * add alignment docs
  * fixups
  * linux: support VDSO for clock_gettime
  * add alignment docs
  * better error reporting for missing libc on windows
  * fix windows build broken by previous commit
  * exit(1) instead of abort() for file not found
  * add compile error for invalid deref on switch target

  [ Marc Tiehuis ]
  * Improve fmt float-printing
  * Fix release float printing errors

  [ Andrew Kelley ]
  * fix bigint twos complement implementation
  * fix interaction between defer and labeled break

  [ Alexandros Naskos ]
  * One step towards @typeInfo

  [ Marc Tiehuis ]
  * Add initial complex-number support

  [ Alexandros Naskos ]
  * @typeInfo with void payloads now works!

  [ Marc Tiehuis ]
  * crypto throughput test now uses os.time module

  [ Alexandros Naskos ]
  * Attempt at adding comptime union field access
  * Fixed IntInfo generation.
  * Added (broken) pointer info, float info
  * PointerInfo child is a pointer to a TypeInfo union, still not working correctly
  * Fixed PointerInfo generation
  * PointerInfo child is known at comptime
  * Added ArrayInfo, NullableInfo, PromiseInfo generation
  * Fixed comptime union void field access

  [ Andrew Kelley ]
  * std.mem: add more slice manipulation functions
  * clean up complex math tests
  * convert NOTE to TODO so we catch it later

  [ Braedon ]
  * Utf8 Encode
  * Changed to use shifting and masking

  [ Alexandros Naskos ]
  * Added checks for field name/index mapping in TypeInfo generation. Abstracted the parent setting out.
  * Fixed ir_type_info_struct_set_parent for struct parents.
  * Changed TypeInfo layout.
  * Cleanup
  * Added TypeInfo cache
  * Reset parent on cached TypeInfo values if we need to.
  * Added Enum TypeInfo except for methods
  * Added ErrorSet TypeInfo generation.
  * Switched to shallow TypeInfo.

  [ Andrew Kelley ]
  * translate-c: add missing decl type from LLVM 7

  [ Alexandros Naskos ]
  * Added ErrorUnion, Union TypeInfo generation
  * Fixed enum tag type detection in TypeInfo generation.
  * Added struct TypeInfo generation.
  * Added Fn TypeInfo generation.
  * Added BoundFn TypeInfo generation.

  [ Jimmi Holst Christensen ]
  * Removed zero sized error set optimization fixes #762 fixes #818

  [ Alexandros Naskos ]
  * Added definition TypeInfo generation, except for function definitions.

  [ Jimmi Holst Christensen ]
  * Functions with infered error set can now return literals fixes #852
  * .ReturnType and @ArgType now emits errors on unresolved types related: #846

  [ Alexandros Naskos ]
  * Generating TypeInfo's now forces definitions to be resolved.

  [ Jimmi Holst Christensen ]
  * Fixed wrong formatting for arg_index when reporting @ArgType error

  [ Alexandros Naskos ]
  * Started work on function definition TypeInfo generation.

  [ Jimmi Holst Christensen ]
  * Trying to fix osx build failing by setting param_info.type to nullptr
  * Fixed build error
  * Using allocate instead of allocate_nonzero so we don't have to memset

  [ Andrew Kelley ]
  * add std.atomic.Stack and std.atomic.Queue
  * add fuzz tests for std.atomic.Stack
  * add tests for std.atomic Queue and Stack
  * disable atomic stack and queue tests for non-linux
  * fix compiler-rt ABI for x86_64 windows
  * *WIP* use pthreads when linking libc
  * pthread support working
  * make pthreads threads work on darwin
  * enable atomic queue and stack tests for macos
  * linux uses pthreads when linking against libc
  * support kernel threads for windows
  * fix std threads for macos
  * fix std threads for linux

  [ Alexandros Naskos ]
  * More FnDef TypeInfo generation.
  * Finished FnDef TypeInfo generation (warning: may be buggy).

  [ Andrew Kelley ]
  * zig fmt: respect comments before statements
  * fix bootstrap_lib for windows
  * fix bootstrap_lib for windows, take 2
  * zig fmt: preserve comments before global variables

  [ Josh Wolfe ]
  * move some checks around in utf8Encode logic to be more zig idiomatic

  [ Andrew Kelley ]
  * zig fmt: preserve same-line comment after statement

  [ Josh Wolfe ]
  * use explicit error sets for utf8Decode functions

  [ Andrew Kelley ]
  * zig fmt: array literal with 1 item on 1 line
  * zig fmt: preserve same line comment after struct field
  * zig fmt: comments before var decl in struct
  * zig fmt: same-line comment after switch prong
  * zig fmt: comments before switch prong
  * zig fmt: comments before error set decl
  * update comment in std/os/index.zig
  * zig fmt: support line comments and doc comments
  * std.zig.tokenizer: fix handling of line comment / doc comment
  * std.zig.tokenizer: 3 slashes is doc comment, 4 is line comment
  * run zig fmt on std/os/index.zig
  * support foo.* for ptr deref
  * zig fmt: better multiline string handling
  * zig fmt: support promise->T
  * zig fmt: support labeled suspend
  * zig fmt: support union(enum(tag)) and enum init values
  * zig fmt: aggregate type init with only 1 field
  * zig fmt: consistent spacing for container inits
  * zig fmt: error set decls
  * zig fmt: comments in field decls
  * zig fmt: only some docs have doc comments
  * [breaking] delete ptr deref prefix op
  * zig fmt: line comments in struct initializer
  * behavior tests passing with new pointer deref syntax

  [ Alexandros Naskos ]
  * Added tests.
  * Added typeInfo tests
  * Added type info tests to behavior test listing
  * Fixed type info test, added documentation.
  * Added typeInfo to langref built_ins
  * Small fix.

  [ Andrew Kelley ]
  * translate-c: update to llvm7
  * windows threading: add missing call to CloseHandle

  [ Jimmi Holst Christensen ]
  * Added better support for none pure enums in tranlate C

  [ Andrew Kelley ]
  * std.atomic - use AtomicOrder.SeqCst for everything
  * fix compiler-rt tests accidentally running std tests

  [ Alexandros Naskos ]
  * Fixed inlining determination test (#972)

  [ Andrew Kelley ]
  * add ReleaseSmall mode in zig tests
  * fix behavior tests for ReleaseSmall

  [ Braedon ]
  * Unified API

  [ Jimmi Holst Christensen ]
  * Fixed extern enums having the wrong size (#970)

  [ Marc Tiehuis ]
  * Add json decoder
  * Fix review comments for json decoder
  * Use allocator backed array for json value decoder

  [ Andrew Kelley ]
  * zig fmt: fix tokenization of float literal with exponent
  * zig fmt: same-line comment on comptime expression
  * zig fmt: switch with empty body

  [ Jimmi Holst Christensen ]
  * Made container methods that can be const, const

  [ Andrew Kelley ]
  * zig fmt: same-line comment after non-block if expression

  [ Marc Tiehuis ]
  * Fix bigint multi-limb shift and masks

  [ Andrew Kelley ]
  * std.SegmentedList implementation
  * zig fmt: same-line comment after non-block if expression
  * SegmentedList: fixups from review comments
  * std.SegmentedList: cleaner separation of capacity functions
  * tagged union field access prioritizes members over enum tags
  * add std.SegmentedList.Iterator
  * add std.SegmentedList.Iterator.prev
  * rework std.zig.parser
  * separate std.zig.parse and std.zig.render
  * std.zig.parser supports same-line comments on any token
  * add benchmark for measuring parser performance

  [ Jimmi HC ]
  * Added Slice as it's own type info in userland
  * Freeing ptr_field_name after use

  [ Andrew Kelley ]
  * translate-c: fix typedef duplicate definition of variable
  * all tests passing again
  * fix parser performance regression
  * fix self hosted compiler
  * partial conversion to post-fix pointer deref using zig fmt
  * zig fmt: fix not writing results

  [ Marc Tiehuis ]
  * Fix bigint shift-right partial shift

  [ Andrew Kelley ]
  * update std.Buffer API
  * fix comptime code modification of global const
  * fix windows build system
  * add @newStackCall builtin function
  * recursive render top level decl
  * refactor std.zig.render to be recursive
  * fix AST dumping code in self hosted compiler
  * self hosted compiler: remove unused flag
  * README: https links
  * std.zig.parse cleanup
  * zig fmt: preserve same line doc comments on var decls
  * fix @typeInfo not setting a field to comptime
  * build: add flag to LLD to fix gcc 8 build (#1013)
  * std.fmt.format: support {B} for human readable bytes
  * zig fmt: add comma on last switch prong
  * convert more std lib files to postfix pointer deref
  * std.fmt: use SI prefixes for printing bytes
  * OpenBSD has the same C integer sizes as Linux
  * zig fmt: same line comments after tokens in expression
  * zig fmt: line comment between if block and else keyword
  * zig fmt: fix comment after if before another if
  * fix std.SegmentedList.Iterator.set
  * more std lib to postfix deref with zig fmt
  * all tests passing with postfix deref syntax
  * zig fmt: add pointer deref syntax

  [ Marc Tiehuis ]
  * Make StreamingJsonParser public
  * Make JsonParser public

  [ Andrew Kelley ]
  * std.zig.parse ignores comments
  * std.zig.tokenizer: fix tokenization of hex floats

  [ braedonww@gmail.com ]
  * Added argtype and error inferring info

  [ Andrew Kelley ]
  * doc fixups
  * update github.com/zig-lang to github.com/ziglang
  * std.zig.tokenizer: support hex escape in char literals
  * zig fmt: support aligned ptr with bit fields
  * struct fields with no explicit type are not supported
  * zig fmt: fix handling of comments at top of file
  * enum fields with a type are not supported
  * zig fmt: handle missing trailing comma in array literals
  * handle more cases of inserting trailing commas
  * update json_test to be compliant with zig source encoding
  * zig fmt: fix rendering of align keyword of slice type
  * zig fmt: support trailing comma on switch case items
  * trailing comma after var args is not supported
  * update to latest LLVM API
  * add strict float mode to some math functions
  * zig fmt: put nested struct inits on newlines
  * zig fmt: parse extra comma in asm expressions
  * zig fmt: fix rendering of struct with no trailing comma on last field
  * zig fmt: no space on switch range operator
  * zig fmt: handle empty block with comment inside
  * zig fmt: fn calls with trailing comma with params on new lines
  * zig fmt: better multiline string formatting
  * zig fmt: support array literal row size hint
  * run zig fmt on some of the codebase
  * zig fmt: delete empty comments that do nothing
  * zig fmt: array literals with no trailing comma all on one line
  * zig fmt: use simple newlines rather than empty comments to hint
  * zig fmt: allow same line struct literal with no trailing comma
  * zig fmt: fix switch body indent
  * zig fmt: fix enum decl with no trailing comma
  * zig fmt: render fn decl with trailing comma 1 line per param
  * zig fmt: respect line breaks after infix operators
  * zig fmt: respect line breaks in if-else
  * zig fmt: if-else with comment before else
  * zig fmt: fix spacing when moving doc comment on var decls
  * zig fmt: handle if and while indentation better
  * zig fmt: fix extra space after comma before multi line string
  * zig fmt: fix implementation of firstToken() for fn call
  * run zig fmt on the codebase
  * fix AtomicFile for relative paths
  * fix syntax of std/json_test.zig

  [ Jimmi HC ]
  * fixed #1009 ir_make_type_info_defs already calls resolve_top_level_decl on all Tld when building the def array. This means, that there is no reason that analyze_fn_body is nessesary, as the fn type should have already been resolved completly. The only thing analyze_fn_body does here, is cause problems with generic functions.
  * Removed copy-pasted resolve_inferred_error_set both ir.cpp and analyze.cpp have a function resolve_inferred_error_set, which is a nearly exact copy-paste. This commit removes the one in ir.cpp and exposes then one in analyze.cpp. This also allows us to make analyze_fn_body local to analyze.cpp, as it is not used anywhere in ir.cpp after this change
  * Adding workaround for when the user tries to unwrap 'type' closes #1011

  [ tgschultz ]
  * Added custom formatter support, refactored fmt.format
  * Minor typo
  * Formatting
  * Fixed character handling
  * Fix MacOS CI Timer test failing...?

  [ Andrew Kelley ]
  * std.zig.render returns bool of whether anything changed
  * spaces around slice operator if operands are infix
  * zig fmt: space after fn in fn prototypes
  * zig fmt: field access does not cause spaces for slicing
  * run zig fmt on the codebase
  * zig fmt: don't compute a sha-256 for no reason
  * Add --color CLI option to zig fmt
  * zig fmt: add --color option to CLI help text
  * use * for pointer type instead of &
  * ir: rip out special logic for using addr-of instruction for types
  * fix regressions
  * add test case for pointer to type and slice of type
  * std.zig: update to new pointer syntax
  * run zig fmt
  * fix incorrect address-of syntax on windows

  [ Arthur Elliott ]
  * fix typo (#1034)

  [ Andrew Kelley ]
  * docs: add missing builtin to langref syntax coloring
  * appveyor: remove llvm 5.0.1 from cache
  * fix build file template
  * introduce [*] for unknown length pointers

  [ Marc Tiehuis ]
  * Make zig fmt exit with error on any parse errors

  [ Andrew Kelley ]
  * better compile error for error sets behind nullable

  [ Marc Tiehuis ]
  * Add context to zig_unreachable calls (#1039)

  [ Andrew Kelley ]
  * disallow single-item pointer indexing
  * support `zig fmt: off` and `zig fmt: on` between top level decls
  * never call malloc with size 0
  * Pointer Reform: proper slicing and indexing (#1053)

  [ Jimmi HC ]
  * Renamed "(int/float literal)" to "comptime_int/float"
  * Removed NullLiteral to Null
  * Renamed UndefinedLiteral to Undefined

  [ Andrew Kelley ]
  * fix crash when evaluating return type has compile error
  * update to latest libclang
  * disallow unknown-length pointer to opaque
  * README: update support table
  * disable field access for unknown length pointers
  * disable deref syntax for unknown length pointers
  * add test for not allowing implicit cast from T to [*]const T
  * Pointer Reform: update @typeInfo

  [ Marc Tiehuis ]
  * Fix Log2Int type construction

  [ Braedon ]
  * Add newline to zig fmt error (#1064)

  [ Marc Tiehuis ]
  * Add json.TokenStream (#1062)

  [ isaachier ]
  * Fix const-ness of buffer in replaceContents method (#1065)

  [ Andrew Kelley ]
  * fix std.os.windows.PathFileExists specified in the wrong DLL (#1066)
  * fix structs that contain types which require comptime
  * langref: automatic update of builtin.zig
  * remove @canImplicitCast builtin
  * add implicit casts from `*[N]T`

  [ Marc Tiehuis ]
  * Fix json parser comma after empty object case

  [ Jimmi HC ]
  * Allow access of array.len through a pointer

  [ Andrew Kelley ]
  * disable some implicit casts for unknown length pointers

  [ isaachier ]
  * Fix error handling in Buffer::fromOwnedSlice (#1082)

  [ Andrew Kelley ]
  * nullable pointers follow const-casting rules
  * fix assertion failure when debug printing comptime values

  [ Arthur Elliott ]
  * add set function to arraylist

  [ Andrew Kelley ]
  * clean up std.ArrayList

  [ marleck55 ]
  * std/fmt: Use lowercase k for kilo in base 1000 (#1090)

  [ Ben Noordhuis ]
  * support `--target-arch wasm32` (#1094)

  [ Andrew Kelley ]
  * breaking syntax change: ??x  to  x.? (#1095)
  * breaking syntax change: orelse keyword instead of ?? (#1096)
  * std.zig: update syntax for orelse keyword

  [ Marc Tiehuis ]
  * Add arbitrary-precision integer to std

  [ tgschultz ]
  * Added C string support to fmt by using "{s}". The format string requirement is for saftey. (#1092)

  [ Andrew Kelley ]
  * implement @tagName as a switch instead of table lookup
  * langref: add coroutines documentation
  * langref: add orelse keyword to syntax highlighting
  * implement std.os.Dir for windows
  * zig fmt
  * fix ability to call mutating methods on zero size structs
  * better debugging for CI failures of std.atomic
  * docgen: don't leave garbage .h files lying around
  * add docs and missing test case for merging error sets

  [ Marc Tiehuis ]
  * Add i128 compiler-rt div/mul support

  [ Andrew Kelley ]
  * disallow implicit casts that break rules for optionals
  * langref: add merge error sets operator to operator table
  * std.zig.ast: add test for iterate
  * fix race condition bug in test harness of std.atomic

  [ Marc Tiehuis ]
  * Add windows x86_64 i128 abi workaround

  [ Alexandros Naskos ]
  * Enabled optional types of zero bit types with no LLVM DI type. (#1110)

  [ Andrew Kelley ]
  * std.os.path.dirname: return null instead of empty slice
  * fix build on windows, broken by previous commit
  * langref: docs for error return traces
  * llvm7: find external liblldWasm and update for newest lld macho API

  [ Jay Weisskopf ]
  * Make `zig version` compliant with SemVer (#1113)

  [ Andrew Kelley ]
  * add basic std lib code for loading dynamic libraries
  * std.DynLib: open the fd with CLOEXEC

  [ Sahnvour ]
  * pointer reform: missed change in windows specific code.

  [ Andrew Kelley ]
  * load_dynamic_library test: no need to link libc
  * disable load dynamic library test
  * allow passing by non-copying value
  * don't automatically take pointer when passing by non-copying value
  * disable byval
  * langref: be clear that float types are always IEEE 754
  * posix read can return error.IsDir
  * std.Complex: use better arg passing convention and fix a TODO
  * remove integer and float casting syntax
  * update test cases
  * update more tests
  * add target C int type information for msp430 target
  * update std.DynLib to use @intCast
  * msp430 target: c_long is always 32 bits
  * disable failing macos test. see #1126
  * remove bool to int syntax. add @boolToInt

  [ Bodie Solomon ]
  * Fix 1117: Use realpath in stage1 Darwin os_self_exe_path
  * Fix 1117: Tweak realpath logic to use out_path as scratch space
  * Fix 1117: Revise realpath scratch logic

  [ Andrew Kelley ]
  * fix compiler crash when using @intToFloat with float literal
  * disallow opaque as a return type of fn type syntax
  * langref: add docs for void
  * adjust logic for finding the path to zig executable on darwin
  * stage1: update darwin code to workaround old libc bug
  * zig fmt: support directories
  * remove error set casting syntax. add `@errSetCast`
  * remove []u8 casting syntax. add `@bytesToSlice` and `@sliceToBytes`
  * standard library fixes
  * remove error to/from int casting syntax; add `@errorToInt`/`@intToError`
  * translate-c: add new libclang c types
  * remove enum to/from int casting syntax; add `@enumToInt`/`@intToEnum`

  [ Alexandros Naskos ]
  * @typeInfo now uses optional types instead of @typeOf(undefined)
  * Added missing ?type in docs.

  [ Andrew Kelley ]
  * update langref
  * `@floatToInt` now has safety-checked undefined behavior
  * langref: organize docs for inline loops and add note about when to use it
  * remove redundant implicit casting code
  * fix calling method with comptime pass-by-non-copyign-value self arg
  * fix runtime fn ptr equality codegen

  [ kristopher tate ]
  * std.mem: remove allocator create in favor of construct; ref #733
  * std: update stdlib to match updated allocator create signature; ref #733
  * std.mem.Allocator.construct: remove deprecation warning;
  * std.mem.Allocator.construct: improve formatting;

  [ Andrew Kelley ]
  * zig fmt
  * remove std.mem.Allocator.construct and other fixups

  [ Ben Noordhuis ]
  * fix f128 remainder division bug

  [ Marc Tiehuis ]
  * Add float repr bit extraction functions

  [ Isaac Hier ]
  * Fix increment operation for bigint -1
  * Fix logic
  * Add test case

  [ Andrew Kelley ]
  * add casting docs, __extenddftf2, and __extendsftf2
  * fix compiler crash for invalid enum
  * clean up self hosted main. delete unsupported commands
  * std.zig.ast: fix incorrect impl of FnProto.firstToken

  [ Isaac Hier ]
  * Fix os_path_join for case where dirname is empty

  [ Andrew Kelley ]
  * rename get_maybe_type to get_optional_type
  * fix crash for optional pointer to empty struct
  * langref: explicit cast section

  [ Ben Noordhuis ]
  * scope variables in floating point cast tests
  * dry floating-point type definitions
  * add f16 type
  * simplify comptime floating-point @divTrunc

  [ tgschultz ]
  * Fix up some std.rand syntax #1161 (#1162)

  [ Andrew Kelley ]
  * add f16 to langref
  * fix comptime @tagName crashing sometimes
  * fix coroutine accessing freed memory

  [ Marc Tiehuis ]
  * Correct hex-float parsing

  [ Jimmi HC ]
  * Implement const_values_equal for array type * This allows arrays to be passed by value at comptime
  * Assert that array is not ConstArraySpecialUndef in const_values_equal
  * ir_resolve_const now checks recursivly for undef values
  * contains_comptime_undefined_value should not follow pointers

  [ Andrew Kelley ]
  * std.atomic.queue - document limitation and add MPSC queue

  [ isaachier ]
  * Clarify reason implicit cast does not work for large RHS (#1168)

  [ Ben Noordhuis ]
  * support --emit in 'test' command
  * add std.math f16 constants
  * add std.math f16 nan support
  * add std.math f16 inf support
  * add std.math f16 isfinite support
  * add std.math f16 isnormal support
  * add std.math f16 fabs support
  * add std.math f16 floor support
  * add std.math f16 copysign support
  * add std.math f16 signbit support
  * test std.math f16 sqrt support

  [ Jay Weisskopf ]
  * Fix version detection for out-of-source builds

  [ Marc Tiehuis ]
  * compiler_rt: Add trunc f128 narrowing functions
  * compiler_rt: Add floatuntisf
  * compiler_rt: Add floatunditf and floatunsitf
  * compiler_rt: Add floatuntitf
  * compiler_rt: Add missing exports
  * compiler_rt: Add missing install targets
  * compiler_rt: Add floattitf/floattidf/floattisf
  * compiler_rt: Remove wrapping add/sub operators where unneeded
  * compiler_rt: Add CMake entries
  * Alignment fix and allow rudimentary f128 float printing

  [ Jimmi Holst Christensen ]
  * Revert "contains_comptime_undefined_value should not follow pointers"
  * Revert "ir_resolve_const now checks recursivly for undef values"
  * Expanded the list of operators that catch undefined values at comptime
  * Avoid resolve_const in cmp when instr are not comptime
  * Fixed line numbers for tests

  [ Josh Wolfe ]
  * gitignore docgen test artifacts
  * syntax in build.zig example doc

  [ Andrew Kelley ]
  * always link against compiler_rt.o even when linking libc
  * add event loop Channel abstraction
  * modify std.event.Loop to work for windows and macos
  * add another BuildError code
  * add runtime safety for `@intToEnum`; add docs for runtime safety
  * fix stage2 macos build

  [ Marc Tiehuis ]
  * Clean up outstanding compiler_rt todos

  [ Andrew Kelley ]
  * update for latest llvm
  * langref: improve docs for while and undefined
  * fix runtime libc detection depending on locale

  [ Jimmi HC ]
  * Allow allocation of any 0 sized type (not just void)
  * Fixed last commit compiler error

  [ Marc Tiehuis ]
  * Do not normalize langref.html.in line endings

  [ Andrew Kelley ]
  * fix await on early return when return type is struct

  [ Isaac Hier ]
  * Debug enum issue
  * Fix assertion crash on enum switch values

  [ Andrew Kelley ]
  * alternate implementation of previous commit
  * langref: add more internal links
  * add compile error notes for where struct definitions are
  * fix iterating over a void slice
  * remove outdated semantic analysis documentation
  * add @popCount intrinsic
  * M:N threading
  * std.event.Loop: use EPOLLONESHOT to save 1 syscall
  * add std.os.cpuCount and have std.event.Loop use it for thread pool size
  * cleaner output from zig build when there are compile errors

  [ Josh Wolfe ]
  * builder.addBuildOption

  [ Andrew Kelley ]
  * tests passing with kqueue on macos
  * std.os.cpuCount implementation for macos

  [ Marc Tiehuis ]
  * Update zig.parser benchmark program

  [ Andrew Kelley ]
  * fix regressions on linux
  * zig fmt
  * std.Hashmap - don't use catch unreachable in tests
  * fix crash on @ptrToInt of a *void
  * langref: docs for invalid error set cast and incorrect pointer alignment
  * ZIG_DEBUG_COLOR=1 overrides tty detection for runtime stack traces
  * implement std.os.cpuCount for windows
  * std.event.Loop multithreading for windows using IOCP
  * fix non-portable format specifier
  * fix regression on macos

  [ wilsonk ]
  * Update throughput_test.zig. (#1211)

  [ Andrew Kelley ]
  * better workaround for guaranteeing memory in coroutine frame
  * define c macros before importing llvm h files
  * organize std.event into directories
  * enable basic event loop test
  * fix regression from b6eb4048
  * fix crash when calling comptime-known undefined function ptr
  * langref: docs for union safety
  * allow var args calls to async functions
  * introduce std.event.Group for making parallel async calls
  * self-hosted: first passing test
  * self-hosted test: use C allocator since we depend on libc
  * update vendor list for newest llvm version
  * self-hosted: add compile error test for missing fn name

  [ Marc Tiehuis ]
  * Add generic comparator generator functions for sorting

  [ Andrew Kelley ]
  * add compile error for disallowed types in extern structs
  * build system: add -Dskip-release option to test faster
  * add std.event.Future
  * std.atomic: use spinlocks
  * std.event.Future: workaround in tests for llvm coro memory
  * ir: refactor lvalues
  * self-hosted: generate zig IR for simple function
  * self-hosted: better IR for empty fn
  * zig fmt
  * allow == for comparing optional pointers
  * ir: remove dead code
  * ir: remove unnecessary and probably buggy code
  * ir_get_ref: delete unnecessary and probably buggy code

  [ Bas van den Berg ]
  * Improve ArrayList insert unit tests.
  * Add a copyBackwards to fix the broken insert methods for ArrayList.

  [ Andrew Kelley ]
  * self-hosted: basic IR pass2
  * docs: clarify mem.Allocator.reallocFn

  [ tgschultz ]
  * Added `remove` to ArrayList

  [ Andrew Kelley ]
  * std.ArrayList - rename remove to swapRemove

  [ Eduardo Sánchez Muñoz ]
  * codegen: Store returned value if type is 'handle_is_ptr' and function is not 'first_arg_ret'.

  [ Andrew Kelley ]
  * add an assertion to the test

  [ Marc Tiehuis ]
  * Add --stdin option to zig fmt

  [ Andrew Kelley ]
  * docs: correct some misinformation

  [ Bas van den Berg ]
  * Create unit test that tests aligned reallocation.
  * Fix aligned reallocation from zero size.

  [ Andrew Kelley ]
  * self-hosted: adding a fn to an llvm module

  [ Bas van den Berg ]
  * Improve realloc on fixed buffer allocator (#1238)

  [ Andrew Kelley ]
  * rename Module to Compilation
  * update for latest clang API
  * self-hosted: generate LLVM IR for simple function
  * all integer sizes are available as primitives
  * codegen: remove unused variable
  * remove std.ArrayList.removeOrError function
  * allow implicit cast of undefined to optional
  * self-hosted: create tmp dir for .o files and emit .o file for fn
  * self-hosted: implement getAppDataDir for windows

  [ kristopher tate ]
  * revert commit 860d3da9156a0b1f4a1e3e644b423da3e768bb86 ; please see #1249 for more information; (#1255)

  [ Wink Saville ]
  * Give ArrayList tests consistent names (#1253)
  * Add swapRemoveOrError (#1254)

  [ Andrew Kelley ]
  * port 69e3b4e to self-hosted compiler
  * self-hosted: linking
  * std.event.Loop.onNextTick dispatches work to waiting threads

  [ Jay Weisskopf ]
  * Fixed minor documentation errors (#1256)

  [ Andrew Kelley ]
  * fix @setEvalBranchQuota not respected in generic fn calls

  [ Josh Wolfe ]
  * implement proper utf16leToUtf8

  [ Jimmi HC ]
  * -Dskip-release now also skips build example tests

  [ Andrew Kelley ]
  * fix build on windows
  * fix std.os.getAppDataDir test on linux
  * fix invalid character test on windows

  [ Jimmi Holst Christensen ]
  * Allow pointers to anything in extern/exported declarations (#1258)

  [ Andrew Kelley ]
  * self-hosted: find libc on linux
  * self-hosted: linking against libc
  * self-hosted: compile errors for return in wrong place
  * std.zig.parse: fix treating integer literals as string literals
  * self-hosted: progress on IR for supporting libc hello world
  * prevent non-export symbols from clobbering builtins
  * std.os.File: add missing pub modifiers
  * self-hosted: refactor ParsedFile out of existence
  * fix generation of error defers for fns inside fns
  * relative path to cwd in compile errors
  * self-hosted: convert some stuff to async/await
  * self-hosted: implicit cast comptime ints to other ints

  [ Jimmi HC ]
  * Fixed windows getPos

  [ Andrew Kelley ]
  * self-hosted: share C++ code for finding libc on windows

  [ kristopher tate ]
  * std.os.posix: Add AF_* for darwin;
  * std.os.posix: Add SYSPROTO_* for darwin;
  * std.os.posix: Add SOCK_* for darwin;
  * CMakeLists.txt: add darwin_socket.zig;
  * std.special.test_runner.zig: make tests skippable;
  * std.event.tcp: SKIP test instead of OKing test;
  * std.event.tcp: add switch statement in preparation for building-out abstractions;

  [ Sahnvour ]
  * Very much WIP base implementation for #721. Currently does: - read COFF executable file - locate and load corresponding .pdb file - expose .pdb content as streams (PDB format)

  [ kristopher tate ]
  * README: include link to channel logs (#1278)

  [ Andrew Kelley ]
  * rename error.skip to error.SkipZigTest
  * re-organize std lib darwin files

  [ Marc Tiehuis ]
  * Tighten Int.to bounds and add twos-complement bitcount
  * Add big int fits function (#1279)

  [ Andrew Kelley ]
  * add std.math.big.Int.fitsInTwosComp
  * self-hosted can compile libc hello world
  * self-hosted: add first compare-output test
  * self-hosted: fix error messages not cleaning up correctly
  * macho backtraces - use std.sort.sort instead of insertion sort
  * self-hosted: basic linker code for macos
  * self-hosted: find all libc paths; windows linker code

  [ Nathan Sharp ]
  * std.io: PeekStream and SliceStream

  [ Andrew Kelley ]
  * fix logic for determining whether param requires comptime
  * remove old section from readme
  * self-hosted: function types use table lookup
  * self-hosted: function calling another function
  * fix race conditions in self-hosted compiler; add test
  * patch LLD to fix COFF crashing when linking twice in same process
  * fix assertion failure when some compile errors happen
  * add compile error for non-inline for loop on comptime type
  * add compile error for missing parameter name of generic function
  * add compile error for ignoring return value of while loop bodies
  * coroutines have 3 more bits of atomic state
  * update coroutine return codegen with new status bits
  * resume clears suspend bit
  * suspend sets suspend bit
  * remove ability to break from suspend blocks
  * cancel sets the cancel bit
  * await sets the await bit
  * resume detects resuming when not suspended
  * suspend checks the cancel bit
  * detect double await
  * cancel detects if the target handle has already returned
  * cancel detects suspend bit
  * suspend cancels awaiter when it gets canceled
  * await checks the cancel bit
  * await cancels the await target when it is canceled
  * make some functions in std.event.Loop public
  * canceling an await also cancels things awaiting it

  [ dbandstra ]
  * add int writing functions to OutStream
  * add skipBytes function to InStream
  * add SliceOutStream, rename SliceStream to SliceInStream (#1301)

  [ Andrew Kelley ]
  * fix cancel and await semantics
  * await sets suspend bit; return clears suspend bit
  * add behavior tests for cancel semantics
  * fix docs for break from suspend
  * introduce std.event.fs for async file system functions
  * self-hosted: use std.event.fs.readFile
  * std: file system watching for linux

  [ Matthew D. Steele ]
  * Add "Comments" section to language reference (#1309)

  [ Andrew Kelley ]
  * std.fmt.format: add '*' for formatting things as pointers
  * simpler std.event.Lock implementation

  [ Marc Tiehuis ]
  * Add integer binary output format (#1313)

  [ Andrew Kelley ]
  * add std.event.RwLock and a few more std changes

  [ kristopher tate ]
  * src/all_types.hpp: add enums for Handle Builtin;
  * src/ir.cpp: wire-up IR for handle builtin;
  * src/codegen.cpp: base handle builtin on `@frameAddress()`;
  * src/ir_print.cpp: support `@handle()`;
  * test/cases/couroutines.zig: test @handle();
  * src/codegen.cpp: return null if calling convention is not async;
  * src/codegen.cpp: add/throw error for @handle() in a non async context;
  * src/codegen.cpp: remove `add_node_error` from `ir_render_handle`;
  * src/codegen.cpp: reassert that there are no generated errors in codegen;
  * src/ir.cpp: add/throw error for @handle() in a non async context;
  * test/cases/coroutines.zig: remove dummy assert used for testing;
  * src/ir.cpp: return promise->T instead of promise;
  * src/ir.cpp: don't allow `@handle()` outside of a function;
  * src/codegen.cpp: return promise instead of null promise;
  * test/compile_errors.zig: @handle() called outside of function definition;
  * test/compile_errors.zig: @handle() in non-async function
  * src/codegen.cpp: @handle(): replace hacky ref chain with llvm intrinsic;
  * src/all_types.hpp: remove promise_symbol from suspend;
  * src/ast_render.cpp: remove promise_symbol from suspend;
  * src/ir.cpp: remove promise_symbol from suspend;
  * src/parser.cpp: remove promise_symbol from suspend;
  * std/event/channel.zig: remove promise_symbol from suspend and use @handle();
  * std/event/future.zig: remove promise_symbol from suspend and use @handle();
  * std/event/group.zig: remove promise_symbol from suspend and use @handle();
  * std/event/lock.zig: remove promise_symbol from suspend and use @handle();
  * std/event/loop.zig: remove promise_symbol from suspend and use @handle();
  * std/event/tcp.zig: remove promise_symbol from suspend and use @handle();
  * std/zig/parser_test.zig: update test to reflect that the promise symbol is no in scope with suspend;
  * test/cases/coroutine_await_struct.zig: update test to reflect that the promise symbol is no in scope with suspend;
  * test/cases/coroutines.zig: update test to reflect that the promise symbol is no in scope with suspend;
  * test/cases/coroutines.zig: test for immediate resume inside of suspend with @handle();
  * test/compile_errors.zig: update test to reflect that the promise symbol is no in scope with suspend;
  * doc/langref.html.in: update docs to reflect that the promise symbol is no in scope with suspend;
  * src/parser.cpp: fix typo from rebase;
  * doc/langref.html.in: update suspend example with @handle();
  * test/cases/coroutines.zig: update suspend to use @handle();
  * test/cases/cancel.zig: update suspend to use @handle();
  * doc/langref.html.in: add builtin @handle() to docs;
  * std/event: directly return @handle();
  * std/os/index.zig: use "hw.logicalcpu" instead of "hw.ncpu" in macOS; (#1317)
  * std/os/windows/advapi32.zig: add SystemFunction036;
  * std/os/index.zig: swap CryptGetRandom() with RtlGenRandom();
  * std/os/index.zig: call getRandomBytes() twice and compare;
  * std/os/windows/util.zig: SKIP instead of PASS on non-windows systems;

  [ Andrew Kelley ]
  * fix API of RtlGenRandom
  * pull request fixups
  * WIP: Channel.getOrNull
  * evented I/O zig fmt
  * fixups from the merge

  [ kristopher tate ]
  * better support for `_` identifier

  [ Matthew D. Steele ]
  * Fix the start-less-than-end assertion in std.rand.Random.range (#1325)
  * Fix a type error in std.os.linux.getpid() (#1326)

  [ Andrew Kelley ]
  * add a friendly note in .gitignore
  * fix tagged union initialization with a runtime void
  * self-hosted: watch files and trigger a rebuild
  * when decls don't change, don't regenerate them

  [ Matthew D. Steele ]
  * Add thread ID support to std.os.Thread (fixes #1316)

  [ kristopher tate ]
  * zig/std/os/index.zig: clean-up thread id; (#1)

  [ Andrew Kelley ]
  * update embedded LLD to 7.0.0rc1
  * build: update embedded LLD build files
  * LLD patch: workaround for buggy MACH-O code

  [ Matthew D. Steele ]
  * Don't compare ?Thread.Id == Thread.Id in the test

  [ Andrew Kelley ]
  * update c_headers/* to LLVM 7.0.0rc1
  * translate-c: fix while loop with no body
  * translate-c: handle for loop with empty body
  * translate-c: fix do while with empty body
  * translate-c: fix for loops with var init and empty body

  [ Andrea Orru ]
  * Fix casts
  * More type cast fixes

  [ Andrew Kelley ]
  * fix std.os.Thread.getCurrentId for linux
  * separate os.Thread.Id and os.Thread.Handle because of windows
  * fix Thread impl on Linux and add docs
  * std.HashMap.autoHash: use xor instead of wrapping mult
  * merge @kristate's std lib changes to darwin
  * std.event.fs support for macos
  * fix hash map test

  [ Shawn Landden ]
  * doc: @addWithOverflow also returns if overflow occured
  * std: add red-black tree implementation
  * mem: move enum Compare from rb to mem
  * mem: add mem.compare(), and use it for mem.lessThan()
  * mem: use pub on Compare (#1352)

  [ Andrew Kelley ]
  * implement std.event.fs.Watch for macos
  * std.event.fs.Watch distinguishes between Delete and CloseWrite on darwin
  * fix linux regressions

  [ Wink Saville ]
  * Fix ir_analyze_instruction_atomic_rmw (#1351)

  [ Andrew Kelley ]
  * std.event.fs.pwritev windows implementation
  * std.event.fs.preadv windows implementation
  * initial windows implementation of std.event.fs.Watch
  * windows: only create io completion port once
  * windows fs watching: fix not initializing table value
  * docgen: fix usage of std.HashMap
  * self-hosted: reorganize creation and destruction of Compilation
  * windows: call CancelIo when canceling an fs watch

  [ Shawn Landden ]
  * rb: some style fixes

  [ prazzb ]
  * Find local llvm-config first

  [ tgschultz ]
  * fixed handling of [*]u8 when no format specifier is set

  [ Marc Tiehuis ]
  * docs: correct @memcpy, @memset function signatures
  * Add secureZero function

  [ Shawn Landden ]
  * do not use an allocator when we don't need to because of the existance of PATH_MAX

  [ Andrew Kelley ]
  * langref: add docs for peer type resolution

  [ Michael Noronha ]
  * translate-c: Correctly translate enum init values, addressing #1360 (#1377)

  [ Andrew Kelley ]
  * std.fmt.format: handle non-pointer struct/union/enum
  * refactor std.os.makePath to use a switch instead of if
  * Revert "translate-c: Correctly translate enum init values, addressing #1360 (#1377)"

  [ Michael Noronha ]
  * translate-c: Correctly translate enum init values, addressing #1360

  [ kristopher tate ]
  * src/translate_c.cpp: correctly bridge llvm::APSInt with Zig BigInt;

  [ Andrew Kelley ]
  * *WIP* std.os assumes comptime-known max path size
  * fix windows
  * fix linux
  * Revert "Merge branch 'mtn-translate-c-enum-vals'"
  * fix selfExePath on macosx
  * fix docs on windows

  [ Raul Leal ]
  * allow implicit cast from *[N]T to ?[*]T (#1398)

  [ Andrew Kelley ]
  * fixup for previous commit
  * fix incorrectly generating an unused const fn global

  [ kristopher tate ]
  * std/mem.zig: test writing u64 integers;

  [ Andrew Kelley ]
  * rename std.debug.ElfStackTrace to std.debug.DebugInfo

  [ Marc Tiehuis ]
  * Default to strict IEEE floating point

  [ Andrew Kelley ]
  * MacOS stack traces use the already mmapped executable

  [ Shawn Landden ]
  * missing PATH_MAX change

  [ Andrew Kelley ]
  * macos stack traces: read debug info sections from .o files
  * fix error message for incorrect panic handler fn signature

  [ Marc Tiehuis ]
  * Fix builtin alignment type

  [ Andrew Kelley ]
  * macos stack traces have the compilation unit in them
  * fix regression from 2f7f7d815d0c9c4e620c7a529837b5
  * std.debug: remove workaround for fixed bug
  * macos stack traces have address-to-line translation
  * compilation unit cwd dir appears to be unnecessary on macos
  * fix stack traces on linux
  * fix regressions
  * fix handling multiple extern vars with the same name
  * add workaround on macos for shared libraries

  [ tgschultz ]
  * Fixed compile error when passing enum to fmt

  [ Andrew Kelley ]
  * add test for previous commit
  * document fixed-width integer types
  * update LLD fork to 7.0.0rc2
  * LLD patch: workaround for buggy MACH-O code
  * update clang headers to 7.0.0rc2
  * fix llvm assertion failure when building std lib tests for macos

  [ kristopher tate ]
  * src/ir.cpp: check return value of `const_ptr_pointee` to protect against dereferencing null pointers;

  [ Andrew Kelley ]
  * Revert "src/ir.cpp: check return value of `const_ptr_pointee` to protect against dereferencing null pointers;"
  * ir: const_ptr_pointee asserts that its return value is non-null
  * fix false negative determining if function is generic
  * this was intended to be included in the previous commit
  * fix @typeInfo unable to distinguish compile error vs no-payload

  [ tgschultz ]
  * Handle unions differently in std.fmt (#1432)

  [ Andrew Kelley ]
  * langref: document exporting a library

  [ raulgrell ]
  * Allow implicit cast from *T and [*]T to ?*c_void

  [ Andrew Kelley ]
  * minor fixups
  * std.zig.parse: fix parsing of doc comments after fields
  * zig fmt
  * langref: document labeled blocks, labeled for, labeled while

  [ Shawn Landden ]
  * std.crypto: add chaCha20

  [ Marc Tiehuis ]
  * speed up chacha20

  [ Andrew Kelley ]
  * fix crash when var in inline loop has different types
  * add compile error for function prototype with no body
  * add test coverage for invalid switch expression parameter
  * fix unresolved path preventing PDB loading
  * use RtlCaptureStackBackTrace on windows
  * printing info from the ModuleInfo substream of DebugInfo

  [ Marc Tiehuis ]
  * Add poly1305 and x25519 crypto primitives

  [ Andrew Kelley ]
  * reading the module information substream
  * figuring out which module an address belongs in
  * finding the function that an address is in
  * finding source file, line, and column info

  [ Marc Tiehuis ]
  * Make poly1305 and x25519 more idiomatic zig
  * std/crypto: Update throughput_test.zig to include all hash functions
  * std/crypto: zig fmt

  [ Andrew Kelley ]
  * awareness of debug subsections

  [ Jimmi Holst Christensen ]
  * Translate-c: Check for error before working on while loop body (#1445)

  [ Andrew Kelley ]
  * figuring out where /names stream is

  [ kristopher tate ]
  * i#1438: src/windows_sdk.cpp: fix version guard in `find_10_version`;
  * i#1438: src/windows_sdk.cpp: fix version guard in `find_81_version`;
  * std/fmt/index.zig: #1358 allow bytes to be printed-out as hex;
  * std/fmt/index.zig: #1358: test bytes printed-out as hex;

  [ Shawn Landden ]
  * std/rb.zig: fix comment

  [ kristopher tate ]
  * std/fmt/index.zig: set width from 0 to 2;
  * std/fmt/index.zig: test for printing double width hex bytes with zeros;

  [ Shawn Landden ]
  * these all use futex() (inaccurate comments)

  [ kristopher tate ]
  * std/fmt/index.zig: add hexToBytes function under std.fmt;

  [ Andrew Kelley ]
  * rework code to avoid duplicate operations
  * fix source file lookup
  * fix regressions
  * fixups
  * use the sret attribute at the callsite when appropriate
  * switch most windows calls to use W versions instead of A
  * ability to @ptrCast to *void
  * better anonymous struct naming
  * clarify const variables in docs
  * compile error instead of segfault for unimplemented feature
  * fix incorrect value for inline loop
  * compile errors for unimplemented minValue/maxValue builtins

  [ Marc Tiehuis ]
  * std/crypto: Clean up poly1305/x25519

  [ Andrew Kelley ]
  * fix llvm assertion when adding callsite sret attr
  * fix incorrect variable ref count
  * add compile error for comptime control flow inside runtime block
  * update throughput test to new File API
  * ir: consistent error checking for br and cond_br instructions
  * compile error for @noInlineCall on an inline fn
  * port std.os.path.resolve to stage1
  * stage1: use os_path_resolve instead of os_path_real

  [ Marc Tiehuis ]
  * Downgrade new g++-8.0 error to warning

  [ Andrew Kelley ]
  * fix compile error on gcc 7.3.0
  * stage1: fix emit asm with explicit output file
  * stage1: fix crash when invalid type used in array type
  * stage1: fix build on macos
  * stage1 compile error instead of crashing for unsupported comptime ptr cast
  * stage1: fix tagged union with no payloads

  [ hfcc ]
  * Added compilation error when a non-float is given to @floatToInt()

  [ Andrew Kelley ]
  * allow comptime_int to @floatToInt
  * add test case for #726
  * stage1: rename TypeTableEntry to ZigType
  * stage1: rename FnTableEntry to ZigFn
  * stage1: rename VariableTableEntry to ZigVar
  * stage1: rename more TypeTableEntry types to ZigType
  * add compile error for using outer scoped runtime variables
  * stage1: improve handling of generic fn proto type expr
  * stage1: import blake2b implementation

  [ kristopher tate ]
  * std/crypto/x25519.zig: fix signature for `createPublicKey`;

  [ Andrew Kelley ]
  * start creating a hash of input parameters

  [ kristopher tate ]
  * std/crypto/x25519.zig: add test for `createPublicKey`;

  [ Andrew Kelley ]
  * assume evenly divided base64
  * stage1: compile error instead of incorrect code
  * add C ABI tests
  * stage1: c abi for big struct works
  * stage1: refactor fn type analysis to use C ABI walk fn
  * stage1: refactor param vars for C ABI
  * stage1: refactor variable inits to use c abi fn walk
  * add C ABI test for big unions
  * fix crash when var init has compile error

  [ raulgrell ]
  * builtin functions: @byteOffsetOf and @bitOffsetOf

  [ Raul Leal ]
  * Update langref.html.in

  [ Andrew Kelley ]
  * stage1: function to classify x86_64 abi types
  * C ABI: support medium size structs & unions for x86_64 params
  * C ABI: support returning large structs on x86_64
  * improve panic message from previous commit

  [ Shawn Landden ]
  * this is not arch-specific
  * os: use less syscalls
  * initial arm64 support
  * simplify f64_min to equivilent value
  * clone() on arm64
  * use vfork in stage1 compiler to avoid OOM
  * NaNs do not have signedness.
  * fix elf auxv handling

  [ Sahnvour ]
  * Fixes a path corruption when compiling on windows.

  [ Bas van den Berg ]
  * Add capacity and appendAssumeCapacity to ArrayList

  [ Andrew Kelley ]
  * basic compiler id hash working
  * `zig id` command
  * stage1: always optimize blake and softfloat even in debug mode
  * caching is working
  * update embedded LLD to 7.0.0rc3
  * LLD patch: workaround for buggy MACH-O code
  * drop patches on top of clang's C headers
  * stage1 caching: zig no longer uses zig-cache
  * fix llvm assertion and missing compile error
  * ability to disable cache. off by default except for...
  * disable stage2 tests on all targets
  * fix incorrect union const value generation
  * fix incorrect error union const value generation
  * fix docgen tests
  * zig build: better placement of test exe artifact
  * stage1: build blake code with -std=c99
  * darwin fixups
  * zig build: make the cache root dir before building
  * ci: build zig in release mode
  * stage1: clean up timing report in test mode
  * bring back zig-cache
  * rename --enable-timing-info to -ftime-report to match clang
  * error messages for attempted cache when zig cannot perfectly do it

  [ emekoi ]
  * fixed WriteFile segfault

  [ Andrew Kelley ]
  * windows os.cpp implementations
  * fix zig build cache dir path
  * windows: std.fs functions support concurrent ops
  * fix zig fmt on windows
  * ci: skip release-small tests to save time
  * docs: langref is now javascript-free
  * appveyor: skip release-safe to save time

  [ Marc Tiehuis ]
  * math/complex: cexp test correction and ldexp usage fix

  [ kristopher tate ]
  * src/cache_hash.cpp: support file paths that contain spaces;

  [ Andrew Kelley ]
  * alternate fix using the rest() function
  * appveyor: skip all release tests to save time
  * fix tagged union with only 1 field tripping assertion
  * add compile error for merging non- error sets
  * stage1: put test output artifact back in zig-cache folder
  * remove the scope parameter of setFloatMode
  * remove `this`. add `@This()`.
  * fix assertion failure on compile-time `@intToPtr` of function
  * fix tagged union with all void payloads but meaningful tag
  * docs: more syntax highlighting

  [ Wink Saville ]
  * Fix additional regressions calling FileOutStream/FileInStream init()

  [ Andrew Kelley ]
  * fix coroutine alignment

  [ Wink Saville ]
  * Add test for Queue.dump

  [ Andrew Kelley ]
  * fix alignment of structs
  * add docs for `@This()`
  * fix crash when pointer casting a runtime extern function
  * allow extern structs to have stdcallcc function pointers
  * remove `zig build --init`. add `zig init-lib` and `zig init-exe`
  * dereferencing a *u0 is comptime-known to be 0
  * fix crash when bit shifting a u1
  * add compile error for non-optional types compared against null
  * add compile error for @ptrCast 0 bit type to non-0 bit type
  * remove deprecated, unused windows functions
  * fix codegen for @intCast to u0

  [ Josh Wolfe ]
  * somewhat realistic usecase test for shifting strange integer sizes
  * link to #1544

  [ emekoi ]
  * compiling on mingw is now supported (#1542)

  [ Andrew Kelley ]
  * fix @bytesToSlice on a packed struct
  * minor cleanups from 68c1d05917
  * fix @embedFile reading garbage memory
  * fix implicit cast of packed struct field to const ptr
  * implementation for bitcasting extern enum type to c_int
  * remove unnecessary setFloatMode calls
  * stage1 caching: don't write manifest until cache release
  * add compile error for slice.*.len
  * appveyor: use MSVC 2017
  * fix optional pointer to empty struct incorrectly being non-null
  * zig fmt: handle shebang lines
  * fix regression from previous commit

  [ Christian Wesselhoeft ]
  * std/index.zig: Fix import

  [ Andrew Kelley ]
  * appveyor: remove old cache file
  * travis: update apt repo url
  * travis: fix package names
  * fix typo from previous commit
  * travis: fix llvm apt package names
  * build: fix finding llvm and clang 7
  * travis: build zig with gcc to match what llvm was built with
  * update to llvm 8
  * add HermitCore target
  * add workaround for `llvm-config --system-libs`
  * better string literal caching implementation
  * add compile error for casting const array to mutable slice
  * fix formatInt to handle upcasting to base int size
  * fix comptime slice of pointer to array
  * fixups
  * fix comptime string concatenation ignoring slice bounds
  * stage1: unify 2 implementations of pointer deref
  * add compile error for slice of undefined slice
  * doc: add note about reproducible builds
  * fix @compileLog having unintended side effects

  [ Jeff Fowler ]
  * rm extraneous macro

  [ Andrew Kelley ]
  * include LICENSE in windows static builds

  [ Wink Saville ]
  * Fix typo in argsAlloc comment

  [ Andrew Kelley ]
  * add test to cover the CLI API that godbolt is using
  * add panic function to godbolt CLI API test
  * fix godbolt cli test on non-linux-x86_64 hosts
  * fix translate-c incorrectly translating negative enum init values

  [ Wink Saville ]
  * Ignore class-memaccess error for gcc 8 and above

  [ Andrew Kelley ]
  * minor langref improvements
  * fix comptime bitwise operations with negative values
  * fix translate-c test expecting incorrect C ABI on windows
  * fix more bigint code paths and add tests

  [ Wink Saville ]
  * Remove StrLitKind enum

  [ Andrew Kelley ]
  * fix self reference through fn ptr field crash
  * fix not syntax highlighting builtin module
  * fix crash on runtime index into slice of comptime type

  [ Jay Weisskopf ]
  * stage1: Added `zig help` to show usage on stdout

  [ Andrew Kelley ]
  * fix implicit casting to *c_void

  [ Wink Saville ]
  * Tweak SYMBOL_CHAR define in tokenizer.cpp

  [ Andrew Kelley ]
  * the last number in a packed ptr is host int bytes
  * fix variables which are pointers to packed struct fields
  * fix crash when compile error evaluating return...

  [ Josh Wolfe ]
  * overhaul api for getting random integers (#1578)

  [ Andrew Kelley ]
  * add dll export storage class where appropriate
  * update @typeInfo docs
  * build: add support for ZIG_STATIC on MacOS
  * rely on gcc for static builds on macos
  * Release 0.3.0
  * zig build: use os_self_exe_path to determine exe path not arg0

  [ Jimmi Holst Christensen ]
  * Expose failing_allocator as *Allocator instead of const FailingAllocator

  [ emekoi ]
  * added dynamic library loading for windows
  * fixed compilation on mingw
  * merged windows dll apis
  * fixed native target detection

  [ Andrew Kelley ]
  * rename std.event.tcp to std.event.net
  * build: omit finding libxml2, zlib since no direct dependency

  [ Sahnvour ]
  * Fixes --emit asm on windows and makes C header file generation explicit. (#1612)

  [ Andrew Kelley ]
  * update std lib API for I/O
  * std lib: flesh out the async I/O streaming API a bit
  * std lib (breaking): posixRead can return less than buffer size
  * increase stack size on windows for all executables

  [ Jimmi Holst Christensen ]
  * Fixed StackTrace not being resolved when panic is invalid (#1615)

  [ Wink Saville ]
  * Add doc comment for tokenLocationPtr (#1618)

  [ Ben Noordhuis ]
  * fix build-exe for --target-arch wasm32 (#1570)

  [ Andrew Kelley ]
  * add std.os.linux.vfork and std.os.linux.exit_group
  * std.Mutex: implement blocking mutexes on linux
  * better mutex implementation

  [ emekoi ]
  * removed unneeded dll extension

  [ Andrew Kelley ]
  * refactor ir.cpp
  * fix missing .h files
  * improve pointer documentation
  * docs: fix double escaping html entities
  * docs: add comment about operator overloading
  * on linux, link statically if not linking any shared libs

  [ Shawn Landden ]
  * arm64: respond to code review

  [ Andrew Kelley ]
  * disable C ABI tests on macos due to LLD deficiency
  * build: try to find llvm-config-7 before llvm-config
  * support building static libraries
  * more efficient builtin library code generation
  * std/special/bootstrap: inline some functions to improve stack traces
  * fix error limit linker arg on windows
  * stage1 link: compiler_rt and builtin libs know ...
  * stage1 os: workaround for macos not having environ variable
  * add workaround for bad LLD macos code

  [ emekoi ]
  * added math.pow support for integer types. resolves #1637 (#1642)

  [ Marc Tiehuis ]
  * Improve time.sleep api

  [ Andrew Kelley ]
  * C ABI and compiler rt improvements for ARM
  * fix compiler crash

  [ Jimmi Holst Christensen ]
  * Solve the return type ambiguity (#1628)

  [ Andrew Kelley ]
  * remove implicit cast from T to *const T
  * fix windows
  * std.io: fix compile error when InStream has empty error set
  * travis: upload langref on successful test run

  [ tgschultz ]
  * Add std.meta (#1662)

  [ Jimmi Holst Christensen ]
  * Ran fmt on last PR

  [ Greg V ]
  * Fix CMake finding LLVM/clang/lld on FreeBSD
  * Add FreeBSD support to os.cpp

  [ Marc Tiehuis ]
  * Add initial freebsd stdlib functionality
  * Set FreeBSD ELF OS/ABI when targeting
  * Get freebsd std compiling again
  * freebsd: Fix argc resolution in _start

  [ Greg V ]
  * Fix os/freebsd files
  * Add freebsd to more things
  * System call numbers on FreeBSD are machine-independent
  * Various fcntl flags are also machine-independent on FreeBSD
  * Add /usr/local/lib path for libxml2 and link libc++ on FreeBSD
  * Set up libc/rtld paths for FreeBSD
  * Support more of std on FreeBSD
  * Split at zero byte in SplitIterator
  * Specify 16-byte stack alignment in _start on FreeBSD

  [ tgschultz ]
  * Add std.meta to deployment (#1670)

  [ Jimmi Holst Christensen ]
  * Fixed code still using old ptr syntax

  [ Josh Wolfe ]
  * that's not a keyword

  [ Andrew Kelley ]
  * travis: add missing http headers for docs
  * travis: don't use newer cli args of s3cmd

  [ emekoi ]
  * fixes #1667

  [ Andrew Kelley ]
  * langref: dark style. easier on the eyes

  [ tgschultz ]
  * fix error where "std" isn't found in meta/trait
  * fix "std" not found error in meta/trait

  [ Ryan Saunderson ]
  * Bug fixes in WinSDK detection (#1665)

  [ Andrew Kelley ]
  * remove 3 more implicit casts to const pointers
  * fix stack pointer register name on i386
  * remove @minValue,@maxValue; add std.math.minInt,maxInt

  [ emekoi ]
  * fixed mingw compilation
  * fixed comments

  [ Andrew Kelley ]
  * remove another implicit cast to const pointer
  * remove implicit cast from number literal to enum
  * simplify logic of pass1 ir for while on error unions
  * cleanups
  * readme: MSVC 2017 is the supported one now
  * support building static self hosted compiler on macos
  * azure: build static macos

  [ kristopher tate ]
  * os.crypto: support for HmacBlake2s256 variety;

  [ Andrew Kelley ]
  * ci: use azure for all CI
  * ci: add missing steps field
  * ci: fix shasum commands
  * ci: upload a src tarball too
  * ci: fix paths
  * ci: display environment variables
  * ci: full test suite
  * update ci scripts for llvm 8
  * update to build against llvm trunk
  * update self-hosted compiler for new targets
  * update type info behavior test

  [ kristopher tate ]
  * ci/azure: set wget to non-verbose mode to make logs easier to read;

  [ Andrew Kelley ]
  * ci: 7-zip instead of info-zip for windows
  * ci: remove accidental .lib files from windows zip
  * fix broken cli test and translate-c: support no-op cast
  * README: update CI badges
  * limit integer types to maximum bit width of 65535
  * macos: use the same code as linux to determine libc include path
  * std.build.Builder: mutable env_map

  [ emekoi ]
  * made colored output more consistent (#1706)

  [ Andrew Kelley ]
  * array type syntax implies comptime
  * ir: remove redundant casting code

  [ Jimmi Holst Christensen ]
  * New Zig formal grammar (#1685)
  * Fixed error where we didn't expect the return type of a function
  * Manual update to new grammar. TODO: Figure out how we can auto update this, when the grammar changes in the zig-spec repo

  [ Andrew Kelley ]
  * ** and ++ operators force comptime on operands

  [ Josh Wolfe ]
  * address port getter
  * implement mem.writeIntLE, mem.writeIntBE
  * io read/write int be/le optimizations
  * test for readIntBE/LE

  [ Andrew Kelley ]
  * zig fmt: add --check flag
  * disable windows test until coroutines rewrite lands

  [ Jimmi Holst Christensen ]
  * Added NullOutStream and CountingOutStream (#1722)

  [ Jimmi HC ]
  * Have readStruct in stream return a value instead of taking a pointer
  * Fixed failure using readStruct and gave async readStruct the same sig

  [ Andrew Kelley ]
  * more fixes related to readStruct API

  [ Matthew O'Connor ]
  * Change rb functions to use snakeCase.

  [ Andrew Kelley ]
  * update readme

  [ Jimmi Holst Christensen ]
  * Fixed #1663 and removed IrInstructionArrayLen

  [ kristopher tate ]
  * std/fmt/index.zig: support printing hex bytes on slices;

  [ Matthew O'Connor ]
  * camelCase std.rb.set_child to std.rb.setChild

  [ Vallentin ]
  * Fixed typos

  [ Andrew Kelley ]
  * delete rogue file
  * rename `section` keyword to `linksection`

  [ Jimmi HC ]
  * Updated docs to newest grammar
  * Updated comments in parser.cpp

  [ Andrew Kelley ]
  * aarch64 improvements

  [ kristopher tate ]
  * src/os.cpp: os_file_read: return ErrorIsDir on case EISDIR;

  [ Duncan ]
  * Fix setsockopt syscall on linux

  [ Wink Saville ]
  * Fix pushToParent to work for arrays of Objects

  [ Andrew Kelley ]
  * all numbers with comptime known values implicitly cast

  [ Josh Wolfe ]
  * atomic.Int.set

  [ Andrew Kelley ]
  * fix assertion failure related to @intToEnum
  * add std.meta.intToEnum

  [ Marc Tiehuis ]
  * std/rand: fix ziggurat next_f64 call

  [ Wink Saville ]
  * Add SegmentedList.shrink

  [ Andrew Kelley ]
  * improve error message when wrong type returned
  * docs: fix some incorrect error documentation
  * fix incorrect --help text

  [ Sahnvour ]
  * Crash fixes and small improvements to inline asm. (#1756)

  [ Andrew Kelley ]
  * zig fmt

  [ Wink Saville ]
  * Allow json tests to be easily filtered

  [ kristopher tate ]
  * std/mem: writeIntLE: buf.* to buf;

  [ Andrew Kelley ]
  * fix incorrect buf len
  * std.os.path.realC: make overflow more clearly impossible
  * fix @intCast not catching negative numbers to unsigned
  * refactor type_requires_comptime to have possible error
  * update zen os std lib for latest zig changes

  [ Josh Wolfe ]
  * better debiased random range implementation
  * add biased random range api
  * test lots of types
  * factor out and expose biased range limiting function

  [ daurnimator ]
  * add std.meta.stringToEnum

  [ kristopher tate ]
  * std.mem: add new separate method and rework SplitIterator;

  [ Andrew Kelley ]
  * stage1: better file path handling
  * fix regression from d5648d26

  [ daurnimator ]
  * add std.math.IntFittingRange

  [ Andrew Kelley ]
  * readme: update support table

  [ Sahnvour ]
  * stack traces: fix for windows

  [ Andrew Kelley ]
  * tier 2 support for freebsd

  [ Josh Wolfe ]
  * fix child_process piped streams not getting closed

  [ Andrew Kelley ]
  * work around to support debian's fork of llvm 7.0.1

  [ Wink Saville ]
  * Add math min/max for Float and Value

  [ Jimmi Holst Christensen ]
  * Implemented getOrPutValue which wraps getOrPut

  [ Andrew Kelley ]
  * Revert "Add math min/max for Float and Value"

  [ daurnimator ]
  * Add std.LinkedList.concat

  [ dbandstra ]
  * make parseUnsigned handle types <8 bits wide

  [ kristopher tate ]
  * std.mem: remove varargs on join to stop excessive inlined code;

  [ Andrew Kelley ]
  * ci: workaround azure quirk with set -x

  [ kristopher tate ]
  * std.mem: split: test for multiple seperator bytes;
  * std.os.path: remove dependance on std.mem.join;
  * stage2: update std.os.path.join method signature;

  [ Andrew Kelley ]
  * ci: workaround azure quirk for windows too

  [ Jimmi Holst Christensen ]
  * Implemented new more flexible readLineFrom (#1801)

  [ Suirad ]
  * Update windows imports
  * Platform specific tests
  * Add more padding to parse buffer
  * Simplify implementation
  * Find CI env variables
  * Update tests

  [ tgschultz ]
  * Added serialization, bitstreams, traits for integer sign, TagPayloadType
  * Increased range of bitwidths tested by "serialize/deserialize Int" tests. Added tests for float inf and NaN.
  * Fixed readBits to cast errors to the correct errorset. See #1810 for why this wasn't caught earlier.
  * Added explicit test for #1810 issue to io_test.zig.

  [ Andrew Kelley ]
  * zig build: addStaticExecutable
  * make std.unicode.Utf8Iterator public
  * introduce std.io.SeekableStream
  * std.debug.StackIterator
  * std.debug.printSourceAtAddressDwarf
  * expose std.debug.DwarfInfo and delete unused function
  * std.debug: fix some issues with freestanding debug info
  * LLD patch: allow non-allocated sections to go into allocated sections

  [ Jimmi Holst Christensen ]
  * Allow packages in TestStep

  [ Andrew Kelley ]
  * implement compile error note for function parameter type mismatch

  [ tgschultz ]
  * Minor change to custom (de)serializer to allow them to be defined outside of the struct and aliased inside it. This will enable alternate generic serializers (i.e. one that follows pointers) on a struct-by-struct basis.
  * Minor doc-comment fix.

  [ Henry Nelson ]
  * Document explicitly ignoring expression values

  [ Jay Weisskopf ]
  * docs: Prefer system-ui font-family
  * font-family fallbacks for unsupported system-ui

  [ Wink Saville ]
  * Add add compiler_rt routines for float to signed integer conversion

  [ Andrew Kelley ]
  * breaking API changes to all readInt/writeInt functions & more
  * freebsd: fix os_self_exe_path function and update std lib
  * freebsd: fix issues with syscalls
  * fix mistakes introduced in b883bc8
  * add mem.readVarInt, fix InStream.readVarInt, fix stack traces
  * fixups
  * docs: fix alphabetical sorting of builtin functions
  * ci: install openssl on windows

  [ Josh Wolfe ]
  * mem foreign functions call the native ones

  [ Andrew Kelley ]
  * implement comptime pointer cast
  * ci: update msys packages before installing
  * fix comptime pointer reinterpretation array index offset
  * ir: delete dead code
  * README: clarify self-hosted status

  [ Jimmi Holst Christensen ]
  * formatType can now format comptime_int
  * Fixed intToPtr to fn type when the address is hardcoded (#1842)
  * Added formatting of function pointers (#1843)

  [ Marcio Giaxa ]
  * freebsd: remove syscall files
  * freebsd: add getdirentries
  * freebsd: add access
  * freebsd: link against libc
  * freebsd: link against libc++
  * freebsd: use libc interface instead system calls
  * freebsd: remove getrandom dependency from libc
  * freebsd: use sysctl to get the current executable path
  * freebsd: initial stack trace

  [ Andrew Kelley ]
  * std.io: call the idiomatic std.mem.readInt functions

  [ kristopher tate ]
  * src/analyze.cpp: support alignOf(struct T) aligned member inside struct T;
  * tests: re: 79db394;

  [ Andrew Kelley ]
  * fixups

  [ Marcio Giaxa ]
  * ci: add sr.ht build manifest for FreeBSD

  [ Andrew Kelley ]
  * ci: only run the debug behavior tests for FreeBSD

  [ tgschultz ]
  * Removed allocator from Linux version DynLib. Added dynamic_library.zig to std test list.

  [ myfreeweb ]
  * Use Ninja in .builds/freebsd.yml

  [ Greg V ]
  * Fix stat/timespec definitions for FreeBSD
  * Add preadv/pwritev on FreeBSD

  [ Marcio Giaxa ]
  * freebsd: use realpath() to resolve symbolic links
  * freebsd: add realpath to freebsd/index.zig
  * freebsd: remove system linker hack

  [ Andrew Kelley ]
  * translate-c: --verbose-cimport prints clang command

  [ Marcio Giaxa ]
  * freebsd: fix Stat mode type

  [ Andrew Kelley ]
  * I observed open() return EBUSY on linux
  * self-hosted: add DeviceBusy as a BuildError
  * comptime: ability to @ptrCast to an extern struct and read fields
  * hello world example can use `const` instead of `var`
  * llvm8: fix build errors
  * test: remove type info test dependency on builtin.Os enum
  * tests: make type info tests not depend on builtin.Os enum
  * llvm8: fix ZigLLVMCreateFunction
  * self-hosted: add hurd os to switch

  [ Marcio Giaxa ]
  * freebsd: remove syscall and use libc

  [ nebulaeonline ]
  * Altered SUBSYSTEM option handling when linking in msvc mode; Added preliminary UEFI support.
  * msvc subsystem option handling; added uefi os type
  * git user error fix
  * Yet another git user error remnant fixed
  * fixed stricmp/strcasecmp between windows/posix

  [ Marcio Giaxa ]
  * freebsd: implement std.os.time.sleep

  [ nebulaeonline ]
  * fixed formatting in options display

  [ Marcio Giaxa ]
  * freebsd: fix flags for opening files

  [ nebulaeonline ]
  * tabs to space fix. thanks visual studio.

  [ alexander ]
  * Switching on bools with duplicate and missing value detection: Issue 1768

  [ Andrew Kelley ]
  * fixups

  [ Marcio Giaxa ]
  * tests: add FreeBSD to the test matrix

  [ Andrew Kelley ]
  * allow not having libc include paths and doing @cImport

  [ alexander ]
  * Test cases for compiler error and working behavior for switching on booleans

  [ Marcio Giaxa ]
  * tests: remove freebsd from the test matrix
  * ci: update freebsd manifest

  [ alexander ]
  * Add DIFlagStaticMember flag to functions.

  [ vegecode ]
  * @bitreverse intrinsic, part of #767 (#1865)

  [ Marcio Giaxa ]
  * freebsd: add clock const definitions
  * freebsd: implement clock related functions
  * freebsd: add sockaddr structs

  [ vegecode ]
  * Mark comptime int hardcoded address pointee as a run time variable #1171 (#1868)

  [ Marcio ]
  * freebsd: fix wrong call to clock_getres (#1871)

  [ Jimmi HC ]
  * Respect the type system instead of ConstExprValue when getting field
  * Implemented buf_read_value_bytes for ZigTypeIdArray * Only for x_array.special == ConstArraySpecialNone
  * Fixed issue where TypeInfo would use types from a prev CodeGen instance When doing multible codegen passes (such as building compiler_rt and then something else) the TypeInfo cache code would point to types from the prev code gen (such as the prev 'bool' type), giving us errors like "expected type 'bool', but found type 'bool'" This disabling of caching might have a performance hit, but correctness is better than speed, so let's have this for now, until someone optimizes this correctly (probably in stage2)
  * Added test case
  * Removed oops comments

  [ Andrew Kelley ]
  * fix debug info for function pointers
  * `@typeInfo`: more correct return type info
  * translate-c: update to llvm8
  * when rendering llvm const values, ensure the types align

  [ emekoi ]
  * added mutex for windows
  * updated structs
  * switching from EnterCriticalSection to TryEnterCriticalSection
  * switching back to EnterCriticalSection
  * moved to InitializeCriticalSection to init
  * fixed mutex on windows
  * changed pointer types
  * removed nullables
  * fixed initializer and typos
  * fixed type signature

  [ Andrew Kelley ]
  * fix incorrect parameter names for std.math.atan2

  [ Sahnvour ]
  * removed unnecessary cast
  * Hopefully fixed #1503 (at least improved) line accuracy of stack traces on windows.

  [ kristopher tate ]
  * src/analyze.cpp: return type entry for `ZigTypeIdPointer` if it points to `ZigTypeIdOpaque`

  [ Andrew Kelley ]
  * add test case for previous commit

  [ tharvik ]
  * llvm-config sanity check

  [ Andrew Kelley ]
  * update to llvm8 trunk. all tests passing

  [ kristopher tate ]
  * Hint at use of and/or when &&/|| is improperly used (#1886)

  [ Sahnvour ]
  * translate-c: get real child type of array type for incomplete initializers and/or multi-dimensional arrays.
  * translate-c: correct array concatenation for incomplete C array initializers.
  * translate-c: only detect ints as negative if they are signed.
  * translate-c: avoid array concatenation if the init node is empty, for clarity.

  [ Andrew Kelley ]
  * simpler implementation of `&&` and `||` hints
  * backport copy elision changes
  * fix freebsd ci from previous commit
  * darwin time code: don't cast to int until the end

  [ Matthew McAllister ]
  * Move tokenizer error location to offending char

  [ Andrew Kelley ]
  * collapse os_file_mtime into os_file_open_r and check for directory
  * fix test after merging ad8381e0d2936f
  * introduce vector type for SIMD
  * os.cpp: fix regression on Windows from 59c050e7
  * darwin: fix incorrect timeval struct type
  * fixups
  * add compile errror for @bitCast when bit counts mismatch

  [ Matthew McAllister ]
  * Fix runtime assignment to comptime aggregate field

  [ Andrew Kelley ]
  * introduce --single-threaded build option

  [ Matthew McAllister ]
  * Fix slice concatenation

  [ Andrew Kelley ]
  * `std.mem.Allocator.create` replaced with better API
  * adjustments to std.mem split / separate
  * SIMD: array to vector, vector to array, wrapping int add
  * fix vector debug info tripping LLVM assertion
  * fix vector debug info tripping LLVM assertion

  [ Jimmi Holst Christensen ]
  * Added support for vector wrapping mult and sub * I also merged the code that generates ir for add, sub, and mult

  [ Andrew Kelley ]
  * docs: clarify passing aggregate types as parameters

  [ Sahnvour ]
  * translate-c: add tests. Commented for now as the output is currently empty until #646 is fixed.
  * Notify failure to create a process when the executable is not found even in PATH.
  * Typo: use the joined path to try executables available from PATH.

  [ tgschultz ]
  * Fixed Serializer and BitOutStream when used with streams that have empty error sets.

  [ Andrew Kelley ]
  * doc/targets.md has moved to the github wiki
  * thread local storage working for linux x86_64
  * require running std lib tests coherently
  * implement Thread Local Storage on Windows
  * fixups, and modify std.mem.join and std.os.path.resolve API
  * fixups
  * better error message when LLVM does not understand a triple
  * build: make sure LLVM is exactly correct
  * build: make sure LLVM is exactly correct
  * build: update Findllvm.cmake for llvm 8
  * fix using the result of @intCast to u0
  * update embedded LLD to 8.0.0rc2
  * LLD patch: workaround for buggy MACH-O code
  * update clang headers to 8.0.0rc2

  [ John Schmidt ]
  * Make ThreadSafeFixedBufferAllocator alias FixedBufferAllocator when --single-threaded

  [ Andrew Kelley ]
  * std.debug.assert: remove special case for test builds
  * fix compiler assertion failure when returning value from test
  * fix docs
  * zig fmt: support threadlocal
  * docgen: update for threadlocal keyword
  * implement vector addition with safety checking
  * implement vector math safety with ext and trunc
  * fix not updating debug info type of optional error sets
  * docs: add threadlocal keyword to grammar
  * `@truncate`: comptime 0 when target type is 0 bits
  * added C pointer type and implicit int-to-ptr for this type
  * casting between C pointers and normal pointers

  [ Jimmi HC ]
  * testing.expectEqual use expected type as the type of actual This allows for impl casts

  [ Andrew Kelley ]
  * avoid needlessly creating global constants
  * avoid needlessly creating global constants
  * langref: update grammar with c pointers
  * README: move i386-macosx to Tier 4
  * zig fmt: support C pointers
  * translate-c: use C pointer type everywhere
  * C pointer comparison and arithmetic
  * add C pointer type to @typeInfo
  * comptime support for pointer arithmetic with hard coded addresses
  * peer type resolution with C pointers
  * C pointers: delete dead code in ir_num_lit_fits_in_other_type
  * disallow C pointers to non-C-ABI-compatible element types
  * implicit casting between C pointer and optional non-C pointer
  * compile error test for casting integer to c pointer
  * C pointers: errors for nested pointer casting regarding null

  [ Matthew McAllister ]
  * Enable compileLog to display slices

  [ Marc Tiehuis ]
  * compiler-rt: Add __addtf3, __subtf3 and __truncdfhf2
  * Add f128 support for fabs, isinf, isnan, inf and nan functions

  [ Jimmi Holst Christensen ]
  * We already support vector on floats, so let's test it
  * We already support vector bit operators, so let's test it

  [ Marc Tiehuis ]
  * Add parseFloat to std.fmt
  * Add parseFloat support to json.zig

  [ Jimmi Holst Christensen ]
  * Added error for nesting vectors

  [ Andrew Kelley ]
  * comptime detection of casting null to pointer
  * runtime safety check for casting null to pointer
  * ci: freebsd: remove '.git' from URL as per upstream suggestion
  * remove the "top of the comptime stack" compile error
  * compile error tests for implicit C pointer casting
  * add missing compile error for OpaqueType inside structs/unions
  * fix implicit cast error unions with non-optional to optional pointer
  * omit nonnull attribute for C pointers
  * add docs for C pointers
  * compile error for C pointer with align attribute
  * allow C pointers to have alignment
  * translate-c: back to *c_void for opaque types
  * stage2: fix llvm.zig with opaque types back to single-item pointer

  [ Marc Tiehuis ]
  * Make parseFloat stricter in what it accepts as input
  * Use official llvm mirror for compiler-rt commit ref

  [ Andrew Kelley ]
  * darwin: fix pointer cast in mmap
  * stage2: fix windows regressions
  * add test for truncate on comptime integers
  * breaking: fix @sizeOf to be alloc size rather than store size
  * typecheck the panic function

  [ emekoi ]
  * removed hidden union tag in release modes

  [ Andrew Kelley ]
  * bring zig fmt to stage1
  * fmt_runner: remove redundant check
  * refactor translate-c - no more using namespace clang
  * README: direct link to Download & Documentation at the top
  * translate-c: proof of concept for transitioning to userland
  * fix regressions from previous commit when building with clang
  * translate-c: 4 more functions using C decls

  [ Matthew McAllister ]
  * Fix lvalue dereference type checking

  [ sjdh02 ]
  * fix BufferedInStream not reading delayed input

  [ Andrew Kelley ]
  * fixups

  [ Maya Rashish ]
  * Add NetBSD support
  * freebsd: fix pointer cast in mmap
  * Undo local, unneeded patch

  [ LemonBoy ]
  * Silence gcc8 class-memaccess warnings

  [ Benoit Jauvin-Girard ]
  * Fix std.math.powi so powi(x, +-0) = 1 for any x.

  [ Maya Rashish ]
  * Don't provide a bogus definition of EVFILT_USER

  [ Matthew McAllister ]
  * Deduplicate compile log statement warnings
  * Check for duped error messages in compile tests

  [ Quetzal Bradley ]
  * fix openWriteNoClobber and add test

  [ Andrew Kelley ]
  * README: add NetBSD to support table

  [ LemonBoy ]
  * Add align attribute for params pointers
  * Translate parameterless C functions (#1978)

  [ Jimmi HC ]
  * Fixed std.testing.expectEqual

  [ emekoi ]
  * make @enumToInt work on union(enum)

  [ Andrew Kelley ]
  * pull request fixups
  * export _mh_execute_header with weak linkage
  * docs: note top level declarations are order-independent
  * docs: shadowing

  [ John Schmidt ]
  * Some function doc tweaks (#1961)

  [ kristopher tate ]
  * src/analyze.cpp: default to using `param_node` upon callconv error;

  [ Andrew Kelley ]
  * zig fmt: fix infix operator before multiline string literal
  * add test for 74bdc1d1f898705
  * remove --no-rosegment workaround now that valgrind bug is fixed
  * valgrind client requests for undefined values

  [ LemonBoy ]
  * Prevent crash in tagged enums rendering (#1986)

  [ Andrew Kelley ]
  * pull request fixups

  [ daurnimator ]
  * std: Add valgrind module
  * std: when a FixedBufferAllocator is initialised, set the buffer to undefined

  [ Andrew Kelley ]
  * deduplicate compile errors for undeclared identifiers

  [ daurnimator ]
  * Use valgrind marks from Allocator

  [ Andrew Kelley ]
  * packed structs support comptime bitcasting
  * extern structs support comptime bitcasting
  * `@sliceToBytes` works at comptime
  * better handling of arrays in packed structs
  * better field access of types which have one possible value
  * fix `@bitCast` when src/dest types have mismatched handle_is_ptr
  * docs for packed structs
  * add regression test for bitcast to array
  * implement vector negation
  * better libc detection (#1996)
  * introduce std.debug.captureStackTrace
  * fix `zig fmt` arg0 handled incorrectly
  * add `zig cc` command to act like a C compiler
  * zig cc: remove "polly" which was an undefined symbol on macos
  * zig cc: work around clang calling GetCommandLine on Windows
  * first class support for compiling C code
  * building DLLs on Windows works better
  * `@cImport` works with `--cache on`
  * zig build: 2 improvements
  * fix infinite recursion in type_has_one_possible_value
  * delete incorrect TODO comment
  * add docs for zero bit types and pointers to zero bit types
  * fix not finding libgcc_s when looking for native libc
  * add a compile error note when C import fails and not linking libc
  * better error message when forgetting to link against libc
  * add a regression test for #704
  * fix incorrectly trying to memset at comptime
  * fix the libc compile error tests to only run on linux
  * use -nobuiltininc when compiling c code
  * use -nostdinc++ when compiling C code

  [ John Schmidt ]
  * Add priority queue

  [ Andrew Kelley ]
  * use -nostdinc and sometimes -nolibc when compiling C code
  * breaking changes to the way targets work in zig
  * fix regressions on Windows
  * introduce sys_include_dir for when sys/* files are not with stdlib.h
  * add builder.addFmt API and use it to test stage1 zig fmt
  * fix .gitignore file and add commit missing std lib file
  * add test coverage for binary OR on error sets
  * add test coverage for type used as switch case
  * fix handling when there are multiple externs and
  * fix stage1 zig fmt on macos
  * improve docs for unions and switching on tagged unions
  * windows returns EINVAL for fopen when there is an asterisk in the name
  * stage1: fix unused function error on freebsd and netbsd
  * uefi os: better auto detection of subsystem
  * print the command that failed when C source code fails to build
  * fix incorrect use of printf in previous commit
  * update clang driver code to 8.0.0rc3
  * updates to build with llvm 8.0.0rc3
  * remove namespace type; files are empty structs
  * update embedded LLD to 8.0.0rc3
  * LLD patch: workaround for buggy MACH-O code
  * update clang C headers to 8.0.0rc3
  * stage2: update for changes regarding sub-architecture
  * web assembly is a tier 3 target now
  * struct types get fully qualified names
  * fix "use" decls
  * add mprotect syscall

  [ Marc Tiehuis ]
  * Use bitwise-and instead of modulo in __zig_return_error

  [ Andrew Kelley ]
  * fix dependency loops, pub, tests, use decls, root source
  * fix type names
  * @typeInfo for structs and opaque types is the bare name
  * fix docs typo
  * gen-h: use the bare type names for now
  * remove unused function
  * gen-h: respect @export
  * better error message for `-target windows` CLI
  * disable tests which are tripping an llvm assertion
  * compile error for import outside package path

  [ Sahnvour ]
  * all integers returned by @typeInfo are now comptime_int

  [ Andrew Kelley ]
  * fix @typeName on slices
  * @returnAddress and @frameAddress return usize now
  * rename std lib files to new convention

  [ sjdh02 ]
  * fix check for 64-bit arm platforms with new targets

  [ Andrew Kelley ]
  * fix const initialization of optional C pointer to null
  * fix build.zig not respecting --static
  * fix slice of C pointer
  * initial glibc support
  * building glibc from source
  * support crtbegin.o and crtend.o when using explicit libc
  * stop linking against gcc files
  * dynamic linker path is independent from libc installation
  * fix translate-c
  * support glibc dl, m, pthread, rt
  * std.os.changeCurDir no longer needs an allocator
  * libunwind 8.0.0rc3
  * libcxx headers 8.0.0rc3
  * build libunwind.a from source and link it
  * add popcountdi2 to compiler_rt
  * support other architectures for glibc startup files
  * cross compile glibc startup files

  [ Sahnvour ]
  * missed change when switching TypeInfo to use comptime_int

  [ Andrew Kelley ]
  * process headers tool
  * multi-arch glibc headers
  * dynamic_linker_path can be null on some targets
  * fix regressions on macos
  * better behavior when cache dir unavailable
  * windows and uefi don't have dynamic linkers
  * fix windows build
  * fix .d file processing and use -MV to quote spaces
  * fix linking glibc: caching static libs and
  * fix -mllvm command line option regression
  * disable some tests until coroutine rewrite is finished
  * fix passing invalid argument -NDEBUG

  [ Jay Weisskopf ]
  * Remove glibc compat shim with restrictive license

  [ John Schmidt ]
  * PriorityQueue: add bulk insertion methods

  [ Andrew Kelley ]
  * breaking changes to zig build API and improved caching
  * fix .d file parsing and string literal ast rendering
  * fix running things with zig build on Windows
  * fix docgen and fix unnecessarily adding .root suffix to objects
  * disable flaky event test until post coroutine rewrite
  * glibc: add missing linux header
  * use unique test source names for test-gen-h
  * docgen: --cache off for tests

  [ Sahnvour ]
  * translate-c: add support for integer suffixes on 0 (zero) litteral inside macro definitions

  [ Matt Whiteside ]
  * Add elf riscv32 and elf riscv64 as options in getLDMOption during construction of link job.

  [ Andrew Kelley ]
  * std.zig: `this` is no longer a keyword
  * fix inconsistent type information of optional C pointers

  [ Marc Tiehuis ]
  * Mark third-party dependencies as vendored

  [ Andrew Kelley ]
  * stage1 caching system: detect problematic mtimes
  * fix build on windows
  * Revert "use unique test source names for test-gen-h"
  * Revert "docgen: --cache off for tests"

  [ Jimmi Holst Christensen ]
  * fixed #1600
  * removed wild tab
  * use cached const_void_val
  * fixed enum to union code
  * added tests

  [ Jimmi HC ]
  * check for type_has_one_possible_value and added correct caching to TypeInfo

  [ Andrew Kelley ]
  * ir: fix handling of OnePossibleValueInvalid
  * add test for spawning child process with empty environment
  * enable C ABI tests on macOS
  * remove the valgrind integration with std.mem.Allocator
  * zig build: do a better job of detecting system paths

  [ Sahnvour ]
  * translate-c: additional test case for integer suffixes on 0

  [ Andrew Kelley ]
  * docs: finish initial documentation for implicit casts
  * add test cases to cover switching on u0 values
  * add musl headers
  * building musl start files from source
  * ability to build musl from source
  * remove accidental swap file
  * avoid a string that is too long for msvc
  * don't resolve dynamic linker for static executables
  * fix gitattributes
  * musl: remove files that have case conflicts

  [ emekoi ]
  * added z3 and fixed dynamic linker on mingw

  [ LemonBoy ]
  * Fix generation of comptime slices

  [ Andrew Kelley ]
  * add documentation for @"" syntax
  * zig test respects --output-dir parameter
  * add documentation for `pub`
  * remove nios2 from list of libc targets
  * this empty import workaround no longer necessary
  * fix @setRuntimeSafety not able to override release modes
  * breaking: remove --static; add -dynamic
  * fix target_requires_pic and reloc_mode
  * force windows to link against dynamic msvcrt
  * ignore -lm on darwin because it's handled by libSystem
  * macho linking: always -dynamic for non-static-libs
  * breaking: fix @typeInfo handling of global error set type

  [ Akuli ]
  * Add /lib/x86_64-linux-gnu or similar to default system library search paths

  [ Jimmi Holst Christensen ]
  * workaround for #2043
  * Implemented enough of translate-c to translate assert

  [ Jimmi HC ]
  * fixed void cast and added the last tests

  [ Andrew Kelley ]
  * breaking changes to std.mem.Allocator interface API
  * fix regressions on Windows from previous commit
  * fix while continue block not checking for ignored expression
  * add compile error for wrong type with `use`
  * add regression test for invalid multiple dereferences
  * enable issue_339 test on macos

  [ Sahnvour ]
  * correct padding handling between std.pdb.ModInfo entries in DbiStream
  * allow pdb modules to have no C13 data, this happens if the module is stripped
  * avoid reading LineBlockFragmentHeader at all if the address is not in range, thus simplifying code and improving speed of execution
  * print a message instead of returning an error when debug info comes from a source file not found (for example compiled on another computer)

  [ Andrew Kelley ]
  * add missing std lib file rb.zig to cmakelists.txt
  * when linking msvcrt, also link ntdll.lib

  [ Jimmi Holst Christensen ]
  * More work on ignoring values correctly

  [ Andrew Kelley ]
  * libc: separate linux headers from musl/glibc
  * pass explicit frame pointer args when compiling C code
  * update macos static build for llvm8
  * fix translate-c regression
  * workaround for Ubuntu/Debian bug
  * add documentation for Memory
  * start producing freebsd binaries
  * freebsd ci: install wget and set -x -e
  * ci: freebsd tests docs
  * freebsd ci: disable not working stuff

  [ Jimmi Holst Christensen ]
  * Updated parser to newest grammar

  [ Andrew Kelley ]
  * better buffer length for formatIntUnsigned
  * zig targets prints the available libcs
  * disable all C warnings when building musl

  [ Sahnvour ]
  * c_abi: when compiling for x86_64, differenciate between system V and windows ABI

  [ Andrew Kelley ]
  * build.zig: allow run() on non-native target artifacts

  [ Sahnvour ]
  * c_abi: add some tests for int and float parameter passing potentially using both registers and stack
  * c_abi: activate tests on windows

  [ Andrew Kelley ]
  * add docs for assembly and fix global assembly parsing
  * ci: apt-get update before install as a workaround
  * ci: add FreeBSD to download page
  * add documentation for zig test
  * ci: more quoting
  * fix parsing of large hex float literals
  * hex float parsing: solve another case

  [ Marc Tiehuis ]
  * Simplify hex-float parsing code

  [ Jimmi Holst Christensen ]
  * Updated langref to newest grammar

  [ Marc Tiehuis ]
  * Fix bigint_append_buf
  * Fix compile-error test case for large integer type

  [ Matt Stancliff ]
  * Fix typos around pointer usage

  [ Andrew Kelley ]
  * float literals now parse using musl's 128 bit float code
  * avoid quad float literal syntax for MSVC
  * get rid of restrict; it's not supported by MSVC

  [ Shawn Landden ]
  * std: add ascii with C ASCII character classes

  [ Andrew Kelley ]
  * fix macos build instructions in readme and fix warning
  * stage1: implement get_dynamic_linker for riscv
  * add mulXf3 to compiler-rt
  * parse_f128.c: fix whitespace
  * remove octal and hex floats from the language
  * docs: clarify NaN, inf, -inf
  * character literals: allow unicode escapes
  * add peer type resolution for `*const T` and `?*T`
  * add regression tests for a bug fixed by an older commit
  * add compile error for ignoring error
  * introduce the enum literal type
  * implement implicit cast from enum literal to enum
  * make switch expressions allow enum literal types
  * implement peer type resolution for enum literals
  * add compile error test for invalid enum literal implicit cast
  * implement allowzero pointer attribute
  * munmap allows address 0

  [ Shawn Landden ]
  * std.ascii: respond to review

  [ Shritesh Bhattarai ]
  * fmt: check for extra newline at end of file
  * Use linux.exit_group if not single threaded

  [ Shawn Landden ]
  * fix build on arm64
  * use __ARM_EABI__, not __arm__

  [ emekoi ]
  * removed static build flags on mingw

  [ Andrew Kelley ]
  * implement target_c_type_size_in_bits for WASI

  [ Shawn Landden ]
  * std.mulWide() whose return is twice as wide
  * stage1: better error message when comparing against null (Closes: #2104)
  * fix tests for math.mulWide

  [ Rohlem ]
  * add std.ascii to std.std test "std"
  * fix std.ascii type error and inverted logic

  [ emekoi ]
  * fixed libc command on mingw

  [ Shritesh Bhattarai ]
  * Add doc_comments to param decl
  * fmt: Fix param decl test

  [ MateuszOkulus ]
  * Remove binary and octal float literals from documentation.

  [ Andrew Kelley ]
  * fix anon enum literal used with switch on union(enum)

  [ hryx ]
  * Veritcally align array literal columns

  [ vegecode ]
  * Add memcmp to builtins
  * Add __aeabi_mem{cmp,clr,set,cpy,move} to compiler-rt
  * Add __aeabi_{f,d}{add,sub} and __{add,sub}{s,d}f3 to compiler-rt
  * Add __aeabi_{f,d}neg and __neg{s,d,X}f2 to compiler-rt
  * Add all __aeabi functions (C versions) who alias currently existing functions to compiler-rt

  [ Michael Dusan ]
  * fix zig run to accept executable args

  [ emekoi ]
  * added error for implicit cast from *const T to *[1]T. credit: @kristate
  * fixed broken casts in std

  [ hryx ]
  * Always write a multiline struct literal if a field expr is multiline

  [ vegecode ]
  * Remove inline keywords in addXf3.zig pending #2154

  [ Shritesh Bhattarai ]
  * fmt: fix first line comment indent in struct init

  [ hryx ]
  * zig fmt: Allow one-line for loops

  [ Shawn Landden ]
  * fix fd leak in stage1 cacheing code

  [ Andrew Kelley ]
  * better error message when os_file_overwrite fails
  * fix cache hash regression
  * decouple llvm types from zig types
  * introduce lazy values
  * remove the lazy value stuff
  * put the hack from master branch back in
  * bug fixes
  * more regression fixes
  * regression fixes and fix packed struct abi size
  * more regression fixes. empty test passes again
  * behavior tests passing again
  * put the alignment hack in for unions too. fixes std tests
  * passing all tests
  * avoid tripping assertion for setting struct body twice
  * fix setting union body twice
  * fix LLVM assertion failures
  * emit better debug info for enums

  [ tgschultz ]
  * (De)serializer now uses enum instead of bool to determine packing mode (byte/bit). Optional is initialized in a more straight-forward way by deserializer.

  [ Andrew Kelley ]
  * ci: add missing cache control headers and update download/index.json

  [ tgschultz ]
  * Changes as suggested by andrewrk

  [ Andrew Kelley ]
  * langref: rework the theming and layout

  [ Ruslan Prokopchuk ]
  * handle LibExeObjStep.disable_gen_h

  [ Andrew Kelley ]
  * fix thread local variables for non- position independent code
  * docs: complete the documentation for extern struct

  [ hryx ]
  * zig fmt: Fix regression in for-else (#2178)
  * zig fmt: Prevent for-else on same line when body is interrupted by LF

  [ Andrew Kelley ]
  * threads: fix using unmapped memory in some cases
  * add regression test for #1025
  * docs: add Variables section

  [ vegecode ]
  * Add divsf3 to compiler rt

  [ Andrew Kelley ]
  * fix `@divFloor` returning incorrect value and add `__modti3`

  [ Shritesh Bhattarai ]
  * fmt: format multi line only on trailing comma (#2184)

  [ emekoi ]
  * made lld flags on windows consistent
  * added code for linking libc on mingw
  * fixed linking of system libraries on mingw

  [ Andrew Kelley ]
  * fix NaN comparing equal to itself

  [ Shawn Landden ]
  * Simplify math.isnan

  [ vegecode ]
  * Fixes to divsf3 (#2186)

  [ Jay Weisskopf ]
  * docs: Use section symbol §, not paragraph symbol ¶

  [ Shritesh Bhattarai ]
  * support comptime_int in formatInt{,Value}
  * fmt: support trailing comma after var_args

  [ Andrew Kelley ]
  * docs: update `@typeInfo` definition and clarify field order
  * zig build: support single-threaded builds
  * stage1: fix debug builds on macOS
  * fix incorrect Thread.getCurrentId test
  * docgen: allow urls to have numbers
  * ci: stop doing the branch redirect thing

  [ vegecode ]
  * Add divdf3 to compiler_rt

  [ Shritesh Bhattarai ]
  * Fix getCurrentId test for pthreads (#2197)
  * build: usageAndErr clean exit (#2194)
  * wasm: Pass --allow-undefined and --export-all to the linker

  [ Andrew Kelley ]
  * fix dereferencing a zero bit type
  * docgen: add a space between the header and the section symbol
  * ir: avoid dependency on isnan

  [ Jimmi Holst Christensen ]
  * fixed 1726
  * removed todo comment and added test
  * Added regression test for #1607. fixes #1607

  [ kristopher tate ]
  * src/ir.cpp: don't call-out to analyze_type_expr;
  * test/compile_errors.zig: add regression test for ziglang/zig#532 ;

  [ Ryan Liptak ]
  * Fix std.HashMap.remove returning incorrect KV

  [ Jimmi Holst Christensen ]
  * Import 1607.zig to behavior.zig

  [ Andrew Kelley ]
  * Release 0.4.0

  [ Jay Weisskopf ]
  * docs: Underline link when hovering over it
  * Update README headline to match website

  [ Andrew Kelley ]
  * doc comments for parameters in std.mem.Allocator

  [ vegecode ]
  * compiler-rt: correct use_thumb_1 flag

  [ Andrew Kelley ]
  * compiler_rt: `@divTrunc` rather than `@divFloor` in muloti4

  [ LemonBoy ]
  * Correct parsing of DWARF line_info section

  [ Andrew Kelley ]
  * compiler-rt: better way to do the ABI required on Windows

  [ Shritesh Bhattarai ]
  * Build compiler_rt for WASM exe
  * pass exec_path to zig run

  [ Andrew Kelley ]
  * __muloti4 does not need the ABI workaround on Windows
  * fix outdated/incorrect docs for `@truncate`

  [ Marc Tiehuis ]
  * Add read-only, non-allocating Int for internal constants
  * Add initial big.Rational type
  * Fix big.Int toString maybe-null allocator
  * Small fixes for big.Rational and corrections for gcdLehmer
  * Handle zero-limb trailing div case in big.Int
  * Fix math.big.Int divN/gcdLehmer and fuzz-test failures
  * Pack big.Int sign and length fields

  [ LemonBoy ]
  * Fix normalization of right-shifted BigInt at CT

  [ Andrew Kelley ]
  * translate-c: move some code to the C API

  [ LemonBoy ]
  * Fix reading of udata/sdata encoded attributes
  * Add definition for DW_AT_alignment
  * Fix reading of reference attributes
  * Distinguish between absolute/relative addresses

  [ Matthew Iannucci ]
  * Add initial support for iOS targets (#2237)

  [ Andrew Kelley ]
  * delete unused function
  * readme: separate powerpc 32 and 64 bit in the support table
  * translate-c: move some code to the C API

  [ Shritesh Bhattarai ]
  * wasm: disable error ret tracing

  [ Andrew Kelley ]
  * translate-c: move some code to the C API
  * translate-c: move some code to the C API
  * translate-c: move some code to the C API

  [ Shritesh Bhattarai ]
  * wasm: use .wasm ext for exe

  [ Andrew Kelley ]
  * translate-c: move some code to the C API

  [ Ben Noordhuis ]
  * make os_file_close poison file handle after close
  * don't close cache manifest file prematurely

  [ Shritesh Bhattarai ]
  * WIP: hello world

  [ Duncan ]
  * Add favicon to langref.html

  [ Andrew Kelley ]
  * better handle quota of setEvalBranchQuota

  [ Shritesh Bhattarai ]
  * wasi: use __wasi_proc_exit instead of posix.exit
  * wasi: sigabrt at panic
  * support extern "wasi" functions
  * wasi: better comments
  * wasi: add std/os/wasi{,/core}.zig to CMakeLists.txt
  * wasi: better extern wasi logic
  * wasi: don't pass --no-entry to linker
  * wasm: force single threaded

  [ Andrew Kelley ]
  * organize how the single threaded option is passed around

  [ Shritesh Bhattarai ]
  * Update wasm tiers (#2272)

  [ Andrew Kelley ]
  * translate-c: move some code to the C API

  [ Shritesh Bhattarai ]
  * link: exemption for wasm instead of wasi
  * wasm: add wasm-import-module attr to extern
  * wasi: switch to "standard" wasi_unstable module fn

  [ Andrew Kelley ]
  * fix Debug mode when error return tracing is off
  * disable threads when linking WebAssembly to work around an LLD bug
  * update std.os.page_size for WebAssembly

  [ Shritesh Bhattarai ]
  * wasm: WasmAllocator that uses fixed 64kb pages
  * wasm: add WasmAllocator
  * fmt wasm_allocator

  [ Andrew Kelley ]
  * add patch to LLD to fix deadlock race condition in wasm linker
  * remove workaround for LLD bug
  * translate-c: move some code to the C API
  * freestanding target adds -ffrestanding to cc parameters

  [ Sahnvour ]
  * DirectAllocator: on windows, use HeapFree instead of HeapReAlloc to free memory.

  [ Shritesh Bhattarai ]
  * WasmAllocator: cleanup

  [ Michael Dusan ]
  * stage1: const_values_equal support tagged union

  [ Andrew Kelley ]
  * docs: update intro text
  * Revert "DirectAllocator: on windows, use HeapFree instead of HeapReAlloc to free memory."
  * stage1 is now a hybrid of C++ and Zig
  * build.zig: libuserland expects to against libc
  * build: rename zig1 to zig0 to avoid confusion with stage1
  * stage1 assertions always on, and have stack traces
  * ci: fix accidentally shipping zig0.exe

  [ Matt Stancliff ]
  * Fix test in langref to assert against modified var

  [ LemonBoy ]
  * translate-c: support conversion to/from fp types
  * translate-c: Parse float/double literals
  * translate-c: Convert char literals
  * Fix parseFormValueConstant

  [ Raul Leal ]
  * zig-fmt: allow comptime blocks in containers (#2308)

  [ emekoi ]
  * renamed add_gnu_link_args

  [ Ryan Liptak ]
  * fix DirectAllocator not unmapping unused pages on large alignments

  [ LemonBoy ]
  * Recover symbol infos from DWARF sections

  [ Andrew Kelley ]
  * fixup and zig fmt

  [ tgschultz ]
  * Fixes DirectAllocator Windows implementation to call HeapFree when new_size == 0

  [ vegecode ]
  * compiler-rt: add aeabi_fcmp, comparesf2

  [ Ryan Liptak ]
  * fix heap allocators when shrinking an object but growing its alignment

  [ daurnimator ]
  * std: improve msghdr definition
  * std: add msghdr_const
  * std: Add mem.nativeIntToBig and mem.nativeIntToLittle

  [ emekoi ]
  * fixed stack protector issues

  [ Ryan Liptak ]
  * readme: Add instructions for making changes to the standard library
  * readme: Simplify instructions for making changes to the standard library

  [ hryx ]
  * Allow tag expr for enum but not struct

  [ Ryan Liptak ]
  * std.heap.DirectAllocator: Fix aligned reallocs on Windows
  * Bump up FixedBufferAllocator test memory to account for new tests

  [ LemonBoy ]
  * translate-c: Support for integer to boolean conversions
  * translate-c: Pointer to/from integral conversion
  * translate-c: Add test for implicit casts
  * More precise translation of char literals
  * Correct rendering of AST Char literals
  * Add some zig_panic for 80-bit float codepaths
  * Add translation from pointer to boolean
  * Fix reading of signed leb128 values
  * Fix silly typo
  * Go one instruction before the return address

  [ Jimmi HC ]
  * fixed #2356

  [ Andrew Kelley ]
  * build libuserland in cross compilation mode

  [ Michael Dusan ]
  * add -fvisibility-inlines-hidden

  [ hryx ]
  * Sync grammar with spec

  [ Wink Saville ]
  * Fix alignment of macro FIND_AND_ADD_CLANG_LIB

  [ LemonBoy ]
  * Implementation of dl_phdr_info
  * Expose Elf32_Dyn and Elf64_Dyn
  * Other

  [ vegecode ]
  * compiler-rt: add aeabi_dcmp, comparedf2
  * compiler-rt: Add missing import of test for comparesf2

  [ Andrew Kelley ]
  * `@sizeOf` returns 0 for comptime types

  [ Shawn Landden ]
  * remove Shebang (#!) support (Closes: #2165)

  [ Andrew Kelley ]
  * translate-c: a little closer to self-hosted implementation
  * translate-c: unify API for self-hosted and C++ translate-c
  * translate-c: self-hosted implementation can detect C errors
  * translate-c: put -x c back in there, it's necessary
  * add preliminary windows support to std.io.COutStream

  [ Ryan Liptak ]
  * std.heap.DirectAllocator: reduce the amount of redundant memcpy calls on Windows
  * heap: fixup style of realloc memory copies

  [ rylmovuk ]
  * Change symbol name of tests in codegen

  [ LemonBoy ]
  * Do not invoke UB in BigInt shr operations

  [ Andrew Kelley ]
  * Fix path canonicalization when $HOME has a trailing slash
  * clean up test output
  * self-hosted translate-c emits a hello world AST

  [ Ryan Liptak ]
  * readme: Fix filepath to test file when testing std lib changes

  [ Shritesh Bhattarai ]
  * docgen: properly close tags for skipped execs

  [ Andrew Kelley ]
  * zig fmt is built directly into stage1 rather than child process

  [ Shritesh Bhattarai ]
  * fix missing semicolon

  [ emekoi ]
  * added static_crt_dir to libc file

  [ daurnimator ]
  * std: add LoggingAllocator prototype

  [ emekoi ]
  * fixed syntax error

  [ daurnimator ]
  * Revert "std: Add mem.nativeIntToBig and mem.nativeIntToLittle"

  [ Ryan Liptak ]
  * std.fmt: add max_depth to avoid infinite recursion from self-references

  [ emekoi ]
  * fixed visibility of zig_libc_cc_print_file_name

  [ LemonBoy ]
  * Make io offsets/sizes u64 instead of usize
  * Fix generation of container initializers
  * compiler-rt: Add __divsi3, __aeabi_idiv
  * compiler-rt: Add __divmodsi4, __aeabi_idivmod

  [ Andrew Kelley ]
  * fix build (unused function warning)

  [ Shawn Landden ]
  * std.heap: do not excessively call mmap, and munmap in direct allocator

  [ Andrew Kelley ]
  * DirectAllocator: move if > 0 condition above @memcpy
  * enable more json tests
  * json tests do not need this prefix anymore

  [ Matt Stancliff ]
  * Fix crash due to command line argument parsing

  [ Andrew Kelley ]
  * readme: expand Developing Zig section into Contributing section

  [ LemonBoy ]
  * compiler-rt: Add __mulodi4
  * translate-c: Emit @ptrCast + @alignPtr sequence

  [ Shritesh Bhattarai ]
  * WASI: implement argsAlloc and argsFree (#2364)

  [ Andrew Kelley ]
  * self-hosted translate-c: iterate over top level decls

  [ daurnimator ]
  * std: add sendmmsg on linux

  [ Andrew Kelley ]
  * translate-c: fix using wrong enum

  [ Marc Tiehuis ]
  * Don't install stage2 artifacts

  [ Andrew Kelley ]
  * add test case to cover solved bug

  [ Shritesh Bhattarai ]
  * wasi: import environ_get and environ_sizes_get
  * wasi: add getEnvMap
  * wasi: use mem.separate instead
  * wasi: implement getRandomBytes
  * wasi: import clock and timestamp function/types
  * wasi: implement timestamp
  * wasi: import all constants and their types
  * wasi: import all core exports

  [ Marc Tiehuis ]
  * std.math: Add upstream changes/fixes and simplify go derived code
  * std.math: Add documentation for all functions and algorithm sources
  * Don't install zig_cpp lib for stage2 target

  [ Andrew Kelley ]
  * docs: add note to @setRuntimeSafety
  * docgen: add exe_build_err tag

  [ Dong-hee Na ]
  * main: change --enable-pic and --disable-pic to -fPIC and -fno-PIC

  [ Ryan Liptak ]
  * std.HashMap: add public ensureCapacity fn

  [ Marc Tiehuis ]
  * std.math: Correct math.nan usage in cos

  [ Ryan Liptak ]
  * make std.HashMap.ensureCapacity round up to the nearest power of two

  [ Andrew Kelley ]
  * docs: update for shared libraries

  [ Shritesh Bhattarai ]
  * wasi: native os.abort
  * wasi: implement os.exit
  * wasi: remove posix-y exit

  [ Ryan Liptak ]
  * std.HashMap: make ensureCapacity optimize for the expected count, add ensureCapacityExact
  * std.HashMap: add putAssumeCapacity fn
  * std.HashMap: make ensureCapacityExact private

  [ Andrew Kelley ]
  * optimize `@memset` with `undefined`

  [ daurnimator ]
  * std: add std.ArrayList.orderedRemove

  [ Benjamin Feng ]
  * Switch wasm export-all to only values marked exports

  [ Andrew Kelley ]
  * docs: remove `@setGlobalLinkage` section
  * always respect threadlocal for variables with external linkage
  * remove redundant information from README

  [ Shritesh Bhattarai ]
  * docgen: support wasm and wasi
  * docgen: show -target command line argument
  * WasmAllocator: compileError on non-wasm arch

  [ LemonBoy ]
  * Address the comments of the first review round
  * compiler-rt: Add __moddi3, __divdi3
  * compiler-rt: Add __modsi3, __umodsi3

  [ Shritesh Bhattarai ]
  * wasi: Implement read and write with err checking

  [ tgschultz ]
  * Added PackedIntArray, PackedIntSlice to std
  * Fixed some comments
  * and again
  * Ugh. I updated these but forgot to git add.

  [ Ryan Liptak ]
  * std.HashMap: cleanup ensureCapacity + add test

  [ LemonBoy ]
  * std: Remove some assumptions about the host platform
  * Implement failsafe logic for posixSleep

  [ tgschultz ]
  * zig fmt
  * Added ability to specify endianess of PackedInt(Array/Slice)
  * zig fmt

  [ Andrew Kelley ]
  * std lib sleep APIs: add doc comments and no @intCast

  [ LemonBoy ]
  * Review
  * Add a test case

  [ Shawn Landden ]
  * stage1: add @hasField() built-in (Closes: #1439)
  * docs for @hasField

  [ LemonBoy ]
  * Fix definition of epoll_* struct on non x86_64 arches
  * Fix edge case in addXf3
  * Add missing cast to usize
  * Fix float comparison result in __aeabi_{f,d}cmp*
  * Avoid endless recursion in __extendhfsf2
  * std: Implement TLS support for Linux
  * std: Implement on-demand TLS allocation
  * Always initialize the TLS
  * Less error messages
  * Add ARCH_SET_* definitions for x86_64

  [ markfirmware ]
  * Update README.md

  [ Sahnvour ]
  * Duplicate windows's DirectAllocator as HeapAllocator, which it is in reality.

  [ LemonBoy ]
  * Implement stack probes for x86/x86_64

  [ Andrew Kelley ]
  * C pointers support `null`

  [ LemonBoy ]
  * compiler-rt: Add __floatsidf & __floatsisf
  * compiler-rt: More division intrinsics

  [ Andrew Kelley ]
  * C pointers support .? operator

  [ LemonBoy ]
  * compiler-rt: Add __truncdfsf2
  * compiler-rt: Add __floatundidf & __floatunsidf
  * compiler-rt: Add __floatdidf
  * compiler-rt: Add __extendsfdf2
  * compiler-rt: Add __aeabi_unwind_cpp_pr{0,1,2}
  * compiler-rt: add __floatsitf

  [ Andrew Kelley ]
  * C pointers support if and orelse
  * std.debug: fix stack trace iteration code
  * translate-c: NULL pointers translate to `null`
  * stage1: remove unneeded extern function
  * add --bundle-compiler-rt function to link options
  * self-hosted translate-c progress on function decls
  * fix build on macOS
  * translate-c: handle int to ptr and ptr to int casting
  * translate-c: enough C tokenization/parsing to handle shifting in macros
  * fix std.os.copyFile
  * compile error for attempt to cast enum literal to error
  * stage1: make some asserts print source location
  * translate-c: use C API for builtin types
  * translate-c: progress on self-hosted function prototypes

  [ LemonBoy ]
  * Fix minor bug in LEB128 parsing
  * Use matching types when parsing fields

  [ Andrew Kelley ]
  * fix translate-c regression
  * translate-c: progress on self-hosted function prototypes

  [ LemonBoy ]
  * compiler-rt: Add __ashlti3
  * compiler-rt: Add __lshrti3
  * compiler-rt: Add __ashrti3
  * Fix erroneous test case

  [ Jimmi HC ]
  * Fixes and simplifications for stage 1 parser

  [ Michael Dusan ]
  * stage1: compile error for loop expr val ignored

  [ Andrew Kelley ]
  * translate-c: we have our first test of self-hosted
  * fix hang for some compile errors
  * add test case for previous commit
  * translate-c: better handling of restore points
  * stage2 translate-c: builtin types and pub
  * stage2 translate-c: simple function definitions

  [ LemonBoy ]
  * linux: Fix clock_gettime on systems w/o VDSO
  * linux: Minor `zig fmt` induced reformatting
  * Fix more corner cases in LEB128 parsing

  [ daurnimator ]
  * std: the failing allocator didn't actually count allocations

  [ Sahnvour ]
  * Implement Windows' DirectAllocator on top of VirtualAlloc and VirtualFree.
  * Use unprotected heap when in single_threaded mode.

  [ Andrew Kelley ]
  * stage2 translate-c: implement functions with no prototype

  [ Jimmi Holst Christensen ]
  * Fixed parser for extern threadlocal variables
  * added tests for global variable declaration syntax
  * added grammar rule for enum literal to docs
  * fixes #2235

  [ LemonBoy ]
  * Validate enum tag for extern enum
  * Support signed types as enum tags
  * amend type_is_valid_extern_enum_tag
  * Change the enum value allocation strategy
  * Amend the error messages

  [ hryx ]
  * Recursive rewrite of stage2 parser, part 1

  [ Tyler Philbrick ]
  * Fix memory leak in parser tests

  [ hryx ]
  * Recursive rewrite of stage2 parser, part 3
  * Recursive rewrite of stage2 parser, final sync
  * Undo parse2 import

  [ Andrew Kelley ]
  * zig fmt on the standard library

  [ Marc Tiehuis ]
  * Mmap debug info on linux

  [ LemonBoy ]
  * Assemble asm files using CC

  [ Andrew Kelley ]
  * cache_add_dep_file: handle ErrorFileNotFound specially

  [ LemonBoy ]
  * Fix formatting for multiline asm expressions
  * Don't emit DW_TAG_lexical_block for VarDecls

  [ Andrew Kelley ]
  * else value when switching on error set has
  * fix regression on switch capture value for multiple cases
  * switching on error sets makes new error set for capture values
  * clean up code now that #769 is implemented
  * slice types no longer have field access

  [ LemonBoy ]
  * Fix off-by-one error in LEB128 parsing

  [ Andrew Kelley ]
  * update libclang C API wrapper
  * improvements to zig's implementation of libc and WebAssembly

  [ Shritesh Bhattarai ]
  * change wasm obj ext to .wasm

  [ Andrew Kelley ]
  * fix static builds of zig from requiring c compiler

  [ daurnimator ]
  * std: update linux syscalls to 5.1

  [ Andrew Kelley ]
  * clang C API wrapper: small progress
  * improvements to build-lib use case of WebAssembly
  * the wasm freestanding _start function is return value void

  [ Shritesh Bhattarai ]
  * docgen: add lib codeblock type and use it for wasm32-freestanding

  [ Shawn Landden ]
  * breaking changes to all bit manipulation intrinsics

  [ Andrew Kelley ]
  * fixups to the previous commit

  [ SamTebbs33 ]
  * Add break after digit_value check in TokenizeStateCharCode

  [ Andrew Kelley ]
  * stage1 tokenizer: add more missing break statements

  [ LemonBoy ]
  * VDSO calls must use the C CC
  * Fix some test cases to run on 32bit systems
  * Remove more 64bit-centric assumptions from stdlib
  * Fix load/store of non-integer fields in packed struct
  * Use the correct scope for `use`
  * Fix too eager comptime evaluation of error ptr

  [ emekoi ]
  * ran zig fmt on stdlib

  [ Shritesh Bhattarai ]
  * docs: wasm

  [ Marc Tiehuis ]
  * std.fmt.parse_float: Fix exponent calculation

  [ LemonBoy ]
  * Build archives using the K_DARWIN format when targeting osx
  * Remove macos-specific linking hacks
  * Fix signedness mismatch in comparison
  * Make use work with arbitrary structs

  [ Shritesh Bhattarai ]
  * docs: clarify why wasm_allocator should be used
  * doc: wasm: embedded->host

  [ Robert Scott ]
  * Implement @unionInit

  [ LemonBoy ]
  * Reject slices in use expressions

  [ Sahnvour ]
  * test: slightly better output for failure of tests based on text comparison
  * gen-h: do not output visibility macros when the build is static

  [ Andrew Kelley ]
  * support enum literals implicit casting to tagged unions
  * introduce @hasDecl builtin function
  * allow implicit optional pointer to optional c_void pointer
  * extract posix functions from std/os.zig to std/os/posix.zig
  * more progress on posix API layer
  * more progress. moving windows API layer to its own file
  * do Jay's suggestion with posix/os API naming & layout
  * rename "posix" to "bits"
  * starting to fix the regressions
  * clean up references to posix
  * clean up references to os
  * more cleanup. down to just the `@hasDecl` builtin

  [ hryx ]
  * WIP translate var decl
  * var decl: mut_token, create child scope

  [ Andrew Kelley ]
  * behavior tests passing on Linux

  [ hryx ]
  * var decl: threadlocal
  * var decl: init node
  * var decl: ImplicitCastExpr

  [ Andrew Kelley ]
  * tests passing on linux
  * fixes for Windows and WASI
  * more fixes for windows and wasi

  [ Shawn Landden ]
  * allow const to be passed to @hasField()

  [ Andrew Kelley ]
  * std lib fixes for zig build on windows
  * fix debug builds of WASI
  * nanosleep: move windows logic to std.time
  * fixes for darwin
  * std.fs: fix error set regressions on linux
  * use close$NOCANCEL on darwin
  * darwin: add missing error handling
  * revert hello world examples. macos tests passing
  * fixes for windows to build self hosted compiler
  * windows does not integrate cleanly with libc
  * freebsd fixes

  [ hryx ]
  * expr: BitCast for ImplicitCastExpr

  [ LemonBoy ]
  * Trigger rebuild on sr.ht

  [ hryx ]
  * Remove unused local struct type

  [ Michael Dusan ]
  * new .d file parser for C compilation

  [ Andrew Kelley ]
  * self-hosted translate-c: fix bad memory arena references

  [ hryx ]
  * Prevent infinite recursion

  [ Andrew Kelley ]
  * improve the stack check CLI options

  [ hryx ]
  * expr: FunctionToPointerDecay & ArrayToPointerDecay for ImplicitCastExpr

  [ emekoi ]
  * respect subsystem flag in all cases

  [ hryx ]
  * expr: DeclRefExpr
  * (broken) port a bunch of stuff from stage1 translate-c

  [ LemonBoy ]
  * Add sigaltstack syscall

  [ emekoi ]
  * remove unneed allocator from DynLib

  [ Gonzalo Diethelm ]
  * Add declarations missing from clang.zig
  * clang.zig cleanup #1: move block around
  * clang.zig cleanup #2: move block around
  * clang.zig cleanup #3: move block around
  * clang.zig cleanup #4: move block around
  * clang.zig cleanup #5: add missing enums
  * clang.zig cleanup #6: move block around
  * clang.zig cleanup #7: add missing struct
  * clang.zig cleanup #8: add missing consts
  * clang.zig cleanup #9: rename arg0 to self

  [ emekoi ]
  * updated dynamic libraries to new std

  [ LemonBoy ]
  * Fix os.mprotect signature
  * Add a guard page for each thread

  [ Andrew Kelley ]
  * thread.spawn: bubble up mprotect error.OutOfMemory

  [ LemonBoy ]
  * Move __zig_fail_unwrap locals on stack

  [ Andrew Kelley ]
  * Create FUNDING.yml
  * extract CONTRIBUTING.md from README.md
  * link to contributing in readme
  * fix invalid LLVM IR generated for ?*void const casts

  [ LemonBoy ]
  * Avoid a crash when there are no namespace components
  * Warn the user if run/test is paired with emit options
  * Reject undefined as type

  [ Andrew Kelley ]
  * no "use of undeclared identifer" in dead comptime branches

  [ Michael Dusan ]
  * add review changes

  [ Andrew Kelley ]
  * `use` works on unions and enums in addition to structs

  [ LemonBoy ]
  * Add sigaltstack wrapper in os.zig
  * Add missing sigaltstack definition for darwin

  [ emekoi ]
  * added subsystem to builtin.zig
  * try to resolve TargetSubSystemAuto to actual subsystem
  * set subsystem to null if not on windows or uefi

  [ Andrew Kelley ]
  * cleanups for windows subsystem in builtin.zig
  * codegen: initialize subsystem
  * main: set subsystem in `zig builtin` when explicitly provided

  [ hryx ]
  * Implement missing clang functions from last commit

  [ Andrew Kelley ]
  * change `use` to `usingnamespace`
  * zig fmt: fix 2 bugs of mangling source files
  * run zig fmt to update `use` to `usingnamespace`

  [ NBonaparte ]
  * LinuxDynLib: remove MAP_LOCKED flag
  * build_examples: reenable load_dynamic_library

  [ Timon Kruiper ]
  * Correct formatting for multiline string in arrays

  [ Shawn Landden ]
  * stage1: AstNodes cannot be casted, but are rather accessed via a union.

  [ Andrew Kelley ]
  * improve the libc of wasm32-freestanding target

  [ tgschultz ]
  * std.meta/trait: def/definition => decl/declaration TypeInfo: defs/Definition => decls/Declarations
  * Fix fmt.zig handling of slices of slices

  [ Andrew Kelley ]
  * update load dynamic library test for std lib changes

  [ LemonBoy ]
  * Fix some syscalls on arm64
  * Correct flag definitions for arm64

  [ Andrew Kelley ]
  * dep tokenizer: run zig fmt and move exports to canonical location
  * default struct field initialization expressions
  * no-copy semantics for basic runtime function call variable init
  * no-copy semantics for if expr
  * no-copy semantics for nested if
  * local consts with comptime init exprs
  * peer result locations with mixed runtime/comptime
  * no-copy semantics for function call init var and literal
  * no-copy semantics for function forwarding

  [ Shritesh Bhattarai ]
  * doc: recommend optional pointers for nullptrs instead of allowzero

  [ LemonBoy ]
  * Remove length restriction in mmap wrapper
  * Move dl_iterate_phdr to os.zig

  [ tgschultz ]
  * fixed Deserializer.alignToByte() and added test coverage

  [ Ryan Liptak ]
  * std.math: Add ceilPowerOfTwo and ceilPowerOfTwoPromote

  [ Andrew Kelley ]
  * add missing ir_expr_wrap calls
  * var types, alignment, and comptime
  * fix alignment of consts
  * while loops
  * no-copy semantics for for loops
  * no-copy semantics for if optional and if error union
  * fix the rest of the ir_build_alloca_src callsites

  [ LemonBoy ]
  * Make `void` a signed type
  * Propagate DIFlags to LLVM

  [ Andrew Kelley ]
  * std.os.mmap: update doc comments for previous commits

  [ Timon Kruiper ]
  * Added LineComment support when MultiLines are used in ArrayInit also added the corresponding testcase

  [ LemonBoy ]
  * Stop the musl builder from skipping necessary files

  [ Nick Erdmann ]
  * src/ast_render.cpp: fix rendering of character literals <= 0x0f

  [ Andrew Kelley ]
  * no-copy semantics for switch expressions

  [ Ryan Liptak ]
  * std.math: Clarify ceilPowerOfTwo inputs and disallow zero as an input

  [ mrkishi ]
  * add cache-control headers to tarballs on ci

  [ emekoi ]
  * windows.unexpectedError prints a human friendly string
  * removed duplicate definitions
  * updated std.c.{freebsd, netbsd} to usingnamespace
  * fixed mismatched types
  * switched to fixed-length buffer for error messages

  [ Ryan Liptak ]
  * std.HashMap: optimize indexing by avoiding modulo operator
  * std.HashMap: use std.math.ceilPowerOfTwo

  [ Andrew Kelley ]
  * no-copy semantics for peer result function calls
  * fix behavior for non sret fn calls
  * ci: let's try a new build of llvm+clang on 10.14
  * update the default macos version min to 10.14
  * fix behavior for peer result locs with one prong unreachable
  * hook up peer result locs to if optional and if err
  * hook up while on error unions with result locations
  * hook up peer result locs to while bool and optional
  * hook up result locs to for loops
  * hook up peer result locs to catch
  * hook up peer result locs to orelse keyword
  * hook up result locs for `try`

  [ Shritesh Bhattarai ]
  * docs: add comment about for else and break

  [ Shawn Landden ]
  * add bcmp implementation as LLVM 9 now emits those

  [ Andrew Kelley ]
  * result location mechanism for struct initialization

  [ hryx ]
  * transCStyleCastExpr
  * transImplictCastExpr: LValueToRValue
  * (broken) translate Paren type
  * Restore fn decls removed during conflict

  [ Jonathan Pentecost ]
  * docs: update for else example

  [ markfirmware ]
  * grammar

  [ Sahnvour ]
  * allow comptime_int in math.shl and math.shr
  * implementation of the Sfc64 RNG from PractRand

  [ Andrew Kelley ]
  * remove ResultLocField dead code
  * result loc semantics for array initialization
  * different array literal syntax when inferring the size
  * inferred array size of array literals works
  * fix build on macos

  [ daurnimator ]
  * std: add math.isPowerOfTwo

  [ Andrew Kelley ]
  * fix array literal syntax

  [ daurnimator ]
  * std: testing.expectEqual on structs now works
  * std: add linux kernel_rwf type and preadv2+pwritev2
  * std: add linux kernel definitions for io_uring

  [ SamTebbs33 ]
  * Add check for null body in if, for and while

  [ Andrew Kelley ]
  * whitespace cleanup

  [ daurnimator ]
  * std: existing LinkedList is actually a TailQueue
  * std: Add singly linked list
  * std.heap.ArenaAllocator: use singly linked list

  [ hryx ]
  * (broken) local var decls, integer literals (part)

  [ Andrew Kelley ]
  * hook up result locations for union initializations
  * result location semantics for `@bitCast`
  * result location semantics for slices
  * result location semantics for optional wrap

  [ Ryan Liptak ]
  * Use std.math.isPowerOfTwo across std lib

  [ Andrew Kelley ]
  * result location semantics for error union wrapping a payload

  [ tgschultz ]
  * altered all instances of readInt* in std.io (and std.debug) to consume the minimum byte size required instead of @sizeOf().

  [ Andrew Kelley ]
  * result location semantics for error union wrapping an error
  * result location semantics for cmpxchg
  * result loc semantics for `@sliceToBytes` and `@bytesToSlice`
  * result loc semantics for loading packed struct pointer to packed struct
  * result location semantics for vector to array
  * fix peer result locations in the face of unreachable
  * use result loc for ref instruction
  * remove the final legacy stack allocation
  * fix comptime function calls
  * fix comptime variables
  * fixes for crashes and compile errors

  [ hryx ]
  * transReturnStmt

  [ daurnimator ]
  * std: add std.http.Headers field

  [ Andrew Kelley ]
  * fix implicit casting return value struct/arary init to optional
  * fix struct and array init when result casted to anyerror!?T
  * fix struct and array init when result casted to anyerror!?T
  * fix not checking return value of resolving result
  * fix for loop index variable not in scope

  [ Nicholas Walton ]
  * Update langref.html.in

  [ Andrew Kelley ]
  * temporarily simplify test_runner.zig
  * fix `@bitCast` semantics when there is no parent result loc
  * fix returning scalar values

  [ emekoi ]
  * made root package available to all other packages
  * made root package available to itself

  [ Andrew Kelley ]
  * fix runtime if nested inside comptime if

  [ emekoi ]
  * fixed infinite loop when caching packages

  [ Andrew Kelley ]
  * fix `@bitCast` regressions
  * fix alignment problem with `@bitCast` result location
  * fix `@bitCast` with runtime scalar and dest result loc var
  * fix nested peer result locs with no memory loc
  * fix declref not writing to result loc
  * fix double nested peer result locations
  * fix result loc implicit casting optionals and error unions
  * comment out the behavior tests that are failing

  [ Josh Wolfe ]
  * Add HashMap apis that assert the common case

  [ Jonathan Marler ]
  * Handle putNoClobber errors

  [ Josh Wolfe ]
  * HashMap.getValue()

  [ Jonathan Marler ]
  * Remove const on argsAlloc

  [ Andrew Kelley ]
  * fix runtime initialize array elem and then implicit cast to slice
  * fix behavior for nested array literals
  * allow comptime array literals casted to slices
  * fix atomic builtin functions
  * fix bitcast packed struct to integer and back
  * fix a couple more test regressions
  * fix peer result location with error code and payload
  * fix peer result locs with switch
  * uncomment more passing tests
  * fix `@export` for arrays and allow sections on extern variables
  * fix `@export` for arrays not respecting the symbol name
  * expose builtin.strip_debug_info
  * standard library integrates with knowledge of stripped debug info
  * better result location semantics with optionals and return locations
  * better result location handling of inline loops

  [ Jimmi HC ]
  * fixes resolving aligment of child type in slice

  [ Andrew Kelley ]
  * fix type info crash on extern lib name

  [ Shawn Landden ]
  * stage1: check for null in buf_len and buf_ptr

  [ Timon Kruiper ]
  * Added HashInt to function calls AutoHash\nFixes issue 2669

  [ daurnimator ]
  * std: add gimli permutation to crypto

  [ Josh Wolfe ]
  * mem.concat

  [ Marc Tiehuis ]
  * Small cleanup of fmt.zig

  [ Andrew Kelley ]
  * inferred comptime values rather than elided scopes

  [ Jonathan Marler ]
  * Remove duplicate exe name with zig run

  [ Andrew Kelley ]
  * inferred comptime union inits
  * fix function calls
  * inferred comptime array inits
  * misc fixes

  [ Boris ]
  * fix tiny typo in langref.html.in

  [ Andrew Kelley ]
  * fix zero length array literal casted to slice
  * Revert "fixes resolving aligment of child type in slice"
  * when resolving slice types, might need to...

  [ Jonathan Marler ]
  * Fix windows create process retry/path search

  [ Andrew Kelley ]
  * more miscellaneous fixes
  * fix bitcast
  * fix problem with inferred error set return result

  [ joachimschmidt557 ]
  * Correct the isEmpty function

  [ Andrew Kelley ]
  * back to many behavioral tests passing
  * fix inline loop behavior with variable result loc

  [ Shawn Landden ]
  * c: add fma and fmaf
  * stage1: add support for @mulAdd fused-multiply-add for floats and vectors of floats
  * test: include muladd.zig in behavior tests

  [ Andrew Kelley ]
  * fix comptime modification of const struct field
  * fix detection of unable to evaluate constant expression
  * fix extraneous nested union field instruction
  * fix comptime test error for empty error set
  * fix `try` not setting error code on result location
  * fix optional pointer to size zero struct
  * fix double getelementptr of runtime global
  * fix labeled break inside comptime if inside runtime if
  * fix peer result loc fn call with comptime condition
  * one more test passing
  * fix coroutines

  [ Michael Dusan ]
  * fix macOS stack trace regression

  [ Matthew Murray ]
  * Fix absFloat

  [ Andrew Kelley ]
  * fix loops with multiple break statements
  * BRANCH_TODO file moved to the pull request comments
  * fix regression with zero sized array

  [ Marc Tiehuis ]
  * breaking: Add positional, precision and width support to std.fmt
  * Link formatting workaround to issue

  [ Shawn Landden ]
  * stage1: update fn_key_eql() for @mulAdd() on vectors

  [ Andrew Kelley ]
  * blocks have result location semantics
  * fix nested orelse and nested catch
  * fix extern functions returning byval structs
  * fix implicit cast bitcast result to error union by returning
  * fix implicit cast to optional to error union to return result loc
  * fix return result loc and then switch with range...
  * uncomment passing std lib tests
  * fix ArenaAllocator

  [ Gray Olson ]
  * Update langref.html.in

  [ Andrew Kelley ]
  * fix implicit cast fn call result to optional in field result

  [ Sahnvour ]
  * heap: make one global instance of DirectAllocator

  [ Shawn Landden ]
  * stage1: add @sin @cos @exp @exp2 @ln @log2 @log10 @fabs @floor @ceil @trunc @round

  [ Andrew Kelley ]
  * elide redundant safety check when switching on tagged unions
  * fix std.json regression
  * fix another crash

  [ hryx ]
  * Assign undefined literal (instead of null) when no init value
  * Translate assignment BinaryOperator statements

  [ emekoi ]
  * make string literal const on windows
  * supress warnings for format strings on msys64

  [ Andrew Kelley ]
  * fix some legacy coroutine stuff
  * uncomment passing std lib tests

  [ hryx ]
  * Fix recursive self-referential block

  [ Andrew Kelley ]
  * compile error tests only for debug mode

  [ hryx ]
  * Fix order of tokens; omit 'pub' for fn types
  * stage1: always render space after `fn` like stage2

  [ emekoi ]
  * increase stack size for mingw

  [ Andrew Kelley ]
  * remove stray abort

  [ hryx ]
  * Observe translate mode in stage2
  * transStringLiteral
  * transBinaryOperator: Add, Sub

  [ Michael Dusan ]
  * align (vector -> array) store to result location
  * fix compile error when building zig w/ clang

  [ Vexu ]
  * fixed comment formatting in arrays and fn params

  [ Marc Tiehuis ]
  * Add parsing of fill and alignment in std.format

  [ Carter Sande ]
  * compiler-rt: Support thumb versions older than armv6

  [ hryx ]
  * Escape C string literals

  [ Andrew Kelley ]
  * fix union init with void payload
  * fix implicit cast vector to array
  * fix infinite loop when error in peer resolution
  * fix several compile error test regressions
  * all compile error tests passing
  * fix peer type resolution with null

  [ Carter Sande ]
  * compiler-rt: use more idiomatic switch syntax

  [ Vexu ]
  * fixed IfTypeExpr parsing

  [ Andrew Kelley ]
  * fix peer type resolution: unreachable, error set, unreachable
  * disable building self hosted compiler in test suite

  [ Vexu ]
  * improved comment indentation in arrays

  [ Luna ]
  * net: quickfix on non-existing Address.family

  [ Andrew Kelley ]
  * all tests passing on linux
  * add missing error code for DeleteFileW
  * fix incorrectly omitting variable declarations

  [ Vexu ]
  * added better test cases
  * fix comments getting removed after empty comments

  [ Andrew Kelley ]
  * add test case for defer modifying return value before returned

  [ Marc Tiehuis ]
  * Remove #2725 workaround

  [ Andrew Kelley ]
  * better CLI error message for missing sub-architecture
  * fixups
  * compile error for using slice as array init expr type
  * update format function for new std fmt changes
  * avoid std.debug.global_allocator in http headers tests
  * fix switch with null and T peer types and inferred result location type

  [ SamTebbs33 ]
  * Add doc comments to alignment functions

  [ Andrew Kelley ]
  * fix for with null and T peer types and inferred result location type

  [ SamTebbs33 ]
  * Add check for power of 2 to std.mem.alignBackward

  [ Andrew Kelley ]
  * fixups

  [ hryx ]
  * Create and render big.Int from IntegerLiteral; group BinaryOperator
  * Separate with space instead of LF to prevent rendering excessive indentation
  * Use new width format option

  [ Andrew Kelley ]
  * rename std/special/bootstrap.zig to std/special/start.zig

  [ hryx ]
  * Translate IntegralCast; add stage2 test coverage

  [ emekoi ]
  * fixed debug info on windows
  * initialize sections in openSelfDebugInfoWindows

  [ hryx ]
  * Fix string literal: not null-terminated (thanks @mikdusan)
  * Don't return a slice pointing to a deceased stack address

  [ Michael Dusan ]
  * fix stack escape in add_source_file()

  [ emekoi ]
  * fix syntax highlighting
  * fix formatting
  * added init function for `Coff`

  [ hryx ]
  * Define different struct size for APValue on Windows (thanks @Sahnvour)

  [ Marc Tiehuis ]
  * Update for new fmt.zig formatting

  [ emekoi ]
  * added invalid switch prong error

  [ Timon Kruiper ]
  * Added function-section functionality

  [ Andrew Kelley ]
  * stack traces on segfault by default for linux-x86_64
  * enable segfault stack traces in stage1 compiler

  [ Timon Kruiper ]
  * Added ZigLLVMCreateTargetMachine and pass function-sections flag Also added extra cache line

  [ Andrew Kelley ]
  * improved logic on whether to include start files

  [ emekoi ]
  * return `FileNotFound` for PATH_NOT_FOUND in DeleteFileW

  [ Andrew Kelley ]
  * docs: mention the standard library documentation
  * print dir name on failure to write to cache dir
  * fixups
  * update the default panic handler on freestanding
  * add missing compile error for comptime continue inside runtime catch
  * update `@unionInit` to integrate with result location semantics

  [ emekoi ]
  * added segfault handler support for windows
  * added tests for #1107 and a note in the reference

  [ Andrew Kelley ]
  * add -ffunction-sections arg when building C objects
  * workaround for no equality operator for enum literal and tagged union
  * add docs for enum literals
  * improve the error message and test coverage

  [ emekoi ]
  * forward error code build.zig
  * forward error code on non-exits

  [ SamTebbs33 ]
  * Support returning !u8 from main

  [ Andrew Kelley ]
  * zig build: install is now the default step; default prefix is zig-cache

  [ Michael Dusan ]
  * stage1: add missing help for `--override-lib-dir`

  [ Andrew Kelley ]
  * zig build: search upwards for build.zig file

  [ hryx ]
  * Unicode escapes: stage2 tokenizer and parser test
  * Unicode escapes: stage1 tokenizer and behavior tests
  * Unicode escapes: documentation and grammar

  [ Andrew Kelley ]
  * std.os.abort no longer calls msvcrt abort() when linking libc
  * add std.os.windows.subsystem
  * docs: mention `@unionInit` in the union section
  * code formatting
  * zig fmt: fix whitespace
  * zig fmt ignores "zig fmt: off" directive for whitespace fixes

  [ hryx ]
  * Prevent unreachable when file ends with struct field

  [ SamTebbs33 ]
  * Add implicit cast for *[N]T to [*c]T

  [ hryx ]
  * Make anyerror not a keyword
  * Remove reference to Keyword_anyerror in docgen

  [ daurnimator ]
  * std: Linux AT_ constants are the same across architectures
  * std: Make linux MAP_ definitions match kernel
  * std: MAP_FAILED is a libc concept on linux

  [ Andrew Kelley ]
  * zig build: add setLibCFile API
  * add an update_glibc tool, delete dummy libc files
  * ability to target any glibc version
  * add -target-glibc to cli help and zig build
  * remove debug log
  * expose glibc version in builtin
  * fix not setting a target glibc version on non-linux
  * zero initialize target
  * avoid dependency on linux/limits.h header
  * std.os.getrandom does a libc version check
  * cap getdents length argument to INT_MAX
  * zig build: install .pdb files along with binaries

  [ Ian Lilley ]
  * fixed path with spaces in llvm-config (#2854)

  [ Andrew Kelley ]
  * Revert "fixed path with spaces in llvm-config (#2854)"
  * zig build: add standardTargetOptions and deprecate setTarget
  * ship with mingw-w64 v6.0.0

  [ dimenus ]
  * resolved #2064 & fixed hello_world libc build

  [ Andrew Kelley ]
  * mingw: building and linking mingw32.lib
  * mingw: building and linking msvcrt-os.lib

  [ dimenus ]
  * fixing non system library linking

  [ Andrew Kelley ]
  * mingw: build and link mingwex.lib
  * add some more windows defs
  * fix windows not able to build mingw
  * the msvc target abi will have to be solved a different way
  * funding: I've been accepted into the GitHub Sponsors program

  [ Michael Dusan ]
  * doc clarify struct size and ABI-alignment

  [ Andrew Kelley ]
  * add -Wno-pragma-pack when targeting windows-gnu

  [ thomas ]
  * fix typo in help text for bundle-compiler-rt

  [ daurnimator ]
  * std: add new linux 5.2 constants

  [ Andrew Kelley ]
  * translate-c: better detection of pointer to struct demoted to opaque
  * mingw libc: solve the segfault having to do with destructors
  * update zig build system for mingw static lib conventions
  * fix build.zig
  * handle mingw libc defs better
  * mingw libc: delete dead linker code regarding using system libc

  [ emekoi ]
  * fixed compilation on mingw-w64

  [ andersfr ]
  * Ported CityHash and Murmur hashing algorithms to native zig
  * Better testing and bugfix in hashUint* functions
  * Proper use of @truncate instead of @intCast
  * Intentional wraparound used +

  [ Andrew Kelley ]
  * translate-c: fix incorrectly translated double function pointer
  * ir: add an assertion in phi analysis

  [ emekoi ]
  * fixed static linking on mingw-w64

  [ Andrew Kelley ]
  * move some of the installation from cmake to zig build
  * cmake: fix incorrect dependencies
  * std.fs.updateFile: make path if necessary
  * implement std.fs.File.updateTimes for windows
  * fix the build on windows
  * fix the build on linux
  * move install_files.h to not be generated code
  * fix the build on macos
  * move lib dirs to lib subdir
  * mingw libc can link against ntdll
  * std.unicode.utf8ToUtf16Le: improve performance
  * fix build on windows

  [ Nick Erdmann ]
  * fix documentation of assert

  [ Andrew Kelley ]
  * avoid shipping junk files
  * fix result location alignment in ir_render_call
  * fix gitattributes

  [ emekoi ]
  * fixed size of ZigClangAPValue on mingw-w64

  [ Andrew Kelley ]
  * cleanups
  * fix documentation regarding mixing object files
  * retire the example/ folder, rename test-build-examples to "standalone"

  [ daurnimator ]
  * cmake: allow user to select static vs dynamic LLVM

  [ JohnathanFL ]
  * Add multidimensional array example

  [ Andrew Kelley ]
  * organize the docs and some rewording
  * rename internal names regarding `usingnamespace`
  * update musl headers to musl v1.1.23
  * update bundled musl source to 1.1.23
  * libc headers before C language headers, and disable libunwind on arm32
  * update to llvm9 trunk

  [ dimenus ]
  * fixed slice length in getEnvVarOwned

  [ Andrew Kelley ]
  * back to msvc as the default C ABI on Windows
  * WIN32 -> _WIN32
  * update zig codebase to llvm 9
  * msvc libc: provide _fltused symbol
  * carry some upstream patches to musl to fix riscv inline asm
  * improvements to riscv support
  * riscv musl: only add the +a feature
  * compiler-rt: add __muldi3
  * basic riscv support
  * riscv workarounds for llvm not having good asm integration

  [ Michael Dusan ]
  * closes #2916

  [ Andrew Kelley ]
  * better riscv syscalls
  * zig build: add valgrind cli options
  * update C headers to llvm9
  * update libunwind to llvm9
  * update libcxx to llvm9
  * fix usingnamespace

  [ Benjamin Feng ]
  * Tokenize '&&' as AmpersandAmpersand
  * Generate parse error from &&
  * Switch old switch / @TagType() to use inferred enums
  * Docgen invalid for &&

  [ Andrew Kelley ]
  * slightly simpler implementation
  * update clang driver code to llvm9
  * remove coroutines implementation and promise type
  * always give the type to byval attribute
  * docs: don't try to run the undefined behavior example test
  * simple async function call working
  * remove errors for async calling convention
  * fix not jumping to entry
  * returning from async fn adds bad resume safety
  * zig build: support DESTDIR environment variable
  * simple async function passing test
  * implement coroutine resume
  * implement async function parameters
  * fix wrong calling convention on async resume
  * zig build: adjust DESTDIR logic
  * disable segfault handler when panicking
  * fix usingnamespace analyzing the expression multiple times
  * disable segfault handler when panicking
  * compiler-rt: add __muldi3
  * fix suspend at end of function
  * fix multiple coroutines existing clobbering each other

  [ Vexu ]
  * fix escape sequence rendering

  [ Timon Kruiper ]
  * Fixed an integer overflow in zig fmt and added testcase

  [ Andrew Kelley ]
  * inferring async from async calls
  * add error for function with ccc indirectly calling async function
  * implement local variables in async functions

  [ Michael Dusan ]
  * align src for IrInstructionArrayToVector

  [ Andrew Kelley ]
  * add test for previous commit
  * calling an inferred async function
  * implement `@frame` and `@Frame`
  * implement `@frameSize`
  * `@frameSize` works via PrefixData
  * async functions return void, no more GetSize resume block

  [ Joachim Henke ]
  * avoid a register copy when fetching the stack pointer in _start

  [ emekoi ]
  * improved CMake file for MinGW

  [ Andrew Kelley ]
  * add the `anyframe` and `anyframe->T` types

  [ emekoi ]
  * fixed backtraces when linking libc on mingw
  * avoid passing -static to msvc when static linking

  [ Nick Erdmann ]
  * src/target.cpp: UEFI improvements
  * std/build.zig: add checks for UEFI

  [ Evan Krause ]
  * support zero-sized structs in zig.fmt.format

  [ Michael Dusan ]
  * fix std.rb.Node.getParent to return optional

  [ Nick Erdmann ]
  * std/build.zig: fix stack checking option

  [ Michael Dusan ]
  * fix std.fmt to handle std.SegmentedList

  [ Sahnvour ]
  * os: missing accessW since recent refactoring
  * coff & pdb: improved correctness of our implementation, it is now able to handle stage1's pdb and print its stack traces
  * pdb: improved stream reading performance, printing stack trace from a stage1 crash is now 10x faster

  [ Andrew Kelley ]
  * improve support for anyframe and anyframe->T

  [ Benjamin Feng ]
  * Add builder.findProgram test and fix references
  * More current style for error handling
  * Default wasm-lib prefix to empty

  [ Andrew Kelley ]
  * allow 128 bit cmpxchg on x86_64
  * disable behavior test for 128-bit cmpxchg
  * reimplement async with function splitting instead of switch
  * fix calling an inferred async function
  * more passing coroutine tests
  * implement async await and return

  [ Euan Torano ]
  * Check if /dev/urandom is a character device
  * Fix call to S_ISCHR and implement for Mac
  * Add S_* values for freebsd.

  [ Andrew Kelley ]
  * assignment participates in result location
  * fix cmpxchg with discarded result
  * fix discarding function call results
  * fix regressions regarding writing through const pointers
  * add heap allocated async function frame test
  * docs: add atomicrmw operations list
  * implement async functions returning structs

  [ emekoi ]
  * implemented runtime abi detetction for windows
  * accept unix style paths on windows-gnu

  [ Christoffer Rasmussen ]
  * Fix public function lookup

  [ Andrew Kelley ]
  * add compile error for async call of function pointer

  [ daurnimator ]
  * std: return Elf object from constructors instead of filling in pointer

  [ Andrew Kelley ]
  * add runtime safety for resuming an awaiting function
  * add compile error for calling async function pointer

  [ Euan T ]
  * Update returned error return when not a character device.
  * Omit system namespace.

  [ Andrew Kelley ]
  * update embedded LLD to 9.0.0rc1
  * LLD patch: workaround for buggy MACH-O code
  * implement `@asyncCall` which supports async function pointers

  [ emekoi ]
  * move windows abi detection to `get_native_target`

  [ Andrew Kelley ]
  * fix regression in calling extern functions

  [ daurnimator ]
  * std: remove elf.auto_close_stream and elf.prealloc_file

  [ Sahnvour ]
  * direct port of wyhash v2 also inspired by https://github.com/ManDeJan/zig-wyhash
  * use wyhash in std's hashmap, and improve autoHash to handle more types and behave more correctly
  * fix hashmap using strings as keys

  [ Marc Tiehuis ]
  * Add iterative wyhash api
  * Add throughput test program for hash functions

  [ Sahnvour ]
  * adapt http/headers.zig to wyhash's new interface
  * make use of hashing streaming interface in autoHash
  * move autoHash into its own module since it can be used with any hash function implementing a streaming interface
  * wyhash: stateless is faster for both iterative hashing and small keys.
  * autohash: force inlining of integer hashing so that the optimizer can see the fast path based on key's size which is known at comptime

  [ Andrew Kelley ]
  * update CONTRIBUTING.md

  [ Nick Erdmann ]
  * initial work torwards std lib support for uefi

  [ Andrew Kelley ]
  * suspension points inside branching control flow
  * move state from ZigFn to CodeGen to save memory
  * simpler, less memory intensive suspend/resume implementation
  * refactor logic for determining if there is a frame pointer
  * support async functions with inferred error sets
  * delete IrInstructionMarkErrRetTracePtr
  * add a src() method to AstNode to aid debugging
  * async functions have error return traces where appropriate

  [ Euan Torano ]
  * Add missing S_IS* for NetBSD

  [ Euan T ]
  * Add misisng newline

  [ Nick Erdmann ]
  * std/os/uefi: replace integer bit fields with packed structs

  [ Euan Torano ]
  * Fix #2993 - use getrandom on freebsd

  [ Andrew Kelley ]
  * update readme

  [ Benjamin Feng ]
  * Humanize tokenized symbol names
  * Output token symbols similar to stage1

  [ Nick Erdmann ]
  * std/os/uefi: replace init() with default values

  [ Euan Torano ]
  * Fix function signature and use a loop to ensure buffer is filled.

  [ Andrew Kelley ]
  * improve async function semantics
  * passing the error return trace async function test
  * error return trace across suspend points
  * fix awaiting when result type is a struct
  * implement cancel
  * clean up the bitcasting of awaiter fn ptr
  * cancel works on non-pointers

  [ Ryan Saunderson ]
  * modify header precedence for zig cc, resolves intrinsics issues (#3027)

  [ Andrew Kelley ]
  * std.math.min: return a more restrictive type sometimes

  [ Sam Tebbs ]
  * Don't emit clang error if source or filename pointer is null

  [ Euan Torano ]
  * Remove unneeded casts.

  [ Andrew Kelley ]
  * cancel, defer, errdefer all working as intended now
  * more debuggable safety for awaiting twice
  * async functions in single threaded mode do not use atomic ops
  * add compile error for unable to determine async fn frame
  * better compile errors when frame depends on itself
  * fix segfault with var args
  * fix var args call on non-generic function
  * closer to std lib event stuff working
  * fix passing string literals to async functions
  * fix regression in std.math.min
  * add a little compile error to make Future Andy's life easier
  * fix cancel inside an errdefer
  * fix combining try with errdefer cancel

  [ Nick Erdmann ]
  * std/os/uefi: change type of Handle from @OpaqueType to *@OpaqueType
  * std/os/uefi: add basic Event support

  [ Andrew Kelley ]
  * fix try in an async function with error union and non-zero-bit payload
  * fix returning a const error from async function
  * add test case for typical async/await usage

  [ Nick Erdmann ]
  * src/codegen: configure stack probes explicitly
  * std/os/uefi: some more events

  [ data-man ]
  * Fixed tiny typo in the math module (shr's description)

  [ Andrew Kelley ]
  * allow comptime_int to implicit cast to comptime_float
  * fix enum with one member and custom tag type
  * fix canceling async functions which have error return tracing
  * README: link to community projects
  * all tests passing
  * fix cancel invoking branch on undefined memory
  * fix no-longer-correct `nonnull` attribute on merge err ret traces fn
  * fix async function frames not aligned enough
  * flip the order of fields in error unions
  * alignment of structs no longer depends on LLVM
  * organize TODOs
  * avoid the word "coroutine", they're "async functions"
  * get_struct_type accepts field alignment overrides
  * respect local variable alignment in async functions
  * rename behavior test files
  * add compile error for await in exported function
  * codegen for async call of blocking function
  * remove `cancel`
  * force static libs for vendored dependencies
  * fix error return traces for async calls of blocking functions
  * basic docs for new async/await semantics
  * zig fmt
  * add assertion about control flow to fix gcc warning
  * fix crash with sometimes type not being resolved
  * note that -mllvm is unsupported

  [ Vexu ]
  * implement new async syntax in self-hosted compiler

  [ Andrew Kelley ]
  * zig fmt: add more test cases
  * zig fmt
  * add compile error for @Frame() of generic function
  * add test for wrong frame type used for async call
  * add test for async call of generic function
  * add tests for bad implicit casting of anyframe types
  * codegen: LLVMConstSub instead of LLVMBuildSub in one place
  * add compile error for casting const frame to anyframe

  [ yvt ]
  * correct LLVM subarch names for arm

  [ Andrew Kelley ]
  * fix and test case for returning from suspend block
  * add test for struct parameter to async function being copied
  * add missing compile error for fn call bad implicit cast
  * target: add missing switch case
  * improvements to std lib for event-based I/O
  * std.event.Loop: fix not waking up after file system I/O
  * fix event loop regression on macos
  * fix compiler not checking alignment of function frames

  [ Vexu ]
  * add compile error for incorrect atomic ordering in fence #3082

  [ Andrew Kelley ]
  * detect non-async function pointer of inferred async function
  * allow implicit cast of fn to async fn

  [ Marc Tiehuis ]
  * std/fmt: Move pointer parsing out of main state machine

  [ Andrew Kelley ]
  * add compile error for async frames depending on themselves

  [ Nick Erdmann ]
  * fix error message when dependency requires position independent code

  [ Marc Tiehuis ]
  * std/fmt.zig: Pass full options struct to all internal functions
  * std/fmt: Make FormatOptions arguments non-comptime

  [ Andrew Kelley ]
  * don't put libc on the elf linker line for objects
  * fix array multiplication not setting parent value info
  * fix void array as a local variable initializer

  [ Aaron Klapatch ]
  * added documentation for field access to C pointers (#3088)

  [ Michael Dusan ]
  * fix @bitCast segfault with literal array param

  [ Andrew Kelley ]
  * solve it a slightly different way
  * fix @bitCast of packed struct literal

  [ Timon Kruiper ]
  * compiler error when variable in asm template cannot be found

  [ Andrew Kelley ]
  * specify the target for the newest test case
  * add std.c.printf

  [ Euan Torano ]
  * Fix InStream.readNoEof
  * fix os.getrandom logic to fill the entire buffer

  [ Andrew Kelley ]
  * fixups
  * update C headers to clang 9.0.0-rc2
  * update embedded LLD to 9.0.0-rc2
  * update libcxx to 9.0.0-rc2
  * LLD patch: workaround for buggy MACH-O code
  * remove incorrect assert regarding 128-bit integers

  [ Marc Tiehuis ]
  * Update hash/crypto benchmark scripts
  * Add more hash functions to benchmark scripts
  * Add iterative-only filter to hash benchmark
  * Inline full slice hashing

  [ Andrew Kelley ]
  * breaking: remove field alignment kludge
  * introduce lazy values
  * add missing "referenced here" notes for lazy values
  * simple self-referential struct is working now
  * fix regressions

  [ Tetralux ]
  * parsing of align(N) on struct fields
  * rendering of align(N) on struct fields

  [ Jonathan Marler ]
  * Encapsulate bigint representation, assert on cast data loss

  [ Andrew Kelley ]
  * add lazy value for fn prototypes
  * allow top level declarations to be lazy
  * pointer types lazily evaluate their element type
  * better handling of lazy structs
  * fix regression with simple pointer to self
  * add lazy value support for optional types
  * fix regression on `@ptrCast`
  * tracking these issues on github now

  [ Marc Tiehuis ]
  * std/hash: Revert crc32 api change

  [ Sahnvour ]
  * auto_hash: better generic hashing implementation
  * hash_map: adding a StringHashMap for convenience
  * wyhash: readd the stateful streaming version so that both are available

  [ Jonathan Marler ]
  * Fix issue 3058: zig build segfault

  [ Andrew Kelley ]
  * hook up unions with lazy values
  * fix behavior test regressions with unions
  * make the zero-bit-ness of pointers lazy
  * behavior tests passing
  * fix resolution detection of pointer types
  * fix assertion tripped instead of reporting compile error
  * make `@alignOf` lazily evaluate the target type
  * fix dependency loop errors with zig build
  * fix some std lib dependency loops
  * fix some compile error regressions
  * fix regression on struct field with undefined type
  * fix regression with global variable assignment...
  * fix regression in ir_get_ref
  * miscellaneous fixes regarding compile errors
  * remove no longer needed gcc8 workaround. add gcc9 workaround
  * fix more compile error regressions
  * fix regression in one of the doc examples

  [ Marc Tiehuis ]
  * Improve siphash performance for small keys by up to 30% (#3124)

  [ Andrew Kelley ]
  * implement and test struct field explicit alignment
  * add a TODO compile error for union field alignment syntax
  * fix not properly casting align values
  * add regression test for bug fixed by lazy values

  [ Marc Tiehuis ]
  * Simplify wyhash and improve speed

  [ Andrew Kelley ]
  * add regression test for bug fixed by lazy values
  * better handle struct depends on itself via optional field
  * add regression test for struct with optional list of self
  * support self-referential struct through a slice of optional
  * add regression test for already fixed bug

  [ Robin Voetter ]
  * add arm32 linux bits definitions

  [ Andrew Kelley ]
  * implement lazy values for error union types

  [ Robin Voetter ]
  * add arm32 syscall conventions

  [ yvt ]
  * Improve the handling of `zig fmt: off/on`

  [ Andrew Kelley ]
  * fix implicit cast from zero sized array ptr to slice
  * add suggestion to AutoHash compile error message

  [ Robin Voetter ]
  * Add more syscall constants
  * Make mmap use SYS_mmap2 if it exists
  * TLS initialization, clone definition and _start functionality
  * fix issues with debug.zig
  * Don't print line info if source is not available

  [ Shritesh ]
  * Use LLVM path provided by homebrew

  [ Andrew Kelley ]
  * fix not fully resolving debug info for structs causing llvm error
  * fix not fully resolving debug info for structs causing llvm error

  [ Robin Voetter ]
  * add __aeabi_read_tp

  [ Andrew Kelley ]
  * make `@sizeOf` lazy
  * comparing against zero participates in lazy values
  * avoid unnecessarily requiring alignment for array elem pointers
  * await does not force async if callee is blocking
  * fix regressions

  [ Hong Shick Pak ]
  * zig fmt: fix nested if
  * run new zig fmt and remove stale comment

  [ Robin Voetter ]
  * Improve comments near un-implemented functionality
  * Remove unneeded os check

  [ Michael Dusan ]
  * fix stage1 to build on macOS + xcode/clang

  [ Andrew Kelley ]
  * align(@alignOf(T)) T does not force resolution of T
  * update process_headers.zig for latest zig
  * musl: fix alltypes.h and syscall.h not being correct
  * support recursive async and non-async functions
  * `@typeOf` now guarantees no runtime side effects
  * improvements to `@asyncCall`

  [ Michael Dusan ]
  * stage1 enhance IR print

  [ Andrew Kelley ]
  * fix `@typeOf` an async function call of generic fn with error union type
  * Revert "Merge pull request #2991 from emekoi/mingw-ci"

  [ Robin Voetter ]
  * Replace legacy 16-bit syscalls with 32-bit versions when appropriate
  * Fix up seteuid and setegid
  * Fix up preadv, preadv2, pwritev and pwritev2

  [ Andrew Kelley ]
  * add regression test for already fixed bug
  * add ability to specify darwin framework search dirs
  * fix using @typeOf on a generic function call

  [ Nick Erdmann ]
  * std/os/uefi: add global_variable guid

  [ Andrew Kelley ]
  * fix recursive call of await @asyncCall with struct return type

  [ Nick Erdmann ]
  * std/os/uefi: add support for getting memory map
  * std/os/uefi: fix ordering of packed bit fields

  [ Andrew Kelley ]
  * fix const result loc, runtime if cond, else unreachable

  [ Michael Dusan ]
  * cmake: improve building without git repository

  [ Andrew Kelley ]
  * omit prefix data for async functions sometimes

  [ Michael Dusan ]
  * test: add compare-panic

  [ Andrew Kelley ]
  * rename compare-panic to compare-stack-traces
  * rename test-compare-panic to test-stack-traces

  [ Vesa Kaihlavirta ]
  * Fix addition direction, remove superfluous loop counter, add tests

  [ Andrew Kelley ]
  * fix stack traces on macos when passing absolute path to root source file
  * fix compiler crash in struct field pointers
  * zig build: make install prefix available to build.zig and

  [ Sahnvour ]
  * changing occurrences of HashMap with []const u8 as keys for StringHashMap
  * add fastpath for std.mem.eql and simplify std.hash_map.eqlString

  [ Andrew Kelley ]
  * fix union field ptr ir instruction

  [ Sahnvour ]
  * error message and test for alignment of variables of zero-bit types

  [ Andrew Kelley ]
  * emit a compile error if a test becomes async

  [ Jonathan Marler ]
  * Add @Type builtin

  [ Robin Voetter ]
  * Add missing clobbers on arm-eabi and arm64 syscall conventions
  * Implement remaining requested changes

  [ Andrew Kelley ]
  * fixups and add documentation for `@Type`

  [ Robin Voetter ]
  * Only check for TLS support on arm if TLS segment exists

  [ Timon Kruiper ]
  * Implicit cast from enum literal to optional enum and implicit cast to payload of error union

  [ Andrew Kelley ]
  * fix typo with tls initialization

  [ LemonBoy ]
  * Add the noinline keyword for function declarations

  [ Michael Dusan ]
  * stage1 enhance IR print

  [ Vesa Kaihlavirta ]
  * Shorten @field documentation and add an example

  [ Jonathan Marler ]
  * Add Array support to @Type

  [ LemonBoy ]
  * Resolve lazy values when checking for definedness
  * Always resolve the struct field types

  [ Timon Kruiper ]
  * Add compile error when shifting amount is not an int type

  [ Andrew Kelley ]
  * I'm pretty sure `sp` is the stack pointer on all ARM
  * prefer result type casting to peer type resolution
  * os: raise maximum file descriptor limit
  * add -l as an alias for --library

  [ Timon Kruiper ]
  * Add compiler error when negating invalid type

  [ Andrew Kelley ]
  * implement `noasync` function calls
  * runtime safety for noasync function calls

  [ emekoi ]
  * fixed compiler error for gcc 9.2.0

  [ Andrew Kelley ]
  * fix await used in an expression generating bad LLVM
  * implement spills when expressions used across suspend points
  * properly spill expressions with async function calls
  * update process_headers tool for glibc 2.30
  * update glibc headers to 2.30
  * update glibc ABI lists to 2.30
  * fix suspensions inside for loops generating invalid LLVM IR

  [ Gustav Olsson ]
  * forward framework dirs to embedded clang in addition to linker on osx

  [ Andrew Kelley ]
  * move logic for propagating framework dirs to zig cc

  [ Michael Dusan ]
  * test-stack-traces: add FreeBSD

  [ Sahnvour ]
  * use /debug:fastlink when building with msvc and debug info

  [ Andrew Kelley ]
  * release builds of stage1 have llvm ir verification
  * implement spilling when returning error union async function call

  [ LemonBoy ]
  * Allow comparison between union tag and enum literal
  * Comptime folding of enum/union comparisons
  * Fix typo in TLS initialization code

  [ Andrew Kelley ]
  * fix bad LLVM IR when for target expr needs to be spilled

  [ LemonBoy ]
  * Adjust the stdlib to be 32bit compatible

  [ Andrew Kelley ]
  * fix a var decl in scope preventing for loop spills

  [ Michael Dusan ]
  * fix tests.addPkgTests to always run native target

  [ Sahnvour ]
  * forbid opaque types in function return types

  [ LemonBoy ]
  * Force LLVM to generate byte-aligned packed unions

  [ daurnimator ]
  * std: add BloomFilter data structure

  [ Andrew Kelley ]
  * make the std lib support event-based I/O
  * -fstack-report outputs JSON

  [ LemonBoy ]
  * Accept void argument for @cDefine value
  * Resolve lazy arguments passed to @compileLog
  * Don't forget to resolve the pointee type

  [ Andrew Kelley ]
  * update embedded LLD to 9.0.0rc4
  * lld: apply patch: [mach-o] Extend LC_DATA_IN_CODE support to x86_64
  * update C header files to clang 9.0.0rc4

  [ Michael Dusan ]
  * fix build on macOS + xcode + clang

  [ stratact ]
  * Get more of the tests passing for FreeBSD (#3197)

  [ Andrew Kelley ]
  * update glibc src files to 2.30
  * async function calls re-use frame buffers
  * disable runtime safety in std.io.InStream
  * add behavior test for `@enumToInt(enum(u1){x}.x)`

  [ LemonBoy ]
  * Recognize & skip the UTF-8 BOM

  [ Andrew Kelley ]
  * consolidate std.debug.parseDie and std.debug.parseDie1
  * improvements targeted at improving async functions

  [ LemonBoy ]
  * Correct AT_FDCWD definition

  [ stratact ]
  * Add missing C dl_iterate_phdr function for FreeBSD

  [ LemonBoy ]
  * Make single-element enum default to u0

  [ Andrew Kelley ]
  * fix regression from incorrect conflict resolution in prev commit
  * no-stack-arg-probe only for UEFI

  [ Tetralux ]
  * Add FixedBufferAllocator.reset

  [ Jay Weisskopf ]
  * Fix typos: "seperate" to "separate"

  [ Andrew Kelley ]
  * fix tripping llvm assert
  * update clone on arm32 to latest musl implementation
  * fix tripping llvm assert
  * fix peer result location with typed parent, ...

  [ Shawn Landden ]
  * Fix array->vector and vector->array for many types. Allow vector of bool.

  [ Andrew Kelley ]
  * adjust codegen of casting between arrays and vectors

  [ Shawn Landden ]
  * stage1: proper return type on vector comparisons

  [ Andrew Kelley ]
  * remove TODO regarding lazy values

  [ Shawn Landden ]
  * stage1: add @shuffle() shufflevector support

  [ Andrew Kelley ]
  * rework the implementation
  * relax std.auto_hash requirements regarding vectors

  [ Shawn Landden ]
  * @byteSwap on vectors

  [ Andrew Kelley ]
  * implement runtime `@byteSwap` and other fixups

  [ Shawn Landden ]
  * `@splat`

  [ Andrew Kelley ]
  * fixups for `@splat`
  * add docs for `@splat`

  [ ScorrMorr ]
  * pass param as ref in ZigList::append

  [ Shawn Landden ]
  * Allow Zig programs to implement their own startup (_start) for ELF executables.
  * docs: clarify @clz and @ctz terminology to not be endian-specific.

  [ daurnimator ]
  * src: use zig_panic rather than having LLVM abort

  [ Andrew Kelley ]
  * update std.zig.tokenizer

  [ stratact ]
  * Disable Channel, Future, and Lock tests for FreeBSD (#3253)

  [ Andrew Kelley ]
  * update CI scripts llvm 8 to 9
  * macos ci: RISCV is no longer experimental
  * update remaining llvm 8.0.0 references to 9.0.0

  [ Michael Dusan ]
  * stage1: fix gcc 9.1.0 compiler error on archlinux

  [ Andrew Kelley ]
  * fix typo in docs
  * update README

  [ Timon Kruiper ]
  * Fix comptime bitcast inside an expression

  [ Andrew Kelley ]
  * add test case for already fixed bug

  [ Sahnvour ]
  * reject types of automatic container layout in packed unions

  [ daurnimator ]
  * std: update riscv64 syscalls
  * std: update for linux 5.3

  [ Andrew Kelley ]
  * fix typo
  * add more RISCV64 linux bits to std lib
  * avoid setting `tail` for `@panic`

  [ LemonBoy ]
  * Fix generation of tail fields for packed struct
  * Correct stack alignment for new stack
  * Adjust tests for AArch64
  * Fix a test on ARM due to the use of `undefined` ptr

  [ Tetralux ]
  * Remove 'inline', as per @andrewrk

  [ Andrew Kelley ]
  * add behavior test for float widening f16 to f128
  * zig test: don't skip execution when explicit command provided

  [ LemonBoy ]
  * Fix TLS for VariantI arches with a twist

  [ Michael Dusan ]
  * stage1: fix lost argv[0]

  [ Andrew Kelley ]
  * significantly increase test coverage
  * windows ci: make the case of file names agree
  * fix linux stat struct on aarch64

  [ Euan Torano ]
  * Fix #3272 - update docs

  [ Andrew Kelley ]
  * linux implementation of std.net.getHostName
  * clean up compiler_rt with some enum literals
  * disable running cross compiled macos tests
  * do the release tests last because they take longer
  * ci: update windows image to MSVC 2019
  * remove redundant assert
  * windows CI: use MinSizeRel to work around MSVC bug
  * libc implementation of gethostname
  * more info in assertion failures
  * more helpful error message when failing to parse glibc abi.txt
  * git, I love you, but please stop mangling my files
  * tolerate windows newlines in glibc text files
  * silence nonportable include path warnings when building glibc on windows
  * add emscripten to std.build.Target.defaultAbi
  * mingw-w64 libc: fix incorrect detection of _xgetbv
  * enable test coverage for cross compiling windows mingw-w64
  * windows CI: fix name collision
  * zig build: linkSystemLibrary integrates with pkg-config
  * make type_allowed_in_extern more robust

  [ LemonBoy ]
  * Fix computation of switch coverage
  * Prevent crash with invalid extern type

  [ Jay Weisskopf ]
  * Create user-specified `output-dir`

  [ LemonBoy ]
  * Fix assignment to optional payload
  * Fix result loc unwrapping with optional in error union

  [ Andrew Kelley ]
  * docgen: slightly cleaner display of libc cli args
  * docgen: test blocks support linking libc

  [ Michael Dusan ]
  * add VarDecl support for struct-method call syntax

  [ Andrew Kelley ]
  * better default enabled features for riscv
  * add docs for usingnamespace

  [ LemonBoy ]
  * Correct some RISCV64 bits
  * Add DTP bias according to RISCV ABI
  * Fix llseek behavior

  [ Vexu ]
  * add noasync to zig fmt
  * ran zig fmt on stdlib

  [ Andrew Kelley ]
  * fix building musl on eabihf abis, incorrect include dirs
  * disable known-to-be-failing tests for linux-aarch64-gnueabihf
  * musl [PATCH] arm: fix setjmp and longjmp asm for armv8-a
  * enable test coverage for armv8-linux-musleabihf
  * docgen: slightly better caching
  * macos ci: display system info before running anything
  * mv std/ lib/
  * remove --override-std-dir. fix issues caused by moving std lib
  * zig additionally looks for lib/std/std.zig
  * add -DZIG_SKIP_INSTALL_LIB_FILES cmake option

  [ LemonBoy ]
  * Initial support for mipsel architecture¬
  * Fix wrong IOCTL value

  [ Michael Dusan ]
  * doc: usingnamespace imports only public decls

  [ LemonBoy ]
  * Export _start as __start for MIPS targets
  * Add comments about the test cases that have been disabled

  [ Andrew Kelley ]
  * docs: mention release-small along with release-fast

  [ LemonBoy ]
  * Errno changes for MIPS

  [ Andrew Kelley ]
  * docgen: add "process terminated by signal" to exe_err

  [ LemonBoy ]
  * Don't warn about redeclaration for the same var node

  [ Andrew Kelley ]
  * fix some linux declarations not getting exposed
  * fix mipsel regression in previous commit

  [ Nick Erdmann ]
  * std/os/uefi: add exitBootServices and allocatePool
  * std/os/uefi: add some hii support

  [ Andrew Kelley ]
  * add regression test for alignment of constants

  [ LemonBoy ]
  * Avoid truncating mmap2 offsets if not multiple of page size
  * Backport patch for Musl libc
  * Enable mipsel+libc tests on CI
  * Correct calculation of padding length in struct

  [ Andrew Kelley ]
  * fully specify padding bytes when necessary

  [ meme ]
  * support Android NDK and bionic

  [ Andrew Kelley ]
  * std.os.fstat: EINVAL => unreachable

  [ meme ]
  * fix building static Android executables

  [ Andrew Kelley ]
  * avoid duplicated code of specifying the default glibc version
  * fix glibc builds on aarch64-linux-gnu

  [ meme ]
  * do not link against gcc runtime on Android target
  * minor tweaks

  [ Andrew Kelley ]
  * RISC-V: get to the linking phase of behavior tests

  [ Nick Erdmann ]
  * std/os/uefi: fix Guid alignment in rng protocol

  [ Andrew Kelley ]
  * docgen: support code examples for riscv target
  * detect the windows um include directory
  * detect the shared windows include dir as well
  * docs: docgen supports release safe exe code examples
  * remove unhelpful/outdated/unused doc file
  * Release 0.5.0
  * langref: add 0.5.0 docs link

  [ SamTebbs33 ]
  * Replace code occurences of --override-std-dir with --override-lib-dir

  [ LemonBoy ]
  * Correct signal bits for MIPS

  [ Andrew Kelley ]
  * translate-c: make trans_implicit_cast_expr use zig_clang.h
  * fix tripping LLVM assertion in const unions
  * more conversion of translate_c.cpp to use zig_clang.h
  * llvm 9.0.0 => llvm 10.0.0
  * we have to use c++14 now for llvm10
  * finish conversion of translate_c.cpp to use zig_clang.h
  * docs: use the updated png favicon
  * zig build: fix exe file ext to match target.cpp

  [ LemonBoy ]
  * Fix pipe syscall for MIPS

  [ Andrew Kelley ]
  * add -fdump-analysis to dump type information to json
  * handle when std lib is unused
  * fix noreturn attribute for msvc

  [ Michael Dusan ]
  * stage1: fix compile error on macOS Xcode 11.1

  [ Andrew Kelley ]
  * langref: no viewport
  * proof of concept of stage1 doc generation
  * generated docs: navigable packages
  * generated docs: navigable types

  [ Michael Dusan ]
  * fix container member access for fn/struct-fn

  [ Andrew Kelley ]
  * generated docs: add navigation bar
  * generated docs: render functions
  * generated docs: show public stuff only
  * generated docs: canonical package paths

  [ LemonBoy ]
  * Initial support for i386-windows-msvc target
  * Support for TLS on Win32

  [ Andrew Kelley ]
  * generated docs: docs/ instead of doc/
  * stage1 parser supports doc comments

  [ Matt Keeter ]
  * Fix typo in docs

  [ Nick Erdmann ]
  * unicode character literals

  [ Andrew Kelley ]
  * move doc/ to docs/
  * generated docs: show doc comments on functions
  * generated docs: logo and basic search proof of concept
  * generated docs: better navigation
  * generated docs: fix search stuff
  * generated docs: keyboard shortcuts modal
  * generated docs: navigable search results
  * generated docs: search cleanup
  * generated docs: smart ignore case
  * generated docs: sort search results
  * stage1: enable PIC for libuserland
  * generated docs: prioritized sort ranking
  * generated docs: highlight active package
  * generated docs contain generic instantiations and comptime calls
  * generated docs: function parameters have links
  * generated docs: bool type and fix error for some fns
  * generated docs: functions with inferred error sets display nicely

  [ Christine Dodrill ]
  * src/main: minor grammar fix in the help for `zig builtin`

  [ Timon Kruiper ]
  * Add initial support for struct fields in the docs

  [ Andrew Kelley ]
  * generated docs: error sets in fn docs
  * generated docs: consistent coloring
  * generated docs: add global variables
  * generated docs: global vars in a table
  * generated docs: render var decls
  * generated docs: separate Error Sets from Types
  * generated docs: functions in a table with descriptions

  [ Alva ]
  * Correct std.os.connect_async docs

  [ Timon Kruiper ]
  * Docs: adds docs comments to struct fields

  [ Andrew Kelley ]
  * improve names of error sets when using merge error sets operator
  * add comments about why we choose pentium4 for i386 target
  * generated docs: show error sets pages
  * zig build: bump default max exec output size to 400 KB
  * generated docs: separate section for namespaces
  * generated docs: more verbose fields

  [ LemonBoy ]
  * Shuffle around some stack-probing functions
  * Fix compilation w/ clang
  * Remove x86/Windows name mangling hack
  * Compile the architecture-specific mingw sources
  * Add a bunch of mingw lib32 .def files

  [ Michael Dusan ]
  * stage1: fix root top-level-struct typename

  [ Andrew Kelley ]
  * generated docs: refactor how type kinds work
  * generated docs: render values
  * generated docs: add array type support
  * generated docs: avoid clobbering browser shortcut keys
  * generated docs: better handle when root is std

  [ Vexu ]
  * implement doc generation for union and enum

  [ LemonBoy ]
  * Patch lld to have a more sensible kill-at implementation
  * Add i386/mingw to the test rooster
  * Fix stack-probe symbol redefinition

  [ Timon Kruiper ]
  * Generated docs: store static container info in a containerDecl astNode
  * Generated docs: Add function paramater names

  [ Michael Dusan ]
  * cleanup: unused imports in test
  * stage1: fix ir_resolve_str() to return slice

  [ Andrew Kelley ]
  * generated docs: better listing of functions

  [ Rocknest ]
  * Change layout and styles
  * Add transtition to search field

  [ Andrew Kelley ]
  * generated docs: css: wider tables

  [ LemonBoy ]
  * Extern unions should not trigger active field check

  [ Andrew Kelley ]
  * generated docs: clean up type names and param names

  [ Rocknest ]
  * Fix dark mode
  * Changes from master

  [ Andrew Kelley ]
  * generated docs: better rendering of unknown decls
  * better debug info for integers
  * generated docs: add optional type support

  [ Rocknest ]
  * Changes from master

  [ Andrew Kelley ]
  * codegen.cpp: remove unused variable
  * miscellaneous improvements to generated docs

  [ LemonBoy ]
  * Fix cross-compilation to i386-windows-msvc

  [ Andrew Kelley ]
  * merge dumps tool: merging ast nodes
  * merge targets of generated docs

  [ LemonBoy ]
  * Add dlltool functionality
  * Revert LLD patch
  * Fix lld search path
  * Replace usage of createDriverOptTable
  * Add/shuffle several enum members to match Clang's API
  * Replace llvm::make_unique with std::make_unique
  * More clang API changes
  * Correctly mangle frameaddress intrinsic name

  [ Rocknest ]
  * Consistent margins

  [ LemonBoy ]
  * Add support for the statx syscall
  * Fix signedness for some fields in ARM stat definition
  * Add ELF architecture constant for RISC-V
  * Fix fp-based backtracing on RISC-V
  * Propagate user-defined function alignment to LLVM IR

  [ Sahnvour ]
  * ci: use parallel msbuild.exe processes for faster building on windows

  [ LemonBoy ]
  * Adapt to clang API additions
  * Fix stack iteration stop condition

  [ Vexu ]
  * fix struct align fmt

  [ Andrew Kelley ]
  * fix non-byte-aligned packed struct field...

  [ tgschultz ]
  * Replaced setTag hack in Deserialize with @unionInit

  [ dtw-waleee ]
  * Fix keyboard layout issue with help-modal
  * fix small misstake, 'escape' v. 'Escape'

  [ Andrew Kelley ]
  * generated docs: further clean up keyboard shortcut handling
  * merge analysis dumps tool handles errors
  * generated docs: progress towards generic types being useful
  * add cross compiling support for opengl32.dll
  * add more cross compiling support for windows system dlls
  * only look for .defs when needed; remove samsrv.dll cross compiling support

  [ Nick Erdmann ]
  * std/os/uefi: add Guid format()

  [ Andrew Kelley ]
  * [breaking] standardize std.os execve functions

  [ Nick Erdmann ]
  * std/os/uefi: add documentation

  [ Andrew Kelley ]
  * add -I command line parameter, same as clang
  * improve docs and field names of Statx struct

  [ LemonBoy ]
  * Fix compilation of updateTimes on 32bit platforms

  [ Andrew Kelley ]
  * add docs for std.fs.File.updateTimes

  [ Emeka Nkurumeh ]
  * fix std.mem.AsBytesReturnType (#3442)

  [ Sebsatian Keller ]
  * Add 'missing' consts to math.zig

  [ Andrew Kelley ]
  * turn comments into doc comments

  [ Rocknest ]
  * Changes from master
  * Cleanup

  [ Sahnvour ]
  * stage1: override cmake's default compilation flags to statically link the CRT on windows
  * msvc: reduce inlining aggressivity to workaround a codegen bug in cl.exe cf. #3024

  [ Andrew Kelley ]
  * update CI script for windows static builds
  * ref more math decls for better docs
  * remove -DZIG_FORCE_EXTERNAL_LLD=ON
  * update musl headers to v1.1.24
  * update musl src to v1.1.24
  * mipsel: fix padding on stat struct

  [ Luna ]
  * add lib/std/progress.zig

  [ Andrew Kelley ]
  * rework the progress module and integrate with stage1
  * improve progress reporting

  [ Nick Erdmann ]
  * std/os/windows: remove subsystem detection for uefi
  * std/build: make subsystem configurable

  [ Andrew Kelley ]
  * add -DZIG_ENABLE_MEM_PROFILE option and -fmem-report flag
  * reduce the size of IrInstruction by 8 bytes on 64 bit targets

  [ LemonBoy ]
  * Fix crash when generating constant unions with single field
  * Prevent too eager constant-folding of switch expression

  [ stratact ]
  * Use 8192 sized buffers and remove allocator parameters

  [ Felix Queißner ]
  * Starts to implement markdown parser. Implemented: strong, emphasis, strikethrough, underline, code blocks, ulist, olist, paragraphs, headings. Planned: Links, Images, internal references.

  [ LemonBoy ]
  * Resolve lazy slice start/end values

  [ Andrew Kelley ]
  * breaking: improve std.fs directory handling API

  [ LemonBoy ]
  * Fix crash with peer type resolution & error unions

  [ Andrew Kelley ]
  * [wip] use NtDll APIs on Windows to implement std.fs.Dir
  * adjust test runner to print the test name when error occurs
  * test runner: refresh display before running test
  * fs.Dir.openDir: use empty object name for "." on Windows
  * darwin: add AT_* bits
  * cleanup
  * add freebsd AT_* bits
  * test runner: restore previous behavior when...
  * fix os.unlinkatW implementation
  * test runner: restore previous behavior of printing all tests passed

  [ Vexu ]
  * remove pub syntax for container fields

  [ Jonathan Marler ]
  * Fix accept function API

  [ Andrew Kelley ]
  * std.os.accept4: improve docs and integrate with evented I/O

  [ Felix Queißner ]
  * Adds documentation for std.fmt.format grammar and customization. (#3474)

  [ Maximilian Hunt ]
  * Add documentation on function parameter type inference.

  [ Andrew Kelley ]
  * integrate stage1 progress display with semantic analysis

  [ emekoi ]
  * explicity linked ntdll on mingw-w64

  [ Andrew Kelley ]
  * main.cpp: fix not ending progress node for zig build
  * implement safety for resuming non-suspended function

  [ Jonathan Marler ]
  * Handle TERM=dumb for stdout/stderr

  [ Andrew Kelley ]
  * move types from builtin to std
  * refAllDecls in a test block to limit when it gets run
  * get rid of std.os.foo.is_the_target

  [ Sebastian Keller ]
  * Added 'writeJson' to write_stream.zig:

  [ Andrew Kelley ]
  * Add missing compile error when ptr used instead of array

  [ Sebastian Keller ]
  * Shortened switch statement

  [ Andrew Kelley ]
  * implement partial C ABI support for aarch64
  * avoid passing -march=native when not supported
  * add Drone Cloud CI configuration
  * disable static build for now until the docker image is ready
  * fix 32-bit build of translate_c.zig
  * ci: drone tests only aarch64 with docker image
  * ci: add s3 secrets to drone config
  * ci: use x86_64 namespaced docker image
  * ci: build docs, fix PR logic
  * os.dup2: handle EBAF
  * disable not working stuff
  * ci: add aarch64 to download page
  * ci: force git name-rev to be 9 on all targets
  * ci: perform git config inside zig git repo dir
  * fix regression in `zig run`

  [ Michael Dusan ]
  * stage1: fix compile error on macOS Xcode 11.2

  [ Andrew Kelley ]
  * ci: enable more passing tests on aarch64-linux

  [ Timon Kruiper ]
  * Translate-c: Fix a segfault when to many errors are emitted

  [ Andrew Kelley ]
  * ci: -Dskip-release for aarch64 to hit 1 hour time limit

  [ Noam Preil ]
  * Don't save/restore stack on newStackCall to noreturn function
  * Don't use SSE on freestanding

  [ Andrew Kelley ]
  * ci: disable test-compare-output on aarch64

  [ Luna ]
  * fix std.os.accept4
  * std: make addr_size parameter be a pointer to socklen_t

  [ xackus ]
  * fix json parser crashing on empty input remove unreachable code

  [ Benoit Giannangeli ]
  * lib/std/target.zig: Added missing 'mem' constant

  [ Andrew Kelley ]
  * std.target: use mem instead of std.mem

  [ Henry Wu ]
  * generated docs: vertically align fns with comments

  [ Sebastian Keller ]
  * Unified public api
  * Added test for 'emitJson'

  [ xackus ]
  * make implicit cast of tagged unions to enums easier to find in docs
  * better test name for empty string
  * rename error and specify it in function

  [ Nathan Michaels ]
  * Add some documentation for standard library things. (#3540)

  [ Andrew Kelley ]
  * synchronize the target features for compiling C code

  [ Timon Kruiper ]
  * Std docs: Fix a js error that would cause some function to be not rendered

  [ Andrew Kelley ]
  * remove dead tls code
  * detect async fn recursion and emit compile error
  * std.net.getAddressList
  * partial no-libc implementation of std.net.getAddressList
  * fix regression in translate-c
  * move libc/linux bits around
  * basic DNS address resolution for linux without libc

  [ Jonathan Marler ]
  * Add tests for ip address formatting

  [ Andrew Kelley ]
  * implement CNAME expansion
  * std.net: port the RFC 3484/6724 destination...

  [ lukechampine ]
  * inline path separator loop

  [ Andrew Kelley ]
  * std lib networking improvements, especially non-blocking I/O
  * rename std.net.Server to TcpServer and simplify it
  * fix regression in behavior tests
  * fix std.net tests and std.net.TcpServer docs

  [ Nathan Michaels ]
  * Document PriorityQueue.

  [ Andrew Kelley ]
  * std.net: enable test for resolving DNS
  * fix regressions
  * fixes for macos and 32 bit arches
  * make std.net more portable
  * canonicalize std.os IPPROTO constants
  * fix os.sockaddr being a union instead of a struct

  [ Henry Wu ]
  * generated docs: move color to box-shadow CSS prop

  [ Tse ]
  * DragonFlyBSD support

  [ Andrew Kelley ]
  * add comments to disabled tests linking to the tracking issue
  * std.net: fix reference to incorrect constant name
  * startup code sets up event loop if I/O mode is declared evented
  * util.cpp: canonicalize the order of includes

  [ Tse ]
  * DragonFlyBSD tidyup

  [ Andrew Kelley ]
  * fix regression in std.os.dirent64 on linux
  * startup code respects root source file's event_loop if present

  [ lukechampine ]
  * crypto: Add AES implementation

  [ Andrew Kelley ]
  * std.os: fix sendto, poll, recvfrom when linking libc

  [ Luna ]
  * add FileNotFound error to os.connect
  * add FileNotFound to os.ConnectError error set

  [ Michael Dusan ]
  * stage1: add linux XDG Base Directory support

  [ Andrew Kelley ]
  * ci: stop assuming that azure will complete last
  * ci: use heredoc and alpine/edge for faster sr.ht job
  * ci: avoid leaking oauth access token
  * ci: hail mary running git.exe in the windows bat file
  * ci: work around pip install permission denied
  * ci: more fixes for update_download_page script

  [ kprotty ]
  * Remove StaticallyInitializedMutex

  [ Andrew Kelley ]
  * ci: workaround PATH apparently not working

  [ LemonBoy ]
  * Fix cmpxchg trying to execute at CT

  [ daurnimator ]
  * std: close is OSX specific
  * std: Add definitions for (deprecated) futimes and utimes C functions

  [ Vexu ]
  * improve ipv6 parsing and formatting
  * support ipv4-mapped ipv6 addresses

  [ Brendan Hansknecht ]
  * Add karatsuba to big ints

  [ Luke Champine ]
  * remove speculative AES TODOs

  [ LemonBoy ]
  * Make the `leb` module available to non-std code
  * Correctly process errors for invalid types in fn call
  * Fix crash in #3483
  * Prevent crash when slicing undefined ptr to slice
  * Fix #3558

  [ Andrew Kelley ]
  * std.os.read can fail with ConnectionResetByPeer

  [ data-man ]
  * Replace AES variables to constants

  [ daurnimator ]
  * std: Add fifo useful for buffers

  [ kprotty ]
  * adaptive SpinLock
  * Move hybrid yielding into its own struct

  [ lukechampine ]
  * crypto: Add support for AES-CTR

  [ Shawn Landden ]
  * remove duplicate isNan implementation
  * fix noreturn function that may return.

  [ LemonBoy ]
  * Mark type fields as CT

  [ Vexu ]
  * add special formatting for ipv4-mapped ipv6 addresses

  [ Andrew Kelley ]
  * runtime load vector element with comptime index
  * comptime load of vector element
  * implement store of vector element with comptime index
  * implement loading vector elements via runtime index
  * implement storing vector elements via runtime index
  * fix initialization of vector in a struct field
  * fix incorrect type name on bit field pointers
  * zig build: addIncludeDir does -I instead of -isystem

  [ kprotty ]
  * make SpinLock.Backoff pub
  * ThreadParker implementation
  * Adaptive Mutex: - uses std.ThreadParker - supports static initialization (deprecates StaticallyInitializedMutex)
  * Disable asm("yield") for arm in SpinLock.yieldCpu() because of CI

  [ Vexu ]
  * fix translate-c arrow deref

  [ Sebastian Keller ]
  * Fixed a leak in the json parser.

  [ Brendan Hansknecht ]
  * add token for parsing pointer dereference

  [ Andrew Kelley ]
  * improve the start code for evented I/O

  [ Vexu ]
  * use global event loop in std.event types
  * fix NodeErrorSetDecl rendering

  [ Sebastian Keller ]
  * std.json.Value: added dumpStream(), utilize WriteStream for dump()

  [ shiimizu ]
  * Add error when too few arguments are provided to std.fmt

  [ kprotty ]
  * skip std.ThreadParker test on single-threaded

  [ Andrew Kelley ]
  * allow type coercion from *[0]T to E![]const T

  [ Nick Erdmann ]
  * std/os/uefi: loading images
  * std/os/uefi: snp, mnp, ip6, and udp6 support
  * std/os/uefi: protocol handling improvements

  [ LemonBoy ]
  * Fix ptrCast of array references to fn
  * Add small tokenizer test case for #3468

  [ Shawn Landden ]
  * correctly use llvm undef in release modes

  [ Vexu ]
  * self hosted compiler: fix zig_llvm.h function signature
  * self hosted compiler: fix internal build info
  * self hosted compiler: remove await async pattern
  * self hosted compiler: replace Promise with Frame and AnyFrame
  * self hosted compiler: update to new std.event
  * self hosted compiler: unify Target and std.Target
  * self hosted compiler: fix calling convention in type.zig
  * self hosted compiler: use enum literals
  * self hosted compiler: small fixes to imports and declarations
  * self hosted compiler: comment out event.fs stuff

  [ kprotty ]
  * lock the mutex on pthread_cond_signal()

  [ Vexu ]
  * make callMainAsync async
  * allow Group to optionally manage function frames' memory
  * self hosted compiler: move functions to util.zigto avoid defining llvm instricts.

  [ Andrew Kelley ]
  * ci: bump ubuntu from 16.04 to 18.04

  [ kprotty ]
  * move SpinLock definitions around
  * remove WaitOnAddress backend in std.ThreadParker
  * fix SpinLock.yield for pull/3626

  [ Vexu ]
  * self hosted compiler: various small fixes

  [ kprotty ]
  * pthread_sched_yield -> sched_yield
  * Use `system` instead of `builtin.link_libc`
  * missing `os` declaration

  [ Andrew Kelley ]
  * ci: add srht oauth token to drone cloud script

  [ kprotty ]
  * handle NtCreateKeyedEvent failure by spinning to ensure correctness
  * cleanup getEventHandle

  [ Andrew Kelley ]
  * fixups and zig fmt
  * introduce `@as` builtin for type coercion
  * update the codebase to use `@as`
  * fix result loc of cast not finding parent
  * more regressions fixed
  * behavior tests passing
  * update more of the std lib to use `@as`
  * initial docs for `@as`
  * passing std lib tests
  * fix regressed tests and update docs to use "type coercion"
  * fix type cast in windows child process code

  [ Luna ]
  * rename IpAddress to Address, add Address.unix
  * replace Address.parse Address.parseIp

  [ dimenus ]
  * missed cast in std/target.zig

  [ Luna ]
  * add Address.parseUnix and Address.format support for AF_UNIX

  [ Sahnvour ]
  * build: initial support for using vcpkg libraries

  [ Luna ]
  * rename TcpServer -> StreamServer
  * make StreamServer.listen family-agnostic

  [ LemonBoy ]
  * Fix initialization of union references

  [ Luna ]
  * miscellaneous fixes
  * use at-as
  * add errors/panics for unsupported OSes

  [ dimenus ]
  * minor fix due to recent directory handling API changes

  [ Luna ]
  * use hasDecl instead of switch on builtin.os
  * replace panic to unreachable
  * add sockaddr_un to os/bits/windows
  * remove builtin.os check in Address.initUnix

  [ Andrew Kelley ]
  * std.ChildProcess.spawn has a consistent error set

  [ xackus ]
  * Unescape JSON strings
  * Fix and document

  [ Felix Queißner ]
  * Fix missing @as cast in std.fmt.formatInt (#3650)

  [ Andrew Kelley ]
  * stop accepting deprecated `use` keyword

  [ xackus ]
  * minor fixes

  [ Andrew Kelley ]
  * stage1 parser code for anon container lit
  * implement anon struct literal syntax
  * add behavior test case for anon union literal
  * add behavior test case for anonymous list literal syntax
  * zig fmt: support anon struct and anon list init syntax
  * fix anon literal used with return result loc

  [ xackus ]
  * json: surrogate pair support
  * Fix bugs in JSON parser
  * Stricter tests for non-streaming parser

  [ Andrew Kelley ]
  * fully anonymous struct literals
  * add test for missing const in slice with nested array type
  * implement fully anonymous list literals
  * update docs for anonymous struct/list literals
  * fix unresolved type making it to codegen
  * fix assertion failure in init_const_undefined

  [ Vexu ]
  * support atomic operations with enums
  * use enum with atomics in std lib

  [ Andrew Kelley ]
  * fix assertion failure in ptrToInt

  [ Vexu ]
  * add @atomicStore builtin
  * use @atomicStore in std lib
  * fix comptime atomicStore and add tests

  [ Andrew Kelley ]
  * fn parameters participate in result location semantics
  * fix anonymous struct literal assigned to variable
  * std.io.getStdOut and related fns no longer can error
  * README: update the short description of what zig is

  [ Vexu ]
  * add compile error for @atomicRmw on enum not being an .Xchg

  [ daurnimator ]
  * std: add windows FILE_DEVICE_ defines
  * std: add windows ioctl transfer types
  * std: add FILE_ANY_ constants for windows
  * std: add CTL_CODE function for windows
  * std: add windows socket constants
  * std: add winsock some definitions
  * std: add DeviceIoControl and GetOverlappedResult for windows
  * std: add WSASocketW for windows

  [ Andrew Kelley ]
  * rework comptime struct value layout, removing 1/2 hacks
  * rework layout of struct type fields

  [ Vexu ]
  * implemented container doc comments in stage 2

  [ LemonBoy ]
  * Update discriminant value also for zero-sized unions

  [ Andrew Kelley ]
  * remove no longer correct comment

  [ daurnimator ]
  * std: add WSAStartup and WSACleanup for windows
  * std: add NtDeviceIoControlFile definition for windows
  * std: add pieces for WSAIoctl on windows

  [ Vexu ]
  * implemented container doc comments in stage 1
  * add container doc comments to generated docs
  * fix containerdoccomment not handled in docgen.zig

  [ daurnimator ]
  * std: fix outdated valgrind module
  * std: use enum literals in valgrind module
  * std: fix use of old syntax in std.valgrind.memcheck
  * std: fix missing @ptrToInt in valgrind.memcheck
  * std: add a couple of tests to valgrind module

  [ Vexu ]
  * properly parse anon literal in array

  [ LemonBoy ]
  * Catch invalid type from peer resolution

  [ daurnimator ]
  * fix bug on empty error union

  [ Andrew Kelley ]
  * add regression test case
  * add regression test case. closes #3007
  * add regression test case. closes #2889
  * add regression test case. closes #2980

  [ daurnimator ]
  * translate-c: add support for MacroQualified definitions

  [ frmdstryr ]
  * Make StreamServer return address of accecpted client

  [ dbandstra ]
  * add `std.math.tau` constant (equivalent to 2 * pi)

  [ Johan Bolmsjö ]
  * std.testing.expectEqual: show differing pointer values

  [ Benjamin Feng ]
  * Use wasm_allocator
  * WASI time_t / timespec
  * WASI clock functions
  * WASI isatty
  * Work around WASI's nonexistent @returnAddress()
  * Add .enable_wasmtime build flag

  [ Andrew Kelley ]
  * remove dead code shebang support from self-hosted tokenizer
  * self-hosted tokenizer handles \r in string literals
  * add std.fs.Dir.openRead
  * improve std.fs.selfExePath and related functions on Windows

  [ Benjamin Feng ]
  * Replace magic numbers with named constants

  [ Andrew Kelley ]
  * std: remove O_LARGEFILE from OS bits when the OS does not define it
  * implement null terminated pointers
  * add null terminated pointers and arrays to self-hosted
  * string literals are now null terminated
  * better error message when null termination does not match
  * update tests, better error messages, update self-hosted tokenizer
  * update docs for null terminated stuff

  [ Timon Kruiper ]
  * Stage1: Add compile error for an empty switch on a integer

  [ Vexu ]
  * add missing error set to ChildProsess.SpawnError
  * improve broken llvm module error message
  * fix missing implicit cast in return instruction
  * add cast to not hit #2561

  [ Andrew Kelley ]
  * update the stage1 implementation to the new proposal

  [ Vexu ]
  * fix casts
  * fix small regressions in std.event

  [ Michael Dusan ]
  * remove UTF BOM

  [ Vexu ]
  * self hosted compiler: small miscellaneous fixes
  * add workaround to child_process.zig
  * re-enable stage2 tests
  * only test stage2 on linux

  [ Andrew Kelley ]
  * structs can have fields with type `var`
  * zig fmt: support sentinel-terminated pointer syntax
  * langref: update for sentinel-terminated types

  [ MCRusher ]
  * Added initCapacity and relevant test
  * Added initCapacity, capacity, and 2 tests.
  * Adds initCapacity() to buffer and arraylist

  [ Andrew Kelley ]
  * all tests passing

  [ Vexu ]
  * self hosted compiler: final small fixes to get it compiling
  * update event.fs to use global event loop
  * uncomment event.fs.watch

  [ schroffl ]
  * Fix FixedSizeFifo buffer type

  [ syscall0 ]
  * Call DllMain entry point if declared

  [ Andrew Kelley ]
  * add type coercion: [:x]T to [*:x]T
  * add test for struct with var field

  [ Sahnvour ]
  * refactored gen_h_file to improve maintainability and output
  * gen-h: add a pass for exported variables
  * gen-h: register the need for stdbool.h and stdint.h when exploring types recursively
  * simple test for exporting variables in static libs
  * export: check variable type
  * removed unnecessary backslashes in windows' libc paths

  [ Andrew Kelley ]
  * fix comptime `@ptrCast` of pointers to arrays
  * add test cases for arbitrary pointer sentinels
  * add compile error for incompatible pointer sentinels

  [ daurnimator ]
  * std: fix unfinished doc-comment in fifo
  * std: move auto_align constant to top of comptime function
  * std: add optimization to fifo if size is power of two
  * std: fix fifo for non-u8 types
  * std: fifo now has 3 modes: Static, Slice and Dynamic
  * std: fifo rename from FixedSizeFifo to LinearFifo
  * std: follow zig standard library convention and have fifo.read number of items
  * std: fix bug in fifo.unget if rewinding doesn't wrap around
  * std: add fifo.writeItem
  * std: fifo.deinit didn't need to take a pointer
  * std: clean up fifo.readableSliceMut
  * std: fix mismatched doc-comment/argument names in fifo.rewind

  [ Andrew Kelley ]
  * fix compile error regressions
  * fix casting `[N:x]T` to `[N]T` memcpying too many bytes
  * update cli test
  * fix compile errors for array sentinels mismatching
  * make std.mem.toSlice use null terminated pointers
  * more sentinel-terminated pointers std lib integration
  * add missing null terminator in windows file path helper function
  * fix freebsd regression

  [ daurnimator ]
  * std: update for linux 5.4

  [ Vexu ]
  * update event.fs.watch

  [ Andrew Kelley ]
  * zig fmt fixes for sentinel-terminated pointers
  * zig fmt
  * ci: --no-mime-magic

  [ Michael Dusan ]
  * rename ConstExprValue → ZigValue
  * unembed ZigValue from IrInstruction
  * const interning for 1-possible-value types
  * stage1: consolodate interning

  [ Andrew Kelley ]
  * rename std.heap.direct_allocator to std.heap.page_allocator
  * move logic to the appropriate layers; add new compile error

  [ Michael Dusan ]
  * stage1: avoid building empty memory_profiling.cpp

  [ Andrew Kelley ]
  * docs: update references to wasm_allocator

  [ Michael Dusan ]
  * stage1: fix bad intern counting

  [ daurnimator ]
  * std: refactor std/debug.zig DwarfInfo operations to be methods

  [ Jonathan S ]
  * Split `std.fs.Dir.openDir` into `openDirList` and `openDirTraverse` to clarify what directories can be iterated. Closes ziglang/zig#3741.
  * Use `O_PATH` where available in `std.fs.Dir.openPathTraverse`.
  * Use a specific access mask in `Dir.openDirListW` instead of a generic one. Untested.
  * Don't pass `FILE_LIST_DIRECTORY` in `openDirTraverseW`.
  * Avoid deprecated cwd-based functions for opening directories, preferring to open explicitly relative to `Dir.cwd()`.
  * Add missing shortening of os.windows.
  * Or in O_DIRECTORY in openDirFlagsC to capture the fact that it is intended for opening directories

  [ Vexu ]
  * fixes and cleanup in self hosted
  * solve recursion in self hosted

  [ Benjamin Feng ]
  * Optimize binary search algorithm

  [ Andrew Kelley ]
  * std.elf: breaking improvements to the API

  [ Vexu ]
  * add missing cast to call result type
  * add missing cast to generic function call result
  * add workaround for #3190
  * fix command functions not being async pointers

  [ syscall0 ]
  * Fix build system crash when compiling windows dll

  [ Andrew Kelley ]
  * add compiler note for bad int coercion

  [ kprotty ]
  * Start on ResetEvent
  * Definition fixups & ResetEvent test cases
  * fix ResetEvent windows bugs
  * replace ThreadParker with ResetEvent + WordLock mutex
  * ResetEvent: get abstime based on std.time
  * remove wait timeout test cases

  [ daurnimator ]
  * std: add alertable argument for windows.WaitForSingleObject
  * std: add WaitForMultipleObjects for windows
  * std: add CreateEvent for windows
  * std: improved windows.DeviceIoControl
  * std: fix windows.GetOverlappedResult
  * std: add windows.closesocket
  * std: add comments for some nt status codes
  * std: fix definition of NtDeviceIoControlFile
  * std: IO_STATUS_BLOCK's status member is an NTSTATUS; add union
  * std: fix WSAIoctl definition
  * std: add windows.USHORT definition
  * std: windows sockaddr constants come from ws2_32
  * std: add more winsock functions
  * std: lie about windows socklen_t signed-ness

  [ Vexu ]
  * add more workarounds

  [ Andrew Kelley ]
  * remove type coercion from array values to references

  [ Felix Queißner ]
  * Implements std.testing.expectEqual for tagged unions. (#3773)

  [ Michael Dusan ]
  * Windows: fix test/standalone/shared_library

  [ Quetzal Bradley ]
  * implement correct buffer wrapping logic in std.event.Channel

  [ Andrew Kelley ]
  * more progress
  * std.math: remove constants that should be expressions
  * docs: this statement was in the wrong section
  * fix return result loc as peer result loc in inferred error set function
  * fix `@bitCast` result coercing to error union by returning
  * fix empty result location for parameters not working
  * fix self-hosted compiler regressions
  * fix windows std lib regressions
  * fix typo in error note for integer casting
  * more test regression fixes

  [ LemonBoy ]
  * linux-i386 support
  * Eat shit and die glibc

  [ Andrew Kelley ]
  * introduce std.fs.Dir.openFile and std.fs.Dir.createFile

  [ LemonBoy ]
  * Implement target_dynamic_linker for mips

  [ Andrew Kelley ]
  * move `std.fs.Dir.cwd` to `std.fs.cwd`

  [ LemonBoy ]
  * Eat shit and die mips

  [ Andrew Kelley ]
  * add missing error code handling on Windows
  * further clarify std.fs function docs
  * free IrAnalyze sometimes
  * inline ConstGlobalRefs into ZigValue
  * sometimes free stuff from Zig IR pass 1
  * this test isn't passing in master branch either
  * add advanced IR debugging support
  * fix assigning to an unwrapped optional field in an inline loop
  * fixes for self-hosted compiler
  * fix regressions in compile error tests
  * fix docs regressions
  * fix regressions on windows
  * fix invalid check for fn_inline property
  * fix crash assigning optional struct with anon literal
  * add some null-termination annotations
  * ci: update sr.ht to use alpine/latest, more reliable

  [ Benjamin Feng ]
  * Brain dump new wasm allocator
  * Initialize memory segments
  * Get stuff vaguely working
  * Work around __heap_base for now

  [ Andrew Kelley ]
  * remove upstream support for Zen hobby OS
  * bring your own OS layer in the std lib
  * add extra LICENSE file for clarification
  * add missing license files

  [ LemonBoy ]
  * Accept comptime-known expression for asm

  [ Benjamin Feng ]
  * Fix bugs

  [ yvt ]
  * Update the docs to use `@as`
  * Update `process_headers.zig` to use `@as`

  [ LemonBoy ]
  * Pick up WinMain with proper CC

  [ Vexu ]
  * move more startup code to std lib
  * correct caching and add test for missing fn name
  * exported main must be pub
  * fix tests

  [ Andrew Kelley ]
  * activate start code when pub main exists
  * WinMainCRTStartup implies defaulting to console subsystem
  * correct startup logic for exporting libc main
  * fix `zig builtin`
  * correct the calling convention of WinMainCRTStartup

  [ Benjamin Feng ]
  * Implement block-based skipping
  * Extract setBits
  * Tighten recycled search
  * Remove redundant alloc

  [ Robin Voetter ]
  * Add std.sort.isSorted
  * Make std.sort.max accept const slices and add tests
  * Make std.sort.min and std.sort.max return ?T
  * Add std.sort.argMax and std.sort.argMin

  [ Vexu ]
  * add docs for function parameters

  [ Andrew Kelley ]
  * add `other` OS and fix regression in build-exe for freestanding
  * std.fmt.ParseUnsignedError is now public

  [ Benjamin Feng ]
  * Rejuggle how offsets are calculated
  * Use raw PackedIo to shave ~150b
  * Strip out an unnecessary memset
  * Fix freeing memory across bounds

  [ Vexu ]
  * fix zig fmt of c pointers
  * use enum literals in render.zig

  [ frmdstryr ]
  * Increase io.BufferedInStream readByte speed by ~75%

  [ Vexu ]
  * fix casts

  [ xackus ]
  * docs: fix assembly example
  * docs: add html lang and minor fixes
  * docs: fix duplicate closing tag generation

  [ Andrew Kelley ]
  * implement `@call`
  * remove `@noInlineCall` from zig

  [ Benjamin Feng ]
  * Switch bitmask to enums
  * Standardize around bigger slices
  * Resolve tests to work with or skip WasmPageAllocator
  * Add WasmPageAllocator tests

  [ Andrew Kelley ]
  * private linkage for unnamed internal constants

  [ LemonBoy ]
  * Fix misinterpretation of sentinel constant value

  [ Andrew Kelley ]
  * add behavioral test case for previous commit
  * remove `@inlineCall` from zig
  * remove `@newStackCall` from zig
  * allow calling with a new stack to regress a bit

  [ Benjamin Feng ]
  * Actually use `const conventional` as the comment indicates

  [ data-man ]
  * getStdOut fixes
  * Crypto benchmark fixes

  [ Andrew Kelley ]
  * add regression test for fixed bug

  [ Benjamin Feng ]
  * Add back comptime check for wasm

  [ Andrew Kelley ]
  * remove compile error for peer result comptime_int and null

  [ Josh Wolfe ]
  * documentation for mutable HashMap KV pointers

  [ LemonBoy ]
  * Fix for @Type not picking up the sentinel value

  [ Andrew Kelley ]
  * implement comptime struct fields
  * add syntax for comptime struct fields
  * zig fmt: support comptime fields

  [ emekoi ]
  * fixed BREAKPOINT macro on mingw

  [ Andrew Kelley ]
  * fix anon struct literal field initialized with fn call

  [ LemonBoy ]
  * Make array types (quasi-)lazy

  [ Andrew Kelley ]
  * tuple detection does not require AST node

  [ Benjamin Feng ]
  * Rewrite WasmPageAllocator tests to be less flaky on environment

  [ Andrew Kelley ]
  * implement tuple concatenation
  * std.fmt.format: tuple parameter instead of var args
  * update self-hosted compiler to new format API
  * windows-specific fixes
  * update formatted printing when linking libc
  * update docs to new fmt API
  * update tests to new format API
  * update docgen to new format API
  * ability to give comptime and non-comptime types to same parameter
  * add regression cases for now-passing tests
  * implement async function call with `@call`
  * remove var args from the language
  * remove no-longer-needed workaround for var args
  * ci: update macos to fresh llvm+clang tarball cache

  [ dbandstra ]
  * print call in build.zig needs to use a tuple argument

  [ xackus ]
  * fix integers parsed as floats

  [ Robin Voetter ]
  * Add typeOf/TypeOf substition in zig fmt
  * Add typeOf/TypeOf render test
  * Remove misplaced dot
  * Fix usage of freed memory in zig fmt
  * Replace typeOf with TypeOf in stage0
  * Replace @typeOf with @TypeOf in all zig source
  * Additional replacements of @typeOf with @TypeOf
  * Rename @typeOf to @TypeOf in the language reference

  [ emekoi ]
  * fixed windows dynamic library loading and added loading for darwin

  [ Andrew Kelley ]
  * improve dynamic library API
  * load dynamic library test: update API usage code
  * fix load dynamic library API when linking libc
  * fix windows dynamic lib loading test

  [ Heppokoyuki ]
  * fix con_in difinition and add EFI_SIMPLE_TEXT_INPUT_PROTOCOL difinition

  [ frmdstryr ]
  * Add hotpath for BufferedOutStream (#3858)

  [ Andrew Kelley ]
  * remove iterator API from std.ArrayList
  * self-hosted: manually parse args

  [ Merlyn Morgan-Graham ]
  * Add mul and div binary operators to self-hosted translate-C
  * Add rem binary operator to self-hosted translate-C
  * Add paren expression statements to self-hosted translate-C
  * Fix access of undefined field when calling ast.Tree.dump
  * Add function parameters to self-hosted translate-C

  [ Christine Dodrill ]
  * lib/std/io: let the bring-your-own OS package handle stdio (#3887)

  [ Vexu ]
  * remove concept of translate mode
  * translate-c-2 add var decl
  * update tests
  * fix dot init parsing
  * translate-c-2 translate apvalue
  * translate-c-2 incompleteArray

  [ Andrew Kelley ]
  * ci: skip non native tests for aarch64

  [ Christine Dodrill ]
  * allow custom OS entrypoint

  [ Andrew Kelley ]
  * un-special-case startup code in the std lib

  [ Jonathan Marler ]
  * Document sentinel type in langref

  [ Andrew Kelley ]
  * update stack traces tests
  * uncomment a now-passing behavior test

  [ Vexu ]
  * translate-c-2 dont eval init expr
  * translate-c-2 typedef
  * revert removal of translate mode in stage 1
  * translate-c-2 record type
  * translate-c-2 array initializer expr
  * translate-c-2 container aliases
  * translate-c-2 avoid collisions with zig keywords
  * add default initializers to all ast.Node base values
  * translate-c-2 implement enums
  * translate-c-2 c tokenizer
  * translate-c-2 macros
  * translate-c-2 macro inline fn
  * translate-c-2 macro cast

  [ LemonBoy ]
  * Make sure the address is aligned for intToPtr ops
  * Generate the fn pointers into the correct address space
  * Use eventfd in ChildProcess on Linux
  * Don't assume TLS storage has a fixed address

  [ Vexu ]
  * translate-c-2 macro functions
  * c tokenizer escape sequences
  * improve extern enum
  * organize tests

  [ Andrew Kelley ]
  * Revert "Use eventfd in ChildProcess on Linux"

  [ Shawn Landden ]
  * std: lessThan and greaterThan between signed and unsigned

  [ Vexu ]
  * translate-c-2 parameter name aliasing

  [ Merlyn Morgan-Graham ]
  * Add comparison and bitwise binary ops in translate-c-2
  * Add bit shift binary ops in translate-c-2
  * Add boolean and, boolean or binary ops in translate-c-2
  * Fix compile errors after rebasing on master (missing switch->else)

  [ LemonBoy ]
  * Revert "Revert "Use eventfd in ChildProcess on Linux""
  * Fix for the error codepath in ChildProcess

  [ Vexu ]
  * translate-c-2 variable aliasing

  [ Lachlan Easton ]
  * Tokenizer: Copy optional tokens prior to being set to null #3737 (#3910)

  [ Andrew Kelley ]
  * allow comparison of any numeric types

  [ Vexu ]
  * translate-c-2 comma operator
  * translate-c-2 wors-case assign
  * translate-c-2 if statements

  [ Andrew Kelley ]
  * add behavior test for vector comparison
  * remove misleading documentation

  [ xackus ]
  * langref table of contents in a separate column on large displays

  [ Henry Wu ]
  * generated docs: log trace instead of error

  [ Andrew Kelley ]
  * use -fsanitize=undefined for C code in safe build modes
  * expose the ability to disable C sanitization

  [ Vexu ]
  * translate-c-2 while loops

  [ LemonBoy ]
  * Fix alignment query on unresolved types

  [ emekoi ]
  * added -- to pass args to zig build commands

  [ Dmitry Atamanov ]
  * Fixes utf8ToUtf16Le (#3923)

  [ Andrew Kelley ]
  * Revert "added -- to pass args to zig build commands"

  [ Vexu ]
  * translate-c-2 break and continue
  * translate-c-2 for loops

  [ Andrew Kelley ]
  * avoid using undefined value

  [ Vexu ]
  * translate-c-2 don't shadow primitive types
  * translate-c-2 floats
  * translate-c-2 conditional operator
  * translate-c-2 switch
  * translate-c-2 fix container type resolution

  [ Raul Leal ]
  * [#3844 + #3767] update std.c and std.os.linux to use null-terminated pointer types (#3900)

  [ Nathan Michaels ]
  * Clarify allowzero's interaction with optional pointers.

  [ LemonBoy ]
  * Make sure the fields array is always non-null

  [ Vexu ]
  * translate-c-2 various fixes to get more tests passing

  [ kprotty ]
  * Spinlock: remove Backoff & improve yielding
  * ResetEvent: simpler interface + fix tests
  * Mutex: fix lock/spin bugs, improve perf slightly & more specialization
  * ResetEvent: use futex on linux when possible
  * SpinLock: loopHint & yield distinction

  [ Vexu ]
  * translate-c-2 character literals and more test fixes
  * translate-c-2 update @kavika13's work to removal of TransResult
  * translate-c-2 fix expression grouping bugs
  * translate-c-2 stmt expr
  * translate-c-2 member access
  * translate-c-2 array access
  * translate-c-2 function calls
  * translate-c-2 fix some casts
  * translate-c-2 unaryexprortypetrait + fixes
  * translate-c-2 unary operators common case
  * translate-c-2 increments worst-case
  * translate-c-2 compound assign
  * translate-c-2 improve macro fn ptr caller
  * translate-c-2 add missing casts
  * translate-c-2 copy parametrs to stack

  [ Nathan Michaels ]
  * Document std.Mutex.

  [ Vexu ]
  * translate-c-2 fix switch range
  * translate-c-2 improve macro escape sequences
  * translate-c-2 final small fixes
  * translate-c-2 fix bugs found translating SDL

  [ Andrew Kelley ]
  * CI: update llvm apt sources to correct ubuntu version

  [ LemonBoy ]
  * Fix comptime evaluation of runtime array access
  * Fix sentinel value of opaque pointers in typeInfo

  [ Vexu ]
  * translate-c-2 fix macro regression

  [ Andrew Kelley ]
  * fix std.mem.addNullByte and implement sentinel slicing
  * sentinel slicing improvements
  * fix safety for sentinel-slicing floats

  [ Nathan Michaels ]
  * Fix wording on deinit.

  [ LemonBoy ]
  * Initial support for static PIE executables

  [ Andrew Kelley ]
  * fix incorrect `@typeInfo` for sentinels
  * zig fmt support for slice sentinel syntax

  [ daurnimator ]
  * std: sigprocmask set is optional

  [ Jethro Nederhof ]
  * freebsd: add missing OS and libc bits

  [ daurnimator ]
  * std: use simpler sigset_t definition
  * std: remove high level linux sigprocmask wrappers
  * std: add tkill and tgkill for linux
  * std: use wrappers from raise() rather than raw syscalls
  * std: use pid_t where appropriate

  [ Vexu ]
  * translate-c-2 various fixes - make non-namespaced enums ints - fix .used compound assignments not being grouped - fix macro calls with casts producing invalid Zig

  [ Andrew Kelley ]
  * report compile errors instead of crashing when frame is invalid

  [ kprotty ]
  * ResetEvent: broadcast by default
  * typo fix

  [ Vexu ]
  * support some atomic operations with floats
  * add zig llvm wrapper for atomicrmw
  * disable test on arm

  [ LemonBoy ]
  * Fix crash in translate-c w/ parameterless fn
  * Fix crash with forward-declared enums

  [ daurnimator ]
  * std: fix unicode encoding of astral plane codepoints to utf16
  * std: add warm up phase to benchmark
  * std: optimise utf8ByteSequenceLength
  * std: simplify utf8ToUtf16Le
  * std: unicode codepoints are 21 bits

  [ MateuszOkulus ]
  * Make it more obvious that ifs are expressions

  [ ForLoveOfCats ]
  * Add missing deferred deinits to `math.big.Int.toString` (mem leak fix)

  [ Vexu ]
  * translate-c-2 macro conditional operator
  * translate-c-2 improve macro errors

  [ daurnimator ]
  * std: sentinel terminated pointers for utf16 apis

  [ Vexu ]
  * use self hosted translate-c for cimports
  * fix translate-c taking ages
  * fix stage2 build
  * translate-c-2 use `intCast` in most places
  * translate-c fix bugs
  * translate-c-2 fix assertion failure rendering do while
  * translate-c-2 bug fixes

  [ frmdstryr ]
  * Add macro ops
  * Cleanup c_tokenizer.zig tests

  [ Vexu ]
  * update c_tokenzier tests to new api
  * translate-c-2 macro comparision ops

  [ data-man ]
  * Fixes #3966

  [ Benoit Giannangeli ]
  * ArrayList: ptrAt function returns pointer to item at given index

  [ Andrew Kelley ]
  * update std/json.zig to latest language changes

  [ Haze Booth ]
  * array literal address of fix

  [ daurnimator ]
  * std: fmt std/json.zig
  * std: meta.TagPayloadType takes the tag type of the union
  * std: use a union(enum) for std.json.Token
  * std: use enum literals in std.json
  * std: track decoded string length in std.json tokenizer
  * std: json.unescapeString doesn't need to take an allocator
  * std: fix typo in comment

  [ lukechampine ]
  * crypto: Add chacha20poly1305
  * chacha20poly1305: verify tag in constant time
  * chacha20poly1305: Return false on short ciphertext
  * chacha: Use error set instead of bool
  * chacha: Fix open docstring
  * Fix segfault by not reassigning to function parameter

  [ LemonBoy ]
  * Fix ptrCast of zero-sized type
  * Resolve more types as needed

  [ Andrew Kelley ]
  * update readme tagline
  * fix comparing comptime_int against undefined literal

  [ LemonBoy ]
  * Don't crash when parsing invalid files

  [ Luna ]
  * add StreamServer.Options.reuse_address
  * os: add setsockopt
  * net: fix Options
  * std.c: add setsockopt
  * move parameters on sockopt functions to c_uint
  * std.c: c_uint -> u32 for sockopt functions
  * std.os: make setsockopt receive a slice as option
  * std.net: fix setsockopt call
  * std.net: use mem.toBytes
  * std.os: update error set for setsockopt

  [ Andrew Kelley ]
  * update setsockopt error set according to POSIX

  [ mogud ]
  * generate header in separate folder

  [ Andrew Kelley ]
  * std.fmt.format: add helpful compile error for non-tuple args

  [ Luna ]
  * os: add memfd_create
  * os: use system for memfd_create
  * c.linux: add memfd_create
  * io.test: close memfd at end of test

  [ Andrew Kelley ]
  * improvements to memfd_create
  * translate-c: add `pub` to failed-to-translate macros
  * translate-c: non-wrapping operator for pointer arithmetic
  * std.os.memfd_create: add error.SystemOutdated
  * translate-c: better mangling strategy
  * translate-c: propagate scope properly in nested assignment

  [ Vexu ]
  * fix segfault in bit shift safety check

  [ Andrew Kelley ]
  * std.mem.compare: breaking API changes
  * translate-c: improve support of integer casting
  * translate-c: prevent name clashing of globals declared after locals
  * translate-c: prevent name clashing of macros declared after locals
  * translate-c: fix regression from previous commit
  * translate-c: avoid producing duplicate macro errors
  * avoid trying to translate microsoft's stdio.h inline functions
  * translate-c: don't export inline functions
  * fix float ops with respect to vectors

  [ Vexu ]
  * translate-c properly handle unused var-args

  [ LemonBoy ]
  * Don't ptrCast a result-location assignment to _
  * Prefer simple ptrCast between opaque types

  [ Vexu ]
  * translate-c fix increment rendering issues
  * translate-c use canonical type in casts

  [ Andrew Kelley ]
  * translate-c tests: print clang compile errors on nonzero exit code

  [ Vexu ]
  * translate-c use `@enumToInt` for global enum values

  [ LemonBoy ]
  * Translate linksection attribute
  * Translate align attribute
  * Implement the callconv() annotation
  * Catch more errors during the type resolution phase
  * Integrate callconv into translate-c-2
  * translate-c tests
  * Implement Thiscall CC
  * Add transform test
  * Use the LLVM C++ API
  * Fix more tests

  [ Andrew Kelley ]
  * fix comptime vector float ops and add test coverage

  [ LemonBoy ]
  * Translate struct/union initializer expressions
  * Trailing comma is respected for builtin calls
  * Fix edge case in C tokenizer

  [ Andrew Kelley ]
  * Revert "Trailing comma is respected for builtin calls"
  * add test harness for "run translated C" tests

  [ Haze Booth ]
  * Remove `translate-c-2` from zig help

  [ LemonBoy ]
  * Revert "Revert "Trailing comma is respected for builtin calls""
  * Better logic for last-param rendering
  * Correct evaluation of optional type alignment

  [ Josh Wolfe ]
  * use @intCast instead of @as for shift rhs

  [ Andrew Kelley ]
  * translate-c supports --cache on

  [ Josh Wolfe ]
  * fix tests

  [ LemonBoy ]
  * Fix edge case in hex-literal translation
  * Fix translation of for loop init

  [ Andrew Kelley ]
  * rework and improve some of the zig build steps

  [ Haze Booth ]
  * remove @TypeOf() hacks for comptime_int/comptime_float

  [ Andrew Kelley ]
  * fix test-stack-traces regression
  * fix test-gen-h and test-compile-errors regression

  [ Vexu ]
  * std-c tokenizer base
  * std-c tokenizer more stuff
  * std-c tokenizer strings, floats and comments
  * std-c finish tokenizer
  * std-c tokenizer keywords
  * std-c tokenizer add tests
  * std-c tokenizer better special case handling
  * std-c tokenizer line continuation, tests and fixes
  * std-c tokenizer string concatenation
  * std-c ast base
  * std-c outline parser
  * std-c parser and ast organization
  * std-c ifstmt compoundstmt and errors
  * std-c type parsing
  * std-c parser DeclSpec
  * std-c parser fndef and static assert
  * std-c tokenizer always add newline token
  * std-c improve error reporting and decl parsing

  [ Andrew Kelley ]
  * add "Improving Translate-C" section to CONTRIBUTING.md

  [ data-man ]
  * Add std.os.getrusage

  [ Andrew Kelley ]
  * std.os.getrusage: add C extern fn and reserved field

  [ Vexu ]
  * std-c parse pointer

  [ LemonBoy ]
  * Better InitListExpr translation

  [ Andrew Kelley ]
  * add test case to cover already-solved bug

  [ LemonBoy ]
  * Better _Bool translation
  * Add run-translated-c test

  [ Vexu ]
  * std-c parser declarator

  [ xackus ]
  * json: implement copy_strings=false

  [ Colin Svingen ]
  * Removes proc_raise from WASI implementation

  [ Andrew Kelley ]
  * remove stdcallcc, extern, nakedcc from stage1; zig fmt rewrites
  * zig fmt and update `extern fn` to `callconv(.C)`
  * fix regression with `@TypeInfo`
  * update translate-c and tests for new extern/callconv syntax
  * fix test suite regressions
  * update docs with regards to callconv
  * remove redundant license file

  [ LemonBoy ]
  * Add more compiler-rt functions for ARM platform

  [ Tadeo Kondrak ]
  * translate-c: use @intToPtr to cast away qualifiers

  [ LemonBoy ]
  * Translate anonymous union/struct
  * Add explanation about weird clang behavior on windows
  * Add run-translated-c test & fix one more edge case

  [ Timon Kruiper ]
  * Add std.mem.zeroes to the standard library

  [ LemonBoy ]
  * Better handling of decayed arrays to pointers
  * Prevent bitCast to enum types

  [ Andrew Kelley ]
  * add test case for already fixed bug

  [ via ]
  * Preserve packed attribute in C translated struct (#4085)

  [ Vexu ]
  * std-c parser typing improvements
  * std-c parser record and enum specifiers

  [ hryx ]
  * json: disallow overlong and out-of-range UTF-8

  [ xackus ]
  * json tests: don't use debug allocator

  [ Vexu ]
  * std-c declaration parsing

  [ Andrew Kelley ]
  * test harness: show annotated case name when translate-c test fails

  [ LemonBoy ]
  * Use the correct calling convention for AEABI intrinsics

  [ emekoi ]
  * added -- to pass args to zig build commands

  [ mogud ]
  * build support list options

  [ LemonBoy ]
  * Fix crash in struct initializer evaluation

  [ Rocknest ]
  * Make markdown parser more safe  (#4105)

  [ Vexu ]
  * std-c parser add options

  [ David Cao ]
  * add --eh-frame-hdr arg for linking
  * add --eh-frame-hdr conditionally

  [ Andrew Kelley ]
  * cleanups related to --eh-frame-hdr

  [ Vexu ]
  * std-c parser declaratorIsFunction and small fixes
  * std-c parser loops

  [ LemonBoy ]
  * Fix crash with unresolved loc
  * More translate-c fixes
  * Cast integer literals to their specified type
  * Use abort() instead of assert()

  [ Nathan Michaels ]
  * Add removeIndex function to PriorityQueue (#4070)

  [ data-man ]
  * Correct @mulAdd's doc

  [ LemonBoy ]
  * Pointer arithmetic affects the alignment factor
  * Pointer alignment fixes for the stdlib
  * Fix calculation of new alignment factor
  * Propagate more failures upwards
  * Correct alignment calculation for runtime addends

  [ daurnimator ]
  * std: fix LoggingAllocator, add simple test

  [ Ryan Liptak ]
  * Fix remaining variadic formatted prints

  [ Rocknest ]
  * Fix C struct with function pointer member and typedefs mistranslated (#4122)

  [ LemonBoy ]
  * New @export() handling

  [ Andrew Kelley ]
  * clean up a TODO in self-hosted

  [ daurnimator ]
  * std: fix off by one error in windows process creation
  * std: avoid an allocation in inner loop

  [ travisstaloch ]
  * Fix translation of signed array indices (#4113)

  [ LemonBoy ]
  * Handle forward-declared functions

  [ xackus ]
  * stage2 parser: fix segfault on extern block

  [ LemonBoy ]
  * Inform the debugger about the effective type sizes
  * Don't special-case `builtin` too much

  [ xackus ]
  * stage2 parser: document undefined and clean up

  [ Vexu ]
  * std-c parse switch

  [ LemonBoy ]
  * Stop dropping errors from clang

  [ Jonathan Marler ]
  * Add WaitForSingleObject function to std.os.windows

  [ LemonBoy ]
  * Fix unsafe cast in translate_c

  [ data-man ]
  * Correct TypeId docs

  [ Michael Dusan ]
  * strip cwd from compile error paths

  [ hryx ]
  * docs: update grammar to remove C strings and add anon literals

  [ LemonBoy ]
  * Propagate errors in for loop bodies

  [ Michael Dusan ]
  * prefer C++ compiler builtins for BREAKPOINT

  [ LemonBoy ]
  * Fix @call being too eager to resolve the fn argument
  * Fix compiler-error regression

  [ Emilio G. Cota ]
  * doc/langref: mention that x is the sentinel in [N:x]T

  [ Andrew Kelley ]
  * add an extra assert
  * fix outdated comment

  [ LemonBoy ]
  * Validate switch range endpoints
  * Allow switching on pointer types

  [ Vexu ]
  * std-c todos and small fixes

  [ Hersh Krishna ]
  * Add clamp function to math module

  [ Shritesh ]
  * [docs] Add libc dependency to sentinel-term ptr example

  [ LemonBoy ]
  * Fix ICE when BoundFn are passed as parameters

  [ Vexu ]
  * fix crash on multiline library name

  [ LemonBoy ]
  * Fix codegen error for some union initializers

  [ Michaël Larouche ]
  * Fix std.child_process.ChildProcess.spawnWindow when looking in PATH environment variable, it applied cwd+app_name instead of just using the app_name

  [ LemonBoy ]
  * Print sentinel value in ir_print
  * Correct dlpi_name field type
  * Make sure @export symbol name is not empty
  * Correct l_name field type
  * Rearrange some builtin functions placement
  * Remove unnecessary logic
  * Fix div builtins to use the correct calling convention
  * Move definition of __aeabi_read_tp
  * Fix test case

  [ Vexu ]
  * implement non-exhaustive enums

  [ Michael Dusan ]
  * stage1: move local native_libc.txt to global

  [ Vexu ]
  * update tests and translate-c

  [ LemonBoy ]
  * Fix off-by-one error (and missing store op)

  [ Vexu ]
  * disallow multiline strings in test and library names
  * require size for non-exhaustive enums
  * add is_exhaustive field to typeinfo
  * small fixes
  * add non-exhaustive enum to langref
  * turn panics into compile errors, require at least 1 field in non-exhaustive enum
  * allow non-exhaustive enums with no fields
  * translate-c default enum tag type to c_int

  [ LemonBoy ]
  * Fix garbled error messages from clang
  * Fix regression in char printing
  * Minor changes to the ARM builtin fns

  [ Andrew Kelley ]
  * remove embedded LLD

  [ Vexu ]
  * implement `@bitSizeOf`
  * add struct field default value to typeinfo

  [ Andrew Kelley ]
  * update clang drivers to llvm 10.x (ac446302c)

  [ Vexu ]
  * correct field count

  [ Michael Dusan ]
  * cmake: support `make` and `make install`

  [ Andrew Kelley ]
  * zig_llvm: update CodeGenFileType usage
  * zig ir.cpp details: remove the mem_slot mechanism
  * fix regression in global const alignment
  * fix regression with var ptrs not being const
  * fix implicit cast regression
  * fix regressions in get_elem_ptr related to undefined
  * fix regression with inferred struct fields
  * fix regressions double implicit casting return ptr
  * relax language requirements regarding else unreachable
  * fix regression with optionals and globals
  * revert one part of ir get_elem_ptr analysis
  * fix failing array test by improving copy_const_val

  [ Michael Dusan ]
  * cmake: fix install lib path message
  * doc: update contributing

  [ Vexu ]
  * improve behavior test

  [ Michael Dusan ]
  * Revert "cmake: support `make` and `make install`"

  [ Michaël Larouche ]
  * Port clzsi2 from compiler_rt, required for using std.fmt.format on some ARM architecture.

  [ Michael Dusan ]
  * cmake: support `make` and `make install`

  [ LemonBoy ]
  * Allow @tagName on enum literals
  * Prevent crash with empty non-exhaustive enum
  * Get rid of some dead logic
  * Fix edge case in tagName handling of unions

  [ daurnimator ]
  * std: use non-exhaustive enums from crc module
  * std: turn EAI_ constants into a non-exhaustive enum

  [ Sebastian ]
  * fixed typo - "path" lead to undeclared identifier

  [ LemonBoy ]
  * Small cleanups
  * Remove useless wrappers around f32/f64 aeabi builtins
  * Nuke some repeated code
  * Minor cleanup
  * Export MSVC builtins inconditionally
  * Nuke some more code
  * Fix some tests broken by the renamed files

  [ Shawn Landden ]
  * rb: just use @include("std")
  * rb: *breaking* make API thread-safe
  * rb: add sort() that re-sorts tree with new compare function

  [ LemonBoy ]
  * Fix wrong error code being returned in enum analisys

  [ Vexu ]
  * std-c redo scoping, do string concatanation in parser

  [ Shawn Landden ]
  * rb: type Tree.sort with SortError

  [ Layne Gustafson ]
  * Create initial target details infrastructure
  * Update term feature deps -> subfeatures
  * Add parseArchTag and fix parseArchSub
  * Fix CPU and feature defs
  * Make targets cmd able to list CPUs and features
  * Fix spacing in main.cpp
  * Switch CPU/features to simple format
  * Remove llvm_name from features
  * Add cpu/feature specification to cmndline
  * Add cpu/feature to cache hash
  * Add build.zig cpu and feature options
  * Filter out non-features
  * Rename subfeatures -> dependencies
  * Add llvm_name to feature defs
  * Add TargetDetails abstraction
  * Add builtin.zig support
  * Add defaut feature support
  * Make sure llvm strings are null-terminated
  * Only enable requested features
  * No allocations for n.t. empty strings
  * Remove features/cpus not in LLVM v9
  * Enable 64bit feature for riscv64
  * Fix sentinel mismatch in llvm strings
  * Pass target details to c compiler
  * Allow target details with no LLVM support
  * Pass target_details to child CodeGens

  [ Andrew Kelley ]
  * progress towards merging
  * figure out zig0/stage1 and scanning for native CPU
  * do the x86 arch
  * some fixes
  * stage1 is building. `zig targets` now self-hosted

  [ daurnimator ]
  * std: fix bug in http.headers where .put captures user-held variable
  * std: allocator interface sets freed memory to undefined

  [ Nathan Michaels ]
  * Handle {s} format for C strings. (#4219)

  [ LemonBoy ]
  * Fix ICE in build addAssemblyFile

  [ Andrew Kelley ]
  * fix std.Target.Arch.parseCpuFeatureSet
  * improve `zig targets`
  * import data from llvm 9
  * aarch64: remove CPU features that are actually just CPUs
  * uncomment all the archs in target.zig
  * Revert "aarch64: remove CPU features that are actually just CPUs"
  * fixups to arch data, support any number of cpu features
  * make zig targets show native cpu name and features
  * add libc and glibcs to self-hosted zig targets
  * add cpus and cpu features to zig targets
  * fix self-hosted compiler regression
  * properly forward baseline target cpu features to llvm
  * target_triple_llvm: emit none instead of unknown
  * these are not real cpu features
  * fix cache of cpu features
  * fix target_triple_zig to emit zig-compatible triples

  [ LemonBoy ]
  * Refactor some code in the debug output
  * Make writeByteNTimes faster and leaner
  * Adjust tests & work around a nasty ICE

  [ Andrew Kelley ]
  * hit a comptime limitation with computing dense sets
  * lazily compute the full cpu features dependencies
  * put hack back in to disable windows native cpu features
  * tests: use an older aarch64 sub-arch
  * enable native CPU feature for windows; disable failing tests
  * don't trust llvm's GetHostCPUName
  * Revert "tests: use an older aarch64 sub-arch"

  [ LemonBoy ]
  * compiler-rt: Port __mulsi3 builtin

  [ Andrew Kelley ]
  * std.Target.CpuFeatures is now a struct with both CPU and feature set
  * fix not respecting sub-arch feature
  * lib/headers: update to clang 10.x C headers
  * fix std.Target.Arch.parseCpuFeatureSet unit test
  * ci: update to llvm 10

  [ LemonBoy ]
  * Fix unsafe cast in translate_c

  [ Andrew Kelley ]
  * aarch64: less feature-full baseline CPU
  * update zig_llvm.h and zig_llvm.cpp to llvm 10

  [ Michael Dusan ]
  * compiler_rt: fix mulsi3 test typo

  [ Andrew Kelley ]
  * use an older arm64 sub-arch for test suite
  * new test case
  * disable f128 compiler_rt tests failing on windows
  * fix incorrect list of sub-arches for aarch64
  * zig_clang: update TypeClass enum

  [ LemonBoy ]
  * More error checking for unresolved TLDs

  [ Andrew Kelley ]
  * zig_clang: update StmtClass to llvm 10
  * zig_clang builds with llvm 10
  * link: update to llvm 10 API
  * update target info to llvm 10

  [ Michael Dusan ]
  * stage1: make sure to create native_libc.txt dir

  [ Tadeo Kondrak ]
  * Don't include stdbool.h for void and unreachable

  [ Feix Weiglhofer ]
  * translate-c: Don't make const parameters mutable. (#4273)

  [ LemonBoy ]
  * Fix parsing of DW_AT_Ranges debug entry
  * Fix handling of DW_LNE_end_sequence

  [ Andrew Kelley ]
  * split IrInstruction into IrInst, IrInstSrc, IrInstGen
  * fix memory profiling
  * fix compilation error
  * fix debug info code not being freestanding compatible
  * fix regression in windows stack traces tty detection

  [ LemonBoy ]
  * Handle S_GPROC32 symbols in PDB files
  * Fix stack-trace address calculation on Windows
  * Unify the two DWARF interpreters

  [ Andrew Kelley ]
  * fix nested bitcast passed as tuple element
  * `@bitCast` result location: fix passing invalid alignment
  * fix triple level result location with bitcast sandwich
  * fix not handling undefined u0 correctly
  * remove invalid use of `allowzero` in std.crypto.murmur
  * fix auto created variables not having correct alignment
  * fix assertion with var debug loc not initialized
  * add missing spill for for loops with pointer elems

  [ Zac ]
  * Update langref.html.in

  [ Andrew Kelley ]
  * fix line, column numbers of compile errors
  * fix 0-bit child type coerced to optional return ptr result location
  * fix compile error regression with struct containing itself
  * fix regression of storing optional with 0-bit payload
  * fix error message column/line number regressions
  * fix result locations not handling undefined correctly
  * fix more compile error test regressions
  * fix build.zig logic for -target-cpu and -target-feature
  * std.sort.insertionSort: remove superfluous block

  [ LemonBoy ]
  * Build compiler_rt/c with optimizations if possible

  [ Benjamin Feng ]
  * Add a spill to while optional

  [ Vexu ]
  * std-c add todos to unfinished parsing functioins

  [ Rocknest ]
  * Add an advanced segfault handler on windows

  [ Benjamin Feng ]
  * Add a spill to while error union
  * Add test cases for suspend in while loops

  [ LemonBoy ]
  * Correct dl_iterate_phdr address
  * translate-c: Handle fn protos wrapped in parenthesis

  [ Andrew Kelley ]
  * fix typo in doc comment

  [ Benjamin Feng ]
  * Move debug.global_allocator to testing.allocator

  [ Rocknest ]
  * Changing stuff and seeing what happens

  [ Benjamin Feng ]
  * Create leak_count_allocator
  * Add explicit free to docs

  [ LemonBoy ]
  * Fix edge case in switch with single else

  [ Valentin Anger ]
  * Add support for code model selection

  [ Rocknest ]
  * Reorganize definitions

  [ Benjamin Feng ]
  * Fix stage1 test

  [ LemonBoy ]
  * Fix comptime float-int comparisons

  [ Rocknest ]
  * Fix off-by-one error

  [ Andrew Kelley ]
  * simplify int/float comparison

  [ Rocknest ]
  * Fix aarch64

  [ Benjamin Feng ]
  * Move FailingAllocator to testing
  * Use defer/panic to better account for test failure
  * Promoted "leak_count_allocator" to the main testing.allocator
  * Patch in arena to cleanup leaks
  * Update docs to reflect new testing.allocator usage
  * Fix errant reference to page_allocator
  * Convert a bunch of page_allocator to testing.allocator
  * Fix BufMap value leak

  [ Andrew Kelley ]
  * update clang driver to release/10.x branch
  * update zig_clang bindings to release/10.x
  * std.Target: add ve arch

  [ Benjamin Feng ]
  * Fix testing.allocator wiring
  * Remove unnecessary allocator from mutex
  * Convert a few more page_allocator

  [ Rocknest ]
  * Remove intCast's

  [ Benjamin Feng ]
  * Add explicit error message for too many frees

  [ Rocknest ]
  * Fix one more edge case

  [ LemonBoy ]
  * Small DWARF fixups

  [ Andrew Kelley ]
  * ci: don't rely on sourcehut's pkg system
  * update target CPUs and features with llvm10's data

  [ Shawn Landden ]
  * rb: fix rb.Node.getLast() that never worked

  [ LemonBoy ]
  * Generate compilable code for array inits
  * Amend some failing test cases

  [ Andrew Kelley ]
  * fix llvm assertion with debug info for vectors
  * fix llvm assertion with debug info for vectors
  * zig fmt behavior tests
  * drop @newStackCall

  [ LemonBoy ]
  * fmt: Refactor the arg fetching code
  * stdlib: Add binary search function

  [ Andrew Kelley ]
  * set llvm cpu features to null for exynosm1,exynosm2
  * fix translate-c regression
  * self-hosted: add missing arch switch prong

  [ meme ]
  * build: Fix missing `dupe` - Strange memory corruption issues occur when allocated memory is passed to the builder and it is `defer`'d and freed - Instead, `dupe` the string as is done in other handlers, this fixes the issue

  [ LemonBoy ]
  * translate-c: Fix translation of fn pointers

  [ daurnimator ]
  * NTSTATUS is a non-exhaustive enum
  * Turn win32 errors into a non-exhaustive enum
  * std: format non-exhaustive enums
  * std: update for linux 5.5 release

  [ LemonBoy ]
  * windows: Add psapi API
  * windows: Add GetCurrentProcess definition
  * fmt: Fix logic to find the argument list closing )
  * fmt: Respect trailing comma for field declarations
  * Run `zig fmt`
  * fmt: Handle declarations in line with the opening brace
  * fmt: Use left brace position instead of the right one
  * windows: Minor changes to psapi prototypes

  [ daurnimator ]
  * Winsock errors can be an enum

  [ Vexu ]
  * use std.c.tokenizer in translate-c

  [ Jay Petacat ]
  * crypto: Add BLAKE3 hashing algorithm

  [ Vexu ]
  * fix regressions

  [ Jay Petacat ]
  * blake3: Convert `*const [n]u8` types to `[n]u8`
  * blake3: Name and const pointer refinements
  * blake3: Replace `&arr` with `arr[0..]` for slice args

  [ frmdstryr ]
  * Add support for dependent packages when using build.zig

  [ LemonBoy ]
  * Don't generate any type info for void return types

  [ Jay Petacat ]
  * blake3: Workaround issue #4373 with named types

  [ Michaël Larouche ]
  * Add InstallRawStep to Zig build system that does a similar job to llvm-objcopy. To use it, do 'exe.installRaw("kernel.bin");' where exe is a LibExeObjStep

  [ LemonBoy ]
  * Change API for binarySearch fn
  * fmt: Fix one more edge case in container formatting

  [ Andrew Kelley ]
  * fix undef clang library symbols when linking self-hosted

  [ nofmal ]
  * Add basic linux termios implementation

  [ Andrew Kelley ]
  * work around LLVM 10 llvm-config giving absolute path to libz.so
  * re-apply: these are not real CPU features

  [ LemonBoy ]
  * std: Fix edge case in isAbsolute fn family

  [ Michael Dusan ]
  * stage1: guard against case-mismatched build types

  [ Vexu ]
  * fix regressions in comments and string prefixes

  [ daurnimator ]
  * std: add Gimli based PRNG to std.rand
  * add gimli to crypto hash benchmark
  * std: add AEAD modes for gimli

  [ Michael Dusan ]
  * stage1: fix cmake regression

  [ Rocknest ]
  * Fix double close in openElfDebugInfo
  * Link the issue in doc comment

  [ Vexu ]
  * translate c type names

  [ LemonBoy ]
  * Fix edge case in cast between fn with varargs
  * std: Make TCSA enum ABI-compliant
  * std: Rename isAbsoluteW to isAbsoluteWindowsW

  [ Andrew Kelley ]
  * std: improve non-libc dynamic library loading
  * std.fmt.format: comptime output parameter
  * ability to run tests in evented I/O mode
  * std: improve non-libc dynamic library loading

  [ LemonBoy ]
  * debug: Improve the frame-walking strategy

  [ Andrew Kelley ]
  * build: fix handling disabling .h file generation
  * more std lib async I/O integration

  [ LemonBoy ]
  * debug: Show a nice error message on SIGBUS
  * std: Add a few tests for mmap/munmap
  * codegen: Use the new frame-pointer fn attributes
  * riscv64: Enable some more tests

  [ Andrew Kelley ]
  * implement os.pipe2 for darwin

  [ pwzk ]
  * Fixing library search path

  [ Andrew Kelley ]
  * add fcntl support on darwin
  * skip self-hosted for now as we work towards async I/O
  * remove workarounds for Windows native CPU features
  * more carefully calculate llvm field indexes

  [ LemonBoy ]
  * linux/i386: Make syscall6 more robust and correct

  [ Andrew Kelley ]
  * fix invalid behavior tests from prev commit
  * fix async function call resolves target fn frame

  [ Jared Miller ]
  * Add wWinMain and wWinMainCRTStartup to fix #4376

  [ Andrew Kelley ]
  * fix regression in docgen
  * std lib typo fixups
  * fix async runtime function call resolves target fn frame
  * properly spill optional payload capture value
  * Revert "properly spill optional payload capture value"
  * solve previous commit a better way
  * solve recursion in std.atomic.Queue.dump
  * std: fix bitrotted evented code

  [ LemonBoy ]
  * compiler_rt: Fix clzsi2 implementation for Thumb1

  [ Andrew Kelley ]
  * fix off-by-one error in std.unicode.utf8ToUtf16LeWithNull
  * fix defer interfering with return value spill
  * fix not checking type of return pointer
  * allow local variable address detection to regress
  * avoid conflict with master branch
  * fix compiler assertion when duplicating fields...

  [ Vexu ]
  * translate-c float fixes

  [ Andrew Kelley ]
  * windows: remove the 'A' versions of psapi functions
  * Revert "windows: remove the 'A' versions of psapi functions"
  * compile error instead of abort for unimplemented `@typeInfo`

  [ LemonBoy ]
  * fmt: Pass the fmt string to the inner formatters

  [ Timon Kruiper ]
  * Add cast between [*c]T and ?[*:0]T on fn parameter

  [ Michael Dusan ]
  * stage1: memory/report overhaul

  [ LemonBoy ]
  * compiler-rt: Export the AEABI builtins when targeting thumb
  * test: Skip the atomic-on-fp test for riscv64
  * riscv: Remove 'relax' from the baseline cpu features
  * ir: Fix erroneous error message for ptr casts

  [ vegecode ]
  * Correct comment to include comptime attribute on format output fn parameter

  [ LemonBoy ]
  * Fix a UAF when verbose-llvm-ir is specified
  * Fix rendering of empty arrays

  [ Michael Dusan ]
  * stage1: limit cmake checks on build type

  [ Benjamin Feng ]
  * Switch a bunch of FBA to use testing.allocator
  * Convert a lot of json tests to use testing.allocator

  [ data-man ]
  * Vector comparison in meta and testing

  [ LemonBoy ]
  * ir: Allow implicit conversion between vector types
  * Minor changes for a test case

  [ Vexu ]
  * fix c tokenizer bug

  [ data-man ]
  * fmt: vector formatting

  [ Andrew Kelley ]
  * annotate skipped test with issue link

  [ LemonBoy ]
  * ir: Don't crash when converting undefined ptrs

  [ Felix (xq) Queißner ]
  * Makes ArenaAllocator.deinit() not require a mutable reference.

  [ Andrew Kelley ]
  * cmake: remove case mismatch detection on build mode

  [ daurnimator ]
  * std: bigint.deinit() shouldn't need a mutable pointer
  * std: increase memory available to testing allocator
  * std: use testing.allocator in big int tests
  * std: use testing.allocator in tests

  [ LemonBoy ]
  * ir: Make all the payload captures do a copy

  [ xackus ]
  * modernize std.meta

  [ Vexu ]
  * translate-c improve macro cast translation

  [ LemonBoy ]
  * test: Add test cases for the new capture behavior

  [ Andrew Kelley ]
  * update clang C headers to 10.0.0rc2
  * update libcxx to llvm10.0.0rc2
  * update libunwind to llvm10.0.0rc2
  * update clang drivers to llvm10.0.0rc2
  * enable passing freebsd tests

  [ Vexu ]
  * fix c tokenizer bug

  [ Michael Dusan ]
  * translate-c: change OutOfMemory → ASTUnitFailure

  [ Andrew Kelley ]
  * fix taking address of temporary async frame
  * zig fmt: support `noasync await`
  * Implement noasync awaits
  * more user-friendly error message for some clang diagnostics
  * self-hosted libc detection

  [ LemonBoy ]
  * ir: Prevent crash when indexing undefined ptr to array
  * std: Remove now-superflous hack
  * ir: Avoid invalidating the decl_table iterator

  [ Andrew Kelley ]
  * implement os.faccessat for Windows
  * fix building zig0 -> zig on macos
  * remove libc dependency of zig0 building libstage2
  * add the dummy libc paths back in
  * rename libuserland to libstage2
  * add missing implementations of libc installation to detect msvc paths
  * stage1: don't copy unchanged output files
  * stage1 os: handle errors from read/write
  * fix os_update_file implementation on Windows
  * stage1 os_update_file additionally compares src and dest size
  * enable behavior and std lib tests for RISC-V 64-bit
  * expand argv[0] when spawning system C compiler
  * fix backwards warning of `zig libc`
  * self-host dynamic linker detection
  * support the concept of a target not having a dynamic linker
  * fix dynamic linker detection on windows (where there isn't one)
  * target requiring PIC does not imply dynamic linking
  * fix glibc not forcing dynamic link
  * fix ABI mismatch of ZigTarget in stage2 glue code
  * update dl_iterate_phdr test case to new API
  * smarter detectNativeDynamicLinker logic
  * target_os_requires_libc implies dynamic linking
  * stage2: fix invalid iteration code in std.ast.Node.Asm

  [ Timon Kruiper ]
  * Makes the declaration slice resolve lazely when using `@typeInfo`

  [ Andrew Kelley ]
  * add behavior test for previous commit
  * fix std.meta.refAllDecls

  [ daurnimator ]
  * std: use LinearFifo to implement io.BufferedInStreamCustom
  * std: use LinearFifo to implement io.PeekStream
  * std: let PeekStream have static/dynamic variants
  * std: use LinearFifo to implement io.BufferedOutStreamCustom

  [ Andrew Kelley ]
  * avoid a `@ptrCast` with an array literal

  [ LemonBoy ]
  * zig fmt: Fix callconv rewriting for extern + string
  * stage1: Make the parser reject extern fn with body
  * docs: Fix wrong extern fn definition

  [ Andrew Kelley ]
  * update new test case to take into account lazy `@typeInfo`

  [ Noam Preil ]
  * Improve support for generating LLVM IR/asm files
  * Disable binary generation when deprecated `--emit` is used
  * Rename produce_* bools to emit_* to match CLI

  [ Andrew Kelley ]
  * improvements which allow zig to emit multiple things at once
  * consistent capitalization of error message
  * make the CLI support depending on system headers and libraries

  [ daurnimator ]
  * std: add json.stringify to encode arbitrary values to JSON
  * std: add json.parse to automatically decode json into a struct
  * std: tagged unions are broken on arm64

  [ Bas ]
  * Add an appendValues method to ArrayList to append a value n times. (#4460)

  [ Andrew Kelley ]
  * clean up arm CPU features
  * arm: clean up the messy sub-architecture & CPU features
  * remove the concept of "sub-architecture"
  * this is not the proper way to support this feature
  * fix unit test for Target.parse
  * stage1 main: fix cli parsing of architecture
  * fix generation of builtin import
  * update tls in std lib for lack of sub-arch

  [ Michael Dusan ]
  * stage1/ir_print: show GenConst in trailing fahsion

  [ LemonBoy ]
  * ir: Compile error on result_loc type mismatch w/ slicing
  * std: Handle NO_MEDIA_IN_DEVICE error in openFileWindows

  [ Andrew Kelley ]
  * Revert "arm: clean up the messy sub-architecture & CPU features"
  * NO_MEDIA_IN_DEVICE => return error.NoDevice

  [ LemonBoy ]
  * debug: Split the DWARF stuff in its own file
  * tmp
  * win
  * wide
  * windows widestring
  * osx
  * elvis entered the building
  * less hideous
  * sudoku
  * Correctly count all the loaded modules on Windows
  * tidy interface, const correctness
  * soldier on

  [ Andrew Kelley ]
  * arm: clarify which CPU features are sub-architectures
  * remove std.io.readLine
  * quick fix: add -mcpu=baseline support to zig0
  * support -mcpu=baseline, both in stage1 and stage2
  * fix zig build, ABI ABI, and update tests to new Target layout

  [ Michael Dusan ]
  * stage1: free more heap after analysis

  [ Andrew Kelley ]
  * fix not initializing some ZigTarget fields
  * fix zig build adding invalid cli args

  [ LemonBoy ]
  * unsure

  [ Andrew Kelley ]
  * fix std.Target unit tests
  * remove sub-arch from stage1
  * update ARM cpu models to correctly include the sub-arch
  * std.Target.parse gives parsing diagnostics

  [ xackus ]
  * implement bytesAsSlice, sliceAsBytes
  * remove @bytesToSlice, @sliceToBytes from std lib

  [ Andrew Kelley ]
  * annotate TODO comment with bug tracker link
  * remove the allocator from std.event.Loop
  * add regression test for already fixed bug
  * fix regression in standardTargetOptions
  * fix regression in detecting native glibc version

  [ LemonBoy ]
  * unification: osx debug info
  * unification: windows debug info
  * delete extra code, more forgiveness

  [ Andrew Kelley ]
  * std.os.execvpeZ_expandArg0: fix not restoring argv[0]
  * update std lib to integrate with libc for environ
  * improve handling of environment variables on Windows
  * std.process: fix typo
  * remove no-longer-valid defer

  [ frmdstryr ]
  * Format decmial 0.0 with no precision as just 0

  [ xackus ]
  * remove @bytesToSlice, @sliceToBytes from tests, docs
  * nuke @bytesToSlice, @sliceToBytes in stage1

  [ LemonBoy ]
  * correct test expectations

  [ Heide Onas Auri ]
  * std.time.Timer.lap: only read system time once (#4533)

  [ J.W ]
  * hashing algorithms: fix logic and index out of bounds

  [ Bas van den Berg ]
  * implement zeroes for non extern structs and native types
  * vectors do not support iterating, do not support them (for now)

  [ Vexu ]
  * remove usages of `@typeId`, `@memberCount`, `@memberName` and `@memberType`

  [ Bas van den Berg ]
  * Processed review comments. Updated documentation, used the typinfo for field access, generate compile error on allowzero and set C poitners to null

  [ Vexu ]
  * remove `@typeId`, `@memberCount`, `@memberName` and `@memberType` from the compiler
  * remove uses of `@ArgType` and `@IntType`
  * remove `@IntType` and `@ArgType` (mostly) from the compiler

  [ Andrew Kelley ]
  * expose --verbose-llvm-cpu-features to zig build

  [ vegecode ]
  * Add formatted printing directly into std.Buffer

  [ Andrew Kelley ]
  * clean up std.Buffer.print

  [ LemonBoy ]
  * ir: Fix sizeOf comparison with ptr to zst
  * ir: Fix sizeOf comparison with ptr to zst
  * ir: Various fixes for comptime ptr handling
  * ir: Fix array to slice conversion for zero-sized arrays

  [ Andrew Kelley ]
  * Revert "ir: Fix sizeOf comparison with ptr to zst"
  * add test case to catch regression from previous commit
  * fix typo in previous commit

  [ LemonBoy ]
  * ir: Fix regression with self-referencing containers

  [ Vexu ]
  * fix `@tagName` on extern and non-exhaustive enums
  * fix `@intToEnum` on extern enums
  * add test for `@intToEnum`

  [ Andrew Kelley ]
  * call deinit on the hashmaps introduced in the prev commit
  * update test expectations
  * arm baseline CPU is v7a rather than v6m
  * fix behavior tests with --test-evented-io

  [ LemonBoy ]
  * ir: Allow empty inferred error sets
  * debug: Fix end-of-stream condition in DWARF parser
  * ir: Robust checking for init expr type

  [ Andrew Kelley ]
  * fix exported variable not respecting linkage

  [ Alexandros Naskos ]
  * Fixed tuple concatenation with runtime and comptime values.
  * More fixes, removed debug prints
  * Added test
  * Removed unused variable

  [ Michael Dusan ]
  * stage1: housekeeping

  [ Andrew Kelley ]
  * restructuring std.Target for OS version ranges, pass 1
  * introduce operating system version ranges as part of the target
  * stage1: remove get_self_libc_path
  * update std lib to new Target API
  * separate std.Target and std.zig.CrossTarget
  * improve debug info for optionals
  * fix target parsing
  * fix standardTargetOptions and improve init-exe to use it
  * improve the "external executor" detection logic
  * fix not setting the dynamic linker path when cross compiling
  * clean up CrossTarget.getExternalExecutor
  * mips: implement Target.getStandardDynamicLinkerPath
  * fix incorrect builtin import code for windows
  * fix builder.findProgram test
  * fix __stack_chk_guard emitted even when not linking libc
  * compiler-rt: inline at call site to workaround a bug
  * WASI has no dynamic linker
  * update tests to new Target API
  * update docgen to new Target API
  * don't error out for targets with unknown standard dynamic linker path
  * update docs to latest Target API
  * getStandardDynamicLinkerPath renamed and no allocator
  * std.zig.system.NativeTargetInfo.detect: almost no Allocator
  * complete the native target detection based on /usr/bin/env
  * stage1: make get_native_target go through self-hosted
  * remove special darwin os version min handling
  * implement native OS version detection for linux
  * dynamic_linker becomes a field of std.zig.CrossTarget
  * fix compiler crash when comptime parsing targets
  * fix crash with multiple comptime fn calls and...
  * fix typo from other commit
  * improve std.zig.system.NativeTargetInfo.detect
  * fix handling of CrossTarget.cpu_model
  * CrossTarget.cpu_model: communicate intent precisely
  * don't choose native ld path when os is non native
  * update test to newer API
  * fix CrossTarget.isNative, setGnuLibCVersion, zigTriple
  * std.Target.Os.WindowsVersion: non-exhaustive enum
  * fix crash when building docgen

  [ Alexandros Naskos ]
  * C pointer slices are no longer allowzero (#4462)

  [ Andrew Kelley ]
  * std.Target.standardDynamicLinkerPath: delete bad doc comment

  [ LemonBoy ]
  * target: Implement OS version detection for Windows

  [ daurnimator ]
  * Fill out PEB definition

  [ LemonBoy ]
  * Address review comments

  [ daurnimator ]
  * Complete windows PEB_LDR_DATA definition

  [ Andrew Kelley ]
  * add CrossTarget.getObjectFormat

  [ LemonBoy ]
  * Change how the build-id is checked
  * target: Implement OS version detection for OSX
  * Use .len instead of @sizeOf
  * Handle one more error

  [ Andrew Kelley ]
  * refactor std.zig.system.NativeTargetInfo functions
  * std.Thread.cpuCount on Windows uses the PEB
  * use an explicit error set to fix a compilation error
  * fix native OS version detection on macOS
  * stage1: fix compilation on 32-bit arm

  [ daurnimator ]
  * std: format contents of sentinel terminated many pointers

  [ Andrew Kelley ]
  * revert changes outside std.fmt
  * add new functions to std.mem and deprecate others
  * breaking: std.mem.len no longer takes a type argument

  [ xackus ]
  * short std.builtin enum literals in std lib

  [ Alexandros Naskos ]
  * Removed unused variable
  * Allow wrapping in VDSO lookup

  [ Terin Stock ]
  * std: implement sendfile on linux

  [ Andrew Kelley ]
  * breaking: std.os read/write functions + sendfile
  * fix macosx and freebsd build failures

  [ Ryan Liptak ]
  * Fix std.os.unlinkatW for absolute paths

  [ Andrew Kelley ]
  * more macos fixes

  [ Alexandros Naskos ]
  * Added comment justifying wrapping operations

  [ Andrew Kelley ]
  * Revert "work around LLVM 10 llvm-config giving absolute path to libz.so"
  * enable f128 test on windows
  * disable sendfile test on mips

  [ LemonBoy ]
  * linux: Correct pread64 syscall for ARM/MIPS

  [ Andrew Kelley ]
  * remove superfluous comptime keyword

  [ daurnimator ]
  * std: add mkdirat
  * std: add fs.Dir.makeDir
  * std: add Dir.changeDir as wrapper around fchdir
  * std: add os.fstatat
  * std: fix fs.makePath
  * std: move null byte check into toPosixPath
  * std: move makePath to be a Dir method
  * Update callers of fs.makePath

  [ Andrew Kelley ]
  * breaking changes to std.fs, std.os
  * update cli test to new std.fs API
  * update docgen to new std.fs API
  * Darwin can return EBADF for sendfile on non-files
  * std.zig.CrossTarget: fix compile errors
  * put FreeBSD CI in timeout for misbehavior
  * docs: remove reference to deprecated builtins
  * update process_headers tool to latest zig
  * update glibc headers to 2.31
  * update update_glibc tool to latest zig
  * zig build: update InstallRawStep to new std.fs API
  * update glibc abilists for 2.31
  * update self-hosted `zig targets` to print correct glibc availability

  [ Timon Kruiper ]
  * Fix docs generation

  [ pfg ]
  * Generated documentation mobile support

  [ Andrew Kelley ]
  * update glibc source files to 2.31
  * zig is now aware of DragonflyBSD versions
  * get_codegen_ptr_type returns possible error

  [ LemonBoy ]
  * ir: Implement @TypeOf with multiple arguments
  * std: Use @TypeOf(x,y) as return value for max
  * ir: Adapt ir_print for the new @TypeOf format

  [ Andrew Kelley ]
  * `@TypeOf` avoids heap allocation for only 1 parameter
  * update docs for `@TypeOf`

  [ daurnimator ]
  * std: use testing.expectEqualSlices from tests
  * std: fix formatting of i1 integers
  * std: fix math.absCast on i1
  * std: use testing.expectEqual in math.absCast tests

  [ Vexu ]
  * translate-c macro comma operator
  * translate-c correct assumption about macros
  * translate-c demote struct to opaque if unable to translate type

  [ Michael Dusan ]
  * stage1: housekeeping

  [ Andrew Kelley ]
  * update mingw-w64 headers to v7.0.0
  * update mingw-w64 source files to v7.0.0
  * reapply mingw-w64 header patches

  [ Alexandros Naskos ]
  * Allow constant struct val to reallocate its fields when resolving an inferred struct field with a comptime value.

  [ Michael Dusan ]
  * std: format enum-literals

  [ Michaël Larouche ]
  * Fix crash when freeing empty string as null-terminated sentinel

  [ Andrew Kelley ]
  * Revert "Allow constant struct val to reallocate its fields when resolving an inferred struct field with a comptime value."

  [ Michael Dusan ]
  * srht: workaround FreeBSD fiasco
  * stage1: fix regression
  * std: fix sendfile on macOS and FreeBSD

  [ Andrew Kelley ]
  * Revert "put FreeBSD CI in timeout for misbehavior"

  [ Vexu ]
  * translate-c: default initialize non-extern variables to undefined

  [ LemonBoy ]
  * std: Nicer way to access the PEB
  * std: Work around unexported NtCurrentTeb

  [ Andrew Kelley ]
  * ir: remove pointless and misleading code in `@embedFile`
  * fix `@embedFile` docs
  * ?HMODULE instead of HMODULE

  [ Vexu ]
  * translate-c more macro ops

  [ Andrew Kelley ]
  * stage1: make get_optional_type more robust

  [ daurnimator ]
  * std: add .startsWith and .endsWith to std.ArrayList
  * std: add ArrayList.eql for parity with std.Buffer
  * std: use ArrayList rather than Buffer for in_stream helper functions
  * Use in_stream.readAllAlloc where sensible
  * Fix bug where stdout was checked instead of stderr
  * std: use ArrayList instead of Buffer from std/process.zig
  * Remove unused std.Buffer imports
  * std: use std.ArrayList instead of std.Buffer in std/fmt.zig tests

  [ Andrew Kelley ]
  * fixups & make some API decisions

  [ alichay ]
  * Added self-hosted x86 CPU detection.
  * Cleaned up CPU detection and fixed incorrect detection bits.

  [ Andrew Kelley ]
  * cleanup CPU model & feature detection
  * simplify the inline assembly
  * fix detectNativeCpuAndFeatures including foreign asm

  [ Lachlan Easton ]
  * Translate C: Group generated casts

  [ Vexu ]
  * translate-c remove redundant grouping, fix nested loops without blocks.

  [ Michael Dusan ]
  * stage1: fix compile error on macOS Xcode 11.4

  [ Andrew Kelley ]
  * fix std.fs.makeDirAbsolute

  [ LemonBoy ]
  * std: Fix version detection on x86

  [ Andrew Kelley ]
  * add std.event.Loop pread and faccessat
  * add missing errors to std.os.windows.CreateDirectoryError

  [ Jared Miller ]
  * Implement UTF-8 to UTF-16LE literal conversion

  [ Andrew Kelley ]
  * Revert "translate-c remove redundant grouping, fix nested loops without blocks."
  * Revert "Translate C: Group generated casts"

  [ daurnimator ]
  * Fix grammar in error message
  * Strip trailing whitespace from src/ir.cpp

  [ Vexu ]
  * translate-c fix nested loops without blocks.
  * translate-c reject structs with VLAs

  [ LemonBoy ]
  * std: One more cpuid fix

  [ xackus ]
  * fix failed assert on generic fn opaque return type

  [ LeRoyce Pearson ]
  * Expose file inode (linux) and file index (windows)
  * Add documentation about Stat.inode

  [ LemonBoy ]
  * ir: Prevent crash in compiler error
  * ir: Create usize result_loc for array subscript expr

  [ LeRoyce Pearson ]
  * Define ino_t for systems not yet defining it
  * Use os.ino_t for everything

  [ Lachlan Easton ]
  * Translate C: Add comment containing c source location for failed decls

  [ Vexu ]
  * update parsers to new noasync syntax
  * implement noasync scopes
  * disallow resume and suspend in noasync scopes
  * add LemonBoy's test

  [ Ryan Liptak ]
  * Windows: Fix std.fs.realpath/os.realpathW for directories

  [ daurnimator ]
  * std: add some definitions for netlink sockets

  [ LemonBoy ]
  * ir: Fix lazy comparison between @alignOf and zero

  [ Andrew Kelley ]
  * lazy_cmp_zero only resolves type is zero bits for alignof

  [ xackus ]
  * better error messages and more tests

  [ LemonBoy ]
  * ir: Fix codegen of ?*T types where T is zero-sized

  [ Vexu ]
  * translate-c add daurnimator's pointer check to macro cast
  * properly mangle shadowed primitive types
  * translate-c support struct field alignment

  [ LemonBoy ]
  * std: Fix detection of Linux kernel version

  [ Jonathan Marler ]
  * add allocSentinel function

  [ Vexu ]
  * fix zig fmt on noasync block

  [ Andrew Kelley ]
  * (breaking) rework stream abstractions

  [ LemonBoy ]
  * ir: Implement more safety checks for shl/shr

  [ Andrew Kelley ]
  * (breaking) improve and simplify fixed buffer streams API

  [ Vexu ]
  * support atomic operations with bools
  * use atomic bools in std lib

  [ LemonBoy ]
  * ir: Fix shift code for u0 operands

  [ Michael Dusan ]
  * std: simplify format enum-literals

  [ Andrew Kelley ]
  * update standard library to new I/O streams API

  [ LemonBoy ]
  * std: Fix broken tests

  [ Andrew Kelley ]
  * fix regressions caused earlier in this branch
  * fix stack trace code not opening files in forced blocking mode
  * fix regressions found by test suite
  * fix stage2 lib on windows
  * fix std.ChildProcess on Windows
  * rework some old ELF parsing code and start to fix emitRaw

  [ Vexu ]
  * support non power of two integers in atomic ops
  * special case atomic operations on zero bit types
  * support cmpxchg at comptime
  * fix codegen, update docs
  * Move abi size checking to codegen

  [ Heppokoyuki ]
  * add file protocols
  * refactor

  [ Andrew Kelley ]
  * fix footguns in File readAll functions
  * fix compilation errors for emitRaw
  * add std.io.StreamSource and fixes to emitRaw
  * FixedBufferStream: match file semantics more by clamping pos
  * fix regressions in elf parsing code
  * windows: detect HANDLE_EOF in ReadFile
  * fix stray warn() in runtime safety test

  [ Michael Dusan ]
  * parse CPU features when --target is null
  * update/apply CPU features when -mcpu native
  * fix zig-cache to treat cpu-features as raw-bytes

  [ Heppokoyuki ]
  * fix bug

  [ Andrew Kelley ]
  * fix `zig targets` not reporting native info

  [ LemonBoy ]
  * std: Fix pwrite invocation on 32bit architectures
  * std: Add setEndPos to fs.file

  [ Vexu ]
  * translate-c treat c bools as ints

  [ Benjamin Feng ]
  * Copy fmtstream
  * Blind translation
  * Get formatIntBuf working
  * Re-enable testFmt
  * Re-enable a bunch of tests
  * Apply explicit error type
  * Add back max_depth test

  [ Vexu ]
  * support `@atomicRmw` at comptime
  * translate-c fix order of tokens

  [ Benjamin Feng ]
  * Fixup allocPrint
  * Force error coercion of custom formatters
  * Integrated outstreams with new formatter

  [ Vexu ]
  * disable test on mipsel

  [ Andrew Kelley ]
  * ci: remove workaround for FreeBSD upstream bug

  [ Benjamin Feng ]
  * Convert builtin to fmtstream
  * Convert JSON to fmtstream
  * Convert Buffer to use fmtstream
  * Convert translate-c to fmtstream
  * Convert fmt.bufPrint / fmt.allocPrint
  * Handle potential downcast when translating stream size
  * Slap in workaround for Fifo
  * Migrate last vestiges of fmt
  * Replace fmt with new fmtstream

  [ daurnimator ]
  * Remove unused static_crt_dir field from libc config

  [ LemonBoy ]
  * Address review comments

  [ Vexu ]
  * Simplify stores, use sext for signed ints

  [ Andrew Kelley ]
  * update musl headers to v1.2.0

  [ Vexu ]
  * add note to disabled tests, improve comptime cmpxchg

  [ Andrew Kelley ]
  * update musl src files to v1.2.0
  * stage1: update musl libc building code for v1.2.0

  [ Nick Erdmann ]
  * std/os/uefi: boot services and runtime services improvements
  * std/os/uefi: require guid output function be comptime
  * std/os/uefi: loaded image protocol improvements
  * std/os/uefi: Add shell parameters protocol
  * std/os/uefi: device path protocol improvements
  * std/os/uefi: status reform
  * std/os/uefi: file protocol improvements

  [ LemonBoy ]
  * Add NtDll-based ftruncate implementation

  [ Andrew Kelley ]
  * fix all the TODOs from the pull request

  [ LemonBoy ]
  * std: Multithreaded-aware panic handler
  * Nicer idle wait loop
  * Even better idle waiting method

  [ Noam Preil ]
  * Fix compilation with `--no-emit-bin`

  [ Andrew Kelley ]
  * update stack traces test expectations
  * zig build system: correctly handle multiple output artifacts
  * special case when doing build-obj with just one source file
  * fix docgen, which relied on stdout being path to binary
  * fix mismatch between expected and actual output name

  [ LeRoyce Pearson ]
  * Add `lock` to fs.File.OpenFlags
  * Add fnctlFlock system call, use it to lock files
  * Implement blocking file locking API for windows
  * Define Flock for all posix systems
  * Add flock command paramter to `os.fcntlFlock`
  * Add `lock` option to CreateFlags
  * Add test to check that locking works
  * Add note about mandatory locks on linux
  * Call `std.os.waitpid` instead of `std.os.linux.waitpid`
  * Add multiple read lock test
  * Make lock tests more flexible

  [ Andrew Kelley ]
  * for build-obj with only 1 C file, name .o file after root_out_name

  [ LeRoyce Pearson ]
  * Extract `run_lock_file_test`

  [ Vexu ]
  * remove .Cancel correct merge err set parsing
  * use anon literals in ast.zig and parse.zig

  [ LeRoyce Pearson ]
  * Fix compile error on windows
  * Skip file lock test in single threaded mode

  [ momumi ]
  * allow `_` separators in number literals (stage 1)
  * make parsing `0.0_e1` an error
  * add more test cases for invalid number literals
  * fix Serializer to work with new OutStream API

  [ Andrew Kelley ]
  * renameatW: handle more windows nt status codes
  * fix std.mem.span handling of sentinel-terminated arrays
  * fix std.os.renameatW
  * fix typo in new mem.len test
  * adjust renameatW to always supply dest root dir

  [ LemonBoy ]
  * build: Expose function-sections switch

  [ Timon Kruiper ]
  * Change the default stdin behavior of RunStep to .Inherit

  [ LeRoyce Pearson ]
  * Change fcntl params to ?*c_void

  [ Jonathan Marler ]
  * fix a couple sockfds to be fd_t rather than i32

  [ LeRoyce Pearson ]
  * Make `fcntlFlock` follow conventions of `os.zig`
  * Match netbsd's flock fields with others
  * Remove `fcntlFlock` and replace with plain `fcntl`

  [ Andrew Kelley ]
  * clean up some self-hosted bitrot + don't assume libstdc++

  [ LemonBoy ]
  * std: More type checks for Thread startFn return type
  * ir: Correct ABI size calculation for arrays

  [ Andrew Kelley ]
  * array sentinel does not count towards type_has_one_possible_value

  [ LemonBoy ]
  * zig fmt: Respect trailing commas in error set declarations
  * std: Introduce fnctl wrapper
  * std: Safety check for iterate()
  * build: Fix silly bug in directory traversal

  [ Andrew Kelley ]
  * (breaking) clarify openDir API
  * fix swapped logic for Windows

  [ LemonBoy ]
  * ir: More changes to sentinel-terminated const arrays

  [ Andrew Kelley ]
  * slicing with comptime start and end results in array
  * fixes in semantic analysis needed to support this feature
  * fix slice of string literal having the wrong type
  * `@ptrCast` supports casting a slice to pointer
  * improve std lib code for the new semantics
  * fix alignment when slicing with comptime start and end index
  * fix regression when slicing 0-bit pointers
  * fix runtime slice of pointer not setting length
  * 0-bit array type does not resolve child type
  * when result loc is a slice, avoid evaluating lazy start..end
  * partial revert of an improvement this branch made
  * fixes to std.meta
  * std lib fixups for new semantics
  * test & docs fixups to work with new semantics
  * slicing sentinel-terminated slice without end
  * add behavior tests for slicing with comptime indexes
  * fix incorrect sentinel check
  * (breaking) std.fs.copyFile now integrates with Dir
  * update std lib to take advantage of slicing with comptime indexes
  * std.net: remove the hack from earlier in the branch
  * fix compile error for reading past end of pointer casted array
  * revert std.mem.span to prefer len over sentinel; add spanZ

  [ LemonBoy ]
  * ir: Peer type resolution between ?[]T and *[N]T

  [ Andrew Kelley ]
  * include ld symbols when generating glibc dummy objects
  * glibc: include ld symbols and proper soname for ld
  * "generate .h files" feature is no longer supported in stage1
  * ci: disable test-gen-h on sr.ht and drone

  [ LemonBoy ]
  * ir: Allow errdefer with payload
  * Address review comments

  [ Andrew Kelley ]
  * ability to use `zig cc` as a drop-in C compiler
  * zig cc improvements
  * zig cc: support .cc and .cxx extensions

  [ Michael Dusan ]
  * rename "passthrough" → "driver_punt"

  [ Andrew Kelley ]
  * zig cc: better support for the preprocessor option (-E)

  [ momumi ]
  * add number `_` separators for stage 2 tokenizer

  [ LemonBoy ]
  * ir: Disallow comparison between enum literal and untagged enum

  [ Andrew Kelley ]
  * zig cc: detect optimization and debug flags

  [ momumi ]
  * fix formatting in tokenizer tests

  [ dbandstra ]
  * fix build.zig addBuildOption function for stream refactor

  [ momumi ]
  * update parsing of int literals in self-hosted

  [ Andrew Kelley ]
  * ci: update cache tarball URLs
  * ci: again fix the cache tarball URLs
  * ci: fix ubuntu package name for lld
  * ci: workaround for apt.llvm.org packaging bug
  * update stack trace test expected output
  * simplify cmake logic for finding clang
  * ci: disable qemu-riscv64 tests due to qemu being too old
  * disable failing stack trace test for aarch64

  [ LemonBoy ]
  * ir: Implement cast from anon struct to union
  * debug: Correct version check in debug_line parser

  [ momumi ]
  * minor fixes and more tests for _ separators

  [ Andrew Kelley ]
  * riscv: add -mrelax arg for C to work around upstream issue

  [ LemonBoy ]
  * ir: Prevent crash when slicing hardcoded pointer

  [ Andrew Kelley ]
  * zig cc: recognize .S and .C as source file extensions
  * zig cc: detect dynamic linker argument

  [ LemonBoy ]
  * stage1: Remove fflush on file open for reading
  * stage1: Link pthread on NetBSD
  * std: Add missing C defines for NetBSD
  * debug: Accept relative paths in mapWholeFile
  * std: Use getdents on all the BSDs
  * std: Add missing C bits and defines for NetBSD
  * std: Different thread stack allocation for NetBSD
  * std: Fix parameters for pthread_attr_setstack
  * std: Fix undefined field error
  * std: Tell pthread the guard page size is zero

  [ LeRoyce Pearson ]
  * Use locking open flags if they are defined
  * Add O_SHLOCK and O_EXLOCK to freebsd and netbsd

  [ Joachim Schmidt ]
  * Use math.Order for comparing bigints instead of i8 (#4791)

  [ LeRoyce Pearson ]
  * Fix compile error on windows
  * Block until file is unlocked on windows

  [ Andrew Kelley ]
  * compiler-rt: aarch64 implementation of __clear_cache
  * compiler-rt: fix __clear_cache on aarch64 darwin

  [ LemonBoy ]
  * std: Add qNaN constants
  * compiler-rt: Add __divtf3
  * std: Slim duplicate logic for some calls
  * std: Fix setsockopt definition
  * std: Minor changes to TLS handling
  * Use const instead of var

  [ Andrew Kelley ]
  * zig cc: support -T linker script option
  * zig cc: freestanding target implies -nostdlib

  [ Michael Dusan ]
  * self-hosted: use fs.selfExePathAlloc
  * cmake: address new warnings from cmake-3.17

  [ Benjamin Feng ]
  * Carry-over stream error to JSON.stringify

  [ Andrew Kelley ]
  * zig cc: add detection for `-###`
  * improved handling of native system directories
  * fix an invalid free having to do with bound functions
  * Revert "Merge pull request #4807 from LemonBoy/tls-touchups"

  [ Jonathan S ]
  * In AtomicFile, work relative to the destination's parent directory. This is more robust against concurrent filesystem reorganization and avoids path length issues.

  [ Andrew Kelley ]
  * prevent ptr cast from forcing alignment resolution unnecessarily
  * fix behavior tests compile error on i386-linux
  * update compile error tests

  [ Jonathan S ]
  * Factor out arbitrary constant 12 to AtomicFile.RANDOM_BYTES

  [ Andrew Kelley ]
  * ci: fix aarch64 linux
  * add libc++ and libc++abi sources
  * ability to compile c++ hello world with `zig c++`

  [ Timon Kruiper ]
  * fix behavior test with --test-evented-io on windows

  [ Andrew Kelley ]
  * zig c++: get it working with musl and mingw-w64

  [ LemonBoy ]
  * compiler-rt: Fix __floatunditf
  * ci: Delete workaround for #4822

  [ Ryan Liptak ]
  * Fix -rdynamic not sending --export-dynamic to the ELF linker
  * zig cc: Add --export-dynamic linker flag support

  [ Michael Dusan ]
  * windows: don't hard-code forward-slash paths

  [ Andrew Kelley ]
  * cmake: support finding a cross compiled llvm
  * initial support of response files
  * cmake: support cross compiling

  [ Ryan Liptak ]
  * zig cc: Add support for -Xlinker, --for-linker, --for-linker=
  * zig cc: Add support for -z
  * Sync clang_options_data.zig with update_clang_options

  [ LemonBoy ]
  * std: Minor changes to TLS handling

  [ Luna ]
  * Fix typo in Serializer declaration

  [ Layne Gustafson ]
  * Conv macro string concat to ++
  * Add macro string concat tests

  [ Sebastian ]
  * tcpConnectToHost - fixed compilation error

  [ xackus ]
  * fix overflow in parseFloat

  [ Andrew Kelley ]
  * zig cc: -O0 also counts as debug mode
  * enable now-passing test cases
  * linking is now aware -lm is provided by mingw-w64

  [ xackus ]
  * cleanup parse_float.zig

  [ Andrew Kelley ]
  * linking against c++ does not trigger system library directories

  [ Michael Raymond ]
  * std.zig.render: fix newlines before DocComments

  [ daurnimator ]
  * std: update for linux 5.6 release
  * std: add some missing errnos on linux

  [ LemonBoy ]
  * compiler-rt: Implement all the shift builtins

  [ Brian Cain ]
  * Create an "LLD_LIBDIRS" var to override lld loc

  [ daurnimator ]
  * std: fix compile error since WinsockError was changed

  [ LemonBoy ]
  * ir: Avoid constant-folding ptr to sentinels

  [ daurnimator ]
  * std: mem span functions can take an optional pointer

  [ Sebastian ]
  * mem.zeroes .Array improvements

  [ Andrew Kelley ]
  * add peer type resolution for mixed-const []T and *[N]T
  * std lib API deprecations for the upcoming 0.6.0 release
  * linking: remove check for target_supports_libunwind
  * revert detection of rtti and exceptions

  [ Timon Kruiper ]
  * compiler-rt: implement clear_cache for arm32-linux

  [ Kelly Boothby ]
  * added unit tests to demonstrate #4769 and related bugs
  * fixed bugs hitting EOF immediately after //, /// or //!

  [ Andrew Kelley ]
  * compiler-rt: don't export __clear_cache when no impl available

  [ Ali Ahmed ]
  * Fix Readme to point to llvm for brew commands

  [ daurnimator ]
  * std: have json tests take options parameter
  * std: add whitespace control to json.stringify
  * std: add jsonStringify trait to json Value objects
  * std: use stringify from Value.dump; remove other dump helpers
  * std: use json.stringify logic in some json.WriteStream code paths
  * std: add options to std.json.stringfy to control escaping
  * std: allow picking between serialising []u8 as string or array
  * std: add support to std.json.stringify for null literals
  * std: use json.StringifyOptions.Whitespace from json.WriteStream
  * std: introduce json.WriteStream.stringify

  [ Andrew Kelley ]
  * fixes to 32-bit handling, to support 32-bit arm

  [ daurnimator ]
  * std: linux syscall numbers are now an extensible enum

  [ Tetralux ]
  * Fix std.fifo.LinearFifo

  [ LemonBoy ]
  * compiler-rt: More clear_cache implementations

  [ daurnimator ]
  * std: fix mem.span* when an optional pointer is passed

  [ Andrew Kelley ]
  * clean up the duplicate export logic for __clear_cache

  [ daurnimator ]
  * Tidy up some mem.spanZ use-sites now that null is accepted

  [ Andrew Kelley ]
  * remove unnecessary `inline`

  [ Bodie Solomon ]
  * Use correct compiler flags in MSVC bootstrap builds of Zig

  [ Andrew Kelley ]
  * ci: export master branch version for update-download-page

  [ Timon Kruiper ]
  * Fix possible unaligned ptr from `getauxval`

  [ Michael Dusan ]
  * add compile-error test for #2687

  [ Michaël Larouche ]
  * Fix porting of zlib alder32 with large input

  [ Sebastian ]
  * mem.zeroes - add sentinel terminated array support

  [ LemonBoy ]
  * std: Fix more NetBSD bits
  * std: Use the versioned libc symbols if needed

  [ Vincent Rischmann ]
  * io: test all files under std/io
  * io: fix PeekStream compilation
  * io: fix serialization compilation and tests

  [ LemonBoy ]
  * Workaround for #4789

  [ Vincent Rischmann ]
  * io: fix COutStream test

  [ Andrew Kelley ]
  * Remove unneeeded address-of operator

  [ daurnimator ]
  * std: add std.ArrayList(u8).outStream()
  * std: don't return sentinel slices from cross_target functions
  * std: use std.ArrayList(u8) instead of std.Buffer in std/build.zig
  * std: use Buffer.outStream in std/child_process.zig
  * std: use std.ArrayList(u8) instead of std.Buffer in src-self-hosted/translate_c.zig
  * std: use std.ArrayList(u8).OutStream instead of std.Buffer.OutStream
  * Use length field as passed in stage2 libc_installation instead of relying on zero termination

  [ Andrew Kelley ]
  * fixups and revert a few things
  * (breaking) std.Buffer => std.ArrayListSentineled(u8, 0)

  [ Jadon Fowler ]
  * translate-c: translate DivAssign & RemAssign
  * translate-c: add tests for div & rem assignment

  [ Timon Kruiper ]
  * Fix some nullptr dereferences on arm-linux-musleabhif
  * Fix undefined behavior when shift amount is 64
  * Make sure that ZigTypeVector and ZigTypeArray have the same memory layout

  [ Andrew Kelley ]
  * fix regressions from previous commit

  [ Michael Dusan ]
  * stage1: make C++ switch fallthrough an error

  [ LemonBoy ]
  * ir: Fix comparison of ?T values

  [ Andrew Kelley ]
  * zig cc properly handles -S flag and .ll, .bc extensions

  [ Rejean Loyer ]
  * zig cc: add support for -L linker arguments

  [ Timon Kruiper ]
  * Fix CrossTarget.parse test on platforms where abi != gnu

  [ Andrew Kelley ]
  * zig cc: detect -mcpu, -march, -mtune

  [ Michael Dusan ]
  * add compile-error test: bitcast

  [ daurnimator ]
  * std: LinearFifo matches ArrayList in always having outStream method
  * std: add LinearFifo().inStream

  [ xackus ]
  * new ArrayList API, fix enough std lib to test
  * new ArrayList API: fix std.ArrayListSentineled
  * new ArrayList API: fix ArrayList.shrink
  * new ArrayList API: fix everything else

  [ Michael Dusan ]
  * use static-qemu linux-x86_64 tarball

  [ Ilmari Autio ]
  * make std.os.getenvW case insensitive

  [ Andrew Kelley ]
  * slight modification of the semantics of std.os.getenvW
  * zig cc: respect -MF -MV -MD options
  * zig cc: support -F and -framework
  * zig cc: support --version-script linker arg
  * zig cc: support more linker args

  [ Timon Kruiper ]
  * Fix multiplication overflow in `hash_const_val`

  [ Andrew Kelley ]
  * stage1: fix build for i386-linux
  * zig cc: fix ambiguity with -MT
  * ci: enable riscv64-linux tests

  [ Jay Petacat ]
  * crypto: fix benchmark compile error (#4919)

  [ LeRoyce Pearson ]
  * Add FileLocksNotSupported error to OpenError
  * Use `flock` instead of `fcntl` to lock files
  * Fix compile errors in stage2
  * Add LOCK_* constants to BSD `os/bits`
  * Fix compile errors about adding error.FileLocksNotSupported

  [ LemonBoy ]
  * ir: Rewrite the bound checks in slice operator
  * std: Fix oob slicing operator
  * std: Fix one more sentinel buffer overrun

  [ Ryan Liptak ]
  * Update all remaining uses of &outStream().stream

  [ markfirmware ]
  * Update fmt.zig

  [ Andrew Kelley ]
  * change the default ABI of riscv64-linux-musl
  * zig cc: add -allow-shlib-undefined alias

  [ LemonBoy ]
  * compiler-rt: Add the __atomic family of builtins

  [ Andrew Kelley ]
  * compiler-rt: don't forget to export these functions
  * add issue links to disabled test cases
  * gitattributes: note that libcxxabi is vendored

  [ Michael Dusan ]
  * stage1: add compile errors for sentinel slicing
  * add compiler-error test: coerce

  [ Jadon Fowler ]
  * translate-c: account for signedness when translating div & mod

  [ LemonBoy ]
  * stage1: Fix serialization of ZigValue on BE machines
  * stage1: Byteswap floats when serializing them

  [ Andrew Kelley ]
  * remove `zig BUILD_INFO` hack

  [ Felix (xq) Queißner ]
  * Adds some documentation to std.atomic.Queue.

  [ Andrew Kelley ]
  * build.zig: better detection of using outside zig executable
  * add libutil to zig's glibc support
  * zig cc looks for native include directories unless -nostdinc
  * detect an endless loop when trying to detect native libc installation

  [ xackus ]
  * rename mem.separate to mem.split

  [ SuperAuguste ]
  * fix multichar literals in translate_c

  [ daurnimator ]
  * Tidy up compiler_rt/atomics
  * compiler_rt/atomics: be consistent with `const value`

  [ Jadon Fowler ]
  * translate-c: remove unneeded semicolon

  [ Michaël Larouche ]
  * Do not parse native_libc.txt anymore when linking on native target, always run detection of libc.

  [ daurnimator ]
  * Convert .gitattributes to use unix line endings
  * .gitattributes: deps/SoftFloat-3e/*.txt lines are crlf terminated

  [ Andrew Kelley ]
  * type_has_one_possible_value takes comptime struct fields into account

  [ LemonBoy ]
  * ir: Support div/mod/rem on vector types
  * ir: Support bitwise not on vectors
  * ir: Support shift left/right on vectors
  * std: Delete a hack in the feature set code
  * ir: Remove unused and commented out code
  * tests: Chop away some flaky tests
  * I'm getting tired of this shit LLVM
  * ir: Fix error checking for vector ops

  [ Andrew Kelley ]
  * add runtime safety tests for SIMD integer division
  * annotate disabled tests with github issue links

  [ Benjamin Feng ]
  * Generate clearer size mismatch error message

  [ SuperAuguste ]
  * fixes

  [ Andrew Kelley ]
  * use mingw-w64 to provide -luuid if requested
  * zig uses mingw-w64 to provide -lpsapi

  [ LemonBoy ]
  * compiler-rt: Separate max size allowed for load/store and CAS

  [ Andrew Kelley ]
  * build.zig supports specifying config.h location explicitly
  * libc_installation.zig: don't special-case based on C ABI

  [ LemonBoy ]
  * ir: Support tuple multiplication
  * Add some tests for the runtime safety checks

  [ Andrew Kelley ]
  * fix the build on Windows
  * cmake: improvements to cross-compiling for Windows
  * zig cc: recognize a few more linker options
  * provide ___mb_cur_max_func for i386-windows-gnu
  * stage1 fixes to support building with 32-bit mingw-w64
  * mingw-w64: add 32-bit version.def

  [ LeRoyce Pearson ]
  * Remove return value from os.flock()
  * Only call `os.flock` on systems that lack openat locks
  * Fix compile error on darwin

  [ Vexu ]
  * fix missing const on address of literal
  * fix broken tests

  [ Michael Neumann ]
  * Fix paths to find llvm/clang on DragonFly
  * Add missing constants for DragonFly

  [ SuperAuguste ]
  * Nameless struct field consistency
  * remove debug statement

  [ joachimschmidt557 ]
  * move big.rational.gcd to big.int.gcd

  [ SuperAuguste ]
  * msvc fix

  [ LemonBoy ]
  * stage1: Respect the specified name for extern var

  [ xackus ]
  * langref: small updates

  [ Andrew Kelley ]
  * fix compile errors in some std.Target functions

  [ SuperAuguste ]
  * more fixes
  * fix tests

  [ Andrew Kelley ]
  * fix the new runtime-safety tests

  [ Vexu ]
  * fix missing compile error on assign to slice and array parameters

  [ xackus ]
  * std lib docs: fix null and int values
  * refactor common pattern into a function
  * fix lazy value in ir_analyze_instruction_elem_ptr

  [ LeRoyce Pearson ]
  * Make lock option an enum
  * Fix file locking on windows
  * Add lock_nonblocking flag for creating or opening files

  [ Phil Schumann ]
  * std/zig/parse_string_literal.zig: add hex+unicode escapes (#4678)

  [ LeRoyce Pearson ]
  * Add `OpenFileW` `share_access_nonblocking` parameter

  [ Andrew Kelley ]
  * zig provides shlwapi.lib for *-windows-gnu

  [ LeRoyce Pearson ]
  * Catch error.WouldBlock as unreachable

  [ Vexu ]
  * move array and struct const checks to more appropriate places

  [ LeRoyce Pearson ]
  * Return error from `else`

  [ Vexu ]
  * Translate C: Put an alignCast in c style pointer casts to allow opaque types to cast properly in C macros

  [ Lachlan Easton ]
  * Translate C: Allow casting literal ints to pointers

  [ Andrew Kelley ]
  * cmake: expose ZIG_TARGET_MCPU option

  [ LeRoyce Pearson ]
  * Disable open flock flags on darwin
  * Close file1 in nonblocking lock test

  [ Andrew Kelley ]
  * fix formatted printing warning

  [ LeRoyce Pearson ]
  * Reduce file lock test sleep time

  [ Yuri Pieters ]
  * sort.binarySearch: fix integer underflow (#4980)
  * sort.binarySearch: test for regresson of #4980

  [ Michael Dusan ]
  * ci: bump static-qemu 5.0.0-rc1 → 5.0.0-rc2

  [ markfirmware ]
  * Update langref.html.in

  [ Yuri Pieters ]
  * sort.binarySearch: Remove unneeded edge case check

  [ Vexu ]
  * add error message for invalid assignment

  [ joachimschmidt557 ]
  * Update docgen to new ArrayList API

  [ Lachlan Easton ]
  * Add visible newlines to parser_test output when there's a failure.

  [ Andrew Kelley ]
  * look for clang-cpp shared lib when it exists
  * put the previous commit behind cmake option ZIG_PREFER_CLANG_CPP_DYLIB
  * update readme instructions for homebrew

  [ LemonBoy ]
  * debug: Fix parsing of DWARF info for BE machines

  [ Timon Kruiper ]
  * Fix generated docs of user code

  [ emekoi ]
  * add note about `@tagName` for non-exhaustive enums
  * fix compilation under mingw

  [ Andrew Kelley ]
  * clarify what "not valid" means
  * move fs tests to separate file; disable flaky test
  * revert Translate C: Add comment containing c source location for failed decls

  [ xackus ]
  * ArrayList: remove old (before span) API

  [ Andrew Kelley ]
  * cmake: allow not finding some clang libs
  * Zig treats -lstdc++ identically to -lc++

  [ Michael Dusan ]
  * only use `-nostdinc++` on c++ files

  [ daurnimator ]
  * std: add some basic windows user32 definitions

  [ Sören Tempel ]
  * Update documentation of @panic

  [ emekoi ]
  * added CI job for mingw

  [ Heppoko ]
  * fix file protocol structure definitions (#5015)

  [ Pierre Guilleminot ]
  * improve search perf: batching dom list mutations
  * improve search perf: trim search results

  [ Andrew Kelley ]
  * disable flaky event loop test

  [ daurnimator ]
  * std: fix os.fstatat definition (#5016)

  [ Pierre Guilleminot ]
  * docs: use String.repeat for dom templates

  [ daurnimator ]
  * std: fix StreamSource to disallow writing to a const buffer

  [ Andrew Kelley ]
  * Release 0.6.0

  [ LemonBoy ]
  * stage1: More fixes for BE targets

  [ Andrew Kelley ]
  * langref: add link to 0.6.0 version

  [ Lachlan Easton ]
  * Translate C: Redo Add comment containing c source location for failed decls.

  [ Andrew Kelley ]
  * cli: add `c++` subcommand to --help menu

  [ markfirmware ]
  * Update emit_raw.zig

  [ foobles ]
  * Shift error message now says "fixed-width integer type" instead of just "integer type" (#5028)

  [ Jakub ]
  * Added gdi32.zig and More user32 definitions

  [ Vexu ]
  * translate-c: correct invalid shortcut
  * translate-c cleanup and zig fmt

  [ joachimschmidt557 ]
  * Enable formatting in std.big.Int.format

  [ Layne Gustafson ]
  * CC: fix binary dupe with no -o

  [ Andrius Mitkus ]
  * std: make math.clamp work for common uses, remove automatic bounds swapping

  [ LemonBoy ]
  * debug: Minor QOL improvements for osx
  * build: Create the output directory if it doesn't exist
  * stage1: Fix several bugs in constant generation

  [ Vexu ]
  * fix missing compile errors on builtin cast functions
  * add error for non-exter variadic functions

  [ Andrew Kelley ]
  * update cmake, update readme, in response to the dynamic linking fiasco

  [ Vexu ]
  * fix typeInfo tests

  [ Christian Wesselhoeft ]
  * std.os.readv: Add missing iov_count declaration

  [ Charles Shenton ]
  * Update ziggurat.zig to use `random.int(u64)`

  [ Andrew Kelley ]
  * rand: ref the decls so they get tested
  * ziggurat uses `@truncate` instead of `& 0xff`

  [ LemonBoy ]
  * std: Introduce the Once synchronization primitive

  [ Vexu ]
  * disallow declarations between container fields
  * update std lib to decls being disallowed between fields

  [ xackus ]
  * fix uninitialized ZigValue

  [ LemonBoy ]
  * stage1: Fix signed multiplication overflow

  [ Andrew Kelley ]
  * beginnings of zig ir parser
  * generic ir parsing framework
  * rework types and values data layout
  * ir: parse fn body
  * ir: parse types
  * ir: parsing integer literals
  * ir: more foolproof way to organize instruction parsing
  * ir: parse ptrtoint
  * ir: parse string literals as parameters
  * ir: parse deref instruction
  * ir: parse asm instructions
  * ir: parse export instruction
  * ir: parse type noreturn
  * ir: rendering skeleton
  * implement rendering escaped zig string literals
  * ir: nice rendering of string literal constants
  * ir: render function body
  * ir: render keyword parameters

  [ LemonBoy ]
  * stage1: Fix wrong union access

  [ Andrew Kelley ]
  * simplify ZIR spec; separate parsing/rendering from analysis

  [ Robin Voetter ]
  * Remove old-style @typeOf compatibility

  [ LemonBoy ]
  * stage1: Handle errors when generating block IR

  [ Andrew Kelley ]
  * ir: semantic analysis skeleton
  * ir: analyze str instruction
  * ir: type coercion skeleton
  * ir: comptime coerceArrayPtrToSlice
  * ir: analysis of fn instruction
  * ir: analyze fntype instruction
  * ir: analyze primitive instruction
  * ir: analyze `as` instruction
  * ir: analyze int instruction

  [ Haze Booth ]
  * Remove std.lazyInit

  [ Michael Dusan ]
  * cleanup: IrBasicBlockGen
  * cleanup: IrBasicBlockGen

  [ elucent ]
  * Added peer type resolution for [*]T and *[N]T.

  [ Michael Dusan ]
  * macos: add fallback version detection

  [ Andrew Kelley ]
  * ir: analyze int casting
  * ir: analyze ptrtoint
  * ir: analyze fieldptr instruction
  * ir: analyze deref instruction
  * ir: analyze asm instruction
  * emit zir skeleton
  * ir: emit zir for fntype
  * ir: improve ZIR emission enough to emit hello world
  * std.math.big.Int: don't rely on the allocator when printing

  [ LemonBoy ]
  * stage1: Another hack for the C ABI compatibility
  * std: Implement progress for Windows
  * stage2: Allow \t in string literals
  * stage1: Prevent the creation of illegal pointer types

  [ Michael Dusan ]
  * ci: bump static-qemu 5.0.0-rc3 → 5.0.0-rc4

  [ Andrew Kelley ]
  * zir-to-elf skeleton

  [ LemonBoy ]
  * stage1: Fix bitcast of immediate to ptr type (#5131)

  [ xackus ]
  * stage1: fix crash on accessing an array of size zero with runtime index
  * fix json.WriteStream.emitJson

  [ Andrew Kelley ]
  * basics of writing ELF and machine code generation
  * codegen for const ints and string literals
  * codegen for inline assembly
  * codegen for setting rax and rdi registers
  * codegen supports embedded-in-code constants
  * codegen rdx set immediate
  * codegen: write the updated code size to PT_LOAD section header
  * bug fixes to make it work

  [ Timon Kruiper ]
  * Add mips support to standard library

  [ Andrew Kelley ]
  * link: change default executable mode to 0o777

  [ LemonBoy ]
  * stage1: Prevent the creation of illegal ptr types

  [ daurnimator ]
  * std: add instream.readBytesNoEof function
  * std: add in_stream.isBytes

  [ George Roman ]
  * Pass each target feature flag separately

  [ Andrius Mitkus ]
  * std: fix posix Thread.spawn to accept all startFn types

  [ Andrew Kelley ]
  * ir: elemptr and add instructions

  [ daurnimator ]
  * std: add io.MultiOutStream

  [ Nick Appleton ]
  * Fix f64 variants of math.cosh and math.sinh to accept negative inputs. (#5172)

  [ Andrew Kelley ]
  * add CLI option -Bsymbolic for binding global references locally

  [ Henry Nelson ]
  * Fix unfortunate typo

  [ Andrew Kelley ]
  * stage2 zir: remove dead code

  [ Alexandros Naskos ]
  * Extern functions can now be evaluated to undefined values in TypeOfs
  * Added tests.
  * Cleaned up code, added a testcase for an extern member function call

  [ George Roman ]
  * Add missing state to C object cache

  [ Auguste Rame ]
  * Fix issue with std.json incorrectly replacing forward slashes with a backslash (#5167)

  [ Ryan Liptak ]
  * fmt: Fix relative paths with . and .. on Windows

  [ Andrew Kelley ]
  * zig fmt: still print the relative path
  * std: support `/` in Windows paths

  [ Tadeo Kondrak ]
  * implement @Type() for more types

  [ Žiga Željko ]
  * Split AES struct into AESEncrypt and AESDecrypt

  [ wozeparrot ]
  * add missing const to pkg dependencies

  [ Tadeo Kondrak ]
  * @OpaqueType -> @Type(.Opaque)
  * Update language reference for recent @Type changes
  * Validate vector types for @Vector
  * add std.meta.Vector to replace @Vector
  * @Vector -> std.meta.Vector
  * Update language reference for std.meta.Vector
  * Mangle field names with a local counter in records
  * Fix/add translate-c tests for previous commit
  * rename std.meta.IntType to std.meta.Int
  * std.meta.IntType -> std.meta.Int
  * Fix std.event.Loop.readv

  [ Alexandros Naskos ]
  * Progress will now use ANSI escape codes on windows for terminals that support it

  [ wozeparrot ]
  * build.zig recursive dep support

  [ Alexandros Naskos ]
  * Add unreachable branch

  [ Michael Dusan ]
  * ci linux: bump qemu 5.0.0-rc4 → 5.0.0

  [ Ian Simonson ]
  * Translate-C convert bools to int in complex expressions

  [ Jakub Konka ]
  * Update WASI snapshot to preview1

  [ Vexu ]
  * rename diffIndex to indexOfDiff
  * move printWithVisibleNewlines to testing.expectEqualStrings

  [ Ian Simonson ]
  * Use transCreateNodeInfixOp instead of maybeSuppressResult

  [ wozeparrot ]
  * switch anyerror to OutOfMemory

  [ Jakub Konka ]
  * Fast-forward std.os.bits.wasi to match preview1 snapshot ABI

  [ Andrew Kelley ]
  * add ZIR compare output test case to test suite
  * disable stage2 zir tests on not-yet-supported OS's
  * disable stage2 zir tests on not-yet-supported archs
  * link: recognize that Windows does not have POSIX fs modes
  * ZIR: add cmp and condbr instructions
  * ZIR: implement return instruction
  * link: introduce the concept of output mode and link mode
  * zir: add breakpoint() instruction and object file ability
  * add ZIR transform test case
  * rework std.math.big.Int
  * back to stage2 tests passing
  * update std.meta.IntType => std.meta.Int

  [ nia ]
  * Add arc4random_buf() in NetBSD libc, use it to implement getrandom()
  * In init_rand avoid reading from /dev/urandom on NetBSD/FreeBSD

  [ Andrew Kelley ]
  * fix off-by-one error in sizeInBaseUpperBound

  [ Cato Auestad ]
  * Added socket bits for Darwin

  [ Andrew Kelley ]
  * std.progress: handle error from FillConsoleOutputAttribute

  [ Michael Dusan ]
  * stage1: cleanup

  [ Andrew Kelley ]
  * cleanup and fixes. behavior tests passing with evented I/O
  * std.event.Loop: promote the fs thread to be available for all OS's
  * fix regressions in windows std lib tests
  * remove last use of share_with_child_process
  * child process: no need to remove O_CLOEXEC before execve

  [ nycex ]
  * correct usages of std.fs.dir.DeleteFileError (#5058)

  [ Andrew Kelley ]
  * update windows impl of child process to new File API

  [ Michael Dusan ]
  * ci linux: bump qemu-5.0.0-z2

  [ Andrew Kelley ]
  * fs.File: improve handling async I/O on Windows

  [ Chris Heyes ]
  * Get evented io code paths to build on macOS (#5233)

  [ Andrew Kelley ]
  * add test coverage for top level fields

  [ Cato ]
  * Fixed Darwin-incompatible socket flags and unavailable system calls

  [ Tadeo Kondrak ]
  * Implement @typeInfo for @Frame()
  * Implement @Type() for EnumLiteral and FnFrame
  * Constify TypeInfo
  * Implement @Type for ErrorSet

  [ Isaac Freund ]
  * Apply naming conventions of structs to files

  [ Andrew Kelley ]
  * solve the problem with Darwin shims in std.os instead

  [ data-man ]
  * Include dbg.h to third-party libs

  [ Matthew Knight ]
  * added scoped typedef to translate-c

  [ daurnimator ]
  * std: use async for MultiOutStream

  [ Cato ]
  * Pass filtered_sock_type to system.socket. Cover PermissionDenied error

  [ xackus ]
  * stage1: fix assert fail on opaque fn ptr param
  * stage1: remove unneeded switch

  [ Vexu ]
  * fix missing compile error on call assigned to const
  * std: fix blake3 assignment to constant

  [ Jonathan Marler ]
  * os.zig: add ETIMEDOUT error case to read function

  [ Matthew Knight ]
  * moved duplicated code to common functions

  [ Haze Booth ]
  * Update ErrorUnion thread spawn result to return null instead of 0

  [ Tadeo Kondrak ]
  * Rename noasync to nosuspend in self-hosted, add rewriter
  * Rename noasync to nosuspend in C++ compiler
  * zig fmt
  * update tests for nosuspend
  * update comments for nosuspend

  [ Jakub Konka ]
  * Start drafting out openZ
  * Implement std.fs.Dir.openFileWasi
  * Make std.fs.cwd() return preopen for "." if exists
  * Refactor resolve_preopen into getPreopens function
  * Simplify File constructors
  * Remove obsolete PATH_MAX const
  * Encapsulate getPreopens inside PreopenList
  * Shuffle things around; add PreopenList.findByPath method
  * Move preopen and path wasi helpers to std.fs.wasi module
  * Add docs
  * Clear PreopenList on every populate call

  [ Tadeo Kondrak ]
  * remove nakedcc/stdcallcc/async fn/extern fn fnproto
  * add zig fmt fix for async/extern fn
  * zig fmt

  [ StrangeBug ]
  * Add support for external links and URL to markdown parser.

  [ Tadeo Kondrak ]
  * update docs/tests for async/extern fn removal

  [ Andrew Kelley ]
  * fix incorrect flags being set in os.setSockFlags
  * avoid unnecessary fcntl syscalls when setting socket flags

  [ Haze Booth ]
  * Add setUseTestEventedIO for test steps in build.zig

  [ Andrew Kelley ]
  * simplify test-evented-io build setting
  * readme: remove the part about stage2 until it's done

  [ Lann ]
  * Remove reference to import type (#5279)

  [ Matthew Knight ]
  * checkForBuiltinTypedef now returns a string

  [ Vexu ]
  * translate-c: small patch to fix bultin type detection
  * std: handle ConnectionTimedOut in switch

  [ data-man ]
  * Optimization of vectors hashing

  [ Timon Kruiper ]
  * Standard library: Fix a regression in loop.waitUntilFdWritableOrReadable

  [ Jonathan Marler ]
  * fix copy/paste error in AllocWithOptionaPayload
  * add failAllocator to enable some regression tests

  [ Jens Goldberg ]
  * Removed duplicate WM_ACTIVATE
  * Removed GetModuleHandleA from user32

  [ xackus ]
  * stage1: add ZigList gdb pretty printing

  [ Loris Cro ]
  * fix crash in single-threaded builds
  * fix oneshot flag erroneusly set as filter_flag
  * remove readable check when opening a socket connection

  [ xackus ]
  * stage1: handle all cases of invalid struct field default value

  [ Josh Junon ]
  * add failing test for #4909
  * fix private member checking for non-canonical invocations (fixes #4909)
  * publicize member functions affected by #4909

  [ Vexu ]
  * fix more private member access

  [ daurnimator ]
  * std: fix RTLD_ constants on OSX

  [ Vexu ]
  * std: add test for mem.zeroes on sentinel terminated arrays
  * make std.build.getInstallPath public

  [ Haze Booth ]
  * Remove fs.File artifact from connectUnixSocket

  [ Andrew Kelley ]
  * rework self-hosted compiler for incremental builds

  [ 熊鑫 ]
  * mem.eql need slice type

  [ xackus ]
  * stage1: detect underflow in bigint_fits_in_bits

  [ Jonathan Marler ]
  * make Address.getOsSockLen pub

  [ Vexu ]
  * fix `@intToFloat` on comptime_floats

  [ Greg Anders ]
  * Add helper functions and docstrings to ascii.zig

  [ Andrew Kelley ]
  * self-hosted: rework the memory layout of ir.Module and related types

  [ Vexu ]
  * std.json properly handle comptime int/float

  [ Greg Anders ]
  * Remove redundant ASCII functions

  [ Vexu ]
  * make parser testError take a list of expected errors
  * std.zig attempt to continue parsing on error

  [ Andrew Kelley ]
  * clear progress indicator before printing errors
  * self-hosted: link: global offset table support for decls

  [ Jason Merrill ]
  * Fix comment typo RFC8529 -> RFC8259

  [ Andrew Kelley ]
  * self-hosted: ir: implement separated analysis of Decl and Fn

  [ Vexu ]
  * continue parsing on extra qualifier errors
  * continue parsing after missing commas and invalid statements
  * continue parsing on invalid and token
  * translate-c remove error set from `checkForBuiltinTypedef`

  [ DrDeano ]
  * Make StackIterator next public

  [ Vexu ]
  * Make PriorityQueue.Iterator public
  * improve recovery on top level declarations
  * modernize std.zig.tokenizer
  * correctly recover from invalid top level declarations
  * recover after invalid inline/extern
  * recover from invalid builtin/async call

  [ Andrew Kelley ]
  * self-hosted: fix compile errors, except for codegen.zig
  * self-hosted: fix the rest of the compile errors
  * work around stage1 compiler bug

  [ Vexu ]
  * remove useless nosuspend parsing
  * recover from missing semicolon
  * improve recovery from invalid container members
  * store rparen in ReturnType.Invalid
  * fix infinite loop

  [ Andrew Kelley ]
  * self-hosted: fix codegen and resolve some analysis bugs
  * fix codegen of sentinel-terminated arrays and .got alignment
  * fix the global offset table code and updating decl exports

  [ Vexu ]
  * cleanup* remove unecessary error* properly handle ReturnTypeInvalid in ast.zig functions* assert that the tree is clean in render.zig* simplify parser recovery with top level decls
  * properly handle extra closing braces at top level

  [ yvt ]
  * Enable the test `standalone/global_linkage`

  [ Andrew Kelley ]
  * self-hosted: update main.zig

  [ Vexu ]
  * fix infinite loop with mismatced bracket

  [ Andrew Kelley ]
  * fix memory leaks of one of the ZIR test cases
  * ZIR: emit proper string literals
  * update ZIR test cases
  * move Module to its own file
  * stage2 zir tests passing
  * build.zig: -Dlib-files-only skips installing self-hosted

  [ Vexu ]
  * recover from invalid global error set access
  * recover from missing semicolon after if stmt
  * move ParamType to Node.ParamDecl
  * fix building translate-c
  * translate-c use tagName for token id

  [ DrDeano ]
  * Add enum to addBuildOptions
  * Add Enum Option

  [ Andrew Kelley ]
  * cross compile the stage2 tests for the target that they work for

  [ Vexu ]
  * fix infinite loop with invalid comptime

  [ Michael Dusan ]
  * macos: use realpath$DARWIN_EXTSN

  [ data-man ]
  * Fixes fmt padding for some types

  [ Felix (xq) Queißner ]
  * Creates `std.ascii.control_code` that contains the C0 control codes as named constants.

  [ Andrew Kelley ]
  * self-hosted: remove `zig libc` command for now
  * self hosted repl: close executables between updates
  * fix source not being loaded when printing errors

  [ Vincent Rischmann ]
  * linux: remove duplicated fields

  [ Vexu ]
  * fix zig fmt regression

  [ Noam Preil ]
  * rework x64 genSetReg
  * Fix a dumb (thanks daurminator!)
  * Fix the dumb in x86 too
  * Minor cleanup
  * Remove trailing whitespace
  * Document register functions

  [ Andrew Kelley ]
  * move some files around

  [ Noam Preil ]
  * Fix compilation with GCC 5

  [ Andrew Kelley ]
  * update ZIR compare output test to test incremental updates
  * std.json: support stringify for anyerror

  [ Jakub Konka ]
  * Add/fix missing WASI functionality to pass libstd tests
  * Run WASI tests on Linux only
  * Download and unpack wasmtime on Linux
  * Skip WASI tests in drone and on FreeBSD
  * Disable tests requiring Wasmtime be default; require -Denable-wasmtime flag otherwise
  * Make mode_t a 0-byte type in WASI
  * Change to Self from *const Self/*Self where possible
  * Remove obsolete runtime panics from sleep impl
  * Integrate getTestDir with tmpDir logic
  * Narrow down behaviour test cases; this removes wasmtime-enabled check in tests

  [ Alexandros Naskos ]
  * Add TypeOf resolution of dereferences and struct fields of undefined values
  * Updated test

  [ Jakub Konka ]
  * Re-enable refAllDecls gen and check in std.zig
  * Always return false for ANSI escape codes compat in WASI
  * Undo accidentally checked-in changes to fs/test.zig

  [ Ryan Liptak ]
  * CMake: Make fallthrough support version check specific to GCC

  [ Andrew Kelley ]
  * json: properly stringify error sets
  * stage2: set up a trampoline table for functions
  * stage2: function calls using the global offset table
  * use singly linked lists for std.zig.parse

  [ Noam Preil ]
  * [Stage2/Codegen] Fix a typo

  [ Andrew Kelley ]
  * zig fmt parser tests are compiling again
  * fix zig fmt test regressions
  * golly jeepers it's taking a long time to update translate-c
  * arena allocator: smaller minimum allocation size
  * fields and decls: ArrayList appending, memcpy to ast arena
  * small bump to ArenaAllocator minimum alloc size
  * update translate-c for new Root and ContainerDecl AST
  * stage2 parser: different memory layout of ParamDecl
  * stage2 parser: split off some SuffixOp AST nodes into separate tags
  * make rand function public, fixes crypto benchmark
  * stage2 parser: elide memcpy of large initialization lists
  * Revert "stage2 parser: elide memcpy of large initialization lists"
  * stage1: fix false positive redeclared variable compile error
  * update translate-c to the new fn params AST node API
  * stage2 parsing: rework block statements AST memory layout
  * more progress on updating translate-c
  * fix compile errors when setting NodeIndex/TokenIndex to u32
  * stage2 parser performance/API improvements
  * stage2 parser: SwitchCase uses intrusive array instead of linkedlist
  * stage2 parser: arrays and structs directly in memory after the node
  * stage2 parser: different multiline string literal parsing strategy
  * std.testing: fix a crash when printing diffs
  * stage2 parser: don't append doc comments to the list
  * stage2 parser: token ids in their own array

  [ Greg Anders ]
  * Add poll definitions for Darwin

  [ Noam Preil ]
  * [Stage2/Codegen] Document x64 register enum layout
  * [Stage2/Codegen] Typo fix

  [ Andrew Kelley ]
  * update translate-c to new AST API
  * translate-c is building again, but I have 1 `@panic` in there
  * std: update singly linked list tests to new API
  * translate-c: fix regression in do-while loop
  * translate-c: fix decl statement regression
  * translate-c: fix regression on array initialization
  * translate-c: fix regression in switch statement
  * translate-c: fix regression in param name mangling
  * translate-c: emit local typedefs

  [ Jethro Nederhof ]
  * FreeBSD: missing networking constants
  * os/bits/freebsd audit

  [ Andrew Kelley ]
  * revert std.zig.ast iterator changes back to master branch API
  * fix regression in compile errors
  * update docgen to new ast API
  * translate-c: fix a use-after-free bug
  * fix regression in AST node iteration
  * run zig fmt on std lib

  [ data-man ]
  * Treat vectors as indexable
  * Supports vectors in mem.zeroes

  [ Noam Preil ]
  * [Stage2/Codegen] Properly handle arch in genCall

  [ Jethro Nederhof ]
  * target: Implement running OS version detection for FreeBSD (#5416)

  [ LeRoyce Pearson ]
  * Add `std.time.nanoTimestamp` function
  * Implement a faster way to get nanoseconds on darwin
  * Use `once` to init _timestart in thread safe way
  * Fix compile errors for MacOS
  * Use better names for darwin timestart

  [ Andrew Kelley ]
  * (breaking) std.time fixups and API changes
  * fix regression in std.os.windows.fromSysTime

  [ Alexandros Naskos ]
  * Added and id and a cast function to build steps
  * Added custom build step id, made tests.zig steps use it

  [ data-man ]
  * Support comptime floats in std.fmt

  [ LeRoyce Pearson ]
  * Partially implement cache hash API in zig
  * Add `cache` method; add support for caching integers
  * Fix memory leak in cache_hash
  * Support caching bools; make caching values infallible
  * Add filesystem base64 decoder
  * Use std.fs.base64_encoder in std.cache_hash
  * Use fs.File
  * Rename CacheHashFile -> File
  * Store fs.Dir instead of path to dir
  * Rename `cache` functions to `add`
  * Make type specific add functions
  * Add slice and array support to `add` method
  * Rename `cache_file` -> `addFile`
  * Return base64 digest instead of using an out variable
  * Make hash digest same size as in the c API
  * Use `readAllAlloc`
  * Replace ArrayList in write_manifest with an array
  * Remove file handle from CacheHash
  * Remove up files created in test at end of test
  * Update cache_hash to zig master
  * Check if inode matches inode from manifest
  * Remove error union from CacheHash.final
  * Remove unnecessary contents field from File
  * Open file with exclusive lock
  * Check for problematic timestamps
  * Add documentation to CacheHash API
  * Put base64 alphabet into a named constant
  * Add `addFilePost` and `addFilePostFetch` functions
  * Make CacheHash cleanup consistent (always call `release`)
  * Switch to using `testing.expect*` in tests
  * Add test checking file changes invalidate cache
  * Add "no file inputs" test
  * Make `CacheHash.release` return an error
  * Make `addFilePost*` functions' documentation more clear
  * Update code using deprecated ArrayList APIs
  * Return an index from `CacheHash.addFile`
  * Fix read from null pointer in CacheHash.hit
  * Add test case for fix in previous commit
  * Don't use `iterate` when opening manifest directory
  * Make if statement more idiomatic
  * Change null pointer test to `addFilePost` test
  * Remove non-null assertion in `CacheHash.release()`
  * Set manifest's maximum size to Andrew's recommendation
  * Add max_file_size argument
  * Fix improper initialization of CacheHashFiles

  [ Andrew Kelley ]
  * stage2 parser: heuristics to pre-allocate token arrays
  * stage2 parser: heuristics to pre-allocate token arrays

  [ Vexu ]
  * fix missing compile error on while/for missing block

  [ Andrew Kelley ]
  * improvements to self-hosted cache hash system
  * fix std lib tests for WASI
  * fix pwrite on 32-bit linux

  [ Alexandros Naskos ]
  * Changed test name to reflect it only fixes #4328

  [ data-man ]
  * More vector support in std.meta

  [ Jakub Konka ]
  * Make align expr on fns a compile error in Wasm
  * Add matching compile error test

  [ daurnimator ]
  * std: allow specifiying enums to be formatted as numbers
  * std: in fmt, use tag names of non-exhaustive enums when available

  [ Andrew Kelley ]
  * std.fmt: non-exhaustive enums: avoid the loop when it's not necessary

  [ foobles ]
  * Add caller location tracking for asserts (ir_assert, src_assert, ir_assert_gen) (#5393)

  [ Walter Mays ]
  * Add `writeToSlice` method to SegmentedList. (#5405)

  [ Dmitry Atamanov ]
  * fmt padding correction (#5403)

  [ data-man ]
  * Support vectors in mem.len

  [ Walter Mays ]
  * Remove unimplemented `init` call from ArrayListUnmanaged.

  [ data-man ]
  * Use ccache (optionally)

  [ Andrew Kelley ]
  * different strategy for tokenizing keywords

  [ data-man ]
  * Add more traits

  [ Jakub Konka ]
  * Reenable zig parser tests disabled targeting Wasm

  [ Ryan Liptak ]
  * Add std.ComptimeStringMap
  * Use std.ComptimeStringMap in zig's tokenizer
  * Use std.ComptimeStringMap in the C tokenizer
  * std.ComptimeStringMap: Add support for void value type (i.e. a set)
  * Use ComptimeStringMap in std.meta.stringToEnum when feasible
  * Not sure how a tab snuck in there

  [ Vexu ]
  * translate-c: use correct scope in for loop condition

  [ Andrew Kelley ]
  * self-hosted: introduce a virtual address allocation scheme

  [ data-man ]
  * Added tests with tuple
  * zig fmt

  [ Andrew Kelley ]
  * stage2: first pass at recursive dependency resolution

  [ Jakub Konka ]
  * Link issue to the failing test case targeting wasm
  * Fix skipping condition (skip when wasm32)

  [ Andrew Kelley ]
  * stage2: handle deletions and better dependency resolution
  * remove debug log statements

  [ Timon Kruiper ]
  * C ABI: Add C support for passing structs of floats to an extern function

  [ Walter Mays ]
  * Remove reliance on hashing algorithm for iterator reset test.

  [ Dmitry Atamanov ]
  * Support stringify for vectors (#5441)

  [ data-man ]
  * Use tuples in multiTrait

  [ Jakub Konka ]
  * Add ArgIteratorWasi and integrate it with ArgIterator
  * Make ArgIterator.init() a compile error in WASI
  * Fix args iterator test

  [ Noam Preil ]
  * [Stage2/Codegen] Extract REX
  * [CI] Use ninja on Azura and Drone
  * Add include dirs to translate-c (close #5098)

  [ Jonathan S ]
  * Document and reduce usage of MAX_PATH_BYTES, lifting arbitrary buffer size requirements
  * Prefer Files to paths in std.debug. Additionally [breaking] add a flags parameter to openSelfExe and stop exporting openElfDebugInfo.
  * In getCwdAlloc, geometrically allocate larger buffers to find an appropriate size.
  * Document the failure to improve selfExe{,Dir}PathAlloc

  [ Andrew Kelley ]
  * cleanups

  [ foobles ]
  * Support equality comparison for optional to non-optional (?T ==/!= T)

  [ Jonathan Marler ]
  * more windows network support, including dns

  [ Alexandros Naskos ]
  * Fix WSARecvFrom signature

  [ Vincent Rischmann ]
  * linux: fix IOSQE_BIT decl and io_uring_sqe flags

  [ Jonathan Marler ]
  * convert getaddrinfo rc to enum before switching on it

  [ Vexu ]
  * fix zig fmt out of bounds on empty file

  [ Jakub Konka ]
  * Fix typo in PackedIntArray tests

  [ xackus ]
  * stage1: fix unresolved inferred error sets

  [ Jonathan Marler ]
  * more windows network fixes

  [ daurnimator ]
  * deps/SoftFloat-3e/: commit with LF line endings

  [ Jonathan Marler ]
  * enable dns test on windows

  [ Vexu ]
  * fix std.zig rejecting literal tabs in comments

  [ Alexandros Naskos ]
  * Fix evented builds on windows with runtime safety on

  [ Sebastian ]
  * fixed timestamp()

  [ Alexis Brodeur ]
  * Add initialization helper

  [ Andrew Kelley ]
  * rename std.mem.defaultInit to std.mem.zeroInit

  [ Alexandros Naskos ]
  * Allow carriare return in comments

  [ Jesse Rudolph ]
  * pass allocator to self.resize() in appendNTimes()

  [ Andrew Kelley ]
  * std.HashMap: allow ensureCapacity with a zero parameter

  [ Luna ]
  * Add basics of resolveIp6
  * Add some interface structs to linux bits
  * Fix typo and add if_nametoindex
  * Only resolve scope id when needed
  * Add ioctl errors
  * Stop using mem.len on array
  * Make interface name null-terminated before syscall
  * Change Unsupported to InterfaceNotFound
  * Fix ifreq definition
  * Remove warn() calls
  * Replace C shorts by integer types
  * Add validation for scope ids
  * Plug resolveIp6 into IPv6 tests
  * Replace C types in declarations
  * Make ifru fields sentinel-terminated
  * Use IFNAMESIZE for scope id value
  * Add tests for overflow
  * net.test: only call resolveIp6 when os is linux
  * Add std.os.ioctl
  * Use resolveIp when looking up addresses on linux
  * Replace syscall3 to os.ioctl
  * Add declaration for libc ioctl
  * Change ioctl's request type to i32
  * Replace os.linux to os.system

  [ Andrew Kelley ]
  * cleanups
  * stage2: fix referencing decls which appear later in the file

  [ Jesse Rudolph ]
  * add replaceRange() function to ArrayList
  * demonstrate start + len > new_items.len

  [ Vexu ]
  * add workaround for #5525
  * translate-c: don't crash on complex switches

  [ Ryan Liptak ]
  * Windows: Fix std.fs.Dir.deleteDir() deleting files
  * Windows: Handle ERROR_DIRECTORY in std.fs.deleteDirAbsolute when called on a file path
  * std.os.windows.OpenFile: Handle FILE_IS_A_DIRECTORY status

  [ Michael Dusan ]
  * stage1: fix constness in some corner cases

  [ Ian Simonson ]
  * Test case for tcpConnectToHost fix
  * tcpConnectToHost try all addresses in AddressList

  [ Noam Preil ]
  * [Stage2/x86] Fix 8-bit register order

  [ Andrew Kelley ]
  * std.sort: give comparator functions a context parameter
  * stage2: -femit-zir respects decl names and supports cycles
  * stage2: fix not re-loading source file for updates after errors
  * self-hosted: remove deleted Decls from failed_decls
  * stage2: add passing test for compile error in unreferenced cycle

  [ Michael Dusan ]
  * ci linux: bump qemu-5.0.0-49ee115552

  [ Andrew Kelley ]
  * update sort callsite to new API

  [ xackus ]
  * stage1: fix crash on slice byte reinterpretation

  [ Jakub Konka ]
  * Increase default Wasm stack to 1MB
  * Add option for overriding the stack size

  [ Jonathan Marler ]
  * support Writer instead of OutStream
  * fix memory errors

  [ Jakub Konka ]
  * Add builtin for llvm.wasm.memory.size.i32 instrinsic
  * Add builtin for llvm.wasm.memory.grow.i32 intrinsic
  * Use builtins in std.heap.WasmAllocator
  * Add basic tests for the new builtins
  * Expose full llvm intrinsic
  * Fix builtins to return and accept u32 instead of i32
  * Return should be i32 due to error signaling in memory.grow
  * Return u32 in @wasmMemorySize instead of i32
  * Document the builtins
  * Update langref.html.in

  [ Jonathan Marler ]
  * Support Reader for InStream

  [ Jakub Konka ]
  * Add doc example for extracting WASI preopens
  * Add custom format method for Preopen struct
  * Add unit test for std.fs.wasi.PreopenList

  [ Isaac Freund ]
  * docs: fix mention of deprecated ArrayList.span()

  [ Cassidy Dingenskirchen ]
  * Fix a few std.sort.sort invocations

  [ Alexandros Naskos ]
  * Fix formatting of floating point values with the B and Bi specifiers

  [ Carter Sande ]
  * Add strict_align to pre-v6 ARM targets

  [ Vexu ]
  * add workaround for #5599

  [ Alexandros Naskos ]
  * Convert paths to UTF-16 before calling CreateDirectory on windows
  * Switched more Windows FS calls to their wide versions

  [ daurnimator ]
  * std: clean up debug stderr variables
  * std: remove std.debug.getStderrStream

  [ Alexandros Naskos ]
  * Use more wide functions on windows
  * UTF16 create process, utf8->utf16 fix
  * Use _wfopen instead of fopen on windows

  [ Andrew Kelley ]
  * stage1: implement type coercion of anon struct literal to struct

  [ Anthony Arian ]
  * Implement WinMain Callers that Pass Valid Params

  [ Noam Preil ]
  * [Stage2/Testing] ZIR tests for expected errors
  * [Stage2/Testing] Print name of failed test
  * [Stage2/Testing] Don't rely on update erroring
  * [Stage2/Testing] Always finish case, note all errs
  * [Stage2/Testing] Reduce test
  * [Stage2/Testing] Add (failing) test
  * [Stage2/Testing] Make API more friendly
  * [Stage2/Testing] Handle decl and export errors
  * [Stage2/Testing] Attempt to call nakedcc function

  [ DixiE ]
  * Update Stack Trace For start.zig Changes

  [ Noam Preil ]
  * Stage2/Testing: Staged test harness draft design
  * Stage2/Testing: Fix error tests
  * Stage2/Testing: Fix error specification
  * Stage2/Testing: Move Transformation case to ZIRCase
  * Stage2/Testing: Rename stage -> update
  * Stage2/Testing: remove ZIRTransformCase
  * Stage2/Testing: Fix transformation tests
  * Stage2/Testing: Add error tests to ZIRCase
  * Stage2/Testing: Remove dead code
  * Stage2/Testing: Enable another test
  * Stage2/Testing: Code cleanup

  [ tgschultz ]
  * Overhauled leb128:     handles integers < 8 bits     incorrect overflow bugs fixed     simplified *mem implementations     added wrte* functions     added thurough write/read testing
  * Code cleanup, documentation added, read*Mem functions now take *[]const u8
  * Overhauled leb128:     handles integers < 8 bits     incorrect overflow bugs fixed     simplified *mem implementations     added wrte* functions     added thurough write/read testing
  * Code cleanup, documentation added, read*Mem functions now take *[]const u8
  * Overhauled leb128:     handles integers < 8 bits     incorrect overflow bugs fixed     simplified *mem implementations     added wrte* functions     added thurough write/read testing
  * Code cleanup, documentation added, read*Mem functions now take *[]const u8
  * Added test to ensure minimum number of bytes is emitted for writes

  [ Jakub Konka ]
  * Remove obsolete branch in ir_analyze_cast

  [ Jonathan Marler ]
  * ArrayList(u8) support writer interface

  [ Isaac Freund ]
  * Introduce std.log
  * Deprecate std.debug.warn

  [ antlilja ]
  * Improve builtin op support for f128/comptime_float * Add support for fabs, floor, ceil, trunc and round * Add behavior tests
  * Improve f128 standard library support * Add functions: floor128, ceil128, trunc128 and round128 * Add corresponding tests

  [ Isaac Freund ]
  * Add std.debug.print for "printf debugging"

  [ Vexu ]
  * implement `@src`
  * add tests for `@src`

  [ Andrew Kelley ]
  * make file and fn_name fields of SourceLocation also null-terminated
  * stage2: hook up Zig AST to ZIR
  * self-hosted: implement Decl lookup
  * remove std.debug.warn debugging logs
  * stage1: stop emitting memset to undefined when safety is off
  * self-hosted parser: make a function pointer comptime
  * stage2: explicit hash and equality function for the DeclTable
  * zig cc: add missing cxxabi include path

  [ Vexu ]
  * reference emit_raw in std lib tests

  [ Michael Rees ]
  * Add std.unicode.Utf8Iterator.peek

  [ Cassidy Dingenskirchen ]
  * Fix zig fmt clobbering a file's mode
  * Fix fs.File.mode() not returning mode_t on windows

  [ Andrew Kelley ]
  * rework zig fmt to only make one allocation
  * self-hosted: add Tracy integration

  [ Haze Booth ]
  * Don't attempt to use io from thin air

  [ Eleanor NB ]
  * Replaced all occurrences of std.debug.warn in the docs with std.debug.print

  [ Sebastian ]
  * langref - document that This works on enums too

  [ data-man ]
  * Use writer in std.fmt

  [ DrDeano ]
  * Moved the check for formatting a directory

  [ Andrew Kelley ]
  * rework zig fmt to use less syscalls and open fds
  * zig fmt
  * rework zig fmt to avoid unnecessary realpath() calls
  * zig fmt: avoid unnecessary file system access
  * std.fs: fix shadowing `stat` with a local variable
  * implement new stat functionality for WASI

  [ Nameless ]
  * Add errors to windows.WSAStartup and WSACleanup

  [ Ryan Liptak ]
  * Add zig fmt test to cli tests for both files and directories
  * temporary: Add test-cli step for only running cli tests
  * Simplify unformatted code in zig fmt cli test
  * Add 'no changes' test to zig fmt cli test

  [ Alexandros Naskos ]
  * Close source file after reading it in zig fmt

  [ Charlie Stanton ]
  * Adds std.meta.cast and uses it to simplify translate-c

  [ Robin Voetter ]
  * Make unary minus for unsigned types a compile error (#5654)

  [ xackus ]
  * stage1: fix concat of sliced str literals

  [ Charlie Stanton ]
  * Compacts switch statements and string literal

  [ Jakub Konka ]
  * Enhance std.os.symlinkat coverage
  * Enhance std.os.readlinkat coverage

  [ Carter Sande ]
  * ArgIteratorWindows: don't treat unclosed quotes like they're escaped
  * ArgIteratorWindows: simplify quote state tracking

  [ prime31 ]
  * `try` allocation of pointer type when parsing (#5665)

  [ Jakub Konka ]
  * Add std.fs.File.readAllAlloc tests

  [ Vexu ]
  * self-hosted: generalize `astGenBuiltinCall`
  * self-hosted: astGenIntegerLiteral support other bases

  [ antlilja ]
  * Add expectWithinMargin and test
  * Add expectWithinEpsilon + test
  * Add duplicate checking for switch on types * Add compile error tests

  [ Jakub Konka ]
  * Refactor PreopenList.find()
  * Remove some leftover debugging checks

  [ Andrew Kelley ]
  * self-hosted: improve handling of anonymous decls
  * self-hosted: hook up incremental compilation to .zig source code
  * building mingw-w64 for windows ARM looks in lib64/lib32 for .def files
  * Revert "building mingw-w64 for windows ARM looks in lib64/lib32 for .def files"
  * self-hosted: restore ZIR functionality

  [ Alexandros Naskos ]
  * @asyncCall now requires an argument tuple
  * Small fixes, fixed tests, added test for argument tuple type

  [ antlilja ]
  * Store else node in IrInstSrcCheckSwitchProngs * Remove have_else_prong (bool) * Add else_prong (AstNode*)

  [ Alexandros Naskos ]
  * Fixed @asyncCall in runtime safety test
  * Updated @asyncCall docs

  [ antlilja ]
  * Remove unreachable else prongs

  [ Jonathan Marler ]
  * azure-pipelines: fix msys2 install

  [ Andrew Kelley ]
  * azure ci: install tar and xz with pacman

  [ Jakub Konka ]
  * Implement fstatat targeting WASI
  * Use fstatat on macOS (otherwise uses 32bit)
  * Reformat using if-else where appropriate

  [ Alexandros Naskos ]
  * Copy union const values correctly

  [ Andrew Kelley ]
  * fix memory leak of anonymous decl name
  * self-hosted: fix test regressions
  * self-hosted: add compare output test for new AST->ZIR code

  [ Code Hz ]
  * Pdb.openFile use `[]const u8` instead of `[]u8`

  [ Noam Preil ]
  * Clean up test harness
  * OOM -> catch unreachable

  [ Alexandros Naskos ]
  * Fixed crash when resolving peer types of *[N:s]const T and [*:s]const T

  [ arbrk1 ]
  * Fix issue #5618 (#5685)

  [ Ryan Liptak ]
  * Windows: Fix fs.Dir.openDir not handling STATUS_NOT_A_DIRECTORY
  * Add tests for using directory operations on files

  [ data-man ]
  * Use writer in benchmarks

  [ Andrew Kelley ]
  * self-hosted: working towards conditional branching test case

  [ Noam Preil ]
  * Stage2/Testing: Add convenience wrappers

  [ Ryan Liptak ]
  * Add tests for using file operations on directories

  [ Noam Preil ]
  * Add a `compiles` wrapper case
  * Stage2: fix incremental compilation after error
  * Stage2: exported symbol collision detection
  * Stage2: function redefinition detection for Zig code
  * Stage2: handle missing function names
  * Stage2/Testing: Simply incremental compilation tests
  * Stage2/Testing: Update documentation
  * Fix a dumb

  [ Andrew Kelley ]
  * README: add link to troubleshooting build issues wiki page

  [ Jonathan Marler ]
  * new allocator interface

  [ Ryan Liptak ]
  * fs.deleteFile: Translate to error.IsDir when appropriate on POSIX systems
  * Implement Dir.deleteFile in terms of deleteFileZ/deleteFileW
  * Dir.deleteFile: Fix symlink behavior when translating EPERM to EISDIR
  * Move fs-specific tests from os/test.zig to fs/test.zig

  [ Noam Preil ]
  * Stage2: remove clearErrors, fix ZIR export collision detection

  [ Jonathan Marler ]
  * new allocator interface after Andrew Kelley review

  [ Noam Preil ]
  * Stage2/TestHarness: Improve progress reporting
  * Disable test
  * Improve Tranform failure output
  * Rename type -> extension
  * Return instead of branch
  * Stage2/Module: Add symbol -> export lookup table

  [ Jonathan Marler ]
  * WasmPageAllocator: fix bug not aligning allocations

  [ Ryan Liptak ]
  * Disable wasi 'readFileAlloc on a directory' assertion for now

  [ Luna ]
  * std.os: make EBADF return error for read and write

  [ Jonathan Marler ]
  * Fix issue 5741, use after free
  * arena_allocator: refactor and use full capacity

  [ Andrew Kelley ]
  * stage2: implement function parameters
  * zig fmt and delete unused type

  [ Jonathan Marler ]
  * Revert "arena_allocator: refactor and use full capacity"
  * ArenaAllocator: use full capacity

  [ Jakub Konka ]
  * Handle ENOTCAPABLE in WASI
  * Fix compilation errors

  [ Luna ]
  * std.os: map EBADF to errors on WASI read/write syscalls

  [ Jakub Konka ]
  * Fix more compilation errors
  * Map ENOTCAPABLE into error.AccessDenied instead of error.NotCapable

  [ antlilja ]
  * Add new error message for unreachable else prongs * Adds error message for types: enum, int and bool * Adds compile error tests

  [ Shawn Anastasio ]
  * Implement std.os for powerpc64{,le}
  * Implement clone() for powerpc64{,le}
  * Implement required ABI bits for powerpc{,64,64le}
  * Implement std.start for powerpc64le

  [ Andrew Kelley ]
  * build: -Dlib-files-only prevents self-hosted compiler from being built

  [ CodeMyst ]
  * in docs removed "path can be absolute" for imports

  [ Chris Watson ]
  * Add documentation for @src() builtin

  [ Alexandros Naskos ]
  * Corrected default value field initialization in std.zeroInit

  [ Andrew Kelley ]
  * stage1: reimplement HashMap

  [ Jakub Konka ]
  * Add Dir.Iterator tests
  * Fix memory corruption in Dir.Iterator test

  [ Ian Simonson ]
  * Translate-c fix rhs not cast on array access

  [ Jakub Konka ]
  * Update lib/std/fs/test.zig

  [ Andrew Kelley ]
  * stage1 HashMap: store hash & do robin hood hashing
  * stage1 HashMap: linear scan for < 16 entries

  [ Timothee Cour ]
  * fix https://github.com/ziglang/zig/issues/4799

  [ Andrew Kelley ]
  * clean up readme
  * cmake: add -DZIG_WORKAROUND_POLLY_SO

  [ pfg ]
  * don't try to find config_h if it's not needed

  [ heidezomp ]
  * zig build --help: Consistent capitalization/punctuation

  [ joachimschmidt557 ]
  * std.mem.dupe is deprecated, move all references in std

  [ pfg ]
  * stage2: InfixOp add
  * stage2: builtin @as
  * stage2: add and @as tests

  [ xackus ]
  * stage1: add missing runtime safety for @intCast unsigned -> signed of same bit count
  * compiler-rt: fix bugs uncovered by previous commit

  [ Andrew Kelley ]
  * reimplement std.HashMap
  * update std lib to new hash map API
  * std hash map: do the pow2 improvement again
  * update more HashMap API usage

  [ Jonathan Marler ]
  * Fix issue 5757: increase branch quota for formatting enums

  [ emekoi ]
  * added custom format method for WindowsVersion

  [ Andrew Kelley ]
  * add doc comment for std.Target.Os.WindowsVersion

  [ Alluet ]
  * Rewrite std.fmt.parseInt

  [ Andrew Kelley ]
  * stage2: implement liveness analysis
  * std: add new array list functions
  * std: expose unmanaged hash maps
  * stage2: skeleton codegen for x64 ADD
  * stage2: codegen skeleton for cmp and sub

  [ Vexu ]
  * fix HashMap.clone()

  [ Noam Preil ]
  * Remove old comment

  [ Andrew Kelley ]
  * fix liveness analysis and not correctly propagating link errors
  * stage2: progress towards Block and CondBr codegen

  [ Noam Preil ]
  * Stage2: Refactor in preparation for C backend
  * CBE skeleton
  * Detect unexpected compilation errors in tests
  * CBE: Get test more useful
  * Working translation of empty function

  [ Jakub Konka ]
  * Add comment about memory invalidation in Iterator.next on Win

  [ Noam Preil ]
  * Fix a dumb in tests
  * CBE: Working function call w/ no args or return value
  * CBE: working asm Inputs and Outputs; std{int,def}.h auto-inclusion
  * CBE: Integrate into stage2 via --c-standard
  * CBE: Move standards determination to generated code

  [ Vexu ]
  * fix missing check on extern variables with no type

  [ Noam Preil ]
  * CBE: Some cleanup
  * CBE: truncate output file
  * CBE: Improve resource cleanup
  * CBE: Cleanup unimplementeds
  * Stage2: facepalm.
  * CBE: Only try to use GNU attribute when __GNUC__is set

  [ Andrew Kelley ]
  * stage2: machine code for condbr jumps
  * stage2: proper indenting when printing ZIR text
  * stage2 misc fixes
  * stage2: implement compare operator AST->ZIR

  [ Noam Preil ]
  * CBE: Emit asm decls for now, but rename to make them valid
  * CBE: Don't expose openCFile, always close file after an update

  [ Paul Espinosa ]
  * Rename langref's Index to Contents (TOC)

  [ Ryan Liptak ]
  * langref: Add test case for "if error union with optional"

  [ xackus ]
  * ci: check langref.html for html errors

  [ Ryan Liptak ]
  * langref: Expand "if error union with optional" test case

  [ Andrew Kelley ]
  * stage2: `if` AST=>ZIR
  * start to make test runner aware of logging

  [ Paul Espinosa ]
  * Explain Language Ref's Hello World

  [ Vexu ]
  * use correct cast function when doing `@floatCast` at comptime

  [ Andrew Kelley ]
  * Revert "use correct cast function when doing `@floatCast` at comptime"

  [ Josh Wolfe ]
  * remove stray allocator parameter

  [ Paul ]
  * Update doc/langref.html.in
  * Update doc/langref.html.in
  * Update doc/langref.html.in
  * Update doc/langref.html.in

  [ Vexu ]
  * use correct cast function when doing `@floatCast` at comptime

  [ Paul Espinosa ]
  * Introduce Error Union and Use Writer

  [ Vexu ]
  * add 'anytype' to self-hosted parser
  * add 'anytype' to stage1 and langref
  * Add test for `@typeInfo` declarations showing up in declaration order
  * use typeInfo instead of hardcoded tables in std.Target
  * run zig fmt on std lib and self hosted
  * fix parser tests and add test for anytype conversion
  * use 'anytype' in translate-c
  * update compile error tests and some doc comments

  [ Andrew Kelley ]
  * Sponsors Button => ZSF

  [ Vexu ]
  * fix alignment parsing in stage1
  * revert accidental format of tests

  [ daurnimator ]
  * std: add StringHashMapUnmanaged
  * std: use *Unmanaged data structures in http.Headers object
  * std: don't store allocator inside of std.http.HeaderEntry

  [ Jakub Konka ]
  * Fix incorrect continue condition in PreopeonList

  [ Sam Tebbs ]
  * Make allocator test functions public

  [ xackus ]
  * document a few functions in std.mem

  [ Isaac Freund ]
  * std: add mem.joinZ

  [ Vexu ]
  * check for invalid sentinel when creating pointer with `@Type`

  [ pixelherodev ]
  * CBE: Make C an ObjectFormat instead of a special bool (#5849)

  [ Noam Preil ]
  * Get basic return test working
  * CBE: Use hasCodeGenBits instead of checking against void and noreturn
  * CBE: Only generate `(void)` for calls whose return values are ignored
  * CBE: Code cleanup

  [ Andrew Kelley ]
  * stage2: peer type resolution with noreturn
  * stage2: implement function calling convention for calls
  * stage2: codegen: more branching support
  * stage2: add implicit return void where applicable
  * stage2: add retvoid support to CBE
  * stage2: add new test case
  * stage2: Module: use StringHashMapUnmanaged

  [ Paul Espinosa ]
  * Use Writer for Language Reference Hello World Example

  [ Nathan Michaels ]
  * Document top-level doc comments, per #2288.

  [ Andrew Kelley ]
  * stage2 parser: split out PrefixOp into separate AST Nodes
  * stage2: add ZIR support for BoolNot

  [ ~nue ]
  * Added octal formatting fo `fmt` functions. (#5867)

  [ Andrew Kelley ]
  * stage2: detect unreferenced non-volatile asm and NOT
  * stage2: fix liveness analysis of Call instructions
  * stage2: implement enough for assert() function to codegen
  * fix ability to call methods on enums with pointer-to-self
  * follow up from previous commit for generic methods
  * add std.meta.TrailerFlags API
  * stage2: VarDecl and FnProto take advantage of TrailerFlags API
  * TrailerFlags test: fix bad alignment assumption on 32-bit
  * stage2: extract AST=>ZIR code to separate file
  * stage2: breaking AST memory layout modifications

  [ haze ]
  * On darwin, only add the self exe to the cache hash for compiler id (#5880)

  [ Andrew Kelley ]
  * stage2: breaking AST memory layout modifications
  * stage2: local consts

  [ pfg ]
  * stage2: change large switch → inline for loop
  * stage2: period and suffixop

  [ Vexu ]
  * std.mem.zeroInit support initiating with tuples
  * translate-c: support initializer list expr macros

  [ data-man ]
  * Vectors clarification in docs

  [ Vexu ]
  * std.mem.zeroes use std.mem.set instead of `@memset`
  * add behavior tests fro macro translations

  [ pfg ]
  * stage2: support @"identifier" syntax

  [ Vexu ]
  * add is_tuple field to struct typeinfo

  [ data-man ]
  * Add trait.isTuple

  [ Vexu ]
  * fix floatCast type check regression
  * allow non-pointer extern opaque variables

  [ Andrew Kelley ]
  * stage2: codegen: refactor to always have comptime arch
  * stage2: implement register copying
  * stage2: fix implementation of liveness operandDies()
  * stage2: register allocator processes operand deaths

  [ purringChaos ]
  * Fix log.zig example.

  [ Andrew Kelley ]
  * stage2 AST: rename OptionalUnwrap to OrElse
  * stage2: AST: (breaking) flatten out suffix operations
  * stage2: ability for ZIR to map multiple tags to the same type

  [ Vexu ]
  * fix comptime comparisons of different sized floats
  * stage2: add float values
  * stage2: astgen for floats and other primitive literals
  * stage2: implement some casts for numbers
  * stage2: add floatCast to zir and ir
  * stage2: remove some dead code, fix build on aarch64
  * stage2: actually implement float casting

  [ Hiroki Noda ]
  * Use function attribute "frame-pointer"

  [ Jakub Konka ]
  * Add temporary fix to the CI on Win
  * Start drafting out os.readlink on Windows
  * Add readlink smoke test
  * Finish symlink implementation on Windows
  * Debug readlinkW using OpenFile
  * Add windows.ReadLink similar to OpenFile but for reparse points only
  * Use windows.CreateFileW to open the reparse point
  * Fix incorrect byte format of REPARSE_DATA_BUFFER struct
  * Use NtCreateFile to get handle to reparse point
  * Fix unlinkatW to allow file symlink deletion on Windows
  * Refactor
  * Fix readlink smoke test
  * Add SymlinkFlags needed to create symlinks to dirs on Win
  * Add smoke test for dir symlinks
  * Handle relative/absolute symlinks; add more tests
  * Ensure we use Win32 prefix in Win32 calls
  * Refactor
  * Fix compilation on other hosts
  * Fix more compilation errors on other hosts
  * Move symlink to fs.symlinkAbsolute with SymlinkFlags
  * Fix Windows build
  * Ensure Dir.deleteTree does not dereference symlinks
  * Add various build fixes
  * Start drafting CreateSymbolicLink using ntdll syscalls
  * Draft out dir symlinks branch
  * Finish drafting CreateSymolicLink using NT calls
  * Draft out ReadLinkW using NT primitives
  * Enable std.os.symlinkat tests on Windows
  * Add missing cross-platform Dir.readLink fns

  [ joachimschmidt557 ]
  * Make the default log handler print a newline

  [ luna ]
  * Add signalfd support (#5322)

  [ heidezomp ]
  * Fix std.log example to make the log handler print the newline

  [ Andrew Kelley ]
  * ci: looks like s3cmd wants a new path for the config file
  * self-hosted: AST flattening, astgen improvements, result locations, and more
  * ci: undo the recent changes. maybe upstream fixed it

  [ Jakub Konka ]
  * Refactor macOS build script in Azure
  * Re-apply temp msys2 python fix
  * Use -c flag in all s3cmd occurrences on Win

  [ Luuk de Gram ]
  * Stage2: Add support for substraction
  * Fixed test case
  * Restructured arithmetic operations
  * Rebase and skeleton for float support
  * Restructuring and f32/f64 support
  * Fix resolvepeertype() int signess and feedback improvements

  [ Michael Dusan ]
  * macOS: macho ld64.lld fixes

  [ yvt ]
  * Support taking extern pointers at comptime

  [ daurnimator ]
  * std: fix json parsing into unions

  [ Andrew Kelley ]
  * Revert "Support taking extern pointers at comptime"
  * update LLVM 10 version numbers to 11
  * update LLVM C++ API wrappers from llvm 10 to 11
  * update clang drivers from llvm 10 to 11
  * stage1: add missing math.h includes
  * llvm11: link against libClangToolingCore
  * ci: update msys2 installer

  [ meme ]
  * Add memory replacement routines

  [ Andrew Kelley ]
  * stage2: remove superfluous else => unreachable
  * run zig fmt on std.testing

  [ Sahnvour ]
  * add trait hasUniqueRepresentation
  * improve autoHash type switch floats shouldn't be autoHash'd as they have multiple representations for some values, preventing it by default is safer
  * make use of hasUniqueRepresentation to speed up hashing facilities, fastpath in getAutoHashFn is particularly important for hashmap performance

  [ Jonathan Marler ]
  * Provide Ip4Address and Ip6Address in addition to Address

  [ joachimschmidt557 ]
  * Fix bug in big.int.Mutable.toManaged() and add tests

  [ Henrik Laxhuber ]
  * Fix parsing of `unsigned` in translate-c.
  * Fix a use of appendToken to appendIdentifier in translate-c

  [ Vexu ]
  * translate-c: use ArrayList for macro tokens

  [ frmdstryr ]
  * Use writer for LinearFifo instead of deprecated outStream

  [ Ashok Gautham ]
  * Add meta viewport to fix mobile rendering, add missing <code> block

  [ Jakub Konka ]
  * Replace DeviceIoControl with FsControlFile

  [ Felix (xq) Queißner ]
  * Adds support for RunStep to use the result of a WriteFileStep.

  [ zigazeljko ]
  * Add comment explaining --stack-first option

  [ Andrew Kelley ]
  * stage2: astgen for all arithmetic and assignments

  [ Jay Petacat ]
  * std.elf: Fix read functions for 32-bit targets

  [ Andrew Kelley ]
  * stage2: fix function calls always having void return type
  * stage2: implement integer return values

  [ Vexu ]
  * add helpful error note for when function cannot return an error

  [ Andrew Kelley ]
  * self-hosted: refactor some code out of Module.zig into zir_sema.zig
  * stage1: hot path for resolving types of primitives
  * self-hosted: beginnings of stack allocation

  [ Felix (xq) Queißner ]
  * Fixes atomicSymLink looping when new_path already exists.

  [ Jakub Konka ]
  * Add Zig wrapper for kernel32.DeviceIoControl

  [ Andrew Kelley ]
  * std.fmt.format: small optimization to avoid runtime bloat
  * stage2: more progress towards mutable local variables
  * stage2: x86_64 codegen for movs to/from stack variables
  * stage2: fix format() of mutable pointer types
  * stage2: add ZIR emitType support for simple pointer types
  * stage2: codegen handles undefined values
  * stage2: fix superfluous returnvoid ZIR
  * stage2: improved codegen
  * stage2: register-aliasing-aware codegen
  * stage2: codegen: fix off-by-one stack variable offsets

  [ Jakub Konka ]
  * Split DeviceIoControl path into two fn call paths

  [ Vexu ]
  * compiler_rt: add floatditf
  * fix missing parser error for missing comma before eof

  [ Andrew Kelley ]
  * stage2: add DWARF info for the main compilation unit
  * stage2: add some tracy calls to link.zig functions
  * std.ArrayList: add appendNTimesAssumeCapacity
  * stage2: implement .debug_aranges DWARF

  [ Sam Tebbs ]
  * Print } as format argument in enum build option (#5953)

  [ Jakub Konka ]
  * Remove CreateDirectoryW and CreateFileW calls
  * Refactor internal Win routines to reuse OpenFile
  * Move delete file logic into windows.DeleteFile fn
  * Use NtCreateFile directly in ReadLink
  * Add some os.open and os.openat smoke tests
  * Add prelim `openW` and `openatW`
  * Fix opening NUL device on Windows

  [ Mantas Jonytis ]
  * add more blake2s tests
  * blake2s: off-by-one on update
  * add more blake2b test cases
  * blake2b: off-by-one on update
  * compute blake2 at compile time
  * make blake2 public
  * implement keyed blake2
  * remove unnecessary operations

  [ Jay Petacat ]
  * elf: Iterate over headers w/o need for allocator

  [ Jakub Konka ]
  * Apply suggestions from code review

  [ Vexu ]
  * add compile error for alignCasting zero sized types

  [ S0urc3C0de ]
  * Add rdynamic option to build.zig

  [ Isaac Freund ]
  * stage2: move format-specific code to link.File.X

  [ Andrew Kelley ]
  * std: add function for writing fixed width ULEB128
  * std.dwarf: add LNCT constants from DWARF v5
  * stage2: add the .debug_line header and associated data types
  * .debug_line incremental compilation initial support
  * .debug_line: don't rely on header_length field
  * .debug_line: avoid DW_FORM_strp to work around readelf/gdb
  * codegen: emit .debug_line ops for IR instructions
  * downgrade .debug_line to DWARFv4
  * downgrade .debug_info to DWARFv4
  * stage2: dwarf: fix standard opcode length of LNS_fixed_advance_pc

  [ Vexu ]
  * translate-c: recognize other type trait expressions

  [ Andrew Kelley ]
  * stage2 .debug_line: simpler strategy for incremental compilation
  * stage2 .debug_line stepping with gdb is working
  * stage2 codegen: revert the unneeded is_stmt stuff
  * self-hosted: add build option for log scopes
  * stage2: fix use-after-free of export symbol name
  * stage2: move link.File.ELF.SrcFn field from Module.Fn to Module.Decl
  * stage2 .debug_line: handle Decl deletes and updates
  * stage2: stop needlessly re-analyzing unchanged functions
  * stage2 .debug_line: handle Decl line numbers changing
  * stage2: fix memory leak with exported decl name
  * stage2: fix updating debug line info not resizing properly
  * stage2: link: fix not freeing debug line free list
  * stage2: fix ZIR support and C back end

  [ pfg ]
  * stage2: starting on a riscv64 backend
  * stage2: riscv hello world
  * stage2: riscv 0 argument non-nested function calls
  * stage2: riscv correctly aligned functions
  * stage2: riscv test case

  [ Andrew Kelley ]
  * codegen: introduce toCanonicalReg to clean up x86-specific logic
  * stage2 tests: support the -Denable-qemu options and friends
  * stage2 tests: fix qemu logic
  * update C lib/include/ files from clang 10 to 11rc1
  * libcxx: update from LLVM 10 to 11rc1
  * libcxxabi: upgrade from llvm 10 to 11rc1
  * libunwind: update from LLVM 10 to 11rc1
  * update install files for LLVM 11rc1
  * update clang command line options data from 10 to 11rc1
  * stage2: add missing newlines to cli error messages
  * update target CPU features from llvm 10 to 11rc1
  * zig build: fix addBuildOption for `[]const u8` and `?[]const u8`
  * zig build: fix addBuildOption for `[]const u8` and `?[]const u8`
  * zig fmt
  * std.os tests: improve robustness of "symlink with relative paths"

  [ Noam Preil ]
  * Stage2: minor File.ELF refactor
  * Codegen: 16-bit pointers

  [ Andrew Kelley ]
  * Revert "std.fmt.format: small optimization to avoid runtime bloat"

  [ Jakub Konka ]
  * Initial draft of GetFinalPathNameByHandle
  * Use NtQueryInformationFile unless unavailable
  * Add docs
  * Redo GetFinalPathNameByHandle using DeviceIoControl
  * Fix alignment issue

  [ Isaac Freund ]
  * stage2: make link data in Decl into unions

  [ Andrew Kelley ]
  * stage1: elide `@intToPtr` alignment safety check for 1-byte alignment
  * refactor now that stage1 supports anon default struct field inits
  * std: introduce GeneralPurposeAllocator
  * improvements & fixes for general purpose allocator integration
  * std.mem.Allocator: add return_address to the interface
  * utilize math.ceilPowerOfTwo
  * stage1: deal with WebAssembly not supporting @returnAddress()
  * restore previous behavior of allowing std.testing.allocator
  * update langref in light of new general purpose allocator
  * std lib general purpose allocator: disable stack tracing on mips
  * don't collect stack trace frames in release safe mode by default
  * std.heap.page_allocator: Windows support for growing without remapping
  * GeneralPurposeAllocator: naming convention refactor
  * fix general purpose allocator test cases on Windows
  * std: general purpose allocator: use AutoHashMap
  * stage2: fix crash on empty source file

  [ Jakub Konka ]
  * Address some review comments

  [ Felix (xq) Queißner ]
  * Fixes double alignment
  * Makes formatFloatValue not return error.NoSpaceLeft anymore.

  [ Felix Queißner ]
  * Uses getWritten instead of .pos + slicing

  [ Jakub Konka ]
  * Validate DOS path before returning
  * Convert prefix from u8 to u16 programmatically

  [ Andrew Kelley ]
  * std: dwarf_bits correction

  [ joachimschmidt557 ]
  * Update tools/process_headers.zig to latest zig

  [ Andrew Kelley ]
  * GeneralPurposeAllocator: use std.log instead of std.debug.print

  [ Vexu ]
  * translate-c: always add extern token for functions without body
  * translate-c: convert int to bool if bool is expected
  * translate-c: use mangled name when macro translation fails

  [ Maciej Walczak ]
  * copy_file_range linux syscall (#6010)

  [ Andrew Kelley ]
  * std.mem.Allocator: fix not passing return_address
  * GeneralPurposeAllocator: default to store more stack frames in test mode
  * stage2: set up per-Decl .debug_info
  * stage2: emit DW_TAG_subprogram for function Decls
  * stage2: basic support for parameters .debug_info

  [ Josias ]
  * docs: Fix reference to General Purpose Allocator

  [ heidezomp ]
  * std.log: add scoped logging struct
  * std.log: add documentation for scoped logging
  * std.log: don't state in docs that messages are logged to stderr

  [ Vexu ]
  * add error for unused/duplicate block labels

  [ Andrew Kelley ]
  * stage2: astgen for while loops

  [ Noam Preil ]
  * CBE: improve noreturn definition, support noreturn on MSVC
  * CBE: Use zig_noreturn instead of noreturn to avoid namespace conflict
  * Tests: print generated C on test failure
  * CBE: working parameters
  * CBE: support unreachable on GCC
  * CBE: Sorta working intcasts?
  * CBE: fix handling of IR dependencies
  * CBE: renderValue pays attention to Type, not Tag

  [ Andrew Kelley ]
  * stage2: anyerror -> explicit error set

  [ Jakub Konka ]
  * Add std.os.getFdPath and std.fs.Dir.realpath

  [ Koakuma ]
  * Add "ppc" prefix to number-modeled CPUs (#6006)

  [ Vexu ]
  * translate-c: ensure generated labels are unique

  [ heidezomp ]
  * std.log: (breaking) remove scope parameter from logging functions
  * std.log: update documentation and example for scoped logging

  [ Vexu ]
  * stage2: add optional types
  * stage2: gen optional types
  * stage2: implement unwrap optional
  * stage2: split unwrap_optional to safe and unsafe verions

  [ heidezomp ]
  * update std and src-self-hosted for std.log breaking change

  [ Vexu ]
  * translate-c: add return if one is needed

  [ Andrew Kelley ]
  * stage2: implement safety checks at the zir_sema level

  [ Maks S ]
  * langref: explain why comptime_float cannot be divided by comptime_int

  [ Dmitry Atamanov ]
  * Support tuples in mem.len and trait.isIndexable (#5897)

  [ Andrew Kelley ]
  * stage2: zir_sema for loops
  * stage1: fix enums having wrong debug info
  * stage2: implement while loops (bool condition)
  * langref: fix html error
  * stage2: astgen for non-labeled blocks

  [ Michael Dusan ]
  * ci linux: bump qemu-5.1.0

  [ Andrew Kelley ]
  * stage2: proper semantic analysis of improper returning of implicit void
  * std.zig.ast: extract out Node.LabeledBlock from Node.Block
  * stage2 astgen for LabeledBlock
  * stage2: populate some of the astgen switch possibilities
  * stage2: astgen for labeled blocks and labeled breaks
  * stage1: remove buggy "unable to inline function" compile error
  * stage2: codegen for labeled blocks
  * stage2: implement zig version

  [ Noam Preil ]
  * astgen: minor cleanup
  * CBE: minor doc change
  * Module: panic when encountering unimplemented node
  * Astgen: further cleanup

  [ Frank Denis ]
  * std/crypto: gimli.Aead.decrypt()'s ad should be const
  * Improve curve25519-based crypto
  * Remove mem.timingSafeEqual() for now
  * Initialize structures directly
  * Update lib/std/crypto/25519/field25519.zig
  * Update lib/std/crypto/25519/ristretto255.zig
  * Rename the field and scalar modules
  * Address @daurnimator feedback
  * Move loop decrements into continuations
  * Address more review issues
  * Add comment, use @truncate
  * Constify the ladder
  * Benchmark signatures
  * Work around sqrtRatioM1() issue in release-safe mode
  * Inline Fe.{sub,mul,sq} for a performance boost in release-safe mode
  * deinline edwards25519.{add,dbl}

  [ Isaac Freund ]
  * stage2: fix signed <-> unsigned Value casts

  [ Vexu ]
  * stage2: astgen for ptr types and address of
  * stage2: fix optimization causing wrong optional child types
  * stage2: astgen for if and while with optionals
  * stage2: astgen for if and while with error unions

  [ Jakub Konka ]
  * Add skeleton for MachO support in stage2
  * Move Mach-O to link/MachO.zig submodule

  [ Vexu ]
  * address review feedback

  [ xackus ]
  * stage1: fix non-exhaustive enums with one field

  [ Vexu ]
  * disallow '_' prong when switching on non-exhaustive tagged union
  * fix cast from invalid non-exhaustive enum to union

  [ Frank Denis ]
  * std/crypto: XChaCha20, detached modes and standard AEAD API
  * No need for an explicit deref
  * Export crypto.aead

  [ Andrew Kelley ]
  * stage2 test harness: at least build all compare output tests

  [ Isaac Freund ]
  * stage2/wasm: implement basic container generation
  * stage2/wasm: implement trivial codegen
  * stage2/wasm: write exports on flush, cleanup
  * stage2/wasm: only free types after func overwrite

  [ Luna ]
  * rename signalfd4 to signalfd
  * add signalfd to std.c.linux

  [ Andrew Kelley ]
  * std: signalfd: fix the types of things; add test

  [ Sergey Poznyak ]
  * add `zig info` command

  [ Isaac Freund ]
  * stage2/wasm: add basic test cases

  [ Andrew Kelley ]
  * simplify `zig info` and rename it to `zig env`
  * zig env: add global_cache_dir field
  * std.cache_hash: fix bug parsing inode
  * stage2: implement compiler id hash and add it to `zig env`

  [ Matthew Knight ]
  * added bpf() syscall and some supporting structs (#6061)

  [ Ashish Shekar ]
  * Handle singular param count word in error messages (#6073)

  [ Andrew Kelley ]
  * std.cache_hash: don't trust mtime granularity to be better than 1ms

  [ Eleanor Bartle ]
  * Cleaned up RISC-V instruction creation, added 32-bit immediates (#6077)

  [ Frank Denis ]
  * ristretto255: add uniform string->element map & fast equivalence check

  [ Soren ]
  * Fix opaque structs and C++ mangling

  [ Vexu ]
  * stage2: ensure discarded error union payload is void

  [ Andrew Kelley ]
  * stage1: let \r\n slide
  * std.cache_hash: temporary workaround for mtime precision on linux

  [ Vexu ]
  * stage2: astgen bool and/or
  * stage2: array types
  * stage2: validate param and variable types
  * stage2: enum literals

  [ Andrew Kelley ]
  * stage1: update compile error tests

  [ Vexu ]
  * stage2: character literals and multiline strings
  * stage2: split ref from lvalue and add compile error for invalid assignments

  [ Andrew Kelley ]
  * std.cache_hash: additionally use file size to detect modifications

  [ Jakub Konka ]
  * Write out Mach-O header
  * Fix compile error

  [ Andrew Kelley ]
  * build: -Dforce-link-libc now also applies to test-stage2
  * std.heap.GeneralPurposeAllocator: add `never_unmap` config option
  * test_runner: don't assume the GeneralPurposeAllocator config
  * stage2: minor cleanup
  * stage2: fix use-after-free when printing ZIR

  [ Isaac Freund ]
  * stage2/link: clarify comments on calling order
  * stage2/wasm: do incremental compilation in-memory
  * stage2/wasm: implement function calls

  [ Nathan Michaels ]
  * Change std.debug.warn to std.log.info in init-exe template. (#5941)

  [ Jakub Konka ]
  * Update src-self-hosted/link/MachO.zig

  [ Andrew Kelley ]
  * stage2: Module enumerates the possible top level decls
  * stage2 codegen: proper abstraction for re-using dying operands

  [ dbandstra ]
  * fixes and improvements for parseCharLiteral

  [ Tadeo Kondrak ]
  * Remove offset field from TypeInfo.StructField
  * Implement @Type for structs without decls support
  * Update compile-errors test for @Type(.Struct)

  [ Vincent Rischmann ]
  * builder: implement integer options

  [ Tadeo Kondrak ]
  * Small fixes for @Type(.Struct)

  [ Vexu ]
  * stage2: implement global variables
  * stage2: fix astgen of decl ref, add test for global consts
  * stage2: handle var attributes
  * stage2: emit zir variable fix, array type and enum literal support

  [ Andrew Kelley ]
  * optimize the memory layout of Module.Fn and Module.Var

  [ StrangeBug ]
  * Add handler for INVALID_HANDLE to prevent infinite loop when stderr is not available.

  [ Andrew Kelley ]
  * windows: match the same error code for EBADF

  [ Jakub Konka ]
  * Write page zero as first segment for Mach-O exes

  [ Vexu ]
  * translate-c: correct translation of global variables

  [ Jakub Konka ]
  * Apply suggestions from code review

  [ Vexu ]
  * translate-c: correctly put static and extern local variables in global scope
  * disallow extern variables with initializers
  * correct llvm linkage conversion

  [ Andrew Kelley ]
  * add license header to all std lib files
  * allow running the stage2 tests in release mode
  * update libunwind to llvm11rc2

  [ Frank Denis ]
  * Breaking: sort std/crypto functions into categories
  * Add truncated SHA512 variants
  * Repair crypto/benchmark; add BLAKE2b256
  * Remove the reset() function from hash functions
  * Remove explicit comptime

  [ heidezomp ]
  * add UTIME_NOW and UTIME_OMIT constants for use in utimensat/futimens

  [ Frank Denis ]
  * Hash functions now accept an option set
  * Update tools/process_headers.zig
  * Fix missing init() update in std/build/write_file.zig

  [ Vexu ]
  * stage2: implement rest of simple pointer types
  * stage2: complex pointer types
  * stage2: slice types
  * stage2: comptime decl

  [ Andrew Kelley ]
  * add missing mutability check in simplePtrType
  * stage2: move all tests to compare_output.zig
  * stage2: don't test compile errors of ZIR
  * stage2: reorganize tests
  * stage2: make the cache dir if it doesn't already exist

  [ Jakub Konka ]
  * Add macosx end-to-end smoke test

  [ Frank Denis ]
  * Make poly1305 faster
  * Force myself to use unusual integer sizes a little bit more :)
  * No need to keep a 128-bit carry around

  [ Matt Knight ]
  * moved bpf syscall, added some bpf instructions and tests
  * decided to split up loading of 64-bit immediates
  * fixed bpf namespace

  [ Isaac Freund ]
  * std: sync TailQueue with new SinglyLinkedList API

  [ Andrew Kelley ]
  * stage2: decouple codegen.zig from ELF

  [ Tadeo Kondrak ]
  * Implement @Type for Enum
  * Update compile-errors test for @Type(.Enum) changes
  * @Type for Enum fix: use correct decls_scope

  [ Andrew Kelley ]
  * stage2: implement spilling registers to the stack

  [ Isaac Freund ]
  * std: remove init functions from linked list nodes

  [ Frank Denis ]
  * Promote hash/siphash to crypto/siphash

  [ Tadeo Kondrak ]
  * Remove TypeInfo.Error.value

  [ Jakub Konka ]
  * Add entry_point_command struct to Mach-O definitions

  [ Jan200101 ]
  * update update_glibc and process_headers to latest zig

  [ Matthew Knight ]
  * Bpf: move under os/linux instead of bits (#6126)

  [ Frank Denis ]
  * cache_hash: hash function change
  * Improve documentation on siphash recommended parameters

  [ Andrew Kelley ]
  * stage2: codegen: fix crash

  [ Noam Preil ]
  * Targets: add SPU Mark II architecture
  * SPU-II: undefined0 inline asm
  * SPU-II: Implement function calls
  * SPU-II: Fix linking
  * SPU-II: Add common definitions
  * SPU-II: Test harness skeleton
  * SPU-II: Ignore @breakpoint for now
  * SPU-II: Fix logging in interp, remove JIT-compat code
  * Linker: fix GOT production on 16-bit targets
  * Tests: implement SPU-II harness
  * Linker: make defaults read-only
  * SPU-II: use undefined1 as breakpoint
  * Tests: limit SPU-II cycle count
  * Codegen: Move REX assert to comptime

  [ Andrew Kelley ]
  * stage2: clean up SPU Mk II code

  [ Jan200101 ]
  * update glibc headers to 2.32
  * update glibc abi list for 2.32

  [ daurnimator ]
  * std: refactor fs.openFileZ flag handling
  * std: use O_NOCTTY flag

  [ joachimschmidt557 ]
  * Start working on stage2 ARM backend
  * stage2: Implement genBreakpoint for ARM
  * stage2: Implement setReg, call, ret, asm for ARM
  * stage2: Add Hello World test for ARM backend

  [ Luna ]
  * remove licensing comments from init-exe/init-lib

  [ LiterallyVoid ]
  * Fix unused argument error when formatting std.Target

  [ Vexu ]
  * add error checks to `@Type`
  * fix error note using invalid source node

  [ Jakub Konka ]
  * Specify path to dyld in Mach-O
  * Link against libSystem when generating Mach-O exe
  * Clean up draft for merging into upstream

  [ extrasharp ]
  * Add Keyword Reference section
  * Make changes

  [ Jakub Konka ]
  * Add (empty) __TEXT segment load command

  [ Rocknest ]
  * Fix & update windows version stuff (#6157)

  [ Andrew Kelley ]
  * Revert "Merge pull request #6137 from Jan200101/update/glibc-2.32"

  [ extrasharp ]
  * Add "table-wrapper" div

  [ Vexu ]
  * stage2: astgen prefix ops
  * stage2: anyframe and error union types
  * stage2: error set declarations
  * stage2: implement accessing error values
  * stage2: fix field access of array pointers
  * stage2: error set types

  [ Andrew Kelley ]
  * stage2: getErrorValue takes advantage of HashMap getOrPut API
  * stage2: astgen: kill the "lvalue" ResultLoc tag
  * stage2: fix use-after-free in elf linker code
  * std: GeneralPurposeAllocator: set freed bytes to undefined
  * update libunwind to llvm 11rc2
  * std: clean up GeneralPurposeAllocator memset code
  * std.math.big: fix use-after-free
  * std.rand: promote normal comments to doc comments

  [ Jakub Konka ]
  * Hardcode runtime (libSystem) version to minimum possible

  [ Andrew Kelley ]
  * stage2 codegen: Rework genCondBr
  * stage2: codegen for conditional branching
  * stage2: support debug dumping zir as a build option
  * stage2: codegen: fix reuseOperand not doing death bookkeeping

  [ Frank Denis ]
  * Improve crypto benchmarks
  * Rename `at` to `tag` in AEADs
  * Rename blackBox, move it to std.mem.forceEval()
  * forceEval() -> doNotOptimizeAway()

  [ Sobeston ]
  * std.mem.count

  [ Vexu ]
  * stage2: astgen for loops
  * stage2: add helpful error message for invalid for operands
  * stage2: array access astgen
  * stage2: astgen catch
  * stage2: codegen needed for basic for loop

  [ Andrew Kelley ]
  * stage2: correct logic for analyzeIsNull

  [ Cléo Rebert ]
  * Added edge case test to mem.count

  [ Asherah Connor ]
  * ensure main return type is not i8

  [ Tadeo Kondrak ]
  * std.meta.TrailerFlags: use @Type to improve API
  * std.zig: Update to new std.meta.TrailerFlags API
  * stage2: Update to new std.meta.TrailerFlags API
  * std.meta.TrailerFlags fixes

  [ Kate Tsuyu ]
  * std: Add std.math.divCeil
  * std.math.divCeil: handle floats correctly
  * std.math.divCeil: handle floats correctlier
  * std.math.divCeil: conform to more test cases

  [ joachimschmidt557 ]
  * Improve io.Reader.skipBytes and add tests

  [ Lachlan Easton ]
  * Refactor zig fmt indentation. Remove indent from rendering code and have a stream handle automatic indentation

  [ Kate Tsuyu ]
  * std.math.divCeil: support comptime_int/float
  * std.math.divCeil: move compile error to top
  * std.math.divCeil: move compile error back down
  * std.math.divCeil: use expectEqual for tests
  * std.math.divCeil: fix expectEqual argument order

  [ wozeparrot ]
  * fix SimpleTextInputProtocol

  [ LemonBoy ]
  * gpa: Fix bookkeeping logic

  [ Lachlan Easton ]
  * zig fmt review comments
  * Use ArrayList instead of fixed array for auto_indenting_stream

  [ LemonBoy ]
  * std: Open the eventfd fd with CLOEXEC flag
  * compiler-rt: Add missing floatdisf routine

  [ Sahnvour ]
  * handle lack of privilege to create symbolic links on windows

  [ Jakub Konka ]
  * Add more missing MachO constants and structs

  [ daurnimator ]
  * std.ChildProcess: pass CLOEXEC when creating error pipe

  [ Tadeo Kondrak ]
  * std.zig.ast: make getTrailer/setTrailer private and add getters/setters
  * Remove @OpaqueType

  [ Andrew Kelley ]
  * fix tools/process_headers.zig regression
  * update glibc headers to 2.32
  * update glibc ABI files to 2.32

  [ Tadeo Kondrak ]
  * std.zig.render: rewrite @OpaqueType() to @Type(.Opaque)
  * std.zig.render: specify when rewrite should be removed

  [ LemonBoy ]
  * gpa: Don't leak memory when the upper bound is hit

  [ Lachlan Easton ]
  * zig fmt: Remove dynamic stack from auto-indenting-stream
  * zig fmt: Set indent_delta to 2 when rendering inline asm

  [ Tadeo Kondrak ]
  * translate_c: fix shadowing on nested blocks

  [ Andrew Kelley ]
  * zen of zig: reword the last one a little bit
  * readme: link to wiki page for installing from a package manager

  [ Jan200101 ]
  * follow filesystem hierarchy standard when adding lib directories

  [ Andrew Kelley ]
  * ci: skip compile error tests on Windows

  [ Lachlan Easton ]
  * zig fmt: Fix regression not covered by testing

  [ Andrew Kelley ]
  * stage2: introduce the ability for Scope.Block to be comptime

  [ Lachlan Easton ]
  * zig fmt: Fix merge errors

  [ LemonBoy ]
  * ir: Typecheck the sentinel value in *[N:S1]T to [S2]T casts
  * std: Fix C-string with missing NUL terminator

  [ pwzk ]
  * Fixing dylib search path

  [ Andrew Kelley ]
  * stage2: proper split of requireRuntimeBlock and requireFunctionBlock

  [ Sahnvour ]
  * hash_map: rename to ArrayHashMap and add new HashMap implementation

  [ Tadeo Kondrak ]
  * builtin: Add TypeInfo.StructField.is_comptime

  [ Andrew Kelley ]
  * stage2: support dbg_stmt at comptime

  [ LemonBoy ]
  * std: Don't trust stat() size in readAllAlloc fns
  * std: ArrayList.initCapacity now respects the specified cap

  [ Lachlan Easton ]
  * zig fmt: Patch rename stream to ais (auto indenting stream) & other small refactors

  [ Bas van den Berg ]
  * Made some changes and additions to the networking to make it work on windows.

  [ Aransentin ]
  * Add the sync functions

  [ daurnimator ]
  * std: add fmt option to escape non-printable characters

  [ pfg ]
  * "Support" allocating 0 bit types

  [ Jens Goldberg ]
  * Add C declarations and tests for the sync functions
  * Split the sync tests into sync and fsync

  [ Bas van den Berg ]
  * os.send(to) and os.recv(from) functions made to work on windows.

  [ Vexu ]
  * stage2: various small type fixes
  * stage2: astgen orelse
  * stage2: astgen slice
  * stage2: slice return type analysis
  * stage2: fix tokenizer float bug
  * stage2: split Scope.Container from Scope.File

  [ Isaac Freund ]
  * std: fix linux uid_t, use uid_t/gid_t in std.os
  * std: ensure seteuid/setegid do not change saved id
  * std: add seteuid/setegid to std.os

  [ Vexu ]
  * remove deprecated fields from types
  * update uses of deprecated type field access

  [ LemonBoy ]
  * std: Fix silent overflow in float parsing code

  [ Kenta Iwasaki ]
  * os: return error.SocketNotListening for EINVAL on accept (#6226)

  [ Lachlan Easton ]
  * std meta: fix use of alignOf in meta.cast

  [ Jakub Konka ]
  * Write out simple Mach-O object file

  [ Andrew Kelley ]
  * stage2: upgrade Scope.Container decls from ArrayList to HashMap

  [ Felix (xq) Queißner ]
  * Introduces a space after the ellipsis for test and progress.

  [ pfg ]
  * Test 0 bit allocation

  [ Alexandros Naskos ]
  * Start working on PE/COFF linking.
  * Write PE section table
  * Completed basic PE linker for stage2 Added std.coff.MachineType Added image characteristic and section flag valued to std.coff Added std.Target.Cpu.Arch.toCoffMachine Fixed stage2 --watch flag on windows
  * Added .pe ObjectFormat MachO linker no longer collects unused dwarf debug information

  [ LemonBoy ]
  * std: Minor changes to the fs module
  * std: Fix for 32bit systems

  [ Vexu ]
  * langref: atomic ops are allowed on pointers

  [ yettinmoor ]
  * document how to escape curly braces in fmt.format

  [ Vexu ]
  * update rest of tests

  [ Andrew Kelley ]
  * provide default implementation of std.log on freestanding

  [ dec05eba ]
  * Use boyer-moore-horspool algorithm for indexOfPos and lastIndexOf
  * Create skipping table
  * Use boyer-moore-horspool with all types of T
  * Only use boyer-moore-horsepool for types that are power of 2
  * Fix lastIndexOf and add tests that do not fallback to linear search
  * Make preprocess function take comptime sized slice
  * Remove type size check, looks like its not needed
  * Check if the type has unique bit representation to see if it can be compared byte-wise
  * Fix start index if @sizeOf(T) > 1
  * Fix indexOf and lastIndexOf with empty needle
  * Add comment to clearify why the first/last element in preprocess is skipped
  * Use better haystack size and needle size for cutoff between linear and BMH

  [ Daniel Ludwig ]
  * std.ChildProcess: use "\Device\Null" on Windows

  [ Matt Knight ]
  * implemented and testing op codes for instructions documented in the unofficial bpf insn reference
  * removed redundant pseudo insn
  * improved compile error message
  * fixed improper builtin import
  * added btf
  * fixed missing 'packed' keyword

  [ Tadeo Kondrak ]
  * Implement @Type for Union
  * Update standard library for removal of TypeInfo.UnionField.enum_field
  * Use less inefficient method of replacing TypeInfo.UnionField.enum_field
  * @Type for union fixes

  [ Matt Knight ]
  * changed enums to lower case

  [ Peter Spiess-Knafl ]
  * Fix compile when using EFI target (Fixes #6275)

  [ Vincent Rischmann ]
  * big int: fix Managed.dump()

  [ Matt Knight ]
  * added license comments

  [ Matthew Knight ]
  * BPF: add some more documentation (#6268)

  [ Matt Knight ]
  * added map create, update, delete, and prog load

  [ LemonBoy ]
  * std: Add DEFLATE and zlib decompressors

  [ Andrew Kelley ]
  * build.zig: ignore the compression test files

  [ Bas van den Berg ]
  * fix identation with zig-fmt
  * add unreachable
  * change socklen_t to u32 and add appropriate casts when calling WSA

  [ Timon Kruiper ]
  * Zlib: Make deinit function public

  [ Andrew Kelley ]
  * ci: skip non native builds on windows to save time

  [ xackus ]
  * std: clean up bitrotten imports in crypto

  [ Jens Goldberg ]
  * Add the Linux TCP socket options

  [ Mark Barbone ]
  * Add resize for arena allocator

  [ Jakub Konka ]
  * Fix bug where __text section would get overwritten
  * Do not pad out text blocks

  [ Zachary Meadows ]
  * Switch type of HashMap's count from usize to u32 (#6262)

  [ Lachlan Easton ]
  * zig fmt: fix #3978, fix #2748
  * Add passing test. close #5343

  [ Vexu ]
  * translate-c: check for builtin typedef macro identifiers

  [ Andrew Kelley ]
  * start moving `zig cc` to stage2
  * work around stage1 invalid LLVM IR
  * stage2: improve log message format
  * stage2: infer --name in more ways
  * stage2: more progress moving `zig cc` to stage2
  * organize some TODO comments
  * stage2: eliminate the "compiler id" concept
  * stage2: compiling C objects with clang

  [ Bas van den Berg ]
  * Handle some WSA errors

  [ Andrew Kelley ]
  * stage2 linker code supports opening an intermediate object file
  * stage1: link: fix incorrect LDM option for mips64
  * stage2: progress towards LLD linking

  [ Literally Void ]
  * Fix issue #6303: iterating empty PriorityQueue crashes

  [ Vexu ]
  * translate-c: support sizeof and _Alignof in macros

  [ Bas van den Berg ]
  * implement poll for windows with WSAPoll (only available on vista and higher)

  [ Isaac Freund ]
  * std: fix bitrot in process.posixGetUserInfo()
  * std: add option to use single-threaded event loop
  * std: fix errorset of std.os.seteuid/setegid
  * std: complete C definitions for uid/gid setters

  [ Christian Wesselhoeft ]
  * fs/file.zig: Update reader to use type alias

  [ Andrew Kelley ]
  * update the stack trace test case for lines added to start.zig
  * std.fs.File: fix typo in writeFileAll
  * stage1: fix crash with slice type
  * stage2: loading glibc metadata

  [ Isaac Freund ]
  * std: allow overriding install dir of artifacts
  * std, stage1: make shared library versioning optional

  [ Andrew Kelley ]
  * add a manifesto to the readme

  [ LemonBoy ]
  * std: Make the DEFLATE decompression routine 3x faster
  * Re-enable a compression test

  [ Isaac Freund ]
  * std: add prctl definition for linux
  * std: add prctl wrapper to std.os
  * std: add securebits definitions for linux
  * std: add prctl definition when linking libc

  [ Rob Napier ]
  * Add crypto.kdf.pbkdf2

  [ LemonBoy ]
  * std: Add a gzip decoder

  [ Andrew Kelley ]
  * fix zig_llvm.h not complying with C
  * std.cache_hash: bump up the base64 digest len to avoid '=='
  * stage2: linking with LLD and building glibc static CRT files

  [ Rob Napier ]
  * Review comments from pbkdf2.zig
  * Replace Hash function with Prf. Correct offset bit-width.
  * pbkdf2 "very large dklen test" should just check for crashes

  [ Matt Knight ]
  * added helper definitions

  [ Rob Napier ]
  * Improve doc text
  * Explicitly reference std.crypto.kdf in test case
  * Extract kdf.zig to provide namespace documentation
  * Use comptime to expose public method to doc system

  [ Matt Knight ]
  * got booleans wrong

  [ Rob Napier ]
  * pbkdf2 offset into dk should be usize, not u64.

  [ Matt Knight ]
  * removed all those kern aliases
  * changed to opaque

  [ Rocknest ]
  * Convert asserts to errors, make sure nothing overflows
  * Reference all crypto declarations

  [ LemonBoy ]
  * std: Limit the read/write size on Darwin

  [ Rocknest ]
  * fix ref

  [ LemonBoy ]
  * std: Make the CRC32 calculation slightly faster

  [ Rocknest ]
  * fix build
  * flip condition

  [ Andrew Kelley ]
  * std.cache_hash: break up the API and improve implementation
  * stage2: caching system integration & Module/Compilation splitting
  * stage2: rename Module to Compilation
  * stage2: rename ZigModule to Module
  * stage2: fix not creating cache o dir before writing to it
  * stage2: don't create empty object files when no zig source
  * stage2: fix bad include path for glibc abi-note.S
  * stage2: CRT files retain locks on the build artifacts
  * stage2: don't bother building glibc when only doing build-obj
  * stage2: namespace cache dir with C source path
  * stage2: building glibc Scrt1.o
  * revert bogus `enum` keywords in zig_llvm.h
  * fix stage1 regressions in this branch
  * move std.cache_hash from std to stage2
  * disable sourcehut freebsd CI checks

  [ Vexu ]
  * fix meta.cast behavior; add exhaustive tests
  * translate-c: determine sizeof using std.meta.sizeof

  [ Andrew Kelley ]
  * stage2: implement writing archive files
  * track all TODO comments in BRANCH_TODO file
  * ci: enable std lib tests for freebsd
  * ci: update freebsd to use hut.lavatech.top instead of sr.ht
  * ci: use hut.lavatech.top for updating the download page
  * Revert "disable sourcehut freebsd CI checks"
  * stage2: refactor 2 CObject fields to use CSourceFile
  * ci: disable some freebsd tests to save time
  * stage2: support for machine code model CLI
  * integrate target features into building C source files
  * integrate target features into building assembly code
  * stage2: don't depend on windows SDK C++ code when unavailable
  * stage2: building glibc libc_nonshared.a CRT file

  [ LemonBoy ]
  * std: Fix typo in ELF section header iterator

  [ Andrew Kelley ]
  * stage2: add missing import to libc_installation.zig
  * update the zen of zig

  [ Samrat Man Singh ]
  * Use std.log in LibcInstallation `parse` instead of taking `stderr`

  [ Andrew Kelley ]
  * ci: update the on_master_success secret to lavatech
  * std: handle sharing violation when deleting a file on windows
  * stage2: eliminate one failure path in building c object

  [ Rocknest ]
  * Add an error set

  [ Andrew Kelley ]
  * stage2: implement .d file parsing for C objects
  * stage2: update to new LibCInstallation API

  [ Nathan Michaels ]
  * Fix a typo.

  [ Andrew Kelley ]
  * std.crypto siphash: fix assertion on the size of output buffer
  * stage2: building glibc shared objects

  [ LemonBoy ]
  * std: Fix {*} printing of non-pointer types

  [ Joran Dirk Greef ]
  * std: add io_uring library
  * Add short license and copyright notice

  [ Tadeo Kondrak ]
  * stage1: fix @Type(.Union) not resolving its tag type

  [ Joran Dirk Greef ]
  * Check kernel support for single_mmap, accept, and read/write

  [ Andrew Kelley ]
  * ci: disable git autocrlf
  * ci: undo mangled autocrlf files before building
  * stage2 Cache: use hex instead of base64 for file paths
  * stage2: std.log.err is an error not a warning
  * stage2: glibc shared objects use ok file to detect cache hits
  * stage2: build glibc shared objects using assembly files

  [ LemonBoy ]
  * std: Respect user-specified alignment when formatting ints

  [ Andrew Kelley ]
  * stage2: building libunwind.a
  * stage2: don't add unused args to assembly compilations
  * stage2: ask for a higher open fd limit
  * stage2: verify -Wl zig cc behavior

  [ LemonBoy ]
  * translate-c: Fix formatting of non-printable chars

  [ Joran Dirk Greef ]
  * Use != 0 for bitwise flag conditions
  * Remove comment
  * Add IORING_SQ_CQ_OVERFLOW to std/os/bits/linux.zig
  * Use std.builtin
  * Use x.y for C-style x->y instead of x.*.y

  [ Ryan Liptak ]
  * Add rename to std.fs API
  * Fix compile error in os.renameatW

  [ Andrew Kelley ]
  * delete all stage1 c++ code not directly related to compiling stage2
  * stage2: implement --show-builtin
  * stage2: add CLI for `zig translate-c`
  * std: start: use std.log instead of stderr

  [ Lachlan Easton ]
  * zig fmt: Add test for nesting if expressions
  * zig fmt: Fix erroneously commented out code, add passing test case to close #5722
  * zig fmt: Allow trailing comments to do manual array formatting. close #5948
  * zig fmt: Don't consider width of expressions containing multiline string literals when calculating padding for array initializers. fixes #3739 Changes some of the special casing for multiline string literals.
  * zig fmt: fix comments and multiline literals in function args
  * zig fmt: Small cleanup
  * zig fmt: fix #6171
  * zig fmt: Fix regression in ArrayInitializers
  * zig fmt: Special case un-indent comma after multiline string in param list

  [ Calle Englund ]
  * Workaround MacOS build failure due to #6087

  [ zenith391 ]
  * Add "emit_docs" field to LibExeObjStep.

  [ LemonBoy ]
  * stage1: Fix edge case in casting between optional types

  [ Andrew Kelley ]
  * stage2 now supports using stage1 as a backend for compiling zig code

  [ Joran Dirk Greef ]
  * @ptrCast fds.ptr to *const c_void for io_uring_register()
  * Do not register /dev/zero as an fd when testing queue_readv()
  * Test IORING_REGISTER_FILES but avoid sparse fd sets
  * Fix std @import
  * Add splice_fd_in to io_uring_sqe and future-proof for anonymous unions
  * Move to std/os/linux
  * Use linux.IORING_SQ_CQ_OVERFLOW
  * Remove dangling @import from std
  * Return error.UnsupportedKernel for ENOSYS
  * Remove unused import aliases
  * Rename to error.SubmissionQueueFull
  * Allow the kernel to drive feature detection
  * Remove default values from io_uring_sqe struct
  * Zero the SQE slot and assign, instead of initializing with default values
  * Upgrade check_errno() to an exhaustive switch (safer)
  * Fix io_uring_sqe to use the names of the first member of each union

  [ LemonBoy ]
  * std: Fix metadata corruption in HeapAllocator

  [ Joran Dirk Greef ]
  * Handle all possible syscall errors and bring errors in line with os.zig
  * Use os.fd_t instead of i32 and assert against c_int for syscall safety
  * Fix opcode support detection for read/write test
  * Add safety checks
  * Make enter(), flush_sq(), sq_ring_needs_enter(), cq_ring_needs_flush() public
  * Test structs and offsets
  * Add IORING_FEAT_FAST_POLL
  * Add io_uring syscalls to os.bits.linux.mips.SYS
  * Cache mask instead of dereferencing mask pointer
  * Use @intCast instead of @truncate on io_uring_enter() result
  * Add flags to queue_fsync() signature as per liburing
  * Use @intCast instead of @truncate
  * Define SPLICE, PROVIDE_BUFFERS, REMOVE_BUFFERS and TEE opcodes and flags

  [ Vexu ]
  * stage2: make DepTokenizer non-allocating
  * stage2: DepTokenizer add target resolver
  * stage2: DepTokenizer print errors
  * stage2: update uses of DepTokenizer

  [ Andrew Kelley ]
  * ci: drop the cmake patch for linux
  * cmake: output better message when building self-hosted
  * stage2: building compiler_rt and libc static archive with stage1
  * Cache integration for stage1 zig code compilation
  * stage1: resolve builtin.zig path when bootstrapping
  * rename src-self-hosted/ to src/
  * stage2: implement `zig run` and `zig test`
  * fix regressed stage2 test harness
  * stage2: fix linking libc trying to depend on itself
  * stage2: implement building & linking against libcxx and libcxxabi

  [ Bhargav Srinivasan ]
  * adding a function to update the priority of an element

  [ Andrew Kelley ]
  * stage2: implement `zig init-lib` and `zig init-exe`

  [ Bhargav Srinivasan ]
  * using binary search function from std.sort
  * sorry, local compiler using different version of zig
  * items are not sorted, using linear search
  * implemented efficient heapreplace
  * replace linearSearch with mem.indexOfScalar, return not found error, factor out siftUp from addUnchecked, use compareFn to decide siftUp/siftDown
  * return not found error correctly
  * removing redundant assert

  [ Andrew Kelley ]
  * stage2: implement using the global cache dir
  * build runner: allow for a bit longer -D options
  * stage2: implement zig build
  * stage2: implement --pkg-begin and --pkg-end CLI args
  * stage2: link_libc=true on OS's that require it for syscalls
  * eliminate dependency of libzigcpp.a on libzigstage1.a

  [ Timon Kruiper ]
  * Eventloop: Fix deadlock in linux event loop implementation

  [ Calle Englund ]
  * Update macOS build instructions with workaround

  [ Timon Kruiper ]
  * Eventloop: Enable basic event loop test, fixed by previous commit

  [ Andrew Kelley ]
  * fix trying to link libc for static libs and objects
  * stage2: implement --main-pkg-path
  * stage2: support passing extra C flags to C source files
  * stage2: support rpaths
  * test_runner: fix missing newline in log
  * stage2: don't build libunwind on OS's that don't need it
  * use ascii range for the --watch REPL prompt
  * stage2: capture LLD stderr into a buffer

  [ Frank Denis ]
  * ZIG_WORKAROUND_4799 is not required with LLVM 10.0.1

  [ Andrew Kelley ]
  * stage2: building musl libc from source
  * nobody likes my std.process.cleanExit idea

  [ Isaac Freund ]
  * docs: update implementation status for @Type()

  [ Frank Denis ]
  * Move PBKDF2 to a pwhash category, clarify what that category is

  [ Andrew Kelley ]
  * stage2: print the test command after it fails

  [ Ogromny ]
  * Fix typo in documentation

  [ Frank Denis ]
  * Revamp crypto/aes

  [ Loris Cro ]
  * accept
  * connect
  * read
  * readv
  * pread
  * preadv
  * write
  * writev
  * pwrite
  * pwritev
  * sendto
  * recvfrom

  [ Andrew Kelley ]
  * stage2: implement @cImport
  * don't delete C import .c source from zig-cache
  * correct `@cImport` caching to handle "unhit" case
  * --main-pkg-path properly resolves the relative root src file path
  * zig build: update to use new --version flag instead of legacy flags

  [ Josh Wolfe ]
  * build.zig: addBuildOptionArtifact

  [ Andrew Kelley ]
  * I think this test is still flakey
  * fix a round of regressions in this branch
  * std.log: better default for printing logs

  [ Felix (xq) Queißner ]
  * Implements std.meta.ArgsTuple.
  * Implements std.meta.Tuple(), implements #4607 in userland.

  [ LemonBoy ]
  * std: ArenaAllocator tries to resize before allocating

  [ Loris Cro ]
  * update doc comments

  [ Tadeo Kondrak ]
  * std.fmt: add comptimePrint

  [ Andrew Kelley ]
  * ELF linking supports root src directory to be cwd

  [ Loris Cro ]
  * Remove noop check

  [ Andrew Kelley ]
  * add some tracy calls

  [ Suirad ]
  * Stdlib fix for os.windows.deleteFile to fail with a proper error when attempting to delete a directory that isnt empty
  * Add clarification comment

  [ Andrew Kelley ]
  * stage2: disable lld caching when output dir is owned by user
  * update test case for init-exe with respect to new template
  * std.ArrayHashMap: count and iterator are not deprecated
  * stage2: properly handle zig cc used as a preprocessor
  * implement -femit-asm, -femit-docs, -femit-llvm-ir, etc
  * fix logic for choosing when dynamic linking is required
  * stage0: update CLI to match stage2
  * move to stage1-specific cache manifest emission of extra stuff
  * stage2: building musl: fix typo in replacing path separators

  [ Frank Denis ]
  * Print the llvm-config path on configuration error

  [ Andrew Kelley ]
  * fix _fbsd suffix appended to lld LDM option twice
  * stage2: implement -fno-emit-bin
  * stage2: `zig translate-c` supports --enable-cache
  * fix another round of regressions in this branch
  * fix non-ELF linkAsArchive

  [ daurnimator ]
  * std: add LinearFifo(...).pump(src_reader, dest_writer)
  * test/standalone/cat: update to new std library
  * test/standalone/cat: fix leaks
  * test/standalone/cat: use fifo.pump()

  [ Andrew Kelley ]
  * stage2: add CLI support for --subsystem

  [ Woze Parrrot ]
  * uefi system_table

  [ Ian Simonson ]
  * Make LinearFifo not crash when discarding from empty buffer

  [ kprotty ]
  * new std.event.Lock implementation

  [ Andrew Kelley ]
  * stage2: building mingw-w64 and COFF LDD linking

  [ Felix (xq) Queißner ]
  * Changes comptime block to test.
  * Changes comptime block to test.
  * Follows @tadeokondrak remark about taking `[]const type`.

  [ kprotty ]
  * address some review changes

  [ LemonBoy ]
  * stage1: Detect OOB access of vector value
  * stage1: Allow comparison with comptime-known vectors
  * stage{1,2}: Fix parsing of range literals

  [ Frank Denis ]
  * std/crypto: make gimli slightly faster

  [ Andrew Kelley ]
  * store stage1 flags in a trailing byte in the hash id symlink
  * stage2: building DLL import lib files
  * the stage1 backend cache stores inferred link libs
  * std.ChildProcess: bypass libc exit() in fork child error case
  * `zig test` and `zig run` do not try to run foreign binaries
  * stage2: fix Cache not calling ftruncate in writeManifest
  * stage2: WASM LLD linking
  * langref: use general purpose allocator in the wasi example
  * mingw: better -D arg for processing def.in files
  * stage2: infer --strip on wasm builds
  * stage2: MachO LLD Linking
  * stage2: add CLI option for -fstack-report
  * add CLI options for darwin frameworks and -ffunction-sections

  [ Frank Denis ]
  * Use mem.copy() instead of manual iterations

  [ Andrew Kelley ]
  * don't try to build musl crti.o crtn.o when it's not needed

  [ Loris Cro ]
  * Fix std.event.Future

  [ Frank Denis ]
  * Don't unroll the gimli permutation on release-small
  * gimli: make permute a constant, remove leading underscore

  [ Loris Cro ]
  * add runDetached to event loop

  [ Frank Denis ]
  * std/crypto: add the AEGIS128L AEAD
  * Add AEGIS-256 as well
  * aegis: add test vectors, and link to the latest version of the spec

  [ Robin Voetter ]
  * Fix std.ArrayListUnmanaged + improve test coverage

  [ Andrew Kelley ]
  * use Allocator.allocSentinel now that the stage1 bug is fixed
  * CI: TERM=dumb to source hut
  * improve stage2 COFF LLD linking
  * move std.rb to the standard library orphanage

  [ Jakub Konka ]
  * Revert "Fix for Windows: std.os.windows.DeleteFile()"

  [ Andrew Kelley ]
  * move std.BloomFilter to the standard library orphanage

  [ Frank Denis ]
  * std/crypto: implement the HKDF construction
  * Remove unused var, sort std.crypto.*

  [ Andrew Kelley ]
  * update wasm to use ".o.wasm" extension for objects
  * fix not passing std.builtin.link_libc to compiler_rt.zig and c.zig
  * move std.http to the standard library orphanage

  [ Ryan Liptak ]
  * Windows: Handle ACCESS_DENIED in DeviceIoControl

  [ Andrew Kelley ]
  * different strategy to fix compiler_rt.zig and c.zig
  * clean up call to std.fs.rename
  * link.Coff: skip redundant (and invalid) copy to same path
  * fix the cli test expected string to support native path separators

  [ Ryan Liptak ]
  * Add deleteDir test with exception for not-empty directory on Windows

  [ Andrew Kelley ]
  * std.zig.binNameAlloc: take into account version for macos dylibs
  * fix incorrect dylib filename pattern in the previous commit
  * MachO: add the same workaround for no -r LLD flag support

  [ Tadeo Kondrak ]
  * stage1: Fix @Type(.Enum) with invalid tag_type

  [ Vexu ]
  * stage2: add import builtin stub
  * stage2: very basic imports
  * stage2: struct type field access
  * stage2: detect changes in imported files
  * stage2: support multiple files in tests

  [ Alexandros Naskos ]
  * Added a few ZigList deinit calls

  [ Vexu ]
  * stage2: use directory handles for imports

  [ Alexandros Naskos ]
  * Added some c_allocator.deallocate calls

  [ Andrew Kelley ]
  * std: skip some tests that stage1 leaks too much memory with

  [ Frank Denis ]
  * std/crypto: add GHASH implementation
  * ghash & poly1305: use pointer to slices for keys and output
  * Implement ghash aggregated reduction
  * ghash: add pclmul support on x86_64

  [ Felix (xq) Queißner ]
  * Adds error return trace printing to stage1.

  [ LemonBoy ]
  * mingw: Add user32.def for 32bit Windows
  * stage2: Add missing defines for building dllcrt2.o

  [ Alexandros Naskos ]
  * std.event.Loop.runDetached should be pub

  [ markfirmware ]
  * Update build.zig
  * Update build.zig

  [ Nathan Bourgeois ]
  * Patch in emit relocs support

  [ Tadeo Kondrak ]
  * Make builtin.TypeInfo.Pointer.alignment u29 instead of comptime_int
  * Add alignment field to TypeInfo.UnionField and TypeInfo.StructField
  * Add tests for alignment field in UnionField and StructFIeld
  * Update @Type tests for alignment field in UnionField and StructFIeld
  * Switch TypeInfo alignment fields from u29 to comptime_int

  [ Nathan Bourgeois ]
  * Patch in emit relocs support

  [ Tadeo Kondrak ]
  * Update compile error tests for alignment in StructField/UnionField
  * Update std.meta.Tuple for alignment in StructField/UnionField
  * Update std.meta.ArgsTuple for alignment in StructField/UnionField

  [ Alexandros Naskos ]
  * std.fmt.comptimePrint: bufPrint cannot return an error

  [ Nathan ]
  * Resolve name and format issues.
  * Resolved additional formatting issues.

  [ Tadeo Kondrak ]
  * stage1: Add alignment to TypeInfo.Fn
  * stage1: Implement @Type for Fn and BoundFn
  * Skip @Type/@typeInfo Fn/BoundFn tests on wasm32/wasm64
  * Switch TypeInfo.Fn.alignment to comptime_int from u29
  * Allow enums with explicit extern-allowed tag types in extern types
  * Add tests for enums with explicit extern-allowed tag types in extern types
  * Add test for implicit extern-allowed enum tag type in extern struct

  [ Loris Cro ]
  * fix symlink path not being resolved in darwin
  * make symlink buffer null-terminated

  [ joachimschmidt557 ]
  * stage2 ARM: start adding more instructions, return values, parameters
  * stage2 ARM: Add stm, ldm variants and misc. additions
  * stage2 ARM: Add push, pop alias instructions; non-leaf functions

  [ Timon Kruiper ]
  * Print error when running `zig test/run` without a source file

  [ Loris Cro ]
  * provide the full buffer length to _NSGetExecutablePath

  [ LemonBoy ]
  * std: Make file copy ops use zero-copy mechanisms

  [ joachimschmidt557 ]
  * stage2 ARM: add testcases for non-leaf fns, parameters, return values

  [ Joran Dirk Greef ]
  * Handle EBADFD (ring fd in bad state) in enter()
  * Use load acquire semantics when reading the SQPOLL wakeup flag
  * Add IORING_FEAT_POLL_32BITS

  [ LemonBoy ]
  * Alternative strategy to avoid calling stat()
  * stage2: Build libunwind for non-msvc Windows targets

  [ Andrew Kelley ]
  * revert adding std.event.Loop.runDetached
  * stage1 main(): catch unreachable in debug builds for easier troubleshooting
  * fix alignment in CLI usage text
  * `zig run foo.c` is perfectly valid
  * ci: update azure msys base installer

  [ Tadeo Kondrak ]
  * Revert "Include dbg.h to third-party libs"
  * stage1: delete unused os code
  * stage0: check for some more required parameters

  [ Alexandros Naskos ]
  * Reintroduce progress bar when compiling C files

  [ John Sullivan ]
  * cmake: add option to use llvm-config to find cross-target llvm deps

  [ Andrew Kelley ]
  * stage1: better value for builtin.link_mode

  [ LemonBoy ]
  * std: Add pow(a,b) for big ints

  [ Jakub Konka ]
  * Revert back to original Win CI install script

  [ Joran Dirk Greef ]
  * Expose available kernel features
  * Limit entries to u12, add errors for invalid entries, use mem.zeroInit
  * Allow for advanced non-sequential SQE allocation schemes
  * Use load relaxed semantics when reading the SQPOLL wakeup flag
  * Add openat(), close(), connect(), send(), recv(), as well as tests
  * Improve openat/accept test debugging

  [ Jakub Konka ]
  * Re-draft required elements for minimal MachO binary
  * Generate more MachO exe boilerplate
  * Write out LC_DYSYMTAB together with dyld_stub_binder undef symbol
  * Move writing symbol table and export trie into functions
  * First hacked together, working MachO exe!
  * Fix after rebase and enable stage2 tests for macOS
  * Add missing ensureCapacity call in codegen
  * Redo local symbols and offsets tracking to match Elf's approach
  * Refactor flushing of MachO exe

  [ Joran Dirk Greef ]
  * Skip openat test only for older kernels that do not fully support AT_FDCWD
  * Use const wherever possible
  * Split openat/close test into two separate tests

  [ xackus ]
  * implement {get, set}rlimit for linux
  * simplify api and add smoke test

  [ Andrew Kelley ]
  * add --image-base support

  [ Alexandros Naskos ]
  * Correctly set uid and gid to void instead of null on wasi

  [ Jan200101 ]
  * Allow specifying build version using cmake

  [ Andrew Kelley ]
  * build system: implement computeOutFilenames using std.zig.binNameAlloc

  [ Felix (xq) Queißner ]
  * Depending on system libs only enforces libraries to require dynamic linking, but neither static libs nor object files.

  [ Timon Kruiper ]
  * Build.zig: Skip copying files that are used internally by the compiler

  [ Andrew Kelley ]
  * ci: stop testing mingw builds
  * fix each-lib-rpath functionality

  [ Joran Dirk Greef ]
  * Test the range of user_data bits

  [ Alexandros Naskos ]
  * Remove MSVC 2015 from supported compilers in README

  [ joachimschmidt557 ]
  * Turn zig fmt back on in various src/ files

  [ LemonBoy ]
  * stage1: Implement @reduce builtin for vector types

  [ Andrew Kelley ]
  * Revert "revert adding std.event.Loop.runDetached"

  [ Frank Denis ]
  * ghash & poly1305: fix handling of partial blocks and add pad()
  * std/crypto: Add support for AES-GCM

  [ LemonBoy ]
  * std: Fix two bugs in bigint pow

  [ Isaac Freund ]
  * std/zig: handle underscore in kernel version

  [ Timon Kruiper ]
  * Fix cross-compiling the zig compiler

  [ Noah Altunian ]
  * Fix spelling in code comment

  [ Vexu ]
  * translate-c: respect C operator precedence in macros

  [ LemonBoy ]
  * Move copy_file to fs namespace
  * Address review comments & fix compilation errors

  [ Noam Preil ]
  * Make indentation adjustable (hardcode 4 spaces for now)
  * Stage2 peer type resolution: comptime_int + other_int_type
  * CBE: utilize per-function arena allocator
  * CBE: properly resolve Insts
  * CBE: addition and subtraction
  * Peer type resolution: comptime_int decay to other int
  * Replace error message with unreachable

  [ LemonBoy ]
  * stage2: Fix arg processing for zig run

  [ travisstaloch ]
  * cache-hash: add test_filter and test_name_prefix (#6583)

  [ Frank Denis ]
  * std/crypto: faster (mod 2^255-19) square root computation

  [ Timon Kruiper ]
  * Update the list of libraries that llvm11 uses

  [ Tadeo Kondrak ]
  * Add opaque type syntax
  * Update zig files for opaque type syntax
  * translate_c: emit opaque {} instead of @Type(.Opaque)
  * stage1: disallow fields in opaque types
  * stage1: use size_t over int as index in resolve_opaque_type
  * langref: update for opaque {} syntax
  * Update compile error test for field access of opaque type
  * std.fmt.comptimePrint: Return null terminated string

  [ Noam Preil ]
  * Fix peer type resolution
  * Rename variables in resolvePeerTypes for clarity

  [ Timon Kruiper ]
  * Fix building the zig compiler for 32-bit targets

  [ Andrew Kelley ]
  * fixups for the previous commit

  [ pfg ]
  * stage1: improve error messages for missing `try` statements

  [ Tadeo Kondrak ]
  * Remove .Cold calling convention.

  [ Loris Cro ]
  * add WaitGroup to std.event

  [ LemonBoy ]
  * New review round

  [ Jakub Konka ]
  * Remove obsolete addPadding fn and callsites from MachO linker
  * Add prototype for export trie generation in MachO linker

  [ Tadeo Kondrak ]
  * std.fmt.comptimePrint: Properly null-terminate result and add test

  [ Jakub Konka ]
  * Add incomplete writing of trie to bytes buffer
  * Approach using array list for auto mem mgmt
  * Move trie structure into its own file-module
  * Fix improper reuse of global symbols in MachO

  [ xavier ]
  * restore ability to do comptime math

  [ Jakub Konka ]
  * Add writeULEB128Mem test and couple fixes

  [ xavier ]
  * notice more kinds of optimization flags and debug flags

  [ Tadeo Kondrak ]
  * stage1: Disallow arrays in function parameters or return types
  * zig_clang/translate_c: Use opaque declarations in Zig

  [ Frank Denis ]
  * std/crypto/aes: add AES hardware acceleration on aarch64
  * aes/aesni is not based on a Go implementation, only aes/soft is

  [ Jakub Konka ]
  * Fix ULEB128 encoding of trie
  * Clean up writing the trie into ULEB128 byte stream

  [ Benjamin Feng ]
  * Pull in Darwin definitions for rusage
  * Rename ix_rss -> ixrss

  [ Frank Denis ]
  * ghash: add pmull support on aarch64

  [ Andrew Kelley ]
  * run update_clang_options on llvm 11 rc6
  * std.c (darwin) update to new opaque syntax
  * add a code of conduct

  [ Josh Wolfe ]
  * include compiler_rt and c for wasm static libraries

  [ Jakub Konka ]
  * Apply nitpick: top-level doc comments

  [ mlarouche ]
  * Use regular file for caching stage 1 hash digest instead of symlink, fix zig build caching on Windows

  [ Andrew Kelley ]
  * fixups to previous commit

  [ LemonBoy ]
  * std: Add/Fix/Change parts of big.int

  [ redj ]
  * tools/update_clang_options: add zig run usage example. fix src-self-hosted path. (#6635)

  [ Jakub Konka ]
  * Update WASI preopens doc section to use GPA

  [ Frank Denis ]
  * std/crypto: add a vectorized ChaCha20 implementation
  * Use an array of comptime_int for shuffle masks
  * Simpler ChaCha20 vector code

  [ Sébastien Marie ]
  * add minimal openbsd support
  * openbsd: use mem.span() + mem.indexOf() instead of defining custom function
  * opensd: selfExePath: do not rely on environment as it could be inherited
  * openbsd: address link/Elf.zig comments
  * merge netbsd and openbsd cases
  * openbsd: selfExePath adjustements
  * initialize std.os.argv in stage1 compiler. it is needed for selfExePath under OpenBSD

  [ Rocknest ]
  * make Version.parse less strict
  * add a test for Version.parse

  [ kprotty ]
  * AutoResetEvent
  * integrate std.time.sleep with the event loop
  * fix DelayQueue typos
  * Add more comments & cleanup AutoResetEvent

  [ Rocknest ]
  * remove workaround

  [ Vignesh Rajagopalan ]
  * Rename .macosx to .macos

  [ Andrew Kelley ]
  * ci: update llvm 10 => 11
  * disable the failing std lib freebsd tests
  * CI: enable all the freebsd tests
  * ci: update to macos 10.15 image
  * ci: no space in vmImage I guess
  * ci: macos: set the cross compile cmake option
  * cmake: remove all the LLVM 10 workarounds

  [ Jakub Konka ]
  * Add local and offset free lists
  * Add mechanism for growing/shrinking text blocks
  * Update allocateTextBlock to use node free list
  * Fix writing of load cmds headers *after* symtab update
  * Enable incremental testcase for macOS
  * Reuse text blocks; enable all incremental tests
  * Do not rewrite paths to dyld and libSystem unless changed

  [ Isaac Freund ]
  * std/build: support --color
  * stage2: use meta.stringToEnum for Color parsing

  [ LemonBoy ]
  * stage1: Fix missing runtime safety check for intToPtr

  [ Rocknest ]
  * force comptime on comptimePrint

  [ Andrew Kelley ]
  * stage2: support ZIG_LIBC env var and detect self as system C compiler
  * ci: macos: take advantage of zig-bootstrap
  * ci: macos: update to new cache tarball
  * ci: macos: unset ZIG_LIBC before testing

  [ Frank Denis ]
  * Classify .tbd files as shared libraries

  [ Andrew Kelley ]
  * add .tbd to usage text

  [ Matthew Knight ]
  * Event Channel: updated linked list node initialization (#6652)

  [ Isaac Freund ]
  * std/fmt: rename allocPrint0() to allocPrintZ()
  * std/fmt: add bufPrintZ()
  * docs: snake_case enums/unions in langref examples

  [ LemonBoy ]
  * stage1: Off-by-one error in int to float conversion

  [ Frank Denis ]
  * std/crypto/25519: do cofactored ed25519 verification

  [ Jakub Konka ]
  * Enable stage2 end-to-end tests on macOS run natively

  [ Clayton Voges ]
  * replaced inStream() with reader()

  [ Andrew Kelley ]
  * getExternalExecutor fixups regarding dynamic linker

  [ g-w1 ]
  * stage2: use execve where available for zig test and zig run

  [ Andrew Kelley ]
  * fixups

  [ Tadeo Kondrak ]
  * std: move std.meta.refAllDecls to std.testing

  [ g-w1 ]
  * friendly error message for zig run with no args

  [ Andrew Kelley ]
  * adjust error message of zig run with no args

  [ Frank Denis ]
  * std/crypto/hmac: remove HmacBlake2s256 definition
  * std.rand: set DefaultCsprng to Gimli, and require a larger seed

  [ Andrew Kelley ]
  * fixups regarding windows wide strings

  [ LemonBoy ]
  * stage1: Expand undefined struct/arrays when indexed
  * stage1: Don't ask LLVM to emit misaligned memcpy

  [ Frank Denis ]
  * Vectorize Gimli

  [ Jakub Konka ]
  * Allow linking with dynamic libraries in main CLI
  * Add llvm-config detection when dynlinking clang

  [ Andrew Kelley ]
  * trivial refactor to remove redundant function call

  [ Isaac Freund ]
  * zig fmt: write modified files to stdout not stderr

  [ stf ]
  * std.os.waitpid: also return pid of child

  [ Andrew Kelley ]
  * rename WaitpidRet to WaitPidResult

  [ LemonBoy ]
  * std: Add libssp implementation for GNU/Windows targets

  [ Juha Syrjälä ]
  * Add support for `zig build run -- arg1 arg1` in file created by init-exe

  [ vegecode ]
  * byteOffsetOf rounds up using bit offset in host integer
  * byteOffsetOf add fields to non-packet struct to maintain symmetry

  [ Nathan Michaels ]
  * Add some basic examples for the Zig Build System.

  [ Andrew Kelley ]
  * langref cleanups

  [ Vexu ]
  * std.fmt: add specifier for Zig identifiers
  * use new format specifier in translate-c and std lib

  [ Jan Prudil ]
  * Make std.meta.Int accept a signedness parameter
  * Convert remaining call sites

  [ Vexu ]
  * std: remove renderStringLiteral in favor of std.fmt specifier

  [ Andrew Kelley ]
  * fix compilation error when building with io_mode evented

  [ Frank Denis ]
  * std/crypto: make the whole APIs more consistent

  [ Andrew Kelley ]
  * code cleanups

  [ LemonBoy ]
  * stage1: Fix type-checking of unary neg for vector types

  [ Felix (xq) Queißner ]
  * Fixes std.meta.Tuple and std.meta.ArgsTuple for zero-sized types (like void).

  [ Nathan Bourgeois ]
  * BYOS support for system.isatty(fd: fd_t); (#6686)

  [ Andrew Kelley ]
  * std.mem: expose the simpler linear functions

  [ Jesse Rudolph ]
  * add Builder.dupePkg()

  [ Andrew Kelley ]
  * coff: link in CRT for DLLs that want -lc

  [ Robin Voetter ]
  * Fix invalid call to dupePkg in build.zig
  * add addPackage test

  [ Jakub Konka ]
  * Disable build.zig tests on WASI since rely on cwd()

  [ Frank Denis ]
  * Darwin has arc4random(), too

  [ Nathan Bourgeois ]
  * Update Documentation to use -O instead

  [ LemonBoy ]
  * std: Minor changes to startup code
  * stage1: Implement `@intCast` between vectors
  * Update the stack-traces tests
  * Update langref errors

  [ John Burton ]
  * Add missing std in dump function json.zig

  [ Rocknest ]
  * langref: fix equations

  [ LemonBoy ]
  * std: Implement featureSetHasAny/featureSetHasAll

  [ xackus ]
  * std docs: print bool values

  [ Frank Denis ]
  * MSVC CI: run tests individually (#6751)

  [ frmdstryr ]
  * Update enable-valgrind flag to fvalgrind

  [ LemonBoy ]
  * stage1: Fix edge case in Union ZigValue generation

  [ Jakub Konka ]
  * Add minimal set of macOS libc headers

  [ Andrew Kelley ]
  * readme: rewrite the license section
  * add another copyright notice to macos stdint.h

  [ heidezomp ]
  * Fix std.net.connectUnixSocket in evented I/O mode

  [ LemonBoy ]
  * std: Slim down the error code path in initStaticTLS

  [ Frank Denis ]
  * std/crypto/25519: add support for batch Ed25519 signature verification
  * std/crypto/25519: use Barrett reduction for scalars (mod l)
  * Support variable-time edwards25519 scalar multiplication
  * Implement multiscalar edwards25519 point multiplication
  * Add a benchmark for signature verifications

  [ Andrew Kelley ]
  * ci: fix regression from not building docs

  [ s-ol ]
  * generated docs: add vector type support
  * generated docs: add anyframe type support

  [ Andrew Kelley ]
  * stage2 LLD .ar linking: fix wrong object file path

  [ xackus ]
  * std: reference more declarations in std.build

  [ chwayne ]
  * Make argsAlloc/ArgIterator return zero-sentinel strings (#6720)

  [ Paul Espinosa ]
  * Use std.testing.expect in language reference samples

  [ DixiE ]
  * Fix Compiler Error When Using wWinMain Entry-Point

  [ Andrew Kelley ]
  * update stack trace test case

  [ Timon Kruiper ]
  * When checking a cache hit, make sure to handle a (re)moved source file

  [ s-ol ]
  * generated docs: add FnFrame type support

  [ Frank Denis ]
  * Fix a typo (s/multple/multiple/)

  [ Koakuma ]
  * Add sparc64 syscall interface
  * Add sparc64 linux bits
  * Add sparc64 linux C ABI
  * Fix register naming
  * Add sp loading
  * Account for the delay slot
  * Add pipe(2) support
  * Add TLS implementation for sparc64
  * Add clone(2) implementation
  * Use correct names for generic SPARC targets
  * Move comptime out
  * Fix constants
  * Add sparc64-specific values for the various SA_ and SIG_ constants
  * Fix sparc64 argument loading
  * Fix sigaction(2) call on sparc64
  * Fix boolean operator in if clause

  [ Jakub Konka ]
  * cc: fix regression on macOS after adding libc headers

  [ Koakuma ]
  * "zig fmt" on lib/std/os/linux.zig
  * Add back ppc input/output/clobber definitions

  [ Sébastien Marie ]
  * readd original code from #6638. realpathZ() is expected to take a [*:0]const u8

  [ Vincent Rischmann ]
  * test runner: use the correct number in leak report

  [ joachimschmidt557 ]
  * stage2 ARM: better immediate loading feat. movw and movt
  * stage2 ARM: add multiply and multiply long instructions
  * stage2 ARM: enable backpatching return statement
  * stage2 ARM: genSetStack and genSetReg from stack

  [ Koakuma ]
  * Predict error-less path on syscalls
  * Fix SA_* constants for sparc64
  * Fix sparc64 bits definitions
  * Zero %i6 to terminate backchain
  * Various formatting fixes
  * Separate libc stat and kernel stat definitions

  [ Frank Denis ]
  * Add (X)Salsa20 and NaCl boxes
  * Move ed25519 key pairs to a KeyPair structure

  [ Andrew Kelley ]
  * ci: skip compile error tests on freebsd to save time

  [ Sébastien Marie ]
  * openbsd: make dl_phdr_info cross arches

  [ Frank Denis ]
  * std/crypto: add the bcrypt password hashing function
  * std/crypto: vectorize BLAKE3

  [ dec05eba ]
  * Make lastIndexOf use the same cut-off between BMH as indexOf

  [ johnLate ]
  * fix type mismatch in std.net.StreamServer

  [ mlarouche ]
  * Temp Fix for deadlock in C compilation, found and tested on Windows

  [ Frank Denis ]
  * std/*: add missing MIT license headers

  [ Yanis Zafirópulos ]
  * Copy editing :)

  [ Andrew Kelley ]
  * ci: still build zig even though we are using (older) zig cc

  [ data-man ]
  * Format null type in std.fmt

  [ Andrew Kelley ]
  * add regression test for already fixed bug

  [ frmdstryr ]
  * Fix @import of empty file

  [ Andrew Kelley ]
  * stage1: support "native" as the OS string in -target
  * non-hacky workaround for the empty file bug

  [ Žiga Željko ]
  * std/crypto: API cleanup

  [ Koakuma ]
  * starting_stack_ptr -> argc_argv_ptr to reflect actual use

  [ Isaac Freund ]
  * std/event: fix poll error set handling
  * std/event: fix zig fmt regression

  [ LemonBoy ]
  * std: Add basic smoke test for net functionality

  [ johnLate ]
  * std.os.linux.accept/accept4: allow null for addr and len
  * std.os.c.accept/accept4: allow null for addr and len

  [ Andrew Kelley ]
  * rename ZigClangFloatingLiteral_getValueAsApproximateDouble

  [ Jakub Konka ]
  * Apple Silicon: no fstat$INODE64 symbol found

  [ LemonBoy ]
  * More fixups for Windows targets

  [ Jakub Konka ]
  * Clean up exporting of symbols on Darwin

  [ Koakuma ]
  * Update stack traces testcases

  [ LemonBoy ]
  * stage1: Fix crash in comptime struct value copy

  [ Frank Denis ]
  * PascalCase *box names, remove unneeded comptime & parenthesis
  * std/crypto: adjust aesni parallelism to CPU models

  [ LemonBoy ]
  * stage1: Correctly generated optional constant values

  [ s-ol ]
  * docs: link to functions in getValueText and getCallHtml

  [ Andrew Kelley ]
  * ci: macos: rebuild zig1.o with stage1
  * ci: freebsd: skip non-native tests to save time

  [ LemonBoy ]
  * std: Better handling of type values in expectEqual
  * std: Better handling of type values in expectEqual
  * stage1: Fix small bug in pointer type analysis

  [ Koakuma ]
  * Use the *_stat type as self

  [ LemonBoy ]
  * std/deflate: Avoid reading past end of stream

  [ Travis ]
  * don't allow a token starting with an asterisk directly following .*
  * add missing case for TokenizeStateSawDotStar at eof
  * updated zig tokenizer to handle .*** and added tests
  * add error message to zig side of tokenizing/parsing

  [ Vexu ]
  * return a valid node even if invalid deref was used

  [ Frank Denis ]
  * std/math: add support for vectors to rotl()/rotr()

  [ Jakub Konka ]
  * Set page size to 16KB for aarch64 macos

  [ Frank Denis ]
  * std/crypto: vectorize Salsa20

  [ = ]
  * Changed macosx to macos in support os to better relfect the output of zig targets

  [ LemonBoy ]
  * stage1: Fix bug in internal string slicing (#6843)

  [ Timon Kruiper ]
  * stage2.Elf: fix off by one error in writeOffsetTableEntry

  [ Frank Denis ]
  * std/crypto/x25519: return encoded points directly + ed->mont map

  [ Travis ]
  * add missing Invalid_periodasterisks case in docgen

  [ wozeparrot ]
  * make addBuildOption append type (#6801)

  [ Frank Denis ]
  * std/crypto/blake2b: allow the initial output length to be set

  [ Travis ]
  * panic when empty string passed as dest_rel_path to addInstallFileWithDir

  [ LemonBoy ]
  * stage1: Error out when trying to execute `unreachable`

  [ zhaozg ]
  * fix #3237: resolve undefined symbol _DllMainCRTStartup

  [ Koakuma ]
  * Select stat struct type based on whether we are linking with libc

  [ Joran Dirk Greef ]
  * Add more mips syscall numbers
  * Add close_range, faccessat2 and process_madvise

  [ Vexu ]
  * stage2: detect import outside file path
  * stage2: support imports inside packages
  * stage2: switch astgen
  * stage2: basic switch validation
  * stage2: implement Value.hash
  * stage2: implement Value.eql for void, null and types
  * stage2: basic switch analysis
  * stage2: switch emit zir
  * stage2: fix test harness tmp path handling
  * stage2: dump generated zir with --verbose-ir
  * stage2: redesign switchbr
  * stage2: disallow switching on floats
  * stage2: switch ranges and multi item prongs
  * stage2: implement switch validation for integers
  * stage2: switch comptime execution
  * stage2: switch liveness analysis
  * stage2: return same hash for different representations of same value
  * stage2: switch put swap condbr and block
  * stage2: fix typo in liveness; add comptime switch test

  [ frmdstryr ]
  * Add support for comments in multiline string literal
  * Add tests and fix \n between comments

  [ Travis ]
  * remove extra space in .** error message

  [ J.C. Moyer ]
  * Update doc comments to reflect current behavior
  * Add test for null terminated slices with embedded null bytes

  [ Vexu ]
  * translate-c: correctly handle pointers to opaque demoted structs
  * run zig fmt on src/ and test/

  [ Joran Dirk Greef ]
  * linux: add fallocate()
  * Add libc signature
  * Add definitions for FALLOC_FL_ mode flags
  * "The Traveling Wilburys' - Handle With Care"
  * Add test
  * Swap endianness

  [ Frank Denis ]
  * std/crypto: make Hkdf functions public

  [ frmdstryr ]
  * Add missing arg

  [ xackus ]
  * std: add {set,get}rlimit bits and improve test

  [ Jakub Konka ]
  * Make std.fmt.bufPrintIntToSlice public

  [ LemonBoy ]
  * stage1: Fix comptime comparison of NaNs
  * std: Fix expectWithinEpsilon with negative values
  * stage1: Implement Add/Mul reduction operators
  * docs: Add @reduce documentation

  [ Andrew Kelley ]
  * langref tidy html fixup

  [ LemonBoy ]
  * std: Fix early overflow in time calculation

  [ xackus ]
  * stage2: ask for more file descriptors

  [ Joran Dirk Greef ]
  * Debug unhandled errno
  * Switch back to writing Zig
  * Pending #5127

  [ LemonBoy ]
  * std: Re-enable ArrayHashMap test for mips targets
  * std: Re-enable union behaviour test for mips targets
  * std: Fix json utf{8,16} decoding on BE targets
  * std: Fix std.unicode test cases for BE targets
  * std: Fix syscall stubs passing 64bit offsets for BE targets

  [ data-man ]
  * Add more tests for reduce
  * Remove min/max tests for NaNs

  [ Jakub Konka ]
  * Fix linking issues on BigSur
  * Refactor the code according to Andrew's suggestions
  * Update src/Compilation.zig

  [ Isaac Freund ]
  * std/ascii: add spaces array

  [ Alex Cameron ]
  * Fix file descriptor leak in fs.openFileZ.

  [ Jakub Konka ]
  * Add std.Target.current.isDarwin() to exclude non-macs in comptime

  [ Frank Denis ]
  * Fix Gimli for big-endian targets

  [ LemonBoy ]
  * stage1: Fix *WithOverflow intrinsics with u0 values
  * std: Make parseInt/parseUnsigned detect the radix

  [ Andrew Kelley ]
  * fix cmake logic for checking LLVM version

  [ xackus ]
  * fix freebsd compilation

  [ Jakub Konka ]
  * Fix Darwin codepath

  [ xackus ]
  * force comptime on isDarwin

  [ Frank Denis ]
  * Another big-endian fix for Gimli

  [ Joran Dirk Greef ]
  * Support 32-bit big-endian targets

  [ Frank Denis ]
  * Make Gimli test vector look like the python implementation
  * std.meta: test that const and mut variables have different addresses

  [ Andrew Kelley ]
  * std.fs.File.writeFileAll: support unseekable files

  [ Frank Denis ]
  * sparc64 has a 8Kb page size

  [ daurnimator ]
  * std: workaround #280 in prctl
  * std: add PR enum for the prctl opcode
  * std: use PR enum as only location of opcode numbers

  [ data-man ]
  * remove f128 tests, disable min/max for NaNs

  [ LemonBoy ]
  * std: Fix pipe syscall stub for sparc64
  * std: Correct stack_t definition for mips

  [ Frank Denis ]
  * Update wasmtime to version 0.20

  [ rageoholic ]
  * Fix CoInitializeEx so it can take a null pointer
  * Add missing LONG_PTR type

  [ LemonBoy ]
  * std: Split kernel&libc definitions of stat struct
  * Label WASI stat as kernel_stat
  * std: Implement more useful approxEq semantics
  * std: Make C allocator respect the required alignment
  * stage1: Fix type mapping for c_longdouble
  * Implement a fallback mechanism for posix_memalign
  * Fix typo, remove debug leftover, rename few fns

  [ data-man ]
  * Add 'u' specifier to std.format

  [ LemonBoy ]
  * Update the API and add add error-recovery path
  * std: Introduce std.unicode.utf8CountCodepoints
  * std: Introduce std.unicode.utf8ValidCodepoint
  * Clean up the unicode codepoint formatter a bit
  * Make std.formatBuf UTF-8 aware
  * Fix typo in documentation
  * Address review comments
  * std: Make utf8CountCodepoints much faster

  [ Alexandros Naskos ]
  * Updated mingw-w64 to version 8.0.0

  [ Jakub Konka ]
  * Re-enable system linker hack

  [ Alexandros Naskos ]
  * Fixed mingw-w64 8.0.0 compilation Reaplied mingw-w64 header patch

  [ Frank Denis ]
  * Now that they support vectors, use math.rot{l,r}
  * std.crypto: namespace constructions a bit more
  * math.shl/math.shr: add support for vectors
  * std/crypto: don't constrain Gimli hash output to a fixed length

  [ LemonBoy ]
  * stage1: Make sure union(enum(T)) is valid

  [ Jakub Konka ]
  * Rely on ZIG_SYSTEM_LINKER_HACK instead of input flags

  [ Vexu ]
  * translate-c: fix macro functions with no arguments

  [ Jakub Konka ]
  * Address review comments

  [ Jeremy Huffman ]
  * Fix std.ResetEvent.timedWait on darwin/macOS. (#6914)

  [ LemonBoy ]
  * std: Make file locking tests less fragile

  [ Jay Petacat ]
  * std: Introduce SemanticVersion data structure

  [ Andrew Kelley ]
  * update process_headers tool
  * update musl headers to 1.2.1
  * update musl sources to 1.2.1

  [ xackus ]
  * change debug.assert to testing.expect in tests
  * remove outdated comment

  [ Andrew Kelley ]
  * std.ResetEvent: disable flaky test on macOS
  * disable flaky file locking test on Windows
  * update runtime safety test case - unsigned-signed vector cast
  * Revert "update runtime safety test case - unsigned-signed vector cast"

  [ Josh Holland ]
  * remove deprecated uses of ArrayList.span
  * make ArrayList.span into a compile error

  [ joachimschmidt557 ]
  * stage2 ARM: miscellaneous improvements

  [ Frank Denis ]
  * Add mem.timingSafeEql() for constant-time array comparison
  * Use @reduce

  [ Guoxin Yin ]
  * fix issue 6798
  * fix issue 6798

  [ Andrew Kelley ]
  * Release 0.7.0

  [ Frank Denis ]
  * Bump Zig version to 0.7.0

  [ Andrew Kelley ]
  * macOS: depend on bundled headers even for native
  * macOS libc headers: add POSIX headers
  * macOS libc headers: add xlocale.h and Block.h
  * add copyfile.h
  * macOS libc headers: add mach-o/dyld.h
  * macOS libc headers: add sys/param.h
  * macOS libc headers: add sys/sysctl.h
  * macos libc headers: add more
  * macos: avoid --export-dynamic when using system linker
  * langref: add 0.7.0 link

  [ data-man ]
  * Fix reduce documentation

  [ Jakub Konka ]
  * macOS libc headers: add mach/clock.h
  * Add more missing libc headers used by frameworks
  * macOS libc headers: add objc/message.h and runtime.h

  [ Andrew Kelley ]
  * std.ResetEvent: disable flaky test on Windows

  [ Alexandros Naskos ]
  * Windows TLS startup symbols are already provided by libcrt when linking against libc

  [ Frank Denis ]
  * Don't prevent compilation on platforms where debug info is unsupported

  [ LemonBoy ]
  * stage1: Print correct error message for vector @intCast

  [ xackus ]
  * std: json: fix misleading endianness conversion

  [ daurnimator ]
  * Fix json parser close tracking (#6865)

  [ Andrew Kelley ]
  * main: updateModule returns an error when there are any compile errors

  [ Sébastien Marie ]
  * openbsd: add dlfcn.h definitions for dlopen()
  * openbsd: add sockets constants
  * openbsd: add time definitions for gettimeofday()
  * openbsd: proper implementation for Thread.cpuCount()
  * openbsd: mutex or cond destroy function could return EINVAL
  * "ResetEvent" test seems to have a too short timeout: the test is failing randomly on OpenBSD

  [ LemonBoy ]
  * stage1: Fix comparison of unions containing zero-sized types

  [ Andrew Kelley ]
  * std.Target: bump default version max for macos
  * add missing -m<os>-version-min CLI args to clang

  [ LemonBoy ]
  * stage1: Avoid resolving type entry in [0]T

  [ Vexu ]
  * std: fix HashMap.putAssumeCapacity
  * std: fix HashMap.clearRetainingCapacity

  [ Jonas Carpay ]
  * Fix backticked code in langref

  [ joachimschmidt557 ]
  * stage2 aarch64: add codegen/aarch64.zig

  [ Jakub Konka ]
  * Implement genAsm on aarch64
  * Add testcase for serializing svc #0x80
  * Add basic genSetReg for aarch64
  * Add move wide with zero (movz) instruction

  [ joachimschmidt557 ]
  * stage2 aarch64: add codegen/aarch64.zig
  * stage2 aarch64: add more instructions
  * stage2 AArch64: MoveWideImmediate instructions + test coverage
  * stage2 ARM: start implementing genCall for ELF + genSetReg immediates

  [ Jakub Konka ]
  * stage2 aarch64: add ldr instruction + smoke tests
  * stage2 aarch64: add str instruction
  * stage2 aarch64: add .memory prong in genSetReg
  * stage2 aarch64: add genCall for aarch64 MachO

  [ LemonBoy ]
  * stage1: Fix crash in comptime struct generation

  [ g-w1 ]
  * Add error for missing positional arguments in zig build-*

  [ Vexu ]
  * ensure TypeInfo payload is not undefined

  [ Jakub Konka ]
  * stage2 aarch64: add macOS incremental test

  [ Hubert Jasudowicz ]
  * std: Fix code model argument

  [ joachimschmidt557 ]
  * stage2 AArch64: add Linux Hello World test

  [ Andrew Kelley ]
  * main: clean up the error message for missing positional args

  [ joachimschmidt557 ]
  * stage2 ARM & AArch64: ensure correct function alignment

  [ Felix (xq) Queißner ]
  * Implements std.fs.path.extension.
  * Respects leading `.` and ignores it.
  * Makes @haze happy.

  [ Vexu ]
  * stage2: add zir instructions for creating container types

  [ LemonBoy ]
  * stage1: Ask LLVM to produce compact code in ReleaseSize mode

  [ Sébastien Marie ]
  * openbsd: skip tests using Dir.realpath

  [ LemonBoy ]
  * stage1: Resolve ErrorUnion children types
  * stage1: Disambiguate Wasm imports with same name

  [ Andrew Kelley ]
  * std.fs.path.dirname: return null when input path is root

  [ Felix (xq) Queißner ]
  * Adapts to @andrewrk​s comment to include dot.

  [ xackus ]
  * std.mem: improve doc comments
  * std.mem: make sliceAsBytes, etc. respect volatile

  [ LemonBoy ]
  * stage1: Fix generation of pass-by-value args in async fns

  [ Frank Denis ]
  * Azure Pipelines CI: update msys2 to the current version

  [ Vexu ]
  * stage2: outline container types

  [ xackus ]
  * std.mem: make args comptime, fix test names

  [ LemonBoy ]
  * std: Make windows.ReadFile allow short reads

  [ Jakub Konka ]
  * libstd: add more MachO consts and structs
  * stage2 aarch64: add NOP instruction

  [ Frank Denis ]
  * Enable loop interleaving when unrolling is enabled

  [ Alex Cameron ]
  * Prevent double file close in MachO linking

  [ heidezomp ]
  * linuxWaitFd: make NetworkSubsystemFailed error unreachable

  [ tgschultz ]
  * Move leb128 and remove trivial *mem functions as discussed in #5588 (#6876)

  [ Jonathan Marler ]
  * start.zig: call wWinMain with root's type

  [ Frank Denis ]
  * std/crypto: add ISAPv2 (ISAP-A-128a) AEAD

  [ johnLate ]
  * CMake: try to avoid compilation for `install` target

  [ Andrew Kelley ]
  * cmake: add the correct set of zig stage2 sources
  * std.crypto.isap: fix callsites of secureZero

  [ data-man ]
  * Added links to the relevant issue

  [ Vexu ]
  * stage2: initial container astgen

  [ Andrew Kelley ]
  * macOS libc headers: downgrade to 10.15.7 (Catalina)

  [ Vexu ]
  * stage2: handle opaque containers

  [ Felix (xq) Queißner ]
  * Changes behaviour from std.fs.path.extension from returning `null` to returning `""`.

  [ Andrew Kelley ]
  * cli: make -h, --help consistent in usage text and parsing

  [ LemonBoy ]
  * stage1: Fix asyncCall with non-abi-aligned arguments

  [ Frank Denis ]
  * std/crypto: implement the Hash-To-Curve standard for Edwards25519
  * std/crypto: use NAF for multi-scalar edwards25519 multiplication

  [ Andrew Kelley ]
  * disable the flaky ResetEvent test

  [ g-w1 ]
  * std: openDirAbsolute and accessAbsolute (#7082)

  [ Jakub Konka ]
  * stage2 aarch64: add PC relative address instructions
  * stage2 aarch64: assert register is 64bits in PCrel

  [ xackus ]
  * std: make meta.IntType a compile error the function signature changed also update langref

  [ LemonBoy ]
  * stage1: Add architecture-specific clobbers to asm()

  [ Timon Kruiper ]
  * Allow Zig to be built with clang 11 and -Werror

  [ Alexandros Naskos ]
  * Added std.meta.fieldNames

  [ LemonBoy ]
  * stage1: Reject undefined values when taking union ptr

  [ frmdstryr ]
  * Change error when runtime value passed to comptime arg

  [ Vexu ]
  * make help in commands more consistent

  [ daurnimator ]
  * std: expose all atomic operations from std.atomic.Int
  * std: mark std.atomic.Int as extern so it can be used in public ABIs
  * std: some more docs for std.atomic.Int
  * std: fix missing operation argument to @atomicRmw
  * std: add tests for std.atomic.Int
  * std: add std.atomic.Bool

  [ Lee Cannon ]
  * Implement chdir and chdirZ for Windows
  * Switch to RtlSetCurrentDirectory_U
  * use else in err switch
  * Move utf8->utf16 up one level into os.zig

  [ Jakub Konka ]
  * std: add chdir smoke test

  [ pfg ]
  * stage1: improve error for missing a number type on a runtime var

  [ breakin ]
  * Change seed for Murmur2_64 from u32 to u64

  [ Andrew Kelley ]
  * add std.heap.raw_c_allocator

  [ LemonBoy ]
  * stage1: Fix undefined assignment for bitfields

  [ Tadeo Kondrak ]
  * stage1: Compile error instead of falling back to C for unsupported cc
  * Update code to not use unsupported calling conventions for target
  * stage1: Check calling convention correctly for subsystem detection

  [ Vexu ]
  * add compile-error tests for unsupported calling convention

  [ Sébastien Marie ]
  * darwin: getdents: entry with d_ino==0 should be skipped
  * Iterator: rename freebsd_entry to bsd_entry to reflect that nextBsd is not freebsd only
  * openbsd, netbsd: getdents: entry with d_fileno==0 should be skipped

  [ Tadeo Kondrak ]
  * Add builtin.Signedness, use it instead of is_signed

  [ LemonBoy ]
  * Nicer code for the error code path

  [ Andrew Kelley ]
  * tfw you can't even disable a test without getting the logic wrong

  [ LemonBoy ]
  * stage2: Make zig cc more verbose (#7166)
  * std: Disable _only_ the flaky part of the ResetEvent test

  [ Isaac Freund ]
  * std.meta.declarations: support opaque {}

  [ LemonBoy ]
  * std: Rewrite the fmt parser
  * std: Implement named arguments & runtime width/precision
  * std: Use correct clone() stub
  * std: Use newfstatat on PPC64
  * stage2: Use correct ppc generic feature set
  * Better coverage in @splat tests
  * Skip f16 to f128 conversion test for ppc64
  * stage1: Initial implementation of @extern
  * stage1: Resolve usingnamespace decls when calling @typeInfo

  [ Isaac Freund ]
  * std/os: add time_t definiton for x86_64 linux

  [ Sébastien Marie ]
  * openbsd: malloc_usable_size is unavailable on OpenBSD

  [ Isaac Freund ]
  * std/os: define and use dev_t for linux x86_64

  [ LemonBoy ]
  * Rename back to extern, extend a stage1 parser hack
  * std: Add test for meta.declarations on opaque{}

  [ Žiga Željko ]
  * std: add support for ppoll

  [ Aransentin ]
  * user32 cleanup, added wrappers and additional functions

  [ Jens Goldberg ]
  * Ensure the dynamic function has the same type as the static one

  [ Aransentin ]
  * Fixed bugs, style suggestions
  * UnregisterClassW needs WINAPI as well

  [ Vexu ]
  * update grammar in langref

  [ Andrew Kelley ]
  * modernize the PIE patch for the latest master branch

  [ LemonBoy ]
  * Fix logic for detecting _DYNAMIC symbol
  * Update stack_traces test
  * Minor code cleanup in start_pie.zig
  * Fix the ELF base calculation
  * std: Fix file locking logic for BSD targets
  * std: Remove O_NONBLOCK flag after locking
  * std: Close dangling fd on error

  [ Frank Denis ]
  * Update the minimum cmake version we require

  [ Jonathan Marler ]
  * fix for GCC 9.2: -Wno-maybe-uninitialized

  [ LemonBoy ]
  * std: Re-enable the use of O_EXLOCK/O_SHLOCK on macos

  [ Andrew Kelley ]
  * make start code more versatile
  * update stack trace test with new start.zig line number

  [ LemonBoy ]
  * stage1: Fix ICE when generating struct fields with padding

  [ Frank Denis ]
  * std/crypto - edwards25519 precomp: prefer doublings over adds

  [ daurnimator ]
  * std: use mem.asBytes in Ip4Address.parse so it works at comptime

  [ Isaac Freund ]
  * std/os: fix prctl constants

  [ Jakub Konka ]
  * stage2 MachO: add min OS version load cmd
  * stage2 MachO: add source version load cmd
  * stage2 macOS: make exe flagged as pie
  * stage2 MachO: clean up segment protection flags
  * Write local symbols when flushing
  * stage2 MachO: remove discontinuities between segments
  * stage2 MachO: reduce size of __TEXT segment
  * stage2 macho: pages need to be 16kb aligned!
  * stage2 macho: make page size target cpu arch dependent
  * stage2 macho: start reverting some tweaks
  * stage2 macho: fix incorrect rebase
  * stage2 macho: revert required alignment always at 4
  * stage2 macho: cleanup minimum version command
  * stage2 macho: bring back incremental symbol commits
  * stage2 macho: refactor
  * stage2 macho: preallocate empty code sig space
  * stage2 macho: don't pad out holes between sections
  * stage2 macho: write out constants in CS
  * stage2 macho: move code signature logic into struct
  * stage2 macho: add empty CodeDirectory blob
  * stage2 macho: add info about __TEXT segment
  * stage2 macho: generate a code sig (not valid yet)
  * stage2 macho: fix issues with codesigning
  * stage2 macho: cleanup logs
  * stage2 macho: make file structure compatible with codesign tool
  * stage2 macho: use RIP-relative for memory-set regs x86_64
  * stage2 macho: first, rough draft at trampolining
  * stage2 macho: refactor PIE generation on x86_64
  * stage2 macho: Hello, Silicon!
  * stage2 macho: add orr and orn instructions
  * stage2 macho: move PIE fixups to link file; fix tests
  * stage2 macho: rename inodes to prevent SIGKILL
  * stage2 macho: enable end-to-end incremental linking tests on aarch64

  [ LemonBoy ]
  * stage1: Force union member types to be resolved

  [ Jakub Konka ]
  * stage2 macho: use Dir.copyFile instead of manual create+copy
  * stage2 macho: Dir.copyFile does the rename for us!

  [ g-w1 ]
  * CONTRIBUTING: src-self-hosted -> src

  [ Koakuma ]
  * Add sparc64 long double mapping
  * Fix fork() on Linux/sparc64

  [ Jakub Konka ]
  * Update src/codegen.zig
  * stage2 macho: apply more review comments

  [ LemonBoy ]
  * stage1: Fix crash in *[N]T to []T conversion with zst

  [ Jakub Konka ]
  * stage2 elf: make -soname an opt-in and not opt-out
  * stage2 elf: refactor override_soname to soname
  * stage2 elf: fix glibc to always specify soname

  [ Andrew Kelley ]
  * restore sonames by default when using zig cli

  [ christian-stephen ]
  * Add readAllArrayListAligned to Reader which can accept an arbitrary alignment

  [ Koakuma ]
  * Add a comment to explain the fork return values on sparc64

  [ joachimschmidt557 ]
  * stage2 ARM: genAdd, genSub for simple cases
  * stage2 codegen: use switch in genBoolOp
  * stage2 ARM: Implement genNot
  * stage2 ARM: use strb + implement genBoolOp
  * stage2 ARM: add test case for addition

  [ LemonBoy ]
  * std: Avoid deadlock in the signal handler

  [ Jonathan Marler ]
  * std.meta: add assumeSentinel

  [ LemonBoy ]
  * stage1: Add missing bitcast when rendering var ptr
  * stage1: Fix typeInfo generation for arrays w/o sentinel

  [ Andrew Kelley ]
  * CLI: add missing usage help text
  * stage1: add some code comments for ConstValSpecial
  * macOS headers: add memory.h

  [ Jonathan Marler ]
  * fix memory leak in BufMap

  [ Rageoholic ]
  * Switch to using unicode when parsing the command line on windows (#7241)

  [ Michael Freundorfer ]
  * Fix WindowsDynLib.openW trying to strip the \??\ prefix when it does not exist

  [ Jonathan Marler ]
  * add std.os.shutdown function for sockets

  [ Andrew Kelley ]
  * move std.SegmentedList to the std-lib-orphanage
  * update to latest fetch-them-macos-headers

  [ Alexandros Naskos ]
  * Added bundle-compiler-rt flag

  [ Andrew Kelley ]
  * rework the bundle compiler-rt feature
  * fix regression on wasm targets

  [ Alexandros Naskos ]
  * Disallow absolute paths passed as system libraries
  * Switched OBJECT_NAME_INVALID handling to unreachable in faccessatW

  [ Andrew Kelley ]
  * build system: pass dyn lib artifacts as positionals
  * stage2: fix not detecting all dynamic libraries
  * restore -target wasm32-freestanding-musl for C headers

  [ Isaac Freund ]
  * std/os: remove unneeded error from accept errorset

  [ Andrew Kelley ]
  * update to latest fetch-them-macos-headers

  [ Jakub Konka ]
  * lld: parse output lld file
  * lld: add code signature padding
  * lld: add code signature to lld output
  * lld: copy+rename to please the kernel
  * lld: start unifying load command logic
  * lld: use commands.LoadCommand in self-hosted linker
  * macho: unify code signature between stage1 and stage2
  * macho: dynamically calculate code signature padding

  [ Andrew Kelley ]
  * COFF linking: fix incorrectly passing .dll instead of .lib

  [ Timon Kruiper ]
  * Make sure to include the root_name in the cache.

  [ Alexandros Naskos ]
  * Add package names and paths to the zig root module cache hash.

  [ Jakub Konka ]
  * lld+macho: move parsing logic into MachO
  * lld+macho: rename final artefact in main.zig

  [ Andrew Kelley ]
  * stage2: add -femit-foo=bar args to the cache hash

  [ LemonBoy ]
  * stage2: Create cache manifest before calling final

  [ daurnimator ]
  * Localhost is special (#6955)

  [ LemonBoy ]
  * std: make the use of pthread_join POSIX-compliant

  [ Jakub Konka ]
  * lld: fix using incorrect path for the final artefact

  [ LemonBoy ]
  * ci: Retry apt-get install at most three times

  [ Lee Cannon ]
  * Add `readUntilDelimiterOrEofArrayList` & `readUntilDelimiterOrEofAlloc`

  [ Mathieu Guay-Paquet ]
  * fix the tinyest typo

  [ Jakub Konka ]
  * macho:use mem.asBytes and meta.eql in commands.zig

  [ Andrew Kelley ]
  * stage2: wire up -Dskip-non-native
  * wire up -Dskip-non-native to stage2 tests
  * stage2: linkAsArchive: respect disable_lld_caching

  [ Vexu ]
  * std.build: addBuildOption special handling for SemanticVersion

  [ LemonBoy ]
  * std: Add nosuspend around stderr.print calls

  [ Andrew Kelley ]
  * stage2: don't pass -l arguments when building .a or .o files

  [ Lee Cannon ]
  * Make zig fmt happy with multiline arguments for `readAllArrayListAligned`

  [ Timon Kruiper ]
  * stage2: make sure to emit the ZIR instructions of exported functions

  [ Miles Alan ]
  * std/event: Fix import path for WaitGroup

  [ Koakuma ]
  * Fix floating point parsing on BE systems (#7256)

  [ Isaac Yonemoto ]
  * Gpa mutex configurable (#7234)

  [ Jakub Konka ]
  * lld+macho: address review comments
  * Allow idx 0 err to be put into error_name_table

  [ Andrew Kelley ]
  * add `@cImport` files to Compilation cache manifest

  [ Isaac Yonemoto ]
  * makes the implementation public

  [ Andrew Kelley ]
  * stage1: compile error for pointer arithmetic on ptr-to-array
  * add more mingw-w64 .def files

  [ Jakub Konka ]
  * Add minimal standalone test case

  [ LemonBoy ]
  * ci: Prevent some more CI failures
  * ci: Use -nv flag for wget
  * ci: Use eval to make retry() work for pipelines too

  [ Jakub Konka ]
  * Version-gate appending -syslibroot flag to lld
  * macho: specify -install_name as full dylib's name

  [ LemonBoy ]
  * std: Restore file locking test on Windows
  * std: Add a few helpers for matching ascii strings (#7300)

  [ Andrew Kelley ]
  * update to latest clang C headers
  * stage2: introduce Module.failed_root_source_file

  [ LemonBoy ]
  * stage1: Fix constant folding of single-element enums
  * stage1: Initialize single-element union tag correctly
  * stage1: Don't fold single-element enums too aggressively
  * Add some test cases for the previous commits

  [ g-w1 ]
  * stage2: variable shadowing detection (#6969)

  [ xackus ]
  * std.c: freeing null is a no-op

  [ antlilja ]
  * Utilize std.fmt.parseUnsigned in main.zig.

  [ Luna ]
  * add AddressFamilyNotSupported to SendError

  [ Andrew Kelley ]
  * ability to build stage1 using only a zig tarball
  * fix wrong entrypoint, undefined package, and wrong build option
  * build: -lversion -luuid on windows and -DNDEBUG=1 for clang sources
  * restore the option to build with cmake
  * update readme installation instructions

  [ Nathan Michaels ]
  * Implement msp430 mapping for c_longdouble. (#7333)

  [ Andrew Kelley ]
  * glibc: additionally provide -lcrypt
  * stage2: only patch up LLD binaries on aarch64-macos
  * always use codeview (pdb) when object_format is PE/COFF
  * tests: run-translated-c now respects -Dtarget

  [ Nathanaël Courant ]
  * Fix general purpose allocator incorrectly modifying total_requested_bytes in some cases

  [ antlilja ]
  * Add option to override default stack size in build system.

  [ Andrew Kelley ]
  * add support for environment variables to control cache directories

  [ antlilja ]
  * Change tag returned by zigTagType for c_longdouble to Float.

  [ LemonBoy ]
  * stage1: Validate the specified cc for lazy fn types

  [ xackus ]
  * std.json: unreachable -> expect in tests

  [ Andrew Kelley ]
  * invoke LLD as a child process rather than a library
  * add std.testing.expectStringEndsWith
  * stage2: link: properly implement passthrough mode for LLD child proc

  [ Lee Cannon ]
  * Fixes #7352 - ignore zig fmt ignore zig-cache

  [ Vexu ]
  * zig fmt: improve var decl initializer formatting
  * small fixes and zig fmt

  [ LemonBoy ]
  * compiler-rt: Avoid exposing atomic builtins when not supported
  * compiler-rt: Fix compilation of clzsi for armv6 targets
  * std: explicitly cast indices to usize
  * stage1: Resolve some constants to u32, not usize

  [ Jakub Konka ]
  * stage2+aarch64: add load and store pair of registers instructions
  * stage2+aarch64: use stp and ldp to navigate MachO jump table
  * stage2+aarch64: fix stage2 tests
  * stage2+aarch64: clean up offset helper structs

  [ Joran Dirk Greef ]
  * Add io_uring TIMEOUT and TIMEOUT_REMOVE operations:

  [ LemonBoy ]
  * langref: Update setEvalBranchQuota prototype

  [ Martin Wickham ]
  * Fix operator precedence documentation

  [ Jakub Konka ]
  * macho: cleanup export trie generation and parsing
  * macho: add generic terminal info nullable struct to a node
  * macho: split writing Trie into finalize and const write
  * macho: parsing Trie now takes a reader and returns bytes read
  * stage2+macho: write code signature only when targeting aarch64
  * lld+macho: clean up error message when padding insufficient

  [ Andrew Kelley ]
  * MoveFileEx can return ACCESS_DENIED
  * mingw-w64: patch to silence implicit-function-declaration warnings

  [ Michael Dusan ]
  * ci linux: bump qemu-5.2.0

  [ Timon Kruiper ]
  * Do not keep the build.zig cache manifest file locked.

  [ Andrew Kelley ]
  * CLI: infer --name based on first C source file or object

  [ Joran Dirk Greef ]
  * Debug CI io_uring unsupported op

  [ LemonBoy ]
  * std: introduce meta.traits.is{Integral,Float}
  * std: prevent instantiation of atomic.Int with non-integral types
  * std: Validate the atomic ordering parameter in atomic.Int
  * std: Fix misuse of atomic.Int

  [ Joran Dirk Greef ]
  * Skip timeout_remove test where not supported by the kernel

  [ Vexu ]
  * translate-c: support referencing c containers in macros
  * make std.json.unescapeString pub

  [ Evan Haas ]
  * Support casting enums to all int types.

  [ antlilja ]
  * Added global-cache argument to build system + removed extra args.

  [ Andrew Kelley ]
  * CLI: improved local cache directory logic
  * update contributing docs
  * stage2: detect redundant C/C++ source files

  [ LemonBoy ]
  * zig fmt: Fix alignment of initializer elements

  [ Andrew Kelley ]
  * mingw-w64: add support for -lwldap32
  * mingw-w64: add .def files for xinput1_4
  * fix deadlock with build-exe on an object for windows
  * std.fs.path.extension: add additional API guarantee
  * stage2: proper file extension stripping
  * std.fs.path.extension: different behavior for ending dot

  [ LemonBoy ]
  * std: Improve sigaction interface
  * std: Correct check in signal test
  * std: Further siginfo refinements

  [ Andrew Kelley ]
  * glibc: do not provide -lcrypt

  [ Isaac Freund ]
  * stage2: support dynamically linking musl libc
  * std.CrossTarget: add isNativeAbi()
  * stage2: link musl dynamically by default if native

  [ LemonBoy ]
  * std: Fixes for siginfo test on macos
  * std: Update more siginfo bits for BSDs
  * Disable sigaction test on i386 because of #7427

  [ Alex Cameron ]
  * Fix Sigaction struct on FreeBSD.

  [ LemonBoy ]
  * std: Drop struct prefixes in FreeBSD siginfo
  * stage1: Fix crash in can_mutate_comptime_var_state
  * Fix compilation error on FreeBSD
  * Fix compilation error on OpenBSD

  [ Andrew Kelley ]
  * bump version to 0.7.0 => 0.7.1

  [ Isaac Freund ]
  * stage2: use %type not @type for libc stubs

  [ LemonBoy ]
  * std: Fix formatting of type values

  [ data-man ]
  * Add missed Linux syscalls

  [ LemonBoy ]
  * Add a test case

  [ Alexandros Naskos ]
  * Fixed std.fs.Watch implementation on Linux Added .Deleted event to std.fs.Watch on Linux
  * Implement std.fs.Watch on Windows Use unmanaged containers in std.fs.Watch

  [ LemonBoy ]
  * std: non-byte-multiple sized integers have no definite representation
  * std: Bool has no definite representation too
  * stage1: Don't skip steps when analyzing union types

  [ Sebastien Marie ]
  * openbsd: link with required system libraries (#7380)

  [ Sébastien Marie ]
  * openbsd: correct few structs
  * openbsd: crt0.o file is different when build static or dynamic mode

  [ LemonBoy ]
  * stage2: Add -include libc-symbols.h when building crtn.S

  [ luna ]
  * create SendToError (#7417)

  [ Christian Wesselhoeft ]
  * mingw-w64: add .def files for xaudio2_8

  [ Alexandros Naskos ]
  * Fix compilation for MacOS

  [ Jakub Konka ]
  * Update LLVM version numbers in CMake

  [ Veikka Tuominen ]
  * translate-c: detect parenthesized string literals

  [ data-man ]
  * Fix typo in math.order

  [ Jakub Konka ]
  * Update clang drivers
  * Update clang headers
  * Update libunwind
  * Update libcxx
  * Update libcxxabi
  * Update target details
  * Update zig_llvm.cpp and other bits
  * Update changes due to different CPU feature sets
  * Update clang options

  [ Andrew Kelley ]
  * update clang.zig and translate-c for the clang C++ API changes
  * stage1: apply LLVM ssp attributes globally
  * update the CPU target features and models
  * stage2: add test_evented_io to cache hash
  * zig cc: default to a.exe on windows

  [ Jakub Konka ]
  * lld+macho: add missing LC_LOAD_DYLIB cmd
  * lld+macho: lld xcomp to x86_64 macos now works
  * macos: add unfiltered aarch64 libc headers
  * macho: clean up formatting
  * macho: calculate next available dylib ordinal
  * macho: parse symbol and string tables
  * macho: do not error out on unknown load commands
  * macho: parse binding info into a table of entries
  * macho: move (lazy)binding tables into imports module
  * macho: cleanup (lazy) binding info tables
  * macho: no need to parse symbol/string tables
  * macho: deduplicate libc headers between macos arch
  * macho: refactor calculating LEB128 sizes

  [ Alexandros Naskos ]
  * Only check for evented mode in windows.OpenFile when in async mode

  [ LemonBoy ]
  * std: Don't hash undefined bits

  [ Dmitry Atamanov ]
  * Add process_madvise to Linux syscalls (#7450)

  [ Josh Holland ]
  * Improve documentation for string slices.

  [ Luuk de Gram ]
  * Fix StackFallbackAllocator

  [ Tau ]
  * Add baudrate constants This adds the missing baudrate constants for linux where I've used them directly.

  [ Isaac Freund ]
  * stage2: free Package resources
  * stage2: print package path on --pkg-begin failure

  [ Alexandros Naskos ]
  * Add EV_ERROR to FreeBSD bits

  [ Andrew Kelley ]
  * std: align(16) main_thread_tls_buffer

  [ LemonBoy ]
  * std: Properly fix the TLS alignment problem

  [ Andrew Kelley ]
  * std: introduce a thread-local CSPRNG for general use
  * start code: overwrite AT_RANDOM after we use it
  * update guess number standalone test
  * memory fences to make sure TLS init happens
  * std: tlcsprng: cleanups & improvements
  * update test-stack-traces because start.zig updated
  * take advantage of std.os.linux.getauxval
  * std.crypto.random: introduce fork safety
  * work around compiler bug regarding generic function slice alignment

  [ Jakub Konka ]
  * macho: address review comments
  * macho: redo how we allocate within a segment
  * macho: find free space even for __text section
  * macho: move findFreeSpace back to MachO struct
  * macho: auto-coerce to slice
  * macho: add missing dirty markers
  * macho: fix findFreeSpace start value
  * macho: preallocate space for linkedit hidden sections;
  * macho: bring back allocatedSize function

  [ Vincent Rischmann ]
  * builder: implement float options

  [ LemonBoy ]
  * stage1: Fix for generic fn monomorphization

  [ Andrew Kelley ]
  * std: move serialization to the std lib orphanage
  * stage2: protect mutable state from data races in updateCObject
  * use kprotty's ThreadPool implementation (v5)
  * stage2: replace WaitGroup with a trivially auditable one
  * ThreadPool: delete dead code
  * std.Progress: make the API thread-safe
  * update stage2 test harness to new std.Progress API
  * workaround for std lib AutoResetEvent bug
  * std.Progress: fix atomic ordering semantics
  * update WaitGroup to yet another version
  * add an option to compile zig in single-threaded mode

  [ Vexu ]
  * stage1: add missing error check on inferred struct field ptr

  [ Jakub Konka ]
  * macho: dynamically preallocate space for LINKEDIT sections as well
  * macho: deduplicate symbol table relocation codepath

  [ joachimschmidt557 ]
  * stage2 ARM: implement basic binary bitwise operations
  * stage2 ARM: add test cases for binary bitwise operations

  [ Jakub Konka ]
  * macho: write only bits that changed
  * macho: enable binding and lazy binding info writes
  * macho: pad out LINKEDIT upto specified filesize

  [ Alex Cameron ]
  * Implement emit-h
  * Enable emit-h by default for obj and lib compilation.
  * Remove redundant emit_h member in Compilation struct.

  [ Noam Preil ]
  * Fix memory leak
  * CBE: add support for bool,u32
  * CBE: Improve formatting
  * Add header test harness
  * Fix a dumb

  [ Alex Cameron ]
  * Add tests for emit-h functionality.
  * Make sure emit-h is off by default.
  * Don't use emit-h in test cases for other backends.
  * Add emit_h path to compilation hash.

  [ luna ]
  * cast sendto to SendError inside send (#7481)

  [ Evan Haas ]
  * Improve handling of C compiler intrinsics in translate-c

  [ g-w1 ]
  * Peer type resolution with unsigned ints and larger signed ints
  * stage2: @TypeOf (#7475)

  [ tgschultz ]
  * Added std.io.counting_reader

  [ Matthew Knight ]
  * Add c_longdouble mapping for bpf (#7504)

  [ Matt Sicker ]
  * Fix Gimli hash on 16n byte inputs

  [ Alex Cameron ]
  * Enable segfault handling on FreeBSD.

  [ Sébastien Marie ]
  * openbsd: fix siginfo_t struct definition

  [ Andreas Linz ]
  * Truncate user and group ids for 64 bit Linux systems (#7466)

  [ daurnimator ]
  * Add sincosf function (#7267)

  [ xackus ]
  * std.c: add fmemopen

  [ g-w1 ]
  * update depreciated code (#7502)

  [ Alex Cameron ]
  * Implement parsing for multi-arg Clang options.

  [ Veikka Tuominen ]
  * move ArrayListSentineled to std lib orphanage

  [ Eleanor Bartle ]
  * Clarify condusing wording regarding `%` and `/`

  [ Loris Cro ]
  * add termios bits for darwin
  * added comments, removed useless comptime keywords

  [ xackus ]
  * gdb pretty printers for slices and optionals
  * stage1: LLVMSetModuleInlineAsm is deprecated

  [ Koakuma ]
  * float_*_ieee597: only swap bytes when targeting different endianness than native

  [ Sébastien Marie ]
  * openbsd: implement segfault handling on openbsd x86_64

  [ Andrew Kelley ]
  * std.Mutex: integrate with pthreads
  * kprotty ThreadPool and WaitGroup patch
  * std.ResetEvent: use sem_t when linking against pthreads
  * std.ResetEvent: pthreads sem_t cannot be statically initialized
  * apply kprotty's WaitGroup fix
  * std.valgrind: add helgrind functions
  * minor code readability changes
  * std: add Darwin and FreeBSD sem_t bits
  * restore std.ResetEvent.isSet functionality
  * std.Progress: work around time going backwards
  * put the drone CI workaround back in

  [ Veikka Tuominen ]
  * std: clenup, fixes, fmt

  [ frmdstryr ]
  * Return encoded slice from base64 encode

  [ Andrew Kelley ]
  * rework std.ResetEvent, improve std lib Darwin integration
  * std: fix compile errors introduced in previous commit
  * Revert "std.valgrind: add helgrind functions"
  * WIP start adding support for TSAN
  * stage2: fix Cache deadlock and build more of TSAN
  * libunwind: add __gcc_personality_v0 symbol
  * zig cc: support both ubsan and tsan at the same time
  * stage1: add tsan LLVM passes when appropriate
  * stage2: tsan forces linking libc

  [ LemonBoy ]
  * stage1: Create a new declaration scope for union enum types

  [ Andrew Kelley ]
  * libunwind: fix compile errors and warnings for 32-bit arm
  * stage2: re-use compiler runtime libs across opt modes and strip flag

  [ g-w1 ]
  * make if the diff too large just default to dirty_diff_too_big as the diff

  [ Evan Haas ]
  * Correctly cast bool to signed int in translate-c

  [ Vexu ]
  * stage1: implement type coercion of anon list to array
  * stage1: implement type coercion of pointer to anon list to array/struct/union/slice
  * stage1: validate pointer attributes when coercing anon literals
  * fix tests

  [ Sébastien Marie ]
  * openbsd: define sem_t as optional pointer on opaque {}
  * openbsd: add commonly used libc wrappers for pledge(2) and unveil(2)

  [ g-w1 ]
  * remove git diff dirty changes feature from build.zig

  [ Veikka Tuominen ]
  * stage2: break and continue out of loops
  * stage2: add error for unused labels

  [ g-w1 ]
  * remove '||=' from stage1
  * stage2: add compile log statement (#7191)

  [ Andrew Kelley ]
  * stage2: Cache: add debug deadlock detection code
  * ci: build in Debug mode to help find the deadlock
  * stage2: Cache: fix resource management of the deadlock debug code

  [ Julius Putra Tanu Setiaji ]
  * Make hasUniqueRepresentation false for slices
  * Also check whether structs contain slices

  [ lithdew ]
  * builder: implement sanitize_thread option

  [ Veikka Tuominen ]
  * translate-c: demote variadic functions to declarations
  * stage1: const_values_equal error union, improve remaining "TODO" panics

  [ Julius Putra Tanu Setiaji ]
  * Handle unions in autoHash

  [ g-w1 ]
  * change zir definition to use *Inst instead of []const u8
  * fix test cases to use str zir inst instead of just a quoted string
  * add test for @compileError in zig code, not only zir
  * make compileError use an UnOp since its operand is just a *Inst

  [ Andrew Kelley ]
  * std: do not call malloc() between fork() and execv()
  * ci: put Drone CI back to normal
  * stage2: Cache deadlock debugging only for safe build modes

  [ Isaac Freund ]
  * std: add c._exit() and use in ChildProcess

  [ Andrew Kelley ]
  * std.event.Loop: fix regression with ResetEvent

  [ Isaac Freund ]
  * std: add test for createNullDelimitedEnvMap()
  * std: clean up sentinel handling for argv/environ

  [ frmdstryr ]
  * Update event loop sendto error to SendToError

  [ LemonBoy ]
  * stage1: Prevent crash with some lazy pointer types

  [ g-w1 ]
  * stage2: make Alloc(Inferred) have mutabality info (#7570)

  [ Isaac Freund ]
  * std/heap: fix documentation of raw_c_allocator

  [ Vincent Rischmann ]
  * fs: add a test for the walker
  * fs: fix segfault in Walker.next

  [ Andrew Kelley ]
  * Revert "stage2: add compile log statement (#7191)"

  [ Timon Kruiper ]
  * stage2: fix compilation of self-hosted compiler with -Denable-llvm
  * stage2: rename llvm.zig to llvm_bindings.zig
  * stage2: add initial impl of LLVM backend in self-hosted compiler
  * stage2: add LLVM codegen windows support to the self-hosted compiler
  * stage2: fix building self-hosted without llvm-backend enabled.
  * stage2: add missing asserts and early returns for LLVM backend
  * stage2: refactor (simplify) code structure of `llvm_backend.zig`
  * stage2: add initial implementation of func arguments in LLVM backend

  [ Andrew Kelley ]
  * stage2: add extern functions
  * stage2: C backend: pointer cast decl refs if necessary
  * stage2: C backend: properly render type of array decls
  * stage2: C backend: implement `@breakpoint` and clean up test harness
  * zig test: std.testing.zig_exe_path is now available
  * stage2: improve test harness to support executing generated C code
  * stage2: C backend: handle string literals more gracefully
  * stage2: update C backend test cases for new output
  * std.process: update arg iterator tests
  * stage2: better error message for root zig source file not found
  * fix `zig test` with regards to passing parameters
  * stage2 tests: better failure reporting for failed execution

  [ Frank Denis ]
  * std/crypto: increment the correct words for vectorized salsa20

  [ Andrew Kelley ]
  * Revert "stage2: fix compilation of self-hosted compiler with -Denable-llvm"
  * stage2 tests: fix incorrect path used for execution binary
  * stage2 tests: pass cwd to child process to fix exe path

  [ LemonBoy ]
  * std: Avoid deadlocking in ChildProcess.exec
  * std: Fix poll definitions for FreeBSD/Darwin
  * std: Uniform polling logic for Windows and Unix
  * std: Fix compilation on FreeBSD/Darwin
  * std: Use WINAPI instead of .Stdcall

  [ Andrew Kelley ]
  * std.ChildProcess: improvements to collectOutputPosix
  * zig test: release Compilation Cache locks
  * std.ChildProcess: fix max_output_bytes handling

  [ Jay Petacat ]
  * Comply with semantic versioning pre-release format

  [ LemonBoy ]
  * stage1: Let LLVM legalize the overflowing ops on vectors

  [ Andrew Kelley ]
  * stage2: C backend improvements
  * stage2 tests: improve C backend testing

  [ Isaac Freund ]
  * std: fix Reader.readUntilDelimiterOrEofAlloc() API

  [ Jay Petacat ]
  * stage2: SemVer compliance for development builds

  [ LemonBoy ]
  * stage1: Allow variable capture for multi-prong switch arms
  * std: Clean up some tests
  * std: Add more standard type definitions for FreeBSD
  * std: Remove duplicated code

  [ Jay Petacat ]
  * Remove 'g' prefix from commit hash in Zig semver

  [ Andrew Kelley ]
  * stage2: rework Type Payload layout
  * stage2: rework Value Payload layout

  [ Luna ]
  * ci: freebsd: use py37-s3cmd

  [ Andrew Kelley ]
  * stage2: inferred local variables

  [ Jakub Konka ]
  * macho: move findFreeSpace into SegmentCommand
  * macho: add and populate UUID load command
  * macho: create dSym bundle next to final artefact
  * macho: write Mach-O dSym header
  * macho: write matching UUID to dSym bundle
  * macho: copy snapshots of segment commands
  * macho: write symbol and string tables to dSym
  * macho: prealloc space for debug sections in dSym
  * macho: add Elf dwarf sections
  * macho: use 32bit DWARF format
  * macho: fix bundle name to .dSYM
  * macho: add decl line and file info to subprogram
  * macho: refactor and fix stage2 tests
  * macho: move updateDeclLineNumber logic to DebugSymbols
  * macho: put all DWARF-related logic into DebugSymbols
  * macho: advance VM address of DWARF sections when relocating
  * macho: sentinel can be 4 byte long

  [ Andrew Kelley ]
  * stage2: type inference for local var

  [ Jakub Konka ]
  * Make sure MachO.zig compiles on 32bit hosts

  [ LemonBoy ]
  * stage1: Remove stray brace in rarely-tested code path

  [ Jakub Konka ]
  * More MachO.zig fixes ensuring 32bit compat

  [ Andrew Kelley ]
  * Revert "Remove 'g' prefix from commit hash in Zig semver"
  * Revert "stage2: SemVer compliance for development builds"
  * Revert "Comply with semantic versioning pre-release format"

  [ Frank Denis ]
  * Year++

  [ Andrew Kelley ]
  * stage2: no Payload for Type.Tag.inferred_alloc
  * stage2: compile error for invalid `var` type

  [ g-w1 ]
  * Fix #7296:
  * update .gitignore to include /release/ and /debug/

  [ joachimschmidt557 ]
  * stage2 ARM: implement genCondBr
  * stage2 ARM: implement genCondBr for compare_flags
  * stage2 ARM: implement genSetReg with compare_flags
  * stage2 ARM: Add simple tests for conditional branching

  [ daurnimator ]
  * Add PackedIntArray .initAllTo function
  * Add workaround in PackedIntArray .initAllTo for #7635
  * std/build.zig: use (existing) warn function alias
  * Don't process.exit() on invalid option use .markInvalidUserInput
  * Build errors should be followed by two newlines

  [ Jakub Konka ]
  * macho: unblock stage2 on 32bit platforms (#7632)

  [ Sizhe Zhao ]
  * Fix ssize_t definition

  [ LemonBoy ]
  * std: Show the panicking thread ID

  [ Andrew Kelley ]
  * std.debug: adjust panic message

  [ joachimschmidt557 ]
  * stage2 AArch64: add logical (shifted register) instructions

  [ daurnimator ]
  * std: add std.meta.FieldEnum
  * std: have std.meta.fieldInfo take an enum rather than a string
  * std: use FieldEnum from TrailerFlags
  * std: loop in trailer flags can be indexing operation

  [ Isaac Freund ]
  * std/build: assert that install paths are relative

  [ Jay Petacat ]
  * ci: fix `git describe`

  [ Andrew Kelley ]
  * Restore the reverted semantic versioning commits

  [ Sébastien Marie ]
  * openbsd: add pollfd interface

  [ Jakub Konka ]
  * Detect native iframework dirs on macOS
  * Duplicate OSAtomic.h between aarch64 and x86_64

  [ Andrew Kelley ]
  * std: disable a couple tests on windows

  [ Sizhe Zhao ]
  * Fix usage message

  [ LemonBoy ]
  * stage1: Use correct format specifier for size_t parameters

  [ Cameron Conn ]
  * Improve documentation for ArrayList, ArrayListUnmanaged, etc. (#7624)

  [ ryuukk ]
  * Pretty print Slices
  * Formatting fix

  [ LemonBoy ]
  * std: Refactor the slice formatting code

  [ data-man ]
  * Add formatting for arrays

  [ LemonBoy ]
  * Small cleanup
  * Use same brace pairs for arrays/slices/vectors
  * std: Use {s} instead of {} when printing strings
  * stage2: Use {s} instead of {} when formatting strings
  * tests: Use {s} instead of {} when formatting strings
  * std: Disable the special casing of {} for u8 slices/arrays
  * Fix more stray uses of {} for formatting strings
  * langref: Update langref to use {s}
  * stage2: Use {z} instead of {s} in generated Zig code
  * Decrement max_depth when printing slice elements
  * Remove some unwanted changes

  [ Andrew Kelley ]
  * convert more {} to {d} and {s}
  * stage2: comptime function calls
  * stage2: implement function call inlining in the frontend
  * stage2: re-use ZIR for comptime and inline calls
  * stage2: fix handling compile error in inline fn call

  [ g-w1 ]
  * fix 7665:

  [ Andrew Kelley ]
  * stage2: support recursive inline/comptime functions

  [ Frank Denis ]
  * std/crypto: properly support arbitrary output sizes

  [ Timon Kruiper ]
  * stage2: fix building self-hosted compiler with -Dstatic-llvm
  * stage2: clear `err_msg` after it has been added to `module.failed_decls`
  * stage2: implement register allocation in LLVM self-hosted backend
  * stage2: Add code generation for Load instruction in LLVM backend
  * stage2: implement argument passing and returning in LLVM backend
  * stage2: make use of proper LLVM intrinsic APIs in LLVM backend
  * stage2: add support for integers in LLVM backend
  * stage2: Output the LLVM object files in the cache directory
  * stage2: add some missing deallocations in Compilation.zig
  * stage2: enable building test-stage2 with LLVM backend enabled
  * stage2: Add support for testing LLVM enabled builds in test-stage2

  [ Jakub Konka ]
  * stage2: implement basic function params aarch64
  * stage2: add aarch64 stage2 tests

  [ Evan Haas ]
  * Static function declarations with no prototype should not be variadic

  [ Andrew Kelley ]
  * drone ci: skip compile error tests to save time
  * stage2: fix Cache debug deadlock code memory leak
  * stage2: remove the Cache deadlock detection code

  [ daurnimator ]
  * Improve uring definitions

  [ Frank Denis ]
  * std/crypto: add BLAKE2-160 types and tests

  [ joachimschmidt557 ]
  * stage2 x86_64: fix bug in Function.gen

  [ g-w1 ]
  * stage2: implementation of `@setEvalBranchQuota`:

  [ Andrew Kelley ]
  * stage2: improvements to `@setEvalBranchQuota`
  * Revert "Fix #7296:"
  * stage2: add more perf tracing points
  * ci: omit stage2 backend from stage1 on Windows

  [ xackus ]
  * std.c: add some noalias

  [ J.C. Moyer ]
  * Fix off-by-one error in SinglyLinkedList.len() and add associated tests

  [ Felix (xq) Queißner ]
  * Fixes missing error prong in std.os.send.

  [ Evan Haas ]
  * Allow dollar sign $ in identifiers in translate-c

  [ Andrew Kelley ]
  * ci: skip crypto tests on windows
  * std: skip more tests on Windows to save CI memory

  [ Alex Cameron ]
  * std: Rename ArrayList shrink => shrinkAndFree
  * std: Support equivalent ArrayList operations in ArrayHashMap

  [ xackus ]
  * freebsd, netbsd, dragonfly: add struct timeval
  * std.c add syslog

  [ Noam Preil ]
  * integrate CBE with Compilation.update pipeline (closes #7589)

  [ Andrew Kelley ]
  * stage2: rework the C backend
  * stage2: link.C: use pwritev
  * stage2: C backend: adjust spaces around functions
  * stage2: C backend: remove format() hackery
  * stage2: C backend: re-implement emit-h
  * minor fixups from moving identifiers and files around

  [ g-w1 ]
  * stage2: add compile log statement

  [ Andrew Kelley ]
  * stage2 test harness: don't try to run non-native C backend tests

  [ Timon Kruiper ]
  * stage2: add initial impl for generating global decls in LLVM backend
  * stage2: rename `*const llvm.ValueRef` to `*const llvm.Value` in LLVM backend
  * stage2: hoist alloca instructions to top of function in LLVM backend
  * stage2: make use of `llvm.Context` in LLVM backend
  * stage2: rename and move files related to LLVM backend

  [ Andrew Kelley ]
  * stage2: C backend: support unused Decls

  [ Frank Denis ]
  * Azure CI: update MSYS version

  [ joachimschmidt557 ]
  * stage2 ARM: fix offsets in exitlude jump relocations
  * stage2 ARM: fix stack offsets for genSetReg and genSetStack

  [ Andreas Karlsson ]
  * Fix example code in comments for asc and desc

  [ BinaryWarlock ]
  * spinlock: Default SpinLock.state to .Unlocked to allow default struct initialization

  [ Andrew Kelley ]
  * std.SpinLock: flatten and remove init/deinit
  * stage2: update to new ArrayListHashMap API

  [ Jonathan Marler ]
  * fix LRESULT and LPARAM typedefs

  [ Andrew Kelley ]
  * ci: rework linux script
  * ci: add missing target/mcpu args to zig cc
  * ci: don't use ninja on linux
  * ci: pass --override-lib-dir to emit std lib docs

  [ Timon Kruiper ]
  * stage2 test: make sure to pass the dynamic linker to Compilation

  [ Andrew Kelley ]
  * ci: add github.com's public key for the ssh clone
  * ci: fix path to update-download-page.zig script
  * ci: import the update-download-page from www repo

  [ Robin Voetter ]
  * Add IP_ constants
  * Add EPERM to std.os.setsockopt

  [ Jakub Konka ]
  * Want native headers when linking with frameworks

  [ Michael Dusan ]
  * builder: propagate env_map for child processes

  [ Jay Petacat ]
  * Reduce use of deprecated IO types

  [ Jonathan Marler ]
  * remove z/Z format specifiers

  [ Julius Putra Tanu Setiaji ]
  * Add compileError message for StringHashMap in AutoHashMap

  [ Timon Kruiper ]
  * stage2: implement TZIR printing for `block` and `condbr`
  * stage2: add initial impl of control flow in LLVM backend

  [ Jay Petacat ]
  * Remove deprecated stream aliases
  * io: `FindByteOutStream` to `FindByteWriter`

  [ Jakub Konka ]
  * libstd: add missing MachO rebase opcodes in macho.zig

  [ Sobeston ]
  * added mem.containsAtLeast

  [ LemonBoy ]
  * stage2: Implicitly enable --eh_frame_hdr when compiling c/c++ files

  [ xackus ]
  * Fix system library path detection on linux

  [ Jay Petacat ]
  * builtin: Add zig_version

  [ joachimschmidt557 ]
  * stage2: fix bug in genArg

  [ Vincent Rischmann ]
  * debug: don't fail printLineInfo if the source file is not readable

  [ Timon Kruiper ]
  * stage2: add support for loops in LLVM backend

  [ Adam Goertz ]
  * impl lossyCast #5080

  [ Andrew Kelley ]
  * zig fmt

  [ Travis ]
  * update path.join to recognize any separators that isSep does

  [ LemonBoy ]
  * std: Decouple network streams from fs.File
  * std: Add a small test for i/o on unix sockets
  * Let the kernel pick a random port
  * Apparently unix sockets are supported on Windows

  [ Martin Wickham ]
  * Modify cityhash to work at comptime

  [ Andrew Kelley ]
  * std CityHash: disable memory-expensive tests for now

  [ Vincent Rischmann ]
  * os/bits/linux: add the termios cc bits

  [ daurnimator ]
  * std: reader.skipBytes's num_bytes should be a u64
  * std: use reader.skipBytes to avoid infinite loop in writeFileAllUnseekable
  * std: add LimitedReader: reader that returns EOF early
  * std: use fifo.pump in writeFileAllUnseekable

  [ Andrew Kelley ]
  * std.EarlyEOFReader: rename to LimitedReader

  [ Jonathan Knezek ]
  * Add std.fmt.formatDuration and std.fmt.duration (#7297)

  [ Rohlem ]
  * move windows runtime version detection into std.zig.system.windows
  * add std.zig.system.windows version check utility functions
  * std.os.windows.GetFinalPathNameByHandle: reintroduce kernel32 for compatibility
  * std.os.windows.GetFinalPathNameByHandle: add test
  * introduce std.os.windows.QueryObjectName
  * std.os.windows.GetFinalPathNameByHandle: replace kernel32 by ntdll call
  * std.os.windows.GetFinalPathNameByHandle: address non-structural review comments
  * std.os.windows.GetFinalPathNameByHandle: remove QueryInformationFile code path
  * std.os.windows.GetFinalPathNameByHandle: remove intermediate buffers

  [ Michael Dusan ]
  * macos: reimplement OS version detection
  * more fixups

  [ Lee Cannon ]
  * Added support for no red zone

  [ Andrew Kelley ]
  * stage2: cleanups regarding red zone CLI flags
  * std.event.Loop: fix race condition when starting the time wheel

  [ Sébastien Marie ]
  * add pthread_key functions
  * implement emutls in compiler_rt

  [ Andrew Kelley ]
  * ci: add stdDocs to downloads/index.json for master branch
  * ci: give the updated website content to the website repo
  * ci: stop directly pushing web page stuff to s3

  [ LemonBoy ]
  * stage1: Resolve alignment earlier in @alignCast

  [ Bill Nagel ]
  * define nfds_t for windows
  * add missing ECONNRESET from getsockoptError

  [ Jay Petacat ]
  * Move fmt.testFmt to testing.expectFmt

  [ Jakub Konka ]
  * stage2: lay the groundwork in prep for extern fn
  * macho: prealloc DATA_CONST and DATA segments
  * macho: add missing data sections
  * macho: populate stubs and stub_helper
  * macho: write out rebase info
  * macho: write out binding info
  * macho: first working draft of externs on macOS
  * macho: fully working PoC with main and exit
  * macho: write out stubs for new externs only
  * macho: memorize start of stubs in helper
  * macho: refactor writing and managing externs
  * macho: document more code + add test case
  * macho: bring back lld cc hot-fix
  * macho: add x86_64 support
  * macho: properly populate offset into lazy bind info
  * macho: add x86_64 tests
  * macho: update DebugSymbols to include DATA_CONST seg

  [ Asherah Connor ]
  * std.os.uefi.protocols.FileProtocol: fix and expose get_position, set_position (#7762)
  * std.elf: expose parsing decoupled from std.fs.File
  * std.elf: make Header pub
  * std.elf: call it Header.parse
  * std.elf: actually pass the pointer
  * expose phdr, shdr parsing
  * fix SectionHeaderIterator impl
  * use interfaces

  [ Andrew Kelley ]
  * organize std lib concurrency primitives and add RwLock
  * std.Thread.Mutex: restore the "Held" API
  * std.Thread.StaticResetEvent: call spinLoopHint appropriately
  * fix namespace of kernel32 function calls
  * std.Thread: avoid compile errors for single-threaded OS's

  [ Jakub Konka ]
  * macho: use target arch page_size for codesig

  [ Koakuma ]
  * Add compiler-rt stub for SPARC CPUs
  * Fix f128 codegen on BE hosts
  * Fix _Qp_cmp definition

  [ Evan Haas ]
  * translate-c: ensure bools are cast to int when necessary

  [ Guillaume Ballet ]
  * crypto: add legacy keccak hash functions

  [ Jakub Konka ]
  * macho: ensure that strtab always follows symtab

  [ Luuk de Gram ]
  * stage2: refactor wasm backend - similar to the other backends
  * Cleanup and 'add' instruction for bigger test area

  [ Zander Khan ]
  * std: Add Priority Dequeue

  [ Luuk de Gram ]
  * Add tests and move tests to wasm's own file
  * Generate correct opcode for 'addGen' depending on type

  [ Zander Khan ]
  * Add license to top of file
  * Add missing import
  * Remove magic number
  * Ensure we cannot remove an item outside the current length of the queue
  * Fix edge cases in fromOwnedSlice
  * Rename heap to queue in tests for consistency
  * Fix update might change an element no longer in the queue
  * Fix slice length when updating

  [ joachimschmidt557 ]
  * stage2 AArch64: add very basic return values
  * stage2 ARM: add extra load/store instructions

  [ Andrew Kelley ]
  * std.ArrayHashMap: add "AssertDiscard" function variants
  * stage2: implement error notes and regress -femit-zir
  * stage2: slight cleanup of Module by calling astgen functions
  * stage2: add compile error for label redefinition

  [ Jakub Konka ]
  * stage2 aarch64: add basic genSetStack
  * stage2 aarch64: add basic function pro/epilogue

  [ Zander Khan ]
  * Replace `shrink` with `shrinkAndFree` and `shrinkRetainingCapacity`
  * Remove `resize`. Adding uninitialized memory at the end of the `items` would break the heap property.

  [ Jakub Konka ]
  * macho: improve x86_64 tests; clean fixups on error
  * macho: refactor undef symbol handling

  [ joachimschmidt557 ]
  * stage2 AArch64: fix stack offsets in genSetStack
  * stage2 AArch64: add add/subtract (immediate) instructions
  * stage2 AArch64: update function prologue and epilogue to include stack offsets

  [ LemonBoy ]
  * std: Fixed pipe2 fallback
  * std: define pipe2 only for os that support it
  * std: Add missing cast when calling fcntl w/ constant args

  [ Zander Khan ]
  * Change `compareFn` to `fn (a: T, b: T) std.math.Order`

  [ Julian Maingot ]
  * update error return doc
  * stage2: use %type not @type for libc stubs

  [ Evan Haas ]
  * translate-c: Add Wide, UTF-16, and UTF-32 character literals

  [ Andrew Kelley ]
  * update wasm backend to match new Module API

  [ joachimschmidt557 ]
  * stage2 AArch64: implement jump

  [ Jakub Konka ]
  * stage2 macho: cleanup indirect symbol table writes
  * macho: add missing DWARF line no update in codegen

  [ g-w1 ]
  * stage2: fix orelse at comptime

  [ Andrew Kelley ]
  * stage2: rework ZIR/TZIR for optionals and error unions
  * astgen: eliminate rlWrapPtr and all its callsites

  [ Robin Voetter ]
  * SPIR-V: Spec generator
  * SPIR-V: Add generated specification
  * SPIR-V: Initial architecture definitions and setup
  * SPIR-V: Linking and codegen setup
  * SPIR-V: Add glsl450 and vulkan spir-v operating system definitions
  * SPIR-V: Make emitting binary more efficient
  * SPIR-V: OpMemoryModel and basic capability generation
  * SPIR-V: Use free list for result id generation

  [ Andrew Kelley ]
  * stage2: ELF: avoid multiplication for ideal capacity
  * stage2: ELF: fix crash when only 1 function and it gets updated

  [ Jakub Konka ]
  * macho: make int casts safer
  * macho: reuse existing names from the string table
  * macho: fix overflowing u64 range
  * stage2: converge x86_64 and aarch64 tests on macOS
  * Backport Elf changes from d5d0619

  [ Andrew Kelley ]
  * stage2: -Dlog enables all logging, log scopes can be set at runtime
  * stage2: fix anonymous Decl ty/val wrong arena

  [ Rafael Ristovski ]
  * zig cc: Support reading input from stdin

  [ Andrew Kelley ]
  * stage2: implement TZIR printing for call instruction

  [ Evan Haas ]
  * translate-c: fix variadic function calls

  [ LemonBoy ]
  * stage1: don't filter test blocks with empty label

  [ Jakub Konka ]
  * Bring back stack trace printing on ARM Darwin

  [ LemonBoy ]
  * stage1: Allow nameless test blocks
  * std: Update `test ""` to `test` where it makes sense

  [ Andrew Kelley ]
  * stage2: add missing frexpl.c to mingw c source file list
  * stage2: wasm arch does not support -mred-zone flags
  * add LTO support

  [ Luuk de Gram ]
  * Define wasm constants
  * Nested conditions and loops support

  [ Timon Kruiper ]
  * fix windows bug in Progress.zig

  [ Andrew Kelley ]
  * std.Progress: call refreshWithHeldLock as appropriate
  * zig cc: recognize more coff linker options

  [ Timon Kruiper ]
  * windows: make sure to handle PATH_NOT_FOUND when deleting files

  [ Joran Dirk Greef ]
  * linux: add fallocate() to io_uring

  [ Evan Haas ]
  * translate-c: Improve array support

  [ Timon Kruiper ]
  * render: fix bug when rendering struct initializer with length 1

  [ Koakuma ]
  * Fix f128 NaN check on big-endian hosts

  [ Joran Dirk Greef ]
  * Add MAX_RW_COUNT limit to std.os.pread()

  [ Jakub Konka ]
  * macho: add arm64 relocation type enum

  [ Luuk de Gram ]
  * Add tests, fix locals that are created in blocks like loops, and handle all breaks correctly

  [ Evan Haas ]
  * translate-c: add wide string literal support

  [ root ]
  * Fix interger overflow when calling joinZ with empty slices

  [ Asherah Connor ]
  * complete {Z} deprecation in std.fmt.formatIntValue

  [ Martin Wickham ]
  * Fill out more cases for std.meta.sizeof

  [ Michael Dusan ]
  * stage1: add error for slice.len incr beyond bounds

  [ Dmitry Atamanov ]
  * Improve error messages in std.fmt (#7898)

  [ Tadeo Kondrak ]
  * std.meta: rename TagType to Tag
  * std.meta: rename TagPayloadType to TagPayload
  * remove @TagType

  [ rgreenblatt ]
  * FromWriteFileStep for all LibExeObjStep types

  [ Tadeo Kondrak ]
  * Replace @TagType uses, mostly with std.meta.Tag

  [ Andrew Kelley ]
  * add std.MultiArrayList
  * std.GeneralPurposeAllocator: logging improvements
  * stage2: rework AST memory layout

  [ daurnimator ]
  * std.json support for comptime fields
  * std.json union handling should bubble up AllocationRequired
  * allow more complex comptime fields in std.json

  [ Andrew Kelley ]
  * stage2: rework astgen result locations
  * astgen: `@as` with block_ptr result location
  * astgen: const locals that end up being rvalues do not alloc
  * astgen: respect a const local's type annotation
  * sema: after block gets peer type resolved, insert type coercions
  * astgen: rework labeled blocks
  * astgen: rework orelse/catch
  * astgen: rework while
  * astgen: rework for loops
  * stage2: delete astgen for switch expressions
  * stage2: tokenizer does not emit line comments anymore

  [ Veikka Tuominen ]
  * stage2 cbe: loop instruction
  * stage2 cbe: use AutoIndentingStream
  * stage2 cbe: condbr and breaks
  * stage2 cbe: block results
  * stage2 cbe: implement switchbr
  * stage2 cbe: implement not and some bitwise ops
  * stage2: reimplement switch

  [ Frank Denis ]
  * std/math/big/int: normalize after a right shift

  [ Vincent Rischmann ]
  * Fixes for std.Thread.Condition (#7883)

  [ joachimschmidt557 ]
  * stage2 ARM: save function arguments to stack for debugging

  [ Cameron Conn ]
  * Don't read more bytes than exist in MsfStream (#7839)

  [ Luuk de Gram ]
  * Define wasm constants

  [ Ryan Liptak ]
  * docs: Clarify that @field can work on declarations

  [ Martin Wickham ]
  * Dupe strings on all public api points for std.build

  [ Jonathan Marler ]
  * std.json large number support

  [ Michael Dusan ]
  * update update_glibc to format strings with "{s}"

  [ Andrew Kelley ]
  * zig fmt: start reworking with new memory layout
  * zig fmt: implement "line comment followed by top-level comptime"
  * zig fmt: implement simple test with doc comments

  [ Frank Denis ]
  * siphash: update the link to the SipHash paper

  [ Michael Dusan ]
  * fix superfluous fmt specifier in update_glibc

  [ Andrew Kelley ]
  * zig fmt: implement if, call, field access, assignment

  [ Rocknest ]
  * fix typo in comment

  [ Andrew Kelley ]
  * zig fmt: implement top-level fields
  * zig fmt: builtin calls and array access

  [ Koakuma ]
  * std.debug.StackIterator: account for SPARC %fp quirk
  * stage1:	set gen_frame_size alignment to work around requirement mismatch
  * Add comment explaining the alignment setting
  * Fix previous %fp calculation

  [ Asherah Connor ]
  * zig fmt: deref, unwrap optional

  [ Michael Dusan ]
  * target: map zig ppc32 → llvm ppc

  [ Andrew Kelley ]
  * zig fmt: implement fn protos and defers
  * zig fmt: implement struct init

  [ Luuk de Gram ]
  * Create type declarations for extern functions and write the 'import' section
  * Ensure function indices are correct and fix a memory leak

  [ Isaac Freund ]
  * std.MultiArrayList: implement review comments
  * zig fmt: float literal with exponent
  * zig fmt: struct and anon array initialization
  * zig fmt: array types

  [ Andrew Kelley ]
  * std.MultiArrayList: use `@memset` builtin for undefined
  * zig fmt: implement container decls
  * zig fmt: trailing comma in fn parameter list
  * zig fmt: builtin call with trailing comma

  [ Mitchell Kember ]
  * Use -isysroot on Catalina too, not just Big Sur

  [ Isaac Freund ]
  * zig fmt: implement pointer types
  * zig fmt: implement slices
  * zig fmt: implement catch and return

  [ Andrew Kelley ]
  * zig cc: recognize the `-s` flag to be "strip"
  * never pass -s to clang

  [ Isaac Freund ]
  * zig fmt: implement error set decls
  * zig fmt: split Slice and SliceSentinel
  * std/zig/ast: fix Tree.lastToken() for blocks

  [ Evan Haas ]
  * translate-c: Improve function pointer handling

  [ Isaac Freund ]
  * zig fmt: implement break
  * zig fmt: fix block lbrace indent
  * zig fmt: implement switches

  [ Andrew Kelley ]
  * zig fmt: asm expressions
  * zig fmt: fn protos and anytype

  [ joachimschmidt557 ]
  * stage2 ARM: fix callee_preserved_regs
  * stage2 ARM: fix register allocation in genArmBinOp

  [ Andrew Kelley ]
  * zig fmt: while loops
  * zig fmt: for loops
  * zig fmt: usingnamespace
  * zig fmt: suspend blocks
  * zig fmt: grouped expressions
  * zig fmt: anytype, fn calls with one param, trailing commas
  * zig fmt: remove dead code
  * zig fmt: fix regression with many container members
  * zig fmt: re-enable now-passing test cases

  [ Jonathan Marler ]
  * require specifier for arrayish types

  [ Evan Haas ]
  * translate-c: call @boolToInt on return value when necessary

  [ Isaac Freund ]
  * musl: update to 1.2.2
  * zig fmt: fix typo in firstToken() for pointer types
  * zig fmt: support bodyless function decls
  * zig fmt: fix render of pointers with ** tokens
  * zig fmt: implement Tree.lastToken() for array types
  * zig fmt: implement Tree.lastToken() for array init
  * zig fmt: implement Tree.lastToken() for struct init
  * zig fmt: fix 0 element struct and array init
  * zig fmt: implement Tree.lastToken() for all nodes

  [ Jonathan Marler ]
  * Add more mingw def files

  [ Tadeo Kondrak ]
  * std.zig: reformat inline fn to callconv(.Inline)
  * Convert inline fn to callconv(.Inline) everywhere
  * stage1: switch from inline fn to callconv(.Inline)
  * stage2: switch from inline fn to callconv(.Inline)
  * translate_c: switch from inline fn to callconv(.Inline)
  * test/cli.zig: Remove inline from panic function in testGodboltApi

  [ Evan Haas ]
  * translate-c: comma operator should introduce a new scope

  [ Isaac Freund ]
  * zig fmt: fix Tree.lastToken() for empty *Two nodes
  * zig fmt: implement line comments

  [ Veikka Tuominen ]
  * snake_case Token.Tag
  * snake_case Node.Tag
  * snake_case render.Space

  [ Andrew Kelley ]
  * stage2: start reworking Module/astgen for memory layout changes
  * zig fmt: add failing test case for inline/callconv conversion

  [ Tadeo Kondrak ]
  * stage2: fix zero-sized function parameters (#7998)

  [ Andrew Kelley ]
  * stage2: more progress towards Module/astgen building with new mem layout

  [ Isaac Freund ]
  * zig fmt: remove empty lines at start/end of block
  * zig fmt: implement multiline string literals

  [ Andrew Kelley ]
  * astgen: update a handful of expression types to new mem layout

  [ Isaac Freund ]
  * zig fmt: fix inferred error union return types

  [ Andrew Kelley ]
  * astgen: update more expression types to new mem layout

  [ Veikka Tuominen ]
  * translate-c: start creating intermediate AST
  * translate-c: translate C types to stage2 types
  * translate-c: make Node more like Type
  * translate-c: convert transBinaryOperator
  * translate-c: more binaryoperator chagnes, blocks and unary type expressions
  * translate-c: unary operator, integers and misc
  * translate-c: convert function translation
  * translate-c: convert vardecl and typedef
  * translate-c: convert record and enum decls
  * translate-c: convert casts and string/array init
  * translate-c: convert most control flow
  * translate-c: convert switch
  * translate-c: convert field/array access, call, pre/postcrement
  * translate-c: convert assignment and conditional exprs
  * translate-c: convert macro translation
  * translate-c: bunch of small fixes to get it compiling
  * translate-c: begin implementing ast.render
  * translate-c: render a bunch of simple nodes and calls
  * translate-c: render variables and builtin calls
  * translate-c: render unary ops
  * translate-c: render binops and break/continue
  * translate-c: render functions
  * translate-c: render macro functions, use cast type as return type
  * translate-c: render control flow
  * translate-c: render array stuff
  * translate-c: render records and enums
  * translate-c: get all run-translated-c tests passing
  * translate-c: get all translate-c tests passing
  * translate-c: elide some unecessary casts of literals

  [ Andrew Kelley ]
  * std.fs.net.Stream: add writev and writevAll

  [ Isaac Freund ]
  * std: remove io.AutoIndentingStream
  * zig fmt: implement 'zig fmt: (on|off)' directives
  * zig fmt: get rid of Space.no_comment

  [ Mathieu Guay-Paquet ]
  * Allow resume in nosuspend scope
  * Allow async in nosuspend scope

  [ Veikka Tuominen ]
  * translate-c: demote untranslatable declarations to externs
  * translate-c: support scoped typedef, enum and record decls

  [ Evan Haas ]
  * translate-c: Add test for using correct block label for StmtExpr

  [ Veikka Tuominen ]
  * translate-c: improve switch translation

  [ Andrew Kelley ]
  * astgen: finish updating expressions to new mem layout
  * stage2: fix some of the compilation errors in this branch
  * stage2: fix a couple more compilation errors

  [ Veikka Tuominen ]
  * translate-c: small miscellaneous improvements
  * translate-c: ensure failed macros don't get defined multiple times

  [ Andrew Kelley ]
  * stage2: astgen: fix most of the remaining compile errors
  * astgen: fix remaining compile errors

  [ Veikka Tuominen ]
  * translate-c: small fixes to avoid generating invalid code for macros
  * translate-c: correctly add semicolon to if statements

  [ Isaac Freund ]
  * stage2: make same line doc comments a parse error

  [ Andrew Kelley ]
  * readme: update introduction link
  * stage2: AST: clean up parse errors
  * stage2: test harness: panic on OOM rather than assert
  * stage2: remove incorrect newlines from log statements
  * stage2: fix incorrect ast.Tree.getNodeSource impl
  * stage2: fix not setting up ZIR arg instruction correctly

  [ Michael Dusan ]
  * macos: fix cond to enable ZIG_SYSTEM_LINKER_HACK

  [ Andrew Kelley ]
  * stage2: fix a couple off by one errors
  * stage2: debug line nops supports bigger padding

  [ Veikka Tuominen ]
  * translate-c: use global scope for typedef/record/enum type translation if needed

  [ rgreenblatt ]
  * fix unspecified fmt

  [ Andrew Kelley ]
  * parse: implement error for invalid bit range and alignment

  [ data-man ]
  * Add epoll_pwait2 Linux syscall

  [ rgreenblatt ]
  * fix readable slice bug (and add tests)

  [ Jonathan Marler ]
  * remove z/Z format specifier deprecations

  [ Benjamin Graf ]
  * replace ArrayList.shrinkAndFree by ArrayList.shrinkRetainingCapacity

  [ Tau ]
  * Rebase link(at) properly

  [ jacob gw ]
  * std.Progress: improve support for "dumb" terminals

  [ Bill Nagel ]
  * fix race condition in linuxWaitFd

  [ Asherah Connor ]
  * std.os.uefi.Guid fixes (#8032)

  [ LemonBoy ]
  * std: Add more error checking in hexToBytes

  [ joachimschmidt557 ]
  * stage2 codegen: Add Type argument to genSetReg

  [ Ryan Greenblatt ]
  * Added support for passing write file args as build options (#7909)

  [ ducdetronquito ]
  * std.fifo.LinearFifo - Expose reader and writer type.

  [ Andrew Kelley ]
  * AST: use fn_proto not fn_decl for extern decls
  * parser: support more recovery test cases
  * parser: remove support for a recovery test case
  * parser: remove support for recovering from extra top level end curlies
  * parser: modify another recovery test case
  * parser: fix recovery for missing semicolons
  * zig fmt: rewrite inline functions as callconv(.Inline)
  * translate-c: fix fn_decl vs fn_proto
  * zig fmt: if nested

  [ Veikka Tuominen ]
  * parser: warn on missing for loop payload, recover from invalid global error set access
  * render: handle comments ending in EOF
  * zig fmt: correct Node.firstToken for .fn_decl, add error for missing container

  [ Isaac Freund ]
  * zig fmt: fix formatting of parser tests
  * parser: anytype is not a vaild return type

  [ Veikka Tuominen ]
  * translate-c: switch default should have an empty block not break

  [ Isaac Freund ]
  * zig fmt: fix comments ending with EOF after decls

  [ Veikka Tuominen ]
  * translate-c: check for noreturn in switch in more cases
  * update docgen to use new ast

  [ Isaac Freund ]
  * zig fmt: insert trailing comma in switches
  * zig fmt: fix firstToken() for extern fn_protos

  [ Andrew Kelley ]
  * zig fmt: 2nd arg multiline string
  * zig fmt: if condition wraps
  * zig fmt: if condition has line break but must not wrap
  * zig fmt: if condition has line break, no fn call comma
  * zig fmt: while
  * zig fmt: function params should align nicely
  * zig fmt: alignment in anonymous literal
  * zig fmt: struct literal containing a multiline expression
  * zig fmt: array literal with hint

  [ Veikka Tuominen ]
  * fix formatting in translate-c test case

  [ johnLate ]
  * std.Thread.Semaphore: Fix wrong variable name

  [ Isaac Freund ]
  * zig fmt: container doc comments
  * zig fmt: insert trailing comma in fn params with comment
  * zig fmt: insert trailing comma in struct init with comment
  * zig fmt: remove stray std.debug.print()
  * zig fmt: enable array init trailing comment insertion test
  * zig fmt: handle comments in array type/init/access

  [ Andrew Kelley ]
  * translate-c: update to latest AST tag changes
  * translate-c: fix using wrong slice and AST tag
  * zig fmt now intentionally respects all empty line comments

  [ Isaac Freund ]
  * zig fmt: comments/line breaks in field access chain

  [ Andrew Kelley ]
  * zig fmt: fn call with comments and multiline strings
  * zig fmt: multiline string literals + array init
  * zig fmt: fix inline assembly test cases
  * zig fmt: fn proto end with anytype and comma
  * zig fmt: for loop with ptr payload and index
  * zig fmt: add 3 more disabled failing test cases
  * std.MultiArrayList: add workaround for LLVM bug
  * zig fmt: respect extra newline between fn and pub usingnamespace

  [ Isaac Freund ]
  * zig fmt: fix firstToken() for switch_case
  * zig fmt: handle comments in switch case value list
  * zig fmt: fix comment indent after multiline single statement if/while/for

  [ Josh Wolfe ]
  * Avoid concept of a "Unicode character" in documentation and error messages (#8059)

  [ Isaac Freund ]
  * zig fmt: rework single statement if/while/for indentation

  [ Andrew Kelley ]
  * MultiArrayList: use @memcpy as a workaround
  * build.zig: expose a strip option
  * zig fmt: function with labeled block as return type
  * zig fmt the std lib
  * zig fmt: fix extern function with missing param name
  * zig fmt src/

  [ LemonBoy ]
  * std: Clear old memory on free

  [ Evan Haas ]
  * translate-c: Add support for pointer subtraction

  [ Hubert Jasudowicz ]
  * std/build: Add support for LTO configuration

  [ joachimschmidt557 ]
  * stage2 ARM: Save callee-saved registers

  [ Al Hoang ]
  * initial support for haiku past stage0
  * initial support for haiku continue clean up
  * initial support for haiku sync update
  * initial support for haiku defer debug

  [ Andrew Kelley ]
  * haiku: minor fixups

  [ g-w1 ]
  * improve stage2 to allow catch at comptime:

  [ Andrew Kelley ]
  * std.os: remove special case for haiku
  * stage2: implement the error_value AST tag

  [ Michael Dusan ]
  * fix to compile against 12.0.0-rc2

  [ Andrew Kelley ]
  * translate-c: fix botched merge conflict

  [ Evan Haas ]
  * translate-c: add typeof support

  [ Andrew Kelley ]
  * stage1: upgrade to new LLVM sret attribute requirement
  * Revert "stage1: upgrade to new LLVM sret attribute requirement"

  [ LemonBoy ]
  * stage1: Fix emission of sret annotation for LLVM

  [ Michael Dusan ]
  * llvm12: sync with llvmorg-12.0.0-rc2

  [ Andrew Kelley ]
  * zig cc: update clang command line options to LLVM 12 rc2
  * introduce tools/update_cpu_features.zig
  * tools/update_cpu_features: branch quota where necessary
  * tools/update_cpu_features: handle ISAs with no features
  * std.zig.fmt escaped string formatting recognizes single quote style
  * tools/update_cpu_features: prune redundant features
  * update x86 CPU features
  * update most target CPU features to llvm12
  * translate-c: upgrade to new std.zig.fmtEscapes API
  * std.ascii: add lessThanIgnoreCase and orderIgnoreCase
  * update RISC-V target CPU features
  * update amdgpu target CPU features
  * tools/update_cpu_features: consistent naming of neoverse cpus
  * std.Target: add powerpcle

  [ daurnimator ]
  * HashMap.put returns !void, not a !bool

  [ Michael Dusan ]
  * std.Target.Abi: add gnuilp32
  * std.zig.fmtEscapes: update impacted test
  * std.zig.fmtEscapes: update impacted test

  [ Andrew Kelley ]
  * tools/update_cpu_features: better patching API
  * tools/update_cpu_features: add a "flatten" feature
  * update ARM target CPU features
  * glibc: clang 12 assembler regression workaround

  [ LemonBoy ]
  * std: Swap arguments in Thread.spawn
  * langref: Update usage of Thread.spawn()

  [ Frank Denis ]
  * std/crypto/benchmark: update format strings
  * std/crypto/aes: fix AES {encrypt,decrypt}Wide

  [ Evan Haas ]
  * translate-c: add limited OffsetOfExpr support

  [ daurnimator ]
  * std: add sendmsg

  [ jacob gw ]
  * stage2: remove value field from error

  [ Frank Denis ]
  * std/crypto: add AES-OCB

  [ Andrew Kelley ]
  * update i386 assembly to satisify llvm12
  * stage1: update to LLVM 12 sret callsite requirements

  [ Michael Dusan ]
  * tools/update_cpu_features: fix usage()

  [ Evan Haas ]
  * translate-c: add <assert.h> support

  [ fancl20 ]
  * std: Add std.fs.path.joinZ (#7974)

  [ Timon Kruiper ]
  * zig c++: fix compilation that includes any c++ std library file

  [ LemonBoy ]
  * std: Replace lastIndexOf with lastIndexOfScalar

  [ Timon Kruiper ]
  * cmake: update findllvm.cmake file to include llvm12 libraries

  [ joachimschmidt557 ]
  * stage2 ARM: Implement basic integer multiplication

  [ LemonBoy ]
  * std: Deprecate 'x'/'X'/'e'/'E' special cases for u8 slices

  [ joachimschmidt557 ]
  * stage2 ARM: Add tests for basic integer multiplication

  [ Isaac Freund ]
  * parser: fix infinite loop on missing comma in param list

  [ daurnimator ]
  * Bring back ZIG_SKIP_INSTALL_LIB_FILES

  [ Martin Wickham ]
  * Add some bit set variants

  [ Andrew Kelley ]
  * zig fmt the std lib

  [ Vincent Rischmann ]
  * os/linux: fix IO_Uring.timeout

  [ Andrew Kelley ]
  * x86: detect and set 16bit_mode and 32bit_mode CPU features
  * update to latest std Thread API
  * stage2: use std.zig.fmtId for builtin.zig source
  * Revert "update i386 assembly to satisify llvm12"
  * re-enable behavior tests: translate-c macros
  * disable failing behavior tests with llvm 12

  [ Isaac Freund ]
  * zig fmt: allow and trim whitespace around zig fmt: (off|on)

  [ Timon Kruiper ]
  * stage2: add support for optionals in the LLVM backend
  * stage2: add a test for `for` loops in LLVM backend
  * stage2: fixup some formatting errors ({x} -> {s})

  [ Michael Dusan ]
  * disable failing behavior tests with llvm 12

  [ Andrew Kelley ]
  * stage2: improve orelse implementation

  [ g-w1 ]
  * stage2: error set merging with tests

  [ Veikka Tuominen ]
  * fix small inconsistency

  [ Andrew Kelley ]
  * astgen: fix crash looking for wrong token in error sets

  [ Josh Wolfe ]
  * update docs and grammar to allow CRLF line endings (#8063)

  [ Veikka Tuominen ]
  * translate-c: fix c tokenizer giving invalid tokens

  [ jacob gw ]
  * stage2: remove error number from error set map

  [ Andrew Kelley ]
  * stage2: fix merge conflict with previous commit

  [ daurnimator ]
  * std: add io.Writer.writeStruct

  [ Andrew Kelley ]
  * stage2: support environment variables for verbose options
  * zig cc: fix handling of -MM flag
  * zig fmt: recovery: missing while rbrace

  [ cryptocode ]
  * Reject bare +/- input when parsing floats

  [ Evan Haas ]
  * translate-c: enable pointer arithmetic with signed integer operand

  [ Veikka Tuominen ]
  * std: fix memory leak in MultiArrayList

  [ xackus ]
  * translate-c: promote int literals to bigger types

  [ Maciej Walczak ]
  * remove redundant cast

  [ xackus ]
  * fix test-translate-c
  * add tests
  * strip the leading zero from octal literals

  [ Isaac Freund ]
  * zig fmt: fix lastToken() for container_decl_arg

  [ Meghan ]
  * std/special: init-exe,lib make import(std) its own decl (#8160)

  [ Veikka Tuominen ]
  * stage2: astgen async
  * stage2: implement var args

  [ Vincent Rischmann ]
  * fix parsing of assignment with 'inline for' and 'inline while'

  [ Josh Wolfe ]
  * docgen --skip-code-tests

  [ Evan Haas ]
  * translate-c: translate align attribute for block scoped variables
  * translate-c: Support compound assignment of pointer and signed int

  [ LemonBoy ]
  * std: Prevent null pointer deref in mem.len{,Z}
  * std: Deprecate the B and Bi format specifiers

  [ Jonathan Knezek ]
  * Implement fmtDuration using Formatter (#8137)

  [ Veikka Tuominen ]
  * stage1: add tests for nosuspend async/resume

  [ LemonBoy ]
  * std: Better handling of line-wrapping in Progress

  [ jacob gw ]
  * stage2 Elf linker: fill in bswapAllFields

  [ Veikka Tuominen ]
  * stage2 cbe: pointer like optionals
  * stage2 cbe: regular optional types
  * stage2 cbe: errors
  * stage2 cbe: non pointer optionals

  [ jacob gw ]
  * cbe: add error comparison support
  * stage2 cbe: add error union and error union operations
  * stage2: fix memory leak in the cbe

  [ Veikka Tuominen ]
  * stage2: error union payload must also be a valid variable type

  [ Evan Haas ]
  * translate-c: Explicitly cast decayed array to pointer with @ptrCast

  [ Isaac Freund ]
  * parser: fix parsing/rendering of a[b.. :c] slicing

  [ Evan Haas ]
  * translate-c: Add compound literal support

  [ Loris Cro ]
  * update to latest fetch-them-macos-headers
  * update to latest fetch-them-macos-headers

  [ LemonBoy ]
  * stage2: Use correct ELF emulation for mips64
  * stage2: Fix glibc lookup path for MIPS crt files

  [ Asherah Connor ]
  * expose machine field in ELF header
  * elf: make EM non-exhaustive

  [ joachimschmidt557 ]
  * stage2 tzir: Add wrapping integer arithmetic instructions

  [ LemonBoy ]
  * std: Handle empty MultiArrayList in items()

  [ Isaac Freund ]
  * parser: disallow ptr modifiers on array types

  [ Michael Dusan ]
  * re-enable behavior/vector test for aarch64

  [ LemonBoy ]
  * Fix Progress printing on Windows systems
  * stage1: Follow the C ABI for return types
  * stage1: Add tests for C ABI integer return types

  [ Sébastien Marie ]
  * make std.c.getErrno() return same type as _errno() aka c_int

  [ LemonBoy ]
  * Fix many thinkos
  * Handle some weird edge cases of Win32 API

  [ Jakub Konka ]
  * macos: add missing x86_64 libc headers

  [ Isaac Freund ]
  * std/linux: sync io_uring library with liburing

  [ LemonBoy ]
  * std: Use more common escape sequences in Progress

  [ Dave Gauer ]
  * langref: Use "single-item pointer" and "many-item pointer" (#8217)

  [ Michael Dusan ]
  * lld: handle error instead of abort

  [ Andrew Kelley ]
  * cmake build: allow overriding whether to use llvm-config

  [ Ersikan ]
  * stage2: Warn when using --debug-log without logging enabled

  [ Frank Denis ]
  * Use a unified error set for std/crypto/*

  [ LemonBoy ]
  * docgen: Use Progress API
  * std: Replace testing fns for floating-point values

  [ Michael Dusan ]
  * macho: fix various linker flags

  [ Tadeo Kondrak ]
  * stage2 llvm bindings: rename LLVMBool to Bool

  [ Lewis Gaul ]
  * zig fmt: fix extra newline before if nested in for

  [ Isaac Freund ]
  * zig fmt: simplify and improve consistency of if/for/while handling

  [ Lewis Gaul ]
  * Add test for multi-line while cont expr with same-line then expr

  [ Anders Conbere ]
  * std: support optional getaddrinfo arguments

  [ Andrew Kelley ]
  * stage2: *WIP*: rework ZIR memory layout; overhaul source locations
  * stage2: rename zir_sema.zig to Sema.zig

  [ LemonBoy ]
  * zig fmt: Respect line breaks in struct default value decls

  [ Lewis Gaul ]
  * zig fmt: don't add trailing whitespace on switch case

  [ Frank Denis ]
  * crypto/pbkdf2: simplify the check for the max number of iterations
  * crypto/pbkdf2: use snake_case for variables like everywhere else

  [ jacob gw ]
  * zir-memory-layout: fix @setEvalBranchQuota
  * std: make all errors in os.zig public

  [ xackus ]
  * translate-c: improve std.meta.cast

  [ Evan Haas ]
  * translate-c: Implement generic selection expressions

  [ Tadeo Kondrak ]
  * stage2 llvm bindings: use correct type for LLVMBool for ABI compat

  [ Evan Haas ]
  * translate-c: demote usage of un-implemented builtins
  * translate-c: fix __builtin_object_size

  [ Andrew Kelley ]
  * stage2: work through some compile errors in Module and Sema

  [ Frank Denis ]
  * pbkdf2: use std.math.divCeil()

  [ Ersikan ]
  * zig fmt: fix non-UTF-8 encoding #2820
  * zig fmt: factorize source file reading and decoding
  * test-cli: Remove temporary directory after tests

  [ Jakub Konka ]
  * macho: apply some renames to bring closer to zld
  * macho: handle all jumps in stubs on aarch64
  * macho: clean up writing of stub helper section
  * macho: extract writing stub helper preamble into fn
  * macho: use latest bind functionality
  * macho: offset table part of GOT

  [ Frank Denis ]
  * std/crypto/chacha20: add round-reduced versions & cleanup internals

  [ Jakub Konka ]
  * macho: start upstreaming zld
  * zld: replace ldr with add if indivisible
  * zld: pass stage2 tests linked with zld!
  * zld: cleanup section alignment when allocating
  * zld: bullet-proof stubs for long jumps
  * zld: add nop to reloc module
  * zld: differentiate locals from globals
  * zld: pass test-std and test-compiler-rt
  * zld: fix handling of section alignment
  * zld: merge and sort sections
  * zld: demote logs from warn to debug
  * zld: start bringing x64 up to speed
  * Revert log.warn hack
  * zld: fix incorrect offset calc for DICE
  * zld: use aarch64 for opcodes
  * zld: clean up use of commands.zig module
  * zld: mimick Apple and add __DATA_CONST seg
  * zld: fix TLV initializers
  * zld: add/fix more issues
  * zld: fix GOT loads and indirection on x86_64
  * rebase with master
  * zld: use zld when linking aarch64 by default and cross-comp

  [ Andrew Kelley ]
  * stage2: Module and Sema are compiling again

  [ Dimenus ]
  * @intCast takes two args

  [ Jakub Konka ]
  * macho: remove now obsolete LLD fixups
  * macho: honor verbose_link when linking with zld
  * zld: temporarily disable testing shared lib linking

  [ root ]
  * std: Fix std.fs.path.joinZ

  [ Evan Haas ]
  * translate-c: Use [N:0] arrays when initializer is a string literal (#8264)

  [ Andrew Kelley ]
  * stage1: small mem usage improvement for IR

  [ jacob gw ]
  * cbe tests: fix test on windows

  [ Veikka Tuominen ]
  * translate-c: preserve zero fractional part in float literals

  [ Andrew Kelley ]
  * stage1: small IR memory optimization on CheckSwitchProngs
  * stage1: small memory optimization for simple pointer types

  [ Martin Wickham ]
  * Add some enum utilities

  [ Andrew Kelley ]
  * stage2: get Module and Sema compiling again
  * stage2: the code is compiling again
  * stage2: codegen: update asm IR to new names

  [ Jakub Konka ]
  * zld: fix parsing archive/object name from header
  * zld: continue on invalid/missing debug info

  [ LemonBoy ]
  * std: Add syscall7 stub for Linux/MIPS

  [ jacob gw ]
  * zir-memory-layout: astgen: fill in identifier
  * llvm backend: use new srcloc
  * zir-memory-layout: astgen: literals and *, &

  [ Andrew Kelley ]
  * stage2: fix export source locations not being relative to Decl
  * stage2: fix some math oopsies and typos
  * Sema: allocate inst_map with arena where appropriate

  [ Jakub Konka ]
  * zld: apply offset for DICE in archive

  [ Andrew Kelley ]
  * stage2: first pass at repairing ZIR printing
  * astgen: support blocks

  [ Michael Dusan ]
  * azure: produce macos arm64 binaries

  [ Jakub Konka ]
  * Fix digest format specifier after std.fmt updates

  [ Timon Kruiper ]
  * stage2: restructure LLVM backend

  [ jacob gw ]
  * zir-memory-layout: astgen: more instructions
  * zir-memory-layout: remove all absolute src consts

  [ Andrew Kelley ]
  * astgen: implement function calls
  * ZIR: move some un_tok tags to un_node instead
  * astgen: implement inline assembly
  * astgen: implement string literals

  [ Nuno Leiria ]
  * std: Add reset to TokenIterator

  [ Andrew Kelley ]
  * stage2: fix memory management of ZIR code
  * astgen: fix not detecting volatile asm

  [ Isaac Freund ]
  * zir: add negate/negate_wrap, implement astgen
  * astgen: implement simple binary operators

  [ Joris Hartog ]
  * Specify type in autoHash error message

  [ Isaac Freund ]
  * astgen: implement bool_and/bool_or

  [ Andrew Kelley ]
  * Sema: no explicit coercion needed for inline asm args

  [ Jakub Konka ]
  * stage1: add cmake flag for enabling logging

  [ Andrew Kelley ]
  * Sema: implement arithmetic

  [ jacob gw ]
  * zir-memory-layout: astgen: varDecl

  [ Andrew Kelley ]
  * cleanups from previous commit

  [ Carlos Zúñiga ]
  * Fixed typo in user32 Use CreateWindowExW instead of RegisterClassExW as the type of pfnCreateWindowExW.

  [ Evan Haas ]
  * translate-c: Ensure assignments are within a block when necessary

  [ Isaac Freund ]
  * astgen: implement array types
  * astgen: implement pointer types

  [ Jakub Konka ]
  * zld: naively handle static initializers in C++

  [ Luuk de Gram ]
  * Implement more instructions for more control flow support
  * Fix getNot and add test cases

  [ Dimenus ]
  * fix calculation in ensureCapacity

  [ Isaac Freund ]
  * stage2: remove all async related code

  [ Andrew Kelley ]
  * stage2: Sema improvements and boolean logic astgen
  * astgen: improve the ensure_unused_result elision
  * stage2: fix `if` expressions

  [ Timon Kruiper ]
  * astgen: implement assign operations

  [ Isaac Freund ]
  * stage2: fix two return types to be Ref not Index

  [ Timon Kruiper ]
  * stage2: rename fail to todo in LLVM backend
  * stage2: handle void value in genRet in LLVM backend
  * astgen: fix an issue where the alloc wasnt elided
  * astgen: implement typeof
  * Sema: use correct LazySrcLoc for resolvePeerTypes

  [ Andrew Kelley ]
  * stage2: add helper functions to clean up astgen Ref/Index
  * stage2: fix comptimeExpr and comptime function calls
  * astgen: finishThenElseBlock: fix putting store_to_block_ptr in wrong block
  * stage2: implement inttype ZIR
  * astgen: fixups regarding var decls and rl_ptr
  * stage2: fix while loops
  * stage2: comment out failing test cases; implement more things

  [ Isaac Freund ]
  * std.build: make Builder.install_prefix non optional
  * stage2: make zir.Inst.Ref a non-exhaustive enum

  [ Andrew Kelley ]
  * stage2: further cleanups regarding zir.Inst.Ref
  * stage2: fix memory leak when updating a function

  [ Timon Kruiper ]
  * astgen: implement orelse
  * stage2: add passing optional test case in LLVM backend

  [ Andrew Kelley ]
  * stage2: cleanups from previous commits

  [ Timon Kruiper ]
  * astgen: implement breaking from a block
  * stage2: add block test cases llvm backend

  [ Andrew Kelley ]
  * stage2: clean up break / noreturn astgen
  * stage2: enable passing tests
  * stage2: implement inline while

  [ Sreehari S ]
  * boot_services: implement locateDevicePath

  [ Veikka Tuominen ]
  * translate-c: stop creating unnamed decls for typedefs child types

  [ lithdew ]
  * os/linux: handle ECONNRESET for recv

  [ Andrew Kelley ]
  * astgen: fix array access

  [ Jakub Konka ]
  * zld: parse archive's table of contents

  [ Michael Dusan ]
  * zig build: use ZIG_GLOBAL_CACHE_DIR

  [ Andrew Kelley ]
  * astgen: fix for loop expressions
  * astgen: fix var decl source locations
  * stage2: fix `@compileLog`.
  * stage2: improve source locations of Decl access

  [ Isaac Freund ]
  * astgen: implement slicing
  * astgen: implement more builtin functions
  * astgen: implement float literals
  * astgen: fix result location for sliced objects

  [ Andrew Kelley ]
  * astgen: fix continue expressions
  * stage2: implement source location: .node_offset_var_decl_ty
  * stage2: implement bitwise expr and error literals
  * stage2: enable passing tests

  [ LemonBoy ]
  * std: Detect AMD Zen3 CPU family

  [ Andrew Kelley ]
  * stage2: fully implement Type.eql for pointers

  [ Jakub Konka ]
  * azure: run pacman with -Sy

  [ lithdew ]
  * array_hash_map: decrement entries slice len after popping from entries in pop() to prevent oob

  [ Evan Haas ]
  * translate-c: intcast compound assignment operand if different-sized integer

  [ Frank Denis ]
  * std/base64: cleanups & support url-safe and other non-padded variants
  * Add more variants
  * Remove the base64 unsafe decoder

  [ Jonathan Knezek ]
  * Add a test & fix for std.fmt.fmtDuration

  [ Isaac Freund ]
  * stage2: rename WipZirCode => AstGen, astgen.zig => AstGen.zig
  * AstGen: scope result location related functions
  * translate-c: fix typo made in prior commit
  * AstGen: pass *GenZir as the first arg, not *Module

  [ Andrew Kelley ]
  * ci: update msys2 installer

  [ jacob gw ]
  * stage2: implement sema for @errorToInt and @intToError

  [ Andrew Kelley ]
  * stage2: fix error sets
  * stage2: guidance on how to implement switch expressions

  [ Matthew Borkowski ]
  * Fix typo in Pcg.zig's fill function
  * Add tests for the fill functions of the Isaac64, Pcg, Sfc64, and Xoroshiro128 PRNGs

  [ Andrew Kelley ]
  * Sema: implement switch expressions
  * stage2: rework AstGen for switch expressions
  * AstGen: switch expressions properly handle result locations
  * AstGen: improve switch expressions

  [ joachimschmidt557 ]
  * stage2 AArch64: implement strb and strh
  * stage2 codegen: Make sure function return value is in a callee preserved register

  [ Andrew Kelley ]
  * Sema: implement switch validation for ranges
  * stage2: clean up RangeSet and fix swapped Sema switch logic for lhs/rhs
  * Sema: fix else case code generation for switch
  * astgen: improved handling of coercion

  [ jacob gw ]
  * stage2: cbe: restore all previously passing tests!

  [ Andrew Kelley ]
  * stage2: compile error for duplicate switch value on boolean
  * stage2: compile error for duplicate switch value on sparse
  * stage2: finish source location reworkings in the branch
  * stage2: finish implementation of LazySrcLoc

  [ lithdew ]
  * os: handle ECONNRESET for connect() syscall

  [ Andrew Kelley ]
  * stage2: implement struct init syntax with ptr result loc
  * zig cc: copy .pdb files from zig-cache/ when appropriate
  * stage2: AstGen and ZIR printing for struct decls
  * stage2: implement structs in the frontend

  [ Michael Dusan ]
  * test: fix io_uring timing test to skip on failure

  [ jacob gw ]
  * docgen: fix typo

  [ Woze Parrot ]
  * put async frame in correct addrspace

  [ Loris Cro ]
  * added warning banner to stdlib docs
  * make visited links readable in the stdlib docs warning bar

  [ Mathieu Guay-Paquet ]
  * docs: document the nosuspend keyword (#7972)

  [ joachimschmidt557 ]
  * stage2 codegen: Extract register management code into separate file
  * stage2 register_manager: Add unit tests for tryAllocReg and allocReg

  [ Min-Yih Hsu ]
  * llvm new-pm: Port LLVM 11.x-based changes to LLVM 12.x
  * llvm new-pm: Add missing pipeline option and Passes

  [ Andrew Kelley ]
  * zig_llvm.cpp: remove dead code
  * docgen: correct the progress bar
  * Revert back to the old LLVM PassManager

  [ joachimschmidt557 ]
  * stage2 AArch64: Add ldrh and ldrb instructions

  [ Andrew Kelley ]
  * disable failing MIPS tests due to LLVM12 regressions
  * disable failing stack traces test cases due to LLVM12 changes
  * stage2: progress towards basic structs
  * stage2: Sema: implement validate_struct_init_ptr
  * stage2: implement Type.onePossibleValue for structs

  [ antlilja ]
  * Compile error for signed integer math

  [ Lewis Gaul ]
  * Switch std.json to use an ordered hashmap

  [ xackus ]
  * translate-c: fix calls with no args in macros

  [ Vincent Rischmann ]
  * os/bits/linux: add IPv6 socket options

  [ Andrew Kelley ]
  * glibc: add support for csky architecture
  * glibc: update headers to 2.33
  * glibc: update ABI files to 2.33
  * glibc: update headers to 2.33
  * glibc: update ABI files to 2.33
  * LLVM sub-arch triple: remove TODO comment

  [ Hannu Hartikainen ]
  * std docs: enhance search browser history UX

  [ Lewis Gaul ]
  * Tidy-up in json test module (#8431)

  [ Edward Dean ]
  * Fixed error types for GetSeekPosError

  [ gracefu ]
  * stage2 wasm: codegen `sub` op
  * stage2 wasm: codegen `mul` op
  * std/wasm: add buildOpcode to help construction of `Opcode`s
  * stage2 wasm codegen: refactor to use wasm.buildOpcode

  [ lithdew ]
  * os/linux: return error on EALREADY for connect() and getsockoptError()

  [ LemonBoy ]
  * stage2: Default AVR generic cpu to avr2
  * stage1: Work around a small problem in LLVM API

  [ Michael Holmes ]
  * std/build: fix ?[:0]const u8 build options

  [ Evan Haas ]
  * translate-c: Add support for vector expressions

  [ joachimschmidt557 ]
  * stage2 regalloc: Add getReg and getRegWithoutTracking

  [ Andrew Kelley ]
  * stage2: implement simple enums
  * stage2: do not set clang_passthrough_mode for `zig run`
  * std: modernize zig parser perf test
  * stage2: implement field access for `Enum.tag` syntax
  * C backend: implement Enum types and values

  [ jacob gw ]
  * stage2: coerce enum_literal -> enum

  [ Michael Dusan ]
  * test: fix std.time timing tests to skip on failure

  [ joachimschmidt557 ]
  * stage2 regalloc: Add unit test for getReg

  [ Andrew Kelley ]
  * AstGen: fix `@breakpoint` ZIR
  * Sema: DRY up enum field analysis and add "declared here" notes
  * zir: use `node` union field for `alloc_inferred`
  * Sema: implement comparison analysis for non-numeric types
  * AstGen: fix switch expressions with all prongs noreturn
  * Type: use isPtrLikeOptional instead of isAbiPtr
  * C backend: enumerate all the types in renderType

  [ gracefu ]
  * stage2: Add .div to ir.zig
  * stage2 wasm: Add bitwise/boolean ops &, |, ^, and, or
  * Sema: fix typo bug for boolean ops (and, or)

  [ Andrew Kelley ]
  * AstGen: fix ZIR struct encoding

  [ Michael Dusan ]
  * netbsd: minor fixes to allow stage1 to build

  [ Andrew Kelley ]
  * Sema: implement switch validation for enums
  * stage2: fix incremental compilation Decl deletion logic
  * stage2: fix incremental compilation handling of parse errors
  * AstGen: fix incorrect source loc for duplicate enum tag
  * Sema: `@intToEnum` error msg includes a "declared here" hint
  * stage2: fix switch validation of handling all enum values
  * Sema: fix switch validation '_' prong on wrong type
  * stage2: add remaining enum compile error test cases

  [ xackus ]
  * translate-c: fix meta.cast to ?*c_void

  [ Timon Kruiper ]
  * stage2: fix bug in ZIR gen of global comptime block
  * stage2: add a simplified export builtin call
  * stage2: add initial support for builtin pkg
  * stage2: add support for root pkg
  * stage2: implement builtin function hasDecl
  * stage2: add support for start.zig
  * stage2: fix bug where invalid ZIR was generated

  [ Andrew Kelley ]
  * stage2: revert to only has_decl and export ZIR support

  [ Michael Dusan ]
  * freebsd: disable failing stack traces test cases due to LLVM12 changes

  [ joachimschmidt557 ]
  * stage2 AArch64: Add conditional branch instructions

  [ Luuk de Gram ]
  * Basic "Hello world" working
  * Calculate data length to ensure correct pointer offsets
  * Handle incremental compilation correctly
  * Cleanup
  * Refactor link/wasm.zig to use offset table

  [ xackus ]
  * std docs: fix layout broken by the banner

  [ Andrew Kelley ]
  * stage2: blaze the trail for std lib integration
  * stage2: simplify Decl src_node field
  * stage2: fix the memory leaks

  [ Sreehari S ]
  * callconv: add SysV

  [ Andrew Kelley ]
  * update stack trace test cases to new start.zig line offsets
  * stage2: implement array access to a global array

  [ Sreehari S ]
  * fix unannotated fall-through bug in case

  [ Andrew Kelley ]
  * AstGen: implement struct init with ResultLoc.ty
  * AstGen: implement `@typeInfo` builtin

  [ g-w1 ]
  * stage2: delete allowing input (and output) zir from the pipeline (#8471)

  [ jacob gw ]
  * stage2: pretty print compilation errors
  * stage2: fix bug where a parser error would break errors

  [ Andrew Kelley ]
  * stage2: clean up pretty printing compile errors

  [ Luuk de Gram ]
  * Fix memory cleanup and update unplugging to avoid infinite loop

  [ LemonBoy ]
  * zig fmt: Fix rendering of arrays with single row
  * testing: Use indexOfScalar instead of indexOf
  * testing: Avoid printing expected line twice
  * testing: Avoid @import-ing builtins module

  [ jacob gw ]
  * stage2: add error for private decls accessed from other files

  [ Andrew Kelley ]
  * stage2: fix stderr deadlock and slightly wrong tty coloring
  * stage2: fix regression from previous commit

  [ jacob gw ]
  * stage2: fix case where public variables did not work

  [ Min-Yih Hsu ]
  * Revert "Revert back to the old LLVM PassManager"
  * llvm new-pm: Build O0 pipeline in the correct way

  [ Lewis Gaul ]
  * zig fmt: render array init on one line if no trailing comma

  [ Meghan Denny ]
  * lib/std: remove empty init from HashMapUnmanaged

  [ Carlos Zúñiga ]
  * Fix langref.html anchor navigation

  [ Isaac Freund ]
  * zig fmt: fix line comment detection

  [ Michael Dusan ]
  * macos: add aarch64 (arm64) to downloads page
  * test: overhaul stack_trace testing

  [ Benjamin Feng ]
  * Add ppc Linux bits
  * Copy over ppc clone from musl
  * _start assembly for ppc
  * Rename time32 syscalls to match rest of stdlib
  * Initialize the ppc stack frame correctly

  [ Michael Dusan ]
  * ci: remove superfluous linefeed from macos arm64

  [ joachimschmidt557 ]
  * stage2 codegen: Set MCValue of register arguments to their stack copy
  * stage2 ARM: Add fibonacci test

  [ Michael Dusan ]
  * azure: OnMasterSuccess dependsOn BuildMacOS_arm64

  [ xackus ]
  * std.meta: add isError

  [ LemonBoy ]
  * std: Make a test-case independent of the target endianness

  [ xackus ]
  * zig fmt

  [ LemonBoy ]
  * std: Fix TLS definitions for 32bit PowerPC targets
  * compiler-rt: Introduce PowerPC-specific f128 helpers
  * std: Fix typo in sqrt implementation

  [ xackus ]
  * std docs: update var to anytype
  * std docs: @This() in generic types

  [ Michael Dusan ]
  * dwarf: fix LineNumberProgram check
  * Revert "dwarf: fix LineNumberProgram check"

  [ Jakub Konka ]
  * CI: update brew before installing pkgs

  [ Michael Dusan ]
  * dwarf: fix LineNumberProgram check
  * test-stack-traces: enable elf/dwarf platforms

  [ Andrew Kelley ]
  * stage1: resolve builtin types and values via std.builtin

  [ Jakub Konka ]
  * zld: redo symbol resolution in objects
  * zld: refactor object and archive parsing
  * zld: assume remaining undefs are from libSystem
  * zld: allocate segments based on worst-case and upper-limit
  * zld: start work on reloc preprocessing
  * zld: store a single global symtab
  * zld: allocate addresses for global symbols
  * zld: preprocess relocs on arm64
  * zld: migrate parts of main to new relocs
  * zld: resolve stubs and GOT entries
  * zld: resolve target addresses for relocs
  * zld: flush MachO
  * zld: add prelim support for locals
  * zld: move parsing debug info into object
  * zld: limit exports to just main entrypoint
  * zld: fix parsing debug info
  * zld: fix rebase vs bind for GOT entries
  * zld: fix indirect symtab
  * zld: streamline tags for Symbol
  * zld: differentiate between static and global in stabs
  * zld: save locals per TU
  * zld: add x86_64 relocs
  * zld: rebase to new naming conv for aarch64
  * zld: cleanup redundant changes
  * Add standalone test for interdep C archives
  * zld: fix symbol resolution from interdep archives

  [ Devin Bayer ]
  * Update doc for struct field alignment.

  [ Evan Haas ]
  * translate-c: wrap switch statements in a while (true) loop

  [ LemonBoy ]
  * build: Test the c.zig file too
  * std: Fix sqrt for u0/u1 input types

  [ lithdew ]
  * os/posix: handle ECONNRESET for write/writev

  [ Michael Dusan ]
  * ci: macos-aarch64 update dep tarballs for llvm12

  [ Andrew Kelley ]
  * ci: update linux to llvm12 tarball
  * ci: update drone CI to llvm 12
  * ci: freebsd: update to llvm 12
  * ci: windows: try using zig-bootstrap to build zig
  * ci: aarch64-linux: disable run-translated-c tests
  * ci: freebsd: pass -DZIG_USE_LLVM_CONFIG=OFF
  * ci: windows: install git
  * ci: freebsd: set the target triple
  * ci: better target triple and mcpu cmake args
  * ci: better handle of -mcpu
  * ci: windows: use llvm-ar.exe from the tarball
  * ci: freebsd: don't try to compile with zig cc
  * freebsd: disable failing test
  * ci: windows: better -DCMAKE_RANLIB option
  * ci: windows: ranlib take 2
  * ci: windows: try the dev kit strategy
  * ci: windows: proper flags to zig build

  [ LemonBoy ]
  * stage1: Fix negation for zero floating point values
  * compiler-rt: Fix typo in implementation of fp truncation ops
  * test: Add test to ensure signed zeros are properly computed
  * stage1: More precise serialization of f16 values
  * compiler-rt: Implement __extendhftf2
  * compiler-rt: Implement __trunctfhf2

  [ Andrew Kelley ]
  * build.zig: update llvm libs
  * build.zig: omit LLVMTableGen from llvm libs
  * ci: update macos tarball to llvm 12
  * ci: windows: update to llvm 12 msvc tarball

  [ LemonBoy ]
  * compiler-rt: Don't pass f16 around as arguments

  [ Andrew Kelley ]
  * ci: drone: disable stage2 tests
  * stage2: properly model miscellaneous failed tasks
  * stage2: entry point via std lib and proper updated file detection
  * stage2: remove redundant source hash
  * std: change `@import("builtin")` to `std.builtin`
  * stage2: improvements aimed at std lib integration
  * stage2: implement non-trivial enums
  * stage2: implement `@sizeOf`
  * stage2: implement comptime division
  * stage2: implement `@bitSizeOf`
  * stage2 start.zig: slight simplification
  * stage2: move zir.Code to become root level fields of zir.zig
  * stage2: rename zir to Zir
  * stage2: preliminary reworking for whole-file-AstGen
  * stage2: fix zir.zig => Zir.zig in CMakeLists.txt
  * fix new references to std.builtin that should have been std.Target

  [ Evan Haas ]
  * translate-c: better handling of int -> enum casts

  [ Andrew Kelley ]
  * AstGen: implement global variable decls
  * AstGen: implement comptimeDecl, usingnamespaceDecl, testDecl

  [ gracefu ]
  * stage2 x86_64: add instruction encoder helper fn
  * stage2 x86_64: refactor codegen to use inst encoder
  * stage2 x86_64: use abi size to determine 64-bit operation
  * stage2 x86_64: implement integer mul
  * stage2 x86_64: fix comptime integer multiplication when rhs=0
  * stage2 x86_64: simplify inst encoder to a set of dumb helper fns
  * stage2 x86_64: try to fix RIP-relative offset to GOT for macho
  * stage2 x86_64: bugfix abi_size == 64 should be abi_size == 8
  * stage2 x86_64: fix codegen ensureCapacity bug for function calls
  * stage2 x86_64: force 64 bit mode when loading address of GOT
  * stage2 x86_64: fix incorrect comment in genX8664BinMath

  [ Mahdi Khanalizadeh ]
  * linux: fix number of arguments for tgkill syscall

  [ Andrew Kelley ]
  * ci: drone: don't skip stage2 tests

  [ Manuel Floruß ]
  * Fix std.os.windows.user32.messageBoxW

  [ joachimschmidt557 ]
  * stage2 register manager: Add functions for allocating multiple registers

  [ daurnimator ]
  * Add --(no-)allow-shlib-undefined to supported zig linking flags
  * Add LibExeObjStep.linker_allow_shlib_undefined field to set --allow-shlib-undefined

  [ Andrew Kelley ]
  * stage2: AstGen improvements

  [ Isaac Freund ]
  * Rename --(no-)allow-shilb-undefined to -f(no-)allow-shilb-undefined

  [ Andrew Kelley ]
  * AstGen: put decls into blocks to be evaluated independently
  * AstGen: require `@import` operand to be string literal
  * ZIR: rename decl_val and decl_ref to remove redundant suffix

  [ Hubert Jasudowicz ]
  * std: Add pidfd wrappers

  [ Andrew Kelley ]
  * AstGen: store list of imports
  * stage2: use import list from ZIR to queue up more AstGen tasks
  * std: deprecate ensureCapacity, add two other capacity functions
  * AstGen: implement global var decls
  * build.zig: add a way to skip installing lib/ files
  * AstGen: fix function decl astgen
  * stage2: make `@import` relative to the current file
  * AstGen: fix compile error using wrong node/token function
  * AstGen: implement simple enums and decls for enums

  [ jacob gw ]
  * stage2: add support for zig cc assembler -mcpu option

  [ Isaac Freund ]
  * std/build: fix linker_allow_shlib_undefined

  [ Andrew Kelley ]
  * AstGen: implement overflow arithmetic builtins

  [ Isaac Freund ]
  * zig fmt: bypass auto indentation for `// zig fmt: on`

  [ joachimschmidt557 ]
  * stage2 codegen: Fix silent bug in reuseOperand

  [ Andrew Kelley ]
  * AstGen: implement all the builtin functions

  [ Hubert Jasudowicz ]
  * std: Add process_vm_readv/writev wrappers

  [ Andrew Kelley ]
  * AstGen: implement the remaining struct init ResultLoc forms
  * AstGen: implement while optional and while error union
  * AstGen: implement if optional, if error union

  [ Isaac Freund ]
  * Fix .gitattributes rules that should be recursive

  [ Andrew Kelley ]
  * std.MultiArrayList: ensureUnusedCapacity/ensureTotalCapacity
  * AstGen: implement functions with inferred error sets
  * AstGen: implement error set decls
  * zig astgen: print instruction counts and byte sizes
  * AstGen: implement inline asm output
  * stage2: make `@alignCast` accept 2 parameters
  * AstGen: implement array initialization expressions

  [ Evan Haas ]
  * translate-c: use transCreateNodeInfixOp for pointer arithmetic
  * translate-c: group LHS of array access if necessary

  [ LemonBoy ]
  * translate-c: Group field access LHS if necessary
  * c: Add tests for generic_fmod implementation
  * c: Implement fmin and fminf
  * c: Implement fmax and fmaxf
  * c: Minor cleanup

  [ Jakub Konka ]
  * zld: treat priv extern as weak symbol
  * zld: dedup initializers and finalizers
  * zld: resolve symbols as globals before resolving locals
  * zld: map __DATA,__common as __DATA_CONST,__common
  * zld: fix parsing of weak symbols

  [ jacob gw ]
  * stage2: astgen `try`

  [ Frank Denis ]
  * std/crypto: use finer-grained error sets in function signatures (#8558)

  [ Andrew Kelley ]
  * AstGen: `try` fixups

  [ Michael Dusan ]
  * target: drop `ppc32` and prefer `ppc`

  [ jacob gw ]
  * stage2: fix compile error in codegen
  * stage2: make std.fmt.parseInt ignore `_`

  [ Andrew Kelley ]
  * AstGen: basic defer implementation
  * AstGen: implement defer for `continue`
  * AstGen: implement defer for `break`
  * AstGen: implement anytype parameters
  * AstGen: implement for loop payload
  * std.fs: delete unused label
  * AstGen: fix store_to_block_ptr elision for switch statements
  * AstGen: implement size zero inferred length arrays
  * AstGen: implement union decls

  [ Jakub Konka ]
  * macho: fix typos in consts defs

  [ Andrew Kelley ]
  * AstGen: slightly better eager-allocating heuristic

  [ LemonBoy ]
  * std: Split syscall parameters for PowerPC targets
  * std: Use stat definition with 32bit *time fields
  * test: Add 32bit PowerPC to the test plan
  * compiler-rt: Don't re-define PPC builtins in test mode
  * compiler-rt: Export __extendhftf2 and __trunctfhf2
  * stage1: Unbreak build on FreeBSD

  [ Andrew Kelley ]
  * AstGen: fix `@floatCast` having wrong arity
  * AstGen: implement `@bitCast` for other result location types
  * AstGen: fix switch result location elision
  * AstGen: implement comptime locals
  * AstGen: implement alignment on locals
  * AstGen: implement function prototypes
  * AstGen: fix `@export`
  * langref: add docs for `@extern`
  * AstGen: implement `@extern` builtin
  * std: fix compile errors caught by stage2 AstGen
  * AstGen: implement align and linksection on globals
  * delete packed enums from the language
  * std: fix compile errors caught by stage2 AstGen

  [ jacob gw ]
  * std: fix potential bug in parseInt

  [ Andrew Kelley ]
  * stage2: fix builtin.zig for `zig test`
  * ZIR: fix text printing of field_ptr_type
  * stage2: write out builtin.zig before spawning AstGen tasks
  * AstGen: implement integers bigger than u64
  * std: remove `comptime const`

  [ LemonBoy ]
  * stage1: Allow wrapping negation on unsigned ints at comptime
  * std: Remove unneeded workaround

  [ Andrew Kelley ]
  * AstGen: compile error for unable to infer array size

  [ Hadron67 ]
  * std.atomic: load should take const pointer to Self

  [ Andrew Kelley ]
  * stage2: implement `anyframe`, `anyframe->T` and fix assembly
  * AstGen: implement suspend blocks
  * AstGen: implement nosuspend expressions
  * AstGen: emit nosuspend function calls

  [ Al Hoang ]
  * header path detection for haiku
  * support output collection for haiku
  * update haiku system constants

  [ Andrew Kelley ]
  * stage2: remove dead ZIR instructions
  * stage2: remove call_none and call_none_chkused ZIR

  [ Jakub Konka ]
  * zld: common section should be writable
  * zld: analyze static initializers
  * zld: add temp debug info fix by setting mtime=0
  * zld: new approach at handling static inits

  [ Andrew Kelley ]
  * AstGen: support struct init with ref result location
  * stage2: better error reporting for LazySrcLoc.entire_file

  [ LemonBoy ]
  * stage1: Require a block after suspend
  * zig fmt: Automagically fix block-less suspend exprs
  * translate-c: Prevent mistranslation of fp literals

  [ Frank Denis ]
  * ed25519: use double-base multiplication for signature verification

  [ Matt Knight ]
  * fix import path

  [ LemonBoy ]
  * Remove translate-c test using long double literal

  [ Andrew Kelley ]
  * AstGen: implement await and resume
  * AstGen: parser ensures all suspend have blocks
  * stage2: move overflow builtin ZIR instructions to Extended
  * AstGen: implement `@Vector`

  [ Michael Dusan ]
  * ci: drone disable debug test suite for aarch64

  [ Shachaf Ben-Kiki ]
  * parser: Use an operator precedence table
  * Use a directEnumArray lookup table instead of a switch

  [ Andrew Kelley ]
  * stage2: implement caching for ZIR code

  [ lithdew ]
  * x,  x/os/Socket: initial work on new Socket abstraction
  * x: fmt source code

  [ LemonBoy ]
  * stage1: Change how the Frame alignment is computed
  * std: Make met.alignment work on more types
  * translate-c: Fix casting of function pointers
  * build: Re-add test-translate-c and test-run-translated-c

  [ Frank Denis ]
  * Add std.crypto.utils.timingSafeCompare

  [ LemonBoy ]
  * std: Fix backtraces on sparcv9
  * std: Fix wrong alignOf expression

  [ joachimschmidt557 ]
  * stage2 register manager: Use an array instead of a hashmap for tracking allocated registers

  [ LemonBoy ]
  * std: Fix thread creation with field-less context type

  [ Andrew Kelley ]
  * stage2: pre-open ZIR cache dir handles

  [ LemonBoy ]
  * stage1: Use correct alignment for asyncCall frame

  [ jumpnbrownweasel ]
  * #8454 Fix for std.mem.replacementSize adjacent matches bug. (#8455)

  [ Vincent Rischmann ]
  * thread: simplify and remove useless return in spawn (#8621)

  [ LemonBoy ]
  * stage2: Add framework for host CPU detection on Linux
  * stage2: Ensure the features set is populated

  [ Andrew Kelley ]
  * Revert "thread: simplify and remove useless return in spawn (#8621)"
  * AstGen: implement opaque decls

  [ Frank Denis ]
  * 25519: remove unused const, safeguard against unreduced scalars (#8624)
  * Change timingSafeCompare() to accept slices

  [ Andrew Kelley ]
  * AstGen: improved handling of declarations
  * stage2: rewire the frontend driver to whole-file-zir

  [ LemonBoy ]
  * stage1: Implement CPU host detection for PowerPC targets

  [ Andrew Kelley ]
  * link: fix compile error from previous commit
  * AstGen: fix function src hash not including body

  [ joachimschmidt557 ]
  * stage2 riscv64: cleanup code and add tests

  [ Andrew Kelley ]
  * std.Target: bump freebsd known maximum version

  [ LemonBoy ]
  * std: Add a parser for hexadecimal floating point numbers

  [ Andrew Kelley ]
  * AstGen: function prototypes can have alignment
  * AstGen: hook up hex float parsing to float literals
  * std: remove redundant `comptime const`

  [ jacob gw ]
  * stage2: implement #8364

  [ Andrew Kelley ]
  * Sema: do not analyze test decls when not in test mode
  * stage2: semaDecl properly analyzes the decl block
  * stage2: prepare for mainining Decl references to ZIR indexes
  * stage2: implement semantic analysis for functions and global vars
  * std: remove redundant comptime keyword
  * stage2: fix scanDecls not advancing the field bits

  [ Isaac Freund ]
  * std/build: add -p alias for --prefix

  [ Frank Denis ]
  * x: comptime bool -> comptime x: bool (#8639)

  [ Matthew Borkowski ]
  * check for overflow when reading code lengths for a block with dynamic Huffman codes

  [ Andrew Kelley ]
  * tests: prepare behavior tests for stage2

  [ Isaac Freund ]
  * std/build: change default install prefix to zig-out

  [ Andrew Kelley ]
  * update behavior tests with respect to new builtin pkg
  * move behavior tests from test/stage1/ to test/
  * std.enums: remove stuff for enums with field aliases
  * AstGen: implement comptime struct fields
  * AstGen: implement anytype struct fields
  * Sema: skip analysis of empty enum blocks
  * Sema: rename TZIR to AIR
  * AstGen: fix comptime compile error source location
  * AstGen: implement function prototypes with alignment exprs
  * AstGen: implement extern variables
  * AstGen: represent global variables directly
  * std: fix compile errors found by stage2 AstGen
  * stage2: properly free Decl name
  * stage2: fix File incorrectly freeing its Namespace

  [ Yorhel ]
  * Handle EPERM and ELOOP in os.fstatat()

  [ LemonBoy ]
  * std: Improve spinloop hint

  [ Andrew Kelley ]
  * stage2: un-tangle memory management of Decl and Namespace
  * start.zig: unconditionally import the root source file

  [ Devin Bayer ]
  * rename doc refs to deprecated functions like openC (#8467)

  [ Andrew Kelley ]
  * Sema: implement function declarations

  [ Frank Denis ]
  * Azure CI: Test std.* and the rest separately
  * CI: no need to try qemu and wasmtime on macOS builds
  * Doc: zig-cache/bin -> zig-out/bin (#8659)

  [ Devin Bayer ]
  * add doc in `Anonymous Struct Literal` section for special @"0" syntax. (#8630)

  [ Andrew Kelley ]
  * stage2: introduce new ZIR instruction: arg
  * CLI: fix incorrect error message with -cflags
  * stage2: implement function body analysis

  [ Frank Denis ]
  * std.crypto: add support for the NIST P-256 curve (#8627)

  [ g-w1 ]
  * std.build: if using a RunStep, show the command run on verbose (#8571)

  [ LemonBoy ]
  * std: Fix stack overflow in SPARC clone() impl
  * std: Import correct errno defs for SPARC
  * std: Add signal numbers for SPARC
  * std: Fix pwrite/pread syscalls on SPARC targets
  * std: Implement signbit for f128
  * std: Implement copysign for f128
  * std: Implement isFinite for f128

  [ Sage Hane ]
  * std.zig: handle -frandom-seed in NIX_CFLAGS_COMPILE

  [ Andrew Kelley ]
  * fix typo

  [ Frank Denis ]
  * Restore the CI logging as before

  [ Andrew Kelley ]
  * std.GeneralPurposeAllocator: print leaked memory addresses
  * stage2: dbg_stmt ZIR instructions have line/col
  * Sema: fix struct decl decoding ZIR incorrectly

  [ Luna ]
  * ci: freebsd: use py38-s3cmd

  [ Andrew Kelley ]
  * stage2: test decls encode that they are tests in ZIR
  * stage2: fix error reporting not loading AST
  * AstGen: decouple from Module/Compilation
  * AstGen: fix outdated doc comment
  * stage2: make struct field analysis lazy

  [ lithdew ]
  * x/os, x/net: layout tcp, ipv4/ipv6, and socket abstractions
  * x/os, x/net: re-approach `Address`, rename namespace `TCP -> tcp`
  * std/builtin: add missing comma to CallingConvention
  * x/os: fix compile errors on mac and linux
  * x/net: disable tcp tests on wasi
  * x/os/net: skip ipv6 scope id parse test on unsupported platforms
  * x/net/tcp: make tcp tests blocking to avoid unit test races
  * std/os/bits: add timeval struct for riscv64 linux
  * x/net: generalize `tcp.Address` into `ip.Address`
  * x/net/ip: add copyright header
  * std/os/linux/bits: correct socket option codes for ppc/ppc64
  * std/os/bits/windows: add `timeval` extern struct

  [ Frank Denis ]
  * Prepare std/crypto/pcurves for ecdsa and other curves (#8670)

  [ LemonBoy ]
  * stage2: Implement CPU host detection for ARM/AArch64 targets
  * std: Fix missing CPU feature check
  * std: Add fallback on pre-v6 ARM targets
  * std: Add many more vendors and cpus to the ARM detection list
  * std: Add two more ARM CPUs to the known CPU list

  [ Andrew Kelley ]
  * stage2: hook up semantic analysis of struct fields
  * ZIR: implement debug text printing for struct_init and friends
  * Sema: implement struct_decl instruction
  * ZIR: typeof uses the un_node field not un_tok
  * Sema: implement ExportOptions support in `@export`
  * build.zig: add -Dmem-leak-frames option

  [ LemonBoy ]
  * std: Accept unaligned slice in several ArrayListAligned ops

  [ Jakub Konka ]
  * zld: rewrite Object to include pointers to Symbols
  * zld: rewrite symbol resolution
  * zld: resolve GOT loads and stubs
  * zld: rewrite symbol allocations
  * zld: build updated macho backend
  * zld: disable most logs
  * zld: port over a few more bits from ld64

  [ LemonBoy ]
  * stage1: Fix LLVM error in inline asm invocation
  * compiler-rt: Better selection of __clzsi implementation
  * std: Initial bringup for Linux on Thumb2

  [ Andrew Kelley ]
  * std: remove dead and rotting C parsing code
  * stage2: fix structs and enums setting wrong owner_decl

  [ Sage Hane ]
  * std.zig: make the unrecognized C flag case non-fatal

  [ Andrew Kelley ]
  * stage2: fix "other symbol here" error note
  * Sema: implement error sets
  * stage2: test coverage for inline asm return type not type
  * Sema: restore the extern lib name functionality

  [ lithdew ]
  * x/net: fix tcp tests for openbsd and add missing `fmt` import

  [ Jay Petacat ]
  * stage1: Fix other OS target

  [ LemonBoy ]
  * zig fmt: Fix edge case in inline asm parsing
  * stage2: Fix UAF in ErrorMsg destructor
  * std: Implement hex float printing

  [ Andrew Kelley ]
  * std: fix compile errors found by stage2

  [ Jakub Konka ]
  * tests: re-enable reduce behavior tests for wasm32

  [ Andrew Kelley ]
  * stage2: add `zig changelist` debug command
  * std.ArrayList: add clearRetainingCapacity and clearAndFree
  * stage2: mapping old to new ZIR recursively
  * stage2: fix contents hash computation

  [ Jakub Konka ]
  * zld: cleanup relocs and flag errors on unhandled symbol types
  * zld: sort tlv offsets by source address

  [ lars ]
  * stage1: improve message for missing fn return type

  [ Andrew Kelley ]
  * std.ArrayHashMap: ensureUnusedCapacity and ensureTotalCapacity
  * CLI: add 'run' command to the repl
  * stage2: wire up outdated/deleted decl detection
  * CLI: add an update-and-run cmd and make enter re-run last cmd
  * stage2: fix compile errors in test harness
  * stage2: CBE tests `pub export` instead of `export` main

  [ Michael Dusan ]
  * fix test to restore cwd after chdir

  [ Andrew Kelley ]
  * Sema: implement `@typeInfo` for functions
  * Sema: support enough to check main calling convention via `@typeInfo`
  * stage2: implement extern functions
  * stage2: no '$' in anonymous decl names
  * stage2: implement global variables
  * stage2: fix stack overflow in `@setEvalBranchQuota` test case
  * std: start code increases stack size as appropriate on linux
  * std: start code on linux when -lc also expands stack size
  * ZIR: implement iteration over switch instructions
  * stage2: fix struct inits not getting fields resolved

  [ Veikka Tuominen ]
  * allow tests to fail
  * std: update usage of std.testing
  * update usage of std.testing in behavior and standalone tests
  * update usage of std.testing in stage2
  * update usage of std.testing in compiler_rt
  * update usage of std.testing in langref.html
  * tests: work around miscompilation

  [ Andrew Kelley ]
  * Type: fix abiAlignment calculation for unions
  * link/MachO: fix --verbose-link ensureCapacity bug
  * AstGen: fix incorrect logic for adding implicit return instruction
  * Sema: fix `@setEvalBranchQuota` incorrectly requiring a function body
  * stage2: fully qualified names and better anonymous names
  * stage2 test harness: report multiple failures
  * fix merge conflicts from previous commit

  [ joachimschmidt557 ]
  * stage2 ARM: Overhaul of genArmBinOp
  * stage2 ARM: Add spill registers test

  [ Jakub Konka ]
  * zld: adjust signed displacement source target addr

  [ Frank Denis ]
  * Initialize the Stat structure
  * Shorten
  * p256: properly handle neutral element & add AffineCoordinates struct (#8718)

  [ lithdew ]
  * std/os, x/os/socket: windows support, socket helpers, getpeername()
  * x/net/tcp, x/os/socket: tcp.Client.{Reader, Writer}
  * x/os/socket: use sockaddr_storage for accept()

  [ Kenta Iwasaki ]
  * x/os/socket_posix.zig: make linger struct extern

  [ lithdew ]
  * x/os, x/net, os:, fix typos/errors, add missing constants/docs
  * x/os/socket, std/os/windows: implement loading winsock extensions
  * std/os/windows/ws2_32: add missing FIONBIO constant
  * x/os, os: fix setsockopt on windows, simplify Socket.setOption error set
  * std/os: fix sockaddr_storage padding size
  * std/os: add missing sockaddr_storage defs

  [ Jakub Konka ]
  * Use zig-bootstrapped x86_64 macos compiler in CI
  * Tweak macos_arm64_script to use bootstrapped zig

  [ xackus ]
  * translate-c: fix typedefs with multiple names

  [ jacob gw ]
  * stage1: remove outdated error message regarding #447

  [ Andrew Kelley ]
  * stage1: ignore enum ContainerLayout for comptime memory purposes
  * stage2: type declarations ZIR encode AnonNameStrategy
  * stage2: struct, union, enum, opaque, error sets get better names

  [ LemonBoy ]
  * stage2: Pass -mthumb when compiling C/C++ code
  * stage2: Always link -lpthread when using system libc
  * stage2: Allow building musl/glibc in thumb mode
  * libc: Add workaround for #4926
  * std: Prefer 64bit libc functions where possible
  * c: Fix prototypes for bcmp and memcmp
  * test: Enable i386-linux-gnu test
  * std: Fix cast that's sometimes invalid
  * std: Harmonize use of off_t between libc and Zig impls
  * std: Add more tests, fix broken code
  * std: Fix fallocate offset type
  * stage2: Change libc components' linking order

  [ Matthew Borkowski ]
  * fix AutoArrayHashMap's store_hash logic

  [ LemonBoy ]
  * std: Fix offset param splitting for preadv/pwritev

  [ Andrew Kelley ]
  * test runner: print error return trace after failed test
  * test runner: avoid an "out of memory" error return trace entry

  [ Isaac Freund ]
  * stage2: use system libc when targeting the native OS/ABI
  * stage2: error if requested glibc version too high
  * stage2: link all libc components if using system libc
  * ci: unset CC/CXX before make install on macos arm64
  * std.meta.Elem: support all optional types

  [ Matthew Borkowski ]
  * fix a double free in parse when duplicate_field_behavior is UseLast and a leak in parse when allocating a single item

  [ Isaac Freund ]
  * std/json: fix previous commit for std.testing changes

  [ Andrew Kelley ]
  * stage2: add `owns_tv` flag to `Module.Decl`
  * AstGen: support emitting multiple compile errors
  * C backend: fix emitting '$' in identifier names
  * stage2: update tests now that structs have fully qualified names
  * stage2: better handling of file-level compile errors across updates
  * stage2: lookupIdentifier can return error.AnalysisFailed
  * Sema: implement duplicate enum tag compile error

  [ Michael Dusan ]
  * bsd: detect os version

  [ Andrew Kelley ]
  * stage2: improve Decl lifetime management
  * stage2: more Decl lifetime fixes

  [ Koakuma ]
  * Define ENOTSUP for SPARC
  * Fix crti/crtn path for SPARC

  [ LemonBoy ]
  * stage2: Add CPU feature detection for macos

  [ Koakuma ]
  * Fix linux dirent64 buffer align directive
  * Remove SPARC pthreadtypes-arch.h to match upstream glibc

  [ Jakub Konka ]
  * Bump zig-bootstrap and wasmtime versions in linux CI (#8738)

  [ Isaac Freund ]
  * std/mem: add sliceTo(), deprecate spanZ(), lenZ()

  [ Michael Dusan ]
  * azure: bump timeout for macos-arm64

  [ Koakuma ]
  * Add missing f128 compiler-rt shim

  [ Jakub Konka ]
  * macho: allow overriding stack size in binary

  [ LemonBoy ]
  * stage2: Drop LLVM's host CPU detection method as fallback

  [ Evan Haas ]
  * translate-c: Ensure extra_cflags are passed to clang

  [ Matthew Borkowski ]
  * fix shrinkAndFree and remove shrinkRetainingCapacity in PriorityQueue and PriorityDequeue

  [ Koakuma ]
  * Add a comment to explain the alignment directive

  [ Andrew Kelley ]
  * build system: fix wrong glibc dir passed to qemu for i386
  * std: fix redundant comptime keywords

  [ Isaac Freund ]
  * stage2: fix build on OpenBSD/NetBSD

  [ Andrew Kelley ]
  * stage2: fix handling of "prev successful ZIR"
  * stage2: build and provide libunwind when compiling for native libc
  * stage2: build and provide libunwind when compiling for native libc
  * stage2: fix source location of Decl compile errors

  [ Jakub Konka ]
  * macos: link static libc++ when building stage2

  [ Andrew Kelley ]
  * stage2: fix test cases to add `pub` on exported _start fn

  [ Matthew Borkowski ]
  * std/json: Fix premature closing brace being considered valid JSON
  * fix duplicate_field_behavior UseFirst in json.zig

  [ Jakub Konka ]
  * Add experimental Darling support for cross testing macOS
  * start.zig: export main with strong linkage

  [ Andrew Kelley ]
  * stage2: only build and link libunwind when linking libc++
  * Sema: detect and skip over elided instructions
  * AstGen: fix elision of store_to_block_ptr for condbr
  * stage2: -lunwind is handled specially
  * link/MachO: fixes to debug symbols
  * link: fix memory leak of system_libs
  * CLI repl: "run" command handles cross compiled binaries
  * Sema: remove compile error for comptime function calls
  * stage2: fix tests expected values

  [ Matthew Borkowski ]
  * fix logic for duplicate comptime fields and avoid freeing comptime fields in parseFree and parseInternal

  [ Andrew Kelley ]
  * std: dragonfly: fix duplicate definition of sockaddr_storage
  * AstGen: add compile error for decl name conflicts
  * stage2: update test cases to improved source locations

  [ Jakub Konka ]
  * macho: fix bug with symbol growth and realloc
  * macho: require _main as global export in self-hosted
  * macho: put dSYM bundle in zig-cache

  [ Robin Voetter ]
  * SPIR-V: Set default ofmt to spirv
  * SPIR-V: Begin generating types
  * SPIR-V: Adapt spec generator to new render api
  * SPIR-V: Re-generate spec.zig
  * SPIR-V: Split out registry from gen_spirv_spec.zig
  * SPIR-V: SPIR-V feature generation tool
  * SPIR-V: Add generated SPIR-V features
  * SPIR-V: Don't parse/render in gen_spirv_spec.zig, just emit in the right format

  [ LemonBoy ]
  * compiler-rt: Fix signedness mismatch in f128 mul impl

  [ joachimschmidt557 ]
  * stage2 register manager: clean up API and add more unit tests

  [ Sahnvour ]
  * std.hash_map: use 7 bits of metadata instead of 6

  [ LemonBoy ]
  * stage1: Widen non byte-sized atomic loads/stores
  * stage2: Force Clang to use LLVM's assembler for SPARC targets

  [ Andrew Kelley ]
  * stage2: clarify logic of passing `-integrated-as` to clang

  [ viri ]
  * std: rework math.scalbn (#8733)

  [ Jakub Konka ]
  * macho: if strip is true, do not generate dSYM

  [ viri ]
  * std: fix & add os.windows.user32 WM constants
  * std: re-add weird undocumented Win32 constants

  [ Andrew Kelley ]
  * stage2: improve Decl dependency management

  [ ZapAnton ]
  * std.testing: Added newline to the error messages

  [ Andrew Kelley ]
  * stage2: compile log stores node offset
  * std: dragonfly: fix duplicate definition of sockaddr_storage

  [ Evan Haas ]
  * translate-c: translate global (file scope) assembly

  [ viri ]
  * remove range constants

  [ LemonBoy ]
  * std: Avoid using white color when printing stacktraces

  [ Isaac Freund ]
  * stage2: make failure to find native libc verbose

  [ Andrew Kelley ]
  * codegen: implement const value rendering for ints <= 64 bits
  * stage2: omit Decl compile errors from failed AstGen files
  * stage2: remove SPU Mark II backend
  * cmake: remove deleted file

  [ Jakub Konka ]
  * macho: fix DWARF in dSYM and sym naming more consistent

  [ Andrew Kelley ]
  * linker: update MachO DebugSymbols to use the new line/column Decl API

  [ Robin Voetter ]
  * SPIR-V: Restructure codegen a bit
  * SPIR-V: Compute backing integer bits
  * SPIR-V: Function prototype generation
  * SPIR-V: Proper floating point type generation
  * SPIR-V: OpFunction/OpFunctionEnd generation
  * SPIR-V: Function parameter generation
  * SPIR-V: Some instructions + constant generation setup
  * SPIR-V: Some initial floating point constant generation
  * SPIR-V: genBinOp setup
  * SPIR-V: More binary operations
  * SPIR-V: More bitwise binary operations
  * SPIR-V: comparison and equality operations
  * SPIR-V: bool binary operations
  * SPIR-V: Unary not operation

  [ Jonathan Marler ]
  * add missing EBADF error code for openat

  [ Andrew Kelley ]
  * MachO/DebugSymbols: fix debug line offset
  * stage2: fix error message coloring

  [ Aiz672 ]
  * Remove `isIntegerNumber` and `isFloatingNumber`

  [ Michael Dusan ]
  * ci linux: bump qemu-5.2.0.1

  [ Andrew Kelley ]
  * stage2: add some debug logs for when link functions are called

  [ aiz ]
  * std.math.Complex: Change `new()` to `init()`

  [ Andrew Kelley ]
  * stage2: avoid calling freeDecl when hasCodeGenBits == false
  * link/MachO: bring in some of the Elf logic
  * link/Elf: remove unintended link again libunwind

  [ LemonBoy ]
  * translate-c: Add `@truncate` where needed
  * std: Allocate tlscsprng memory as needed

  [ joachimschmidt557 ]
  * stage2 ARM: correct spilling in genArmMul as well

  [ Andrew Kelley ]
  * compiler-rt: fix usage of builtin
  * std: `@import("builtin").StackTrace` -> `std.builtin.StackTrace`
  * update langref, compile-error tests, safety tests
  * std: update regarding std.builtin reorganization
  * stage2: test cases take advantage of `pub fn main` support
  * test runner: prepare stage2 workaround
  * stage2: get rid of failed_root_src_file
  * stage2: get rid of DeclRef
  * stage2: get rid of NameHash
  * behavior tests: re-enable commented out test
  * remove separate issues from my branch todo file
  * stage2: update `@import("builtin")` API usage
  * Sema: use a hash map for ZIR->AIR mapping
  * stage2: fix crash in switch compile error
  * stage2: skip recursion test on some hosts
  * std.fmt: fix regressions from master

  [ Evan Haas ]
  * translate-c: Demote initialization of opaque types

  [ Jakub Konka ]
  * zld: add prelim way of linking dylibs
  * zld: refactor out logic for dylib LC creation
  * zld: parse dylib id
  * zld: refactor order of searching for the dylibs
  * zld: parse dylibs as positionals
  * zld: apply @mikdusan's suggestions
  * zld: refactor warnings

  [ Andrew Kelley ]
  * std: update freebsd bits to new builtin
  * ci: drone: refresh docker image with latest alpine
  * stage2: fix deletion of Decls that get re-referenced
  * stage2 tests: fix missing 'pub' in one of the test cases
  * build.zig: blank out "*test.zig" files instead of omit
  * std: add android __SIZEOF_PTHREAD_MUTEX_T

  [ Isaac Freund ]
  * stage2: only default to linking system libc if linking system libs

  [ Luuk de Gram ]
  * wasm backend - Initial enum support
  * Add enum test case for wasm backend
  * Explicit return & more complex wasm enum test
  * Initial support for structs in wasm backend
  * Do not create a local for the struct itself + test cases

  [ Sébastien Marie ]
  * openbsd: convert builtin.arch to builtin.target.cpu.arch

  [ Evan Haas ]
  * translate-c: add support for __cleanup__ attribute

  [ Andrew Kelley ]
  * stage2: use c_allocator not raw_c_allocator
  * stage2 test harness: show source file name
  * ci: use a different ssh private key to deploy the website

  [ Luuk de Gram ]
  * wasm backend: implement `multi_value` for `WValue`
  * stage2 wasm: Support basic switches

  [ LemonBoy ]
  * std: Fix error in tlcsprng init sequence

  [ Isaac Freund ]
  * stage1: support inline keyword on function decls
  * stage2: support inline keyword on function decls

  [ LemonBoy ]
  * std: Call pthread_atfork only once
  * std: Make atfork handler more robust

  [ Luuk de Gram ]
  * Also support multi-prong branches

  [ Jakub Konka ]
  * cc,wasi: add wasi libc headers
  * cc,wasi: add wasi-libc source
  * wasi,cc: fix naming and add stubs for building
  * cc,wasi: add source file paths to wasi_libc.zig
  * cc,wasi: compile all WASI libc objects
  * cc,wasi: link compiled WASI libc with wasm-ld
  * cc,wasi: remove unused headers and sources
  * wasm: link dynamically by default when targeting wasm
  * cc,wasi: do not add stack protector

  [ Isaac Freund ]
  * zig fmt: replace callconv(.Inline) with the inline keyword
  * Run `zig fmt` on src/ and lib/std/

  [ Luuk de Gram ]
  * Add test cases for switches

  [ Bxil ]
  * std.os: WSAStartup is now called upon socket creation when needed

  [ Andrew Kelley ]
  * std: Windows: WSASocketW ensures WSAStartup

  [ Isaac Freund ]
  * translate-c: use inline keyword instead of callconv(.Inline)

  [ Jonathan Marler ]
  * implement nt path conversion for windows
  * have collapseRepeats return slice intead of just len
  * add the openDir cwd parent test

  [ Andrew Kelley ]
  * stage2: fix compile error rendering for hard tabs

  [ Matthew Borkowski ]
  * fix calculation of max_io_bits in PackedIntIo

  [ mason1920 ]
  * Const correct GUID parameter of getInfo and setInfo

  [ Jonathan Marler ]
  * handle relative paths with too many ".."

  [ Jakub Konka ]
  * wasm: build static archive unless -dynamic specified
  * wasm: fix object extension to standard .o from .o.wasm

  [ Matthew Borkowski ]
  * fix accidental quadratic dependence on haystack length in replace and replacementSize (#8859)

  [ Robin Voetter ]
  * SPIR-V: Use Value.toFloat instead of switching on value tag when generating float constants
  * SPIR-V: Put types in SPIRVModule, some general restructuring
  * SPIR-V: ResultId and Word aliases to improve code clarity
  * SPIR-V: Preliminary integer constant encoding
  * SPIR-V: Split out genCmp from genBinOp
  * SPIR-V: Preliminary alloc/store/load generation
  * SPIR-V: Pass source location to genType and genConstant for better error reporting
  * SPIR-V: branching
  * SPIR-V: DeclGen constructor/destructor
  * SPIR-V: Debug line info/source info
  * SPIR-V: Generate locals at the start of a function
  * SPIR-V: Make functions which always return a null result return void instead

  [ Jakub Konka ]
  * zld: permit system static libs

  [ Andrew Kelley ]
  * stage2: rename ir.zig to air.zig
  * stage2: omit printing source lines in compile errors
  * stage2: rework astgen command into `zig ast-check`

  [ Jakub Konka ]
  * cc,wasi: force isysroot to /

  [ Matthew Borkowski ]
  * fix Boyer-Moore-Horspool algorithm in indexOfPos and lastIndexOf when element type is larger than a byte

  [ Sobeston ]
  * std.os: munmap takes a const pointer

  [ Isaac Freund ]
  * stage2: only pass -lm -lc -ldl for android libc

  [ Sébastien Marie ]
  * openbsd: complete kqueue(2) constant definitions

  [ jacob gw ]
  * stage2: astgen error for return or try in defer block

  [ joachimschmidt557 ]
  * stage2: Move BlockData out of ir.Inst.Block

  [ Evan Haas ]
  * translate-c: Translate FnDecl's that appear within functions

  [ xavier ]
  * apply -flto and -ffunction-sections when compiling libc++
  * keep statically linked libc++ symbols hidden.

  [ Daniele Cocca ]
  * translate_c: remove unused WriteFileStep import

  [ Michael Dusan ]
  * overhaul elf csu (c-runtime startup) logic

  [ Andrew Kelley ]
  * stage2: fix reference to musl arch name

  [ Ryan Liptak ]
  * Add . and .. tests for std.fs functions

  [ Andrew Kelley ]
  * Revert "stage2: add support for zig cc assembler -mcpu option"

  [ Ryan Liptak ]
  * Add updateFile to . and .. fs tests

  [ Michael Dusan ]
  * housekeeping: remove `pub` from ccPrintFileName()

  [ Andrew Kelley ]
  * make "gnu" (mingw-w64) the default C ABI on Windows
  * stage2: introduce clangAssemblerSupportsMcpuArg

  [ Michael Dusan ]
  * dragonfly: pass `zig build test`

  [ Ryan Liptak ]
  * zig fmt: Remove workaround for . and .. path handling on Windows

  [ Michael Dusan ]
  * clang driver: fix lost argv[0]
  * housekeeping: builtin.arch → builtin.cpu.arch

  [ Al Hoang ]
  * avoid usage of execv on Haiku
  * enable symbol lookup for haiku
  * haiku case for libc link flags
  * update compilation and elf link for haiku case
  * add haiku case to csu

  [ Andrew Kelley ]
  * stage2: remove dead code; rename crtbegin_dir to gcc_dir

  [ Jens Goldberg ]
  * Fix socklen_t cast in win32 recvfrom

  [ xavier ]
  * zig cc: expose header files when linking libunwind

  [ Matthew Borkowski ]
  * fix position of `orelse` and `catch` in precedence table and remove misplaced error union operator

  [ xavier ]
  * standalone tests may now test cross targets and build modes.
  * add a standalone for zig as a c/c++ compiler
  * remove reduntant new/delete implementation

  [ Matthew Borkowski ]
  * fix position of `.*` and `.?` in operator precedence table documentation

  [ joachimschmidt557 ]
  * Re-enable building the self-hosted compiler for 32-bit targets

  [ LemonBoy ]
  * stage1: Store target info in the LLVM module

  [ Andrew Kelley ]
  * tokenizer: fix crash on multiline string with only 1 backslash

  [ Matthew Borkowski ]
  * stop tokenizer from recognizing lone `@` or `@` followed by a digit as a builtin
  * parse.zig: use shared scratch buffer to avoid allocating and freeing many small lists

  [ Jakub Konka ]
  * zld: dylib paths need nul terminator included
  * zld: search for .a before .dylib by default

  [ Matthew Borkowski ]
  * keep temporary list from escaping `parseParamDeclList`, make SmallSpan.multi hold Node.SubRange instead of owned memory

  [ Frank Denis ]
  * p256: update to the last fiat-crypto code & share PC tables

  [ Isaac Freund ]
  * stage2: disallow trailing dot on float literals

  [ Jakub Konka ]
  * build: allow specifying rpaths explicitly (#8912)

  [ Matthew Borkowski ]
  * update comments to match changes to the formal grammar

  [ Luuk de Gram ]
  * wasm: Support error sets
  * wasm: Implement error unions and unwrapping
  * wasm: Add support for error union as return type
  * wasm: Reverse the order of error and payload
  * wasm: Add stage2 tests for error unions

  [ Andrew Kelley ]
  * stage1: rework tokenizer to match stage2
  * lol that's never going to happen in stage1
  * stage1: rename IrExecutableSrc to Stage1Zir
  * stage1: move some mutable state from Stage1Zir to IrAnalyze
  * stage1: move next_debug_id from Stage1Zir to IrBuilderSrc
  * stage1: rename IrBuilderSrc to Stage1AstGen
  * stage1: move the ZigFn from Stage1Zir to Stage1AstGen
  * stage1: remove c_import_buf from Stage1Zir
  * stage1: remove source_node field from Stage1Zir
  * stage1: rename IrBasicBlockSrc to Stage1ZirBasicBlock
  * start.zig: intentional silent failure when cannot increase stack size
  * stage1: tokenizer: backport recent stage2 changes
  * stage1: get test-compile-errors passing again
  * stage1: memoize strings in the AST
  * stage1 parser: fix the TODOs

  [ LemonBoy ]
  * stage1: Fix for atomicrmw xchg on fp types

  [ Andrew Kelley ]
  * tests: disable i386-linux-gnu -lc target due to CI failures

  [ Matthew Borkowski ]
  * make writeIntSlice functions work for signed integers

  [ Andrew Kelley ]
  * AstGen: properly restore previous state after temporary changes
  * add llvm-ar.cpp from llvm 12.0.1-rc1
  * stage2: add `zig ar` subcommand
  * zig ar: workaround for LLVM bug
  * cmake: LLVM needs to link against zlib
  * ci: update x86_64-linux, aarch64-linux, and windows tarballs

  [ Jakub Konka ]
  * ci: update x86_64-macos and aarch64-macos tarballs

  [ Takeshi Yoneda ]
  * build: rename ast_render in build.zig.

  [ Ethan Gruffudd ]
  * std.json: option to ignore unknown fields

  [ Andrew Kelley ]
  * std.json: update to new testing API

  [ daurnimator ]
  * std: fix json.parse with 0 length arrays
  * std: by default, disallow trailing data when parsing json

  [ protty ]
  * std.sync.atomic: extended atomic helper functions (#8866)

  [ Isaac Freund ]
  * stage2: disallow `1.e9` and `0x1.p9` as float literals
  * stage1: disallow 1.e9 and 0x1.p9 as float literals

  [ Andrew Kelley ]
  * Tweak license in celebration of the upcoming 0.8.0 release :)

  [ Frank Denis ]
  * std.crypto.p256.scalar: fe struct member is not a function (#8954)

  [ lithdew ]
  * x/io, x/os: async i/o reactor, cross-platform socket syscalls and bits
  * std/c: add recvmsg, sendmsg
  * std/c: have sendmsg, recvmsg flags be u32
  * x/os, x/tcp: fix Socket.Message init values and tcp test buf len
  * os: have sendmsg, recvmsg flags be c_int

  [ Kenta Iwasaki ]
  * x/os: {read, write}Vectorized() -> {read, write}Message()
  * os: `sockaddr_storage` -> `std.x.os.Socket.Address.Native.Storage`
  * x: replace std.builtin with std.Target.current
  * x/os/net: remove unnecessary comptime prefix in resolveScopeID()
  * os: make msghdr, msghdr_const, and sockaddr_storage backwards-compatible
  * os/bits: remove duplicate `sockaddr_storage` for dragonfly

  [ Jonathan Marler ]
  * handle LimitToBig error on setrlimit

  [ Veikka Tuominen ]
  * translate-c: support designated initializers in macros

  [ Evan Haas ]
  * translate-c: Fix performance hazard in transPreprocessorEntities

  [ Andrew Kelley ]
  * ci: update x86_64-freebsd tarball

  [ Jakub Konka ]
  * zld: fix the linker for 32bit comp targets

  [ Andrew Kelley ]
  * ci: drone: use zig-bootstrap tarball instead of system toolchain

  [ Martin Wickham ]
  * Breaking hash map changes for 0.8.0
  * Fix return type of HashMap.getAdapted

  [ viri ]
  * docs: minor spelling fix

  [ Isaac Freund ]
  * langref: sync grammar with zig-spec repo

  [ Min-Yih Hsu ]
  * llvm: Add support for collecting time trace (#8546)

  [ Jacob G-W ]
  * fmt: fix #8974

  [ Andrew Kelley ]
  * update mingw-w64 headers to v9.0.0
  * update mingw-w64 crt files to v9.0.0

  [ Felix (xq) Queißner ]
  * Makes std.io.StreamSource usable with freestanding

  [ Andrew Kelley ]
  * Release 0.8.0
  * start the 0.9.0 release cycle
  * ci: update download page releases
  * ci: fix aarch64-macos download tarball filename
  * ci: fix 0.8.0 release date

  [ LemonBoy ]
  * compiler-rt: Fix __floatunsitf signature
  * std: Better handing of POLLHUP in ChildProcess (#8988)

  [ Nicolas ]
  * Add zig_llvm-ar.cpp in build.zig

  [ Michael Dusan ]
  * test: re-enable dragonfly tests

  [ Evan Haas ]
  * translate-c: Small cleanup, remove unneeded std.math.max call

  [ Sebastien Marie ]
  * openbsd: adjust dynamic linker path (#9010)

  [ Frank Denis ]
  * std.crypto: timing-safe functions to add&subtract serialized integers (#8977)

  [ LemonBoy ]
  * stage1: Apply the same set of fn attributes everywhere
  * build: Avoid using undefined variables
  * std: Fix some BPF fn definitions
  * Revert "tests: disable i386-linux-gnu -lc target due to CI failures"
  * std: Add helpers to safely align pointers

  [ Andrew Kelley ]
  * fix doc comments copy paste typo

  [ LemonBoy ]
  * stage1: Allow array-like initialization for tuple types

  [ Evan Haas ]
  * translate-c: properly handle enums used as boolean expressions

  [ Veikka Tuominen ]
  * stage2: implement comptime variables

  [ Jens Goldberg ]
  * Add Linux XDP bits (#9019)

  [ Jakub Konka ]
  * wasi: always grant fd_readdir right

  [ Rejean Loyer ]
  * tools: fix update_clang_options.zig for ArrayHashMap's Separated Key/Value Storage breaking change.

  [ Andrew Kelley ]
  * link: windows: look for more DLL import lib path names

  [ Veikka Tuominen ]
  * stage2: fix repeat_inline skipping first instruction in block

  [ ArtixFox ]
  * Changed return values of SectionHeaderIterator().next() to bswapAllFields() (#9014)

  [ Dustin Taylor ]
  * Limit Fixed Buffer Stream seekTo (#9023)

  [ Matthew Borkowski ]
  * stage1: fix render_const_value for printing const optional pointers
  * parse.zig: simplify `parseParamDeclList` by always using scratch buffer
  * parse.zig: make `parseParamDeclList` check for nonfinal varargs
  * stage1: make `@truncate` to an integer type of different sign an error at comptime too

  [ LemonBoy ]
  * std: Better formatting of tuple types

  [ Tom Maenan Read Cutting ]
  * Add linkLibCpp helper to LibExeObjStep

  [ xackus ]
  * add allocation free versions of lower/upper string

  [ jacob gw ]
  * stage2: compile error for ambiguous decl refrences

  [ Jakub Konka ]
  * libc,macos: update and add missing libc headers
  * zig,cc,wasi: include emulated libs in WASI libc
  * cc,wasi: package emulations as static archives
  * cc,wasi: build referenced-only emulated components
  * wasi: skip adding wasi_snapshot_preview1 as lib dep in stage1
  * wasi: clean up linking logic
  * cc,wasi: store CRTFile enum in wasi_emulated_libs

  [ Takeshi Yoneda ]
  * cc,wasi: support WASI reactors via -mexec-model flag.

  [ Jakub Konka ]
  * cc,wasi: use wasi_libc.CRTFile directly instead of WasiExecModel

  [ Lee Cannon ]
  * Provide method to set logging level per scope (#8584)

  [ Matthew Borkowski ]
  * let GeneralPurposeAllocator retain metadata to report more double frees

  [ Vincent Rischmann ]
  * os/bits/linux: add the fadvise advice values
  * os/linux: add fadvise

  [ viri ]
  * windows: remove `TCHAR` idiom entirely
  * std.Progress: use `*W` functions on windows

  [ Filippo Casarin ]
  * std.math.sqrt_int: fixed odd size integers types

  [ Andrew Kelley ]
  * langref: remove paragraph that mentions IRC
  * langref: link to 0.7.1 not 0.7.0 for the previous docs

  [ joachimschmidt557 ]
  * stage2 codegen: Remove hacks for discontinued SPU II backend

  [ Lee Cannon ]
  * Add a logging allocator that uses std.log (#8511)

  [ Andrew Kelley ]
  * native libc detection: respect spaces in CC env var
  * CLI: remove --verbose-ast and --verbose-tokenize

  [ Jakub Konka ]
  * Re-enable multiple wasm32 vector tests
  * link: don't link system libs by the wasm linker
  * zld: work out size and alignment of commons

  [ daurnimator ]
  * Have std.fmt functions take case as an enum

  [ Jakub Konka ]
  * zld: moving target seg,sect mapping into Object.Section
  * zld: add Symbol.Tentative to denote common symbol
  * zld: handle aliasing of tentative into regular global

  [ AODQ ]
  * Print path on libc/libc-path fatal error

  [ Frank Denis ]
  * aes 128-bit key expansion test - properly test the inverse round keys (#9065)

  [ Jakub Konka ]
  * zld: synthetise regular from tentative definition

  [ LemonBoy ]
  * stage1: Fix handling of C ABI parameters split in multiple regs

  [ Jakub Konka ]
  * zld: fix debug info for regulars synthed from tentative

  [ purringChaos ]
  * Correct a comment.

  [ Jakub Konka ]
  * Add standalone test for common symbols
  * zld: clean up

  [ Norberto Martínez ]
  * Documentation TOC item color changed

  [ Jens Goldberg ]
  * netlink ifi_change no longer reserved

  [ Andrew Kelley ]
  * zig fmt

  [ Jakub Konka ]
  * zld: fix bug in working out commons total size

  [ Felix (xq) Queißner ]
  * Starts to replace special cases in std.build.FileSource.
  * Adds more FileSources everywhere.
  * Adds a lot of missing dupes, some more snakes.
  * Moves files to file-global struct layout.
  * Changes createExecutable parameter is_dynamic to a enum to make code more readable .
  * Changes to .path instead of .getPathFn. Changes LibExeObjStep to also provide FileSource.
  * Makes output path stuff more sane.
  * Code quality improvements to GeneratedFile, and manual implementation of Builder.addObjectSource.

  [ viri ]
  * std.os.windows: implement <timeapi.h> (#8801)

  [ LemonBoy ]
  * std: Fix tanh for negative inputs

  [ Veikka Tuominen ]
  * make remaining enums in build.zig snake_case

  [ Asherah Connor ]
  * bigint: add failing tests for bigint carry
  * bigint: use a stack local here to prevent aliasing issues
  * bigint: add ensureAdd(Scalar)Capacity, note aliasing requirements

  [ codic12 ]
  * c.zig: add sigfillset, alarm, sigwait

  [ Jakub Konka ]
  * zld: match all __DATA sections as __data except __const

  [ Asa Zeren ]
  * Change defineCMacro to take separate name and value arugments

  [ Andrew Kelley ]
  * better awareness of unwind tables

  [ Ellis Trisk-Grove ]
  * std.build.InstallDir: make dupe() a public function

  [ codic12 ]
  * c.zig: fix waitpid() definition

  [ Evan Haas ]
  * translate-c: Implement flexible arrays

  [ Edward Dean ]
  * Add CPU feature check to standardTargetOptions

  [ Andrew Kelley ]
  * cleanups to previous commit

  [ Jakub Konka ]
  * zld: allow for existence of __DATA_CONST segments in objects
  * zld: throw an error if found unknown section in object

  [ Andrew Kelley ]
  * zig cc: recognize more pie flags

  [ LemonBoy ]
  * std: Move PDB-related code into its own file

  [ xackus ]
  * translate-c: fix enums that require c_uint type

  [ Veikka Tuominen ]
  * std.build: don't default to static linkage

  [ protty ]
  * std.Thread.Futex addition (#9070)

  [ Exonorid ]
  * Renamed @byteOffsetOf to @offsetOf

  [ Veikka Tuominen ]
  * zig fmt: rewrite byteOffsetOf to offsetOf

  [ LemonBoy ]
  * std: Fix complex ldexp implementation

  [ Evan Haas ]
  * translate-c: better support for static local variables

  [ Garrett Squire ]
  * Make std.ChildProcess exit code u8 to match std.process.exit

  [ viri ]
  * std.windows: fix `OVERLAPPED`, add `OVERLAPPED_ENTRY`

  [ Jarred Sumner ]
  * Improve error message when std.fmt.format is missing arguments

  [ Veikka Tuominen ]
  * translate-c: don't bother with unwrapping pointers

  [ joachimschmidt557 ]
  * stage2 Sema: enable float multiplication and division

  [ Matthew Borkowski ]
  * parse.zig: simplify parsing functions that build lists by always using scratch buffer
  * parse.zig: simplify parseSwitchProng and make one item cases with trailing commas produce .switch_case_one nodes
  * parse.zig: make parseForTypeExpr accept only a TypeExpr as body

  [ xackus ]
  * translate-c: better typename parsing
  * translate-c: better numeric type parsing

  [ Veikka Tuominen ]
  * meta.cast: handle casts from negative ints to ptrs

  [ LemonBoy ]
  * tools: Unbreak many tools

  [ jacob gw ]
  * format zig files and add formatting check to ci

  [ Jacob G-W ]
  * link/Elf: don't use \n in log.debug calls

  [ Veikka Tuominen ]
  * add ast-check flag to zig fmt, fix found bugs

  [ Takeshi Yoneda ]
  * c++,wasi: enable libcxx build.

  [ Isaac Freund ]
  * std: fix auto hash of tagged union with void field

  [ Samadi van Koten ]
  * Add std.os.dup()

  [ Veikka Tuominen ]
  * add a test for dup and dup2

  [ Jakub Konka ]
  * zld: clean up parsing section by type and attrs
  * zld: handle __gcc_except_tab section
  * zld: handle __eh_frame section

  [ Takeshi Yoneda ]
  * link/wasm: link libcxx.
  * add various flags/options, and link libcxxabi.

  [ Dmitry Matveyev ]
  * Rewrite printErrMsgToFile to use Message struct from Compilation
  * Rename printErrMsgToFile->printErrMsgToStdErr and remove `file` argument

  [ xackus ]
  * translate-c: remove old code i forgot in last pr

  [ Veikka Tuominen ]
  * translate-c: move utility functions to a separate namespace
  * replace usage of meta.cast with builtins

  [ Jan200101 ]
  * specify the output lib, exe and include paths with flags

  [ Jakub Konka ]
  * zld: map coalesced sections and handle undefines

  [ Andrew Kelley ]
  * CLI: rename --override-lib-dir to --zig-lib-dir
  * zig build: rename --lib-dir, --include-dir, --exe-dir
  * ci: azure: update to newer msys2 release

  [ Takeshi Yoneda ]
  * cleanup, and disable threading completely.
  * Add a missing comment.
  * fix comments.

  [ Björn Linse ]
  * std: don't reference non-existant ComptimeStringHashMap type

  [ Isaac Freund ]
  * zig build: add --libc general option

  [ Jakub Konka ]
  * zld: stubs can also be part of unsigned relocs
  * zld: use ld64 defaults for searching system libs

  [ Isaac Freund ]
  * std: fix auto hash of tagged union with void field

  [ Samadi van Koten ]
  * Add std.os.dup()

  [ Veikka Tuominen ]
  * add a test for dup and dup2

  [ xackus ]
  * translate-c: remove old code i forgot in last pr

  [ Jan200101 ]
  * specify the output lib, exe and include paths with flags

  [ Andrew Kelley ]
  * CLI: rename --override-lib-dir to --zig-lib-dir
  * zig build: rename --lib-dir, --include-dir, --exe-dir
  * ci: azure: update to newer msys2 release

  [ Jakub Konka ]
  * zld: clean up parsing section by type and attrs
  * zld: handle __gcc_except_tab section
  * zld: handle __eh_frame section
  * zld: map coalesced sections and handle undefines

  [ Björn Linse ]
  * std: don't reference non-existant ComptimeStringHashMap type

  [ Veikka Tuominen ]
  * translate-c: move utility functions to a separate namespace
  * replace usage of meta.cast with builtins

  [ Isaac Freund ]
  * zig build: add --libc general option

  [ Andrew Kelley ]
  * AstGen: support `@export` with field access
  * fix RISC-V assembly CPU features

  [ joachimschmidt557 ]
  * stage2 Sema: add type resolving from comptime_float to float

  [ Andrew Kelley ]
  * ci: remove confusing message now that --ast-check is added

  [ Michael Dusan ]
  * netbsd: add args to limit number of PT_LOAD segs
  * netbsd: add more std.os.bits

  [ Daniele Cocca ]
  * {create,init}_const_slice: accept custom sentinel
  * Add create_sentineled_str_lit
  * tagName: return a null-terminated slice
  * errorName: return a null-terminated slice
  * typeName: amend return type to string literal
  * embedFile: change notation from [X:0] to [N:0]

  [ d18g ]
  * Fix `lakemont` CpuModel (#9099)

  [ Andrew Kelley ]
  * stage1: fix zig0 help message

  [ Vincent Rischmann ]
  * zig cc: improve linker args parsing

  [ LemonBoy ]
  * std: Avoid deadlocking in ChildProcess.exec
  * std: Uniform polling logic for Windows and Unix
  * std: Use WINAPI instead of .Stdcall

  [ Michael Dusan ]
  * fix oob during riscv64 feature processing

  [ LemonBoy ]
  * stage1: Store the specified code model in the LLVM module

  [ Andrew Kelley ]
  * AstGen: properly generate errdefer expressions when returning

  [ hadroncfy ]
  * HashMap.getOrPutAssumeCapacityAdapted should set key to undefined (#9138)

  [ Michael Dusan ]
  * macho: LC_RPATH: reserve byte for null-terminator

  [ Jonathan Marler ]
  * finish ChildProcess collectOutputWindows

  [ Matt Chudleigh ]
  * Convert remaining addresses to u64 from usize in dwarf.zig
  * Support long section names in COFF files
  * Add support for reading DWARF debug information from COFF files
  * Fix crash when compiling with cygwin/msys on windows

  [ LemonBoy ]
  * std: Fix PIE startup sequence
  * tests: Update line numbers

  [ mason1920 ]
  * Bring your own MAX_PATH_BYTES

  [ pithlessly ]
  * stage2 sema: change impl of @setCold to use zirSetCold (typo?)

  [ Jacob G-W ]
  * fmt: make --ast-check work with --stdin

  [ LemonBoy ]
  * std: Make copy_file_range checks run at compile-time

  [ Dmitry Matveyev ]
  * stage2: Remove special double ampersand parsing case (#9114)

  [ Jacob G-W ]
  * stage2: simplify codegen for errorToInt and intToError

  [ g-w1 ]
  * stage2 Sema: implement @intToPtr (#9144)

  [ Jacob G-W ]
  * stage2 astgen: find unused vars
  * stage2 astgen: fix bug in struct init where type not refed
  * stage2: make loop vars be comptime if they are inline
  * std.enums: make code correct zig and not stage1
  * stage2 astgen: make asm outputs count as referencing vars
  * stage2 tests: remove unused vars
  * stage2: fix TODO in @export to look for runtime-vars
  * std, src, doc, test: remove unused variables
  * stage2 AstGen: fix lots of bugs and catch more errors
  * fix code broken from previous commit

  [ Andrew Kelley ]
  * AstGen: convert a TODO comment to an issue
  * AstGen: fix crash in debug printing ZIR field types
  * AstGen: while loop continue expr captures in scope

  [ Jacob G-W ]
  * std: fix code unblocked by previous commit

  [ Andrew Kelley ]
  * std: ArrayHashMap remove unused parameter
  * std.crypto.p256: fix neg function compile error
  * std.TrailerFlags: remove superfluous parameter
  * std.os.linux: fix splitValueBE64
  * std.os.linux.bpf: fix incorrect usage of unexpectedErrno
  * remove unused parameters
  * AstGen: remove unused parameter
  * AstGen: remove unused scope parameter from rvalue
  * stage2: wire up AstGen to the progress bar
  * stage2: remove unused parameter from importPkg
  * Sema: don't miscompile fns with inferred error sets
  * mips: fix syscall_pipe
  * cleanups related to unused params
  * AstGen: remove unused parameters
  * fix unused locals from merge conflict

  [ Luna ]
  * add compile error if root.log is not a function

  [ Evan Haas ]
  * translate-c: Remove usage of `extern enum`

  [ Jacob G-W ]
  * docs: top level global assembly -> container level

  [ Roman Frołow ]
  * Docs clarification: local static variable (#8381)

  [ Veikka Tuominen ]
  * fix typos in langref.html

  [ Jonathan Marler ]
  * nice error for unsupported async sockets on Windows

  [ Andrew Kelley ]
  * stage1: `@shuffle` type and mask params in comptime scope
  * run AstGen even when using the stage1 backend
  * ci: no need for --ast-check
  * cmake: debug builds of zig enable logging by default
  * progress bar: call it "AST Lowering" instead of "AstGen"
  * stage2: slightly improve error reporting for missing imports
  * stage2: glue code to AstGen root source file when using stage1
  * fix unused parameters in compare_output test cases
  * update godbolt test case for unused parameter
  * fix unused variable errors in runtime safety test cases

  [ Jacob G-W ]
  * astgen: error on struct field with no type

  [ Andrew Kelley ]
  * stage2: fix crash when using stage1 backend

  [ Evan Haas ]
  * translate-c: Ensure all local variables and function params are used
  * translate-c: remove explicit `comptime` from shuffle mask expression

  [ Andrew Kelley ]
  * langref: fix unused vars

  [ Evan Haas ]
  * translate-c: ensure scoped (non-public) enum constants are used

  [ Jonathan Marler ]
  * Expose default std.log implementation
  * Expose mechanism to convert log level to text

  [ Jakub Konka ]
  * link: add basic TAPI parser for linkers
  * zld: parse libSystem tbd stub when linking
  * zld: parse lib stubs as tbds on the linker line
  * zld: create a synthetic ___dso_handle symbol self-referenced
  * zld: apply AST fixes
  * zld: move logic unpacking path to libc stub to Compilation
  * zld: introduce Stub.zig which represents parsed stub file
  * zld: extract path to libc in the linker proper
  * tapi: apply ast fixes
  * zld: parse framework dirs and names
  * zld+stage2: refactor creating segments and sections
  * zld: clean up logic for matching and mapping sections
  * zld: handle objc-specific sections
  * zld+macho: populate segname from SegmentCommand when adding section
  * zld: fix finding pointers for rebasing
  * zld: handle dynamic binding of proxies for objc correctly
  * zld: clean up memory management and refactor
  * Classify .m as ObjC, compile using clang and link with zld
  * zld: merge Stub with Dylib struct
  * zld: naively parse all dylib deps in stubs
  * zld: when parsing dylibs, allow multiple return values
  * zld: exclude libs part of the umbrella
  * zld: parse dylib's id from tbd
  * zld: put DICE and CodeSig load commands last
  * Apply AST fixes
  * zld: fix Dylib.Id parsing logic for string values

  [ Jacob G-W ]
  * langref: make @setRuntimeSafety more correct
  * stage2: implement @setRuntimeSafety

  [ Tom Maenan Read Cutting ]
  * Add fat/universal dylib support to zig ld

  [ xackus ]
  * mark tsan as linguist-vendored

  [ Isaac Freund ]
  * stage2: add --sysroot link option
  * std/build: add --sysroot general option

  [ Jakub Konka ]
  * zld: fix section mapping for Go specific sections

  [ Andrew Kelley ]
  * AstGen: fix O(N^2) perf for many decls with same parent

  [ Robin Voetter ]
  * Export isValidId, remove pub on unexported functions

  [ Emil Lerch ]
  * allow json scientific notation to coerce to integers as long as they actually resolve to int type

  [ Jakub Konka ]
  * zld: link against system libSystem.tbd

  [ Evan Haas ]
  * translate-c: Add documentation for `zig translate-c`

  [ g-w1 ]
  * stage2: fix unreachable in union(enum) with anytype payload

  [ Isaac Freund ]
  * std/fmt: add fmtDurationSigned

  [ J.C. Moyer ]
  * Include package root dir in stage2 error messages

  [ Andrew Kelley ]
  * Revert "Include package root dir in stage2 error messages"

  [ Jakub Konka ]
  * zld: frameworks do not need dylib ext on older macs
  * zld: recurse dylibs reexports when defined and desired
  * zld: if libSystem.dylib found, then need to link libc.dylib too
  * zld: remove system linker hack and lld hooks
  * zld: put all global symbols in the export trie
  * zld: we can now create basic dylibs targeting macOS!

  [ Tom Maenan Read Cutting ]
  * Add fat/universal archive support to zig ld

  [ Andrew Kelley ]
  * std add fs.File.setLock
  * stage2: Cache system handles shared objects
  * stage2: remove c_object_cache_digest_set
  * implement std.fs.File.setLock for Windows
  * std: implement a cross platform file locking abstraction
  * std.fs.File: update doc comments regarding locking

  [ Jakub Konka ]
  * Remove mention of lldMachO from the project

  [ Sreehari Sreedev ]
  * boot_services: allow custom MemoryTypes

  [ Nameless ]
  * std/os/uefi: fix packed struct bitfields

  [ Takeshi Yoneda ]
  * Add support for WASI reactor in pure Zig-exe. (#9178)
  * Fix test cases for stage2.

  [ Andrew Kelley ]
  * fix start code for WebAssembly

  [ kprotty ]
  * std.Thread: rewrite + extensions
  * changes to accomodate std.Thread update
  * std.Thread.getCpuCount(): fix usages
  * std.Thread: another typo fix
  * std.Thread: add tests + getCurrentId() returns ints when possible
  * std.Thread: fix some typos
  * std.Thread: even more typo fixes
  * std.Thread: fixup ThreadPool.zig
  * std.Thread: more compile error fixes
  * std.Thread: uh more typo fixes
  * std.Thread: typo fixes 2
  * std.Thread: more fixes
  * std.Thread: more typo fixes
  * std.Thread: fix futex thread spawning
  * std.Thread: fix futex test + thread errors
  * std.Thread: fix posix
  * std.Thread: more fixes
  * std.Thread: more cleanup & testing
  * std.Thread: fix tls 9386 linux typo
  * std.Thread: add CLONE_CHILD_SETTID to fix join()
  * std.Thread: non-zero child_tid to avoid racy join()
  * zig fmt

  [ Christopher Smyth ]
  * Add context to fatal OpenErrors

  [ LemonBoy ]
  * std: Catch and handle overflow in json parser

  [ Veikka Tuominen ]
  * stage2: fix `@asyncCall` parameter count

  [ kprotty ]
  * std.Thread: move linux detach code to inline asm

  [ J.C. Moyer ]
  * stage2: print valid filename in error messages

  [ Andrew Kelley ]
  * move "unreachable code" error from stage1 to stage2
  * stage1: get rid of the is_noreturn flag on IrInstSrc
  * AstGen: implement compile error for useless locals
  * AstGen: introduce 'reachableExpr' function
  * AstGen: fix missing compile error for unreachable `@TypeOf` argument
  * avoid calling into stage1 backend when AstGen fails
  * stage2: tokenizer: require null terminated source
  * stage2: improve compile errors from tokenizer
  * AstGen: pass more compile error tests
  * AstGen: detect redeclaration of function parameters
  * AstGen: cleanups to pass more compile error test cases
  * tokenizer: clean up invalid token error
  * compile errors test harness: support unknown file/line/column
  * stage2: improve AstGen FileNotFound error message
  * langref: fix test cases now that AST Lowering has priority
  * stage1: eliminate the IrInst base struct

  [ Takeshi Yoneda ]
  * WASI: include exec-model in cache state.

  [ kprotty ]
  * zig fmt

  [ Andrew Kelley ]
  * stage2: add the zig version to AstGen cache hash

  [ Nulo ]
  * CODE_OF_CONDUCT: change Freenode to Libera.chat

  [ leesongun ]
  * implement xoshiro256++ (#9298)

  [ Nulo ]
  * Link to the GPA now that it's on upstream

  [ Andrew Kelley ]
  * stage1: recursively resolve lazy values before hashing

  [ Martin Wickham ]
  * Better hashing, new asserts failing

  [ Andrew Kelley ]
  * stage1: resolve lazy values before comptime fn call

  [ Evan Haas ]
  * translate-c: Don't discard variables unless necessary

  [ Andrew Kelley ]
  * stage1: avoid incorrectly reading ZigValue data

  [ Martin Wickham ]
  * Remove debug checks, audit field accesses

  [ Jacob G-W ]
  * remove really weird debugging statement from stage1
  * stage2: add error note for comparing booleans with '||'

  [ Martin Wickham ]
  * Avoid some large copies for another second of time saved

  [ leesongun ]
  * Fix unexpected truncation behavior with comptime_int larger than u64 range (#9303)

  [ Jacob G-W ]
  * stage1 parser: update comments to match impl

  [ Carlos Zúñiga ]
  * Fixed builtin.Target -> std.Target

  [ Andrew Kelley ]
  * std.HashMap: add ensureUnusedCapacity and ensureTotalCapacity
  * std.builtin.panic: simpler default panic for stage2
  * stage2: implement `@panic` and beginnigs of inferred error sets

  [ Daniele Cocca ]
  * Skip over CRs at the end of multiline literals

  [ Andrew Kelley ]
  * stage2: get tests passing
  * Revert "Skip over CRs at the end of multiline literals"
  * stage2: fix if expressions on error unions
  * stage2: basic inferred error set support

  [ yetanothercheer ]
  * Fix indentation in langref.html.in

  [ Matt Knight ]
  * C backend: add/sub/mul wrapping for the C backend

  [ Andrew Kelley ]
  * C backend: cleanups to wrapping int operations

  [ Martin Wickham ]
  * Add support for NO_COLOR

  [ Jacob G-W ]
  * stage2 astgen: provide 3 more errors for invalid inline assembly

  [ Mr. Paul ]
  * Introduce Zig Test earlier in Language Reference

  [ g-w1 ]
  * stage2 type.zig: implement eql of error unions (#9334)

  [ jacob gw ]
  * initial plan9 boilerplate

  [ Jacob G-W ]
  * plan9 linker: make runnable binaries
  * plan9 linker: write symbol table
  * plan9 linker: do relocations
  * plan9 linker: produce an object file that can actually work!!!
  * plan9 linker: correct runtime vs file offset converting code
  * plan9 linker: use a global offset table
  * plan9 linker: remove panics and improve 64 bit support
  * stage2: include enough inline asm support for more plan9 syscalls
  * plan9 linker: remove unused stuff

  [ Frank Denis ]
  * Switch rand.DefaultPrng to Xoshiro256++ (#9301)

  [ Andrew Kelley ]
  * plan9 cleanups

  [ Jacob G-W ]
  * plan9 codegen, add tests

  [ Martin Wickham ]
  * Fix argument forwarding to LLVM on Windows

  [ Andrew Kelley ]
  * mingw-w64: add odbc32 and dbghelp def files

  [ Malcolm Still ]
  * Add waitid syscall on linux (#9335)

  [ Martin Wickham ]
  * Fix libc include directories for the MSVC target

  [ Takeshi Yoneda ]
  * wasi-libc: remove crt1.o as it's not WASI ABI compatible

  [ Andrew Kelley ]
  * stage1: avoid wasting padding with IR instruction tag

  [ Jacob G-W ]
  * stage2 plan9: add aarch64 support

  [ Martin Wickham ]
  * Rename IrInstSrc to Stage1ZirInst and IrInstGen to Stage1AirInst

  [ Kenta Iwasaki ]
  * io_uring: add sqe prep methods for epoll_ctl, poll_add, and poll_remove

  [ Jacob G-W ]
  * stage2 astgen: error for return outside of function scope
  * stage2: remove redundancy from error message

  [ Martin Wickham ]
  * Remove Stage1AirInst::owner_bb, use zir owner instead.

  [ Luna ]
  * ci: add scripts for netbsd

  [ Andrew Kelley ]
  * ci: netbsd fixups and general cleanup
  * ci: disable netbsd tarballs until the false positives stop

  [ Isaac Freund ]
  * std/hash_map: fix ensureUnusedCapacity() over-allocating

  [ Andrew Kelley ]
  * C backend: TypedefMap is now ArrayHashMap

  [ Luna ]
  * ci: enable netbsd tarballs

  [ Jacob G-W ]
  * fix doc comment in translate_c

  [ Jonathan Marler ]
  * clarify @bitSizeOf behavior

  [ leesongun ]
  * Fix bigint_shl (#9305)

  [ Jacob G-W ]
  * astgen: errors for shadowing in loop captures
  * astgen: errors for shadowing in if captures

  [ Ryan Liptak ]
  * Add NotDir as possible error for os.inotify_add_watch
  * Add inotify_rm_watch definition to c/linux.zig

  [ g-w1 ]
  * parser: require block in suspend expression

  [ Jakub Konka ]
  * zld: remove redundant codepaths
  * zld: clean up logic for creating mach header
  * zld: abstract away string table with fewer allocs
  * zld: abstract Symbol creation logic
  * zld: add Symbol.Stab and move nlist creation logic there
  * zld: use index to symbol in reloc
  * zld: coalesce symbols on creation
  * zld: resolve symbols in dylibs using new scheme
  * zld: allocate symbols using the new scheme
  * zld: reenable entire linker in the new scheme
  * zld: fix ast errors
  * zld: draft out splitting sections into blocks
  * zld: put relocs in a TextBlock
  *  zld: draft up final format of TextBlock
  * zld: convert section in linked list of TextBlocks
  * zld: refactor section into TextBlocks conversion
  * zld: create TextBlocks for tentative definitions
  * zld: parse relocs per generated TextBlock
  * zld: simplify relocation parsing
  * zld: move should_rebase logic into Symbol
  * zld: dealloc TextBlock if omitted
  * zld: update relocs and start prepping for segment allocs
  * zld: keep text blocks per segment,section pair
  * zld: save rebase and TLV offset as part of TextBlock
  * zld: allocate TextBlocks
  * zld: track symbols defined within TextBlock
  * zld: fix alloc alignment and resolve relocs
  * zld: re-enable all of linker after complete rewrite
  * zld: dedup symbols in the symbol table
  * zld: TextBlock needs to be written to an aligend offset too
  * zld: fix resolving TLV offset relocations
  * zld: turn logging off
  * zld: fix allocating tentative defs
  * zld: re-enable logging of TextBlocks
  * zld: populate sections from the top rather than from bottom
  * zld: correctly estimate TextBlock's alignment with
  * zld: ___dso_handle is regular at 0x100000000
  * zld: add basic Signed reloc resolution
  * zld: refactor nlist and reloc filtering logic
  * zld: fix parsing and resolving Signed relocs
  * zld: add DICE support mainly for x86_64-macos
  * zld: make addend i64 in Signed reloc
  * zld: map [section addr, first symbol) to a tracked TextBlock
  * zld: fix incorrectly worked out section size
  * zld: add temp basic handling of debugging stabs
  * zld: decommision use_lld for MachO
  * zld: error out if LTO is requested targeting Darwin
  * zld: invoke traditional linker if has LLVM as a temp measure
  * zld: remove StringTable abstraction
  * zld: move tracking binding for proxies into TextBlock
  * zld: reuse string table for symbol names
  * zld: thin out Relocation by not storing *TextBlock
  * zld: move TextBlock into standalone file

  [ Jonathan Marler ]
  * Add std.unicode.fmtUtf16le

  [ Daniele Cocca ]
  * src: return a null-terminated slice
  * Fix "unused local constant" error

  [ Jakub Konka ]
  * zld: draft symbol resolver on macho.nlist_64 only
  * zld: replace parsed reloc with a simple wrapper around macho.relocation_info
  * zld: simplify and move Relocations into TextBlock

  [ Jay Petacat ]
  * stage1: Fix OsOther by adding missing OsPlan9

  [ Jakub Konka ]
  * zld: adjust resolving relocs logic to the new approach
  * zld: correctly set n_sect for sections as symbols
  * zld: allocate TextBlocks and symbols
  * zld: fixup flush function
  * zld: fix committing stub info into final binary
  * zld: demote logging back to debug from warn
  * zld: fix incorrect global symbol collision check
  * zld: more fixes todo with symbol resolution
  * zld: allocate empty TextBlock for synthetic ___dso_handle
  * zld: migrate symbol mgmt to incremental backend
  * macho: clean up imports
  * zld: move contents of Zld into MachO module
  * macho: temporarily dupe a few linkedit fns so that traditional linker works

  [ Adam C ]
  * FIX typo in doc comment for std.math.hypot (#9413)

  [ Tizoner ]
  * fix style warning in json.zig

  [ Evan Haas ]
  * translate-c: Handle underscore when used as an identifier

  [ Isaac Freund ]
  * langref: remove incorrect statement on c_void

  [ Loris Cro ]
  * Fixed wrong "unable to load" error for non-existing import files

  [ Jakub Konka ]
  * macho: add export to the symbol resolver

  [ charlieman ]
  * std: remove dead code in std.os.read

  [ Jakub Konka ]
  * macho: add stub relocs when adding extern fn

  [ Andrew Kelley ]
  * stage2: rework AIR memory layout
  * stage2: update liveness analysis to new AIR memory layout
  * AstGen: remove unneeded field ref_start_index
  * stage2: update Liveness, SPIR-V for new AIR memory layout
  * stage2: first pass over codegen.zig for AIR memory layout
  * stage2: first pass over Module.zig for AIR memory layout
  * cmake: fix Liveness.zig file path
  * stage2: Air and Liveness are passed ephemerally
  * stage2: compile error fixes for AIR memory layout branch

  [ Jacob G-W ]
  * codegen: add FnResult type which is a Result that removes externally_managed
  * plan9 linker: make more incremental

  [ Andrew Kelley ]
  * CLI: add plan9 -ofmt help text
  * Sema: first pass reworking for AIR memory layout
  * Sema: add a strategy for handling costly source locations
  * stage2: remove ZIR instructions bool_and and bool_or
  * Sema: more AIR memory layout reworking progress
  * Sema: remove br_block_flat AIR instruction
  * Sema: AIR memory layout reworking for noreturn instructions
  * Sema: fix implementation of getTypeOf
  * Sema: finish reworking for AIR memory layout except switch
  * stage2: first pass at printing AIR/Liveness to text
  * stage2: codegen.zig updated to new AIR memory layout

  [ Luuk de Gram ]
  * Fix wasm-related compile errors:
  * Refactor entire wasm-backend to use new AIR memory layout

  [ Andrew Kelley ]
  * stage2: miscellaneous fixes for the branch

  [ Jacob G-W ]
  * plan9 linker: fix after testing

  [ Andrew Kelley ]
  * stage2: rework C backend for new AIR memory layout
  * Sema: memoize decl_val instructions when result is constant
  * stage2: ELF linking: avoid crashing for stupidly large functions
  * stage2: update LLVM backend to new AIR memory layout

  [ Jacob G-W ]
  * cbe: fix not (it is a ty_op, not un_op)

  [ Andrew Kelley ]
  * stage2: fix AIR not instruction (see prev commit)
  * stage2: wasm backend: update to latest naming convention

  [ Luuk de Gram ]
  * Debug info - Implement more instructions:
  * Implement switch_br dump

  [ Lewis Gaul ]
  * Get register_manager.zig tests to compile - use value '1' as mock Air.Inst.Index
  * Get codegen.zig to compile - use '{d}' format for Air.Inst.Index values

  [ Andrew Kelley ]
  * stage2: fix compile errors in LLVM backend

  [ Luuk de Gram ]
  * wasm: Resolve regressions, add intcast support
  * Resolve regressions

  [ Andrew Kelley ]
  * Sema: reimplement runtime switch
  * std.ArrayList: add missing assertion in appendSliceAssumeCapacity
  * stage2: switch: fix Sema bugs and implement AIR printing

  [ Jakub Konka ]
  * macho: use adapters to directly reference strtab

  [ Andrew Kelley ]
  * stage2: separate work queue item for functions than decls
  * stage2: C backend: implement support for switch_br AIR
  * stage2: C backend: fix ret AIR instruction
  * Liveness: fix br instruction not tracking its operand
  * codegen: fix lowering of AIR return instruction
  * stage2: disable wasm switch test case for now
  * std.Progress: revert to the older strategy
  * codegen: fix lowering of AIR br instruction
  * Sema: fix regression in merging error sets
  * stage2 tests: respect -Dskip-non-native for object formats

  [ Jakub Konka ]
  * macho: fix text block management
  * macho: add relocations for GOT cells

  [ Tau ]
  * Correct hasUniqueRepresentation for vectors

  [ Andrew Kelley ]
  * remove 'pe' object format

  [ Jakub Konka ]
  * macho: fix reloc generation for stubs and GOT entries
  * macho: fix bug when freeing Decl

  [ Frank Denis ]
  * std.crypto: handle the top bit in 25519.field.fromBytes64() (#9435)

  [ Biolunar ]
  * linux stdlib: fix definition of RW flags (#9428)

  [ Michal Ziulek ]
  * Fixed compile error: 'bMenu' needs to casted. (#9426)

  [ Jakub Konka ]
  * macho: fix memory leaks when emptying TextBlocks
  * macho: fix incorrect prealloc in traditional path
  * macho: sort nlists within object before filtering by type

  [ Evan Haas ]
  * translate-c: add framework for special-casing macros
  * translate-c: Handle ambiguous cast or call macro

  [ Jakub Konka ]
  * macho: assign and cache section ordinals upon creation

  [ Andrew Kelley ]
  * add -femit-llvm-bc CLI option and implement it
  * support -fcompiler-rt in conjunction with build-obj
  * fix double linking of compiler-rt symbols on wasm

  [ Alex Rønne Petersen ]
  * zig: -rdynamic now implies -fdll-export-fns unless the latter is explicitly set.

  [ David May ]
  * Docs fix array/pointer/slice type coercion section (#9392)

  [ Jakub Konka ]
  * macho: re-enable parsing sections into atoms

  [ Andrew Kelley ]
  * stage2: improvements towards `zig test`

  [ Luuk de Gram ]
  * wasm: Rewrite switch_br to use `br_table` instead
  * switchbr: When prongs are sparse values, use if/else-chain
  * Allow negative values
  * Support multi-value prongs
  * Re-enable switch test cases and fix regressions

  [ Andrew Kelley ]
  * stage2 llvm backend: implement assembly and ptrtoint

  [ Auguste Rame ]
  * Add vector support for @popCount

  [ Andrew Kelley ]
  * stage2 llvm backend: rename getLLVMType to llvmType
  * stage2 llvm backend: DeclGen and DeclFn have context field
  * stage2 llvm backend: implement llvmType for error union and slices

  [ Auguste Rame ]
  * ctz + clz
  * Doc fixes for clz + ctz

  [ Andrew Kelley ]
  * stage2 llvm backend improvements working towards `zig test`

  [ fn ⌃ ⌥ ]
  * Use -isysroot on Mojave too

  [ Takeshi Yoneda ]
  * Wasm,libc: fix wasm-ld failure in matching libc symbols.
  * WASI,libc: enable tests.

  [ Robin Voetter ]
  * Add @select
  * minimum/maximum builtins

  [ Andrew Kelley ]
  * stage2: improvements towards `zig test`

  [ Jarred Sumner ]
  * Add zld.id to list of files to skip

  [ Andrew Kelley ]
  * stage2: `zig test` now works with the LLVM backend
  * stage2: move call to populateTestFunctions() outside performAllTheWork()
  * stage2: add deinit for test_functions
  * llvm backend: LLVMGetNamedGlobalAlias requires a null terminated string
  * stage2: implement `@boolToInt`

  [ Meghan Denny ]
  * stage1: add c_longdouble mapping for s390x

  [ Lee Cannon ]
  * Add option to hide build command on compilation error to build_runner (#8513)

  [ Andrew Kelley ]
  * fix old references to verbose-ir to be verbose-air

  [ Austin Clements ]
  * Skip empty strings in std.fs.path.join function

  [ Evan Haas ]
  * translate-c: fix import path in translation failure comment
  * translate-c: add support for ChooseExpr
  * translate-c: handle floating point NAN and INFINITY macros

  [ Ominitay ]
  * Move fs.Walker to fs.Dir.Walker

  [ Andrew Kelley ]
  * CI: enable stage2 behavior test coverage

  [ Evan Haas ]
  * translate-c: handle signed array subscripts

  [ Zach Banks ]
  * std/ArrayList: Allow `ArrayList(u0)` to be created

  [ Matt Knight ]
  * add build dependency when linkerscript is a generated file

  [ Belhorma Bendebiche ]
  * stage1: Expand SysV C ABI support for small structs

  [ Mahdi Khanalizadeh ]
  * linux: add mknod and mknodat syscalls

  [ Michael Dusan ]
  * stage1: fix anon struct naming in certain cases

  [ Vincent Rischmann ]
  * std/c: add pthread_setname_np and pthread_getname_np
  * windows/kernel32: add LocalFree, SetThreadDescription and GetThreadDescription
  * windows: add wrappers for LocalFree, SetThreadDescription and GetThreadDescription
  * thread: implement setName/getName

  [ Andrew Kelley ]
  * stage2: more principled approach to comptime references
  * stage2: garbage collect unused anon decls

  [ joachimschmidt557 ]
  * stage2 codegen: genTypedValue for error unions and error sets

  [ Koakuma ]
  * Add freeAndExit() implementation for Linux/SPARCv9

  [ joachimschmidt557 ]
  * stage2 codegen: Implement genTypedValue for enums

  [ Andrew Kelley ]
  * stage2: fix hashing and comparison design flaw with Value
  * Sema: improved AIR when one operand of bool cmp is known
  * codegen: cmp lowering treats bools the same as unsigned int

  [ Jakub Konka ]
  * macho: don't store allocator in Object
  * macho: don't store allocator in Archive
  * macho: don't store allocator in Dylib instance
  * macho: don't allocate Objects on the heap
  * macho: don't allocate Archives on the heap
  * macho: don't allocate Dylib on the heap
  * macho: cleanup extracting objects from archives
  * macho: make CodeSignature accept allocator as param
  * macho: make Trie accept allocator as a param
  * macho: fix Trie and CodeSignature unit tests

  [ joachimschmidt557 ]
  * stage2 ARM: fix stack alignment

  [ Žiga Željko ]
  * fix help for ast-check command

  [ Luuk de Gram ]
  * wasm: Implement wrapping operands, add opcodes to wasm.zig
  * wasm: Test cases for wrap+intcast instructions
  * wasm: Implement optionals
  * wasm: Test cases for optionals

  [ Meghan ]
  * langref- fix use after block error code
  * langref- fix packed struct error code

  [ Jakub Konka ]
  * macho: add runaway section id when sorting sections

  [ Luuk de Gram ]
  * wasm: Resolve feedback (wrapping arbitrary int sizes)

  [ Andrew Kelley ]
  * Sema: implement comptime variables

  [ Jakub Konka ]
  * add standalone Objective-C enabled on macOS only

  [ Andrew Kelley ]
  * stage2: implement `@truncate`
  * stage2: ZIR encodes comptime parameters
  * move some behavior tests to the "passing for stage2" section

  [ N00byEdge ]
  * Make linux syscalls accessible with non-Linux target OS
  * Move iovec and log levels to bits/posix.zig

  [ Jakub Konka ]
  * std: check for overflow in writeCurrentStackTrace
  * Add -Denable-macos-sdk explicit flag to build.zig
  * macho: refactor tracking of referenced dylibs
  * macho: refactor management of section ordinals
  * macho: remove obsolete pack/unpack dylib ordinal fns

  [ Andrew Kelley ]
  * stage2: update ZIR for generic functions

  [ Evan Haas ]
  * translate-c: better codegen for pointer index by int literal

  [ Carlos Zúñiga ]
  * ci: remove extra zig directory in windows builds

  [ Andrew Kelley ]
  * stage2: rework runtime, comptime, inline function calls
  * stage2: basic generic functions are working

  [ joachimschmidt557 ]
  * stage2 Sema: Add error notes to unresolvable peer types
  * stage2 Sema: Resolve source locations of @TypeOf parameters
  * stage2 Sema: Resolve LazySrcLocs for bitwise and arithmetic exprs

  [ Jakub Konka ]
  * libstd: add ArrayHashMap.popOrNull function
  * Update x86_64-macos headers

  [ Andrew Kelley ]
  * stage2 generics improvements: anytype and param type exprs
  * stage2: std.mem.eql works now
  * stage2: implement generic function memoization

  [ Jakub Konka ]
  * Link system libc if natively linking frameworks on macOS

  [ Andrew Kelley ]
  * stage2: return type expressions of generic functions

  [ Chris Gregory ]
  * Make DynamicBitSet.iterator take self as const

  [ Evan Haas ]
  * translate-c: handle macros that cast to cv void

  [ Andrew Kelley ]
  * std.HashMap: fix getPtrAdapted. AstGen: fix fn param iteration
  * AstGen: fix function declarations
  * stage2: more debuggable panics
  * Sema: respect requiresComptime of function return types

  [ Ryan Liptak ]
  * Make mem.split and mem.tokenize generic instead of assuming u8
  * Update all usages of mem.split/mem.tokenize for generic version

  [ Andrew Kelley ]
  * stage2: fix generics with non-comptime anytype parameters
  * stage2: get rid of "unable to monomorphize function" error
  * stage2: fix return pointer result locations

  [ Klecko ]
  * linux: add missing FUTEX definitions

  [ Andrew Kelley ]
  * Sema: implement alloc_inferred_comptime

  [ Dimenus ]
  * include builtin & std packages in all defined packages

  [ FnControlOption ]
  * Re-enable 128-bit cmpxchg test

  [ Andrew Kelley ]
  * stage2: pass some pointer tests
  * stage2: pass some error union tests

  [ FnControlOption ]
  * Skip 128-bit cmpxchg test if CMPXCHG16B is not supported

  [ Takeshi Yoneda ]
  * review: use defined flag for oflags.

  [ Frank Denis ]
  * Ip4Address parser: reject 0-prefixed components (#9538)

  [ Jakub Konka ]
  * macho: fix linking of dylibs and frameworks
  * macho: add basic support for building iOS binaries
  * macho: fix parsing target string when linking against tbds
  * macho: swap out VERSION_MIN for BUILD_VERSION
  * macho: allow .simulator ABI when targeting Apple simulator env
  * Try audodetecting sysroot when building Darwin on Darwin
  * macho: deinit BuildVersion load command
  * macho: when targeting simulator, match host dylibs too
  * macho: add TAPI v3 parser
  * macho: simplify versioning logic for TAPI
  * macho: refactor stub parsing in Dylib
  * macho: move parsing logic for Object, Archive and Dylib into MachO

  [ Ryan Liptak ]
  * Update mem.split/mem.tokenize doc comments

  [ Jakub Konka ]
  * macho: simplify symbol management and resolution
  * macho: use array hashmaps for quick lookups
  * macho: exclude tentative def before checking for collision
  * macho: use ArrayHashMap.popOrNull where applicable

  [ Andrew Kelley ]
  * stage2 llvm backend: implement const inttoptr
  * compiler-rt: do not depend on `usingnamespace`
  * stage2 frontend improvements - `@ptrCast` and optionals
  * update_cpu_features tool: work around stage1 bug

  [ Jakub Konka ]
  * macho: don't cache unused link options

  [ Takeshi Yoneda ]
  * Use std.buuiltin instead of importing builtin
  * Add comment about compiletime check.

  [ Ryan Liptak ]
  * fs.Walker: Fix basename missing its first character for direct children of the initial directory
  * ComptimeStringMap: expose kvs array in returned struct
  * Improve fs.Walker test

  [ Ayende Rahien ]
  * Expose register_eventfd, register_eventfd_async, unregister_eventfd i… (#9449)

  [ Thom Chiovoloni ]
  * Fix darwin ulock usage on macOS (#9545)

  [ Meghan ]
  * std.fmt: add name of type in unsupport format string compile error

  [ Jakub Konka ]
  * macho: merge linkWithZld with flush
  * macho: move bit adding rpaths to common codepath
  * macho: don't embed codesig unless targeting aarch64-macos
  * macho: adhoc code sign binaries targeting aarch64-xxx-simulator
  * Fix AST and build errors

  [ Andrew Kelley ]
  * cmake: update to LLVM 13 rc1
  * update C header files to clang 13 rc1
  * update clang tools to 13 rc1
  * update target CPU features with LLVM 13 rc1 data
  * update CI scripts to llvm 13 rc1
  * update src/ to LLVM 13 rc1 API
  * add m68k musl (1.2.2) headers
  * add m68k glibc (2.33) headers

  [ Jakub Konka ]
  * macho: converge populateMetadata with populateMissingMetadata
  * macho: fix writeSymbolTable() function

  [ Andrew Kelley ]
  * update libcxx, libcxxabi, libunwind, and tsan to llvm 13 rc1

  [ Jakub Konka ]
  * macho: dedup setting entry point logic
  * macho: memorize if dyld_stub_binder was already resolved
  * macho: parse input files and libs in incremental
  * macho: use common codepath for resolving dyld_stub_binder
  * macho: resolve undefs in incremental properly
  * macho: remove redundant writeStubHelperCommon codepath

  [ Andrew Kelley ]
  * update libcxx to latest llvm release/13.x

  [ Robin Voetter ]
  * Add mask before truncating dereferenced bit pointers (#9584)

  [ Jacob G-W ]
  * stage2: fix typo
  * stage2: add error set type equality

  [ Meghan ]
  * std.fmt: add support for printing slices strings (#9562)

  [ Justin Whear ]
  * std.rand.Random: add enumValue() (#9583)

  [ Jacob G-W ]
  * stage2 x86_64: enable bitwise and + or and add tests
  * stage2: implement shr and boilerplate for shl
  * stage2: implement shl

  [ Andrew Kelley ]
  * Revert "Add mask before truncating dereferenced bit pointers (#9584)"

  [ Ryan Liptak ]
  * fs.Dir.walk: Do not close the initial dir during/after walking it

  [ Jakub Konka ]
  * macho: track unresolved externs globally
  * macho: extract logic for creating and tracking atoms into fn

  [ Isaac Yonemoto ]
  * enables user-custom code to work with LI and SI

  [ Samadi van Koten ]
  * Add std.io.Reader.readUntilDelimiter()

  [ Paul ]
  * Make clearer inline code blocks in language reference paragraphs (#9317)
    (Closes: #9316, #6313)

  [ Tom Maenan Read Cutting ]
  * Resolve order-of-call dependencies in build.zig

  [ bnprks ]
  * Clarify async/await language documentation.

  [ Dmitry Matveyev ]
  * std.json: Add support for recursive objects to std.json.parse (#9307)

  [ joachimschmidt557 ]
  * stage2 ARM: add lsl, lsr, asr, ror psuedo-instructions

  [ rgreenblatt ]
  * Fix issue where root.os.panic could return

  [ joachimschmidt557 ]
  * stage2 ARM: implement bitshifting for 32-bit integers
  * stage2 ARM: add test cases for bit shifts

  [ Andrew Kelley ]
  * stage2: field type expressions support referencing locals

  [ joachimschmidt557 ]
  * stage2 ARM: Implement loading from memory
  * stage2 codegen: re-allocate result register in finishAir

  [ Jonathan Marler ]
  * Add compstui.def

  [ Andrew Kelley ]
  * stage2: support comptime fn call returning type

  [ Jakub Konka ]
  * macho: create an explicit symbol and atom for dyld entry in __data

  [ Takeshi Yoneda ]
  * build: allow specifying -mexec-model flag.

  [ Tamas Kenez ]
  * Fix args when calling clang::ASTUnit::LoadFromCommandLine.

  [ Michael Dusan ]
  * dragonfly: port libc++

  [ Jakub Konka ]
  * macho: create __stub_helper preamble atom

  [ Evan Haas ]
  * translate-c: allow string literals to be used as `char *`

  [ Veikka Tuominen ]
  * translate-c: avoid repeating string in type when making it mutable

  [ Aydin Mercan ]
  * linux: Add recent clone/clone3 and missing signalfd flags.

  [ Martin Wickham ]
  * Add a flag to build a single-threaded compiler, for debugging

  [ Jakub Konka ]
  * macho: implement aarch64 prong of createStubHelperAtom

  [ Jonathan Marler ]
  * mingw.zig: fix logic to add crt sources

  [ Jakub Konka ]
  * macho: incrementally write dyld_private and stub_helper atoms

  [ Andrew Kelley ]
  * stage2: fix wrong value for Decl owns_tv
  * stage2: comptime function with the same args is memoized

  [ Jacob G-W ]
  * stage2 Air: add struct_field_ptr_index_{0..3}

  [ Richard Eklycke ]
  * Fix typo introduced in 50a29f7

  [ daurnimator ]
  * std.os: (p)writev should perform partial writes if iov.len > IOV_MAX

  [ William Stein ]
  * Trivial typo "for for" --> "for" (also a few nearby run-on sentence). (#9610)

  [ Nguyễn Gia Phong ]
  * Update comment: s/var/anytype/ (#9611)

  [ Jakub Konka ]
  * macho: add routine for creating a dynamic stub_helper atom
  * macho: add routine for creating lazy pointer for stub
  * macho: fix writing stubs (on x86_64 only) and lazy ptrs
  * macho: add routine for creating stubs in __stubs section

  [ Andrew Kelley ]
  * stage1: `@intToEnum` implicitly does an `@intCast`

  [ Frank Denis ]
  * Don't define valgrind_support on macOS (#9612)

  [ Andrew Kelley ]
  * std: [breaking] move errno to become an nonexhaustive enum

  [ Jakub Konka ]
  * macho: port stub and lazy ptr atoms to stage2

  [ lucky ]
  * add scrypt kdf (#9577)

  [ Frank Denis ]
  * BoundedArray: a simple way to represent small data whose max size is known (#9134)

  [ Takeshi Yoneda ]
  * wasm: pass --export-dynamic to wasm-ld for WASI reactors. (#9605)

  [ Jakub Konka ]
  * macho: rewrite populateLazyBindOffsetsInStubHelper to use atoms

  [ Koakuma ]
  * Linux/SPARCv9: account for branch delay in freeAndExit()
  * Linux/SPARCv9: use C calling convention for restore_rt

  [ Jakub Konka ]
  * macho: use existing rebase mechanism to rebase lazy pointers

  [ Andrew Kelley ]
  * remove redundant license headers from zig standard library
  * fix stage2 test cases expecting wrong line numbers
  * stage1: remove incorrect compile error for var redeclaration

  [ Jakub Konka ]
  * macho: add routine for creating Got atoms
  * macho: generalise free list usage to all sections
  * macho: add GOT entries as actual atoms
  * macho: fix text atom allocation
  * macho: save lazy binding info as part of the atom
  * macho: fix stub writing in self-hosted setting
  * macho: write all atoms in flush so that we can resolve relocs

  [ joachimschmidt557 ]
  * stage2 ARM: Add qadd, qsub, qdadd, qdsub instructions

  [ Jakub Konka ]
  * macho: port mechanism for allocating symbols within atoms

  [ Lee Cannon ]
  * Rework build system `build_options` API (#9623)

  [ Jakub Konka ]
  * macho: preactively add zerofill sections in correct order
  * macho: merge __common with __bss section
  * macho: keep actual file offset for zerofill sections separately
  * macho: remove sorting sections and refactor atom parsing in objects

  [ Robin Voetter ]
  * Don't use .none_or_ref for for(expr)
  * Store to mutable pointer in analyzeRef
  * Make slice always return a reference

  [ Andrew Kelley ]
  * declarations may collide with primitives with @"" syntax
  * AstGen: allow locals with same name as primitives with `@""` syntax
  * stage2: delete keywords `true`, `false`, `undefined`, `null`
  * update libcxx, libcxxabi, and C headers to release/13.x branch
  * AstGen: pre-scan all decls in a namespace

  [ Isaac Freund ]
  * AstGen: short-circuit rvalue() if code is unreachable

  [ jdmichaud ]
  * zig fmt: respect trailing commas in inline assembly

  [ Veikka Tuominen ]
  * translate-c: remove now unnecessary mangling of primitive type shadowing

  [ Andrew Kelley ]
  * AstGen: fix incorrectly using decl_val/decl_ref

  [ Meghan Denny ]
  * stage2/sema: clarify todo arithmetic operator error
  * stage2: implement runtime `%` and `@rem`

  [ Jakub Konka ]
  * macho: add first pass at allocating parsed atoms in objects

  [ Boo ]
  * Fix float formatting for 0.0 when precision is 0 (#9642)

  [ joachimschmidt557 ]
  * stage2 codegen: Remove use of usingnamespace

  [ Martin Wickham ]
  * Add comptime memory tests

  [ Lee Cannon ]
  * Print enum values for build options in help output (#9650)

  [ Meghan Denny ]
  * stage2: add `@rem` tests to llvm and c backends

  [ Jacob G-W ]
  * stage2: add array concatenation

  [ fn ⌃ ⌥ ]
  * std.hash_map: add getKey methods (#9607)

  [ Jacob G-W ]
  * stage2 llvm backend: if an array has a senteniel, add it
  * add string concat test to basic.zig from misc.zig!
  * stage2: add array mult `**`
  * stage2: move array mult test from basic.zig to misc.zig!

  [ Andrew Kelley ]
  * re-enable all the MIPS tests

  [ Meghan ]
  * stage2: only initialize the llvm backend for the target we are building (#9659)

  [ joachimschmidt557 ]
  * stage2 ARM: add missing parameters for bic, bics

  [ Philipp Lühmann ]
  * fix typo

  [ Jakub Konka ]
  * macho: fix allocating sections within segment when parsing objects
  * macho: do not reset section's size after allocating atom

  [ Andrew Kelley ]
  * CI: update Linux and macOS tarballs to LLVM 12.0.1

  [ Sebastian Ullrich ]
  * libunwind: fix unwinding through libunwind stack frames

  [ Philip Åkesson ]
  * std: Use truncating cast in WIFSTOPPED for Linux, FreeBSD and DragonFly

  [ Andrew Kelley ]
  * stage2: update LLVM backend to for LLVM 13

  [ Jakub Konka ]
  * macho: clean up allocating atom logic
  * macho: fix condition for checking available size for an atom

  [ travisstaloch ]
  * saturating arithmetic builtins: add, sub, mul, shl (#9619)

  [ Andrew Kelley ]
  * AstGen: fix "missing function name" error
  * AstGen: fix "missing function name" error

  [ Evan Haas ]
  * stdlib: Add Intel HEX support to InstallRawStep
  * stdlib: Add test for generating HEX files.

  [ Jan Philipp Hafer ]
  * compiler_rt: add __clzdi2 and __clzti2

  [ Jakub Konka ]
  * macho: minor refactor of const namings
  * macho: fix calculating file offset for atom when allocating

  [ Andrew Kelley ]
  * stage2: libcxx: logic for skipping OS-specific files
  * re-enable mips behavior tests for vectors

  [ Jakub Konka ]
  * macho: better spec for sections which don't require padding

  [ Andrew Kelley ]
  * std.os reorganization, avoiding `usingnamespace`
  * std: reorganize std.c to eliminate `usingnamespace`
  * std.os.linux: remove the "bits" namespace altogether
  * std.os: more reorganization efforts
  * std.os: fix FILENO constants mapped to wrong values
  * std.os.windows: reorg to avoid `usingnamespace`
  * std: reorganization that allows new usingnamespace semantics
  * stage2: first pass at implementing usingnamespace
  * move syntax tests out of behavior tests
  * std, compiler-rt: remove test names where applicable
  * stage2: update for new usingnamespace semantics
  * rename std.zig.ast to std.zig.Ast; use top-level fields
  * std: fix regressions from this branch

  [ Evan Haas ]
  * translate-c: emit compileError for undefined identifiers in macros

  [ Andrew Kelley ]
  * disable slow scrypt tests

  [ Evan Haas ]
  * translate-c: improve handling of undefined identifiers
  * translate-c: Only consider public decls in isBuiltinDefined

  [ Andrew Kelley ]
  * docgen: syntax blocks don't actually run the code
  * langref: new usingnamespace semantics
  * std.os fixes to get the test suite passing again
  * std.os reorg: more fixes caught by CI
  * std: dirent is not part of posix
  * re-apply a commit dropped in this branch due to conflicts
  * std.os reorg: regression fixes to stack_t, and std.Thread

  [ Evan Haas ]
  * translate-c: translate valueless macros as empty strings
  * translate-c: rename import_builtin to import_c_builtin

  [ Andrew Kelley ]
  * AstGen: update std.zig.{ast,Ast}
  * fix regression on linux with kernel_timespec

  [ Jakub Konka ]
  * macho: implement basic section movement and reallocation
  * macho: remove all Zld codepaths
  * macho: remove obsolete mentions of stage1
  * macho: minor fixes to allow the linker to output malformed stage1
  * macho: dirty export trie when adding globals

  [ FnControlOption ]
  * std.hash_map: add StringIndexAdapter and StringIndexContext
  * AstGen: use string index as key for string table

  [ Jakub Konka ]
  * macho: dyld info subsections need to follow in strict order

  [ Alex Rønne Petersen ]
  * link: Recognize -z origin|noexecstack|now|relro linker args.

  [ Jakub Konka ]
  * macho: unfortunately, LINKEDIT commands NEED to be in order
  * macho: add a small routine to update section ordinals at the end
  * macho: add logic for segment expansion
  * macho: encaps logic for extract sect offset into fn
  * macho: fix noninclusion of data-in-code
  * macho: require atom padding for machine code only
  * macho: allocate sections one after the other and grow if needed
  * macho: set and reset file offset to zerofill sections in flush
  * macho: make sure that parsed bss atoms are zero-filled

  [ Takeshi Yoneda ]
  * stdlib: fix ChildProcess.killPosix

  [ Jacob G-W ]
  * std: update event loop for recent usingnamespace changes
  * add standalone test for issue #9693

  [ Jakub Konka ]
  * macho: update max section alignment when inserting atoms

  [ Andrew Kelley ]
  * langref: update link to 0.8.1 docs

  [ Jakub Konka ]
  * macho: fix commands.zig tests

  [ Jonathan Marler ]
  * Fix building aarch64-windows-gnu by adding missing libc files and compiler_rt functions (#9555)

  [ Jakub Konka ]
  * macho: fix alignment of atoms which begin the section

  [ Sébastien Marie ]
  * openbsd: event loop: use EVFILT_TIMER instead of EVFILT_USER

  [ Jacob G-W ]
  * plan9: change output executable name

  [ Martin Wickham ]
  * Fix libc file to check against compilation target instead of native (#9670)

  [ Jonathan Marler ]
  * changes to build zig-bootstrap aarch64-windows

  [ Jakub Konka ]
  * macho: store source section address of relocs in context

  [ Andrew Kelley ]
  * ci: add 0.8.1 release to download page

  [ Jonathan Marler ]
  * finalize windows_sdk paths based on snickler suggestions

  [ Jakub Konka ]
  * macho: use smaller padding until we have branch islands on arm64

  [ Sébastien Marie ]
  * openbsd: readapt event loop after usingnamespace changes

  [ FnControlOption ]
  * cmake: also check Homebrew install paths when looking for LLVM

  [ Jakub Konka ]
  * macho: precompute total required size when parsing objects
  * macho: padToIdeal each parsed section size before storing
  * macho: don't allocate atoms when parsing objects

  [ lucky ]
  * reexport crypto/phc_encoding (#9712)

  [ Jakub Konka ]
  * macho: properly adjust section sizes
  * macho: init process of renaming TextBlock to Atom

  [ Martin Wickham ]
  * Fix unmatched close brace in zir dump

  [ Jakub Konka ]
  * macho: write adjacent atoms to in-memory buffer

  [ Luuk de Gram ]
  * Fix compile error for p256 scalar arithmetic (#9715)

  [ Mr. Paul ]
  * Improve HTML semantics and a11y of language reference

  [ Jakub Konka ]
  * macho: rename blocks to atoms in Object.zig
  * macho: change all occurrences of TextBlock into Atom

  [ Andrew Gutekanst ]
  * link: fix invalid file path used when cross-compiling for Windows -> Mac

  [ Jakub Konka ]
  * macho: enable tracy in more places within the linker
  * macho: insert rpaths upon parsing

  [ Silver ]
  * std: publicize ArrayListUnmanaged.allocatedSlice to match ArrayList

  [ Andrew Gutekanst ]
  * Address feedback
  * Fix same issue with dir/sysroot dir concatenation with includes on Windows

  [ Kenta Iwasaki ]
  * os: usingnamespace fixes for std.x.os.Socket and std.os.TCP

  [ Jakub Konka ]
  * macho: split resolveSymbols into standalone functions
  * macho: fix incremental compilation

  [ lucky ]
  * fix missing paths (#9754)

  [ Jakub Konka ]
  * macho: fix logic for updating exports in incremental codepath
  * macho: use the cache system to know if need to relink objects

  [ Andrew Kelley ]
  * update libunwind to llvm release/13.x
  * stage2: implement Value.copy for structs and unions
  * stage2: Type/Value use an enum rather than usize
  * stage2: add array_to_slice AIR instruction
  * stage2: fix incorrect spelling of AtomicOrder

  [ Jakub Konka ]
  * macho: disable splitting sections into atoms in release

  [ Philipp Lühmann ]
  * zig fmt: Keep callconv(.Inline) on function pointer types

  [ Jonathan Marler ]
  * add functions to decode an epoch timestamp (#9040)

  [ Jacob G-W ]
  * plan9 linker: fix for 32 bit

  [ Travis Martin ]
  * Remove WIN16 version of WSAOVERLAPPED. Use LPWSAOVERLAPPED_COMPLETION_ROUTINE

  [ Andrew Kelley ]
  * stage2: implement cmpxchg and improve comptime eval

  [ Jakub Konka ]
  * macho: when adding extern fn, check if already resolved

  [ Andrew Kelley ]
  * ci: azure: update to newer msys2 release

  [ Michal Ziulek ]
  * Added implementation for _fseeki64 and _ftelli64 from mingw-w64 9.0.0 (#9402). (#9766)

  [ Jonathan Marler ]
  * azure pipeline fix removal of recently run exe

  [ Andrew Kelley ]
  * stage2: implement `@fence`
  * update install_raw_hex standalone test for llvm13

  [ Jonathan Marler ]
  * fix __chkstk on aarch64

  [ Andrew Kelley ]
  * stage2: implement `@atomicRmw` and `@atomicLoad`
  * stage2: fix "cmpxchg with ptr" test case

  [ Kirjastonhoitaja ]
  * net.Address: Fix writing 0-bytes when formatting Unix addresses

  [ Ryan Liptak ]
  * std.unicode: cleanup allocations on error in allocating functions

  [ Stephen Gregoratto ]
  * Set the Storage socket sizes to be system defined

  [ Jakub Konka ]
  * macho: implement object relinking in stage2

  [ Žiga Željko ]
  * stage2 Module: fix for 32 bit

  [ Stephen Gutekanst ]
  * std/special: fix 'zig test --test-evented-io

  [ Andrew Kelley ]
  * move behavior test to "passing for stage2" section
  * build: make -Dskip-stage2-tests not build stage2
  * ci: linux: enable LLVM stage2 tests
  * build.zig: support -Duse-zig-libcxx
  * zig cc: support -S and -emit-llvm CLI parameters
  * ci: go back to passing state for linux
  * stage2: implement `@setAlignStack` and 128-bit cmpxchg
  * stage2: fix global variables with inferred type
  * stage2: improve LLVM backend for enums

  [ Jakub Konka ]
  * elf: add a couple missing special section indexes SHN_

  [ Andrew Kelley ]
  * ci: update to new sourcehut access token

  [ Jens Goldberg ]
  * Add Linux ioctl creation utilities (#9748)

  [ Jacob G-W ]
  * plan9: emit line debug info in codegen
  * plan9 linker: add free lists for got_index and sym_index
  * plan9 linker: get ready to delete allocateDeclIndexes

  [ Ryan Liptak ]
  * std.fifo.LinearFifo: ensureUnusedCapacity and ensureTotalCapacity
  * std.PriorityQueue: ensureUnusedCapacity and ensureTotalCapacity
  * std.PriorityDequeue: ensureUnusedCapacity and ensureTotalCapacity
  * Update all ensureCapacity calls to the relevant non-deprecated version
  * Improve ensureTotalCapacity call in ChildProcess.collectOutputWindows

  [ Jakub Konka ]
  * elf: add amd64 relocation types

  [ Andrew Kelley ]
  * stage2: implement `@atomicStore`

  [ Robin Voetter ]
  * Address spaces: addrspace(A) parsing
  * Address spaces: AstGen
  * Address Spaces: Sema basics
  * Address spaces: Forbid addrspace and linksection for local variables
  * Address Spaces: x86 segment address spaces in builtin
  * Address Spaces: decl_ref, *?T => *T, and *(E!T) -> *T
  * Address Spaces: Return proper address space for &x[y]
  * Address Spaces: Disallow coercing pointers to different address spaces
  * Address Spaces: Default align, linksection & addrspace for anon decls
  * Allow x.y when x is a pointer
  * Address Spaces: Return proper address space for &x.y
  * Address Spaces: zig fmt + tests
  * Address Spaces: Implement right address space for slicing
  * Address Spaces: Address space on local variable test
  * Address Spaces: Pointer coercion errors tests
  * Address Spaces: compiles() test cases
  * Address Spaces: Move stage 2 tests to stage2/llvm.zig
  * Address Spaces: Chaining tests
  * Address Spaces: Implement in LLVM codegen
  * Address Spaces: fmt a bunch of stuff
  * Address Spaces: Smol fixup
  * Address Spaces: Render addrspace token in docgen
  * Address Spaces: Pointer and function info in @Type
  * Address Spaces: Adapt compile error test cases to @Type with address spaces
  * Address Spaces: Split out stage2 address llvm tests to individual cases
  * Address Spaces: basic system to check for validity.
  * Address Spaces: Restructure llvmAddressSpace a bit
  * Address Spaces: LLVM F segment address space test
  * Address Spaces: Yeet address space on function prototypes
  * Address Spaces: Fix comments in Ast.zig

  [ Malcolm Still ]
  * I'm working on a WebAssembly interpreter in zig. WebAssembly uses LEB128 encoding throughout its specification.

  [ Martin Wickham ]
  * Fix compiler builds with tracy on the mingw target

  [ Ali Chraghi ]
  * Update `hash` & `crypto` benchmarks run comment (#9790)

  [ Rory O’Kane ]
  * langref: define the inferred error set syntax more explicitly

  [ HugoFlorentino ]
  * adding support for UTF-8 output

  [ Travis Martin ]
  * Fix compile error in WindowsCondition.wait()

  [ Jacob G-W ]
  * plan9 linker: link lineinfo and filenames

  [ Andrew Kelley ]
  * stage2: implement comptime `@atomicRmw`
  * stage2: extract ZIR printing code into print_zir.zig
  * stage2: implement comptime bitwise nand
  * stage2: improve handling of 0 bit types

  [ Mr. Paul ]
  * docgen: re-enable syntax checking for code blocks

  [ Ryan Liptak ]
  * tokenizer: Fix index-out-of-bounds on string_literal_backslash right before EOF

  [ Veikka Tuominen ]
  * stage2: implement cImport
  * stage2: implement typeInfo for more types
  * stage2: various fixes to cImport, sizeOf and types to get tests passing

  [ Andrew Kelley ]
  * Sema: fix double-free of `@cImport` error message

  [ Jakub Konka ]
  * macho: do not write temp and noname symbols to symtab
  * macho: fix incorrect segment/section growth calculation

  [ Andrew Kelley ]
  * stage2: free Sema's arena after generating machine code

  [ Isaac Freund ]
  * std.build: fix handling of -Dcpu

  [ Vincent Rischmann ]
  * io_uring: implement read_fixed/write_fixed

  [ Andrew Kelley ]
  * stage2: enable f16 math
  * stage2: fix unsigned integer to signed integer coercion
  * stage2: progress towards ability to compile compiler-rt

  [ Robin Voetter ]
  * big ints: 2s complement signed xor

  [ Coleman Broaddus ]
  * FIX resize() for non u8 element types. (#9806)

  [ Ryan Liptak ]
  * tokenizer: Fix index-out-of-bounds on unfinished unicode escapes before EOF

  [ Martin Wickham ]
  * Make stage2 start.zig work on Windows
  * Remove reference to stage2_os
  * Fix failing tests and windows link dependencies

  [ Andrew Kelley ]
  * stage2: remove 2 assertions that were too aggressive

  [ Robin Voetter ]
  * big ints: 2s complement signed or

  [ Andrew Kelley ]
  * stage2: fix AstGen for some struct syntaxes

  [ Robin Voetter ]
  * big ints: 2s complement signed and + or fixes

  [ Hadrien Dorio ]
  * stage2: enhance `zig init-lib` and `zig init-exe`

  [ Robin Voetter ]
  * big ints: only write xor overflow if required

  [ Martin Wickham ]
  * Stage2: Implement comptime closures and the This builtin (#9823)
  * Fix the failing "bad import" test on Windows

  [ Koakuma ]
  * Linux/sparc64 bits: Add missing C type definitions

  [ Michael Dusan ]
  * ci linux: bump qemu-6.1.0.1

  [ Andrew Kelley ]
  * stage2: prepare for building freestanding libc
  * stage2: LLVM backend: improved naming and exporting
  * stage2: enable building freestanding libc with LLVM backend

  [ Josh Soref ]
  * Spelling corrections (#9833)

  [ joachimschmidt557 ]
  * stage2 codegen: move bit definitions to src/arch

  [ Martin Wickham ]
  * Fix error references across inline and comptime functions

  [ Stephen Gregoratto ]
  * Resolve scope IDs using IPv6 sockets
  * Initial bringup of the Solaris/Illumos port

  [ Andrew Kelley ]
  * stage2: implement `@memset` and `@memcpy` builtins

  [ xackus ]
  * os.flock: FreeBSD can return EOPNOTSUPP

  [ Andrew Kelley ]
  * stage2: implement `@sizeOf` for non-packed structs
  * stage2: implement zirCoerceResultPtr

  [ Mr. Paul ]
  * Langref: fix HTML escaped symbol WASM JavaScript code example

  [ Andrew Kelley ]
  * stage2: implement basic unions
  * ci: azure: run build steps independently to save ram
  * stage2: implement union coercion to its own tag
  * ci: fix typo introduced in earlier commit

  [ Martin Wickham ]
  * Stage 2: Support inst.func() syntax (#9827)

  [ rgreenblatt ]
  * improve panic hierarchy by always using builtin.panic

  [ Matthew Borkowski ]
  * deflate.zig: fix bits_left overflow at EndOfStream and @intCast truncation with empty Huffman table

  [ Andrew Kelley ]
  * stage2: more arithmetic support

  [ Travis Staloch ]
  * sat-arithmetic: add operator support
  * sat-arithmetic: add c backend support
  * sat-arithmetic: correctly tokenize <<|, <<|=
  * sat-arithmetic: fixups zig fmt / astcheck
  * sat-arithmetic: fix docgen
  * sat-arithmetic: update langref
  * sat-arithmetic: langref - remove syntax disclaimer
  * sat-arithmetic: add additional tokenizer tests
  * sat-arithmetic: langref - use <th> tags
  * sat-arithmetic: minor formatting changes
  * sat-arithmetic: fix shl methods in cbe
  * sat-arithmetic: create Sema.analyzeSatArithmetic
  * sat-arithmetic: don't test builtins in behavior tests
  * get build passing again after rebase

  [ Andrew Kelley ]
  * add missing zig fmt test for saturating arithmetic
  * AstGen: delete dead code
  * saturating arithmetic modifications
  * saturating arithmetic supports integers only
  * AstGen: improved logic for nodeMayNeedMemoryLocation
  * stage2: implement `@clz` and `@ctz`
  * stage2: enable building compiler_rt when using LLVM backend
  * stage2: put use_llvm and use_stage1 into the Module cache hash
  * Sema: generic function instantiations gain addrspace of owner Decl
  * move some behavior tests to the "passing for stage2" section
  * stage2: LLVM backend: implement struct type fwd decls
  * stage2: LLVM backend: properly set module target data
  * stage2: fix ELF linking to include compiler_rt

  [ Matthew Borkowski ]
  * parse.zig: better c pointer prefix parsing, don't index out of bounds on eof

  [ Martin Wickham ]
  * Add a panic handler to give better errors for crashes in sema
  * Add error message to test runner for bad arguments

  [ g-w1 ]
  * stage2: implement array_init instruction (#9843)

  [ Jacob G-W ]
  * stage2 llvm backend: implement codegen for Value.repeated

  [ Nathan Michaels ]
  * Fix a typo in @ceil documentation.

  [ Andrew Kelley ]
  * fix the list of llvm libraries
  * clang API bindings: fix enum detection functions
  * libcxx: update to compile with -std=c++20

  [ pfg ]
  * Add line numbers to langref (fixes #9870)
  * fix line numbers on multiline strings, add line numbers to peg grammar
  * fix style in th

  [ Jacob G-W ]
  * stage2: emit Value.repeated for `**` where the array size is one

  [ pfg ]
  * fix fmt

  [ Andrew Kelley ]
  * ci: update tarballs for LLVM 13
  * ci: update windows tarballs to llvm 13
  * ci: macos arm64 script uses release build of zig
  * ci: windows: workaround for `tar` symlink behavior
  * libcxx: pass -faligned-allocation flag when needed
  * ci: windows: adjust tar workaround
  * ci: update macos tarballs

  [ Ryan Liptak ]
  * deflate: Better Huffman.construct errors and error handling

  [ Andrew Kelley ]
  * ci: windows: update `tar` command line parameter order
  * std: disable ArrayBitSet test on aarch64

  [ Ryan Liptak ]
  * deflate: Update fuzzed test cases and add InvalidTree test cases

  [ Matthew Borkowski ]
  * print_zir.zig: always print 1-based line and column numbers
  * astgen.zig: pass lbrace line and column to addFunc to keep source cursor increasing monotonically
  * astgen.zig: make switchExpr generate cases in source order to keep source cursor increasing monotonically
  * astgen.zig: have defer scopes cache source cursor to reduce redundant scanning during genDefers
  * astgen.zig: assert that advanceSourceCursor never has to rewind cursor
  * astgen.zig formatting

  [ Andrew Kelley ]
  * build.zig: update list of LLVM libs
  * build.zig: omit LLVMTableGen from the llvm lib list

  [ Martin Wickham ]
  * Add zlib to needed libraries

  [ Nathan Michaels ]
  * Document some functions in std.math.

  [ Martin Wickham ]
  * Fix namespace references for deeply nested structs
  * Fix rendering of type names
  * Fix decl removal from namespace when destroyed
  * Fix ownership of array type and elements
  * Improve debug names of decls
  * Implement hashing and equals for some pointer values
  * Fix abortAnonDecl()
  * Resolve struct fields in a separate sema context
  * Declare generic fn dependency earlier to keep invariant
  * Remove my dumb "namespace decl" hack
  * Revert collateral changes, clarify abortAnonDecl()
  * Change *Scope to *Scope.Block, use Sema when required
  * Delete Module.Scope, move Block into Sema
  * Remove address of pointer

  [ pfg ]
  * fix incorrectly escaped html
  * fix grammer file name and .y file type
  * fix the erroring tests

  [ Andrew Kelley ]
  * AstGen: fix if, orelse, catch, with unreachable bodies
  * AstGen: fix `while` and `for` with unreachable bodies
  * stage2: Type: fix eql impl for error unions
  * C backend: fix lowering of struct, float, and slice constants

  [ pfg ]
  * switch back to peg for the grammar type

  [ Andrew Kelley ]
  * C backend: fix lowering of struct types

  [ pfg ]
  * fix assuming multiline string tokens end with '\n'

  [ Andrew Kelley ]
  * C backend: improved Decl name lowering

  [ Robin Voetter ]
  * big ints: split lladd/llsub into carry variants
  * big ints: 2s complement truncate
  * Update Value.intTrunc to use new big int truncate
  * big ints: addWrap, subWrap + fix Managed.truncate allocation size
  * Comptime wrapping addition/subtraction
  * big ints: Basic wrapping multiplication
  * big ints: unify add/sub with their wrapping variants
  * big ints: setTwosCompIntLimit
  * big ints: saturating addition
  * big ints: implement normal/wrapping/saturating subtraction in terms of addition
  * big ints: [add|sub]Wrap tests
  * big ints: [add|sub]Sat tests
  * Adapt Type.minInt and maxInt to use setTwosCompLimit
  * Adapt Value.intAddSat and intSubSat to new big int saturating functions
  * big.int: truncate tests
  * big ints: Improve karatsuba multiplication
  * big ints: Allow llmulaccum to wrap
  * big ints: Wrapping multiplication
  * big ints: saturate() function
  * big ints: saturate() tests
  * big ints: Some extra comments
  * big ints: mulWrap tests
  * Apply new big int wrap/saturate to Value.zig
  * fmt
  * big ints: Fix tests for 32-bit architectures

  [ Andrew Kelley ]
  * stage2: fix Type max/min int calculation

  [ alichraghi ]
  * add phi constant

  [ Matthew Borkowski ]
  * deflate.zig: check for distances past beginning of output stream

  [ Mr. Paul ]
  * langref: Explain Zig Test

  [ Michael Dusan ]
  * ci drone: enable more testsuite

  [ Alex Rønne Petersen ]
  * zig test: Add a --test-no-exec flag.

  [ Sreehari Sreedev ]
  * FileProtocol: add Reader, Writer, SeekableStream

  [ Andrew Kelley ]
  * stage2: fix comptime `@bitCast`
  * migrate from `std.Target.current` to `@import("builtin").target`
  * add support for f128 `@mulAdd`

  [ Jacob G-W ]
  * stage2: analyzeSliceLen on comptime slices

  [ Andrew Kelley ]
  * stage1: work around LLVM's buggy fma lowering
  * freestanding libc: export fmal
  * freestanding libc: don't rely on compiler_rt symbols we don't have yet
  * stage2: LLVM backend: miscompilation fixes
  * move tagged union behavior tests to the appropriate place
  * stage2: implement runtime `@intToEnum`
  * stage2: enum fixes
  * GitHub: add issue templates for bugs and proposals
  * GitHub: fix yaml issue with bug report template
  * GitHub: slight change of wording on the proposal issue template

  [ Matthew Borkowski ]
  * print_zir.zig: fill in remaining stubs

  [ Andrew Kelley ]
  * stage2: implement array literal with explicit type
  * AstGen: make array literals work like struct literals
  * stage2: fix comptime_float negation
  * stage2: fix returning structs byval from functions
  * stage2: add --debug-compile-errors CLI option

  [ tgschultz ]
  * Better documentation, use of `len` field instead of function, @bitSizeOf instead of meta.bitCout

  [ Lee Cannon ]
  * add test step to build.zig generated by init-exe (#9919)

  [ Michael Dusan ]
  * dragonfly: port std.Thread.setname/getname
  * housekeeping: return error.Unsupported

  [ Matthew Borkowski ]
  * stage2: fix astgen for anytype union fields and differentiate anytype vs inferred void in semaUnionFields
  * stage2: add astgen errors for untyped union fields and union field values without inferred tag type

  [ Koakuma ]
  * SPARCv9: Fix freeAndExit implementation
  * Linux: fix socket constants for SPARCv9
  * SPARCv9: fix timeval definition

  [ Sizhe Zhao ]
  * rand: remove workaround for issue #1770

  [ Andrew Kelley ]
  * translate-c: fix logic for checking primitive names
  * stage2: support nested structs and arrays and sret
  * stage2: LLVM backend: fix var args function calls

  [ pfg ]
  * update ci script to not error for empty elements

  [ Andrew Kelley ]
  * stage2: fix comptime stores and sentinel-terminated arrays

  [ Jakub Konka ]
  * macho: redo relocation handling and lazy bind globals

  [ Andrew Kelley ]
  * stage2: LLVM backend: fix crash adding alloca
  * Sema: implement comptime `coerce_result_ptr` and `alloc`
  * stage2: implement Sema for elemVal for comptime slice
  * stage2: implement opaque declarations
  * stage2: remove use of `builtin.stage2_arch` workaround
  * stage2: improve handling of 0-bit types and arrays
  * move behavior tests that are passing for stage2
  * stage2: improved union support
  * stage2: implement `@minimum` and `@maximum`, including vectors
  * stage2: LLVM backend: implement `wrap_optional` AIR

  [ Sizhe Zhao ]
  * std.os.windows: Fix typo (#9951)

  [ Miles Alan ]
  * Fix bug where std.math.asinh64 doesn't respect signedness for negative values (#9940)

  [ travisstaloch ]
  * Sat shl neg rhs (#9949)

  [ Andy Fleming ]
  * Adds tip about testing stdlib files to CONTRIBUTING.md (#9946)

  [ joachimschmidt557 ]
  * stage2 AArch64: move codegen to separate file

  [ Andrew Kelley ]
  * std.os: add workarounds for stage1 `@minimum` implementation
  * std.os: another workaround for stage1 `@minimum` behavior
  * stage2: make hasCodeGenBits() always true for pointers
  * stage2: optional comparison and 0-bit payloads

  [ Meghan ]
  * stage2: `@hasDecl` is passing

  [ Robin Voetter ]
  * big ints: Saturating left shift + tests
  * stage2: comptime saturating shl
  * big ints: Fix set(signed int minimum) panic

  [ Meghan Denny ]
  * elevate more passing tests

  [ Andrew Kelley ]
  * stage2: fixes to extern variables
  * Sema: coercion from error sets to `anyerror`

  [ Lee Cannon ]
  * Add build.zig and command line flags
  * stage1 codegen
  * stage2 - add llvm bindings to create attributes with string values
  * stage2 codegen

  [ Andrew Kelley ]
  * stage2: add haveFieldTypes() assertions

  [ Stephen Gregoratto ]
  * Linux: Update syscall numbers for 5.14

  [ Robin Voetter ]
  * big.int: 2s-complement binary wrapping not
  * stage2: bitNot
  * stage2: array->vector coercion
  * stage2: vector constants
  * stage2: make zirBoolNot return undefined when argument is undefined

  [ LemonBoy ]
  * std: Fix endless loop in fmt impl

  [ Jonathan Marler ]
  * actually fix child process deadlock on windows

  [ Robin Voetter ]
  * ci: disable macos stage 2 tests

  [ Max Hollmann ]
  * Move `compareFn` from init to type constructor in `PriorityQueue` and `PriorityDequeue`. This change significantly improves performance for simple compare functions and modifies the API to be more consistent with e.g. `HashMap`.

  [ Andrew Kelley ]
  * stage2: implement error wrapping
  * stage2: fix handling of error unions as return type
  * stage2: LLVM backend: lower constant field/elem ptrs
  * stage2: implement `@embedFile`
  * stage2: implement coercion from null to C pointer

  [ Meghan Denny ]
  * alphebetize behavior tests
  * stage2: implement `@hasField` struct and union are kept in stage1 because struct/unionFieldCount are returning zero

  [ Andrew Kelley ]
  * Sema: resolveTypeFields before accessing type fields

  [ Matthew Borkowski ]
  * astgen.zig: fix false positive in breakExpr's checking for store_to_block_ptr

  [ Andrew Kelley ]
  * coff linking: honor the link_libunwind flag
  * stage2: fix coercion of error set to error union

  [ Sizhe Zhao ]
  * src/link/C/zig.h: Fix indent

  [ Matthew Borkowski ]
  * astgen.zig: fix emitting wrong error unwrapping instructions in tryExpr
  * translate_c: prevent a while under an if from stealing the else

  [ Jakub Konka ]
  * macho: fix LLVM codepaths in self-hosted linker

  [ Robin Voetter ]
  * stage2: restructure Sema.fieldVal and sema.fieldPtr
  * stage2: air ptr_slice_len_ptr and ptr_slice_ptr_ptr
  * stage2: Sema.fieldPtr for slice ptr and len
  * stage2: zirIndexablePtrLen for non-pointer types
  * stage2: remove AstGen none_or_ref
  * stage2: add Value.the_only_possible_value
  * stage2: make (typeHas)OnePossibleValue return the right value
  * stage2: union field value

  [ Andrew Kelley ]
  * stage2: implement union member access as enum tag
  * stage2: wasm: implement struct_field_val
  * stage2 minor cleanups
  * stage2: implement switching on unions
  * stage2: LLVM backend: implement switch_br

  [ Stéphan Kochen ]
  * translate-c: create `inline fn` for always_inline

  [ Andrew Kelley ]
  * stage2: fix inline assembly with expression output
  * AstGen: make the index variable of `inline for` a `alloc_comptime`
  * stage2: implement big int to float conversion
  * stage2: LLVM backend: fix decls sometimes not marked alive
  * Sema: fix missing copy in array multiplication
  * stage2: implement slicing

  [ Robin Voetter ]
  * stage2: forbid double dereference in Sema.elemVal
  * stage2: remove ptr_ptr_elem_val and ptr_slice_elem_val
  * stage2: elemPtr for slices
  * stage2: comptime elemVal and elemPtr for Many/C pointers

  [ Jonathan Marler ]
  * distinguish between unexpected child process exit code and unclean exit
  * InstallRawStep: handle empty segments

  [ Robin Voetter ]
  * stage2: truncation

  [ Andrew Kelley ]
  * stage2: more division support
  * stage2: fix Value.copy not copying arrays
  * stage2: implement comptime loads through casted pointers
  * Sema: fix type checking of `@intToFloat` operands
  * stage2: LLVM backend: add a missing setUnnamedAddr
  * Sema: resoveTypeLayout resolves optionals and error unions too

  [ Jakub Konka ]
  * macho: dump linker's state as JSON

  [ Andrew Kelley ]
  * zig libc: export floorl and ceill
  * stage2: change `@bitCast` to always be by-value
  * stage2: fix Decl addrspace being undefined
  * Sema: fix a couple use-after-free bugs
  * stage2: slice and alignment fixes
  * stage2: implement aligned variables and `@alignCast`
  * stage2: LLVM backend: fix optional_payload instructions

  [ Michael Byrne ]
  * Minor rewording of "Shadowing" section within language reference

  [ Aaron Sikes ]
  * Fix std.builtin.Version build option formatting
  * Ensure any custom printing here remains valid zig syntax
  * Fix enums with non-ident fields
  * Allow arbitrary arrays in build options
  * Allow arbitrary slices as build options
  * Better erroring for unsupported build option types

  [ Matthew Borkowski ]
  * astgen.zig: fix nodeMayEvalToError

  [ Robin Voetter ]
  * big ints: improve division

  [ Matthew Borkowski ]
  * astgen.zig: when ret's operand ResultLoc is .ptr, load from ret_ptr before is_non_err or err_union_code

  [ Robin Voetter ]
  * big ints: fix divFloor
  * big ints: Make calcLimbLen always work at comptime, even if parameter is runtime
  * big ints: tighten some more division memory requirements

  [ Andrew Kelley ]
  * stage2: implement more C pointer Sema and comptime ptr arith

  [ LemonBoy ]
  * std: Fix edge case in TLS tp calculation

  [ Matthew Borkowski ]
  * astgen.zig: emit ZIR for callconv before return type in fnDecl and fnProtoExpr

  [ LemonBoy ]
  * stage1/stage2: Simplify divTrunc impl
  * libc: Export truncl

  [ Jakub Konka ]
  * macho: remove unresolved ref in the correct place

  [ Isaac Freund ]
  * std.log: simplify to 4 distinct log levels

  [ Andrew Kelley ]
  * stage2: refactor coercePeerTypes and fix C ptr cmp with null

  [ Jakub Konka ]
  * std: disable big.rational setFloat targeting wasm32

  [ Robin Voetter ]
  * Revert 83bdbb2 and a587dd0 (#10028)

  [ ominitay ]
  * Fix documentation for Random.int

  [ Andrew Kelley ]
  * AstGen: move nodeMayEvalToError logic for builtins
  * Sema: implement coercion from pointers to `*c_void`

  [ Robin Voetter ]
  * stage2: improve slicing
  * stage2: comptime slice of pointer to hardcoded address
  * stage2: generate correct constants for zero-sized arrays

  [ Stephen von Takach ]
  * fix(uefi MemoryDescriptor): padding after memory type

  [ Andrew Kelley ]
  * stage2: fix switch on tagged union capture-by-pointer
  * Sema: fix switch that covers full integer range

  [ Robin Voetter ]
  * stage2: runtime c pointer null comparison
  * stage2: return proper pointer for c pointer orelse
  * stage2: fix use-after-free in analyzeBlockBody

  [ Daniele Cocca ]
  * Don't call render_const_val_array() on undefined

  [ Robin Voetter ]
  * astgen: generate correct switch prong indices

  [ Andrew Kelley ]
  * Sema: fix coercion from union to its own tag
  * Sema: improved C pointers and casting

  [ Matthew Borkowski ]
  * astgen.zig: don't add scopes for extern functions params as they may shadow other names

  [ Andrew Kelley ]
  * Sema: fix ret_ptr when inlining

  [ Jonathan Marler ]
  * multi_array_list: get function take self by value

  [ Lewis Gaul ]
  * Fix bug in exp2() (#9999)

  [ Andrew Kelley ]
  * stage2 LLVM backend: fix bitcast

  [ Matthew Borkowski ]
  * parse.zig: report error for extern fn with body

  [ Andrew Kelley ]
  * stage2: fix crash report code in release builds
  * stage2: implement runtime pointer access to global constants

  [ LemonBoy ]
  * stage1: Fix path normalization on Windows

  [ Ominitay ]
  * std.rand: Refactor `Random` interface

  [ Andrew Kelley ]
  * stage2: fix small memory leak of test_functions when using `zig test`
  * Compilation: fix crash in the compile error system
  * zig test: when -ofmt=c, default to `zig run` as test exec
  * std.ArrayListUnmanaged: implement writer()
  * C backend: emit decls sorted by dependencies
  * C backend: fix enough that zig test works
  * behavior tests: add "passing for C backend" category
  * C backend: fix ptrtoint and wrap_errunion_err
  * C backend: fix crash when number of Decls passes a threshold
  * C backend: fix `@boolToInt`
  * C backend: implement trunc instruction
  * C backend: implement trunc for unsigned non-pow2 ints

  [ InKryption ]
  * Make pointer variables in ( init-lib | init-exe )/build.zig const. (#10057)
  * Use `debug.assert` instead of `testing.expect`.
  * Make `std.meta.trait.isContainer` true for opaques

  [ Kenta Iwasaki ]
  * zig: expose linker options and include '-z notext'

  [ Andrew Kelley ]
  * CLI: clarify help text for -z

  [ ominitay ]
  * Add argument for `fillFn` to `Random.init`

  [ Matthew Borkowski ]
  * gpa: fix memory limit accounting for large allocations

  [ Andrew Kelley ]
  * stage2: implement `@popCount` for non-vectors

  [ pfg ]
  * std: add missing termios def to std/c/linux.zig

  [ Emily Bellows ]
  * C backend: implement signed trunc

  [ joachimschmidt557 ]
  * stage2 AArch64: begin transition to MIR
  * stage2 AArch64 Emit: implement call_extern and load_memory
  * stage2 AArch64: implement emit debug line info
  * stage2 AArch64: introduce Emit.fail for handling errors in MIR emit

  [ Lee Cannon ]
  * make tracy.zig more feature complete
  * add functionality to trace allocations
  * use named frames to mark the stages of compilation
  * watch marks a new frame on every recompilation

  [ Jakub Konka ]
  * stage2: move x86_64 codegen to arch/x86_64/CodeGen.zig

  [ Lee Cannon ]
  * optimize AstGen.callExpr

  [ Ryan Liptak ]
  * std.ArrayList: add ensureTotalCapacityPrecise and update doc comments
  * Update ensureTotalCapacity to ensureTotalCapacityPrecise where it makes sense

  [ Matthew Borkowski ]
  * astgen.zig: avoid temporary allocations in arrayInit* and structInit*, callExpr, errorSetDecl, typeOf, and builtinCall's compile_log branch
  * astgen.zig: avoid unnecessary allocation in identifier for @"" syntax
  * astgen.zig: simplify switchExpr and collect payload in one ArrayList instead of three
  * astgen.zig: replace WipDecls with WipMembers, use one allocation to collect container decls, fields, and bits, instead of up to four
  * astgen.zig: simplify container functions by pulling out common processing of members
  * astgen.zig: use scratch buffer for temporary allocations in switchExpr and WipMembers
  * astgen.zig: delay adding closure_capture instructions to preserve GenZir nesting. Only containers create Namespaces, so the declaring_gz is always the GenZir passed to containerDecl, and containerDecl will always add exactly one instruction (an extended *_decl) to that GenZir. Thus, closure_capture instructions are always lined up immediately after a container decl instruction, so rather than adding them at the point of first mention, where we're nested arbitrarily deep, simply walk through the Namespace captures hash map at the end of each containerDecl branch and add them then.
  * astgen.zig: avoid temporary allocations by sharing the `instructions` ArrayList between a GenZir and its sub-blocks wherever their use of it is strictly nested

  [ Lee Cannon ]
  * correct bug with omit frame pointer logic

  [ joachimschmidt557 ]
  * stage2 AArch64: implement unconditional branches

  [ Ryan Liptak ]
  * Fix ensureTotalCapacity calls that should be ensureUnusedCapacity calls

  [ Andrew Kelley ]
  * std: add Linux perf syscall bits
  * std: expose rusage constants under rusage namespace

  [ Michael Dusan ]
  * ci: add new linux pipeline

  [ Emily Bellows ]
  * C backend: implement ?void, and other zero sized types

  [ joachimschmidt557 ]
  * stage2 RISCV64: move codegen to separate file

  [ Daniele Cocca ]
  * Add more entries to the list of stage1+stage2+CBE passing tests (#10094)

  [ LemonBoy ]
  * compiler-rt: Fix f16 API declarations to be consistent

  [ Ryan Liptak ]
  * Replace ArrayList.init/ensureTotalCapacity pairs with initCapacity

  [ LemonBoy ]
  * std: Fix path resolution on Windows

  [ joachimschmidt557 ]
  * stage2 RISCV64: introduce MIR

  [ Matt Knight ]
  * don't invoke linker when just building an object

  [ joachimschmidt557 ]
  * stage2 ARM: move codegen to separate file

  [ Frank Denis ]
  * crypto/edwards25519: correctly flip the Y sign in the H2C operation

  [ Andrew Kelley ]
  * ci: don't print env because there will be secrets there

  [ Jakub Konka ]
  * stage2 x86_64: add MIR->Isel lowering step for x86_64

  [ Michael Dusan ]
  * ci: fully activate ci.ziglang.org linux

  [ Emily Bellows ]
  * C backend: while, struct tests, better undefined global handling
  * C backend: restore handling of .NoReturn in function signature

  [ Andrew Kelley ]
  * tools/gen_stubs.zig: better error message on invalid input

  [ Jacob G-W ]
  * add initial plan9 support to std
  * fix outputs in inline assembly
  * plan9: more syscalls
  * plan9: add test for std

  [ Vincent Rischmann ]
  * os/linux/io_uring: implement statx

  [ Gregory Anders ]
  * std: ppoll: cast number of fds to nfds_t

  [ Martin Hafskjold Thoresen ]
  * Cmake: Specify LLVM versions

  [ Silver ]
  * std: Publicize Allocator.reallocBytes

  [ Jonathan Marler ]
  * add pathJoin to builder
  * Omit array type for pathJoin calls

  [ Andrew Kelley ]
  * stage2: add 4 new linker flags for WebAssembly

  [ Žiga Željko ]
  * stage1: fix type mapping for integers and c_longdouble on nvptx

  [ Andrew Kelley ]
  * CI: additionally run stage2 behavior tests with -ofmt=c
  * remove 2 duplicated behavior tests from struct_llvm.zig

  [ Zen1th ]
  * stage2: Implement Sema.floatToInt (#10097)
  * stage2: Add support for floats in the C backend (#10059)

  [ Andrew Kelley ]
  * io_uring: skip statx test failure on older kernels
  * std.Thread.Mutex: change API to lock() and unlock()
  * Sema: implement coerce_result_ptr for optionals
  * wasm: respect stack_size_override for build-obj and build-lib

  [ Jakub Konka ]
  * macho: use start.zig for macOS entrypoint

  [ Thomas Ives ]
  * C backend:  Improve lowering of Zig types to C types

  [ joachimschmidt557 ]
  * stage2 AArch64: implement airCmp
  * stage2 AArch64: implement genSetReg for condition flags
  * stage2 AArch64: implement airCondBr

  [ Jacob G-W ]
  * x86_64/Emit: don't misisel push/pop for extended regs
  * c codegen: fix airIsNull with pointers

  [ Hiroaki Nakamura ]
  * std.os.linux: Add cancel and io_uring_prep_cancel
  * Use io_uring_prep_rw in io_uring_prep_cancel

  [ Jakub Konka ]
  * macho,snapshots: fix how relocs are split

  [ joachimschmidt557 ]
  * stage2 AArch64: split Instruction.ldr into ldr and ldrLiteral
  * stage2 AArch64: add new load/store from/to stack MIR instructions

  [ Jakub Konka ]
  * macho: invalidate relocs after relinking relocatables

  [ Kenta Iwasaki ]
  * io_uring: add poll_update

  [ lucky ]
  * add argon2 kdf (#9756)

  [ Daniele Cocca ]
  * CBE: memset(..., 0xaa, ...) undefined values

  [ Gregory Anders ]
  * BoundedArray: add appendAssumeCapacity

  [ Al Hoang ]
  * update compilation includes for haiku
  * add fork case for haiku
  * updates for haiku stdc
  * ensure zig fmt
  * update mmap flags, use defines
  * haiku constants cleanup and update

  [ Luuk de Gram ]
  * Stage2: wasm - Implement the MIR pass (#10153)

  [ lucky ]
  * update docs (#10150)

  [ J.C. Moyer ]
  * mingw-w64: add missing file frexp.c to mingwex.lib

  [ xavier ]
  * test: add a standalone test for mixing c, zig, threadlocal and build modes.
  * build: workaround link error with LTO and mingw

  [ Andrew Kelley ]
  * pre-merge cleanups

  [ Chris Heyes ]
  * Json Stringify option to not write out null optional fields (#8979)

  [ Lewis Gaul ]
  * Fix copy-paste error that results in incorrect results from exp64()

  [ Ominitay ]
  * Add `chmod` and `chown`

  [ Vincent Rischmann ]
  * os/linux: fix rlimit_resource for mips/sparcv9
  * os: fix getrlimit/setrlimit test for MIPS

  [ Andrew Kelley ]
  * libcxx: disable redundant new/delete definitions
  * tests: disable LTO for windows until issues can be resolved
  * disable LTO by default on Windows when linking libc++

  [ mlarouche ]
  * Fix linking errors with floorl on MSVC by including math.h in a .cpp file. floorl is a force inline function defined in a header thus not visible for the linker.

  [ Andrew Kelley ]
  * stage2: equality compare optional with non-optional

  [ Marc Tiehuis ]
  * std/json: use bit-stack for nesting instead of large LLVM integer type

  [ Jonathan Marler ]
  * add print field to RunStep

  [ LemonBoy ]
  * stage1: Fix caching of LLVM builtin fns

  [ drew ]
  * C backend: basic big ints, fix airPtrToInt, array references, pointer arithmetic UB with NULL, implement airPtrElemPtr/Val, fix redundant indirection/references with arrays
  * fmt
  * small changes + align tests obviously shouldn't have passed
  * make it more clear we should do UB wrapping optimizations for ptr arithmetic
  * add additional negative big int constant test case
  * fix assumption where all positive big ints are unsigned
  * simplify things
  * add generics behavior test
  * fix array airStoreUndefined for arrays
  * cast -> cast_llvm, cast_c -> cast (doesn't work on LLVM backend)
  * correct misnamed variables caused by copy-paste

  [ Drew P ]
  * fix tests failing on stage2 release modes due to setRuntimeSafety not being recognized
  * typo

  [ Andrew Kelley ]
  * stage2: LLVM backend: memset to 0xaa for undefined stores

  [ joachimschmidt557 ]
  * stage2 ARM: Introduce MIR

  [ Vincent Rischmann ]
  * io_uring: implement register_files_update

  [ Daniele Cocca ]
  * childType: add optional_single_{mut,const}_pointer
  * CBE: mark align.zig and error.zig as passing

  [ Felix "xq" Queißner ]
  * Fixes invalid errno definition for ***-linux-android

  [ Kenta Iwasaki ]
  * compiler_rt: disable spinlocks for atomic instrinsics for bpf

  [ Jakub Konka ]
  * stage2: use correct register alias for mem operands
  * macho: sync .variable decl handling with elf linker

  [ Jacob G-W ]
  * stage2 x86_64 codegen: don't count return registers as callee-preserved
  * x86_64/Emit: implement restoring callee_preserved_registers
  * add tests for previous commit

  [ Jakub Konka ]
  * stage2,x86_64: fix genBinMathOp and clarify callee-saved regs
  * stage2,x86_64: revert fixing callee preserved regs
  * stage2: re-enable all tests

  [ Andrew Kelley ]
  * std.builtin.StackTrace: format() workaround on freestanding

  [ Al Hoang ]
  * haiku follow up cleanup of constants

  [ Rohlem ]
  * std.bounded_array: fix `self` parameter type in `constSlice`

  [ Dante Catalfamo ]
  * Add OpenBSD termios constants to std.c.openbsd (#10178)

  [ Meghan ]
  * std: add `writer` methods on all crypto.hash types (#10168)

  [ joachimschmidt557 ]
  * stage2 RISCV64: implement basic function prologue and epilogue

  [ Evan Haas ]
  * translate-c: Allow negative denominator in remainder (%) operator

  [ Ali Chraghi ]
  * add `NotLink` error (#9877)

  [ Andrew Kelley ]
  * stage2: default dynamic libraries to be linked as needed

  [ Evan Haas ]
  * translate-c: coerce boolean results to c_int when negated

  [ Jakub Konka ]
  * stage2: add x86_64 NOP MIR inst and lowering
  * stage2: ensure 16byte stack alignment on macOS x86_64

  [ Luuk de Gram ]
  * wasm: Linker - emit stack pointer
  * wasm: Implement emulated stack
  * wasm: Implement structs stored on the stack
  * wasm: Implement error unions as well as returning them
  * wasm: Implement optionals and ensure correct alignment
  * wasm: Fix text cases and add pointer test cases

  [ Dante Catalfamo ]
  * Change darwin c.VMIN -> c.V.MIN to match Linux

  [ J.C. Moyer ]
  * compiler_rt: export floorf, floor, and floorl

  [ Trioct ]
  * Fix type error for u8 in writeIntSlice

  [ Andrew Kelley ]
  * zig cc: add -ffunction-sections integration
  * zig cc: add -fcolor-diagnostics and -fcaret-diagnostics integration

  [ Robin Voetter ]
  * sema: function (pointer) in-memory coercion
  * sema: move error set coercion to coerceInMemoryAlloed
  * sema: error union in-memory coercion

  [ Andrew Kelley ]
  * stage2: fix the build for 32-bit architectures
  * ci: add coverage for building stage2 for arm-linux-musleabihf

  [ Robin Voetter ]
  * stage2: move some tests which are now passing

  [ Stephen Gutekanst ]
  * add support for compiling Objective-C++ code (#10096)

  [ Jakub Konka ]
  * zld: add missing Tbdv3 fields to the declarative struct
  * zld: parse []TbdV3 before TbdV3
  * zld: parse ObjC ivars and eh_types in tapi v3 and v4

  [ Lewis Gaul ]
  * Add std.meta.Float, alongside std.meta.Int

  [ Stephen von Takach ]
  * feat(uefi): add virtual addressing helpers (#10195)

  [ Kirk Scheibelhut ]
  * stage1: improve packed struct array padding error message

  [ Andrew Kelley ]
  * add more alignment behavior test coverage
  * Sema: fix alignment of type-inferred locals

  [ Jakub Konka ]
  * zld: resolve frameworks in BFS order
  * zld: handle -current_version and -compatibility_version

  [ Hiroaki Nakamura ]
  * Merge pull request #10151 from hnakamur/zig

  [ Marc Tiehuis ]
  * std/math: add ldexp and make scalbn an alias

  [ Scibuild ]
  * C backend: errors and optionals

  [ Andrew Kelley ]
  * C backend: avoid branching multiple times on AIR tag
  * AstGen: use reachableExpr for return operand
  * stage2: add test coverage for `@embedFile` outside package path
  * stage2: add cleanup logic for EmbedFile

  [ Kurt Kartaltepe ]
  * Coff linker: Add IMPLIB support
  * Coff Linker: Pass extra lld args

  [ Andrew Kelley ]
  * stage2: remove extra_lld_args
  * stage2: proper `-femit-implib` frontend support
  * stage2: support LLD -O flags on ELF
  * stage2: fix cleanup code for `@import` errors

  [ tjohnes ]
  * zig fmt: fix formatting for single-line containers with comments

  [ Andrew Kelley ]
  * stage2: fix unwrap function call with optional pointer return value
  * build system: add --debug-log advanced option to build runner
  * Cache: add debug log statement
  * stage2: fix logic for default -femit-implib path

  [ Jakub Konka ]
  * add libc headers for all supported macOS versions
  * infer and match macos sdk version for libc headers
  * Pass inferred cpu_arch to defaultVersionRange
  * Autofetch macOS SDK if native target on macOS only
  * Skip detecting native libc dirs on darwin
  * Version libSystem shipped with zig toolchain
  * libstd: fix bug in std.Thread.Futex selecting incorrect default macOS version

  [ joachimschmidt557 ]
  * stage2 RISCV64: remove MCValue.compare_flags_(un)signed

  [ Andrew Kelley ]
  * stage2: better error message when copying artifacts fails
  * stage1: fix exporting enums
  * mingw-w64: add glu32 def files

  [ Fabio Arnold ]
  * std.mem.indexOfPos should return start_index when needle length is zero (#10220)

  [ Jakub Konka ]
  * bpf: do not invoke lld when linking eBPF relocatables
  * macos: always use Zig shipped libc headers when no native SDK
  * macos: detect SDK path and version, then pass to the linker
  * macho: define __mh_execute_header as a linker synthetic global
  * macos: do not trigger CLT installation popup when using zig cc

  [ Isaac Freund ]
  * std.system: fix slice bounds in preadMin()

  [ Andrew Kelley ]
  * zig cc: support -Bdynamic and -Bstatic parameters
  * zig cc: honor all -m and -mno- CPU feature flags
  * mingw-w64: patch to silence implicit-function-declaration warnings
  * mingw-w64: add wsock32 def files

  [ chwayne ]
  * zig fmt: Fix performance issue with nested arrays (#10224)

  [ Andrew Kelley ]
  * zig build: add each_lib_rpath property
  * Sema: fix analyzeBlockBody logic
  * stage2: implement `@typeName`

  [ Luuk de Gram ]
  * wasm-linker: Upstream zwld into stage2
  * wasm-linker: Resolve relocations
  * wasm-linker: Link into binary during flush

  [ Jacob G-W ]
  * initial implementation of print_mir
  * interleave Air instructions and tags in printing Mir instructions

  [ Jakub Konka ]
  * Add missing macOS libc headers

  [ Luuk de Gram ]
  * wasm: Add temporary stage2 entrypoint for wasm
  * wasm: Implement slices
  * wasm-link: Implement indirect function table
  * wasm: Implement 'zig test'

  [ Jakub Konka ]
  * macho: fix parsing addend for non-extern SIGNED_X reloc
  * macho: save all undef symbols even if null
  * Force static libncurses in CMakeLists when static zig on macos

  [ Luuk de Gram ]
  * wasm: Update wasm stage2 test backend to use 'main'

  [ Jakub Konka ]
  * macho: POINTER_TO_GOT signals a need for a GOT entry

  [ Stephen Gutekanst ]
  * compiler_rt: implement __isPlatformVersionAtLeast (Objective-C @available expressions) for Darwin (#10232)

  [ Andrew Kelley ]
  * AstGen: require binary operations to have reachable operands

  [ Jan Philipp Hafer ]
  * compiler_rt: add __popcountsi2, __popcountdi2 and __popcountti2

  [ Andrew Kelley ]
  * std: add workaround for failing io_uring test
  * update libc linux headers to v5.16-rc3
  * add clang_argv to stage1 cache hash
  * I found some more passing behavior tests
  * improve behavior test coverage for overflow arithmetic
  * std lib API deprecations for the upcoming 0.9.0 release
  * Revert "I found some more passing behavior tests"

  [ Jakub Konka ]
  * macho: ignore undefined symbols marked for discarding
  * macho: move nlist_64 type/flags helpers to std.macho
  * macos: rewrite logic for generating stack traces on macOS
  * macos: remove >= 0x10000000 assertion when printing stack traces

  [ Andrew Kelley ]
  * remove linux header files that have case conflicts
  * github issues: add a honeypot template for questions
  * put the passing stage2 behavior tests back

  [ Lee Cannon ]
  * allocgate: std Allocator interface refactor
  * allocgate: dont use a dummy temporary for stateless allocators
  * allocgate: stage 1 and 2 building
  * allocgate: renamed getAllocator function to allocator
  * allocgate: fix failing tests
  * allocgate: utilize a *const vtable field
  * allocgate: apply missed changes
  * allocgate: update code to use new interface
  * allocgate: split free out from resize
  * allocgate: change resize to return optional instead of error

  [ Jeremy Fillingim ]
  * libstd: handle rmdirZ INVAL error (#10145)

  [ Andrew Kelley ]
  * CLI: introduce -fsingle-threaded/-fno-single-threaded

  [ Jan Philipp Hafer ]
  * compiler_rt: add __ctzsi2, __ctzdi2 and __ctzti2

  [ Andrew Kelley ]
  * AstGen: allow non-string-literal inline assembly for stage1
  * Sema: fix error set merging creating references to invalid memory

  [ Lee Cannon ]
  * allocgate: actually free memory in gpa
  * allocgate: use correct allocator in `populateTestFunctions`

  [ Matthew Borkowski ]
  * gpa: fix leak in freeLarge and memory limit accounting in resize and resizeLarge

  [ Jan Philipp Hafer ]
  * compiler_rt: add __paritysi2, __paritydi2, __parityti2

  [ Andrew Kelley ]
  * std: remove double free in GPA

  [ Hiroaki Nakamura ]
  * Fix test for io_uring link_timeout

  [ Jakub Konka ]
  * Treat x86_64 tests as native under the Rosetta 2 on M1 Macs
  * Make Rosetta a new variant in ExternalExecutor enum
  * Make Rosetta availability declarative by the user

  [ Andrew Kelley ]
  * AstGen: use null string to communicate non-string-literal asm

  [ Jakub Konka ]
  * Remove .disable_native for x86_64-macos as it's fixed now

  [ Andrew Kelley ]
  * disable failing `@mulAdd` behavior test for aarch64-macos

  [ Lee Cannon ]
  * allocator: Move vtable into gen struct

  [ Matthew Borkowski ]
  * parse.zig: make chained comparison operators a parse error

  [ Ali Chraghi ]
  * update function name in error

  [ Andrew Kelley ]
  * AstGen: expr-evaluate asm template expressions
  * zig build: promote qemu, wine, wasmtime, darling, and rosetta
  * CLI: always try to exec binaries
  * improve detection of how to execute binaries on the host
  * std.os.execve: handle EBADEXEC and EBADARCH

  [ Jonathan Marler ]
  * std.build.InstallRawStep: allow custom dest_dir

  [ Andrew Kelley ]
  * update CONTRIBUTING.md for zig build CLI changes
  * stage1: LLVM code for `@tagName` not emitting null byte

  [ vole-dev ]
  * default mabi based on RISC-V extensions and -mabi build option
  * turn off LTO by default for RISCV even in Release mode

  [ Andrew Kelley ]
  * stage2: use Target.Abi instead of introducing Target.TargetAbi

  [ N00byEdge ]
  * Add single section dumping and padding to InstallRawStep

  [ Jakub Dupak ]
  * 9944: make allocator the first argument (excl. self)

  [ Michael Byrne ]
  * Add documentation for sentinel-terminated slicing (#10010)

  [ Andrew Kelley ]
  * ci: make the on_master_success script fail on missing args

  [ Luuk de Gram ]
  * wasm: Implement WrapErrorUnionErr(payload)
  * wasm: Correctly load slice value on stack
  * wasm: Implement trunc, fix sliceLen and write undefined
  * wasm: Implement slice as return type and argument
  * wasm: Initial behavior tests succeeding

  [ Andrew Kelley ]
  * ci: fix update-download-page and remove bashism

  [ matu3ba ]
  * compiler_rt: add __ffssi2, __ffsdi2 and __ffsti2 (#10268)

  [ Zapolsky Anton ]
  * Added an explicit type for the termios constants (#10266)

  [ joachimschmidt557 ]
  * stage2 ARM: Implement calling with stack parameters

  [ Michael Dusan ]
  * ci: linux: pass VERSION on_master_success

  [ Andrew Kelley ]
  * Revert "Merge pull request #10270 from Luukdegram/behaviour-tests"

  [ Michael Dusan ]
  * ci: linux: pass VERSION on_master_success

  [ Marc Tiehuis ]
  * std/math: replace golang sin/cos/tan with musl sin/cos/tan
  * std/math: Add test cases for #9901
  * std/math: fix __rem_pio2 underflow
  * std/math: hide internal cos/tan functions

  [ Luuk de Gram ]
  * wasm: Initial behavior tests succeeding

  [ Jakub Konka ]
  * macho: don't prealloc sections when stage1
  * macho: sort sections when linking stage1 binary
  * macho: refactor logging and function names
  * macho: fix incremental codepath for linking objects
  * macho: do not preserve temp symbol names

  [ Martin Wickham ]
  * Add emit path options to emit args in build.zig (#10278)

  [ Jeremy Fillingim ]
  * Fix test label off-by-one error (#10277).

  [ Martin Wickham ]
  * Add test executable builds to build.zig

  [ Andrew Kelley ]
  * libunwind: patch to silence warning
  * stage2: fix double-free when error reading cached ZIR

  [ Martin Wickham ]
  * Fix run() for test_exe steps

  [ Andrew Kelley ]
  * std.os: handle ETXTBSY from open()

  [ Lee Cannon ]
  * stage2: fix TracyAllocator bugs

  [ Michael Dusan ]
  * ci: linux: supply on_master_sucess with VERSION

  [ Andrew Kelley ]
  * stage2: improve handling of the generated file builtin.zig
  * CLI: allow `-femit-implib` when building .exe files too
  * link: fix build for 32-bit targets

  [ Jakub Konka ]
  * macho: do not write null symbols into undef symbols section
  * macho: handle non-extern UNSIGNED relocs on arm64
  * macho: write out LC_FUNCTION_START data

  [ Andrew Kelley ]
  * stage1: saturating shl operates using LHS type
  * stage1: fix regression of shift by negative value error
  * improve musl dynamic stubs file libc.s
  * tools/gen_stubs: consolidate symbol properties into MultiSym
  * tools/gen_stubs: add aarch64 and output preprocessor directives
  * stage2: upgrade musl libc stub file

  [ Travis Martin ]
  * Cache: fix two issues with isProblematicTimestamp

  [ Andrew Kelley ]
  * Cache: improvements to previous commit
  * Cache: fix data race with is_problematic_timestamp
  * Cache: use mutex to protect recent_problematic_timestamp

  [ Jakub Konka ]
  * macho: move helper functions to libstd
  * macho: move all helpers from commands.zig into std.macho

  [ Isaac Freund ]
  * AstGen: increase zig fmt off/on granularity
  * AstGen: implement @prefetch() builtin
  * stage1: implement @prefetch() builtin
  * langref: document @prefetch() builtin

  [ Motiejus Jakštys ]
  * macho: fail if requested -framework is not found

  [ Jan Philipp Hafer ]
  * compiler_rt: add __bswapsi2, __bswapdi2 and __bswapti2

  [ Jakub Konka ]
  * macho: allow undefined symbols in dylibs
  * macho: if lib or framework not found, wait until syms resolved

  [ Vincent Rischmann ]
  * os/linux: add more io_uring opcode
  * os/linux/io_uring: implement shutdown
  * os/linux/io_uring: implement renameat
  * os/linux/io_uring: implement unlinkat
  * os/linux/io_uring: implement mkdirat
  * os/linux/io_uring: implement symlinkat
  * os/linux/io_uring: implement linkat

  [ Andrew Kelley ]
  * stage2: improved glibc stubs
  * std.zig.system: improve native glibc version detection

  [ Stephen Gutekanst ]
  * Fix compilation cache updating bug leading to slow builds

  [ Luuk de Gram ]
  * wasm-linker: Allow specifying symbols to be exported

  [ Jan Philipp Hafer ]
  * compiler_rt: add __negsi2, __negdi2, __negti2
  * compiler_rt: refactor __mulodi2 and __muloti2 to get __mulosi2
  * compiler_rt: simplify popcount "magic constants"
  * compiler_rt: add __cmpXi2 and __ucmpXi2

  [ Andrew Kelley ]
  * remove tools/update_glibc.zig
  * test: remove testing for tools/update_glibc.zig

  [ Jakub Konka ]
  * macho: put `LC_*` consts in a typed enum(u32) LC
  * macho: fix section size calculation when no prealloc
  * macho: handle TLS imported from dylib
  * add standalone tests for the new linker bug fixes
  * stage2: clean up tests
  * stage2: fix premature atom deinit in macho linker
  * stage2: fix register size selection

  [ Arnav Singh ]
  * std.bounded_array: support inserting a new value at the end (#10340)

  [ Andrew Kelley ]
  * compiler_rt: reorganize in a way that stage2 understands
  * std.os: fix error codes for execve
  * update glibc headers to 2.34
  * update glibc start files to 2.34
  * glibc: use linux-specific files for nonshared
  * tools/update_glibc: ignore some more files
  * glibc: update abilists file
  * glibc: pass -D__GLIBC_MINOR__=XX
  * glibc: remove duplicate files between generic-glibc/ and glibc/include/
  * glibc: add missing riscv stubs headers
  * glibc: improve RISC-V support

  [ Arnavion ]
  * std.priority_queue: allow comparator to take a context parameter
  * std.priority_dequeue: allow comparator to take a context parameter

  [ Andrew Kelley ]
  * glibc: fix inconsistency of mips ABI mapping
  * glibc: import sysdep.h from upstream
  * glibc: fix inconsistency of powerpc ABI mapping
  * CLI: helpful error message when libc requested but not provided
  * glibc: update default cross-compile version to 2.19
  * glibc: fix some inconsistent flags with upstream
  * glibc: patches to make fstatat.c and fstatat64.c compile
  * glibc: i386: make glibc not use invalid inline asm syntax
  * glibc: add stat_t64_cp.c to libnonshared.a
  * glibc: don't pass -frounding-math
  * glibc: libc_nonshared.a: add missing includes for inttypes.h
  * glibc: update libc-modules.h
  * glibc: do not pass -DSHARED to any of the libc_nonshared.a sources

  [ Samarth Hattangady ]
  * std.time.epoch: fix issue in documentation

  [ Lee Cannon ]
  * TracyAllocator: correct order of free and alloc

  [ sentientwaffle ]
  * std: count hash_map tombstones as available

  [ Felix "xq" Queißner ]
  * Actually installs the implib for DLLs.

  [ sentientwaffle ]
  * std: optimize hash_map probe loop condition

  [ Andrew Kelley ]
  * Revert "std: optimize hash_map probe loop condition"

  [ Jens Goldberg ]
  * Fix MIPS inline assembly clobbers

  [ joachimschmidt557 ]
  * stage2 ARM: spill insts currently in compare flags if necessary

  [ fubark ]
  * Make Builder.spawnChildEnvMap public

  [ Andrew Kelley ]
  * init-exe template: build.zig: setTarget on the tests

  [ Jacob G-W ]
  * plan9 linker: fix off by 1 error

  [ Jakub Konka ]
  * macho: handle -install_name option for dylibs/MachO

  [ bnprks ]
  * Add Vector documentation (#10303)

  [ Isaac Freund ]
  * stage1, stage2: rename c_void to anyopaque (#10316)

  [ Andrew Kelley ]
  * zig test: fix test runner detection of tty
  * langref: fix tidy html error

  [ Lee Cannon ]
  * Allocator: `allocBytes` and `reallocBytes` (#10352)

  [ Kenta Iwasaki ]
  * stage1: deal with BPF not supporting @returnAddress()

  [ joachimschmidt557 ]
  * stage2 AArch64: Implement saving callee-saved registers

  [ Jakub Konka ]
  * stage2: fix MOV MIR -> Isel lowering logic
  * stage2: refactor errors thrown for size mismatch in mirMovImpl
  * stage2: remove obsolete MOV variant 0b11

  [ Andrew Kelley ]
  * Release 0.9.0
  * start the 0.10.0 release cycle
  * ci: add 0.9.0 to downloads json

  [ Jakub Konka ]
  * stage2: merge MOV back with arith instructions

  [ Robin Voetter ]
  * stage2: replace ErrorSet and ErrorSetMerged arrays with hash maps
  * stage2: move inferred error set state into func
  * stage2: allow multiple inferred error sets per Fn
  * stage2: inferred error set coercion
  * stage2: merged error sets in wrapErrorUnion
  * stage2: wrap function prototypes in an inline block.
  * stage2: save and restore parameters when resolving inline bodies
  * stage2: allow @ptrToInt on anything that is a pointer at runtime
  * stage2: only create inferred error sets for inferred error set functions
  * os: disable unexpected error tracing on stage 2 builds
  * stage2: @addWithOverflow
  * stage2: also write addrspace to pointer typeinfo
  * stage2: @returnAddress()
  * stage2: @mulWithOverflow
  * stage2: make anyopaque sized
  * stage2: @subWithOverflow
  * stage2: @shlWithOverflow

  [ John Schmidt ]
  * Langref: replace mentions of c_void with anyopaque

  [ ominitay ]
  * Change `ArgIterator.next()` return type

  [ joachimschmidt557 ]
  * stage2 ARM: Refactor airStore

  [ Ersikan ]
  * elf: Put constant data in the .rodata section

  [ Luuk de Gram ]
  * wasm-linker: Implement the --export-table and --import-table flags.

  [ Andrew Kelley ]
  * C backend: implement `ret_addr`

  [ joachimschmidt557 ]
  * stage2 ARM: implement is_null and is_non_null for ptr-like optionals
  * stage2 ARM: implement is_err and is_non_err for simple error unions

  [ ominitay ]
  * Fix dead link

  [ Andrew Kelley ]
  * stage2: error check for mixing --import-table and --export-table

  [ Jonathan S ]
  * Only check the file's length once in pdb.Msf.init

  [ Stephen Lumenta ]
  * fix expectStringEndsWith error output.

  [ Andrew Kelley ]
  * link/wasm: fix regression of wrong assertion
  * Sema: fix empty struct init
  * Sema: simplify coercion logic

  [ Dante Catalfamo ]
  * Add BSD Authentication constants (#10376)

  [ Jakub Konka ]
  * stage2: create generic lowering fns for MI, RM, and MR encodings
  * stage2: add lowering fn for OI encoding
  * stage2: add lowering for FD/TD encodings
  * stage2: handle RIP relative addressing in MI, RM and MR
  * stage2: add lowering of D encoding
  * stage2: add lowering of M encoding
  * stage2: migrate push/pop r/m64 to new lowering mechanism

  [ Luuk de Gram ]
  * wasm-linker: Implement symbol names emitting

  [ Andrew Kelley ]
  * stage2: `Type.hasCodeGenBits` asserts structs and unions have fields
  * behavior tests: stage2 is not yet passing this test

  [ Jakub Konka ]
  * stage2: add lowering to O encoding
  * stage2: add lowering to I encoding
  * stage2: add lowering of ZO encoding
  * stage2: support multibyte opcodes and refactor 1byte opcode changes
  * stage2: lower jcc and setcc conditional jump/set instructions
  * stage2: use lowerToRmEnc to lower two-operand imul
  * stage2: add lowering of RMI encoding

  [ Andrew Kelley ]
  * MIR: remove unnecessary TODO comment
  * add missing files to CMakeLists
  * stage2: initial implementation of packed structs
  * stage2: LLVM: fix lowering of packed structs

  [ joachimschmidt557 ]
  * stage2 codegen: Implement generateSymbol for undefined values
  * stage2 ARM: implement load for types with size 8 (e.g. slices)

  [ Jan Philipp Hafer ]
  * compiler_rt: add __absvsi2, __absvdi2, __absvti2

  [ Andrew Kelley ]
  * Sema: improve non-exhaustive enum support
  * Sema: fix enum tag type not initialized when 0 fields
  * stage2: LLVM backend: implement `@tagName` for enums

  [ daurnimator ]
  * Bcrypt pbkdf (#10331)

  [ Andrew Kelley ]
  * AstGen: fix loop result locations

  [ Jan Philipp Hafer ]
  * compiler_rt: add __negvsi2, __negvdi2, __negvti2

  [ Matthew Hall ]
  * stage2: make tests/behaviour/void.zig work with c backend

  [ Frank Denis ]
  * crypto/edwards25519: faster point decompression

  [ Andrew Kelley ]
  * stage2: LLVM backend: fix const packed structs
  * stage2: fix 0-bit function parameters
  * Sema: implement `@tagName` for enum literals
  * Sema: fix anytype parameters whose types require comptime

  [ Ali Chraghi ]
  * std: Skip `comptime` struct fields in `mem.zeroes()` (#10406)

  [ Andrew Kelley ]
  * Sema: implement array coercion
  * stage2: fix build on 32-bit targets
  * stage2: LLVM backend: fix lowering of union constants

  [ Veikka Tuominen ]
  * stage1: fix access of slice sentinel at comptime

  [ joachimschmidt557 ]
  * stage2 ARM: implement slice_elem_val for types with size <= 4

  [ Andrew Kelley ]
  * stage2: handle function dependency failures without crashing
  * Sema: improve union support

  [ Tom Manner ]
  * Fixed typo in deprecation error for `E` format specifier where it would instead complain about a specifier of `X`.

  [ Andrew Kelley ]
  * Sema: implement calling a fn ptr via a union field
  * Sema: more union fixes
  * compiler_rt: move more functions to the stage2 section

  [ joachimschmidt557 ]
  * stage2 ARM: implement slice_elem_val for sizes > 4
  * stage2 ARM: change MCValue.immediate to u32

  [ Jakub Konka ]
  * stage2: add separate tag for MI encoding
  * stage2: lower 1-byte and 2-byte values saved to stack
  * stage2: update PrintMir with latest instructions and Isel changes

  [ joachimschmidt557 ]
  * stage2 ARM: add genArmInlineMemcpy for copying types with size > 4
  * stage2 ARM: implement struct_field_ptr and struct_field_val

  [ Jens Goldberg ]
  * Support parsing tz timezone data
  * Actually expose the tz file

  [ joachimschmidt557 ]
  * stage2 x86_64: add regression test for #7187

  [ drew ]
  * CBE; implement airLoad and airStore for arrays (#10452)

  [ Jarred Sumner ]
  * For unused references & redundant keywords, append the compiler error but continue running AstGen

  [ Jakub Konka ]
  * stage2: rename Emit to Isel for x86_64
  * stage2: implement isNull() and isNonNull()
  * stage2: implement genSetReg for ptr_stack_offset
  * stage2: implement loading-storing via pointer (in register)

  [ Jens Goldberg ]
  * tz parsing reader interface, test thicc files, and exclude tzif
  * Remove a no-op line that was left in by mistake

  [ Frank Denis ]
  * Y++

  [ Marian Beermann ]
  * stage1: fix @errorName null termination

  [ r00ster ]
  * std.fmt: improve `@compileError` message

  [ joachimschmidt557 ]
  * stage2 ARM: implement airCall for function pointers
  * stage2 ARM: implement airUnwrapErrErr + airCmp for error sets
  * stage2 codegen: Add generateSymbol for optional stub

  [ Luuk de Gram ]
  * wasm: Fix storing error. Pass bool.zig behavior tests
  * wasm: Pass 'bugs' behavior tests
  * wasm: Implement `array_to_slice` and bug fixes:
  * wasm: Implement @ptrToInt and fix indirect function call
  * wasm: Implement memCpy and get if behavior tests passing
  * wasm: Implement pointer arithmetic and refactoring:

  [ Jens Goldberg ]
  * Support legacy TZ format, expose header struct to a potential writer

  [ Jakub Konka ]
  * stage2: remove safety check for optional payload in codegen
  * stage2: augment stage2 test to test optional payload lowering

  [ Luuk de Gram ]
  * wasm: Fix loading from pointers to support defer

  [ Vincent Rischmann ]
  * io_uring: fix version check in tests

  [ Jimmi Holst Christensen ]
  * fmt: Refactor parsing of placeholders into its own function

  [ Andrew Kelley ]
  * behavior tests: add a "passing for arm backend" section

  [ joachimschmidt557 ]
  * stage2 ARM: implement wrap_errunion_err for empty payloads

  [ Andrew Kelley ]
  * stage2: introduce CacheMode
  * stage2: CacheMode.whole fixes
  * stage2: add `@import` and `@embedFile` to CacheHash
  * stage2: fix CLI not populating output binary files
  * stage2: fix path to cache artifacts in libcxx,
  * stage2: CacheMode.whole: trigger loading zig source files
  * stage2: fix not calling deinit() on whole_cache_manifest
  * stage2: fix memory leak of emit_bin.sub_path
  * stage2: fix memory leak in addNonIncrementalStuffToCacheManifest
  * stage2: fix implibs
  * stage2: fix UAF of system_libs
  * compiler-rt: simplify implementations
  * Sema: implement peer type resolution of signed and unsigned ints

  [ Robin Voetter ]
  * stage2: don't call comptime functions with generic poison arguments
  * stage2: pointer reify

  [ Andrew Kelley ]
  * std.fs.rename: fix Windows implementation
  * compiler-rt: small refactor in atomics

  [ Robin Voetter ]
  * stage2: move some more tests

  [ Andrew Kelley ]
  * stage2: fix missing items from whole cache mode hash

  [ paulsnar ]
  * stage1: Resolve LLVM C ABI type for small packed structs
  * stage1: Add tests for packed structs in C ABI

  [ Andrew Kelley ]
  * stage2: introduce renameTmpIntoCache into the linker API

  [ Jakub Konka ]
  * stage2: fix loading ptr into register
  * stage2: implement slice_len for slices on the stack
  * stage2: dedup encoding memory op with base register in Isel
  * stage2: use Encoder.prefix16BitMode() helper to encode 0x66 prefix
  * stage2: dedup DS/RIP encoding for memory operand in Isel
  * stage2: add helper for encoding imm32 based on target size
  * stage2: clean up encoding of memory operands
  * stage2: re-implement arithmetic ops with SIB
  * stage2: clean up load function
  * stage2: implement setting stack from memory value
  * stage2: implement isErr/isNonErr and unwrap error
  * stage2: implement slice_elem_val
  * stage2: implement inline memcpy
  * stage2: implement struct_field_val and struct_field_val_ptr
  * stage2: pass empty zig test

  [ Andrew Kelley ]
  * readme: dynamic logo light/dark

  [ Jakub Konka ]
  * stage2: turn several panics into codegen errors

  [ Andrew Kelley ]
  * linker: fix build-obj and -fno-emit-bin
  * link: avoid creating stage2 llvm module when using stage1

  [ Vincent Rischmann ]
  * io_uring: improve IO_Uring.copy_cqe

  [ Ryan Liptak ]
  * Add CANNOT_DELETE as a possible error in os.windows.DeleteFile

  [ Luuk de Gram ]
  * wasm: Implement (and fix) most optional instructions
  * wasm: Fix lowering constant struct values to the stack
  * wasm: Implement 'slice' instruction
  * wasm: Implement memset, and sret arguments.

  [ Andrew Kelley ]
  * stage2: introduce std.builtin.CompilerBackend
  * std.builtin: remove deprecated globals
  * Sema: better code generated for struct literals
  * Sema: const inferred alloc infers comptime-ness
  * zig fmt

  [ Jakub Konka ]
  * stage2: implement CMP stack value with immediate
  * stage2: fix loading pointer value from register
  * stage2: implement slice_ptr
  * stage2: fix inline memcpy
  * stage2: fix airSliceElemVal
  * stage2: fix airStructFieldPtr and airStructFieldVal
  * stage2: implement basics of airWrapErrUnionErr
  * stage2: temporarily disable offending stage2 test on macOS

  [ Jacob G-W ]
  * plan9: fix .z symbol in debuginfo

  [ Luuk de Gram ]
  * wasm-linker: Only export symbols notated as such

  [ Andrew Kelley ]
  * C backend is passing test/behavior/undefined.zig

  [ Jacob G-W ]
  * plan9 debuginfo: fix case where pc change is > 64 * inst quanta
  * Plan9: implement getDeclVAddr

  [ Andrew Kelley ]
  * ci: add test coverage for self-hosted arm and x86_64 backends

  [ Jimmi Holst Christensen ]
  * stage2: Implement validating switch on errors

  [ Jacob G-W ]
  * Plan9: fix amount to say included line count is

  [ Meghan ]
  * lint: duplicate import (#10519)

  [ Luuk de Gram ]
  * Pass `--allow-unknown-exports` to wasmtime

  [ Jimmi Holst Christensen ]
  * Return Value.zero when the result of shr requires zero bits

  [ r00ster ]
  * Add missing package to the langref that's always available

  [ Jimmi Holst Christensen ]
  * Shift right is a noop if rhs is comptime known to be zero
  * Add two more resolution status' to Struct and Union
  * Increment `runtime_param_index` for zero sized parameters
  * Fix llvmFieldIndex for zero sized fields
  * bit_shifting.zig now passes stage2 llvm backend

  [ Lee Cannon ]
  * handle `error.PathAlreadyExists` in `renameTmpIntoCache`

  [ Meghan Denny ]
  * std: fix zig.Ast being called Tree internally

  [ Jimmi Holst Christensen ]
  * Implement offsetOf builtin function
  * Implement bitOffsetOf

  [ Robin Voetter ]
  * stage2: @errorName sema+llvm
  * stage2: implement @src

  [ Luuk de Gram ]
  * wasm: Implement arrays

  [ joachimschmidt557 ]
  * stage2 ARM: make Mir.Inst.cond = .al default
  * stage2 ARM: pass behavior/bool.zig
  * stage2 codegen: fix airBlock bug in 3 backends

  [ Jakub Konka ]
  * stage2: enable zig test on x86_64-macos (#10551)

  [ Luuk de Gram ]
  * wasm: Implement float_to_int
  * wasm: Implement optional compare
  * wasm: Basic 128bit integer support

  [ Jakub Konka ]
  * Build fs/filesystem libcxx module when targeting GNU Win

  [ djg ]
  * std: hash_map: optimize isFree/isTombstone (#10562)

  [ Jakub Konka ]
  * dupe sym name from stage1 before passing to stage2
  * zig cc: integration with sysroot arg (#10568)

  [ Evan Haas ]
  * translate-c: Handle typedef'ed void return type for functions.

  [ fifty-six ]
  * std: fix path joining on UEFI
  * std/os/uefi: Move FileInfo guid from FileProtocol to FileInfo
  * std/os/uefi: Add FileSystemInfo
  * std/os/uefi: Add methods next() and size() to DevicePathProtocol
  * std/os/uefi: Add create_file_device_path
  * std/os/uefi: Add pool_allocator and raw_pool_allocator

  [ Andrew Kelley ]
  * std.fs.path: revert recent public API change

  [ afranchuk ]
  * Fix a bug in std.Thread.Condition and add a basic Condition test. (#10538)

  [ Luuk de Gram ]
  * wasm: Place the stack at the start of memory
  * wasm-ld: Append `--stack-first` by default

  [ Jimmi Holst Christensen ]
  * Make prominent_compile_errors also work for test steps
  * Allow BoundArray to be default initialized

  [ riverbl ]
  * translate-c: Fix macro define of float constant using scientific notation

  [ John Schmidt ]
  * Use libc if_nametoindex if available when parsing IPs

  [ Andrew Kelley ]
  * stage2: implement `@ctz` and `@clz` including SIMD
  * compiler_rt: one less exception for stage2
  * stage2: fix build on 32-bit ISAs

  [ Jakub Konka ]
  * zld: fix num nlist calc when there's no dynsymtab
  * zld: support -Wl,-force_load=archive_path flag
  * zld: parse addend from BRANCH reloc on x86_64
  * Introduce LinkObject with must_link field
  * macho: remove todo from getMatchingSectionDecl

  [ fifty-six ]
  * std/os/uefi: Use `usingnamespace` to re-export symbols
  * std/builtin: improve panic handler for uefi
  * std/os/uefi: Fill out remaining function signatures and docs on boot_services
  * std/os/uefi: Fill out remaining runtime services and add parameter names
  * std/os/uefi: Add parameter names to boot_services
  * std/os/uefi: Complete AcpiDevicePath and HardwareDevicePaths

  [ joachimschmidt557 ]
  * stage2 AArch64: split ldr/str into {ldr,str}_register and _immediate

  [ Andrew Kelley ]
  * Sema: comptime loads and stores for `elem_ptr`
  * stage2: detection of comptime array literals

  [ bryfry ]
  * Use allocPrintZ to avoid needing assumeSentinel

  [ fifty-six ]
  * std/os/uefi: Complete DevicePathProtocol types

  [ John Schmidt ]
  * Check for isDarwin() instead of linked libc

  [ fifty-six ]
  * std/os/uefi: Refactor getDevicePath()

  [ Marc Tiehuis ]
  * stage1: fix bigint_init_bigfloat for single-limb negative floats

  [ xavier ]
  * glibc: restore compatibility with glibc<=2.33 for global initializers
  * tests: include global initializers in c++ compiler test

  [ Andrew Kelley ]
  * glibc: clean up build logic

  [ Jakub Konka ]
  * macho: code signature needs to be 16 bytes aligned

  [ Andrew Kelley ]
  * Sema: fix array_init with runtime element
  * stage2: fix Decl garbage collection not marking enough

  [ Jakub Konka ]
  * stage2: refactor handling of immediates in x86_64 backend
  * stage2: rename Isel to Emit for x86_64

  [ joachimschmidt557 ]
  * stage2 ARM: store all function parameters to stack for unspecified cc

  [ Jakub Konka ]
  * stage2: implement signed compare

  [ Andrew Kelley ]
  * stage2: implement `@prefetch`

  [ viri ]
  * std.os.windows: fix casing for `ntdll.lib`

  [ joachimschmidt557 ]
  * stage2 ARM: implement load for stack_offset + stack_argument_offset

  [ viri ]
  * std.os.windows: add ntdll thread information APIs

  [ Andrew Kelley ]
  * Sema: populate the sentinel for comptime array inits
  * AstGen: emit `as` instructions for branching expressions

  [ Jimmi Holst Christensen ]
  * Slice function of BoundedArray now returns slice based on self pointer

  [ fifty-six ]
  * std/os/uefi: Simplify packed struct padding and default zero-initialize
  * std/os/uefi: Align first field of EdidOverrideProtocolAttributes to 4
  * std/os/uefi: Add conversion from Status to EfiError
  * std/os/uefi: Fix parameter type mismatch in edid_override_protocol
  * std/os/uefi: Add util function for opening protocols
  * std/os/uefi: Don't treat efi status warnings as errors

  [ Andrew Kelley ]
  * behavior tests: move tests around
  * stage2: fix 32-bit build

  [ Jarred Sumner ]
  * Fix missing `!void` in std.MultiArrayList

  [ Jakub Konka ]
  * libstd: add smoke test for insert methods in MultiArrayList

  [ Meghan Denny ]
  * std: add json.stringifyAlloc

  [ riverbl ]
  * translate-c: Fix issues translating macro define of hex float constant

  [ johnLate ]
  * Fix os.rusage when linking with c library on Linux

  [ riverbl ]
  * stage2: do not interpret identifier containing underscores (eg: u3_2) as int primitive type

  [ Meghan ]
  * std.c: add shm_open and shm_unlink

  [ fn ⌃ ⌥ ]
  * translate-c: improve error messages when expecting specific tokens

  [ Jakub Konka ]
  * stage2: implement airCondBr for immediate MCValue in x86_64
  * stage2: implement airArrayToSlice for x86_64
  * stage2: return error.SkipZigTest in unsupported behavior tests
  * stage2: separate ptr and stack offset codepaths in genSetStack

  [ Andrew Kelley ]
  * Sema: fix comptime break semantics
  * behavior tests: a couple more switch cases are passing
  * Sema: implement else capture value
  * remove `zig_is_stage2` from `@import("builtin")`
  * test runner: stage2 llvm backend prints stats

  [ Jakub Konka ]
  * stage2: add inline memset for x86_64 backend
  * stage2: partially implement intcast on x86_64

  [ Andrew Kelley ]
  * Revert "stage2: implement `@prefetch`"

  [ Jakub Konka ]
  * stage2: implement airArrayElemVal

  [ Andrew Kelley ]
  * stage2: implement `@prefetch`

  [ John Schmidt ]
  * Implement segfault handler for macOS x86_64

  [ joachimschmidt557 ]
  * stage2 ARM: basic implementation of ptr_slice_{len,ptr}_ptr

  [ Andrew Kelley ]
  * Sema: implement declarations for `@typeInfo`
  * disable failing atomicrmw test on llvm + aarch64

  [ Kenta Iwasaki ]
  * lld: allow for entrypoint symbol name to be set

  [ Andrew Kelley ]
  * stage2: improvements to entry point handling
  * stage2: fix ABI size of slice types to be 2 * ptr size

  [ Luuk de Gram ]
  * wasm: Refactor emitConstant to lower to `WValue`
  * wasm: Refactor storing values.
  * wasm-linker: Allow for creation of local symbols
  * wasm: Split funcgen and declgen

  [ Jakub Konka ]
  * stage2: fix passing arguments on the stack
  * stage2: add tweak to please Apple re stack alignment

  [ C-BJ ]
  * Update CONTRIBUTING.md

  [ Luuk de Gram ]
  * wasm: Re-use genTypedValue for constants

  [ Daniel Saier ]
  * glibc: fix passing of __GNU_MINOR__

  [ Jakub Konka ]
  * macho: do not write out ZEROFILL physically to file

  [ Meghan Denny ]
  * std: add meta.DeclEnum

  [ Jonathan Marler ]
  * remove unnecessary self argument

  [ Andrew Kelley ]
  * stage1: remove the "referenced here" error note
  * stage2: implement tuples
  * Sema: fix requiresComptime infinite recursion
  * Sema: storePtr optimization for tuples

  [ Luuk de Gram ]
  * Fix abi size of optional slices

  [ Andrew Kelley ]
  * stage2: fix compilation on 32 bit targets

  [ Loris Cro ]
  * astgen saves decl doc comments in zir
  * add field doc comments to zir
  * add support for more decl attributes in doc comment zir
  * add function param doc comment info in zir

  [ Andrew Kelley ]
  * disable some broken stuff for stage2 llvm backend on aarch64

  [ Loris Cro ]
  * fix incorrect zir offset loading in sema

  [ Jakub Konka ]
  * stage2: clean up preserving callee regs on the stack
  * stage2: do not copy args passed via stack into functions locals
  * stage2: fix improper capacity prealloc in lowerToRm encoding
  * macho+elf: fix integer overflow in allocateAtom
  * stage2: remove asserts and comments which are Emit.zig responsibility

  [ joachimschmidt557 ]
  * std: Add some missing termios types to c/linux.zig and os.zig

  [ Hadrien Dorio ]
  * compress: remove sha256 checks from tests
  * compress: add a deflate compressor

  [ Jimmi Holst Christensen ]
  * Stop using LinearFifo in BufferedWriter
  * c backend: Implement aligning fields and local/global variables

  [ Andrew Kelley ]
  * AstGen: doc comment fixups

  [ Lee Cannon ]
  * allow `expected_exit_code` to be `null`

  [ riverbl ]
  * MultiArrayList: Fix error when struct is 0 sized

  [ fifty-six ]
  * std/fs: Support `XDG_DATA_HOME`

  [ Jonathan Marler ]
  * use explicit integer bit widths for windows GUID

  [ Pablo Santiago Blum de Aguiar ]
  * readUntilDelimiter*: read only if buffer not full

  [ Jonathan Marler ]
  * Normalize some build function names

  [ Sizhe Zhao ]
  * Avoid duplicate TLS startup symbols

  [ riverbl ]
  * HashMap: add removeByPtr

  [ John Schmidt ]
  * Handle FormatOptions in fmtDuration/fmtDurationSigned

  [ Cody Tapscott ]
  * Add support for rendering `.elem_ptr`
  * Avoid identifier conflicts with reserved C keywords
  * Add support for rendering `.enum_numbered`
  * Fix rendering of `void` function args
  * Add `union` support to the C backend.
  * Run `zig fmt`
  * Cleanup unnecessary switches in union logic

  [ Frank Denis ]
  * std.crypto.25519.scalar: implement edwards25519 scalar field inversion

  [ joachimschmidt557 ]
  * stage2 ARM: re-enable debug info for arguments

  [ mparadinha ]
  * stage2: x64: fix printing of callee preserved regs instructions

  [ Andrew Kelley ]
  * Revert "MultiArrayList: Fix error when struct is 0 sized"
  * stage2: type system treats fn ptr and body separately
  * llvm backend: fix not updating map after deleting global
  * Sema: resolveBody takes a parameter for break blocks
  * stage2: rework a lot of stuff
  * behavior tests: prevent disabled tests from lowering std.Target

  [ Meghan ]
  * std.crypto.random: `Random`s are no longer passed by reference

  [ Luuk de Gram ]
  * wasm: Implement set_union_tag
  * wasm: Implement get_union_tag
  * wasm: Implement lowering unions
  * wasm: Implement genTypedValue for enums

  [ Andrew Kelley ]
  * zig cc: detect more linker args
  * link: Elf, Wasm: forward strip flag when linking with LLD
  * Sema: coercion of pointers to C pointers

  [ Jakub Konka ]
  * stage2: populate debug info for args passed on stack
  * stage2: add naive impl of pointer type in ELF

  [ Lee Cannon ]
  * add option to force usage of `GeneralPurposeAllocator`

  [ mparadinha ]
  * stage2: x64: implement airTrunc

  [ Andrew Kelley ]
  * c backend: use an explicit map of reserved idents
  * translate-c: update for new function pointer semantics

  [ John Schmidt ]
  * stage2: avoid inferred struct in os_version_check.zig

  [ Josh Hannaford ]
  * Update the documentation for std.mem.sliceTo for readability

  [ Motiejus Jakštys ]
  * [linux headers] rename arm64 to aarch64
  * fix aarch64 include path

  [ Andrew Kelley ]
  * organize behavior tests

  [ Jakub Konka ]
  * stage2: add zero- and sign-extend moves to x86_64
  * elf: implement slice types in debug info

  [ joachimschmidt557 ]
  * stage2 regalloc: Add freezeRegs/unfreezeRegs API

  [ Andrew Kelley ]
  * zig cc: add --hash-style linker parameter
  * stage2: fix crash on file-level struct field source locations
  * std.mem.Allocator: upgrade to new function pointer semantics
  * Sema: implement struct init is_ref=true
  * organize behavior tests

  [ Daniel Saier ]
  * zig cc: Treat cu files as C++ source files

  [ Exonorid ]
  * Added documentation for implicit struct pointer dereferencing

  [ John Schmidt ]
  * Add ArrayList.clone
  * Set len on copied items array
  * Use expectEqualSlices instead of loop
  * Implement clone with initCapacity and appendSliceAssumeCapacity
  * Preserve alignment when cloning

  [ Philipp Lühmann ]
  * fix precedence in langref or example

  [ David John ]
  * add std.debug.todo

  [ vnc5 ]
  * fix startup procedure for async WinMain

  [ praschke ]
  * docs: reorganize `@truncate` and `@intCast` for clarity

  [ Mikhail Popov ]
  * std.mem: Add functions to find the index of the mimimum/maximum value in a slice.

  [ Vesim ]
  * fchown: use the 32-bit uid/gid variant of the syscall on 32-bit linux targets

  [ Mikhail Popov ]
  * Add std.mem.minMax() and std.mem.IndexOfMinMax()

  [ Andrew Kelley ]
  * stage2: make cuda file extensions a separate enum tag than c++
  * stage2: .stub files are yet another c++ source file extension

  [ ominitay ]
  * Add test for using `fs.Dir.Iterator` twice

  [ Robin Voetter ]
  * spirv: improve generator
  * spirv: regenerate spec
  * spirv: keep track of air & liveness so that it can be used in flush()
  * spirv: model spir-v section as separate type
  * spirv: new module
  * spirv: spir-v dedicated type system

  [ ominitay ]
  * std: Fix using fs.Dir.Iterator twice

  [ Veikka Tuominen ]
  * stage1: add f80 type
  * std: add f80 bits
  * stage1: emit calls to compiler-rt for f80 on unsupported targets
  * stage1: handle compiler-rt calls on vectors of f80
  * stage1: call compiler-rt for math builtins on f80 on unsupported targets
  * add behavior tests for f80

  [ Andrew Kelley ]
  * fix invalid const bitcast of f80
  * stage1: lower const f80 a different way
  * link: ELF, COFF, WASM: honor the "must_link" flag of positionals

  [ joachimschmidt557 ]
  * stage2 regalloc: Fix bug where regs were not marked as allocated

  [ Andrew Kelley ]
  * std: break up some long lines
  * build.zig: fix single-threaded option
  * glibc: version-gate _DYNAMIC_STACK_SIZE_SOURCE

  [ John Schmidt ]
  * Rename mem.bswapAllFields to byteSwapAllFields

  [ Stephen Gregoratto ]
  * Add classic BPF library
  * Add bits for the Linux Auditing System

  [ John Schmidt ]
  * fmt: handle doc comments on struct members
  * std.fmt: fix out-of-bounds array write in float printing

  [ ominitay ]
  * Remove deprecation warnings and enable test

  [ Sage Hane ]
  * fs: Use `OpenMode` enum instead of read/write flags.

  [ Veikka Tuominen ]
  * std: remove superfluous `.read = true` from deflate tests

  [ Jonathan Marler ]
  * improve comptime windows GUID.parse performance

  [ Jonathan S ]
  * Fix overflow in std.math.isNormal when applied to -Inf or a negative NaN

  [ riverbl ]
  * stage1: fix saturating arithmetic producing incorrect results on type comptime_int, allow saturating left shift on type comptime int
  * stage1: fix issue with bigint_add that caused incorrect results when adding a large and a small comptime_int of differing sign
  * stage2: fix bug where performing wrapping or saturating arithmetic or saturating left shift on type comptime_int executed unreachable code

  [ Andrew Kelley ]
  * ci: azure: update to newer msys2 release

  [ Jean Dao ]
  * fix argsAlloc buffer size

  [ Meghan ]
  * std: define static error set for fs.Dir.copyFile

  [ naeu ]
  * std: add test for Thread.Condition
  * std: add test for Thread.Semaphore

  [ Andrew Kelley ]
  * Sema: improved comptime `%` syntax

  [ joachimschmidt557 ]
  * stage2 RISCV64: Merge Register and RawRegister enums
  * stage2 RISCV64: Move to new regalloc freeze API

  [ Jonathan Marler ]
  * remove __muloti4 from libc++

  [ PhaseMage ]
  * Full response file (*.rsp) support

  [ zseri ]
  * ir.cpp: use is_tagged_union to DRY

  [ Andrew Kelley ]
  * Sema: fix comptime shl for fixed-width integers
  * stage2: implement shl_exact and shr_exact

  [ joachimschmidt557 ]
  * stage2 AArch64: Move to new regalloc freeze API
  * stage2 ARM: Move to new regalloc freeze API

  [ Andrew Kelley ]
  * std: make ArrayHashMap eql function accept an additional param

  [ Žiga Željko ]
  * os,wasi: use wasi-libc if available

  [ joachimschmidt557 ]
  * stage2 ARM: implement ptr_stack_offset function parameters

  [ John Schmidt ]
  * debug: fix edge cases in macOS debug symbol lookup

  [ Andrew Kelley ]
  * Sema: fix index type in AIR being u64 instead of usize

  [ Jakub Konka ]
  * astgen: clean up source line calculation and management

  [ Mateusz Radomski ]
  * std: correct rounding in parse_hex_float.zig

  [ Andrew Kelley ]
  * std.fmt.parseHexFloat: clean up bitwise logic
  * stage2: make --debug-log work by default for debug builds
  * stage2: update to new ArrayHashMap API
  * stage1: remove the `data` field from TypeInfo.Declaration
  * a small crusade against std.meta.declarations
  * update behavior tests and compile error tests

  [ Mitchell Hashimoto ]
  * stage2: cmp_eq between untyped undefines values results in undef bool

  [ Andrew Kelley ]
  * Sema: replace some initTag calls with constants
  * Sema: remove the data field from TypeInfo.Declaration
  * stage1: avoid anytype fields for type info
  * stage2: remove anytype fields from the language

  [ mparadinha ]
  * implement storing to MCValue.memory
  * implement store for 8 byte immediates
  * need to go through the GOT, and use a temporary register

  [ Jakub Konka ]
  * x86_64: start moving to new regalloc freeze API
  * x86_64: handle struct_field_ptr for register mcv
  * x86_64: handle struct_field_ptr for stack_offset mcv
  * x86_64: pass more behaviour tests
  * stage2: pad out (non-packed) struct fields when lowering to bytes
  * wasm32: fix struct padding

  [ GithubPrankster ]
  * Correct f80 description

  [ Jakub Konka ]
  * sema: do not pass libc or libc++ to the linker
  * macho: handle bss like normal section in stage2
  * stage2: update stage2 tests with qualified import lib names for externs

  [ Andrew Kelley ]
  * CLI: link_libcpp implies link_libc

  [ Jakub Konka ]
  * elf: add basic handling of .data section
  * x64: use freeze/unfreeze api; TODO for PIE
  * x64: swap out register exceptions for freeze/unfreeze api
  * stage2: remove the concept of register exceptions
  * elf: generated DWARF debug info for named structs

  [ Andrew Kelley ]
  * update cmake files to LLVM 14

  [ Luuk de Gram ]
  * wasm: Implement elem_ptr
  * wasm: Implement vector_init for array & structs

  [ Andrew Kelley ]
  * update llvm and clang tools to release/14.x

  [ Luuk de Gram ]
  * wasm: Refactor stack to account for alignment

  [ Andrew Kelley ]
  * apply zig patches to clang and llvm tools
  * update C language headers to clang release/14.x

  [ Luuk de Gram ]
  * Move passing behavior tests

  [ Jakub Konka ]
  * x64: implement storing to MCValue.memory for PIE targets

  [ Andrew Kelley ]
  * update C API bindings to LLVM 14
  * Sema: slice improvements

  [ Mateusz Radomski ]
  * Sema: check for NaNs in cmp (#10760)

  [ Kazuki Sakamoto ]
  * stage1: Fix missing LLD library

  [ Andrew Kelley ]
  * Sema: fixes to fieldVal, resolveStructFully, Type.eql

  [ Kirk Scheibelhut ]
  * Various documentation fixes

  [ joachimschmidt557 ]
  * stage2 ARM: optimize airSliceElemVal for elem_size 1 or 4

  [ Veikka Tuominen ]
  * compiler-rt: add extend functions for f80
  * compiler-rt: add trunc functions for f80
  * compiler-rt: add comparison functions for f80
  * compiler-rt: add add/sub for f80
  * stage1: implement f80 negation on non native targets
  * stage1: make f80 always size 16, align 16

  [ Jan Philipp Hafer ]
  * compiler_rt: optimize mulo

  [ Veikka Tuominen ]
  * std.process: add option to support single quotes to ArgIteratorGeneral

  [ rohlem ]
  * std.build.TranslateCStep: add C macro support

  [ gwenzek ]
  * stage2: add support for Nvptx target

  [ praschke ]
  * std: allow tests to use cache and setOutputDir

  [ joachimschmidt557 ]
  * stage2 ARM: clarify usage of unfreezeRegs in airSliceElemVal
  * stage2 regalloc: Introduce error.OutOfRegisters

  [ Jakub Konka ]
  * x86_64: add distinct MCValue representing symbol index in the linker

  [ Johannes Löthberg ]
  * CLI: remove remainders of --verbose-ast and --verbose-tokenize

  [ joachimschmidt557 ]
  * stage2 ARM: enable a handful of passing behavior tests

  [ Jakub Konka ]
  * stage2: add new Decl subtype, ExternFn
  * stage2: handle extern lib name annotation for vars

  [ joachimschmidt557 ]
  * stage2 ARM: fix load and store for abi_size < 4

  [ Jonathan Marler ]
  * child_process: collectOutputWindows handle broken_pipe from ReadFile
  * fix bug I think I found while manually reviewing
  * rework to allow ReadFile to complete synchronously

  [ John Schmidt ]
  * stage2: apply type coercion in if expressions

  [ Andrew Kelley ]
  * stage2: add more float arithmetic and f80 support

  [ Luuk de Gram ]
  * Sema: Fix memory leak

  [ Marc Tiehuis ]
  * std/math: optimize division with divisors less than a half-limb

  [ Andrew Kelley ]
  * AstGen: refactor redundant expressions
  * compiler_rt: addXf3: add coercion to `@clz`
  * Sema: implement writing structs to memory at comptime
  * Sema: avoid `@intToFloat` for f80 which breaks on non-x86 targets
  * Sema: panic instead of lowering to unavailable compiler-rt functions

  [ Cody Tapscott ]
  * Avoid depending on child process execution when not supported by host OS
  * Replace argvCmd with std.mem.join

  [ Andrew Kelley ]
  * stage2: pass proper can_exit_early value to LLD

  [ Jakub Konka ]
  * stage2: lower unnamed constants in Elf and MachO

  [ Jonathan Marler ]
  * fix bug when ReadFile returns synchronously in collectOutputWindows

  [ boofexxx ]
  * std: fix doc comment typo in os.zig

  [ Evan Haas ]
  * std: Allow `mem.zeroes` to work at comptime with extern union

  [ matu3ba ]
  * compiler_rt: add addo (#10824)

  [ Jakub Konka ]
  * stage2,arm: add lowering of unnamed consts
  * stage2,x64: implement genSetStack for memory operand
  * stage2,x64: fix registerAlias helper function
  * stage2,x64: impl masking reg for struct_field_val
  * stage2,x64: impl lowering of shift ops in Emit

  [ Andrew Kelley ]
  * std: fix i386-openbsd failing to build from source

  [ Jakub Konka ]
  * stage2: pass more struct tests

  [ Arnavion ]
  * std.bit_set: add setRangeValue(Range, bool)

  [ John Schmidt ]
  * debug: implement segfault handler for macOS aarch64
  * stage2: implement @sqrt for f{16,32,64}

  [ Andrew Kelley ]
  * Sema: clean up zirUnaryMath
  * stage2: fix crash_report segfault compile error

  [ Jan Philipp Hafer ]
  * compiler_rt: add subo

  [ Luuk de Gram ]
  * wasm: update test runner

  [ Jakub Konka ]
  * stage2: tiny improvements all over the place

  [ Luuk de Gram ]
  * wasm: Store stack-offset as WValue

  [ joachimschmidt557 ]
  * stage2 ARM: support all integer types in genTypedValue
  * stage2 ARM: airStructFieldVal for more MCValues

  [ Jakub Konka ]
  * stage2: handle void type in Elf DWARF gen
  * stage2: handle direct and got load for stack args
  * stage2: disable some tests on x86_64-macos

  [ Andrew Kelley ]
  * cmake: fix -DZIG_SINGLE_THREADED option
  * std.Progress: make the API infallible

  [ Hadrien Dorio ]
  * ci: azure: split build-and-test step

  [ Andrew Kelley ]
  * update more API usage of std.Progress
  * stage2: fix inferred comptime constant locals
  * stage1: fix x86 i128 C ABI for extern structs
  * stage2: fix x86_64-windows C ABI
  * stage1: fix x86_64-windows C ABI classification logic
  * c_abi tests: allow passing standard target options
  * C ABI tests: give a clue in addition to "test failure"
  * C ABI: these tests are not passing yet on Windows

  [ billzez ]
  * update RwLock to use static initialization (#10838)

  [ Andrew Kelley ]
  * Sema: fix Value.intFitsInType for comptime int
  * Sema: fix `@ptrCast` from slices
  * Sema: fix `@typeInfo` for pointers returning 0 alignment
  * Sema: handle inferred error set tail call

  [ Jakub Konka ]
  * stage2: handle decl ref to void types
  * stage2: resolve struct type when lowering struct_field_*
  * stage2: export trunc, truncf and truncl
  * elf: fix unaligned file offset of moved phdr containing GOT section

  [ Andrew Kelley ]
  * CI: windows: update env var names
  * CLI: ignore -lgcc_s when it is redundant with compiler-rt
  * ci: work around azure networking issue
  * Revert "ci: azure: split build-and-test step"

  [ John Schmidt ]
  * stage2: implement all builtin floatops for f{16,32,64}

  [ Andrew Kelley ]
  * Sema: implement comptime ptr store to optional payload

  [ Sebsatian Keller ]
  * stage 1: improve error message if error union is cast to payload (#10770)

  [ Andrew Kelley ]
  * stage2: add log and logf to freestanding libc
  * freestanding libc: fix missing functions

  [ Jakub Konka ]
  * elf: pad out file to the required size when init data

  [ Andrew Kelley ]
  * stage2: LLVM backend: make unnamed struct globals

  [ Jakub Konka ]
  * stage2: handle truncate to signed non-pow-two integers

  [ Luuk de Gram ]
  * wasm: Implement 'field_ptr' constants
  * Activate passing behavior tests

  [ Jakub Konka ]
  * codegen: handle lowering of const slice pointers
  * elf: store pointer relocations indexed by containing atom
  * macho: correctly lower slices incl reloc and rebase tracking
  * x64: enable more behavior tests

  [ m ]
  * std: validate frame-pointer address in stack walking

  [ Cody Tapscott ]
  * Fix up sign handling and add arbitrary-length integer support to @bitCast()
  * Fix big-endian handling in stage1 bigint_write_twos_complement

  [ m ]
  * validate in Windows using VirtualQuery

  [ Andrew Kelley ]
  * CI: upgrade x86_64-macos tarball to llvm 13.0.1

  [ joachimschmidt557 ]
  * stage2 ARM: lower const slices

  [ Andrew Kelley ]
  * CI: upgrade x86_64-macos tarball to llvm 13.0.1

  [ Jakub Konka ]
  * CI: upgrade both host and target tarballs to llvm 13.0.1 x86_64-macos
  * Revert "CI: upgrade both host and target tarballs to llvm 13.0.1 x86_64-macos"

  [ Andrew Kelley ]
  * stage2: LLVM backend: adjust replaceAllUsesWith usage
  * stage1: fix f80 size and alignment on x86 and arm
  * stage1: fix softfloat not getting correct endianness
  * make f80 less hacky; lower as u80 on non-x86
  * CI: additionally test stage2 LLVM backend targeting aarch64-linux
  * LLVM backend: fix union with only 1 tag tripping llvm assertion
  * LLVM backend: call constPtrToInt instead of constBitCast
  * stage1: override f80 alignment for i386-windows
  * Sema: int casting to u0 returns const value
  * LLVM backend: avoid creating invalid LLVM types
  * LLVM backend: handle unnamed structs when lowering array values
  * LLVM backend: disable failing aarch64 behavior test
  * disable NaN f80 behavior tests

  [ Jakub Konka ]
  * Skip @sqrt f80 test on freebsd
  * macho: put linker symlink for cache invalidation in zig-cache

  [ Andrew Kelley ]
  * stage2: implement `@popCount` for SIMD vectors
  * organize behavior tests
  * move more behavior tests to the "passing" section

  [ Veikka Tuominen ]
  * parser: make missing semicolon error point to the end of the previous token
  * parser: make missing comma errors point to the end of the previous token
  * update compile error tests
  * parser: give better errors for misplaced `.{`

  [ sharpobject ]
  * std.json: fix compile error for comptime fields

  [ Veikka Tuominen ]
  * std: force refAllDecls to actually resolve all decls

  [ Jacob G-W ]
  * stage2: add decltests

  [ Cody Tapscott ]
  * Simplify implementation of floorPowerOfTwo in std.math

  [ Sebsatian Keller ]
  * Fixed progress indicator for `zig test` (#10859)

  [ Mateusz Radomski ]
  * Implement f128 `@rem`

  [ Koakuma ]
  * Import SPARCv9 libunwind

  [ Tw ]
  * Fix preadv/pwritev bug on 64bit platform

  [ Cody Tapscott ]
  * Add `abi_size` parameter to read/writeTwosComplement
  * Add additional tests for `@bitCast`
  * Skip 8/16-bit `@bitCast` test for wasm

  [ ominitay ]
  * std.c.darwin.Stat: use timespec
  * std.c.haiku: move Stat.crtime to Stat.birthtime
  * std.c.Wasi.Stat: use timespec
  * std.c.*: add birthtime function to Stat
  * std.fs: Implement cross-platform metadata API

  [ Cody Tapscott ]
  * Cast abi_size to usize

  [ joachimschmidt557 ]
  * stage2 regalloc: track Inst instead of ?Inst in register mapping

  [ Sebastian Keller ]
  * test_runner.zig: Do not log test name twice

  [ erikarvstedt ]
  * std.Progress: fix suffix printing

  [ John Schmidt ]
  * stage2: improve compiler error message for bad union init

  [ Veikka Tuominen ]
  * std: fix tests that were not run due to refAllDecls regression

  [ Al Hoang ]
  * haiku add missing cimport include for compilation

  [ Jakub Konka ]
  * macho: re-enable creating dSYM bundle

  [ Andrew Kelley ]
  * add missing source file to CMakeLists.txt
  * langref: correct info about type info of declarations

  [ ominitay ]
  * std.os: throw compile error for `argv` on Windows

  [ joachimschmidt557 ]
  * stage2 AArch64: implement is_err/is_non_err for simple error unions
  * stage2 AArch64: implement loading from register
  * stage2 AArch64: Add madd, msub, mul, mneg instructions
  * stage2 AArch64: implement slice_len and slice_elem_val
  * stage2 AArch64: implement unwrap_errunion_err and struct_field_ptr
  * stage2 AArch64: minor refactors in Mir + Emit
  * stage2 AArch64: extract store out of airStore for recursive calls
  * stage2 AArch64: Implement binOp for add, sub
  * stage2 AArch64: implement cond_br for other MCValues
  * stage2 AArch64: Implement not for booleans
  * stage2 AArch64: Fix issue in binOp and add regression test
  * stage2 AArch64: Implement calling function pointers
  * stage2 AArch64: Enable behavior testing
  * ci: add aarch64-linux behavior tests

  [ John Schmidt ]
  * LLVM backend: refactor LLVM bitcount ops (#10882)

  [ Andrew Kelley ]
  * CI: update download page and langref for 0.9.1

  [ viri ]
  * std.Thread(windows): use NT internals for name fns

  [ Jan Philipp Hafer ]
  * stage1: fix comptime saturation subtraction

  [ Anthony Carrico ]
  * Adds Linux support for POSIX file locking with fcntl

  [ Jakub Konka ]
  * stage2: disable failing aarch64-macos behavior tests
  * aarch64: introduce MCValue.got_load and MCValue.direct_load
  * aarch64: add lowerUnnamedConst glue to codegen

  [ Andrew Kelley ]
  * zig cc: handle `-l :FILE` syntax
  * CI: update macos and freebsd tarballs
  * ci: update x86_64-linux tarballs

  [ Jakub Konka ]
  * macho: handle binary updates in dSYM companion file

  [ iddev5 ]
  * fmt: allow uppercase prefix to be parsed in std.fmt.parseInt()

  [ Jakub Konka ]
  * x64: impl genBinMathOpMir for ptr_stack_off and PIE memory
  * x64: fix ptr_add
  * x64: implement airSlice
  * x64: separate ptr_add and ptr_sub from normal bin ops
  * x64: fix signed truncate

  [ joachimschmidt557 ]
  * stage2 AArch64: Simplify and correct invocations of genInlineMemcpy

  [ Cody Tapscott ]
  * cbe: Add `writeCValueDeref` and small re-factor

  [ Jakub Konka ]
  * x64: overhaul stack handling mechanics

  [ Cody Tapscott ]
  * Fix 2D array support for C backend

  [ Jakub Konka ]
  * x64: refactor use of inline memcpy

  [ Andrew Kelley ]
  * link: avoid double close on openPath error
  * build.zig: bootstrap stage1 with zig0

  [ Jakub Konka ]
  * x64: handle storing non-pow2 values to stack from register

  [ Andrew Kelley ]
  * ci: use zig-bootstrap for windows

  [ Hadrien Dorio ]
  * ci: azure: split build-and-test step (#10853)

  [ Veikka Tuominen ]
  * parser: make some errors point to end of previous token
  * parser: get rid of "invalid token" error

  [ Koakuma ]
  * stage1: use u16 for __truncxfhf2/__extendhfxf2 on non-Arm CPUs

  [ John Schmidt ]
  * stage2: implement vector floatops

  [ Jonathan Marler ]
  * reduce build error noise

  [ Jakub Konka ]
  * x64: fix ptr_add and ptr_sub

  [ Veikka Tuominen ]
  * stage1: improve error message when casting tuples

  [ Luuk de Gram ]
  * wasm-linker: Add Object file parsing
  * wasm-linker: Implement section merging
  * wasm-linker: Allocate atoms and handle imports
  * wasm-linker: Fix symbol resolving and relocs
  * wasm-linker: Simplify symbol names

  [ Veikka Tuominen ]
  * parser: add error for missing colon before continue expr

  [ Andrew Kelley ]
  * stage2: add more functions to freestanding libc
  * stage2: fix crash using -femit-bin

  [ Veikka Tuominen ]
  * parser: add notes to decl_between_fields error
  * stage1: fix f80 negation

  [ Andrew Kelley ]
  * Revert "reduce build error noise"

  [ J87 ]
  * Replace magic numbers with clearer representation

  [ Andrew Kelley ]
  * Sema: fix typeinfo for sentinels of array and pointer
  * Sema: fix typeinfo for enums with no declarations
  * build.zig: fix test-stage2 regression with -Denable-llvm
  * Sema: implement type info for structs
  * CI: more stage2 test coverage
  * CI: simplify linux script
  * CLI: resolve system libs into static libraries
  * ci: linux: re-use cmake config for finding LLVM
  * build.zig: restore the ability to bootstrap with zig0 via option

  [ Jakub Konka ]
  * x64: pass all args on stack in debug and if not extern fn
  * x64: implement slice_elem_ptr
  * x64: implement array_elem_val when array fits in register
  * x64: implement array_elem_val when array is stored in memory
  * x64: fix wrong regalloc with inst tracking in airCmp
  * x64: rename copyToNewRegister to copyToRegisterWithInstTracking for impr clarity
  * x64: ensure 16byte stack alignment across calls

  [ chip2n ]
  * Fix incorrect documentation for std.HashMap.remove()

  [ Lee Cannon ]
  * std.testing.refAllDecls: force decl to be analyzed with just `@field`

  [ Cody Tapscott ]
  * stage2: Implement `@bitReverse` and `@byteSwap`
  * Skip failing stage1 `@bitReverse` test
  * Add backend-specific skips for bitreverse, byteswap tests

  [ Andrew Kelley ]
  * stage2: eliminate ZIR arg instruction references to ZIR
  * ArrayList: add unusedCapacitySlice to the unmanaged API
  * stage2: make AIR not reference ZIR for inline assembly

  [ Veikka Tuominen ]
  * parser: fix "previous field here" pointing to wrong field

  [ joachimschmidt557 ]
  * stage2 ARM: simplify invocations of genInlineMemcpy
  * stage2 ARM: move add and sub to new binOp lowering mechanism
  * stage2 ARM: move mul to binOp lowering mechanism
  * stage2 ARM: move {bool,bit}_{or,and} to binOp lowering mechanism
  * stage2 ARM: fix boolean and bitwise not
  * stage2 ARM: move shl, shr to binOp lowering mechanism
  * stage2 ARM: implement airCmp with binOp lowering mechanism

  [ David Martschenko ]
  * C backend: fix codegen for field_ptr/elem_ptr values
  * C backend: adjust order of parameters in renderDeclName

  [ Jakub Konka ]
  * x64: add lowering for single operand imul and idiv
  * x64: implement div_exact for ints (signed+unsigned)
  * x64: add unsigned div and move logic into a helper fn
  * x64: clean up implementation of divs, mod, rem for integers
  * add integer division tests

  [ Veikka Tuominen ]
  * stage2: support anon init through error unions and optionals
  * stage2: correct use of .unwrap_err_union_* in LLVM and C backend
  * stage2: implement errunion_payload_ptr_set

  [ Lee Cannon ]
  * StackIterator should not try to check validity on freestanding

  [ Andrew Kelley ]
  * Sema: implement `@typeInfo` for list literals
  * AstGen: evaluate `comptime var` init expressions in a comptime context

  [ Ryan Liptak ]
  * os.getenvW: Fix case-insensitivity for Unicode env var names
  * os.getenvW: Fix handling of special `=`-prefixed env vars

  [ Veikka Tuominen ]
  * stage2: support anon init through error unions and optionals at runtime
  * stage2: validate struct/array init ty

  [ Andrew Kelley ]
  * AstGen: emit break_inline for corresponding inline loops
  * Sema: implement readFromMemory for arrays
  * Sema: fix inline break from a non-comptime scope to outer one

  [ Dante Catalfamo ]
  * Add OpenBSD auth functions

  [ Veikka Tuominen ]
  * fix formatting in openbsd.zig
  * stage2: make field/array base ptr work at comptime

  [ Luuk de Gram ]
  * stage2: Fix 32bit builds

  [ David John ]
  * stage2: fix typo in riscv64/Emit.zig

  [ Steven Fackler ]
  * Support -Wl,--soname

  [ Stephen Gutekanst ]
  * use process.argsWithAllocator iterator for command line handling
  * enable passing build-[lib|exe|obj] params via @args.rsp file
  * std: have Builder use response files if zig build args exceed OS limits

  [ Ali Chraghi ]
  * Update Tokenizer Dump Function

  [ Carlos Zúñiga ]
  * Use lowercase in shasum for windows builds

  [ gwenzek ]
  * enable Gpu address spaces (#10884)

  [ Stephen Gutekanst ]
  * zig build: use orelse to fetch next argument
  * std: Builder: account for null term considering response files
  * std: Builder: use response files for zig test invocations too
  * zig build: use a custom iterator for merging args and response file

  [ joachimschmidt557 ]
  * stage2 AArch64: implement storing to memory
  * stage2 AArch64: distinguish between sp/wsp and xzr/wzr
  * stage2 AArch64: replace genMulConstant with binOp
  * stage2 AArch64: implement genSetReg for ptr_stack_offset
  * stage2 AArch64: pass a few more behavior tests

  [ Andrew Kelley ]
  * disable failing nvptx test case
  * Sema: fix comptime union initialization
  * Sema: fix union auto-enum numbering

  [ Motiejus Jakštys ]
  * [std.ArrayList] return explicit errors

  [ Andrew Kelley ]
  * Sema: auto-numbered enums increment from last tag value
  * Sema: fix comptime coercion of payload to error union

  [ Jakub Konka ]
  * x64: sub is non-commutative
  * x64: reorder resolving call params: return values first, then params
  * x64: first, really horrible attempt at returning values on stack
  * x64: pass pointer to stack for return value in .rdi register
  * x64: recover address in rdi if was spilled
  * codegen: lower error_set and error_union
  * x64: implement unwrap_err_payload and unwrap_err_err for stack offset
  * codegen: lower repeated and empty_with_sentinel array type
  * x64: add basic impl of minimum builtin for ints
  * x64: add basic impl of shl for integers
  * liveness: add helper for extracting liveness of switch branch
  * x64: add basic, naive impl of switch
  * x64: fix lowering of error unions (we didn't pad to alignment)
  * x64: add naive impl of else in switch
  * x64: spill compare flags between blocks, extern calls, and cmp insts
  * std: enable print results in test_runner for stage2_x86_64
  * Port bitcast.zig tests
  * std: export ceil builtins in stage2
  * Port more behavior tests
  * x64: disable printing results on macos until I fix the linker
  * x64: completely ignore printing tests on macos until I fix the linker
  * Skip unsupported enum behavior tests
  * Skip unsupported while behavior tests
  * Skip @src for stage1 too

  [ Stephen Gutekanst ]
  * zig build: style: remove unnecessary constant bindings

  [ Felix Queißner ]
  * std.os.linux.socketpair: fd is an out parameter

  [ Veikka Tuominen ]
  * stage1: rename TypeInfo.FnArg to Fn.Param
  * stage2: add parameters to fn typeInfo

  [ xReveres ]
  * stage1-wasm: implement shared memory
  * wasm: shared memory checks
  * wasm: correct shared memory error text

  [ Veikka Tuominen ]
  * stage2: misc fixes in Sema
  * re-enable `@src` behavior test

  [ Evan Haas ]
  * translate-c: Add support for cast-to-union

  [ Exonorid ]
  * Add documentation for common mistakes in errdefer scoping

  [ Luuk de Gram ]
  * wasm-linker: Emit symbol table for object file
  * wasm-linker: Emit segment info
  * wasm-linker: Do not merge data segments for obj
  * wasm-linker: Emit relocations for object files
  * wasm-linker: Implement `updateDeclExports`

  [ Jakub Konka ]
  * macho: synthesising __mh_execute_header needs to work with incremental
  * macho: ensure we save the fully qualified name for any local symbol
  * x64: account for multiple returns from functions
  * std: re-enable result printing in the test runner for macos

  [ Andrew Kelley ]
  * stage2: make -lgcc_s additionally link libunwind

  [ joachimschmidt557 ]
  * stage2 AArch64: remove MIR load_memory instruction
  * stage2 AArch64: more support for MCValue.got_load and direct_load

  [ Jan Philipp Hafer ]
  * compiler_rt: specify goals, organize README and compiler_rt.zig

  [ Jakub Konka ]
  * elf: use fully qualified decl names in the linker

  [ Mitchell Hashimoto ]
  * stage2: peer type resolution *[N]T and *[M]T to []const T

  [ Andrew Kelley ]
  * stage2: integer-backed packed structs

  [ Veikka Tuominen ]
  * stage2: implement fieldParentPtr
  * spirv spec: do not align packed struct fields

  [ Andrew Kelley ]
  * Revert "Merge pull request #10950 from hexops/sg/responsefiles"

  [ Isaac Freund ]
  * std: work around current packed struct situation

  [ Veikka Tuominen ]
  * stage2: change how stale `store_to_block_ptr`s are detected

  [ protty ]
  * time: introduce Instant (#10972)

  [ Andrew Kelley ]
  * stage2: improved handling of store_to_block_ptr
  * Sema: implement tupleFieldVal, fix comptime elem_ptr

  [ Luuk de Gram ]
  * wasm: Refactor lowerUnnamedConst
  * wasm: Fix error union's size/alignment

  [ Veikka Tuominen ]
  * stage2: make array len field type usize to match stage1
  * Revert "stage2: make array len field type usize to match stage1"

  [ Jakub Konka ]
  * macho: redo selection of segment/section for decls and consts
  * aarch64: check if type has runtime bits before allocating mem ptr
  * x64+aarch64: check for pointer to zero-bit type when lowering decl

  [ Mitchell Hashimoto ]
  * stage2: peer resolve *[N]T to []T (and vice versa)
  * stage2: *[N]T and E![]T
  * stage2: another passing test
  * stage2: remove extranneous debug
  * stage2: add other backend skips until they determine they pass
  * stage2: *[N]T to [*]T (and vice versa)
  * stage2: resolve peer types that trivially coerce
  * stage2: split up the big sentinel peer cast test to multiple

  [ Endel Dreyer ]
  * fix typo on Thread's getHandle docs

  [ Al Hoang ]
  * add constant for haiku

  [ joachimschmidt557 ]
  * stage2 ARM: implement truncate to ints with bits <= 32
  * stage2 ARM: generate correct variants of ldr instruction

  [ Veikka Tuominen ]
  * stage2: evaluate TypeOf arguments in a separate scope
  * stage2: do not require function when evaluating typeOf

  [ Mitchell Hashimoto ]
  * typo in comment

  [ Veikka Tuominen ]
  * stage2: actually coerce in coerce_result_ptr at comptime
  * stage2: fix toAllocatedBytes on slices
  * stage2: unify runtime and comptime coerce_result_ptr

  [ Mitchell Hashimoto ]
  * stage2: skip more tests for native backends

  [ Veikka Tuominen ]
  * stage2: various fixes to get one test passing

  [ Andrew Kelley ]
  * Sema: make `align(a) T` same as `align(a:0:N) T`
  * Sema: Module.Union.abiAlignment can return 0
  * Sema: implement `@enumToInt` for unions

  [ Mitchell Hashimoto ]
  * stage2: @TypeInfo for error sets (#10998)

  [ Andrew Kelley ]
  * Sema: implement union value equality at comptime
  * stage2: implement `@unionInit`
  * Sema: handle error.GenericPoison in fieldVal

  [ Veikka Tuominen ]
  * stage2: get formatted printing (somewhat) working

  [ Cody Tapscott ]
  * stage2: Resolve union layout before getting tag type in zirTagname
  * stage2 sema: Implement comptime result for comparison of uint to comptime value

  [ Veikka Tuominen ]
  * stage2: use stage1 test runner for stage2
  * stage2: fix bitcast to optional ptr in llvm backend; omit safety check for intToPtr on optional ptr
  * test runner: remove unnecessary stage2 workaround
  * stage2: forward discard result loc to more expressions
  * stage2: do not memoize calls that can mutate comptime state

  [ Motiejus Jakštys ]
  * std.HashMap: return explicit errors (#11000)

  [ Cody Tapscott ]
  * stage2: Implement `@Type` for Array, Optional, Float, and ErrorUnion

  [ David John ]
  * std: rename `sched_yield` to `yield` and move it to `std.Thread`

  [ joachimschmidt557 ]
  * stage2 ARM: reduce Mir.Inst.Data to 8 bytes
  * stage2 ARM: enable more behavior tests
  * stage2 ARM: implement slice and array_to_slice

  [ Cody Tapscott ]
  * stage2: Resolve alignment for union field in `@TypeInfo`

  [ Andrew Kelley ]
  * Sema: resolve necessary information ahead of time

  [ Veikka Tuominen ]
  * stage2: implement builtin_call

  [ Jakub Konka ]
  * x64: impl airSetUnionTag
  * codegen: impl lowering of union type to memory
  * x64: make lowerUnnamedConst a fallthrough condition
  * x64: impl airGetUnionTag
  * x64: fix store with ABI size > 8 on stack; pass union tests
  * x64: fix switch condition mir; pass more union tests

  [ Andrew Kelley ]
  * zig cc: special handling of /dev/null

  [ Veikka Tuominen ]
  * stage2: slice mul/cat
  * stage2: tuple mul/cat
  * make gpa.deinit work with stage2
  * stage2: implement `@frameAddress`

  [ Andrew Kelley ]
  * stage2: fix frame_address AIR instruction

  [ Motiejus Jakštys ]
  * std.BufSet: add clone and cloneWithAllocator

  [ Mitchell Hashimoto ]
  * stage2: sentinel comp during peer type resolution should use elem type

  [ Jakub Konka ]
  * x64: impl unwrap_errunion_payload and unwrap_errunion_err for register
  * codegen: fix padding calculation for error unions when lowering
  * x64: clean up loadMemPtrIntoRegister abstraction
  * x64: implement get_union_tag for register
  * x64: pass more behavior tests

  [ Andrew Kelley ]
  * Sema: fix pointer type hash and equality functions
  * Sema: complete the Type.hash function

  [ Mitchell Hashimoto ]
  * stage2: implement peer type resolution between error unions
  * stage2: peer resolve error sets and unions, add more tests
  * stage2: error union and non-error set/union peer cast resolution
  * skip tests on native backends
  * stage2: order of error set merging should match stage1
  * stage2: skip error union test on native
  * stage2: error union/set peer resolution switch to "else" form of for loop
  * stage2: pass generic poison  up the chain in peer type resolution

  [ Andrew Kelley ]
  * Sema: clean up peer resolution of errors

  [ Luuk de Gram ]
  * wasm-object: Use given allocator rather than arena
  * wasm-linker: Intern all symbol names
  * wasm-linker: Intern globals, exports & imports

  [ joachimschmidt557 ]
  * stage2 ARM: implement return types with abi size > 4

  [ Jakub Konka ]
  * x64: impl airMemcpy using inline memcpy
  * x64: impl airMemset using inline memset
  * x64: fix array to slice impl

  [ Motiejus Jakštys ]
  * std.BufSet.clone: fix key ownership

  [ Jakub Konka ]
  * codegen: lower field_ptr to memory across linking backends

  [ Andrew Kelley ]
  * Sema: eliminate use of resolveAlreadyCoercedInt

  [ Jakub Konka ]
  * codegen: ensure we descend on nested field_ptrs when lowering

  [ Andrew Kelley ]
  * LLVM: fix when sret and isByRef ret_ty disagree
  * LLVM: fix tripping assertions
  * Sema: correct implementation of comptimeOnly for tuples
  * LLVM: add extra padding to structs and tuples sometimes
  * stage2: introduce anonymous struct literals

  [ Jakub Konka ]
  * codegen: lower optionals and floats across linking backends

  [ Veikka Tuominen ]
  * stage2: implement `@extern`
  * stage2: resolve options values
  * stage2: add cast from ?*T to ?*anyopaque

  [ Jakub Konka ]
  * x64: rectify and add missing optionals bits
  * x64: fix intCast to properly clear out dest register
  * x64: fix incorrect calc of rdi spill stack loc for backpatching
  * codegen: leave f80 explicitly unhandled for now
  * x64: fix bug in lowering optionals directly to immediate

  [ Cody Tapscott ]
  * stage2 parser: UTF-8 encode \u{NNNNNN} escape sequences

  [ Curtis Wilkinson ]
  * Zir: rename the 'ret_coerce' tag to 'ret_tok' as per TODO

  [ Andrew Kelley ]
  * LLVM: aggregate_init supports structs
  * Sema: detect comptime-known union initializations

  [ Jakub Konka ]
  * codegen: handle elem_ptr when lowering to memory

  [ Andrew Kelley ]
  * Sema: add coercion from anon structs to unions

  [ Mitchell Hashimoto ]
  * stage2: implement @errSetCast (#11039)

  [ Andrew Kelley ]
  * Sema: implement cast from anon struct ptr to union ptr
  * LLVM: fix lowering of unions and switches
  * stage2: add all functions to freestanding libc
  * behavior tests cleanup: promote math.zig
  * freestanding libc: add missing export of sqrt, sqrtf

  [ Motiejus Jakštys ]
  * std.BoundedArray: return explicit errors (#11044)

  [ Mitchell Hashimoto ]
  * stage2: peer resolve const u8 slices correctly
  * stage2: peer resolve const array pointer to unknown ptr
  * stage2: reify error sets

  [ Cody Tapscott ]
  * stage2: Preserve larger alignment in @ptrCast
  * stage2: support @ptrCast for slices with an offset
  * stage2 llvm: Lower 0-bit field-ptr as ptr-to-void

  [ Andrew Kelley ]
  * Sema: allow pointers to opaques to be aligned

  [ Hiroaki Nakamura ]
  * os/linux/io_uring: add recvmsg and sendmsg (#10212)

  [ Veikka Tuominen ]
  * stage2: add 'called from here' error note
  * stage2: remove opaque type workaround from `Type.ptrAlignment`
  * stage2: make analyzePtrArithmetic no-op with offset=0

  [ Cody Tapscott ]
  * stdlib: Add emulated CWD to std.os for WASI targets
  * stdlib WASI: Add realpath() support for non-absolute Preopens
  * stdlib std.os: Rename `RelativePath` to `RelativePathWasi`

  [ Luuk de Gram ]
  * wasm: Implement `@wasmMemorySize()` builtin
  * wasm: Implement `@wasmMemoryGrow` builtin
  * Update behavior tests
  * cbe: Implement wasm builtins

  [ Andrew Kelley ]
  * stage2: cleanups to wasm memory intrinsics

  [ Mitchell Hashimoto ]
  * stage2: peer resolve *T to [*c]T

  [ Andrew Kelley ]
  * Sema: rework peer type logic for pointers

  [ joachimschmidt557 ]
  * stage2 ARM: generate less no-op branches

  [ Andrew Kelley ]
  * zig cc: integrate with -fstack-check, -fno-stack-check
  * stage2: fix tuple assigned to variable

  [ joachimschmidt557 ]
  * stage2 AArch64: introduce logical immediate instructions
  * stage2 AArch64: implement bitwise binary operations
  * stage2 AArch64: generate less no-op branches

  [ Mitchell Hashimoto ]
  * stage2: test changed behavior of c pointer resolution from stage1

  [ joachimschmidt557 ]
  * stage2 AArch64: add more slice support

  [ Jakub Konka ]
  * macho: handle optional non-ptr types in DWARF
  * macho: migrate to named struct for slices
  * macho: write NOPs as padding for machine code section
  * macho: remove anon_struct_type which is now redundant
  * macho: fix incorrect line and pc advancement
  * elf: add debug info for non-ptr optionals

  [ Stephen Gutekanst ]
  * Revert "Revert "Merge pull request #10950 from hexops/sg/responsefiles""
  * fix regression in `zig run` runtime arguments

  [ The Depressed Milkman ]
  * correct `@frameSize()` params in documentation

  [ Mitchell Hashimoto ]
  * stage2: coerce [*:0]u8 to other valid pointer types

  [ Luuk de Gram ]
  * stage2: Fix codegen for unions and error unions

  [ Jakub Konka ]
  * x64: fix (un)wrapping error unions + refactor

  [ Luuk de Gram ]
  * wasm: Call `generateSymbol` for updateDecl
  * wasm: call into `generateSymbol` when lowering
  * wasm: Remove old DeclGen/genTypedValue
  * wasm: Unify function generation

  [ Daniele Cocca ]
  * CBE: mark more tests as passing

  [ Luuk de Gram ]
  * stage2: Fix wasm linker for llvm backend

  [ Andrew Kelley ]
  * CI: additionally test wasm32-wasi with LLVM backend

  [ Luuk de Gram ]
  * wasm: Fix incremental compilation

  [ John Schmidt ]
  * stage2: implement `@mulAdd` for scalar floats

  [ Andrew Kelley ]
  * stage2: rework `@mulAdd`
  * compiler-rt: make __fmax and fmaq aliases of fmal
  * stage1: improved implementation of target_long_double_is_f128
  * disable failing `@mulAdd` test
  * compiler_rt: additional powerpc-specific alias
  * compiler_rt: avoid redundant exports when testing
  * ci: azure: update to newest LTS ubuntu
  * std: disable flaky os.fcntl test
  * Sema: handle peer type resolution of optional slices

  [ Mitchell Hashimoto ]
  * stage2: resolve array type for typed array init expressions
  * stage2: new zir array_init_sent for sentinel-terminated array inits

  [ Andrew Kelley ]
  * stage2: fix union layout returning non-zero for zero-sized tag
  * Sema: fix `@hasDecl` for simple enums

  [ Jakub Konka ]
  * dwarf: move all dwarf into standalone module

  [ Veikka Tuominen ]
  * stage2: fix mem{set,cpy} for non comptime mutable pointers
  * stage2: correct constness of allocs

  [ joachimschmidt557 ]
  * stage2 ARM: implement ptr_add, ptr_sub for all element sizes

  [ Jakub Konka ]
  * x64: pass more behavior/cast.zig tests

  [ Jonathan Marler ]
  * deprecated TypeInfo in favor of Type

  [ Evan Haas ]
  * translate-c: use nested scope for comma operator in macros

  [ Benjamin San Souci ]
  * std.json: correctly handle sentinel terminated slices

  [ Mitchell Hashimoto ]
  * stage2: elem vals of many pointers need not deref pointers
  * stage2: inferred alloc can use bitcast ty
  * stage2: sentinel array init must add sentinel to array value

  [ joachimschmidt557 ]
  * stage2 ARM: implement ret_load

  [ Andrew Kelley ]
  * LLVM: add compile unit to debug info
  * langref: fix a stray anyopaque that should be a void
  * LLVM: add DISubprogram and DIType lowering; handle dbg_stmt
  * LLVM: memoize debug types and add enum debug types
  * LLVM: add debug type lowering for ptr, slice, opaque, optional
  * LLVM: fix not handling dbg_stmt relative line
  * LLVM: add debug info for parameters
  * LLVM: no longer store args into alloca instructions
  * stage2: implement Type.getOwnerDecl for opaque types
  * LLVM: add debug info for opaque, vector, and tuples
  * LLVM: fix memory leak of debug type names
  * Sema: implement comptime struct fields
  * Sema: implement coercion of tuples to structs

  [ Stephen Gregoratto ]
  * Add bits for the Linux Secure Computing facility

  [ Andrew Kelley ]
  * Sema: implement tuple fieldptr and fieldval

  [ Veikka Tuominen ]
  * Sema: handle noreturn result in condbr_inline
  * AstGen: ensure lableld block implicitly ends in a break

  [ Luuk de Gram ]
  * wasm: Improve switch implementation
  * wasm: Implement fpext
  * wasm: Preliminary `fptrunc` support
  * wasm: Implement `errunion_payload_ptr_set`
  * wasm: Implement `field_parent_ptr`
  * wasm: Enable passing behavior tests

  [ Andrew Kelley ]
  * Sema: fix generic fn instantiation with anytype
  * std.mem: remove redundant namespaces in test names
  * Sema: fix crash with `@sizeOf` on unions
  * Sema: implement pointer-to-tuple coercion to slice and struct

  [ Meghan ]
  * std: fix false positive for `zig.isValidId` with empty string (#11104)

  [ Andrew Kelley ]
  * Sema: implement pointer to tuple to pointer to array coercion

  [ Veikka Tuominen ]
  * Sema: add coercion from [:x]T to [*:x]T
  * Sema: if generic function evaluates to another generic function call it inline
  * stage2 llvm: implement lowerParentPtr for int_{u,i}64
  * Sema: implement zirStructInit is_ref=true union

  [ Andrew Kelley ]
  * std: add sort method to ArrayHashMap and MultiArrayList

  [ Marc Tiehuis ]
  * math: fix big.int div, gcd and bitAnd edge-cases

  [ Mitchell Hashimoto ]
  * stage2: error_set_merged type equality

  [ Andrew Kelley ]
  * stage2: improve Type.eql and Type.hash for error sets

  [ Jakub Konka ]
  * macos: add mach_* syscalls for process mgmt

  [ Andrew Kelley ]
  * stage2: implement integer pointer constants
  * AstGen: lower anon struct inits differently
  * AstGen: structInitExpr and arrayInitExpr avoid crash
  * stage2: fix comptime element load of undef array
  * stage2: passing threadlocal tests for x86_64-linux

  [ Veikka Tuominen ]
  * Sema: improve detection of generic parameters
  * Sema: enable shl and bitwise for vectors at runtime
  * stage2: implement `@shuffle` at runtime
  * Sema: implement `@shuffle` at comptime and for differing lengths

  [ joachimschmidt557 ]
  * stage2 regalloc: replace Register.allocIndex with generic indexOfReg
  * stage2 ARM: implement caller-saved registers

  [ Veikka Tuominen ]
  * Sema: make check for whether call should be memoized more thorough

  [ Andrew Kelley ]
  * std.os: disable failing fnctl file locking test

  [ Mitchell Hashimoto ]
  * stage2: @hasField for anon structs

  [ Andrew Kelley ]
  * Sema: make `@hasField` support tuples too

  [ Daniele Cocca ]
  * CBE: mark union_with_members as passing

  [ Mitchell Hashimoto ]
  * stage2: Array len field should be a usize not comptime_int
  * stage2: is_non_error always returns comptime true for empty error set

  [ Daniele Cocca ]
  * CBE: implement clz, ctz for ints <= 128 bits

  [ Mitchell Hashimoto ]
  * stage2: zirReify for enums

  [ Andrew Kelley ]
  * stage2: remove SPDX license header comments
  * Sema: fix resolution of inferred error sets
  * Sema: fix inline/comptime function calls with inferred errors
  * LLVM: fix debug info for pointers to void

  [ Mitchell Hashimoto ]
  * stage2: enum field length must be a usize
  * stage2: reify should use pointerDecl to get array value
  * stage2: use usizecast for safety

  [ Andrew Kelley ]
  * std.ArrayList: use variable for local mutable state
  * std.math: remove redundant namespace in test names
  * LLVM: use hasRuntimeBitsIgnoreComptime instead of hasRuntimeBits
  * Type.eql: check fn attributes before params

  [ ominitay ]
  * std.math.lossyCast: fix integer overflow

  [ matu3ba ]
  * std: add test for child_process

  [ Veikka Tuominen ]
  * Sema: fix typo in resolvePeerTypes
  * Sema: fix else branch check when switching on error set
  * Sema: always allow coercing error set to current inferred error set
  * stage2 llvm: do not use getIntrinsic for airFrameAddress
  * AstGen: fix nosuspendExpr handling result location twice

  [ joachimschmidt557 ]
  * stage2 x86_64: Fix assertion in getResolvedInstValue

  [ Mitchell Hashimoto ]
  * stage2: reify opaque {}

  [ Guillaume Wenzek ]
  * fix nvptx test failure #10968

  [ Mitchell Hashimoto ]
  * stage2: add compiler test to ensure typed null doesn't coerce to any

  [ Andrew Kelley ]
  * stage2: add debug info for locals in the LLVM backend

  [ Jakub Konka ]
  * macos: add more mach primitives
  * macos: add kernel return values

  [ Daniele Cocca ]
  * CBE: skip 0 bit integers from function signatures
  * CBE: implement popCount, byteSwap, bitReverse for ints <= 128 bits

  [ joachimschmidt557 ]
  * stage2 AArch64: implement bit shifts with register operands
  * stage2 AArch64: Implement bit shifting with immediate operands
  * stage2 AArch64: spill compare flags when necessary
  * stage2 AArch64: implement ptr_add for all element sizes
  * stage2 AArch64: enable mul for ints with <= 64 bits

  [ Jakub Konka ]
  * macos: add Mach task abstraction
  * macho: simplify writing atoms for stage2
  * std: fix imports for darwin specific flags and funcs
  * std: more c/darwin.zig fixes
  * std+macho: revert and fix exposing Mach wrappers in std.os and std.c

  [ Koakuma ]
  * c/linux: Fix `stat` struct definition for SPARCv9

  [ Daniele Cocca ]
  * Review suggestion: use hasRuntimeBitsIgnoreComptime()
  * Remove signed_type from zig_{clz,ctz,popcount}

  [ Andrew Kelley ]
  * LLVM: fix debug info for local vars
  * basic language features do not belong in std.meta
  * LLVM: fix int_to_float signedness detection
  * disable failing nvptx test cases
  * freestanding libc: include roundl
  * Sema: Type.abiSize asserts instead of using max with alignment
  * Sema: improve lowering of stores to bitcasted vector pointers

  [ Mitchell Hashimoto ]
  * stage2: reify structs and tuples (#11144)

  [ Andrew Kelley ]
  * stage2: rework Value storage of structs and arrays

  [ Daniele Cocca ]
  * CBE: split {clz,ctz,mod,popCount,byteSwap,bitReverse} by type

  [ Mitchell Hashimoto ]
  * stage2: reify unions
  * stage2: enum reification should use sliceLen and elemValue

  [ Curtis Tate Wilkinson ]
  * zig fmt: Resolve #11131 loss of comment on switch cases

  [ Mitchell Hashimoto ]
  * stage2: LLVM codegen of arrays should use type length, not value length
  * stage2: apply fix for #11165 to codegen.zig for native backends

  [ William Sengir ]
  * stage2: add debug info for globals in the LLVM backend

  [ Cody Tapscott ]
  * stage2: Add container_ty/elem_ty to elem_ptr, field_ptr, *_payload_ptr Values
  * stage2: Add hasWellDefinedLayout() to type.zig and Sema.zig
  * stage2: Fix assertion in struct field offset when all fields are 0-size
  * stage2 sema: Respect container_ty of parent ptrs
  * stage2 llvm: Respect container type when lowering parent pointers
  * Add test for issue #11139

  [ Andrew Kelley ]
  * stage2: fixups for topolarity-comptime-memory-reinterp branch
  * LLVM: clean up airUnaryOp to call callFloatUnary
  * Sema: fix shl_sat with comptime rhs

  [ Tom Maenan Read Cutting ]
  * std: Add elf.EM, coff.MachineType to Target.CPU.Arch conversions

  [ Ali Chraghi ]
  * remove TODO

  [ Daniele Cocca ]
  * s/testClz/testCtz/g
  * CBE: fix output of airMinMax()
  * CBE: `#undef linux` in zig.h

  [ William Sengir ]
  * std.dwarf: implement basic DWARF 5 parsing

  [ Andrew Kelley ]
  * Sema: implement `@truncate` for SIMD vectors
  * AstGen: add missing coercion for const locals

  [ Mitchell Hashimoto ]
  * stage2: resolve type fully when resolving inferred allocs

  [ Cody Tapscott ]
  * stage2: comptime fields should not affect opv/comptime-only
  * stage2: Fix panic on initializing comptime fields in tuple

  [ Mitchell Hashimoto ]
  * stage2: TypeInfo for func with generic return type should set null

  [ Andrew Kelley ]
  * Sema: only do store_ptr tuple optimization for arrays

  [ Mitchell Hashimoto ]
  * stage2: move duplicate error set check to AstGen

  [ Veikka Tuominen ]
  * stage2 llvm: fix `@extern`

  [ Andrew Kelley ]
  * std.dwarf: avoid some async/await stuff in stage2 builds
  * LLVM: implement debug info for structs
  * LLVM: fix LLVM assertion when slicing

  [ Veikka Tuominen ]
  * Type: implement ptrInfo for optional pointers
  * AstGen: emit dbg_stmt before function calls and branch conditions
  * Sema: emit dbg_func around inline calls
  * stage2 llvm: keep track of inlined functions

  [ Robin Voetter ]
  * gdb: add arraylist and hashmap printer

  [ Koakuma ]
  * stage2 sparcv9: Add register definitions & instruction formats
  * stage2 sparcv9: Add initial toU32 function for serialization
  * stage2 sparcv9: Add Format 1 encoder
  * stage2 sparcv9: Add Format 2 encoder
  * stage2 sparcv9: Add CCR and RCondition enums
  * stage2 sparcv9: Fix typo in `format2c`

  [ Flandre Scarlet ]
  * stage2 sparcv9: Add Format 4 encoder

  [ Koakuma ]
  * stage2 sparcv9: Minor parameter type changes
  * stage2 sparcv9: Fix bitcast typos
  * stage2 sparcv9: Add Format 3 encoder
  * stage2 sparcv9: Reorder wrapper parameters to textual assembly order
  * stage2 sparcv9: cc -> ccr
  * stage2 sparcv9: Reorder Format 4 wrappers too
  * stage2 sparcv9: Add list of preserved regs

  [ Robin Voetter ]
  * gdb: add slice, multi array list, and array hash map printers

  [ Koakuma ]
  * stage2 sparcv9: Fix branch format asserts

  [ Robin Voetter ]
  * gdb: add printer for selfhosted Type
  * gdb: add printer for selfhosted Value
  * gdb: restructure pretty printers into different files

  [ Jakub Konka ]
  * std: introduce posix_spawn as an alt to fork-exec

  [ Koakuma ]
  * stage2 sparcv9: Add encoder test and packed struct workaround

  [ Andrew Kelley ]
  * LLVM: make the load function copy isByRef=true types

  [ joachimschmidt557 ]
  * stage2 ARM: genSetStack for stack_argument_offset
  * stage2 ARM: fix bitwise negation of ints with bits < 32
  * stage2 ARM: fix shl for ints with bits < 32
  * stage2 ARM: implement addwrap, subwrap, mulwrap

  [ Koakuma ]
  * stage2 sparcv9: Add param/return regs list

  [ Andrew Kelley ]
  * std.heap.GeneralPurposeAllocator: use `var` for mutable locals
  * stage2: fully resolve fn types after analyzing its body

  [ mparadinha ]
  * stage2: x86_64: add new `fisttp` instruction
  * stage2: x86_64: add new `fld` instruction
  * stage2: x86_64: floatToInt for f32 and f64

  [ Mitchell Hashimoto ]
  * stage2: elem_ptr needs to know if slice or direct access

  [ Andrew Kelley ]
  * Sema: different solution to elemVal
  * LLVM: fix slice debug info and functions

  [ Daniele Cocca ]
  * CBE: better handling of sentineled slices/arrays

  [ John Schmidt ]
  * Implement `@mulAdd` for vectors

  [ Andrew Kelley ]
  * remove unnecessary TODO comment

  [ Mitchell Hashimoto ]
  * stage2: bit_not on u0 is always 0

  [ Andrew Kelley ]
  * stage2: prevent UB in the LLVM backend

  [ Jakub Konka ]
  * macos: update Mach routines for accessing page info
  * macho: fix snapshot generation
  * macho: do not allocate new GOT atom when target atom has grown
  * debug: msync only current page when validation frame pointer

  [ Andrew Kelley ]
  * link.Elf: swap order of GOT and text program headers

  [ Daniele Cocca ]
  * CBE: enable more tests that are currently passing

  [ Andrew Kelley ]
  * Revert "link.Elf: swap order of GOT and text program headers"
  * disable x86_64 behavior test that does not run valgrind clean

  [ Luuk de Gram ]
  * wasm: Implement 'memcpy' instruction
  * wasm: Improve memset implementation

  [ Andrew Kelley ]
  * langref: small clarification of `@reduce`
  * std.testing: fix incorrect docs that mentioned aborting
  * zig_llvm.h: fix some declarations not being C compatible
  * stage2: implement `@reduce`

  [ John Schmidt ]
  * Implement `@byteSwap` for vectors
  * Avoid index out of bounds for one-valued types in zirValidateArrayInit

  [ Andrew Kelley ]
  * Sema: take advantage of checkIntOrVectorAllowComptime

  [ Steven Fackler ]
  * Don't strip by default in cc or c++

  [ Luuk de Gram ]
  * sema: Fix memory leak

  [ Andrew Kelley ]
  * stage2: default to LLVM backend
  * CI: explicitly pass -fno-LLVM
  * Sema: change how undefined is handled in coerce
  * stage2 test harness: ask for the backend explicitly
  * stage2: improve `@typeName`

  [ joachimschmidt557 ]
  * stage2 ARM: implement slice_elem_ptr, ptr_elem_ptr

  [ Daniele Cocca ]
  * tuple: replace expectEqual() with expect()

  [ joachimschmidt557 ]
  * stage2 ARM: remove MCValue.embedded_in_code

  [ Daniele Cocca ]
  * bugs/3779: replace expectEqual*() with expect()

  [ John Schmidt ]
  * stage2: implement `@bitReverse` for vectors
  * Refactor to `sema.typeHasOnePossibleValue`

  [ Daniele Cocca ]
  * CBE: add support for tuples

  [ joachimschmidt557 ]
  * stage2 regalloc: fix tryAllocRegs for specific situations

  [ Mitchell Hashimoto ]
  * AstGen: labeled blocks should always complete with a normal break

  [ Andrew Kelley ]
  * AstGen: remove unused parameter

  [ Mitchell Hashimoto ]
  * stage2: formatting an error_set value should print members, not decl

  [ Andrew Kelley ]
  * organize behavior tests

  [ Koakuma ]
  * stage2 sparcv9: Add placeholder files and generate() function
  * stage2 sparcv9: Fix unused parameter errors in Codegen
  * stage2 sparcv9: zig fmt

  [ Veikka Tuominen ]
  * stage2: add dbg_block_{begin,end} instruction
  * stage2: add debug info for payload captures
  * Sema: balance dbg_block_begins in case of early return
  * Sema: add debug info for inline function parameters
  * AstGen: always add dbg_block_end before last instruction
  * stage2: fix inline fn parameter debug info being added to wrong block

  [ joachimschmidt557 ]
  * stage2 RISCV64: remove MCValue.embedded_in_code

  [ Veikka Tuominen ]
  * Sema: add error for runtime block peer type being comptime only
  * std: enable default panic handler for stage2 LLVM on Linux
  * Sema: implement zirSwitchCaptureElse for error sets

  [ fn ⌃ ⌥ ]
  * translate-c: add missing builtins used by CRuby

  [ zseri ]
  * fix sigaction double panic

  [ joachimschmidt557 ]
  * stage2 RISCV64: implement move register to register
  * stage2 RISCV64: implement add, sub for registers

  [ Mitchell Hashimoto ]
  * stage2: fix crash that could happen if `as` zir fails

  [ Luuk de Gram ]
  * wasm: Implement `union_init` instruction
  * wasm: All union/tuple/array tests passing
  * wasm: Enable passing tests

  [ Robin Voetter ]
  * stage1: make type names more unique

  [ Cody Tapscott ]
  * stage2: Correctly align decls for comptime allocs

  [ Daniele Cocca ]
  * CBE: implement mod, divFloor, divTrunc

  [ Andrew Kelley ]
  * stage2: disable default panic handler when linking -lc
  * tools: fix gdb pretty printers
  * stage2: remove Value.Tag.abi_align_default

  [ Daniel Hooper ]
  * add error when binary ops don't have matching whitespace on both sides

  [ William Sengir ]
  * cmake: add missing DWARF files to ZIG_STAGE2_SOURCES

  [ jagt ]
  * add compiler_rt ceilf/ceil/ceill

  [ Andrew Kelley ]
  * freestanding libc: remove ceil functions

  [ William Sengir ]
  * stage2: add safety checks for index out of bounds

  [ Lee Cannon ]
  * OptionsStep: Always use `fmtId` for type names.

  [ Veikka Tuominen ]
  * stage2: add way to print values with types
  * stage2: add test for fixed issue
  * stage2 llvm: fix lowerDeclRefValue for function aliases

  [ mparadinha ]
  * stage2: x86_64: implement `ptr_elem_val`
  * stage2: x86_64: use correct register size when loading things from memory
  * stage2: x86_64: update passing tests after implementing ptr_elem_val

  [ Jakub Konka ]
  * x64: refactor fix reg aliasing in genSetReg
  * macho: add more codesig constants

  [ William Sengir ]
  * behavior tests: use `expect` instead of `expectEqual` in vector.zig
  * stage2: fix typo in print_air.zig
  * stage2: add AIR instruction `cmp_vector`
  * stage2: implement `cmp_vector` for LLVM backend
  * stage2: make more instructions vector-compatible in LLVM backend
  * stage2: align store for vector-to-array bitcast in LLVM backend
  * stage2: make bool binop AIR return types based on operand type
  * stage2: return `Value.zero` when truncating int to 0 bits at comptime
  * Sema: make most instructions vector-agnostic
  * behavior tests: enable all vector tests for the stage2 LLVM backend

  [ Andrew Kelley ]
  * Sema: restore propagation of error.GenericPoison for checking vectors
  * behavior tests: alter test coverage for vectors

  [ Luuk de Gram ]
  * wasm: Implement @popCount

  [ Andrew Kelley ]
  * Sema: dummy implementation of `@errorReturnTrace`

  [ Mitchell Hashimoto ]
  * stage2: out of bounds error for slicing

  [ Jakub Konka ]
  * macho: extend CodeSignature to accept entitlements

  [ Jan200101 ]
  * ignore target lib dirs when invoked with -feach-lib-rpath

  [ Jakub Konka ]
  * Revert "ignore target lib dirs when invoked with -feach-lib-rpath"

  [ Andrew Kelley ]
  * stage2: lazy `@alignOf`
  * Sema: introduce a mechanism in Value to resolve types
  * fix merge conflicts and test cases

  [ Mitchell Hashimoto ]
  * stage2: slice behavior test passes, just has diff behavior from stage1

  [ joachimschmidt557 ]
  * stage2 ARM: change semantics of MCValue.stack_offset
  * stage2 ARM: change semantics of MCValue.stack_argument_offset
  * stage2 ARM: More support for error unions
  * stage2 ARM: implement min, max for integers <= 32 bits
  * stage2 ARM: implement comparison of optional pointers

  [ Andrew Kelley ]
  * fix merge conflicts

  [ Locria Cyber ]
  * Fix ucontext_t

  [ Daniele Cocca ]
  * CBE: enable more passing tests (#11258)

  [ Jakub Konka ]
  * dwarf: lower enums

  [ Mitchell Hashimoto ]
  * stage2: runtime safety checks for slicing

  [ Andrew Kelley ]
  * Sema: fix merge conflicts with previous commit
  * Sema: rename isArrayLike to isArrayOrVector

  [ Marc Tiehuis ]
  * math/big: correct fix for divmod (#11271)

  [ Andrew Kelley ]
  * stage2: fix -Domit-stage2 regression

  [ Cody Tapscott ]
  * stage2 CBE: Improve support for unions and error sets

  [ Locria Cyber ]
  * Add sem_open & sem_close

  [ Cody Tapscott ]
  * stage2: concat/mult of slices yields ptr to array

  [ William Sengir ]
  * stage2: make zero-sized array not cause recursive type definition
  * stage2: enable some passing array & vector tests

  [ Luuk de Gram ]
  * wasm: Implement `@errorName`
  * wasm: Fix switching on errors
  * wasm: Implement opt_payload_ptr
  * wasm: Implement more instructions
  * wasm: Enable all passing tests

  [ Cody Tapscott ]
  * stage2: Properly "flatten" elem_ptrs before deref
  * stage2: Remove premature elem_val index check

  [ Andrew Kelley ]
  * add behavior test to cover bug fix in previous commit
  * behavior tests: disable failing stage1 test

  [ Mitchell Hashimoto ]
  * stage2: able to slice to sentinel index at comptime

  [ Andrew Kelley ]
  * std.os: disable failing fnctl file locking test
  * Sema: introduce a type resolution queue
  * Sema: Value.copy: we gotta copy the bytes
  * Sema: fix comptime elem_ptr compare fixed address
  * stage2: fix some generics issues

  [ Jakub Konka ]
  * dwarf: add debug info for tuples and anon structs
  * x64: implement aggregate_init for structs
  * x64: implement aggregate_init for arrays
  * x64: fix struct_field_val for structs fitting in register
  * x64: account for signed ints in struct_field_val when struct fits in a register
  * pass more behaviour tests
  * x64: fix for 32bit builds

  [ Andrew Kelley ]
  * move some files to the .github directory
  * std.meta: fix unit tests depending on unstable behavior
  * Sema: fix false negative detecting comptime const
  * AstGen: fix const locals with comptime initializations
  * std.meta.trait: remove assumption about vector ABI size
  * Sema: fix generic function with void parameters
  * std.MultiArrayList: check size of element, not pointer
  * Sema: fix closure capture typeof runtime-known parameter
  * AstGen: emit break_inline from inline while loop

  [ dxps ]
  * chore: doc fixes, closes 11091

  [ Evan Haas ]
  * translate-c: Use @Vector for vector expressions

  [ Jakub Konka ]
  * dwarf: add debug info for unions

  [ John Schmidt ]
  * stage2: implement `@select`
  * sema: use `pl_op` for `@select`
  * sema: coerce inputs to vectors in zirSelect

  [ joachimschmidt557 ]
  * stage2 AArch64: lower cmp to binOp
  * stage2 AArch64: remove MCValue.embedded_in_code
  * stage2 AArch64: change semantics of MCValue.stack_offset

  [ Cody Tapscott ]
  * Add rudimentary compile error test file support
  * zig fmt: Add `--exclude` argument to skip dir/file
  * Move existing compile errors to independent files

  [ Veikka Tuominen ]
  * Sema: add error for empty switch
  * Sema: ensure error_set_merged is sorted
  * type: fix onePossibleValue for auto numbered enums
  * Sema: implement zirSwitchCapture for error sets
  * Sema: implement zirStructInit for runtime-known union values
  * Sema: implement zirSwitchCapture multi for unions

  [ John Schmidt ]
  * Implement `type.bitSize` for unions
  * stage2: add type checking for @bitCast
  * sema: simplify @bitCast error messages

  [ joachimschmidt557 ]
  * stage2 x86_64: remove MCValue.embedded_in_code

  [ Andrew Kelley ]
  * stage2: result location types for function call arguments
  * stage2: resolve types more lazily

  [ Igor Stojkovic ]
  * stage1: Fix packed structs (#2627, #10104)

  [ joachimschmidt557 ]
  * AIR: change signature of overflow arithmetic instructions
  * Sema: change zirOverflowArithmetic to use new version of AIR insts
  * stage2 LLVM: Adjust to new AIR arithmetic overflow instructions

  [ Luuk de Gram ]
  * wasm: Only generate import when referenced
  * wasm: Enable passing tests

  [ William Sengir ]
  * Sema: remove redundant `mul_add` comptime vectorization
  * stage2: simplify `scalar_ty` for `mul_add` in LLVM backend

  [ jagt ]
  * `Namespace.decls` use context to save memory

  [ Yorhel ]
  * std.fs: Handle EINVAL from linux.getdents64

  [ tecanec ]
  * std: SIMD utility functions

  [ matu3ba ]
  * std.testing: add methods tmpDirPath, getTestArgs, buildExe

  [ leesongun ]
  * stage1: implement casting from u0

  [ BlueAlmost ]
  * std.math.Complex: add 'negation' and 'mulitply by i'

  [ Jakub Konka ]
  * macho: do not create dSYM bundle for stage2 LLVM backend

  [ iddev5 ]
  * std: explicitly handle error.UnexpectedExitCode in build_runner

  [ Mitchell Hashimoto ]
  * stage2: safety checks for slicing a null C pointer
  * stage2: runtime safety check integer cast truncating bits
  * stage2: runtime safety check intCast to u0 must fit
  * stage2: runtime safety check intCast signedness

  [ Luuk de Gram ]
  * wasm: Implement overflow arithmetic
  * wasm: Enable overflow behavior tests

  [ Veikka Tuominen ]
  * Sema: fix error set memory unsafety

  [ Jakub Konka ]
  * dwarf: add debug info for error sets
  * dwarf: add debug info for error unions
  * dwarf: do not use `Type.errorSetNames()` for inferred error sets
  * dwarf: draft poc of deferred resolution of error sets debug info
  * dwarf: rename DebugInfoAtom into Atom; free all allocated memory
  * dwarf: move DbgInfoTypeRelocsTable into Dwarf module
  * dwarf: track type relocation state in Dwarf module

  [ Veikka Tuominen ]
  * Value: hash lazy_align
  * stage2: add temporary workaround for lack of argument count check

  [ Andrew Kelley ]
  * LLVM: handle aggregate_init for packed structs
  * stage1: disable failing test
  * Sema: implement `@setFloatMode`
  * std.crypto.blake3: use `@Vector` instead of `std.meta.Vector`

  [ ominitay ]
  * std.mem.zeroInit: Fix behaviour with empty initialiser

  [ Jakub Konka ]
  * x64: implement add, sub and mul with overflow
  * x64: partially fix genImul, enable overflow tests

  [ Andrew Kelley ]
  * Value.hashPtr: handle lazy_align as an integer

  [ Veikka Tuominen ]
  * stage2 llvm: fix union init of byRef values
  * AstGen: clear rl_ty_inst in setBreakResultLoc if one is not provided
  * Sema: use the correct integer
  * Sema: implement coerceInMemoryAllowed for optionals
  * std.build: fix functions returning address of by value parameter

  [ Andrew Kelley ]
  * Sema: allow mixing array and vector operands

  [ John Schmidt ]
  * stage2: LLVM: (WIP) add union fields debug info

  [ Andrew Kelley ]
  * stage2: finish debug info for unions in the LLVM backend
  * AstGen: coerce break operands of labeled blocks
  * Sema: queue full type resolution of builtin types

  [ Daniele Cocca ]
  * CBE: fix C output after PR #11302, reenable tests

  [ Andrew Kelley ]
  * test harness: include case names for compile errors
  * test harness: fix not honoring one_test_case_per_file

  [ Jakub Konka ]
  * x64: clean up abstraction for generating integer division
  * x64: redo @mulWithOverflow using rax/rdx based multiplication
  * x64: clean up instruction tracking for div/mul ops
  * x64: track callee and caller saved registers
  * x64: spill .rdi to stack if expecting return value saved on stack

  [ Andrew Kelley ]
  * Sema: adjust coercion of undefined error union payload
  * link: half-hearted bug fix for decl_state field
  * Sema: fix generic instantiations of return types with nested captures
  * std: avoid referencing event loop when io_mode is blocking
  * stage2: implement `@intToError` with safety
  * Sema: enhance is_non_err to be comptime more often

  [ Daniele Cocca ]
  * AstGen: support local var references for outputs
  * Sema: allow comptime blocks for global assembly
  * AstGen: don't coerce inputs to usize in asmExpr
  * CBE: improve support for asm inputs

  [ Meghan ]
  * replace other uses of `std.meta.Vector` with `@Vector` (#11346)

  [ Jakub Konka ]
  * dwarf: pass DeclState around instead of storing a temp global in Dwarf

  [ Andrew Kelley ]
  * stage2: test compile errors independently
  * std.zig.Ast: fix escaped capture of by-value parameters

  [ James Mintram ]
  * Remove a std.debug.print from the dwarf.zig file

  [ Andrew Kelley ]
  * Sema: fix usingnamespace decl Value in wrong arena
  * std.base64: upgrade to new function pointer semantics

  [ Veikka Tuominen ]
  * stage2: handle assembly input names

  [ Meghan Denny ]
  * stage2: fix print_zir for .builtin_src

  [ Andrew Kelley ]
  * AstGen: fix referencing unreferencable instructions
  * Sema: fix segfault during resolveInferredErrorSet
  * AstGen: fix treating noreturn instructions as void
  * test harness improvements
  * CI: update CLI invokation
  * AstGen: use `block_inline` and `break_inline` consistently
  * std.hash_map: workaround for circular dependency
  * stage2: hook up Sema to the progress bar

  [ Jakub Konka ]
  * x64: implement add/sub with wrapping and xor op
  * macho: set CS_LINKER_SIGNED flag in code signature generated by zld

  [ joachimschmidt557 ]
  * stage2 ARM: change binOp lowering mechanism to use Mir tags
  * stage2 ARM: implement add/sub_with_overflow for u32/i32
  * stage2 ARM: implement add/sub_with_overflow for ints < 32 bits
  * stage2 ARM: implement shl_with_overflow for ints <= 32 bits
  * stage2 ARM: implement mul_with_overflow for ints <= 16 bits
  * stage2 ARM: implement mul_with_overflow for ints <= 32 bits

  [ Luuk de Gram ]
  * wasm: Implement `@maximum` & `@minimum`
  * wasm: Implement `@mulAdd` for f32, f64
  * wasm: Implement `@clz`
  * wasm: Implement `@ctz` for bitsize <= 64
  * wasm: Enable passing behavior tests

  [ Veikka Tuominen ]
  * stage2 llvm: properly align error union payload

  [ Andrew Kelley ]
  * Sema: mechanism for converting comptime breaks to runtime
  * behavior tests: disable failing stage1 test
  * std.ArrayHashMap: lazier verifyContext calls
  * stage2: remove dependencies on async functions
  * stage2: more resilient error handling

  [ John Schmidt ]
  * sema: add more info to error message for invalid comptime union field access
  * sema: add more info to error messages for enum->union coercion
  * sema: add compile error for missing/extra enum fields in union decl
  * refactor: add Sema.addFieldErrNote
  * stage2: add union compile error tests
  * sema: add compile error for duplicate union field
  * sema: add compile error for duplicate struct field
  * Fix typo in compile error test

  [ Ryan Liptak ]
  * Add `std.testing.checkAllAllocationFailures`

  [ Tom Read Cutting ]
  * Pull elf magic string out to re-used constant

  [ ominitay ]
  * std.simd: Fix suggestVectorSizeForCpu

  [ Philipp Lühmann ]
  * langref: rename incorrect expect to assert

  [ iddev5 ]
  * std.testing: add function zigBuild for running zig build runner commands

  [ John Schmidt ]
  * Address review comments

  [ Jakub Konka ]
  * dwarf: emit debug info for local variables on x86_64

  [ Evan Haas ]
  * std.fmt: Fix incorrect behavior with large floating point integers.

  [ Andrew Kelley ]
  * Sema: add empty tuple to mutable slice coercion
  * Sema: forward switch condition to captures

  [ Damien Firmenich ]
  * zig fmt: remove trailing whitespace on doc comments

  [ Luuk de Gram ]
  * wasm: Use 'select' instruction for max/min

  [ Andrew Kelley ]
  * Sema: fix handling compile errors during circular dependency error
  * stage2: ThreadPool: update to new function pointer semantics
  * Sema: in-memory coercion of differently named int types

  [ viri ]
  * derive float constants in a generic way (#10133)
  * math.isNormal: simplify implementation, add tests
  * math.fabs: simplify implementation, add tests
  * std.{fmt, math}: derive float constants from std

  [ Andrew Kelley ]
  * stage2: rename InternArena to InternPool

  [ Wojtek Mach ]
  * zig cc: support --subsystem linker flag

  [ viri ]
  * std.math.isFinite: make generic, support f80
  * std.math: generalise `inf`, even simpler `isFinite`

  [ Frank Denis ]
  * crypto/x25519: implement clearCofactor() (#11355)

  [ viri ]
  * std.math.is*Inf: make generic, support f80
  * use math/float.zig everywhere

  [ Andrew Kelley ]
  * Sema: remove unnecessary type resolution
  * Liveness: utilize Air.refToIndex

  [ cryptocode ]
  * std: add Thread.Condition.timedWait (#11352)

  [ viri ]
  * std.math.isInf: add tests for +-NaN
  * compiler-rt(divtf3): fix remark, add more tests

  [ Igor Stojkovic ]
  * stage1: Additional fix for packed structs

  [ Kirk Scheibelhut ]
  * Remove primitive values from keyword reference

  [ Stephen Gutekanst ]
  * std.event.WaitGroup: fix compilation (acquire->lock, release->unlock)

  [ Cody Tapscott ]
  * Improve whitespace-handling in (compile-error) test manifest parsing
  * Add file support for incremental error tests

  [ r00ster ]
  * Add `std.fs.File.sync` (#11410)
  * Reuse code in `Utf8Iterator.nextCodepoint`

  [ jagt ]
  * fix `link.renameTmpIntoCache` on windows when dest dir exists.

  [ Isaac Freund ]
  * std.build: Fix transitive linkSystemLibraryName() dependencies

  [ Ryan Liptak ]
  * std/fs/test.zig: Add test for renaming a dir onto an empty dir

  [ Cody Tapscott ]
  * compiler_rt: Implement floatXiYf/fixXfYi, incl f80
  * Skip `@rem`/`@mod` tests on stage2, due to missing `fmodl` implementation
  * Skip some floatXiYf tests on non-x86 platforms
  * Do not detect byte-order using _BIG/_LITTLE_ENDIAN

  [ Andrew Kelley ]
  * Liveness: modify encoding to support over 32 operands
  * Sema: fix comptime equality of extern unions with same tag
  * Sema: fix comptime call with generic function as parameter
  * Sema: fix struct init ref

  [ Cody Tapscott ]
  * Add `floatFractionalBits` to replace `floatMantissaDigits`
  * Use 0-indexing for incremental compile error tests

  [ Jakub Konka ]
  * stage2,x64: recursively mark decls as alive when lowering
  * stage2,x64: generate debug info for local vars at hardcoded mem addr
  * dwarf: gen debug info for arrays
  * stage2,x64: deref memory if referenced via GOT for local vars
  * macho,x64: resolve debug info relocs for RIP-based addressing

  [ Ryan Liptak ]
  * Enable passing 'Dir.rename directories' fs test on Windows

  [ Eric Shrewsberry ]
  * Fix bug in PriorityQueue::removeIndex()

  [ vi ]
  * std.math.float: fix f80-backed c_longdouble consts

  [ Andrew Lee ]
  * std/bounded_array.zig: Add Writer interface

  [ Andrew Kelley ]
  * Sema: fix generic instantiation false negatives

  [ Jakub Konka ]
  * elf: support --strip option
  * elf: check symtab section headers size when writing globals

  [ Andrew Kelley ]
  * Sema: workaround for generic instantiation recurison bug

  [ Koakuma ]
  * stage2: sparcv9: Add some initial checks in codegen
  * stage2: sparcv9: Add skeleton codegen impl and necessary fields
  * stage2: sparcv9: Initial resolveCallingConventionValues implementation
  * stage2: sparcv9: Mir extraData implementation
  * stage2: sparcv9: Emit debug inst placeholder
  * stage2: sparcv9: Implement basic prologue/epilogue Mir emission
  * stage2: sparcv9: Change ordering in Mir Tag
  * stage2: sparcv9: Placeholder for Air instructions in genBody
  * stage2: sparcv9: Adjust RegisterManager settings
  * stage2: sparcv9: implement dbgAdvancePCAndLine
  * stage2: sparcv9: Different formatting for genBody
  * stage2: sparcv9: Add placeholders to generate a minimal program
  * stage2: sparcv9: Add breakpoint, ret, and calling mechanism
  * stage2: sparcv9: Implement basic asm codegen
  * stage2: sparcv9: implement basic instruction lowering

  [ Flandre Scarlet ]
  * stage2: sparcv9: Test failure error logging

  [ Koakuma ]
  * stage2: sparcv9: zig fmt
  * stage2: sparcv9: Register the backend in stdlib & driver
  * stage2: sparcv9: Implement enough instruction to compile simple exes
  * stage2: sparcv9: Use regular structs to encode instructions
  * stage2: sparcv9: Fix Tcc encoding
  * stage2: sparcv9: Add exit2 implementation
  * linker: ELF: Add page sizes for ppc64le and sparcv9
  * stage2: Add SPARC function alignment
  * stage2: sparcv9: Add simple test case
  * stage2: sparcv9: Add cmp_lt_errors_len AIR inst & fix asm parsing
  * stage2: Adjust line numbers in tests
  * stage2: sparcv9: Load tests to the list of testcases
  * stage2: zig fmt

  [ Andrew Kelley ]
  * stage2: progress towards stage3

  [ Luuk de Gram ]
  * wasm-linker: Fix memory leak
  * wasm-linker: Add function table indexes
  * wasm-linker: Prevent overalignment for segments

  [ Koakuma ]
  * compiler_rt: atomics: Add TAS lock support for SPARC

  [ Veikka Tuominen ]
  * Sema: allow fieldType on optionals and error unions
  * AstGen: handle rl_ty_inst for mutable variables
  * update self hosted sources to language changes
  * std: add workaround for stage2 bug

  [ Evan Haas ]
  * std.fs: prevent possible integer overflow in Dir.makePath

  [ r00ster91 ]
  * Add `std.unicode.replacement_character`

  [ iddev5 ]
  * std.build: add test for issue 10381

  [ Koakuma ]
  * ompiler_rt: atomics: Split long lines and add comment on constants
  * compiler_rt: atomics: Add Leon CAS instruction check for SPARC atomics
  * compiler_rt: atomics: Formatting change for flag definition
  * compiler_rt: atomics: clr -> clrb

  [ Veikka Tuominen ]
  * stage2 macho: workaround stage2 bugs
  * stage2 llvm: handle dollar signs in asm template

  [ Jakub Konka ]
  * stage2: lower u128, and refactor some bits in x64

  [ Rekai Musuka ]
  * std/math.zig: resolve missed optimization in rotates

  [ Veikka Tuominen ]
  * stage2 llvm: fix optional pointers to zero bit payloads
  * AstGen: fix defer generation in `breakExpr`

  [ kprotty ]
  * treap: initial implementation

  [ Veikka Tuominen ]
  * stage2: fix bugs preventing stage2 from building stage3 with LLVM

  [ kprotty ]
  * treap: fix + determinstically randomize test cases.
  * treap: zig fmt

  [ vi ]
  * std.math: enable f80 tests on freebsd
  * std.math.fabs: enable f80 testing

  [ joachimschmidt557 ]
  * stage2 ARM: move genArgDbgInfo back to CodeGen

  [ Jakub Konka ]
  * stage2,macho: swap out inodes before checking for intermediary basename
  * start.zig: make sure macos uses full startup code
  * stage2: fix @mulAdd on aarch64 Darwin

  [ Cody Tapscott ]
  * stdlib std.os: Improve wasi-libc parity for WASI CWD emulation

  [ Yusuf Bham ]
  * std.os.uefi: fix GUID formatting (#11452)

  [ Andrew Kelley ]
  * stage2: expose progress bar API to linker backends

  [ Ryan Liptak ]
  * Update doc comment of ArrayHashMap to include 4th arg in eql fns

  [ Wojtek Mach ]
  * Support `--subsystem=x` instead of `--subsystem,x`

  [ Luuk de Gram ]
  * wasm: Add support for debug info

  [ Cody Tapscott ]
  * stage2: Add limited WASI support for selfExePath and globalCacheDir
  * stage2: Bypass file locks in src/Cache.zig for WASI targets
  * stage2: Initialize WASI preopens on startup
  * stage2: Add 'zig.wasm' fallback for binary name

  [ Andrew Kelley ]
  * stage2: avoid binary bloat from GeneralPurposeAllocator
  * stage2: fix building stage3 in release mode
  * Sema: fix not reserving enough memory for comptime shl

  [ Cody Tapscott ]
  * compiler_rt: implement __mulxf3 for f80
  * compiler_rt: Fix rounding/NaN handling for f80 add/sub
  * stage2: Move WASI/Zig-specific selfExePath to introspect.zig
  * stage2: Only bypass `flock` on WASI

  [ Andrew Kelley ]
  * wasm: fix lowerDeclRefValue using wrong Decl

  [ Luuk de Gram ]
  * wasm: Fix unreachable paths

  [ joachimschmidt557 ]
  * stage2 AArch64: add basic assertions to bits.zig for correct codegen
  * stage2 AArch64: Implement basic truncate functionality
  * stage2 AArch64: Add ldrsb, ldrsh instructions
  * stage2 AArch64: implement addwrap, subwrap, mulwrap
  * stage2 AArch64: change binOp lowering mechanism to use Mir tags
  * stage2 AArch64: fix shl, shr, shl_exact, shr_exact

  [ Andrew Kelley ]
  * build system: add -fstage1/-fno-stage1 to `zig build`

  [ Robin Voetter ]
  * array hash map: fix getOrPutAdapted on Managed array hash map

  [ Yusuf Bham ]
  * std.os.uefi: Add `BlockIoProtocol`

  [ protty ]
  * std.Thread.Futex improvements (#11464)

  [ Rabin Gaire ]
  * fix child process spawn on macos hangs issue

  [ Andrew Kelley ]
  * std: bring back SegmentedList
  * std.SegmentedList: breaking API changes

  [ Rabin Gaire ]
  * add test case for child_process spawn logic

  [ Jakub Konka ]
  * dwarf: clean up allocations in std.dwarf module
  * debug: fix resource (de)allocation for MachO targets

  [ Andrew Kelley ]
  * std: fix missing hash map safety
  * stage2: use indexes for Decl objects
  * link: Wasm: don't assume we have a zig module

  [ Rabin Gaire ]
  * update test message and using unreachable keyword for unintended test code path
  * ran zig fmt on changes

  [ Jakub Konka ]
  * debug: fix resource (de)allocation for Elf and Coff targets
  * debug: add smoke test
  * macho: create LlvmObject in createEmpty only

  [ Andrew Kelley ]
  * CI: additionally test building stage3

  [ Motiejus Jakštys ]
  * [doc update] add size_t (#11482)

  [ Yusuf Bham ]
  * std.mem: add concatWithSentinel

  [ Jakub Konka ]
  * pdb: fix resource mgmt

  [ Andrew Kelley ]
  * stage2: add zig_backend to the cache hash
  * LLVM: C calling convention lowering fixes

  [ Annika L ]
  * C backend: Fix array declarations

  [ Andrew Kelley ]
  * clean up behavior tests

  [ Tom Read Cutting ]
  * Fix C include files not being in `whole` cache (#11365)

  [ Andrew Kelley ]
  * Revert "Fix C include files not being in `whole` cache (#11365)"

  [ William Sengir ]
  * Sema: combine signed->unsigned and shrinkage runtime checks in intCast
  * CBE: disable int128 test since airWrapOp is needed for runtime safety

  [ Morritz ]
  * add GetProcessTimes binding to the kernel32.zig (#11488)

  [ protty ]
  * std.Thread: Mutex and Condition improvements (#11497)

  [ jagt ]
  * std: fix crypto and hash benchmark

  [ Andrew Kelley ]
  * Sema: fix export with Internal linkage

  [ Cody Tapscott ]
  * compiler_rt: Implement fmodx for f80
  * compiler_rt: Implement __divxf3 for f80
  * stdlib: Fix hex-float printing for f80
  * compiler_rt: Fix rounding edge case for __mulxf3
  * compiler_rt: Bypass `fmodx` impl. on stage2

  [ Luuk de Gram ]
  * wasm: Initial C-ABI implementation
  * wasm: Implement codegen for C-ABI

  [ protty ]
  * std.Thread: ResetEvent improvements (#11523)

  [ Jimmi Holst Christensen ]
  * Remove usage of inline for from print_targets.cmdTargets

  [ Isaac Freund ]
  * std.meta: deprecate bitCount() for @bitSizeOf()
  * std: replace usage of std.meta.bitCount() with @bitSizeOf()

  [ Andrew Kelley ]
  * compiler-rt: math functions reorg

  [ Cody Tapscott ]
  * stage1: Manually lower softfloat ops when needed
  * stage2: Manually lower softfloat ops when needed

  [ Andrew Kelley ]
  * stage2: fix recent LLVM backend code
  * disable failing behavior tests
  * add new builtin function `@tan`
  * enable newly passing behavior tests
  * behavior test: use expectApproxEqAbs instead of expectEqual
  * compiler-rt: avoid symbol conflicts
  * compiler-rt: fix powerpc f128 suffix
  * compiler-rt: remove invalid test
  * disable failing behavior test
  * stage1: add missing comptime float ops
  * std: use float builtins instead of std.math
  * compiler-rt: inline sin and cos into sincos
  * compiler-rt: provide actual sincos implementations
  * stage1: fix i386-windows f80 sizeof/alignof
  * stage1: fix incorrect struct padding

  [ Veikka Tuominen ]
  * Sema: fix slice field modification at comptime
  * TypedValue: pretty print slices

  [ Erik Hugne ]
  * std.coff: parse out codebase and entrypoint from optionalheader
  * std.build: make no_dll_export_fns accessible in build step

  [ matu3ba ]
  * std.testing: add writeZigFile for TmpDir

  [ Jakub Konka ]
  * fmt: fix formatting of lib/std/x/net/bpf.zig
  * test: abstract away test manifest parser into separate struct
  * test: parse all of manifest in TestManifest abstraction
  * test: pass Strategy per directory of tests
  * test: add comptime struct holding default config values
  * test: unroll into multiple cases, provide default parsers
  * test: set case name from initial filename for a sequence
  * test: fix pointer invalidation bug in the harness
  * test: adjust error location for assert_function test
  * test: leave a todo note to explicitly specify ABI for targets in the future
  * test: fix incorrect default target spec; port all incremental tests
  * test: remove incremental tests that were ported to the new harness
  * ci: ignore fmt errors in test/incremental/
  * test: recursively walk dir with tests
  * test: enable wasm32-wasi incremental tests
  * test: migrate wasm incremental tests
  * test: migrate riscv64 incremental tests
  * test: migrate aarch64 incremental tests
  * test: migrate arm incremental tests
  * test: migrate plan9 and sparcv9 incremental tests
  * test: correctly handle multiple backends
  * test: migrate llvm incremental tests
  * test: fix x86_64-macos failures
  * test: fix incorrect error loc in assert_function x86_64-linux test
  * test: migrate stage2 independent compile errors to test manifest parser
  * test: migrate stage1 compile error tests to updated test manifest
  * test: remove redundant codepaths from test harness

  [ Andrew Kelley ]
  * std.build: fix dll-export-fns API
  * Revert "std.testing: add writeZigFile for TmpDir"
  * Revert "Merge pull request #11214 from iddev5/ay-build-runner"
  * compiler-rt: upgrade to stage2 fn ptr semantics
  * AstGen: encode negativity into float literals
  * compiler-rt: restore stage1 workaround

  [ Stephen Gregoratto ]
  * Seccomp fixups re: #10717

  [ Daniele Cocca ]
  * CBE: fix renderValue() for struct fields with no runtime bits

  [ Natalia Cholewa ]
  * std.SegmentedList: add constIterator

  [ Veikka Tuominen ]
  * stage2: fix comptime unreachable
  * Zir: move more common instructions out of extended
  * Zir: turn extended func into func_extended

  [ Jimmi Holst Christensen ]
  * std: Do not allocate the result for ChildProcess.init

  [ InKryption ]
  * std.MultiArrayList: add functions `addOne`, `pop`, and `popOrNull` (#11553)

  [ sin-ack ]
  * Sema: Fix many-pointer array concatenation at comptime  (#11512)

  [ Daniele Cocca ]
  * CBE: handle returning `undefined` for ErrorUnion

  [ r00ster ]
  * std.heap: Fix typo

  [ Andrew Kelley ]
  * cmake: default install prefix to ./stage1
  * stage2: fix comptime fixed-width float division
  * disable failing behavior tests
  * zig build: use CacheMode.whole for build_runner.zig
  * stage1: disable new behavior tests
  * Sema: coerce comptime_float to fixed-width float

  [ r00ster91 ]
  * Avoid some unnecessary underscores in constant names

  [ Lee Cannon ]
  * Allocator: correct `PanicFree` function name

  [ Jakub Konka ]
  * test: regression fix: skip stage1 if not enabled

  [ Frank Denis ]
  * edwards25519 fixes (#11568)

  [ Marc Tiehuis ]
  * add new float-parser based on eisel-lemire algorithm
  * update AstGen float literal parsing

  [ Andrew Kelley ]
  * std: enable real start code always for LLVM backend
  * behavior tests: fix wrong packed struct test case
  * std.pdb: fix incorrect use of packed struct

  [ Marc Tiehuis ]
  * temporary fix for stage2/stage1 f128 rounding discrepency

  [ Andrew Kelley ]
  * stage2: improve inline asm stage1 compatibility
  * Sema: allow exporting optionals and pointers
  * std.os.windows: upgrade to new function pointer semantics
  * LLVM: insert workaround for aarch64-windows f16 CodeView crash
  * LLVM: set module PIC, PIE, and CodeModel
  * test runner: enable arg processing for stage2 builds

  [ Marc Tiehuis ]
  * fix aarch64 f16 nan parse test failure
  * export __floatuntikf for PowerPC

  [ Jakub Konka ]
  * x86_64: use math.zig to check isPowerOfTwo and calc log2_int

  [ Andrew Kelley ]
  * github issue templates enhancements

  [ Isaac Freund ]
  * musl: update to 1.2.3

  [ Andrew Kelley ]
  * Sema: fix bigIntToFloat

  [ Jay Petacat ]
  * std: Single-threaded `panicImpl` sleep is unreachable (#11569)

  [ Isaac Freund ]
  * tools/gen_stubs: sort output by section/symbol name

  [ Erik Arvstedt ]
  * std.meta.TrailerFlags: include in std tests
  * std.meta.TrailerFlags: improve init type

  [ Jakub Konka ]
  * test: improve test batch/sequence iterator
  * test: move compile errors and incremental tests into common dir

  [ Andrew Kelley ]
  * stage2: improve `@sizeOf` and `@alignOf` integers
  * stage2: improve semantics of atomic operations
  * stage2: change x86_64 max int alignment from 8 to 16
  * stage1: fix `@sizeOf` for 128-bit integer types
  * stage2: fix `@sizeOf` for structs with comptime fields
  * stage2: change max int align from 8 to 16 for more ISAs
  * CLI: detect MinGW-flavored static libraries
  * stage2: implement global assembly
  * LLVM: fix x86_64 sysv C ABI for extern structs with sub-64 bit integers
  * LLVM: fix C ABI for windows

  [ Isaac Freund ]
  * cmake: add /usr/lib/llvm13 to searched paths

  [ Koakuma ]
  * stage2: sparcv9: Implement jmpl lowering
  * stage2: sparcv9: Implement basic stack load/stores
  * stage2: sparcv9: Pad branch delay slots with nops
  * stage2: sparcv9: Fix stack space accounting
  * stage2: sparcv9: Simplify genLoad/genStore
  * stage2: sparcv9: Remove dbg_arg instruction
  * stage2: sparcv9: Add debug info generation for args
  * stage2: sparcv9: Simplify debug info emission, remove unused formats
  * stage2: sparcv9: Update test case
  * stage2: sparcv9: Update Mir tag doc comments

  [ Jakub Konka ]
  * sparcv9: fix typo in def comment
  * libstd: map sparcv9 to qemu-sparc64 for test-runner

  [ joachimschmidt557 ]
  * stage2 AArch64: initial implementation of {add,sub}_with_overflow
  * stage2 AArch64: implement {add,sub}_with_overflow for all ints < 64
  * stage2 AArch64: implement shl_with_overflow

  [ Jakub Konka ]
  * aarch64: implement mul_with_overflow for <= 32bit ints
  * aarch64: implement mul_with_overflow for ints in range 33-64 bits incl
  * aarch64: fix mul_with_overflow for ints <= 32bits
  * test: test more int sizes for @mulWithOverflow builtin
  * test: test bitwidths between 1...8 and 8...16 for mul_with_overflow
  * aarch64: ensure we set correct operand size at codegen stage
  * x64: explicitly handle Vector vs Int types for overflow arith
  * x64: handle signed mul_with_overflow for non-pow-2 ints
  * x64: handle unsigned mul_with_overflow for non-pow-2 ints
  * x64: mul_with_overflow: cannot reuse operand if not the result
  * test: pass extended mul_with_overflow tests on x64

  [ Andrew Kelley ]
  * CI: add non-LLVM backends to the test matrix
  * std.os.linux.arm-eabi: upgrade to new fn ptr semantics

  [ Jakub Konka ]
  * stage2,llvm: handle softfloats in @intToFloat and @floatToInt
  * x64: handle CF flags spilling in overflow calls

  [ aiotter ]
  * std.c: Add C APIs to read directories
  * std.c: Move Darwin-unspecific functions from std/c/darwin.zig to std/c.zig

  [ Andrew Kelley ]
  * LLVM: rework the previous commit

  [ Luuk de Gram ]
  * wasm: Store signed ints as two's complement

  [ Andrew Kelley ]
  * CI: macos: stage2 zig build test-behavior

  [ Jakub Konka ]
  * regalloc: ensure we only freeze/unfreeze at the outermost scope

  [ Andrew Kelley ]
  * CI: macos: disable stage2 test-behavior

  [ Jakub Konka ]
  * macho: share traditional codepaths with stage2+llvm backend
  * macho: skip cache if cache_mode is .whole

  [ Andrew Kelley ]
  * Sema: solve a false positive "depends on itself"
  * link/MachO: use const instead of var and limit scope of vars
  * stage2: fix std lib tests always filtering out all tests
  * flatten lib/std/special and improve "pkg inside another" logic

  [ Jakub Konka ]
  * x64: fix misused register locks
  * regalloc: rename freeze/unfreeze to lock/unlock registers
  * x64: refactor code to avoid stage1 sema limitations
  * regalloc: refactor locking multiple registers at once

  [ Luuk de Gram ]
  * wasm: `@addWithOverflow` for bitsize 32
  * wasm: Fix `@floatToInt` and split overflow ops
  * stage2: Split `@mulWithOverflow` tests

  [ Jakub Konka ]
  * arm: fix CF flags spilling and implement genSetStack for reg with overflow flags
  * arm: lock dest register in shl_overflow so that we do not spill it

  [ Andrew Kelley ]
  * CI: fix universal libc step name
  * compiler-rt: avoid symbol collisions with Windows libc
  * allow in-memory coercion of differently-named floats with same bits
  * compiler_rt: avoid weak aliases on Windows

  [ Hannes Bredberg ]
  * Add Win64 calling convention

  [ Jakub Konka ]
  * x64: add naive impl of shr

  [ Evan Haas ]
  * stdlib: escape backslashes and double quotes in Builder response file

  [ Helio Machado ]
  * std.crypto: generate AES constants at compile time (#11612)

  [ Luuk de Gram ]
  * wasm: Add basic debug info references
  * wasm: Implement debug info for parameters
  * wasm: Debug information for locals
  * wasm: Debug info for lines + pro/epilogue
  * wasm: Flush debug information + commit decl
  * wasm: Emit debug sections
  * wasm: Write nops for padding debug info

  [ Jakub Konka ]
  * x64: make one entry point for binary ops
  * x64: migrate mul to new genBinOp helper
  * x64: pass tag and maybe_inst explictly to genBinOp
  * x64: migrate mod and rem into genBinOp
  * x64: make genBinOp operate on MCValues directly
  * x64: converge add_with_overflow and sub_with_overflow

  [ OfekShochat ]
  * std.json add stringify struct with string as array

  [ Andreas Reischuck ]
  * std.json stringify fix object keys are always is strings

  [ Brian Gold ]
  * io_uring cancel test must tolerate CQ reordering

  [ Frank Denis ]
  * Typo

  [ Jakub Konka ]
  * x64: migrate div to genMulDivBinOp
  * x64: refactor genMulDivBinOp helper
  * x64: pull shl and shr into one helper fn
  * x64: handle immediate as RHS of shift bin ops
  * x64: consolidate shifts into single MIR helper fn
  * x64: implement shl_exact and shr_exact
  * x64: implement missing bits in add_with_overflow and sub_with_overflow
  * x64: implement shl_with_overflow for powers of two
  * x64: implement shl with overflow for non-pow-2
  * x64: enable additional math test
  * x64: fix binary not implementation

  [ Kirk Scheibelhut ]
  * docs: T.bit_count -> @typeInfo(T).Int.bits

  [ Takeshi Yoneda ]
  * Add Visibility field to ExportOptions.

  [ Andrew Kelley ]
  * fixups to the previous commit

  [ Alexander Slesarev ]
  * Added _LIBCPP_HAS_NO_THREADS for single_threaded binaries linked with libcxx.

  [ Andrew Kelley ]
  * stage1: back out the broken visibility changes
  * reduce the scope of this branch

  [ Silver ]
  * std: make IntegerBitSet and ArrayBitSet have defined memory layout

  [ Mahdi Rakhshandehroo ]
  * std: improve random float generation

  [ Andrew Kelley ]
  * std.rand: move tests to a separate test file
  * Sema: comptime float negation supports negative zero

  [ William Sengir ]
  * Sema: add "declared here" note to `zirErrSetCast`
  * Sema: add error for disjoint error sets in `zirErrSetCast`
  * Sema: implement runtime safety checks for `zirErrSetCast`
  * aarch64,arm: disable broken `@errSetCast` test

  [ Meghan ]
  * std: add http definitions for Method and Status (#10661)

  [ Francesco Alemanno ]
  * add std.rand.RomuTrio

  [ Andrew Kelley ]
  * Revert "add std.rand.RomuTrio"

  [ Ryan Liptak ]
  * Add `process.EnvMap`, a platform-independent environment variable map

  [ Jonathan Marler ]
  * Update usages of `process.getEnvMap` and change BufMap -> EnvMap where applicable

  [ Ryan Liptak ]
  * Make the BufMap.count return value match its underlying HashMap's Size
  * Fix regression in RunStep.addPathDir
  * Set EnvMap.Size to BufMap.BufMapHashMap.Size
  * EnvMapWindows: Fix putUtf8 not uppercasing keys

  [ Jonathan Marler ]
  * remove extra storage from EnvMap on windows
  * add unicode support
  * reverse some of the now unneeded changes from squeek
  * some fixes to the EnvMap HashContext
  * incorporate review changes from squeek
  * document that on Windows, all key arguments in EnvMap must be valid utf8
  * fix ntdll extern casing
  * remove RtlUpcaseUnicodeString, no longer needed

  [ Erik Arvstedt ]
  * std.rand: fixup 'improve random float generation'
  * std.rand.float: simplify leading zero calculations

  [ Travis Staloch ]
  * add std.math.sign

  [ Andrew Kelley ]
  * fix bad runtime safety test cases

  [ Jonathan Marler ]
  * std.os.linux: fix signature of setgroups

  [ Koakuma ]
  * target: Rename sparcv9 -> sparc64

  [ Kirk Scheibelhut ]
  * zig fmt: make --exclude ignore missing dirs

  [ Andrew Kelley ]
  * migrate runtime safety tests to the new test harness
  * disable a runtime safety test that is failing on WASI
  * test harness: dump stderr when compiler crashes
  * build.zig: rename a local variable
  * test-cases: honor -Dtest-filter argument from zig build
  * std.Progress: activate() calls maybeRefresh()
  * test harness: actually run the stage1 "run" tests
  * runtime safety tests only on the native target

  [ Robin ]
  * init-exe: add note about log_level in ReleaseSmall and ReleaseFast build mode (#11626)

  [ Luuk de Gram ]
  * test harness: Set filename on error return

  [ Jakub Konka ]
  * x64: remove verbose_mir functionality
  * x64: rename brk to int3, and MIR to interrupt

  [ Koakuma ]
  * stage2: sparc64: Implement airIsErr and airIsNonErr
  * stage2: sparc64: Split the conditionals between integer and FP ones
  * stage2: sparc64: Implement airCondBr from flags register
  * stage2: sparc64: Implement airUnwrapErrPayload
  * stage2: sparc64: Implement airBr
  * stage2: sparc64: Implement SPARCv9 subcc
  * stage2: sparc64: Implement SPARCv9 bpcc
  * stage2: sparc64: Implement airAlloc
  * stage2: sparc64: Implement error value generation
  * stage2: sparc64: Implement airLoad/airStore
  * stage2: sparc64: Implement SPARCv9 bpr
  * stage2: sparc64: Add BPr support for airCondBr
  * stage2: sparc64: Implement airCmp
  * stage2: sparc64: Implement airBitCast
  * stage2: sparc64: Implement airLoop
  * stage2: sparc64: Implement airSliceLen
  * stage2: sparc64: Replace freezeRegs with RegisterLock
  * stage2: sparc64: Implement airSliceElemVal
  * stage2: sparc64: Implement inline memcpy for genSetStack
  * stage2: sparc64: Implement airStructFieldPtrIndex
  * stage2: sparc64: Implement airUnwrapErrErr
  * stage2: sparc64: Implement airBinOp for addition
  * stage2: sparc64: Implement SPARCv9 mulx

  [ William Sengir ]
  * stage2: fix {add,sub,mul}_with_overflow vectorization in LLVM backend
  * stage2: vectorize shl_with_overflow in LLVM backend
  * stage2: add global `Type` constant for `u1`
  * stage2: handle vectors in `Value.intFitsInType`
  * stage2: clean up creation of boolean `Value`s
  * stage2: perform comptime vectorization of `*_with_overflow` in `Value`
  * Sema: vectorize overflow arithmetic
  * Sema: implement integer overflow safety for add, sub, mul
  * stage2: implement runtime safety checks for shl_exact
  * stage2: add vectorized overflow arithmetic behavior tests
  * stage2: add more vector overflow tests
  * LLVM: correctly pad result tuple of `airOverflow`

  [ Andrew Kelley ]
  * C backend: implement overflow arithmetic
  * disable 5 failing stage2_wasm tests

  [ Jakub Konka ]
  * x64: fix capacity prealloc limit in lowerToMrEnc helper

  [ Luuk de Gram ]
  * wasm: Improve overflow add/sub for ints <= 64bits
  * wasm: Improve shl_with_overflow

  [ Andrew Kelley ]
  * zig.h: improve overflow shl

  [ Jakub Konka ]
  * aarch64: sub_with_overflow should always track V flag
  * arm: sub_with_overflow should always track V flag
  * arm: disable recursive fibonacci

  [ Andrew Kelley ]
  * zig.h: add casts for overflow arithmetic operations

  [ Isaac Freund ]
  * std.os: Add memfd_create for FreeBSD

  [ leesongun ]
  * `std.math.powi`: use standard definition of underflow/overflow, implement `u0`, `i0`, `i1` edge case (#11499)

  [ Thiago Teodoro Pereira Silva ]
  * std.os: add timerfd_create, timerfd_settime and timerfd_gettime

  [ Veikka Tuominen ]
  * stage2: implement error return traces
  * stage2: disable error return tracing on unsupported targets
  * stage2: enable error return tracing on llvm backend
  * Sema: do not call `returnError` when returning payload of error union
  * stage2: add runtime safety for unwrapping error
  * Sema: improve index out of bounds panic message

  [ Felix "xq" Queißner ]
  * Fixes comptime 'error: cannot assign to constant' error in siphash.

  [ Stephen Gregoratto ]
  * Generate linux syscalls via. the linux source tree

  [ aiotter ]
  * std.c: Implement dirent on std/c/linux.zig

  [ YeonJiKun ]
  * zig test: Add proper detection for Windows console

  [ Vincenzo Palazzo ]
  * docs: add documentation about return stm in the defer method

  [ Jan Philipp Hafer ]
  * std.unicode: add utf16 byte length and codepoints counting routines
  * add suggestions by ifreund

  [ Vincenzo Palazzo ]
  * docs: add documentation on errdefer with caputure syntax

  [ alice ]
  * Simplify `signbit`
  * Simplify `Copysign`
  * std.math: simpler error handling

  [ Luuk de Gram ]
  * wasm: Support 128bit integer coercion
  * wasm: 128bit integer cmp support
  * wasm: Support 128bit add/sub wrapping operands
  * wasm: 128 bit intcast and binary operations
  * wasm: Fix C-ABI for 128 bit integers
  * wasm: Support 128bit integers for max/min/ctz/clz
  * wasm: Implement trunc/wrap for 128 bit integers
  * wasm: Support `not` instruction for 128 bit integers
  * wasm: Implement {add/sub}WithOverflow for 128bit
  * wasm: enable 128bit integer behavior tests

  [ Andrew Kelley ]
  * LLVM: support mixing extern and export with the same symbol name
  * behavior tests: correction of C pointer test
  * stage2: fix pointer arithmetic result type
  * std.Thread: insert a missing `@alignCast`
  * enable passing behavior test
  * Sema: implement `@intCast` for vectors

  [ Jakub Konka ]
  * x64: add AVX registers and Vex prefix sub-encoder
  * x64: extend Emit to allow for AVX registers
  * x64: clean up populating VEX prefix
  * x64: add vmovsd RM and MR lowerings (first draft)
  * x64: load/store to/from AVX registers for f64
  * x64: add unordered cmp with EFLAGS
  * x64: merge general purpose with simd register into one bitset
  * regalloc: allow for optional selector mask when allocating
  * x64: use register classes mask to select between gp and avx
  * x64: remove special-casing of AVX for br()
  * x64: handle basic f32 using AVX registers
  * x64: re-enable behavior tests
  * x64: re-enable incremental tests
  * x64: use StaticBitSet instead of an integer internally in RegisterManager
  * x64: check for floating-point intrinsics in codegen
  * x64: load float from memory to register on PIE targets

  [ frmdstryr ]
  * Add aliases to math builtins back into std.math (#11666)

  [ Jakub Konka ]
  * regalloc: make register class bitmask non-optional

  [ Motiejus Jakštys ]
  * [Elf] add -z nocopyreloc

  [ Jakub Konka ]
  * regalloc: temporarily nerf back to raw ints until stage2 catches up

  [ Ali Chraghi ]
  * wasm-linker: add -mwasm64 linker parameter for wasm64 target

  [ Andrew Kelley ]
  * Sema: fix comptime `@floatCast` downcast
  * stage2: fix `@call` when used in a comptime or nosuspend block
  * Sema: introduce laziness to `@sizeOf`

  [ Jakub Konka ]
  * x64: implement matching SSE instructions for generic cross-comp target

  [ Andrew Kelley ]
  * LLVM: rework calling convention lowering

  [ Jakub Konka ]
  * regalloc: test allocating from multiple register claases

  [ Andrew Kelley ]
  * LLVM: fix calling convention lowering involving pointers

  [ joachimschmidt557 ]
  * stage2 ARM: Introduce MCValue.cpsr_flags

  [ Jakub Konka ]
  * Set macOS/iPhoneOS/tvOS/watchOS ABI to none (unspecified) by default
  * stage2: append min version to target triple when lowering to LLVM
  * Return an error when macOS ABI is not {none, simulator, macabi}

  [ joachimschmidt557 ]
  * stage2 ARM: fix recursive fibonacci

  [ Jakub Konka ]
  * Bump support macOS versions; clean up allocs in llvm.targetTriple

  [ Thomas Cheng ]
  * Fix segfault in error note

  [ Dominic Tarr ]
  * document bufPrint, and format now uses `writer` not `output`

  [ Andrew Kelley ]
  * stage2: string literal interning
  * clean up a compile error test case
  * stage2: fixes for error union semantics

  [ Luuk de Gram ]
  * codegen: Order error union fields per alignment
  * wasm: Fixes for error union semantics

  [ Andrew Kelley ]
  * C backend: update to new error union semantics
  * stage2: make `?anyerror` represented the same as `anyerror`
  * enable passing behavior test
  * move bound function behavior test to compile error test
  * LLVM: rename two functions

  [ Jakub Konka ]
  * dwarf: update abbrev info generation for new error union layout
  * x64: update for new error union layout
  * x64,arm,aarch64: omit unsupported tests for now
  * aarch64: update for new error union layout
  * wasm: use errUnionPayloadOffset and errUnionErrOffset from codegen.zig

  [ joachimschmidt557 ]
  * stage2 ARM: update to new union layout

  [ Andrew Kelley ]
  * stage2: fixes for error unions, optionals, errors
  * stage2: treat `error{}!void` as a zero-bit type
  * Sema: additional check for one-possible-value types in analyzeLoad
  * mark two behavior tests as passing

  [ Francesco Alemanno ]
  * Add std.rand.RomuTrio

  [ Andrew Kelley ]
  * mark some more behavior tests as passing

  [ Vincent Rischmann ]
  * io_uring: add provide_buffers and remove_buffers
  * io_uring: change read() to use a ReadBuffer instead
  * io_uring: change recv() to use a RecvBuffer instead
  * io_uring: add a test harness for server/client TCP socket tests
  * io_uring: use the socket test harness
  * io_uring: add tests for automatic buffer selection
  * io_uring: replace the readv method with a read on a new ReadBuffer type

  [ Veikka Tuominen ]
  * Sema: add error for dereferencing comptime value at runtime

  [ Jakub Konka ]
  * x64: move from compare_flags_* mcv to eflags with condition codes enum
  * x64: use new condition codes enum for register with overflow mcv

  [ Veikka Tuominen ]
  * stage2: packed struct fields do not have a byte offset
  * Sema: handle block.is_typeof in more places

  [ Helio Machado ]
  * std.crypto: cosmetic improvement to AES multiplication algorithm (#11616)

  [ Veikka Tuominen ]
  * Sema: check for generic poison in `resolveInst`

  [ Jakub Konka ]
  * aarch64: check lo/cc flag for unsigned sub_with_overflow

  [ Andrew Kelley ]
  * Sema: generic function instantiations inherit branch quota
  * Sema: implement array concatenation with runtime operands
  * stage2: implement runtime array multiplication

  [ Koakuma ]
  * stage2: sparc64: Add cmp and mov synthetic instructions
  * stage2: sparc64: Change binOpImmediate immediates to u12
  * stage2: sparc64: Account for stack bias & reserved area in genSetReg
  * stage2: sparc64: Remove saved_regs_stack_space calculation

  [ Jakub Konka ]
  * regalloc: use StaticBitSet internally

  [ Veikka Tuominen ]
  * Sema: `zirArrayType` does need source location

  [ Frank Denis ]
  * crypto/25519: add scalar.random(), use CompressedScalar type

  [ Jakub Konka ]
  * test: correctly track identical error msgs in handled errors list
  * apply Vexu's suggestion to use failing_allocator for now

  [ joachimschmidt557 ]
  * std.PriorityQueue: fix missing siftUp in remove

  [ Andrew Kelley ]
  * std.testing: remove tight coupling with executing zig as child process

  [ Hanna ]
  * Rename `std.build.Pkg.path` to `std.build.Pkg.source` (#11557)

  [ Jonathan Marler ]
  * fix semantic error with std.os.linux.all_mask

  [ Yuto Oguchi ]
  * std.c: Fix incorrect dirent structure (#11602)

  [ Andrew Kelley ]
  * stage0: fix -fsingle-threaded CLI arg parsing

  [ Andreas Reischuck ]
  * add more corner case tests to float_parse (#11727)

  [ Andrew Kelley ]
  * std.Progress.log: adjust API
  * clean up some behavior tests
  * fix alignment behavior test case

  [ r00ster ]
  * Fix grammatical error

  [ Veikka Tuominen ]
  * Sema: add error for runtime indexing comptime array
  * AstGen: preserve inferred ptr result loc for breaks
  * stage2: add test for fixed issue

  [ joachimschmidt557 ]
  * stage2 AArch64: complete genTypedValue

  [ Ali Chraghi ]
  * math: make `cast` return optional instead of an error

  [ TwoClocks ]
  * reserve correct space for bitfields

  [ Veikka Tuominen ]
  * Revert "reserve correct space for bitfields"

  [ TwoClocks ]
  * translate-c: check record fields for opaque demotions

  [ Veikka Tuominen ]
  * translate-c: check variable types being demoted to opaque
  * AstGen: improve generated Zir for array init exprs
  * AstGen: add tuple aware elem_type_index

  [ Andrew Kelley ]
  * stage2: add missing data to ZIR encoding of functions
  * AstGen: simplify function return type expressions
  * Sema: implement functions generic across callconv() or align()
  * LLVM: omit memset of 0xaa bytes in unsafe optimization modes

  [ Veikka Tuominen ]
  * Sema: take `dbg_stmt` into account in `zirResolveInferredAlloc`
  * stage2: ignore generic return type when hashing function type
  * Sema: do not add calls to `returnError` for comptime known non-error values

  [ Frank Denis ]
  * crypto: add support for the NIST P-384 curve (#11735)

  [ Andrew Kelley ]
  * LLVM: elide some loads when lowering
  * stage2: fix hash/eql on function types
  * stage2: add support for -fbuild-id,-fno-build-id
  * build: include a build-id note only if explicitly requested
  * LLVM: add readonly, nonnull, align attributes to pointer params

  [ Veikka Tuominen ]
  * Sema: detect comptime values in `zirMakePtrConst`
  * Sema: `validate{Array,Struct}Init` shortcut only valid if base ptr is comptime known

  [ Andrew Kelley ]
  * LLVM: integrate param attrs with iterateParamTypes

  [ Veikka Tuominen ]
  * Sema: handle bitcasts produced by `coerce_result_ptr` in `validate{Array,Struct}Init`
  * Sema: handle `dbg_smtt`s when deleting runtime instructions in `validateStructInit`

  [ Andrew Kelley ]
  * stage2: introduce support for noalias
  * LLVM: pass slices as ptr/len combo
  * LLVM: add target-cpu and target-features fn attributes
  * stage2: -fbuild-id causes default linker to be LLD

  [ Veikka Tuominen ]
  * Sema: apply previous changes to `validateUnionInit`
  * disable failing test

  [ Andrew Kelley ]
  * CI: skip non native ReleaseFast and ReleaseSafe tests on drone
  * LLVM: convert two ArrayLists into a MultiArrayList
  * CI: skip single-threaded tests on Drone
  * Sema: fix alignment of element ptr result type
  * Sema: fix compiler crash with comptime arithmetic involving `@ptrToInt`

  [ Jakub Konka ]
  * tapi: sync with upstream

  [ joachimschmidt557 ]
  * stage2 ARM: rework cmp in preparation for switch

  [ Veikka Tuominen ]
  * compiler_rt: fix infinite loop
  * Type: implement elemType2 for anyframe
  * Sema: fix type of alloc
  * Value: implement {read,write}Value for more types
  * stage2: ignore asm inputs named `_`
  * Sema: `@sizeOf` function should give an error
  * Sema: handle the_only_possible_value in beginComptimePtrMutation
  * Sema: fix initialization of array with comptime only elem type
  * std: disable tests that crash stage2
  * std: update tests to stage2 semantics
  * Sema: fix function type callconv inference

  [ joachimschmidt557 ]
  * stage2 ARM: introduce support for basic switch expressions

  [ Jakub Konka ]
  * x64: disable misbehaving behavior tests

  [ Andrew Kelley ]
  * AstGen: introduce `try` instruction
  * stage2: implement the new "try" ZIR/AIR instruction
  * Sema: implement try_inline
  * explicit "_ptr" variants of ZIR try instruction
  * Sema: extract out zirTryPtr from zirTry

  [ Luuk de Gram ]
  * wasm: Implement `try` instruction

  [ Andrew Kelley ]
  * C backend: implement `try` instruction
  * Sema: avoid emitting unused is_non_err AIR instruction

  [ Jakub Konka ]
  * x64: lower try and try_ptr
  * elf+macho: use explicit alignment on decl is specified
  * sema: set new Decl alignment to 0 for generic call instantiation

  [ Gregory Anders ]
  * Treat blocks with "return" as "noreturn"

  [ joachimschmidt557 ]
  * stage2 ARM: implement `try` AIR instruction

  [ Koakuma ]
  * stage2: sparc64: Fix CompareOperator <-> ICondition mapping
  * stage2: sparc64: Implement condition code spilling
  * stage2: sparc64: Implement airAddSubOverflow
  * stage2: sparc64: Implement airStructFieldVal
  * stage2: sparc64: Proper handling of compare flags
  * stage2: sparc64: Account for delay slot in airBlock
  * stage2: sparc64: Some bookkeeping fixes
  * stage2: sparc64: Spill CCR before doing calls
  * stage2: sparc64: Implement SPARCv9 addcc and movcc
  * stage2: sparc64: Implement airNot
  * stage2: sparc64: Add BPr relocation to performReloc
  * stage2: sparc64: Implement SPARCv9 xor, xnor, & not
  * stage2: sparc64: Fix & optimize 64-bit truncRegister
  * stage2: sparc64: Implement airSlice
  * stage2: sparc64: Add some notes about stack space allocation
  * stage2: sparc64: Implement airWrapErrUnionErr
  * stage2: sparc64: binOp/mul: Use template from `add`

  [ BratishkaErik ]
  * tools: fix update-linux-headers.zig and process_headers.zig

  [ Koakuma ]
  * stage2: sparc64: Implement airArrayToSlice
  * stage2: sparc64: Implement airPtrElemPtr
  * behaviortest: Skip 'align(N) on functions' on sparc64 for now

  [ Jakub Konka ]
  * elf: refactor and enhance logging symtab
  * dwarf: fix incorrect type reloc for unions

  [ Andrew Kelley ]
  * Revert "Treat blocks with "return" as "noreturn""

  [ joachimschmidt557 ]
  * stage2 AArch64: implement `try` AIR instruction

  [ Veikka Tuominen ]
  * Sema: fix coerce result ptr outside of functions
  * Sema: validate equality on store to comptime field
  * AstGen: fix coercion scope type when stores are eliminated
  * Sema: fix inline call of func using ret_ptr with comptime only type
  * std: fix ambiguous references
  * std: add necessary `@alignCast`s
  * std.fs: fix incorrect passing of pointer to temporary
  * std: handle stage2 function pointer semantics in test
  * stage2: use correct type (u29) for alignment

  [ Jan Philipp Hafer ]
  * std.os.abort: ported signal handling from musl

  [ Andrew Kelley ]
  * std.os.abort patch cleanups
  * LLVM: handle extern function name collisions

  [ Jakub Konka ]
  * x64: simplify saving registers to stack in prologue
  * x64: account for non-pow-two stores via register deref
  * x64: optimise element offset calculation if dealing with immediates
  * x64: pass behavior test bugs/1381
  * x64: clean up store helper
  * x64: pull common codepath between store and genSetStack into a helper

  [ Veikka Tuominen ]
  * Sema: make `analyzeIsNonErr` even lazier for inferred error sets
  * Sema: allow simple else body even when all errors handled
  * stage2: implement asm with multiple outputs
  * stage2 llvm: fix float/int conversion compiler-rt calls
  * std: adjust for stage2 semantics

  [ Jakub Konka ]
  * x64: remove outdated TODO comment

  [ Jonathan Marler ]
  * add const to msghdr_const iov and control pointers

  [ Cody Tapscott ]
  * std.math: Add O(log N) implementation of log2(x) for comptime_int

  [ joachimschmidt557 ]
  * stage2 AArch64: introduce MCValue.condition_flags

  [ Andrew Kelley ]
  * stage2: better codegen for byte-aligned packed struct fields
  * stage2: packed struct fixes for big-endian targets

  [ Isaac Freund ]
  * linker: Enable full RELRO by default
  * std.build: Expose `-z norelro` and `-z lazy`
  * parser: sync comments with formal grammar

  [ Andrew Kelley ]
  * test harness: fix sort comparator
  * stage2: fix type printing of sub-byte pointers
  * add a missing align() to a behavior test
  * Sema: implement zirRetErrValueCode
  * AstGen: avoid redundant "ref" instructions
  * Sema: avoid use of undefined value for generic fn calls
  * introduce std.debug.Trace
  * upgrade behavior test to stage2 fn ptr semantics
  * std.debug.Trace: improve API
  * stage2: fold redundant error notes
  * test harness: fix handling of counts

  [ Isaac Freund ]
  * linker: remove `-z noexecstack` option

  [ Andrew Kelley ]
  * stage2: fix handling of aggregates with mixed comptime-only fields
  * stage2: use std.debug.Trace only when explicitly enabled
  * remove a stage2 test case that relies on a very deep compiler stack
  * update packed struct behavior tests to new language semantics
  * Sema: introduce bitSizeAdvanced to recursively resolve types

  [ Jakub Konka ]
  * stage2: correctly work out dirname for ar

  [ Andrew Kelley ]
  * link/wasm: fix writing past the end of debug info buffer

  [ Cody Tapscott ]
  * ThreadPool: Make join() a no-op in single-threaded mode

  [ Veikka Tuominen ]
  * Sema: handle tuple and anon_struct in resolveTypeFully
  * stage2: improve debugging tools
  * Sema: skip decl causing namespace lookup when doing lookup

  [ Luuk de Gram ]
  * wasm: implement `@byteSwap` for 16/32bit integers
  * wasm:`@byteSwap` for 24 bit integers
  * wasm: support all `@div{trunc/floor/exact}` ops
  * wasm: signed integer division (non-floor)
  * wasm: implement `@divFloor` for signed integers
  * wasm: optimize & simplify sign extension
  * wasm: implement `@ceil`, `@floor` and `@trunc`

  [ Andrew Kelley ]
  * Sema: type safety for "runtime_index" field

  [ Veikka Tuominen ]
  * Sema: make `@src` give absolute paths
  * stage2: small fixes + adjustments to std tests
  * stage2: make `error{}` the same size as `anyerror`
  * stage2: improve anon name strategy for local variables
  * std: disable failing tests, add zig2 build test-std to CI

  [ Andrew Kelley ]
  * std.mem.zeroes: remove call to std.meta
  * add std.debug.Trace.format
  * Sema: rework beginComptimePtrMutation

  [ Veikka Tuominen ]
  * Sema: add missing set_union_tag

  [ Andrew Kelley ]
  * stage2: fix some inline asm incompatibilities with stage1

  [ Frank Denis ]
  * crypto/pcurves: compute constants for inversion at comptime (#11780)

  [ Mikael Berthe ]
  * std.math.big.int: update Managed.toString() to use provided allocator (#11839)

  [ Andrew Kelley ]
  * multi-thread `zig build test-cases`

  [ Frank Denis ]
  * Update the WASI libc

  [ Andrew Kelley ]
  * test-cases: fix race with `zig run` on C backend tests
  * test-cases: avoid using realpath since it is not portable

  [ Frank Denis ]
  * std/crypto: add support for ECDSA signatures (#11855)

  [ Motiejus Jakštys ]
  * [elf] understand -no-pie

  [ Veikka Tuominen ]
  * Sema: validateArrayInit detect bitcast before store
  * Sema: handle sentinels in tupleToArray

  [ Omar Alhammadi ]
  * stage2: comptime @bitCast packed struct bug fix

  [ Xavier Bouchoux ]
  * stage2: coerce tuple to vector

  [ Veikka Tuominen ]
  * std.tz: fix function returning pointer to local variable
  * stage2: check that struct is a tuple when value tags differ in eql

  [ Jakub Konka ]
  * compiler_rt: compile each unit separately for improved archiving
  * compiler_rt: use single cache for libcompiler_rt.a static lib
  * compiler_rt: correctly export allrem and aullrem for i386-windows-msvc
  * compiler_rt: shuffle order of imports to mark relevant symbols for export
  * macho: unify flushing object path with other linkers

  [ Andrew Kelley ]
  * compiler-rt: break up functions even more
  * compiler-rt: move SPARC functions into appropriate compilation units
  * compiler-rt: use callconv(.AAPCS) on all __aeabi_ functions
  * compiler-rt: sort source files
  * compiler-rt: correct the list of builtins to build
  * compiler-rt: fix tests
  * compiler-rt: no more -ffunction-sections
  * update CMakeLists.txt source file list
  * Compilation: multi-thread compiler-rt
  * compiler-rt: disable separate compilation units
  * compiler-rt: gedf2 and gesf2
  * compiler-rt: musl ABI also needs __gnu_f2h_ieee etc
  * compiler-rt: finish cleanups
  * compiler-rt: fix aeabi logic
  * update CMakeLists.txt source files
  * stage2: rip out multi-compilation-unit compiler-rt
  * compiler-rt: fix logic for choosing `__gnu_{f2h,h2f}_ieee`

  [ Veikka Tuominen ]
  * value: handle slices in canMutateComptimeVarState

  [ Jakub Konka ]
  * macho: return from flushModule if building object for static lib

  [ Luuk de Gram ]
  * wasm: implement saturating add, sub for unsigned
  * wasm: saturating add and sub for signed integers
  * wasm: saturating shift-left for unsigned integers

  [ Jakub Konka ]
  * compiler-rt: fix logic for choosing `__gnu_{f2h,h2f}_ieee`

  [ Luuk de Gram ]
  * wasm: saturating shift-left for signed integers
  * wasm: fixes for signed saturation
  * wasm: enable passing behavior tests

  [ Jakub Konka ]
  * macos: run test-cases single threaded in the CI

  [ Motiejus Jakštys ]
  * [MachO] add -pagezero_size

  [ Jakub Konka ]
  * macho: round down pagezero size to page size
  * macho: verbose print pagezero size if specified

  [ Veikka Tuominen ]
  * std.crypto: fix invalid pass by value

  [ Jakub Konka ]
  * macho: -pagezero_size is always in hex

  [ Veikka Tuominen ]
  * std.fmt: update test to stage2 fn pointer semantics

  [ Jakub Konka ]
  * test: introduce link(er) tests - builds on standalone tests
  * link-tests: CheckFileStep to do grep test on the binary
  * link-tests: test pagezero_size option for macho

  [ Jonathan Marler ]
  * std.os.execvpe: fix buffer overflow

  [ Jakub Konka ]
  * link-tests: add CheckMachOStep
  * link-tests: dump metadata to string and grep results
  * link-tests: move macho tests to subfolder
  * link-tests: extract values into variables
  * link-tests: rename CheckMachOStep to CheckObjectStep and accept obj format
  * link-tests: fix dumping of LOAD_DYLIB: name instead of path field

  [ frmdstryr ]
  * Add missing adddf3

  [ Jakub Konka ]
  * link-tests: clean up linker testing harness
  * link-tests: frameworks example can test for libobjc autolink in safety modes
  * link-tests: clean up error messages in case of failure
  * link-tests: add better docs
  * link-tests: enable on macos CI host only for now
  * macho: fix aligning linkedit sections
  * link-tests: fix parsing symtab for macho
  * link-tests: rename check() to checkStart()

  [ FlandreScarlet ]
  * std.debug: fix ConfigurableTrace.dump OOB

  [ Ryan Liptak ]
  * Add stack trace capturing to FailingAllocator
  * Integrate FailingAllocator stack trace with testing.checkAllAllocationFailures
  * checkAllAllocationFailures: add possibility of SwallowedOutOfMemoryError (split from NondeterministicMemoryUsage)
  * FailingAllocator: Only capture the stack trace of the first induced allocation failure

  [ Luuk de Gram ]
  * wasm: Create compiler-rt symbols and lowering
  * link: Implement API to get global symbol index
  * wasm-linker: de-duplicate functions+atom sorting
  * wasm-linker: Implement Archive parsing
  * wasm-linker: Resolve symbols from archives
  * wasm-linker: Correctly resolve function type
  * wasm-link: Discard old symbols correctly
  * fix memory leaks
  * wasm-linker: Parse object file from the archive
  * wasm: Implement basic f16 support
  * wasm: Implement `@mulAdd` for f16
  * stage2: Enable compiler-rt when LLVM is existant
  * wasm: Enable f16 behavior tests
  * wasm: more f16 support and cleanup of intrinsics
  * Revert "wasm: Enable f16 behavior tests"
  * link:clarification & enable MachO getGlobalSymbol

  [ Koakuma ]
  * stage2: sparc64: Merge the compare_flag structs into condition_flags
  * stage2: sparc64: Move conditional branch emission out of airCondBr
  * stage2: sparc64: Introduce condition_register MCValue type
  * stage2: sparc64: Use official encoding for `not rs2, rs1`
  * stage2: sparc64: Save registers before calling another function
  * stage2: sparc64: Implement airTry
  * stage2: sparc64: Implement airBinOp for and, or, and xor
  * stage2: sparc64: Implement SPARCv9 and
  * stage2: sparc64: Implement airArrayElemVal
  * stage2: sparc64: Implement airFence + SPARCv9 membar
  * stage2: sparc64: Implement airIntCast basics
  * stage2: sparc64: Implement SPARCv9 shifts
  * stage2: sparc64: Implement airIsNull/airIsNonNull
  * stage2: sparc64: Fix airNot comments/error messages
  * stage2: sparc64: Implement airBoolToInt
  * stage2: sparc64: Add airMemset placeholder
  * stage2: sparc64: Implement airCall with BigTomb use for return
  * stage2: sparc64: Update BigTomb implementation to use Liveness
  * stage2: sparc64: Implement airAggregateInit
  * stage2: sparc64: Implement airErrUnionPayloadPtrSet
  * stage2: sparc64: Implement airRem, airMod, and SPARCv9 s/udivx
  * stage2: sparc64: Implement SPARCv9 movr
  * stage2: sparc64: Skip Sema-failing tests for now

  [ Motiejus Jakštys ]
  * zld: ignore -search_paths_first

  [ Jakub Konka ]
  * macho: implement -search_dylibs_first linker option
  * macho: verbose print all input linker args verbatim

  [ Luuk de Gram ]
  * link/wasm: Put decls into the correct segments

  [ Jakub Konka ]
  * cli: let the linker resolve libs into dynamic and static
  * link-tests: test -search_paths_first and -search_dylibs_first macho flags
  * cache setting macho search strategy flags
  * link-tests: put macho search strategy tests into one test case
  * link-tests: defer parsing of the RPN program until running the action
  * macho: implement -headerpad_size option
  * link-tests: add -headerpad_size test scenario
  * macho: implement -headerpad_max_install_names

  [ Luuk de Gram ]
  * link/wasm: Sort data segments

  [ joachimschmidt557 ]
  * stage2 ARM: implement basic intCast and error union wrapping

  [ Ryan Liptak ]
  * Move sys_can_stack_trace from GPA to std.debug so that it can be re-used as needed

  [ Pierre Curto ]
  * doc: update std.builtin.TypeInfo to std.builtin.Type

  [ Ryan Liptak ]
  * Fix stack traces with non-null `first_address` on Windows

  [ Jakub Konka ]
  * macho: implement -dead_strip_dylibs linker flag
  * macho: implement and handle `-needed-*` and `-needed_*` family of flags

  [ Andrew Kelley ]
  * Sema: honor the --test-filter flag
  * LLVM: support calls to varargs functions
  * LLVM: fix invalid IR on `@returnAddress` of wasm/bpf
  * std.x.os.net: make error set consistent across targets
  * std.os.linux.clone: upgrade to stage2 fn ptr semantics
  * std.crypto.25519.field: avoid excessive inlining

  [ Jakub Konka ]
  * cli: typo `--needed_library` should be `-needed_library` on macos
  * macho: discriminate between normal and weak dylibs
  * macho: annotate weak imports when linking with weak lib/framework
  * build: handle weakly imported libs and frameworks
  * link-tests: test -weak-lx and -weak_framework x
  * link-tests: do not save global extracted var unless a match
  * test: return error on unknown config value
  * test: fix spurious whitespace in nested_blocks test

  [ Ken Micklas ]
  * Pass -O0 rather than -Og to Clang for Debug builds

  [ Shupei Fan ]
  * zig0: handle baseline cpu features for rv64

  [ Jakub Konka ]
  * link: cache weak libraries
  * clang: update cmdline options to include weak libs and frameworks

  [ Philipp Lühmann ]
  * zig fmt: fix idempotency with newlines surrounding doc comment

  [ Ben Fiedler ]
  * std.mem: add peek() to TokenIterator(T)

  [ Andrew Kelley ]
  * TypedValue: fix print function
  * Sema: fix not propagating want_safety in zirBlock
  * print_zir: fix unreachable missing end paren
  * Revert "AstGen: preserve inferred ptr result loc for breaks"

  [ Frank Denis ]
  * std.crypto.{p256,p384}: process the top nibble in mulDoubleBasePublic (#11956)
  * std/crypto/{25519,pcurves}: make the scalar field order public (#11955)

  [ Motiejus Jakštys ]
  * mem: add splitBackwards (#11908)

  [ May B ]
  * std.json: Support disabling indent (#11823)

  [ Frank Denis ]
  * std.crypto.ecc: add support for the secp256k1 curve (#11880)

  [ LordMZTE ]
  * translate-c: fix cast or call macro with parenthesis
  * translate-c: fix token pasting operator without parens

  [ Jakub Konka ]
  * aarch64: add airRetLoad for register mcv
  * clang: add Zig equivalent for -headerpad_max_install_names cli flag

  [ Andrew Kelley ]
  * std.math.big.int: breaking API changes to prevent UAF
  * LLVM: fix lowering of untagged union types
  * stage2: lower float negation explicitly
  * stage2: hash/eql of fixed-size floats use bit pattern

  [ Veikka Tuominen ]
  * move passing stage1 compile error tests to stage2
  * Sema: improve `@call` errors
  * Sema: improve vector overflow errors
  * Sema: improve auto generated union enum name
  * Sema: validate shift amounts and switch ranges
  * Sema: add source location to coerce result ptr, fix negation error
  * tests: move compile errors not planned for stage2
  * stage2 llvm: ensure `@tagName` functions are unique
  * adjust tests that didn't pass CI

  [ Andrew Kelley ]
  * LLVM: lower float negation with xor a constant

  [ Mikko Kaihlavirta ]
  * std.event: use .{} to initiate Lock to unlocked state

  [ Andrew Kelley ]
  * CI: update freebsd pkg install command
  * stage2: object format affects whether LLVM can be used
  * remove plan9 test coverage
  * LLVM: use unnamed struct llvm type for unions when necessary
  * LLVM: be sure to never pass align(0) attribute
  * stage2: implement alignment calculation of vectors

  [ Veikka Tuominen ]
  * Sema: improve bitcast to enum error
  * Sema: validate callconv
  * Sema: prefer func.onwer_decl for compilelog src
  * Sema: validate deref operator type and value
  * Sema: validate `@intToEnum` int operand type
  * Sema: add more validation to zirFieldParentPtr
  * AstGen: use elem_{ptr,val}_node for array access syntax

  [ Frank Denis ]
  * std.crypto.hash: allow creating hash functions from compositions (#11965)
  * crypto: add the Xoodoo permutation, prepare for Gimli deprecation (#11866)

  [ Jakub Konka ]
  * macho: implement pruning of unused segments and sections

  [ Andrew Kelley ]
  * update libcxx to llvm 14.0.6
  * update libcxxabi to llvm 14.0.6
  * update libunwind to llvm 14.0.6
  * CMake: disable deprecated function warnings
  * stage1: update to LLVM 14 API
  * stage1: update inline asm outputs to LLVM 14
  * update CPU features to LLVM 14
  * LLD: there are fewer libraries to link against now
  * LLD: the driver functions now return "false" to mean "error"
  * update clang command line options to LLVM 14
  * std.zig.fmtId: revert recent changes
  * libcxx: do not include __config_site
  * libcxx: add additional include directory

  [ Jakub Konka ]
  * clang: parse --verbose flag as -v

  [ Andrew Kelley ]
  * LLVM: update inline asm to LLVM14 semantics
  * LLVM: update lowering of saturating shift-left
  * stage2: update vector alignment logic
  * std: disable tests regressed from LLVM 14
  * update C headers to LLVM 14.0.6
  * update build scripts to LLD and LLVM 14 libraries
  * stage1: fix vectors of small int and bool tripping LLVM assertion
  * std: better definition for std.os.linux.epoll_event

  [ Veikka Tuominen ]
  * translate-c: do not try to get rid of do while loop

  [ Andrew Kelley ]
  * update macOS libc headers
  * std: update bsd bits to new fn ptr semantics
  * stage2: ELF: improve error reporting when libc is missing
  * stage2: disable unit tests when building with stage1
  * Sema: resolve lazy value before hashing it for generic fn
  * Sema: fix intFitsInType implementation
  * std.Thread: fix mutable ref of temporary
  * link.Coff: notice special windows symbols
  * CI: update tarballs to LLVM 14

  [ Cody Tapscott ]
  * stage2: Fix corrupted Type when de-referencing field pointer

  [ Jonathan Marler ]
  * Mark fstype argument to mount as optional

  [ Andrew Kelley ]
  * CI: fix wrong macos tarball
  * CLI: add support for -fno-builtin
  * fix behavior test which was relying on UB
  * stage2: propagate use_stage1 to sub-compilation
  * disable regressed wasm32 behavior tests from LLVM 14
  * remove sparc64 test case which is tripping llvm assertion
  * fix expected error messages in test cases
  * disable regressed behavior tests from llvm 14
  * compiler_rt: work around LLVM optimizing __muloti4 to call itself
  * std.os.linux.io_uring: work around LLVM bug
  * std: align some function pointers

  [ Frank Denis ]
  * crypto.sign.ecdsa: fix toCompressedSec1()/toUnompressedSec1() (#12009)

  [ Andrew Kelley ]
  * compiler_rt: RISC-V does not want gnu_f16_abi
  * disable failing standalone test - tools/gen_spirv_spec.zig
  * update install_raw_hex test case
  * disable more standalone tests
  * std: disable tests tripping LLVM assertions
  * std: disable aarch64 tests that regressed from LLVM 14
  * std.fmt.parse_float: disable failing aarch64 test from LLVM 14
  * Sema: fix type resolution during generic function instantiation

  [ Riccardo Binetti ]
  * Sema: accept thumb and thumbeb with ARM calling conventions

  [ Andrew Kelley ]
  * std.leb128: disable regressed test due to LLVM 14
  * std.json: move tests to json/test.zig file

  [ Veikka Tuominen ]
  * AstGen: move error_to_int, int_to_error and select to extended
  * Sema: panic at comptime + misc error message improvements
  * Sema: validate pointer types
  * Sema: more runtime indexing comptime value checks
  * Sema: misc error message fixes
  * stage2: make line field of `@src` runtime known
  * Module: add `.node_offset_un_op`
  * Sema: improve slice source locations
  * Sema: improve array source location
  * stage2: move C pointer allowzero error to AstGen

  [ emma ]
  * AstGen: fix catch payoad not checking for shadowing

  [ r00ster91 ]
  * std.log: give friendly error to freestanding users

  [ Andrew Kelley ]
  * langref: disable an example that regressed from LLVM 14
  * llvm c++ wrapper: fix argument index calculations

  [ VÖRÖSKŐI András ]
  * Sema: add a note about @setEvalBranchQuota() when branch quota is exceeded

  [ Cody Tapscott ]
  * stage1: Fix seg-fault when slicing string literal with sentinel

  [ Andrew Kelley ]
  * std.builtin.returnError: disable runtime safety
  * LLVM: handle byref combined with multiple_llvm_ints
  * LLVM: more robust implementation of C ABI for multiple_llvm_ints
  * compiler_rt: enable __clear_cache for stage2
  * CI: update scripts to new LLVM 14 tarballs

  [ Cody Tapscott ]
  * stage2: Fix panic when printing AIR for tuple/anon struct types

  [ Frank Denis ]
  * crypto.sign.ed25519: add support for blind key signatures (#11868)

  [ Cody Tapscott ]
  * stage2: Support initializing anonymous struct type
  * stage2: Support `@offsetOf` for tuples and anon structs
  * stage2: Support `@fieldParentPtr` for tuples and anon structs

  [ Andrew Kelley ]
  * CI: update scripts to stage1 LLVM 14 tarballs
  * CI: azure: update build.zig for LLVM 14
  * disable failing riscv64 tests from LLVM 14 upgrade
  * disable regressed translate-c test case on freebsd

  [ Yusuke Tanaka ]
  * Remove outdated TODO comment (#12053)

  [ Veikka Tuominen ]
  * Sema: use `tupleFieldIndex`

  [ r00ster91 ]
  * `std.log`: deduplicate `switch`

  [ Andrew Kelley ]
  * these riscv64 behavior tests work for stage1 but not stage2
  * windows_com: add missing __CRT_UUID_DECL() for IEnumSetupInstances
  * disable regressed float formatting test case
  * disable regressed math.sign test case
  * two more regressed test cases; same cause as last two commits

  [ BratishkaErik ]
  * CMakeLists.txt: set LLVM minimal version to 14

  [ Veikka Tuominen ]
  * Sema: add detailed error notes to `coerceInMemoryAllowed`
  * Sema: prefer original error message in `coerce`
  * Compilation: do not repeat same source line for notes

  [ Frank Denis ]
  * stage1/codegen: replace sprintf() with snprintf()

  [ Cody Tapscott ]
  * compiler_rt: Update Windows ABI for float<->int conversion routines
  * compiler_rt: Slightly re-factor exports for Windows x86-64
  * stage1: Lower libcalls on Windows x86-64 correctly
  * stage2: Lower libcalls on Windows x86-64 correctly

  [ Duncan Holm ]
  * std.fmt: clarify the description of placeholders in Format Strings

  [ Mikko Kaihlavirta ]
  * use std.log for logging

  [ Veikka Tuominen ]
  * Sema: only add note about int mismatch if not coercible
  * Compilation: do not repeat AstGen error source line for notes
  * Sema: add "cannot convert to payload type" error notes

  [ frmdstryr ]
  * std.math: add `degreesToRadians` and `radiansToDegrees`

  [ Veikka Tuominen ]
  * Sema: add notes about function return type
  * Sema: better explanation why opaque types require comptime
  * Sema: validate extern types

  [ Ikko Ashimine ]
  * stage1: fix typo in analyze.cpp (#12077)

  [ Veikka Tuominen ]
  * Sema: allow `void` as an extern union field & fix invalid extern unions

  [ Motiejus Jakštys ]
  * ELF: understand -Wl,--compress-debug-sections

  [ r00ster91 ]
  * Compilation: indent multiline error messages properly

  [ Andrew Kelley ]
  * stage2: cleanups to --compress-debug-sections

  [ Veikka Tuominen ]
  * parser: add helpful error for C style container declarations
  * stage2: handle parser notes in a more general way

  [ Luuk de Gram ]
  * wasm-linker: Implement linker tests (#12006)

  [ joachimschmidt557 ]
  * stage2 ARM: implement division by constant int power-of-two divisors
  * stage2 ARM: add integer modulo with constant power-of-two rhs

  [ Cody Tapscott ]
  * stage2 llvm: Use unpacked struct for unions and arrays

  [ Andrew Kelley ]
  * Sema: fix double-free on compile errors
  * zig_llvm: include Debug Info Version even for CodeView
  * LLVM: broaden aarch64-windows f16 debug variable workaround
  * LLVM: always add some clobbers for some architectures
  * std: update test cases to reflect new packed struct semantics
  * stage2: lower each struct field type, align, init separately
  * std.math: add `inline` to some functions
  * LLVM: implement signext/zeroext attributes
  * stage2: fix comptime bitcast involving f80
  * AstGen: fix loop control flow applying to wrong loop

  [ Bill Nagel ]
  * handle HOSTUNREACH for blocking and non-blocking connects

  [ Veikka Tuominen ]
  * stage2: point to error location using spans

  [ Andrew Kelley ]
  * Sema: fix coerce_result_ptr in case of inferred result type
  * print_zir: fix wrong union tag for validate_deref
  * Sema: fix coerceResultPtr

  [ Cody Tapscott ]
  * CMake: Use NAMES_PER_DIR in all lookups

  [ Andrew Kelley ]
  * LLVM: insert debug logging when LLVM ABI size is wrong
  * LLVM: add padding to optional types when lowering
  * Revert "stage2 llvm: Use unpacked struct for unions and arrays"
  * LLVM: fix ABI size of optional and error union types
  * LLVM: disable the ABI size safety check

  [ Kim SHrier ]
  * add FreeBSD support to std.os.getFdPath

  [ Yujiri ]
  * doc/langref: clarify behavior of slicing with constant indexes

  [ Veikka Tuominen ]
  * std.fs: split `Dir` into `IterableDir`
  * std.fs: remove `OpenDirOptions.iterate`
  * Compilation: point caret in error message at the main token
  * Module: improve source spans for initializers and var types

  [ Jakub Konka ]
  * ci: bump macOS image on Github Actions to macos-11

  [ Luuk de Gram ]
  * zig cc: support `-Wl,--export=<symbol>`

  [ Hiroaki Nakamura ]
  * Fix std.math.big.int.Managed capacity after mul and sqr
  * Use Managed.len() instead of Managed.toConst().limbs.len
  * Use Managed.len in sub, divFloor, and divTrunc too

  [ r00ster91 ]
  * style: add missing comma

  [ Ryan Liptak ]
  * Fix checkAllAllocationFailures being too strict when checking arg types

  [ alichraghi ]
  * std.testing: add `refAllDeclsRecursive` function

  [ Vincent Rischmann ]
  * Fix io_uring tests (#12134)

  [ Andrew Kelley ]
  * Sema: fix UAF in coerceInMemoryAllowed

  [ Veikka Tuominen ]
  * std.fs: add `Iterable` versions of `openDirAbsolute*`
  * std.fs: remove accidental comptime block

  [ Cody Tapscott ]
  * stage2: Change optional non-null field to i8

  [ LeRoyce Pearson ]
  * Read dynstr starting at rpath offset

  [ Andrew Kelley ]
  * LLVM: lower optional types as byref=true
  * LLVM: lower all structs as byref=true
  * LLVM: lower all error unions as byref=true
  * LLVM: change commentary on isByRef
  * Sema: fix runtime instructions omitted
  * Sema: fix enum value without tag name used as switch item

  [ Loris Cro ]
  * autodoc: init work

  [ Jacob G-W ]
  * autodoc: don't hardcode file name
  * autodoc: generate WalkResults for ref types

  [ Loris Cro ]
  * autodocs: add support for block_inline

  [ Jacob G-W ]
  * autdoc: install artifacts

  [ Loris Cro ]
  * autodocs: refactoring: moved some fn arguments inside of self
  * autodocs: fix merge conflict
  * autodoc: add declval support to docs js
  * autodocs: add support for indirect decl references
  * autodocs: add support for int values
  * autodocs: added support for some non-type values
  * autodocs: fix rendering of non-type decls
  * autodocs: added basic support for unions
  * autodocs: output data support for more types
  * autodocs: added basic support for functions
  * autodocs: improve function rendering
  * autodoc: escape html in decl ref names
  * autodoc: added basic support for `@import`
  * autodoc: added basic support for unresolved comptime expressions

  [ Jacob G-W ]
  * add decltests to the autodoc backend

  [ Loris Cro ]
  * autodoc: fix decltest offset errors
  * autodoc: add frontend support for optionals & generic cleanup
  * autodoc: added support for non-lazy decl paths
  * autodoc: added support for same-file lazy resolution of decl paths
  * autodoc: add support for non-generic function calls
  * autodoc: add support for generic functions & generic function calls
  * autodoc: add support for solving decl paths depending on other decl paths
  * autodoc: add support for array decls
  * autodoc: add simplified support for tests
  * autodoc: add support for pointers and comptime expressions in decl paths
  * autodoc: add support for `@This` and improve call support in decl paths
  * autodoc: add support for enum literals
  * autodoc: improve comments
  * autodoc: add support for anytype and improve semantics for array length
  * autodoc: add basic support for more builtin
  * autodoc: added support for error sets and extended functions
  * autodoc: decl paths become ref paths

  [ ABuffSeagull ]
  * autodoc: fix missing variable declaration for strict mode

  [ Reece Van Atta ]
  * autodoc: add typedef to zigAnalysis file, just in case
  * autodoc: add type comments to main.js file

  [ Loris Cro ]
  * autodoc: fix offset math for decls and change TODOs from panics to just prints
  * autodoc: improve rendering and add "show priv decls" checkbox
  * autodoc: improved frontend rendering
  * autodoc: make links respect internal docs mode
  * autodoc: improve type checking in main.js
  * autodoc: more typechecking in main.js
  * autodoc: more js type fixes
  * autodoc: fixed all type errors in main.js
  * autodoc: var 2 let in main.js
  * autodoc: improved rendering container fields and fixed rendering of func args
  * autodoc: fix final js type error
  * update to new code from master branch
  * autodoc: collect type information for some expressions
  * autodoc: improve frontend rendering

  [ Vallahor ]
  * add: sentiel
  * add: rendering sentinel in js and some fixes in autodoc
  * add: array init refs
  * fix: sentinel working with types and in fn decls
  * fix: printing const in types and fn decl and sentinel in strings
  * fix: array_init_anon know working

  [ Loris Cro ]
  * autodoc: improve decl categorization and fix enumliteral arrays/ptrs

  [ Vallahor ]
  * fix: handling more types of sentinels. now can be structs too
  * add: handling comptimeExpr in js
  * fix: comptimeExpr working with generated data
  * fix: paths working on windows
  * add: handling some anytype cases
  * add: typeof_builtin (not fully implemented)
  * fix: @TypeOf() now rendering
  * fix: typeOf "match failed" with a call after @TypeOf()
  * add: handling typeof_peer
  * fix: typeOf_peer working in all cases
  * fix: comptime not showing in all anytype params anymore. add: pointer flags
  * add: extern, callconv and return errors
  * fix: slices
  * fixes: @check
  * add: noreturn keyword at end of the fn decl
  * fix: anyopaque_type. it was showing *[1]anyopaque now *anyopaque
  * fix: NoReturn and WIP in calling_conventions
  * fix: calling convention
  * add: extra information in extendedFn
  * add: handling to extra information in ptr_type
  * fix: print align() in pointers
  * fix: apparently doing this the `@as` problem is solved @check
  * add: binOp WIP
  * binOp now showing better it's need a better struture, right now it's has a hack one
  * fix: "match failure" in c.zig file @check other files and handling floats and undefined values in js
  * fix: *.{} array are now printed as type *[]comptime
  * issue: reminder to fix array_init
  * add: handling binOp div
  * add: handling @bitCast as binOp
  * add: binOp @alignCast and bit_or
  * add: handling @bitSizeOf() need to check why not working correctly with `align()`
  * add: @enumToInt() WIP
  * WIP: switch_block tag

  [ Loris Cro ]
  * autodoc: add buffering to the json writer
  * autodoc: init generic function support
  * autodoc: fixes to generic fn support plus linking support

  [ Vallahor ]
  * add: merge_error_sets and @alignOf() need a checkin to confirm it's fully work
  * add: builtins functions
  * add: slice_start, slice_end and slice_sentinel
  * fix: slice_start, slice_end and slice_sentinel typeRef are now showing the slice type

  [ Loris Cro ]
  * autodoc: fix crash when handling siwtch_block instructions
  * autodoc: new design for function list

  [ Vallahor ]
  * autodoc: refactoring binOp
  * autodoc: add some builtin functions and float128
  * autodoc: @check array_cat and array_mul
  * autodoc: add cmpxchg_strong/weak
  * autodoc: add some tags
  * autodoc: fixing a bug in builtin functions when the typeRef is null

  [ Loris Cro ]
  * autodoc: restore support for zig version + cleanup & init work to fix packages
  * autodoc: enabled packages
  * autodoc: fix package issue when analyzing stdlib

  [ Vallahor ]
  * autodoc: experiment get line info

  [ Loris Cro ]
  * autodoc: remove type annotations from main.js
  * autodoc: rework json printing code

  [ Vallahor ]
  * autodoc: initial work in opaque_decl
  * autodoc: handling refPath and fieldRef
  * autodoc: fiedRef type rendering

  [ Loris Cro ]
  * autodoc: update array analysis to new Zir

  [ Vallahor ]
  * autodoc: handling more values sections
  * autodoc: @as behavior in js

  [ Loris Cro ]
  * autodoc: add support for new func-related Zir
  * autodoc: handle special case of autodoc for std
  * autodoc: handle result location instructions
  * autodoc: fix rendering of function arguments

  [ Andrew Kelley ]
  * Autodoc: update to new ZIR encoding
  * Autodoc: update to new array_type ZIR
  * Autodoc: skip docs when compile errors occur
  * Autodoc: clean up debug printing
  * delete the stage1 implementation of autodoc

  [ Loris Cro ]
  * Autodoc: add warning banner to html

  [ Andrew Kelley ]
  * Autodoc: small polish on the html
  * Autodoc: stage2 miscompilation workaround

  [ Loris Cro ]
  * Autodoc: fix int expr size for 32bit targets

  [ Cody Tapscott ]
  * macho: Pass sections by pointer when slicing names

  [ Veikka Tuominen ]
  * stage2 llvm: fix handling of pointer fields in packed structs

  [ Andrew Kelley ]
  * build.zig: remove deleted .cpp file
  * CI: increase stage3 test coverage
  * disable std lib test failing with self-hosted ReleaseSafe
  * improve test case from previous commit

  [ Motiejus Jakštys ]
  * build.zig: teach `--compress-debug-sections`

  [ Andrew Kelley ]
  * disable new behavior test in stage1
  * CI: stage3 covers test-universal-libc and builds stage1

  [ Loris Cro ]
  * autodoc: use already open handles to output docs artifacts
  * autodoc: cleanup file-related operations

  [ Yujiri ]
  * Fix #9184: fmtIntSizeDec/fmtIntSizeBin support FormatOptions

  [ zc ]
  * complete the drone pipeline runner type and platform os

  [ Veikka Tuominen ]
  * Sema: fix non-exhaustive union switch checks
  * Sema: disallow 'align' on functions on wasm
  * stage2: better pointer source location
  * fix errors in tests not tested locally or on CI
  * Sema: explain why comptime is needed
  * Sema: validate function pointer alignment
  * Sema: validate function parameter types and return type
  * Sema: more union and enum tag type validation
  * AstGen: add error for fields in opaque types
  * Sema: better source location for incompatible capture group
  * Sema: better function parameter source location
  * Sema: better source location for function call args
  * Sema: validate extern struct field types earlier

  [ Andrew Kelley ]
  * constrain target/backend of new test cases
  * build.zig: 32 MiB stack size
  * Sema: improve compile error for bad function alignment
  * Sema: fix fn pointer align disagrees with fn align error
  * add new compile error note to old test case
  * LLVM: fix lowering of structs with underaligned fields
  * tests: remove superfluous newlines from logs
  * update standalone test cases for stage2
  * update test-translate-c cases to stage2
  * CI: stage3 coverage for test-translate-c

  [ Veikka Tuominen ]
  * Sema: use `resolveMaybeUndefValIntable` in `zirIntToPtr`
  * Sema: validate empty array init
  * Sema: allow C pointers in fieldCallBind
  * Sema: fix loading and storing of optional pointers represented as pointers

  [ Jakub Konka ]
  * cli: parse -dead_strip MachO linker flag
  * cli: support --gc-sections and --no-gc-sections for Zig sources
  * macho: read the entire file contents into memory at once
  * macho: put parsing into an atom into a helper
  * macho: split section into subsections if requested and/or possible
  * macho: remove unused fields from Atom
  * macho: rework symbol handling to match zld/ELF
  * macho: fix compilation issues on 32bit hosts
  * macho: rework symbol handling for incremental stage2 builds
  * macho: fix marking sections for pruning in GC
  * macho: link atom starting section by orig section id
  * macho: don't store GC roots globally
  * macho: deallocate globals keys
  * macho: fix caching linker line in incremental setting
  * macho: improve logs for dyld info
  * macho: do not store stabs; generate on-the-fly instead
  * macho: mark __mh_execute_header as ref'd dynamically
  * macho: limit export info to entrypoint and mh symbol when executable
  * link-tests: add checkNotPresent and add -dead_strip smoke test
  * macho: parse data-in-code when writing LINKEDIT segment
  * macho: do not GC local symbols unless reference dead symbols
  * macho: sort subsection symbols by seniority
  * macho: move GC code into dead_strip.zig module
  * macho: fix zig cc and c++ using stage2 llvm
  * macho: dead_strip defaults: off for debug, on for release

  [ Dan Ellis Echavarria ]
  * SIMD size suggestions: suggestions code now compiles, added more architectures The idea behind this is using the register capabilities in safe amounts,  there is still some consideration to be done. + Fixed compile error using std.Target.<arch>.featureSetHas + X86 MMX and "3DNOW" 64 bits register usage considered for vector size + Added ARM Neon recommened usage of 128 bits (The size of the register) + Added AARCH64 Neon and SVE for 128 bits. SVE could use in theory up to   2048 bits, but found only evidence of functional 512 bits on a super        computer, decided on using 128 bits as a safety + Added Altivec recommendation of using the 128 bits long register + Using MIPS msa 2x64bits capabilities, usage of 64 bits registers for MDMX   systems, need testing on how using bigger values affect performance + Using V extension on RISC-V, which is extendable via instructions, decided on 128 bits   as a value to not use all registers + in SPARC the 64 bits registers are used, a max of 32 registers   are to be used for configurable simd instructions, decided on using the size of the register, need testing on performance hit on using a bigger sized register vector size

  [ VÖRÖSKŐI András ]
  * PriorityQueue: use compareFn in update()

  [ Veikka Tuominen ]
  * Sema: fix mutation of optional ptr represented as regular ptr
  * stage2: fix airIsErr when `is_ptr == true`
  * Sema: add error for dereferencing invalid payload ptr at comptime

  [ Jakub Konka ]
  * macho: include __StaticInit input sections as GC roots
  * macos: add /usr/local/* paths conditional on macOS major version
  * macho: fix use-after-move in placeDecl

  [ Andrew Kelley ]
  * Autodoc: update to new ZIR

  [ Luuk de Gram ]
  * RunCompareStep: implement new step
  * show/hide warning for incompatible warnings
  * rename:RunCompareStep -> EmulatableRunStep
  * Use `EmulatableRunStep` for MachO linker tests
  * enable link-test on linux CI
  * Share logic between EmulatableRunStep & RunStep

  [ ominitay ]
  * std.json: Fix parsing of large numbers

  [ Veikka Touminen ]
  * std.net.getAddressList: fix segfault on bad hostname

  [ Allan Regush ]
  * docs: Pointer Arithmetic

  [ InKryption ]
  * langref: clarify permitted `@bitCast` usage.

  [ devins2518 ]
  * std.mem.Allocator: add alignedCreate

  [ Yujiri ]
  * Fix #6944: referencing type info alignment causes error in unrelated function

  [ viri ]
  * stage1: don't lowercaseify lib names

  [ Veikka Tuominen ]
  * Revert "std.mem.Allocator: add alignedCreate"
  * move passing safety tests to stage2
  * Sema: implement shr_exact runtime safety
  * Sema: divide by zero safety
  * Sema: cast negative to unsigned safety
  * Sema: exact division safety
  * Sema: bad union field access safety
  * Sema: `@floatToInt` safety
  * Sema: `@alignCast` safety
  * Sema: return `.comptime_field_ptr`s for tuples
  * Sema: handle store to comptime field when `ResultLoc == .none`
  * stage2: implement `@setFloatMode`
  * Sema: check for zero length slices in `@alignCast` safety
  * AstGen: make comptime fields in packed and extern structs compile errors
  * Sema: add default value here note to invalid comptime field store error
  * Sema: add some more 'declared here' notes
  * Sema: validate duplicate fields in anon structs
  * Sema: don't add union field access safety check for single field unions

  [ Vincent Rischmann ]
  * io_uring: add new flags and opcodes

  [ Luuk de Gram ]
  * test/link/macho: use EmulationStep for dead_strip

  [ Cody Tapscott ]
  * CMake: Improve usage of `llvm-config`, esp. for consistent linking
  * CMake: Search more permissively for LLD
  * CMake: Add ZIG_LLVM_LINK_MODE to config.h

  [ Andrew Kelley ]
  * disable flaky behavior test

  [ Jonathan Marler ]
  * std.json: expose encodeJsonString and encodeJsonStringChars

  [ Andreas Reischuck ]
  * report better error for package not found in stage2

  [ Meghan ]
  * stage2: implement `noinline fn`

  [ Ali Chraghi ]
  * std: compile error on invalid testing allocator usage

  [ InKryption ]
  * std.fmt: require specifier for unwrapping ?T and E!T.

  [ Lewis Gaul ]
  * Fix indexing in the test runner's log formatting

  [ Andrew Kelley ]
  * Revert "std.fmt: require specifier for unwrapping ?T and E!T."

  [ Ryan Liptak ]
  * std.fs: Fix Walker closing the initial directory when not fully iterated

  [ Andrew Kelley ]
  * CI stage3 test coverage for test-standalone
  * stage2: don't skip liveness or codegen if -femit-asm is supplied
  * LLVM: notice the soft_float CPU feature

  [ Luuk de Gram ]
  * wasm: pass correct abi-size for scalar values
  * llvm: correctly lower c-abi for Wasm target
  * wasm: Only allow lowering C-ABI compatible types
  * wasm: Enable C-ABI tests for self-hosted compiler

  [ r00ster ]
  * std.testing: make the caret indicator line more helpful

  [ Ryan Liptak ]
  * std.fs: End iteration on Linux/WASI during Iterator.next when hitting `ENOENT`

  [ VÖRÖSKŐI András ]
  * PriorityDequeue: use compareFn in update() method

  [ Cody Tapscott ]
  * CMake: Search for Clang in CMAKE_LIBRARY_PATH, CMAKE_PREFIX_PATH, and CMAKE_FRAMEWORK_PATH

  [ Veikka Tuominen ]
  * Sema: `analyzeInlineCallArg` needs a block for the arg and the param

  [ r00ster ]
  * std.mem: add `first` method to `SplitIterator` and `SplitBackwardsIterator`

  [ Jakub Konka ]
  * macho: fix memory leak and refactor Target usage

  [ Veikka Tuominen ]
  * Module: improve handling of errors in `@call` arguments
  * Sema: better source location for builtin options
  * parser: add error for doc comment attached to comptime or test blocks
  * AstGen: disable null bytes and empty stings in some places

  [ r00ster ]
  * std.mem: add `reset` to `SplitBackwardsIterator` and `SplitIterator`

  [ Veikka Tuominen ]
  * Sema: give comptime_field_ptr priority over field_ptr in tuples
  * Sema: resolve lazy values for compile log
  * Sema: improve expression value ignored error
  * Sema: disable "unreachable else prong" error for error sets for now

  [ InKryption ]
  * std.fmt: require specifier for unwrapping ?T and E!T

  [ Andrew Kelley ]
  * test-cases harness: test all updates

  [ Veikka Tuominen ]
  * Sema: better error when coercing error sets

  [ Andrew Kelley ]
  * C ABI tests no longer apply to only stage1
  * start code: enable segfault handler for stage2
  * LLVM: add probe-stack function attribute
  * link: avoid passing bad ptrs to pwritev
  * test-cases harness: improve stage2 compatibility
  * test-cases harness: refresh just before update()
  * test-cases: remove failing test
  * CI: run test-cases with stage3
  * CI: run test-link with stage3
  * test-cases harness: annotate an optional type

  [ Evan Haas ]
  * translate-c: take address of functions before passing them to @ptrToInt

  [ Veikka Tuominen ]
  * AstGen: add `dbg_stmt`s for `unreachable` and `@panic`
  * Sema: resolve pointee type in zirReify

  [ r00ster91 ]
  * std.fmt: lowercase compile errors
  * std.fmt: add more invalid format string errors

  [ LordMZTE ]
  * Module: fix error message importing file starting with root path
  * Module: use path.isSep
  * Module: fix inverted condition

  [ Veikka Tuominen ]
  * Sema: copy fn param ty in `zirTypeInfo`

  [ Andrew Kelley ]
  * move zig.h to become an installation file
  * LLVM: fix lowering byte-aligned packed struct field pointers
  * run-translated-c: disable two failing tests
  * AstGen: fix ref instruction injection for functions
  * LLVM: fix returning extern union with C callconv
  * CI: run test-run-translated-c tests with stage3

  [ Loris Cro ]
  * autodoc: no whitespace in json output for release builds

  [ Andrew Kelley ]
  * update to LLVM 15
  * update C headers to LLVM 15

  [ r00ster91 ]
  * autodoc: better short description algorithm

  [ joachimschmidt557 ]
  * stage2 ARM: more support for switch statements

  [ Meghan ]
  * stage2: ensure 'std', 'builtin', and 'root' is always available to `@import`

  [ Veikka Tuominen ]
  * CLI: add error for duplicate package

  [ Cody Tapscott ]
  * Add check to verify libc++ is shared by LLVM/Clang
  * Dynamically link libc++, if integrating with system LLVM

  [ Meghan Denny ]
  * std: rename std.Target.systemz to .s390x

  [ Veikka Tuominen ]
  * stage2: add error for comptime control flow in runtime block
  * stage2: handle tuple init edge cases

  [ Andrew Kelley ]
  * std.debug: default signal handler also handles SIGFPE
  * Sema: enhance `div` instruction analysis
  * Sema: enhance div_trunc, div_exact, div_floor
  * fix compile error test case note column number
  * disable failing incremental compilation test case

  [ Cody Tapscott ]
  * ELF: Scan for dylibs-as-objects when adding rpaths

  [ Andrew Kelley ]
  * Sema: fix runtime safety for integer overflow with vectors
  * CI: -Denable-llvm for test-cases

  [ Wei Fu ]
  * stage1: remove deadcode ast_print

  [ Cody Tapscott ]
  * build.zig: Emit warning if "config.h" cannot be found

  [ Veikka Tuominen ]
  * stage2: fix hashing of struct values
  * Sema: implement `@Type` for functions
  * Sema: implement coercion from tuples to tuples
  * parser: require expression after colon in slice expr
  * Sema: check comptime slice sentinel

  [ Evan Haas ]
  * translate-c: use correct number of initializers for vectors

  [ Cody Tapscott ]
  * stage2: Fix AIR printing

  [ Ryan Liptak ]
  * autodoc: Add borders to field docs to make it clear which field they are associated with

  [ sin-ack ]
  * cmake: Print all LLVM config errors instead of just the last one

  [ Cody Tapscott ]
  * stage2 LLVM: Pass inline assembly outputs directly when not targeting memory

  [ Ryan Liptak ]
  * Linux: Add IN_MASK_CREATE and corresponding error handling in inotify_add_watch

  [ Ikko Ashimine ]
  * wasm: fix typo in CodeGen.zig

  [ Andrew Kelley ]
  * update Target, CPU, OS, ABI, etc. to LLVM 15

  [ antlilja ]
  * Removed param_names from Fn inside Module.zig
  * Removed anytype_args field from Fn

  [ Ryan Liptak ]
  * std.fs: Split Iterator.next on Linux and WASI to allow for handling platform-specific errors

  [ Veikka Tuominen ]
  * Sema: validate bitcast operand type
  * stage2: better source location for var decls
  * Sema: validate packed struct field types

  [ Andrew Kelley ]
  * stage1: LLVM lowering to opaque pointers API
  * stage2: LLVM lowering to opaque pointers API
  * fix bugs from previous two commits
  * stage1: avoid using LLVMGetElementType
  * LLVM backends: work around poorly designed C API
  * LLVM backend fixes

  [ Veikka Tuominen ]
  * Sema: fix reify Fn alignment and args
  * Sema: add safety for sentinel slice

  [ Loris Cro ]
  * autodoc: fix frontend crash while rendering std.mem
  * autodoc: fix autodoc analysis for `@typeInfo`
  * autodoc: fix off-by-1 error in analysis of pointer types

  [ Andrew Kelley ]
  * more LLVM backend fixes
  * update LLVM library list to LLVM 15
  * build: add new clang libraries for LLVM 15 upgrade
  * compiler_rt: use standard f16 function names on x86
  * add missing declaration to zig_clang.h
  * stage1: fix a few more LLVM 15 opaque pointer bugs
  * update target CPU features for LLVM 15
  * update clang CLI options to LLVM 15

  [ Frank Denis ]
  * crypto.sign.ed25519: include a context string in blind key signatures (#12316)

  [ Veikka Tuominen ]
  * Sema: add error for closure capture at runtime
  * AstGen: add error for break/continue out of defer expression
  * Sema: move last error message from `Inlining` to `Sema`
  * Sema: improve circular dependency errors
  * AstGen: check loop bodies and else branches for unused result
  * AstGen: better source location for if/while condition unwrapping
  * Sema: add error for dependency loops

  [ Loris Cro ]
  * Update issue templates
  * Add codeowners file for automated PR assignment
  * autodoc: inferred error unions in function return values

  [ Jakub Konka ]
  * macho: sync with zld
  * macho: update how we insert output sections
  * macho: cleanup output section selection logic
  * macho: fix linking in incremental context
  * macho: add missing align cast in LoadCommandIterator
  * macho: do not preempt segment headers; do it when commiting to file
  * macho: add missing u64 to usize casts
  * macho: fix some TODOs

  [ Andrew Kelley ]
  * link: LLD 15 requires two dashes on --error-limit
  * stage1: more LLVM15 opaque pointers fixes
  * LLVM backends: more LLVM 15 fixes

  [ Loris Cro ]
  * new init-exe template
  * init-exe template: small improvements
  * init-exe template: add flushing to the buffered writer
  * autodoc: fix analysis of function return types

  [ Andrew Kelley ]
  * compiler_rt: update ABI for x86 float16 functions

  [ Loris Cro ]
  * autodoc: fix inconsistency when indexing generic types for search
  * init-exe template: align cli tests to new template

  [ Andrew Kelley ]
  * stage2 LLVM backend: opaque pointer fixes
  * update libcxx to LLVM 15
  * update libcxxabi to LLVM 15
  * update libunwind to LLVM 15

  [ Stephen Gregoratto ]
  * Update Linux syscall list for 5.19

  [ Meredith Oleander ]
  * translate-c: fix alignment in pointer casts

  [ Felix "xq" Queißner ]
  * Makes std.meta.Tuple and std.meta.ArgsTuple generate a unique type instead of generating one per invocation.

  [ Allan Regush ]
  * std.enums: make directEnumArrayLen public

  [ N00byEdge ]
  * std.mem.zeroes: Zero sized structs with uninitialized members (#12246)

  [ joachimschmidt557 ]
  * stage2 AArch64: Fix struct_field_val for register_with_overflow
  * stage2 AArch64: introduce MCValue.stack_argument_offset
  * stage2 AArch64: all arguments passed via stack from now on
  * stage2 AArch64: support returning values by reference
  * stage2 AArch64: memcpy support in store and more complete intcast
  * stage2 AArch64: implement basic integer division
  * stage2 AArch64: implement basic integer rem/mod
  * stage2 AArch64: improve correctness of register aliases

  [ Veikka Tuominen ]
  * Sema: better safety check on switch on corrupt value
  * Sema: add null pointer slice safety check when len is comptime known
  * Sema: account for sentinel in bounds check
  * Sema: add null check for implicit casts
  * Sema: add safety check for non-power-of-two shift amounts
  * stage2: add runtime safety for invalid enum values
  * stage2 cbe: correct `airIsNull` ptr operand check

  [ Austin Rude ]
  * autodoc: Run through prettier formatter with default settings

  [ Andrew Kelley ]
  * stage1: another LLVM opaque pointers fix

  [ Austin Rude ]
  * autodoc: only modify the DOM once to display the search results

  [ Andrew Kelley ]
  * Sema: elide safety of modulus and remainder division sometimes

  [ Anton Lilja ]
  * Sema: fix infinite recursion in `explainWhyTypeIsComptime`

  [ Veikka Tuominen ]
  * Sema: do not emit pointer safety checks for pointers to zero-bit types

  [ r00ster91 ]
  * feat: make help modal disappear if you click outside it
  * fix: "dialog" -> "modal"
  * feat: new search placeholder
  * fix: disable search bar before loading
  * style: format
  * feat: make shadow of `<kbd>`s look nicer
  * style: missing semi
  * let -> const for dom elements
  * style: some more formatting
  * fix: use brighter bg color for help modal in light mode

  [ Loris Cro ]
  * autodoc: re-introduce search result limits
  * autodoc: use location.replace to avoid history spam when searching
  * ci: upload langref and stdlib docs directly to s3

  [ Veikka Tuominen ]
  * Type: adjust C type sizes

  [ joachimschmidt557 ]
  * stage2 DWARF: fix size and offset in slices

  [ Veikka Tuominen ]
  * stage2: add a helpful error for when async is used

  [ Jakub Konka ]
  * std: use std.macho.LoadCommandIterator for MachO parsing in std.debug

  [ Meghan Denny ]
  * remove 'builtin.stage2_arch', Sema is smart enough now

  [ Andrew Kelley ]
  * remove brittle test case
  * delete failing RISC-V test

  [ Jakub Konka ]
  * update update_clang_options.zig to latest formatting changes
  * cc: add support for -M flag

  [ r00ster91 ]
  * fix: cleanup recent changes

  [ Maciej 'vesim' Kuliński ]
  * autodoc: links to source code

  [ Ryotaro "Justin" Kimura ]
  * std: fix BoundedArray test checking wrong condition (#12372)

  [ Veikka Tuominen ]
  * stage2: pass anon name strategy to reify

  [ Andrew Kelley ]
  * Sema: avoid error return traces when possible
  * stage2: error return tracing handles ret better
  * AstGen: avoid multiple dbg_stmt instructions in a row
  * AstGen: emit debug stmt for try

  [ Veikka Tuominen ]
  * stage2: correct node offset of nested declarations
  * stage2: generate call arguments in separate blocks
  * std: add workaround for stage2 bug
  * AutoDoc: update to Zir call inst changes
  * Sema: add declared here note to function call errors

  [ Isaac Freund ]
  * stage2: Handle lazy values for the % operator
  * stage2: Implement explicit backing integers for packed structs

  [ Veikka Tuominen ]
  * Sema: fix expansion of repeated value

  [ zooster ]
  * fix: disallow newline in char literal

  [ LeRoyce Pearson ]
  * stage2: add compile error for shlExact overflow

  [ InKryption ]
  * stage2: add compile error for invalid null/undefined pointer cast

  [ Jakub Konka ]
  * macho: allow unaligned offsets in object files

  [ Andrew Kelley ]
  * disable failing behavior test
  * better default for use_stage1 when -ofmt=c is provided
  * add ZIG_GLOBAL_CACHE_DIR env var
  * LLVM: respect linksection for exported variables
  * disable failing behavior test
  * stage2: fix crash with comptime vector reduce

  [ Veikka Tuominen ]
  * stage2 llvm: implement more C ABI

  [ Andrew Kelley ]
  * Revert "macho: allow unaligned offsets in object files"
  * link.MachO: use accurate alignment attribute on pointers
  * stage2: remove destroyed functions from maps
  * test-cases: remove multi-threading

  [ Isaac Freund ]
  * std: Don't pass undefined memory to the kernel in os.abort()

  [ Luuk de Gram ]
  * wasm: Use free-lists for unused locals
  * wasm: `binOp` leave value on stack
  * wasm: keep result of `cmp` on the stack
  * wasm: Keep `intcast` values on stack
  * wasm: `wrapOperand` - leave value on the stack
  * wasm: leave `signedAbsValue` values on the stack
  * wasm: keep `load` values on the stack
  * wasm: free unused locals

  [ Isaac Freund ]
  * std: fix definition of SIG_IGN, SIG_DFL, etc.

  [ Andrew Kelley ]
  * std: add missing error to windows.WriteFile

  [ LordMZTE ]
  * fix error message when providing slice to `std.hash.autoHash`

  [ Hadrien Dorio ]
  * ci: azure: stop when exe exits with an error

  [ Andrew Kelley ]
  * CI: update windows tarball
  * disable failing C backend behavior test on Windows
  * disable failing standalone test: issue_11595
  * disable failing link tests on windows
  * disable failing stack traces tests on windows

  [ Veikka Tuominen ]
  * stage2: generate a switch for `@errSetCast` safety
  * stage2: check for zero in `@intToError` safety

  [ martinhath ]
  * Sema: add error for signed integer division

  [ Jakub Konka ]
  * macho: update __DWARF sections before and after writing out __LINKEDIT
  * x86: fix generating debug info for variables

  [ Cody Tapscott ]
  * stage2 astgen: Use `rl` semantics for `@Type`

  [ joachimschmidt557 ]
  * stage2 ARM: pass stack arguments in opposite order
  * stage2 ARM: Fix tracking of function return values
  * stage2 ARM: add inline memcpy to genSetStack

  [ r00ster91 ]
  * feat: better No Results Found page
  * fix: var(--mono) used for font-size
  * feat: indent keyboard shortcuts
  * feat: make modal more restrictive and more Esc freedom
  * style: format
  * docs: add comment
  * bug: add TODO
  * fix: scroll page to very top when S is pressed
  * feat: new `control_code`
  * fix: off-by-one in `isCntrl`
  * api: deprecate `isBlank` and `isGraph`.
  * api: rename and deprecate a bunch of functions
  * docs: add more docs
  * test: update and add more tests
  * fix: remove outdated TODO
  * fix: add missing 'o'
  * docs: remove some hyphens
  * api: deprecate `isPunct` too

  [ Yujiri ]
  * Fix #12423: auto_hash not hashing arrays of slices uniquely

  [ Ryan Liptak ]
  * std.fs: Fix `WalkerEntry.dir` not always being the containing dir

  [ LeRoyce Pearson ]
  * stage2: add compile errors for comptime `@shrExact` and `@divExact` failures

  [ sin-ack ]
  * Sema: Revert sema.err to null if the Decl already has an error

  [ Loris Cro ]
  * ci: add gzip compression to stdlib docs & langref
  * Zir: add missing support for packed ints in declIterator

  [ r00ster91 ]
  * test(names): remove unnecessary "tokenizer - " prefix
  * test(names): some renamings
  * refactor: use std.ascii functions
  * test: simplify testTokenize

  [ Veikka Tuominen ]
  * Sema: ignore current declaration in ambiguous reference error

  [ Loris Cro ]
  * autodoc: remove reference to github, replace with placeholder link
  * autodoc: absolute line numbers in decl [src] links

  [ Veikka Tuominen ]
  * AstGen: detect declarations shadowing locals

  [ r00ster91 ]
  * docs: fixes and improvements

  [ Jakub Konka ]
  * link-test: move tls test to macho/tls

  [ Veikka Tuominen ]
  * Sema: make optional noreturn behave correctly
  * Sema: make noreturn error union behave correctly

  [ r00ster91 ]
  * api: deprecate lowercase control_code consts
  * fix: comments

  [ Veikka Tuominen ]
  * Sema: properly handle noreturn fields in unions

  [ Andrew Kelley ]
  * Sema: fix generics with struct literal coerced to tagged union

  [ Veikka Tuominen ]
  * Sema: allow empty enums and unions

  [ Jakub Konka ]
  * libstd: fix off-by-one error in def of ProcSym in pdb

  [ Martin Hafskjold Thoresen ]
  * Sema: error on ambiguous coercion of comptime float and ints

  [ Veikka Tuominen ]
  * add test

  [ Andrew Kelley ]
  * fix typo in compile error message

  [ Jakub Konka ]
  * link-test: refactor and reorg
  * libstd: do not follow symlinks in renameatW
  * windows-ci: pass -Domit-stage2 to test-toolchain

  [ Techatrix ]
  * fix memory leak in NativePaths.zig

  [ Der Teufel ]
  * autodoc: An attempt at generating HTML files from all imported source files. Files generated from the standard library could be considered for placing with main.js and index.html in lib/docs. Paths should reflect packages in the future.

  [ Luuk de Gram ]
  * wasm: fix callInstrinsic return value
  * link/Wasm: improve symbol resolution

  [ Der Teufel ]
  * Fixed stage1 compilation error
  * Fixed Docgen.zig formatting

  [ Loris Cro ]
  * autodoc: minor pr cleanup

  [ zooster ]
  * AstGen: disallow leading zeroes in int literals and int types

  [ Eric Joldasov ]
  * std.zig.system.NativeTargetInfo: look for a shebang line in /usr/bin/env, if any

  [ Sage Hane ]
  * std.build: Fix typo in `LibExeObjStep.runEmulatable`'s assertion

  [ Ali Chraghi ]
  * docs: add padding between functions list

  [ Jakub Konka ]
  * macho: do not open file handle when building static archive

  [ Ben Fiedler ]
  * build: Allow comptime_int in OptionsStep.addOption

  [ Andrew Kelley ]
  * stage2: all pointers have runtime bits
  * stage2: agree with LLVM that `@alignOf(u128)` is 8
  * stage2: make `@Vector` ABI size agree with LLVM
  * LLVM: disable the ABI size safety check
  * std.Target gains ObjectFormat field
  * improved ABI alignment/size for >= 128-bit integers
  * stage2: pointers to comptime-only types are comptime-only
  * test harness: fix handling of object format
  * stage2: implement stack protectors
  * Sema: avoid false positive error for linking libc
  * stage2: disable stack-protector on wasm, matching stage1

  [ r00ster91 ]
  * fix: fix off-by-one for leading zeroes

  [ Andrew Kelley ]
  * build: remove the option to omit stage2
  * make self-hosted the default compiler
  * CI: test both stage3-debug and stage3-release on x86-linux
  * CI: simplify x86 linux test instructions
  * langref: update to new error message
  * CI: isolate zig-cache for parallel debug/release builds
  * CI: avoid concurrent jobs tripping over each other
  * build: make docs a separate step than test
  * CI: windows: build stage3 directly from dev kit
  * CI: macos: set release mode for zig and simplify
  * CI: update freebsd tarball
  * CI: use zig build to produce release artifact
  * CI: drone: simplify
  * fix std.os.windows.PathSpace.span
  * CI: update windows tarball
  * build: hook up -Dskip-stage2-tests and remove test-toolchain
  * CI: windows: don't create build directory
  * LLVM: add DLL export attribute

  [ Jakub Konka ]
  * coff: change improperly used packed struct into extern struct

  [ Andrew Kelley ]
  * test-stack-traces: relax parsing rules
  * std.os.linux.bpf: fix compile error
  * CI: update windows tarball
  * CI: update x86_64-linux tarball
  * CI: x86_64-linux: avoid cmake ZIG_EXECUTABLE hack

  [ Ryan Liptak ]
  * autodoc: Fix border color around field docs in light mode

  [ Luuk de Gram ]
  * wasm/archive: correctly parse long file names
  * wasm/Object: parse using the correct file size
  * test/link: add wasm linker-test for archives

  [ Jakub Konka ]
  * macho: do not leave file descriptors open if unused

  [ Der Teufel ]
  * autodoc: compileError now uses index into `exprs` instead of a `[]const u8`
  * autodoc: Fixed compileError case in exprName

  [ Veikka Tuominen ]
  * Sema: add note about function call being comptime because of comptime only return type
  * Sema: handle union and enum field order being different
  * Sema: ignore dbg_block instructions when checking for comptimeness

  [ Luuk de Gram ]
  * std: fix EmulatableRunStep

  [ John Schmidt ]
  * Enable unexpectedErrno error tracing for stage2 LLVM

  [ Veikka Tuominen ]
  * Sema: check for astgen failures in `semaStructFields`
  * Sema: fix parameter of type 'T' must be comptime error
  * Sema: resolve lazy values in `resolveMaybeUndefValIntable`
  * Sema: make orelse with C pointers behave like stage1 for now
  * Sema: allow optional pointers in packed structs
  * Sema: fix implicit cast from extern fn to fn ptr
  * stage2+stage1: remove type parameter from bit builtins

  [ Justas Zabulionis ]
  * std.valgrind.callgrind: fix string type

  [ Shane Kennedy ]
  * lagnref: add signed integer repr documentation

  [ InKryption ]
  * std.io.Reader: bounded array functions  * Add readIntoBoundedBytes  * Add readBoundedBytes

  [ Veikka Tuominen ]
  * Sema: fix fieldCallBind on tuples and anon structs

  [ Techcable ]
  * test_runner: workaround #1923, isolating error traces in tests

  [ Andrew Kelley ]
  * Revert "test_runner: workaround #1923, isolating error traces in tests"
  * build system: add flag for -fstack-protector
  * CI: update windows tarball
  * llvm: add valgrind client request integration for x86_64
  * test harness: don't skip tests
  * LLVM: update to DWARF version 5

  [ Keith Chambers ]
  * Dwarf: Added stroffsetsptr support (#12270)

  [ Ryan Liptak ]
  * Windows: Fix incorrect output when .pdb file is not found during stack trace

  [ Andrew Kelley ]
  * add behavior test for copying array of vectors

  [ Der Teufel ]
  * autodoc: error sets now display all their members

  [ Jakub Konka ]
  * coff: improve default COFF/PE object parser

  [ Andrew Kelley ]
  * std.debug: implement support for DWARFv5

  [ Loris Cro ]
  * ci: upload rendered source listings in stdlib docs
  * autodoc: initial support for struct_init_anon
  * autodoc: handle self-referential call+field_type instructions

  [ ominitay ]
  * autodocs: improve error set rendering
  * autodocs: improve first-line descriptions

  [ Jakub Konka ]
  * macho: fix compile errors in std.debug
  * coff: fix compile errors in std.debug
  * skip failing f80 behavior tests on Windows
  * skip failing compiler-rt divxf3 tests on Windows

  [ yyny ]
  * std.os: add INVALID_SOCKET (#12081)

  [ Andrew Kelley ]
  * std.debug: DWARFv5 fixes
  * make LLVM and Clang emit DWARF 4 instead of 5
  * Revert "std.os: add INVALID_SOCKET (#12081)"

  [ Felix "xq" Queißner ]
  * Adds std.meta.FnPtr for easier stage1/stage2 compatibility

  [ Veikka Tuominen ]
  * stage2: handle `int_u64` in `elemValueAdvanced`
  * AstGen: make root decls relative to beginning of file

  [ Will Hawkins ]
  * Doc: Add hyphenation for top-level doc

  [ Veikka Tuominen ]
  * Sema: do not construct nested partial function types
  * Sema: fix crash on slice of non-array type
  * Sema: check one possible value earlier in `zirValidateArrayInit`
  * Sema: correctly reset inst_map for analyzeInlineCallArg

  [ Felix "xq" Queißner ]
  * Enables std.build.TranslateCStep to use stage1/stage2 selectively. Unbreaks projects using stage1 and manual TranslateC

  [ Andrew Kelley ]
  * CI: x86_64-linux: update tarball
  * test-stack-traces: restore test coverage

  [ Loris Cro ]
  * compilation: avoid pointless caching

  [ Sébastien Marie ]
  * pthread_key_create: make it build with stage2

  [ max ]
  * fix coff.zig with const qualifier convert problem

  [ Jonas Gollenz ]
  * docs: remove confusion about align[For|Back]ward

  [ Andrew Kelley ]
  * Compilation: move comptime condition first
  * CI: windows: update tarball
  * stage2: fix generic function cleanup
  * stage2: explicitly tagged enums no longer have one possible value
  * fix order of CLI args passed to clang

  [ Veikka Tuominen ]
  * Sema: ignore comptime params in partial func type check

  [ Motiejus Jakštys ]
  * glibc/abilists: add libresolv stubs
  * src/glibc: remove redundant Arch

  [ Jakub Konka ]
  * run_translated_c: disable failing test on Windows
  * add ability to pass force undefined symbols to the linker

  [ Andrew Kelley ]
  * CI: drone: reduce duration of the bottleneck
  * LLVM: fix missing alignment on wrapping instructions

  [ David Gonzalez Martin ]
  * stage2: Reference to void constants Closes #7567

  [ Evan Haas ]
  * translate-c: Don't add self-defined macros to global name table

  [ martinhath ]
  * Sema: ensure resolveTypeFields is called for optional and error union types

  [ Motiejus Jakštys ]
  * copy_file_range: fix zigification of TXTBSY

  [ Jakub Konka ]
  * coff: do not pull in std.log into coff.zig definitions

  [ Sébastien Marie ]
  * openbsd: fix sigcontext struct and avoid defining fxsave64

  [ Luuk de Gram ]
  * wasm: fix abi size of c_longdouble

  [ David Gonzalez Martin ]
  * Add behavior test coverage for nested packed struct field access Closes #3091

  [ antlilja ]
  * Sema: add error for non-comptime param in comptime func

  [ Henrique Dante de Almeida ]
  * docs: Remove mention of type inference on anytype struct fields

  [ Loris Cro ]
  * autodoc: better line counting for decls
  * ci: fix wrong path when deploying stdlib docs

  [ William Sengir ]
  * coff: fix reading COFF header offset

  [ Justin Whear ]
  * std.random: add weightedIndex function

  [ Veikka Tuominen ]
  * AstGen: add error for named function type
  * Sema: add error for switch on slice
  * add error tests for now correctly behaving cases
  * Sema: fix handling of non-standard int types in empty non-exhaustive enums
  * Sema: correct one possible value for tuples
  * Sema: add missing calls to resolveStructLayout

  [ William Sengir ]
  * coff: publicize and flesh out more image constants

  [ Luuk de Gram ]
  * wasm: skip unimplemented behavior test

  [ Andrew Kelley ]
  * cmake: build stage3 by default
  * stage2: add an explicit padding field to avoid Valgrind warning
  * CMake: add dummy install command
  * CI: rework to account for new cmake behavior

  [ Veikka Tuominen ]
  * Sema: fix access of inactive union field when enum and union fields are in different order

  [ Andrew Kelley ]
  * link: add force_undefined_symbols to cache hash
  * LLVM: update merged master branch code to opaque pointers
  * update libcxx to LLVM 15 rc3
  * update C headers to LLVM 15 rc3

  [ Luuk de Gram ]
  * wasm-lld: set stack size to 1MB by default

  [ Andrew Kelley ]
  * LLVM: upgrade byval attr code to LLVM 15 opaque pointers

  [ Meghan ]
  * implement cache environment variables for `zig build`

  [ Andrew Kelley ]
  * disable tests failing due to LLVM 15 regressions
  * skip new behavior tests that do not pass for stage1
  * make 'zig build' respect ZIG_LIB_DIR
  * CI: pass explicit zig lib dir in lots of places
  * CI: use absolute path for zig lib dir

  [ Jakub Konka ]
  * start: allow for explicitly defined entry point for Win
  * coff: move header writing logic into flush
  * coff: fix after rebase
  * coff: reorganize the linker
  * coff: write headers to file
  * coff: set some defaults for PE headers
  * coff: write data directory and section headers to file
  * coff: always write all data directory headers to file
  * coff: initial implementation of incremental file allocs
  * coff: allow for strtab in final PE image
  * coff: add helpers for setting section/symbol names
  * coff: populate missing section metadata
  * coff: allocate and write atoms to file
  * coff: add missing bits required for minimal PE example
  * coff: ...and lift-off!
  * coff: fallback to _start as default entry point for now
  * coff: add basic handling of GOT PC relative indirection
  * coff: commit missing Object.zig placeholder
  * coff: cleanup relocations; remove COFF support from other backends
  * cmake: add runaway Coff/Object.zig path
  * test-cases: fix compiler error locations for hello world with updates

  [ Veikka Tuominen ]
  * std.rand: make weightedIndex proportions param a const slice

  [ Jakub Konka ]
  * fix aarch64-macos CI build script
  * coff: move Symtab and Strtab out of coff.Coff

  [ Luuk de Gram ]
  * link/Wasm: handle extern variables
  * wasm: create relocations for extern decls
  * test/link: add test for extern resolution

  [ Andrew Kelley ]
  * CI: drone: disable failing tests

  [ Veikka Tuominen ]
  * Sema: improve handling of always_tail call modifier
  * Sema: do not emit generic poison for non generic parameters
  * Sema: shift of comptime int with runtime value
  * stage2 llvm: use tag value instead of field index in airUnionInit
  * Sema: check that target supports tail calls

  [ Andrew Kelley ]
  * avoid exposing supportsTailCall in the standard library

  [ Jakub Konka ]
  * coff: add base relocation related types

  [ Andrew Kelley ]
  * LLVM: fix extern functions missing attributes
  * CI: drone: disable failing tests
  * Sema: prevent access of undefined fields
  * fix llvm 15 translate-c regressions

  [ biexelar ]
  * std.Thread: fix freeAndExit on x86_64-linux (#12693)

  [ Andrew Kelley ]
  * CI: drone: disable failing tests

  [ Jakub Konka ]
  * coff: write base relocations for the dynamic linker

  [ Evan Haas ]
  * translate-c: promote large integer macros to unsigned long long if necessary

  [ Hashi364 ]
  * Using `comptime level.asText()` in log example

  [ Veikka Tuominen ]
  * disable test for non-llvm backends

  [ Jakub Konka ]
  * coff: add import table definitions

  [ Andrew Kelley ]
  * CI: drone: avoid notify_lavahut task for PRs
  * CI: namespace manifest json files to avoid clobbering
  * CI: update_download_page: change docs deployment
  * CI: include source listings for autodocs
  * CI: fix content type of autodocs source listings
  * CI: macos: skip non native

  [ Jason Ho ]
  * langref: tweak description of `[]T` (#12319)

  [ Veikka Tuominen ]
  * Sema: add more validation to coerceVarArgParam

  [ Der Teufel ]
  * autodoc: Compare operators

  [ Andrew Kelley ]
  * CI: fix CLI usage of s3cmd regarding mime types for autodocs

  [ John Schmidt ]
  * Add AFNOSUPPORT error to bind (#12560)

  [ Der Teufel ]
  * autodoc: Added int_big support
  * autodoc: int_big cleanup

  [ riChar ]
  * zig fmt: remove trailing comma at the end of assembly clobber
  * stage2: fix panic when the dependency is missing

  [ Ali Chraghi ]
  * autodoc: highlight target line

  [ Veikka Tuominen ]
  * stage2 llvm: fix passing packed structs to callconv(.C) functions
  * stage2 llvm: correct handling of zero-bit types in unionFieldPtr
  * Sema: resolve lazy value before intToFloat
  * Sema: do not emit dbg_inline_end after NoReturn
  * AstGen: use reachableExpr for try operand
  * Sema: fix noalias coercion error message
  * Sema: add error for enum tag value overflow
  * Sema: improve behavior of comptime_int backed enums

  [ Loris Cro ]
  * autodoc: correct line number implementation
  * codeowners: mark myself as the codeowner of /src/autodoc/
  * autodoc: simplify int_big json stringify procedure
  * autodoc: fix merge mistake
  * autodoc: fix stage2 compile error

  [ Veikka Tuominen ]
  * Sema: remove unused src param from typeRequiresComptime

  [ yujiri8 ]
  * zig fmt: don't delete container doc comments

  [ Veikka Tuominen ]
  * Sema: only ABI sized packed structs are extern compatible
  * stage2 llvm: improve handling of i128 on Windows C ABI
  * translate-c: do not translate packed C structs as packed Zig structs in stage2

  [ Ali Chraghi ]
  * autodoc: fix highlighted line in light mode

  [ riChar ]
  * llvm: fix the `type` parameter of `GlobalAlias`

  [ Yujiri ]
  * Fix #12440: std.math.big.Rational order/orderAbs

  [ Veikka Tuominen ]
  * stage2 llvm: implement aarch64 C ABI

  [ Loris Cro ]
  * autodoc: add support for doc tests

  [ Der Teufel ]
  * autodoc: Opaque now handled like other container types

  [ Loris Cro ]
  * autodoc: improve rendering of long fn signatures

  [ Evan Haas ]
  * translate-c: convert tabs to `\t` in object-like macro string literals

  [ bfredl ]
  * build-exe: allow combination of -fno-emit-bin and --verbose-air

  [ Dan Ellis Echavarria ]
  * std.simd: change T to u16

  [ Luuk de Gram ]
  * wasm/Object: parse debug sections into reloc data
  * wasm-linker: create atoms from debug sections
  * wasm-linker: write debug sections from objects
  * wasm-linker: perform debug relocations
  * wasm-linker: use Atoms for zig debug info
  * wasm-linker: Mix Zig -and Object debug atoms
  * wasm: fix memory leak
  * wasm-linker: support incremental debug info

  [ Jakub Konka ]
  * win-ci: add missing ZIGPREFIXPATH variable def
  * coff: re-enable default entrypoint for Windows
  * coff: add relocation for call_extern
  * coff: create import atoms and matching bindings
  * coff: populate import address table dir
  * coff: fix contents of IAT, and ensure codegen loads addr into reg
  * x86_64: add support for Win64/C calling convention
  * coff: implement lowering unnamed consts
  * coff: fix runtime traps
  * x86_64: implement Windows x64 calling convention
  * x86_64: implement canonicalising branches in switch expression
  * x86_64: refactor cond_br with canonicaliseBranches helper
  * x86_64: clean up logging
  * x86_64: handle ptr_stack_offset for blocks
  * x86_64: clean up return registers for unspecified cc
  * x86_64: allow for any index register in complex SIB encodings
  * libstd: use windows.GetStdHandle() with stage2_x86_64 backend for now
  * coff: fix bug in lowerUnnamedConst
  * coff: mark relocations dirty when target atoms change
  * test-cases: fix compiler error locations for hello world with updates
  * x86_64: fix SystemV calling convention
  * coff: fix writing strtab to PE image file
  * coff: create a helper for allocating sections
  * coff: differentiate between file space and VM space for alloc
  * coff: find new file space for a section (file offsets)
  * coff: grow section in virtual address space when required
  * coff: remove redundant bits and clean up
  * coff: use more generous initial memory sizes for sections
  * enable testing of x86_64-windows-gnu using self-hosted backend and linker
  * coff: fix memory leak in incorrectly disposing of globals table
  * coff: track globals in contiguous array to allow for tombstones
  * coff: fix tracking of got and import entries; free relocs in update* fns
  * macho: properly close file handles owned by the linker in deinit()
  * macho: set file instance in linkOneShot only if not already set
  * macho+wasm: unify and clean up closing file handles
  * test-cases: enable stage2 tests on Windows
  * test-cases: add missing incremental x86_64-windows test cases
  * tests: force LLD off for stage2 backends until auto-select deems worthy
  * revert part of 945111ae92c28f8ad642a64af4dc83acd3bef4a5

  [ Veikka Tuominen ]
  * Sema: correct types in `@memset` and `@memcpy`
  * Sema: preserve alignment of const decl pointers
  * Sema: fix UAF in zirClosureGet
  * translate-c: use correct name for failDecl

  [ Martin Stuurwold ]
  * NativeTargetInfo.zig: fix typo

  [ Veikka Tuominen ]
  * llvm: handle pointers in packed structs in more places

  [ Jakub Konka ]
  * wasm: temporarily save curr file pointer before pwriting on Win
  * macho: prefill any space between __DATA and __LINKEDIT with 0s if required

  [ Motiejus Jakštys ]
  * [ld] add --print-* for diagnostics

  [ Andrew Kelley ]
  * std.zig.system.NativeTargetInfo: improve glibc version detection
  * std.zig.system.NativeTargetInfo: detection ignores self exe
  * stage2: fix building for 32-bit targets
  * std.zig.system.NativeTargetInfo: handle missing DT_RUNPATH
  * std.zig.system.NativeTargetInfo: restore symlink logic

  [ Jakub Konka ]
  * macho: fix compilation for 32bit targets

  [ Andrew Kelley ]
  * std.zig.system.NativeTargetInfo: add fallback check

  [ Yusuf Bham ]
  * std.os.uefi: mark BlockIoProtocol and EfiBlockMedia as public

  [ Andrew Kelley ]
  * std.zig.system.NativeTargetInfo: more headroom for libc.so.6 .dynstr

  [ joachimschmidt557 ]
  * stage2 ARM: improve Mir representation of mov and cmp
  * stage2 ARM: introduce allocRegs
  * stage2 ARM: move cmp to new allocReg mechanism; remove from binOp
  * stage2 ARM: extract add+sub from binOp
  * stage2 ARM: extract mul, div, and mod out of binOp
  * stage2 ARM: extract remaining operations out of binOp
  * stage2 ARM: remove remaining uses of binOp{Register,Immediate}
  * stage2 ARM: implement field_parent_ptr
  * stage2 ARM: amend implementation of various AIR instructions
  * stage2 ARM: fix multiple uses of reuseOperand
  * stage2 ARM: implement struct_field_val for registers
  * stage2 ARM: support larger function stacks
  * stage2 ARM: implement ptr_elem_val
  * stage2 ARM: implement basic array_elem_val

  [ Jakub Konka ]
  * macho: use globals free list like in COFF linker
  * coff: use global accessor abstractions from MachO
  * macho+coff: return index into global table from getGlobalSymbol
  * x86_64: combine got_load, direct_load and imports_load into linker_load MCV

  [ Evan Haas ]
  * translate-c: Escape non-ASCII characters that appear in macros

  [ Jacob Young ]
  * type: print comptime on fn type params

  [ Jakub Konka ]
  * aarch64: update codegen to using a global index rather than local index
  * macho: refactor direct use of locals container in favour of helpers
  * coff: remove unused function
  * x86_64: pass more behavior tests

  [ Loris Cro ]
  * autodoc: remove unnecessary string copy
  * autodoc: reduce json payload size

  [ Andrew Kelley ]
  * stage2: no condition on system libs to link native libc

  [ Loris Cro ]
  * autodoc: fix regression in frontend rendering of values

  [ Andrew Kelley ]
  * Compilation: handle system C compiler not found

  [ Shane Kennedy ]
  * chore: Remove unused constants

  [ Veikka Tuominen ]
  * stage2: change how defers are stored in Zir

  [ Luuk de Gram ]
  * wasm-linker: write magic bytes only on success
  * wasm-linker: write to file at once
  * wasm-linker: rename self to descriptive name
  * wasm-linker: reset file pointer for incremental

  [ Andrew Kelley ]
  * update CI tarballs for LLVM 15
  * libcxx: define _LIBCPP_ABI_VERSION and _LIBCPP_ABI_NAMESPACE
  * disable LLVM 15 regressed behavior test: "vector @splat"
  * remove pointless discards
  * Sema: introduce Type.ptrAlignmentAdvanced
  * cmake: add -Dversion-string flag to zig build command
  * update CI tarballs with libcxx fix
  * universal-libc: fix strncmp tests
  * libunwind: compile with -std=c11
  * disable failing c++ test
  * translate-c: lower discards differently
  * stage2: remove pointless discards from source code
  * remove pointless discards in test cases
  * properly annotate nullability of ZigLLVMCreateDebugForwardDeclType
  * add compile error test for pointless discards
  * fix libc++ exceptions for musl targets
  * zig cc: do not enable the cache for link operations

  [ Veikka Tuominen ]
  * validate number literals in AstGen

  [ Andrew Kelley ]
  * stage2: support being built in ReleaseSafe mode
  * std: remove workaround for fixed bug
  * std: re-enable test case for fixed bug

  [ Martin Wickham ]
  * Move std.testing.zig_exe_path into build options

  [ Veikka Tuominen ]
  * Sema: handle empty_struct_value in beginComptimePtrMutation
  * Sema: resolve lazy align in reifyStruct
  * value: hash extern functions
  * Sema: copy runtime_index & friends when making child blocks
  * Sema: allow runtime break from inline loop
  * Sema: check_comptime_control_flow needs to check runtime_index
  * Sema: handle comptime fields in field call bind
  * stage2: implement referenced by trace for error messages

  [ Andrew Kelley ]
  * ZIG_EXE envirnoment variable instead of testing build options
  * disable spuriously failing test on Windows

  [ Manlio Perillo ]
  * src/print_env: print the native target

  [ Jan Philipp Hafer ]
  * place zig-cache directory next to build.zig

  [ Andrew Kelley ]
  * stage2: fix compile error merge conflict

  [ Koakuma ]
  * stage2: sparc64: Add airFloatToInt & airIntToFloat placeholder
  * stage2: sparc64: Change branch_link Mir field definition
  * stage2: sparc64: Add airCmpLtErrorsLen placeholder
  * stage2: sparc64: Implement airPtrToInt
  * stage2: sparc64: Implement airWrapOptional
  * stage2: sparc64: Implement airTagName
  * stage2: sparc64: Implement airBinop for bool_and/or
  * stage2: sparc64: Skip Sema-failing tests for now
  * stage2: sparc64: Fix SPARCv9 shift opcodes encoding
  * stage2: sparc64: Implement airMulOverflow for <= 32 bits
  * stage2: sparc64: Add airClz/airCtz placeholder
  * stage2: sparc64: Tidy up binOp and enable more operations
  * stage2: sparc64: Implement airShlWithOverflow
  * stage2: sparc64: Don't track condition_flags_inst in checked binOps
  * stage2: sparc64: Skip compile-failing tests for now
  * stage2: sparc64: Add placeholder for some Air instructions
  * stage2: sparc64: Implement airSlicePtr

  [ alichraghi ]
  * std.ArrayList.ensureTotalCapacity: optimize and fix integer overflow

  [ Stephen Gregoratto ]
  * Audit FreeBSD structs to match header files/ABI

  [ Eric Joldasov ]
  * docgen: add f80 to builtin types

  [ Andrew Kelley ]
  * CI: swap out azure macos tarball for unstripped ReleaseSafe
  * organize some compile error tests
  * ci: azure: macos: use an unstripped debug zig tarball

  [ cod1r ]
  * fix ChildProcess crash when PATH is empty.

  [ Andrew Kelley ]
  * std: remove deprecated API for the upcoming release
  * Sema: improve source location after as_node is used

  [ billzez ]
  * fix android definition of pthread_rwlock_t (#12830)

  [ Jakub Konka ]
  * macho: do not assume every object has a symtab
  * macho: test empty translation units
  * ci: azure: macos: use updated release tarball
  * test-cases: remove removed "note: referenced here" note from the error

  [ Andrew Kelley ]
  * skip macho link test execution on non-macOS

  [ Jakub Konka ]
  * use EmulatableRunStep for newly added macho link test
  * add removed expected stdout comparison in link test
  * macho: separate in structure and logic incremental relocs and file relocs
  * macho: move main driver loop for one-shot into standalone zld module
  * macho: clean up use of section ids
  * macho: do not call populateMissingMetadata in full link mode
  * macho: move to incremental writes and global relocs for incremental
  * macho: start separating linking contexts
  * macho: rewrite how we allocate space in incremental context
  * macho: add logic for expanding segments in memory
  * macho: allow for add and ldr when resolving GOT_LOAD_* relocs
  * macho: fix building on 32bit targets
  * macho: make sure both vmsize and filesize for segments match
  * fix code formatting
  * macho: make sure both vmsize and filesize for segments match always
  * macho: fix overlapping segments in file offset
  * macho: ensure we extend section size when updating last atom
  * macho: fix after sync with master
  * macho: cleanup how we collect dyld data in incremental linker

  [ Loris Cro ]
  * autodoc: don't collect tests, usingnamespace and comptime blocks

  [ Veikka Tuominen ]
  * Sema: do not use coerceCompatiblePtr for alignCast
  * Sema: do not use coerceCompatiblePtr for ptrCast

  [ Motiejus Jakštys ]
  * zig cc: emit to a.out if outpath is unspecified

  [ Veikka Tuominen ]
  * Sema: check pointer qualifiers before implicit cast
  * Sema: pass calculated offset to `elemPtrType` in `elemPtrSlice`
  * Sema: validate `@alignOf` type
  * Sema: handle `Value.slice` in `beginComptimePtrLoad`

  [ joachimschmidt557 ]
  * stage2 ARM: make sub_sp_scratch MIR instruction use r4
  * stage2 ARM: fix debug info for arguments passed in registers

  [ Meghan ]
  * std: fix os.linux.S function signatures to use mode_t

  [ Veikka Tuominen ]
  * safety: show error return trace when unwrapping error in switch
  * std: add return address parameter to panic fn

  [ Andrew Kelley ]
  * CI: update windows tarball
  * stage2: free up 2 ZIR tags

  [ Jacob Young ]
  * sema: fix typo

  [ Ali Chraghi ]
  * std: update NativeTargetInfo.detect doc comments

  [ kkHAIKE ]
  * AstGen: make loop body's ResultLoc .none
  * AstGen: store void to ptr result loc when there is no else branch

  [ Andrew Kelley ]
  * LLVM: remove purposeless const qualifiers
  * CI: update sourcehut oauth token
  * CI: remove --fail-with-body option

  [ Evin Yulo ]
  * Fix docstring for std.fs.path.extension

  [ John Simon ]
  * langref: remove uses of old function pointer syntax

  [ noiryuh ]
  * use `std.ascii` instead of defining ascii functions in `std.fs.path`

  [ ノYuh ]
  * make `fmt.formatAsciiChar` respect `options` parameter

  [ Bill Nagel ]
  * add missing darwin types

  [ Sage Hane ]
  * langref: fix minor format error

  [ Veikka Tuominen ]
  * Sema: preserve volatileness when constructing field pointers
  * Sema: check for slices in packed and extern type validation
  * Sema: correct sentinel check on implicit cast from array ptr
  * Sema: resolve struct layout in `zirStructInit`
  * Sema: properly handle generic struct as parameter type
  * llvm: avoid crash on duplicate asm input/output name
  * Sema: avoid using `pointerDecl` when dealing with slices
  * Sema: avoid generic parameter error in nested function type
  * AstGen: reset anon_name_strategy for sub expressions

  [ kcbanner ]
  * llvm: fix uwtable attribute value
  * llvm: update uwtable value for stage1

  [ John Schmidt ]
  * sema: load the correct AST in addFieldErrNote
  * sema: load the correct AST in failWithInvalidComptimeFieldStore

  [ Der Teufel ]
  * autodoc: Added `.html` to generated source view file names

  [ Luuk de Gram ]
  * zig fmt

  [ Lee Cannon ]
  * make `runPkgConfig` pub

  [ Jacob Young ]
  * use @ptrCast to assigned generic type to default_value

  [ Zhora Trush ]
  * Fix minor langref typos

  [ kkHAIKE ]
  * Sema: fix segfault when union init with empty field

  [ Jacob Young ]
  * fmt: ignore non-files

  [ Veikka Tuominen ]
  * stage1+2: parse inline switch cases
  * stage2: remove redundant `is_ref` flag from `SwitchBlock.Bits`
  * AstGen: analyze inline switch cases
  * Sema: implement non-special inline switch prongs
  * add inline switch union tag captures
  * Sema: implement `inline else` for errors enums and bools
  * Sema: implement `inline else` for ints
  * Sema: refactor common code to its own function
  * Sema: add better source location for inline prong backwards branch limit
  * langref: document inline switch
  * Sema: avoid passing `.unneeded` to `safetyPanic`

  [ InKryption ]
  * Sema: check that reified enum field values fits tag type.

  [ Silver ]
  * std/meta: make FieldEnum(T) == Tag(T) for tagged unions when values match field indices

  [ Cody Tapscott ]
  * stage2: Fix multiple_llvm_int parameter passing

  [ Jacob G-W ]
  * stage2: detect duplicate enum values

  [ Evin Yulo ]
  * Remove outdated comment

  [ Techatrix ]
  * Docs: clarify unreachable for ReleaseSmall

  [ Jacob Young ]
  * testing: fix copy paste typo

  [ Lee Cannon ]
  * Fix `Step.cast` for `OptionsStep` and `CheckObjectStep`

  [ kkHAIKE ]
  * Sema: fix resolveInferredErrorSet panic when generic inline function

  [ Igor Anić ]
  * Sema: improve source location in errors

  [ zooster ]
  * std.builtin: un-pub testVersionParse()

  [ Jakub Konka ]
  * ci: update windows tarball

  [ Chris Boesch ]
  * std.math: add "Greatest common divisor" (gcd)

  [ ominitay ]
  * std: Replace use of stage1 function pointers

  [ r00ster91 ]
  * fix(std.testing.refAllDeclsRecursive): silently return if !builtin.is_test
  * docs: minor improvements

  [ Veikka Tuominen ]
  * Sema: use correct ptr ty to check for attributes of slice field ptr
  * stage2: improve error message for missing member in file root struct
  * AstGen: do not set decl_line for containers
  * Type: correctly handle ABI align strat for optionals and error unions

  [ Jacob Young ]
  * Sema: avoid undefined fields in file struct decls
  * llvm: avoid undefined values by ensuring the StackTrace decl is analyzed

  [ zooster ]
  * std.math: allow comptime_float for radiansToDegrees and degreesToRadians

  [ Jacob Young ]
  * Sema: ensure builtin.StackTrace fields are analyzed
  * llvm: add assert to reliably catch undefined value use

  [ Techcable ]
  * translate-c: packed struct implies align(1) on every field
  * translate-c: Add tests for packed unions

  [ alex ]
  * std.ChildProcess: correct fn getUserInfo pkg in setUserName

  [ Julian ]
  * Sema: require reified packed struct fields to have zero alignment

  [ zooster ]
  * std.os.windows: fix HANDLER_ROUTINE callconv

  [ Jacob Young ]
  * Sema: fix function paramater count mismatch note
  * test/standalone: remove unneeded FnPtr
  * stage2: fix C ABI for bool

  [ zooster ]
  * docs(langref): fix outdated example

  [ Jacob Young ]
  * stage2: add support for assembly debug info

  [ Luuk de Gram ]
  * std: WASI - update to latest snapshot preview 1

  [ GethDW ]
  * std: fix memory leak in ArrayHashMap (#13001)

  [ Andrew Kelley ]
  * CLI: better error message for bad input path
  * stage2: resolve file before putting them into cache

  [ Ryan Liptak ]
  * Fix all std lib tests being run for any file within the std package
  * Introduce IterableDir.iterateAssumeFirstIteration

  [ Andrew Kelley ]
  * build: add -Dsanitize-thread option

  [ Ryan Liptak ]
  * fs.Dir.deleteTree: Reduce the number of failing deleteFile calls
  * fs: Add IterableDir.Iterator.reset
  * fs: Optimize Dir.deleteTree for non-deeply-nested directories

  [ Veikka Tuominen ]
  * Sema: avoid passing undefined as reason to `failWithNeededComptime`
  * Zir: handle ranges in `getMultiProng`
  * Sema: use correct value when `@ptrCast` operand is comptime known

  [ r00ster91 ]
  * fix(text): hyphenation and other fixes
  * fix(text): hyphenate "comptime" adjectives
  * fix(text): hyphenate "runtime" adjectives

  [ Ryan Liptak ]
  * fs: Reduce IterableDir.Iterator `buf` size to 1024
  * fs: deleteTreeFallback -> deleteTreeMinStackSize and make it pub
  * fs.Dir.deleteTree: Fix some handling of NotDir error in deleteFile calls
  * fs.Dir.deleteTree: Fix FileBusy errors on Windows
  * std.fs.deleteTree: Unify how the initial sub_path is treated between deleteTree/deleteTreeMinStackSize

  [ Veikka Tuominen ]
  * Sema: create sub block for inline loops
  * stage2: add error for non-void error union payload being ignored
  * Sema: do not emit `is(_non)_null` for invalid types
  * Sema: disallow fieldParentPtr and offsetOf on comptime fields
  * Sema: generic function instantiation inherits parent's branch quota
  * Sema: validate bitSizeOf operand type
  * Sema: disallow using stage1 fn ptrs in extern contexts

  [ Ali Chraghi ]
  * Sema: fix error location when casting pointer to slice
  * std.http: fix typo

  [ Veikka Tuominen ]
  * AstGen: use 'shadows' instead of 'redeclaration' when names are in different scopes
  * safety: add safety check for hitting else branch on a corrupt enum value
  * Sema: allow equality comparisons between error unions and error sets

  [ r00ster91 ]
  * fix: wrap function pointers in std.meta.FnPtr
  * fix: wrong return type for _poll
  * fix: wrong amount of arguments passed to function

  [ Luuk de Gram ]
  * wasm-linker: generate 'producers' section
  * CheckObjectStep: parsing and dumping producers
  * test/link: Add linker test for producers section

  [ Veikka Tuominen ]
  * Sema: restore sema.src after inline call
  * Sema: inline switch capture needs to be set when switch operand is comptime known
  * Sema: add error for capturing a runtime value outside of function scope

  [ Luuk de Gram ]
  * wasm-linker: convert relocation addend to i32

  [ Cody Tapscott ]
  * build.zig: Forward LLVM lib/include dirs from CMake
  * compiler_rt: Re-implement `ldexp`/`ilogb` using bit-ops
  * compiler-rt: Implement mulXc3 and divXc3 functions
  * compiler_rt: Fix `extendf_f80` bug

  [ jcalabro ]
  * add [src] links to function decls in autodocs

  [ Cody Tapscott ]
  * Manually construct denormal constants in tests
  * C ABI: Add tests for complex float/double support

  [ Eric Joldasov ]
  * Fix building with Clang 16

  [ Tau ]
  * translate-c: Fix #12263
  * translate-c: fix the remaining function pointer issues
  * translate-c: fix #5305

  [ Rekai Nyangadzayi Musuka ]
  * std/math.zig: use previous rotate code with non-power-of-two integers

  [ Tau ]
  * Update translate-c tests

  [ Andrew Kelley ]
  * update mingw-w64 headers to v10.0.0
  * update mingw-w64 crt files to v10.0.0
  * stage2: update mingw-w64 build logic to v10.0.0
  * CI: windows: update tarball
  * mingw-w64: pass -D__USE_MINGW_ANSI_STDIO=0 for crt files

  [ Eric Milliken ]
  * std: add linux support for packet sockaddr

  [ r00ster91 ]
  * fix: resolve data race in std.Progress.maybeRefresh()

  [ mllken ]
  * io_uring: allow for nullable arguments

  [ Ali Chraghi ]
  * Compilation: strip debug info from ReleaseSmall by default

  [ GethDW ]
  * std: fix memory leak on OutOfMemory error in math.big.int and math.big.rationa

  [ Luuk de Gram ]
  * test/link: don't strip producers section for wasm

  [ Cody Tapscott ]
  * stage2 LLVM: Use a packed aggregate for union payload init

  [ Jacob Young ]
  * std.math: add support to cast for a comptime_int argument
  * big.int: add support for non-comptime scalars
  * big.int: rewrite confusing code in an equivalent but less confusing way

  [ Gaëtan ]
  * Make CompressorOptions public

  [ Luuk de Gram ]
  * stage2: implement exporting using field access (#13136)

  [ Ryan Liptak ]
  * Windows: Fix stage1.zig's main failing to receive non-ASCII args

  [ kcbanner ]
  * msvc: fixup compiler arg generation, as /O2 is incompatible with /RTC1

  [ Andrew Kelley ]
  * CI: windows: update tarball

  [ jacobly0 ]
  * codegen: add support for lowering .field_ptr on a slice

  [ Jacob Young ]
  * math.big.int: add `calcLimbLen` doc comment note
  * math.big.int: document the purpose of limb_len in scalar methods

  [ Veikka Tuominen ]
  * fix hyphenation in test case
  * Sema: add reference trace before checking for cached value

  [ Michael Dusan ]
  * improve header searchlist handling in build, main

  [ Robin Voetter ]
  * amdgpu: add amdhsa/amdpal ctype abi sizes
  * amdgpu: add AmdgpuKernel calling convention
  * stage 2: grammar
  * big int: make Mutable.normalize const
  * allow global/local/shared address spaces on amdgcn
  * stage2: improve addrspace handling
  * stage2: add @addrSpaceCast builtin
  * stage2: check address space cast validity
  * add @addrSpaceCast to langref
  * backport @addrSpaceCast to stage 1
  * stage2: f128 improvements for targets that do not support it
  * compiler_rt: cmpxchg-based atomic fetch/exchange for small types
  * zig_libc: do not call abort() on amdgpu
  * compiler_rt: apply protty suggestions
  * make addrSpaceCast work with optionals; forbid ptrCast'ing address spaces
  * stage2: improve globals with address spaces a little
  * typo

  [ Cody Tapscott ]
  * build.zig: Parse CMAKE_PREFIX_PATH with multiple entries

  [ Jacob Young ]
  * build.zig: Forward LLVM lib/include dirs from CMake

  [ zooster ]
  * `std.Progress`: fix inaccurate line truncation and use optimal max terminal width (#12079)

  [ Marijn Stollenga ]
  * Return invalid argument in sendto instead of unreachable, since this can happen with user-side errors

  [ kkHAIKE ]
  * Sema: add float128IntPartToBigInt to fix compare comptime float with int

  [ cod1r ]
  * adding `static` and `dynamic` ZigEquivalent enums so that we can branch to set `link_mode` properly when we iterate over the clang arguments. also replaced `dynamic` flag in clang_options_data.zig with proper definition similarly to `static`.

  [ Ali Chraghi ]
  * std.c: fix incorrect return types

  [ Bill Nagel ]
  * enable event loop for ios, tvos, and watchos

  [ Ali Chraghi ]
  * std.SegmentedList: fix compilation error

  [ Jacob Young ]
  * io_uring: ignore SOCK_NONEMPTY for reproducible tests

  [ r00ster91 ]
  * docs: add notes
  * refactor: max_width calculation
  * test: uncomment print

  [ Cody Tapscott ]
  * stage1: Skip new tests that never passed in stage1
  * stage2: Fix softfloat support for PPC64(LE)
  * compiler_rt: Add missing `f16` functions
  * stage2 LLVM: Correct long double for WASM
  * stage1: Rely on softfloat for `f16` on non-arm targets
  * stage2: Add softfloat support for `@reduce`
  * stage1: Add softfloat support for `@reduce`
  * Disable llvm.prefetch for PowerPC
  * stage2: Use softfloat for `f16` on MIPS targets
  * tests: Enable PPC64LE as a test target
  * Re-enable Vector f16 tests on Windows
  * Re-enable `@mulAdd` f128 tests on aarch64-darwin
  * Re-enable `mulAdd` f128 tests on i386-linux

  [ r00ster91 ]
  * fix: handle larger window sizes more robustly

  [ Jacob Young ]
  * stage2: fix emitting asm and bin at the same time

  [ Ryan Liptak ]
  * Fix compile error in Dir.deleteTreeMinStackSize and add test

  [ Evan Haas ]
  * i386 ABI: Fix some sizes and alignments

  [ Ryan Liptak ]
  * std.os.windows: Change HKEY to *opaque {}

  [ Cody Tapscott ]
  * stage1: Fix ppcle `long double` size

  [ Luuk de Gram ]
  * compiler_rt: Move mem implementations from c.zig
  * test/link: fix Wasm archive test

  [ xEgoist ]
  * Added os check for std.fs.setAsCwd() to work with windows

  [ Jacob Young ]
  * llvm: fix bug lowering aggregate_init with a byref sentinel

  [ Guillaume Wenzek ]
  * allow ptx kernel export
  * disable debug info for ptx<7.5
  * restore comp when leaving flushModule
  * debug
  * sanitize qualified name for nvptx backend
  * addrSpaceCastIsValid nvptx
  * re-enable nvptx tests
  * disable sema.addConstant
  * fix test
  * implement os.abort and panic for cuda

  [ Andrew Kelley ]
  * nvptx: add TODO comment regarding abuse of llvm builtins

  [ Jacob Young ]
  * llvm: fix lowering of runtime refs to comptime-only decls
  * Module: fix early exit conditions during compilation
  * llvm: fix lowering of non-byte-aligned field pointers

  [ Isaac Yonemoto ]
  * adds isTag function to std.meta (#11895)

  [ Luuk de Gram ]
  * wasm: use liveness analysis for locals
  * wasm: reference count locals
  * wasm: de -and increment reference count locals
  * wasm: implement branching
  * wasm: correctly get the type of a local for free
  * wasm: allow merging single branches
  * wasm: re-use operands
  * wasm: rename 'self' to more explanatory name

  [ Meghan ]
  * stage2: remove `--verbose-mir` from help menu

  [ Evin Yulo ]
  * Simplify code in std.meta.isTag

  [ bfredl ]
  * os.linux: some fixes to BPF module

  [ dan ]
  * std.zig: search include dir and lib dir from environment variables (#13145)

  [ Ali Chraghi ]
  * std.os: fix execv* doc comment

  [ Jens Goldberg ]
  * fix setsockopt returning ENODEV

  [ Evin Yulo ]
  * Give better error message for --name with folder separator

  [ Naoki MATSUMOTO ]
  * std.os: handle error.UnreachableAddress in send()

  [ Jacob Young ]
  * emutls: add const to default_value field
  * tools: add lldb stage2 pretty printers

  [ Veikka Tuominen ]
  * Sema: handle noreturn in boolBr

  [ Andrew Kelley ]
  * stage2: allow comptime expressions for inline asm

  [ Yujiri ]
  * add tcdrain on linux

  [ jumpnbrownweasel ]
  * Fix for #13163: DefaultRwLock accumulates write-waiters, eventually fails to write lock (#13180)

  [ jacobly0 ]
  * Sema: implement linksection on functions

  [ Xavier Bouchoux ]
  * std: check for overflow in dumpStackTraceFromBase

  [ Meghan ]
  * std.debug: define error set in DebugInfo.lookupModuleDl

  [ GethDW ]
  * stage2: implement packedStuctToInt for more types

  [ Ali Chraghi ]
  * all: rename `@maximum` to `@max` and `@minimum` to `@min`

  [ Veikka Tuominen ]
  * zig fmt: rewrite `@maximum` and `@minimum`

  [ Jacob Young ]
  * value: implement `Value.eqlAdvanced` on slices

  [ Luuk de Gram ]
  * CheckObjectStep: correctly depend on its own step
  * test/link: remove redundant dependOn statements

  [ Motiejus Jakštys ]
  * [elf] main.zig: add -z nocopyreloc
  * os.copy_file_range: save a syscall for most operations

  [ Andrew Kelley ]
  * update libcxx to LLVM 15.0.3
  * Sema: fix runtime int to enum with one possible value
  * synchronize target CPU features with LLVM 15.0.3
  * Revert "adding `static` and `dynamic` ZigEquivalent
  * ci: windows: update tarball

  [ Veikka Tuominen ]
  * Sema: respect inline call semantics
  * Sema: remove unresolved inferred allocs
  * Sema: resolve tuple default values before hashing

  [ Eric Joldasov ]
  * cmake: separate installing and building (again)

  [ Andrew Kelley ]
  * build: avoid compiling self-hosted twice
  * std.zig.system.NativePaths: avoid calling std.os.getenv on Windows
  * std.os.windows.OpenFile: handle INVALID_HANDLE ntstatus
  * stage2: better handling of CacheMode.whole on Windows
  * Revert recent std.Progress implementation changes

  [ LordMZTE ]
  * build: added unwind_tables to LibExeObjStep

  [ Andrew Kelley ]
  * link/MachO: avoid depending on host PATH_MAX

  [ yujiri8 ]
  * Fix #12091: Error message with TERM=dumb is missing info

  [ Matheus C. França ]
  * crypto/benchmark - replace testing allocator

  [ joachimschmidt557 ]
  * stage2 AArch64: merge floating-point registers into Register enum
  * stage2 AArch64: simplify allocMem
  * stage2 AArch64: introduce ldr_ptr_stack Mir instruction
  * stage2 AArch64: move cmp to new allocRegs mechanism
  * stage2 AArch64: move add+sub to new allocRegs mechanism
  * stage2 AArch64: mov mul,div,mod to new allocRegs mechanism
  * stage2 AArch64: move remaining operations out of binOp
  * stage2 AArch64: Remove remaining legacy binOp code

  [ Andrew Kelley ]
  * add m68k target CPU features

  [ Veikka Tuominen ]
  * Type: bitSizeOf non-packed structs should include padding
  * Sema: allow runtime only instructions to be emitted in outside functions
  * stage2: improve source location of assignment
  * Sema: fix using runtime instructions inside typeof in comptime only blocks
  * Sema: add missing calls to `wip_captures.finalize`
  * Value: handle runtime_int in hashPtr
  * stage2: fix x86_64 C ABI of struct with array member
  * make C ABI tests compile on i386
  * delete failing recursive test
  * stage2: fix handling of aarch64 C ABI float array like structs
  * make C ABI tests compile on arm, mips and riscv

  [ Andrew Kelley ]
  * Revert "add std.debug.todo"

  [ David Gonzalez Martin ]
  * UEFI: Querying memory map size with no allocation

  [ Veikka Tuominen ]
  * aarc64 C ABI: fix handling of packed structs and unions
  * stage2: implement ARM C ABI

  [ Eric Joldasov ]
  * ci: make directory structure in releases consistent

  [ Veikka Tuominen ]
  * aarch64 C ABI: return union instead of array of two enums
  * stage2: properly reset error return trace index

  [ Cody Tapscott ]
  * stage2: "Pop" error trace for break/return within catch
  * stage2: Do not pop error trace if result is an error
  * stage2: Pop error trace when storing error to var/const
  * stage2: Add `.save_err_return_trace_index` AIR op
  * Re-factor: Change AstGen.ResultLoc to be a struct
  * stage2: Propagate error return trace into fn call
  * stage2: Fix usage of getError()
  * stage2: Keep error return traces alive when storing to `const`
  * builtin.zig: Do not overwrite error frames when trace full
  * stage2: Skip test exposing #13175
  * Change how `Block` propagates (error return) trace index

  [ Andrew Kelley ]
  * Revert "ci: make directory structure in releases consistent"

  [ Louis Pearson ]
  * Support compiling for the android NDK (#13245)

  [ Cody Tapscott ]
  * stage 2: Update C types' size/alignment
  * std.Target: Remove `longDoubleIs`

  [ Andrew Kelley ]
  * CI: drone: skip ReleaseSafe std lib tests that link libc

  [ Cody Tapscott ]
  * Type.zig: Add `nvcl`/`cuda` CType definitions

  [ Jakub Konka ]
  * macho: upstream rewritten traditional linker, zld
  * macho: remove unused nlist flags
  * macho: fix 32bit build
  * macho: fix incorrectly erroring out with multiple sym definition
  * macho: skip parsing __eh_frame until we know how to handle it
  * macho: always create __TEXT segment
  * macho: do not assume __la_symbol_ptr was created
  * macho: fix bug in incorrectly splicing nodes in trie
  * macho: fix silly error where we would incorrectly skip a valid binding
  * macho: revert changes to file descriptors mgmt
  * macho: relax SUBTRACTOR assumption it not being a defined global
  * macho: fix handling of lack of subsections and tracking of inner symbols
  * macho: gracefully handle uninitialized symtabs in objects
  * macho: rewrite movq to leaq when TLV is not external pointer
  * macho: fix incorrect lookup of symbols when calculating subtractors
  * macho: do not skip over SUBTRACTOR reloc when dead stripping
  * macho: refactor dead code stripping conditions

  [ Veikka Tuominen ]
  * add C ABI tests for simd vectors
  * make C ABI tests compile on powerpc
  * build.zig: separate C ABI tests from standalone tests
  * stage2: implement RISCV C ABI
  * replace some panics with try in C ABI tests

  [ Jakub Konka ]
  * macho: some docs

  [ Luuk de Gram ]
  * fix: correctly import memcmp.zig in compiler-rt

  [ Andrew Kelley ]
  * CI: drone: skip some ReleaseFast and ReleaseSmall std lib tests

  [ Jan Philipp Hafer ]
  * update compiler_rt README and prettify it

  [ Veikka Tuominen ]
  * ARM C ABI: workaround i128 issues
  * x86_64 llvm: correct lowering of ptr sized float struct

  [ Andrew Kelley ]
  * link.MachO: multi-thread first round of sha256 hashing

  [ Eric Joldasov ]
  * fix CI failures with commit "ci: make directory structure in releases consistent"

  [ Cody Tapscott ]
  * compiler_rt: Always export "standard" symbol names
  * CType: Add `preferredAlignment`

  [ Andrew Kelley ]
  * Revert "fix CI failures with commit "ci: make directory structure in releases consistent""
  * CMake: detect use of CMAKE_PREFIX_PATH env var

  [ Jakub Konka ]
  * macho: increment temp buffer when calculating hashes
  * macho: temp hash buffer has to live as long as pread error resolution
  * macho: handle majority of DW_FORM_ values for DWARF4 in the linker

  [ Andrew Kelley ]
  * build: add `-Donly-c` option

  [ Cody Tapscott ]
  * Fix long double on x86_64-windows

  [ r00ster91 ]
  * docs(std.fs.path.extension): correct arrow alignment
  * std.fs.path: add stem()

  [ Jacob G-W ]
  * Plan9: deal with unnamed decls Hello World works again!
  * Add relocations to the plan9 backend
  * Revert "remove plan9 test coverage": Plan9 now works :^)
  * additional fixes for Plan9 with this, the tests should pass

  [ Andrew Kelley ]
  * link: add an explicit error set for flush() and flushModule()

  [ Jacob Young ]
  * fmt: fix f80 hex formatting
  * c: fix undefined tests in ReleaseSafe
  * c: fix mangling of error names
  * c: implement @errorName
  * c: fix empty container warnings
  * c: fix switch on bool warning
  * c: fix int literal warnings
  * c: fix stage1 compatibility
  * c: fix nonscalar type cast warning
  * c: cast NULL in advance to avoid comparison warnings
  * c: fix incompatible pointer types warning
  * c: hacks to fix incompatible redeclaration of library function warnings
  * c: fix redefinition of typedef warnings
  * c: improve lowering of undef values
  * behavior: fix redefined exports
  * behavior: enable stage2_c tests that are currently passing
  * cbe: cleanup code and fix cases test breakage
  * cbe: fix infinite recursion on recursive types
  * cbe: implement airUnionInit
  * cbe: fix loads and stores of 0-bit types
  * cbe: implement tag name
  * cbe: fix global access
  * cbe: implement more asm features
  * cbe: fix global access fix
  * cbe: canonicalize types that have the same C type when emitting typedefs
  * cbe: implement aggregate_init of struct
  * cbe: implement ptr slice ptr
  * cbe: implement global assembly
  * cbe: misc fixes
  * cbe: implement some float ops
  * cbe: fix atomics
  * cbe: get enough things working to support basic programs
  * cbe: fix C syntax when rendering initializers
  * cbe: allow immediate and register asm constraints in naked functions
  * cbe: fix typedef declaration order
  * cbe: fix globals that reference functions
  * cbe: implement 128-bit and fix smaller integer builtins
  * std: add cbe hacks to more targets
  * cbe: implement packed structs
  * cbe: update test cases
  * cbe: implement cmp_lt_errors_len
  * cbe: implement field_parent_ptr
  * cbe: add support for all float literals types
  * cbe: improve floating point type support
  * cbe: enable test fixed by #13296
  * cbe: fix floating point builtins

  [ jcalabro ]
  * better source file links

  [ Jacob Young ]
  * fmt: fix f80 hex formatting

  [ Jakub Konka ]
  * darwin: bump max macOS version to 13.0
  * darwin: bump minimum supported version to 11.7.1
  * darwin: add libSystem.13.tbd
  * darwin: remove libSystem.10.tbd
  * darwin: update macOS libc headers

  [ Luuk de Gram ]
  * wasm-linker: validate feature compatibility
  * wasm-linker: emit `target_features` section
  * CheckObjectStep: parse and dump `target_features`
  * test/link: add Wasm linker tests for features
  * wasm-linker: seperate linker -and cpu features
  * use fixed-size arrays for feature lists

  [ Jakub Konka ]
  * build: include -lzstd in the linker line when building Zig

  [ Andrew Kelley ]
  * CI: update macos and windows tarballs
  * CMake: handle zstd the same as zlib
  * CI: update drone and zinc tarballs

  [ Frank Denis ]
  * crypto/bcrypt: don't reimplement base64, just use a custom alphabet

  [ Jakub Konka ]
  * darwin: remove 10.15.7 as available libc from src/target.zig

  [ Naoki MATSUMOTO ]
  * std.crypto.sign.ecdsa: accepts unusual parameters like EcdsaP384Sha256 (#13302)

  [ Hadrien Dorio ]
  * make a .rsp file for `zig clang`

  [ Veikka Tuominen ]
  * Module: mitigate generic deletion bug
  * remove test case triggering generic deletion bug
  * stage2: optimize size of optional slices
  * llvm: handle namespace like packed structs
  * translate-c: cleanup unused parameters
  * translate-c: fix redefinition of label on left recursive comma operator
  * AstGen: fix `ref`ing inferred allocs
  * Sema: fix some edge cases with error return traces and typeof blocks
  * Sema: add error for too big packed struct
  * std.mem.Allocator: do not return undefined pointers
  * llvm: do not return undefined pointers from array_to_slice
  * llvm: pass optional slices like regular slices
  * Sema: check `coerceInMemoryAllowed` earlier in `resolvePeerTypes`

  [ Andrew Kelley ]
  * docgen: fix not escaping html in shell samples
  * build: update Tracy integration
  * libcxx: only pass -DHAVE___CXA_THREAD_ATEXIT_IMPL for glibc

  [ Veikka Tuominen ]
  * Sema: coerce zero-bit generic args are coerced properly

  [ Frank Denis ]
  * Revamp the ed25519 API (#13309)

  [ Andrew Kelley ]
  * github: simplify bug issue template
  * build: rename the "skip lib files" option

  [ daurnimator ]
  * Add reboot syscall
  * Add sockaddr_vm for vSocckets on Linux

  [ Eric Joldasov ]
  * CI: make directory structure in releases consistent

  [ Veikka Tuominen ]
  * Sema: use `runtime_value` instead of creating allocs

  [ InKryption ]
  * Sema: Prevent coercion from tuple pointer to mutable slice.

  [ Andrew Kelley ]
  * compiler_rt: fix memcmp wrong for some inputs
  * CI: azure: fix upload script

  [ Veikka Tuominen ]
  * Sema: further enhance explanation of why expr is evaluated at comptime
  * value: properly hash `null_value` pointer

  [ Ali Chraghi ]
  * NativeTargetInfo: remove unused error

  [ Frank Denis ]
  * std.sign.ecdsa: add support for incremental signatures (#13332)

  [ Cody Tapscott ]
  * std.mem: Add readPackedInt, writePackedInt, etc.
  * stage2: Use mem.readPackedInt etc. for packed bitcasts
  * Value: Add `@intCast` in `writeToPackedMemory` for 32-bit targets
  * std.mem: Skip `read/writePackedInt` test on WASM32/64
  * Enable bitcast test now that #13214 is resolved.

  [ Evan Haas ]
  * translate-c: Better support for division in macros

  [ Cody Tapscott ]
  * crypto.sha2: Use intrinsics for SHA-256 on x86-64 and AArch64
  * std.crypto: SHA-256 Properly gate comptime conditional
  * std.crypto: Optimize SHA-256 intrinsics for AMD x86-64
  * std.crypto: Add `isComptime` guard around intrinsics

  [ Andrew Kelley ]
  * CLI: report error when `-fstage1` requested but not available

  [ Cody Tapscott ]
  * std.crypto: Use `featureSetHas` to gate intrinsics

  [ Zhora Trush ]
  * Enhance indexOfIgnoreCase with Boyer-Moore-Horspool algorithm

  [ Veikka Tuominen ]
  * Sema: add error note for wrong pointer dereference syntax
  * Sema: fix floatToInt to zero bit ints
  * parser: improve error message for missing var/const before local variable
  * Sema: improve compile error for casting double pointer to anyopaque pointer
  * stage2: make switch on corrupt value panic point to switch condition
  * parser: add helpful error for extra = in variable initializer
  * Sema: wrap optionals in `zirPtrCast` when needed

  [ Andrew Kelley ]
  * glibc: fix race condition when building stubs
  * CI: update freebsd tarball

  [ fn ⌃ ⌥ ]
  * Fix deprecation docs for isAlpha and isCntrl

  [ Jacob Young ]
  * cbe: finish partial zig_noreturn rewrite

  [ Ryan Liptak ]
  * std.fs: Add MAX_NAME_BYTES
  * Windows: Fix iterator name buffer size not handling all possible file name components
  * Add wasi branch to MAX_NAME_BYTES
  * Set wasi MAX_NAME_BYTES to minimum of the rest of the supported platforms
  * Make MAX_NAME_BYTES on WASI equivalent to the max of the other platforms
  * fs: Some NAME_MAX/MAX_NAME_BYTES improvements

  [ kkHAIKE ]
  * Allocator: fix len_align calc in large type size case

  [ Evin Yulo ]
  * Fix #12822: Clarify langref about the behavior of undefined

  [ Andrew Kelley ]
  * ci: enable aarch64-linux test coverage
  * CI: drone: shuffle some tests around
  * std: re-enable auto hash test

  [ Jakub Konka ]
  * macho: do not unnecessarily dupe sym names in resolver
  * macho: fix regression in dead strip for x86_64

  [ Andrew Kelley ]
  * CI: disable failing C backend test

  [ Loris Cro ]
  * autodoc: update to new func zir body structure

  [ Nameless ]
  * change uefi packed structs to new integer backed syntax (#13173)

  [ Cody Tapscott ]
  * stage1: Make `x and false`/`x or true` comptime-known

  [ Jacob Young ]
  * AstGen: avoid accessing value from inner scope

  [ Cody Tapscott ]
  * stage2: Make `x and false`/`x or true` comptime-known

  [ Jacob Young ]
  * Sema: avoid comptime null unwrap
  * behavior: enable fixed cbe tests

  [ Andrew Kelley ]
  * zig test: forward target CLI args to zig run when using -ofmt=c
  * std.heap.PageAllocator: add check for large allocation
  * langref: mention `void{}` and empty blocks
  * re-apply "Fix C include files not being in `whole` cache (#11365)"
  * compiler_rt: fix gnu_f16_abi for i386-windows
  * mingw-w64: add gdiplus def files
  * std.heap: make wasm32 PageAllocator handle large allocation

  [ Cody Tapscott ]
  * link/MachO: Avoid depending on host PATH_MAX
  * stage2: Add explicit type qualifier to workaround #13366

  [ Andrew Kelley ]
  * Release 0.10.0
  * start the 0.11.0 release cycle
  * stage2: fix compilation on 32-bit arm
  * ci: add 0.10.0 release data

  [ Jacob Young ]
  * cbe: improve support for non-native float types
  * cbe: disable aarch64 behavior tests that are broken with gcc
  * cbe: fix gcc warnings

  [ Frank Denis ]
  * Ed25519.KeyPair.fromSecretKey() didn't compile after the API changes (#13386)
  * ed25519: recommend using the seed to recover a key pair

  [ mnordine ]
  * Fix variable name in documentation sample (#13391)

  [ Luuk de Gram ]
  * llvm: mangle extern Wasm functions
  * test/link: add linker test to verify mangling

  [ Frank Denis ]
  * std.crypto.onetimeauth.Ghash: make GHASH 2 - 2.5x faster (#13374)

  [ joachimschmidt557 ]
  * stage2 AArch64: implement min/max
  * stage2 AArch64: implement basic switch statements
  * stage2 AArch64: implement wrap_errunion_{err,payload}
  * stage2 AArch64: add inline memset
  * stage2 AArch64: misc fixes, enable printing in test runner

  [ Jakub Konka ]
  * cli: set sysroot when --sysroot option was passed

  [ Jacob Young ]
  * std: avoid vector usage with the C backend
  * build: remove `ofmt` from `LibExeObjStep` which is redundant with `target.ofmt`
  * cbe: fix threadlocal
  * cbe: disambiguate struct typedefs with decl index
  * cbe: avoid emitting code for zero-bit field access
  * cbe: fix optional access
  * cbe: support arrays in more places
  * cbe: incorrectly implement volatile memset
  * x86: remove inline asm clobbers that conflict with inputs or outputs
  * x86: cleanup inline asm
  * cbe: correctly implement volatile memset

  [ dweiller ]
  * stage2: add test_runner_path for user provided test runner
  * std.build: add support for custom test runner

  [ Cody Tapscott ]
  * stage2 llvm: Respect alignment for `.union_init`

  [ dweiller ]
  * test: add test_runner_path test

  [ Jacob Young ]
  * cbe: hack around invalid Air
  * cbe: ignore comptime fields when generating tuple typedefs

  [ Cody Tapscott ]
  * stage2: Ensure f128 alignment matches c_longdouble alignment

  [ Eric Milliken ]
  * std.time: add microTimestamp() (#13327)

  [ Jacob Young ]
  * cbe: fix extern
  * cbe: fix crash rendering union with zero-bit tag
  * cbe: use wrapping for left shifts
  * cbe: fix padding bits after a bitcast

  [ Nathan Bourgeois ]
  * Translate-C Remainder Macro Fix

  [ Frank Denis ]
  * std.crypto.pwhash.bcrypt: inline the Feistel network function (#13416)

  [ Jakub Konka ]
  * compiler_rt: fix duplicate symbol error when linking libc on arm64 Windows
  * libc: add support for arm64 msvc installation

  [ Yujiri ]
  * Add docstrings to some functions in std.meta

  [ Veikka Tuominen ]
  * CI: windows: update tarball

  [ Ali Chraghi ]
  * all: rename i386 to x86

  [ Jacob Young ]
  * Sema: make `InferredErrorSet` deterministic

  [ Micah Switzer ]
  * Sema: resolve lazy align in zirReify for union fields

  [ Veikka Tuominen ]
  * rename i386-linux-gnu to x86-linux-gnu

  [ Ryan Schneider ]
  * std.os: Add IGN coverage to sigaction tests
  * std.os: fix alignment of Sigaction.handler_fn
  * std.os: improve sigaction test coverage.

  [ Veikka Tuominen ]
  * Sema: detect division overflow
  * Sema: implement peer type resolution of function pointers and function bodies
  * Sema: correct condition in validateArrayInit
  * Sema: make method call work with optionals and error unions
  * stage2: fix onePossibleValue of empty unions and enums

  [ Andrew Kelley ]
  * CI: add stage3/stage4 determinism check

  [ Jakub Konka ]
  * aarch64: handle register downgrading in truncRegister
  * aarch64: extract atom index for both COFF and MachO
  * aarch64: implement airCall for COFF
  * coff: generate relocations for branch, GOT, direct refs
  * coff: clean up relocation handling between x86 and arm64
  * coff: implement handling of arm64-specific relocs
  * coff: compile and link simple exit program on arm64
  * coff: circumvent stage1 inference problems
  * coff: tentatively handle Obj in getImageBase() func
  * coff: use .x86 instead of .i386

  [ Veikka Tuominen ]
  * stage2: bitsize of packed struct should trigger backing int ty check
  * Sema: coerce elements of array cat
  * stage2: address of threadlocal variable is not comptime known
  * Sema: adjust result type of anyerror field access

  [ Ali Chraghi ]
  * std.os: take advantage of the freebsd's copy_file_range

  [ delitako ]
  * Improve doc comments for two functions (#13456)

  [ Jakub Konka ]
  * macho: add linker test case for issue 13457
  * macho: do not zero-out file if there are no nonzerofill sects
  * coff: move relocation in its own module

  [ Jay Petacat ]
  * Revert "x86" CPU model (not arch) back to "i386"

  [ Jakub Konka ]
  * macho: parse weak symbols in tbds
  * link-tests: add test case for parsing weak imports

  [ r00ster91 ]
  * std.os.linux.T: translate more MIPS values

  [ Frank Denis ]
  * crypto.salsa20: make the number of rounds a comptime parameter (#13442)

  [ InKryption ]
  * rand: add shuffleWithIndex
  * rand: add enumValueWithIndex

  [ Frank Denis ]
  * crypto.core.aes: process 6 block in parallel instead of 8 on aarch64 (#13473)

  [ Ganesan Rajagopal ]
  * langref.html.in: Simplify printing types in examples

  [ Frank Denis ]
  * std.crypto: make ghash faster, esp. for small messages (#13464)

  [ Jakub Konka ]
  * aarch64: partially implement isNull()
  * aarch64: partially implement optionalPayload()
  * aarch64: implement isNull() for non-pointer optionals
  * aarch64: implement optionalPayload when mcv is register
  * aarch64: implement .wrap_optional always saving to the stack
  * aarch64: fix implementation of .is_null and .is_non_null
  * aarch64: revert changes to .call
  * aarch64: circumvent zig0 inference problems
  * aarch64: pass some tests dealing with optionals
  * macho: fix parsing len of DW_FORM_string

  [ Frank Denis ]
  * crypto.ghash: compatibility with stage1

  [ Jakub Konka ]
  * macho: fix handling of DW_FORM_block* forms

  [ Andrew Kelley ]
  * CI: stop using cloud.drone.io

  [ Jakub Konka ]
  * macho: fix 32bit build

  [ bfredl ]
  * Fixes to linux/bpf/btf.zig

  [ Veikka Tuominen ]
  * llvm: implement packed unions

  [ IntegratedQuantum ]
  * Handle sentinel slices in `std.mem.zeroes`

  [ Jakub Konka ]
  * macho: create dSYM bundle directly in the emit dir
  * aarch64: emit DWARF debug info for fn params and locals
  * x86_64: add DWARF encoding for vector registers
  * aarch64: handle .stack_argument_offset as a valid local var
  * dwarf: do not assume unsigned 64bit integer for the enum value

  [ J.C. Moyer ]
  * Windows: Explicitly pass PDB paths to lld-link

  [ Jakub Konka ]
  * win: combine PDB fixes into one changeset

  [ Frank Denis ]
  * crypto.ghash: define aggregate tresholds as blocks, not bytes (#13507)

  [ Cody Tapscott ]
  * stage2: Fix comptime array initialization
  * stage2: Be more strict about eliding loads
  * stage2 llvm: Elide more loads
  * stage2 sema: Make vector constants when operating on vectors
  * Add test case for #12043
  * stage2: Rename `Value.compare` to `compareAll`, etc.

  [ Jacob Young ]
  * Sema: avoid breaking hash contract when instantiating generic functions

  [ Cody Tapscott ]
  * cmake: Mark <root>/.git/HEAD as a configure dependency
  * stage2: Support modifiers in inline asm

  [ Veikka Tuominen ]
  * AstGen: use `condbr_inline` if force_comptime is set
  * llvm: fix leaks of fully qualified names
  * Type: check return_type for generic poison before comparing
  * llvm: correct calculation of index of zero-bit field
  * AstGen: make pointless discard error more strict
  * AstGen: emit dbg_stmt before (nearly) all operations that have a safety check
  * Sema: make check for namespace lookup of private declarations more strict
  * Sema: coerce array operands to shuffle
  * Sema: check for error unwrap in `condbr_inline`
  * Autodoc: not all `block_inline`s contain a `break_inline`
  * GitHub: add issue template for error messages

  [ Frank Denis ]
  * crypto.AesGcm: provision ghash for the final block

  [ Jakub Konka ]
  * pdb: make SuperBlock def public

  [ Veikka Tuominen ]
  * llvm: correctly lower references to generic functions
  * Sema: ensure that `!is_comptime and !is_typeof` implies `sema.func != null`
  * llvm: check that tuple fields have runtime bits

  [ IntegratedQuantum ]
  * Implements std.math.sign for float vectors.

  [ Stevie Hryciw ]
  * langref: add appendix and explain 'container' terminology

  [ Nick Cernis ]
  * Make invalidFmtError public and use in place of compileErrors for bad format strings (#13526)

  [ dweiller ]
  * std.build: add setter for LibObjExeStep test runner path

  [ Jonathan ]
  * pthread_sigmask

  [ Halil ]
  * x/os/Reactor: implement remove function (#13330)

  [ Veikka Tuominen ]
  * Sema: remove `block` and `src` parameters from `getBuiltin`

  [ Andrew Kelley ]
  * C backend: improve ergonomics of zig.h a little bit
  * zig.h: remove redundant definition of u16/i16

  [ Naoki MATSUMOTO ]
  * std.crypto.ghash: fix uninitialized polynomial use (#13527)

  [ Motiejus Jakštys ]
  * musl.zig: remove unused enum (#13545)

  [ Frank Denis ]
  * crypto.bcrypt: fix massive speed regression when using stage2 (#13518)

  [ Loris Cro ]
  * ci: init github actions support

  [ Andrew Kelley ]
  * CI: separate aarch64 and x86_64 macos scripts
  * CI: aarch64-macos: set PATH env var for cmake
  * macos: x86_64: fix wrong path to cmake
  * CI: aarch64-linux: init
  * disable failing test on aarch64-macos
  * CI: disable github workflows until it is working in the ci branch

  [ Hayden Pope ]
  * std.os.linux: Add setitimer and getitimer syscalls

  [ mparadinha ]
  * Fix error reporting the wrong line for struct field inits (#13502)

  [ GethDW ]
  * std.build: fix typo

  [ Veikka Tuominen ]
  * llvm: implement arbitrary precision debug enumerators
  * std.mem.Allocator: do not return undefined pointers from `create`
  * Sema: do not re-evaluate type of non-generic inline call parameters
  * Module: call `ensureDeclAnalyzed` on `builtin.test_functions`
  * Sema: ensure comptime reference to function points to original decl
  * Sema+llvm: improve handling of namespace-like unions

  [ mike ]
  * zig-cache: support windows drive + fwd-slash paths

  [ Jacob Young ]
  * zig.h: match float comparison signatures from compiler rt
  * cbe: fix indexing with a zero-bit element type
  * cbe: fixed tagged union initializers of a zero-bit field type
  * cbe: fix identifiers colliding with the short keyword

  [ Eric Joldasov ]
  * compiler_rt: fix TODOs in udivmod.zig

  [ Guillaume Wenzek ]
  * fix Nvptx backend outputing files at the top level of zig-cache

  [ Eric Joldasov ]
  * process.zig: remove unused function getSelfExeSharedLibPaths

  [ Björn Linse ]
  * stdlib: make linux.PERF.TYPE non-exhaustive

  [ Jonathan Marler ]
  * packed struct fix example and clarify least to most significant ordering

  [ Frank Denis ]
  * std.crypto.onetimeauth.ghash: faster GHASH on modern CPUs (#13566)

  [ kcbanner ]
  * windows: fix _tls_index not being defined if libc wasn't linked, and fix x86 name mangling

  [ Igor Anić ]
  * stdlib: fix condition variable broadcast FutexImpl

  [ Andrew Kelley ]
  * Revert "std.crypto.onetimeauth.ghash: faster GHASH on modern CPUs (#13566)"

  [ Frank Denis ]
  * Reapply "std.crypto.onetimeauth.ghash: faster GHASH on modern CPUs (#13566)"
  * ghash: handle the .hi_lo case when no CLMUL acceleration is present, too

  [ Guillaume Wenzek ]
  * add C ABI tests with double

  [ Stevie Hryciw ]
  * std.math.big.int: implement popCount() for Const

  [ remeh ]
  * std.array_list: add a comment on every methods invalidating pointers.

  [ mllken ]
  * gzip: add bounds for safer header parsing
  * gzip: add missing fields to header parsing

  [ Stevie Hryciw ]
  * stage1: delete keywords
  * translate-c: use .identifier tokens in .identifier AST nodes
  * fmt: canonicalize identifiers
  * std: replace parseAppend with parseWrite in std.zig.string_literal
  * run zig fmt on everything checked by CI

  [ kkHAIKE ]
  * Sema: optimize compare comptime float with int

  [ Andrew Kelley ]
  * extract C backend behavior tests with vectors

  [ Casey Banner ]
  * linker: fail the compilation if there were linker errors

  [ Jimmi Holst Christensen ]
  * c backend: Output string literals for array init of bytes

  [ Ali Chraghi ]
  * os: windows: fix unhandled error

  [ Mitchell Hashimoto ]
  * std: valgrind client request support for aarch64

  [ Andrew Kelley ]
  * LLVM: add valgrind integration for x86 and aarch64

  [ Guillaume Wenzek ]
  * compute LLVMTypes in ParamTypeIterator (#13592)

  [ Veikka Tuominen ]
  * translate-c: cast unsuffixed floats to f64
  * Type: make `hasRuntimeBitsAdvanced` take `AbiAlignmentAdvancedStrat`
  * Sema: allow coercing typed undefined to int
  * Sema: handle `opt_payload` in `beginComptimePtrLoad`
  * Module: fix `fieldSrcLoc` for generated types
  * Sema: fix type check in `zirIntToPtr`
  * print_air: print ty_pl type
  * Sema: prioritize Value.variable over OPV when resolving const value
  * Module: fix compile error for non-comptime-known global initializer
  * Sema: fix missing error on mismatched array init count
  * llvm: use alignment of ABI return type when it differs from raw return type
  * llvm: aarch64 C ABI: pass byref params as mutable pointers
  * Sema: fix memory management of missing field error
  * llvm: add attributes to the arguments of function pointer calls
  * cli: warn about using `--debug-compile-errors` on a release build

  [ Andrew Kelley ]
  * fix CPU model detection for neoverse_n1 on aarch64-linux

  [ David Gonzalez Martin ]
  * uefi: Delete unneeded alignment and use default 4K

  [ Frank Denis ]
  * Add the POLYVAL universal hash function

  [ joachimschmidt557 ]
  * stage2 ARM: misc fixes

  [ Igor Anić ]
  * stdlib: Thread.Condition wake only if signaled

  [ Devin Singh ]
  * compiler_rt: add outlined lse atomics for aarch64

  [ Andrew Kelley ]
  * simplify outline atomics
  * outline atomics: ret instead of jump to ret
  * rename lse_atomics.zig to aarch64_outline_atomics.zig
  * CI: aarch64-linux: support older cmake
  * CI: test in the ci branch for now
  * CMake: choose native CPU instead of baseline by default
  * CI: start moving tarball generation to github actions
  * CI: switch to GitHub Actions
  * CI: fix wrong tarball name for aarch64-linux
  * disable failing arm-linux non-llvm backend tests
  * CI: build from old zig on x86_64-linux debug
  * CI: fix wrong lib dir path
  * CI: fix wrong directory paths
  * CI: add missing backslash

  [ Cody Tapscott ]
  * AstGen: Pop error trace for `continue`

  [ Jakub Konka ]
  * value: account for undef value for ptr in slice in hashUncoerced

  [ Frank Denis ]
  * std.crypto.auth: add AEGIS MAC (#13607)

  [ Andrew Kelley ]
  * disable failing C ABI test

  [ Loris Cro ]
  * ci: move tarball creation and publishing to github-hosted runners
  * ci: use test a job to provide ZIG_VERSION to build-tarball job

  [ Andrew Kelley ]
  * CI: disable building tarballs; x86 self-hosted

  [ Veikka Tuominen ]
  * llvm: fix x86_64 sysV ABI of big vectors on avx512 enabled CPUs

  [ Andrew Kelley ]
  * CI: disable building docs on x86_64-linux debug

  [ Loris Cro ]
  * ci: only run CI on pull requests and master branch pushes

  [ Andrew Kelley ]
  * CI: fix wrong path name in x86_64-linux release script
  * Cache: introduce prefixes to manifests
  * std.fs.path.resolve: eliminate getcwd() syscall
  * Compilation: avoid Cache hash dependency on zig lib path
  * CLI: resolve zig lib directory before using it
  * CI: use consistent relative/absolute paths for zig test commands
  * zig.h: avoid binary literals
  * C backend: implement vector reduce and overflow intrinsics

  [ Veikka Tuominen ]
  * parser: allow unnamed fields in structs
  * AstGen: implement tuple declarations
  * Sema: implement tuple declarations
  * std.zig.Ast: simplify usage of tuple_like container fields

  [ Robin Voetter ]
  * spirv: assembler
  * adapt update_spriv_features to changed std pattern
  * fmt

  [ Andrew Kelley ]
  * work around stage1 compile error

  [ Jimmi Holst Christensen ]
  * Get panic messages from builtin instead of creating anon decls

  [ Veikka Tuominen ]
  * add tests for tuple declarations
  * Sema: improve compile error for tuple coercion mismatch

  [ Loris Cro ]
  * ci: fix zig executable path to obtain zig version
  * ci: cancel pending CI jobs when a PR gets updated

  [ Frank Denis ]
  * std.crypto.ed25519 incremental signatures: hash the fallback noise (#13643)

  [ Loris Cro ]
  * ci: remove gh action job output as it's not used anymore

  [ sv99 ]
  * add arm-features.h from glibc source (#12346)

  [ Loris Cro ]
  * ci: windows: add missing check to last test
  * ci: introduce support for manual runs on specific commit & targets
  * ci: fix syntax error in workflow file
  * ci: when running the workflow manually, preserve newer ci folder
  * ci: windows: use correct windows powershell syntax
  * ci: windows: prevent `del` errors when the directory doesn't exist
  * ci: give name to manually run workflows
  * ci: windows: unshallow repository before checking specific commit
  * ci: windows: fetch before checking out specific commit
  * ci: remove manual run feature

  [ Veikka Tuominen ]
  * Sema: fix overflow arithmetic with runtime vectors
  * Sema: resolve requires_comptime as part of resolveTypeLayout
  * Sema: handle anytype parameter requiring comptime
  * Sema: resolve union fields before using getTagType
  * Sema: pass c_import_buf to child block in more places
  * Sema: correctly detect union target in `zirSwitchBlock`

  [ Matt Chudleigh ]
  * Bug fix: Prevent uninitialized parse nodes

  [ kcbanner ]
  * test-link: add -Denable-symlinks-windows to opt-in to using symlinks

  [ Cody Tapscott ]
  * std.os: Fix std.os.chdir for WASI

  [ Andrew Kelley ]
  * disable spuriously failing std lib test case

  [ kcbanner ]
  * 'fmt'

  [ Andrew Kelley ]
  * CI: move some stuff to the website repo

  [ Igor Anić ]
  * stdlib: remove flaky test

  [ bfredl ]
  * linux.bpf: expose map_get_next_key

  [ Jimmi Holst Christensen ]
  * Use a slice for InstMap instead of std.HashMap

  [ Frank Denis ]
  * std.crypto.edwards25519: add a rejectLowOrder() function (#13668)

  [ Andrew Kelley ]
  * CLI: more careful resolution of paths

  [ notcancername ]
  * document std.heap.StackFallbackAllocator

  [ Jacob Young ]
  * std.big.int.Mutable: fix set(@as(DoubleLimb, 0))

  [ Jakub Konka ]
  * windows: add processor feature enumeration
  * windows: add zig impl of IsProcessorFeaturePresent syscall
  * windows: add missing enum values for ProcessorFeatures enumeration
  * windows: detect native CPU features for aarch64 SoCs
  * windows: detect couple more aarch64 CPU features
  * windows: impl some primitives for getting registry keys
  * windows: use RtlQueryRegistryValues to query reg in a single syscall
  * windows: implement simplistic CPU model parser
  * windows: revert changes to definition of HKEY
  * windows: fix logic for pulling info for each core
  * windows: make registry helper generic over value types
  * windows: drive the registry helper with actual value set for reg entries
  * windows: pull QWORD and SZ identifiers from registry in one syscall
  * arm: move cpu model table into system/arm.zig
  * windows: fix signature of kernel32.RegOpenKeyExW to use *HKEY

  [ zooster ]
  * std.Thread.Futex.PosixImpl.Address.from: fix `alignment` type

  [ Ryan Liptak ]
  * os.windows.OpenFile: Add `USER_MAPPED_FILE` as a possible error

  [ Frank Denis ]
  * Update wasi-libc to a00bf321eeeca836ee2a0d2d25aeb8524107b8cc (#13626)

  [ Veikka Tuominen ]
  * llvm: improve emitted debug info

  [ Jakub Konka ]
  * Update build.zig
  * aarch64-windows: skip failing align behavior test
  * aarch64-windows: skip failing floatop behavior test
  * aarch64-windows: skip failing standalone tests

  [ Veikka Tuominen ]
  * parser: disallow defer and variable declaration as else branch
  * llvm: implement `union_init` for packed unions
  * Sema: improve panic for slice start index being greater than end index

  [ Jakub Konka ]
  * windows: if detecting CPU feature set and model fails, use generic with overrides
  * windows: map CP 40xx registry values to system ID registers
  * arm: implement CPU feature detection by parsing system registers

  [ Veikka Tuominen ]
  * Sema: improve safety panic for access of inactive union field
  * Sema: explain why parameter must be declared comptime
  * Sema: add option to disable formatted panics
  * AstGen: unstack block scope when creating opaque type
  * Sema: make non-existent field error point to field name
  * Sema: add missing failWithBadMemberAccess to zirExport

  [ Loris Cro ]
  * ci: add markers for collapsing log sections in GH web UI
  * Revert "ci: add markers for collapsing log sections in GH web UI"

  [ Jakub Konka ]
  * libstd: skip problematic tests on aarch64-windows

  [ Andrew Kelley ]
  * LLVM: fix canElideLoad behavior with loops
  * std.mem.Allocator: allow shrink to fail
  * stage2: fix crash on comptime lazy `@ctz` and `@clz`
  * std.heap: extract PageAllocator, WasmPageAllocator
  * introduce std.heap.WasmAllocator
  * std.heap.WasmAllocator: large allocations
  * std.heap.WasmAllocator: resize in place without force shrinking
  * std.heap.WasmAllocator: implement resizing
  * std.heap.WasmAllocator: redo
  * rename a couple variables
  * WasmAllocator: simplify thanks to new Allocator interface

  [ Veikka Tuominen ]
  * cbe: ensure test and tagName function names are unique
  * Sema: make inferred allocs always mutable
  * cbe: cast pointer switch target to int
  * cbe: operand of address of operator must be an lvalue
  * cbe: correctly handle pointers to zero bit error union payloads
  * cbe: implement packed unions
  * cbe: include hash in tuple type name
  * cbe: prevent access of inactive union field in unimplemented instructions
  * cbe: fix asm return values
  * AstGen: fix incorrect handling of source cursor with shift builtins
  * cbe: reduce amount of temporary locals
  * cbe: do not memcpy identical integer types when bitcasting
  * cbe: write more instructions inline
  * compiler-rt: disable some exports for ofmt=c

  [ Luuk de Gram ]
  * wasm: add support packed structs in lowerConstant
  * wasm: Support bitcasting between floats and ints
  * wasm: airStructFieldVal - Support packed structs
  * wasm: airStructFieldPtr - Support packed structs
  * wasm: support passing packed struct over C-ABI
  * wasm: airAggregateInit - Support packed structs
  * wasm: support non-natural alignment in load/store
  * wasm: Fix pointer to field of packed struct
  * codegen: support generating packed structs

  [ Veikka Tuominen ]
  * Sema: print line column and path when using `--debug-compile-errors`
  * CLI: allow using `--debug-compile-errors` with `zig build`
  * llvm: make debuggers actually usable

  [ Andrew Kelley ]
  * std.os.windows.ReadLink: add missing alignment of local data buffer

  [ Luuk de Gram ]
  * wasm: enable behavior tests for packed structs

  [ GethDW ]
  * std.build.Builder: fix for Allocator changes

  [ Andrew Kelley ]
  * std.build: simpler fix to options implementation
  * add test coverage for zig build CLI and options API
  * std.os.test: disable flaky timerfd test
  * std.ArrayList: fix shrinkAndFree

  [ Jacob Young ]
  * zig.h: fix disastrous typo

  [ Ryan Liptak ]
  * std.testing: Add expectEqualBytes that outputs hexdumps with diffs highlighted in red

  [ Takeshi Yoneda ]
  * wasi: fixes IterableDir.nextWasi for large directory

  [ Ryan Liptak ]
  * std.testing: Improve expectEqualBytes for large inputs and make expectEqualSlices use it

  [ Andrew Kelley ]
  * CI: add aarch64-linux-debug job and flatten dirs
  * langref: acknowledge design flaw in the self-hosted compiler

  [ Veikka Tuominen ]
  * Value: fix elemValueAdvanced for optional payloads
  * cbe: disable failing behavior test on aarch64
  * add workaround for compiler bug

  [ Jakub Konka ]
  * dwarf: extract common logic for generating func arg dbg info
  * dwarf: update arm and riscv codegens to the new model
  * dwarf: extract common logic for generating func var dbg info
  * codegen: make LinkerLoad a common struct shared by backends
  * dwarf: fix typos after refactoring dbi gen
  * dwarf: refactor arm and riscv64 to the new scheme
  * dwarf: move Wasm specific dwarf gen out of codegen

  [ Andrew Kelley ]
  * langref: eliminate dependencies on stage1
  * zig cc: detect -z stack-size arguments
  * CBE: eliminate zig_void

  [ Jakub Konka ]
  * dwarf: use common DI union object for arg and var gen
  * x86: do not deref ptr type, let Dwart do it
  * dwarf: pass linker Tag and owner Decl.Index instead of *Atom

  [ Veikka Tuominen ]
  * AstGen: improve error message for missing parameter name
  * Sema: add error for failed assumption about struct having runtime bits

  [ Jakub Konka ]
  * windows: use array of tmp bufs as backing store for input memory to ntdll

  [ Veikka Tuominen ]
  * Sema: do not forcibly canonicalize unresolved pointer element type
  * Sema: fix comparisons between lazy and runtime values
  * AstGen: add error for invalid string comparisons

  [ Andrew Kelley ]
  * CI: update tarballs to 0.11.0-dev.448+e6e459e9e
  * CBE: use a 0 literal instead of `error.@"(no error)"`

  [ Veikka Tuominen ]
  * Sema: improve error for mismatched type in implicit return
  * add test for error message improved by self-hosted
  * Sema: add "parameter type declared here" note to type coercion

  [ Andrew Kelley ]
  * CBE: use bool, true, false, instead of `zig_` prefixes

  [ Jacob Young ]
  * cbe: use memcpy for underaligned loads and stores
  * cbe: add support for constraint modifiers specified after a colon

  [ Andrew Kelley ]
  * print_air: print Liveness info for switch_br
  * CBE: no braces when lowering block instruction

  [ Jacob Young ]
  * cbe: fix named constraints without modifiers
  * cbe: don't emit extern decls that are already exported
  * cbe: implement multiple exports of a symbols
  * cbe: fix zero-bit struct field pointer
  * cbe: implement function alignment
  * cbe: add forward declarations for optionals and error unions

  [ r00ster91 ]
  * Sema: detect duplicate enum tag values

  [ Gregory Oakes ]
  * std: add a special case for empty structs in meta.FieldEnum.

  [ Jakub Konka ]
  * dsym: make sure DWARF segment comes before LINKEDIT
  * dsym: rename updateLinkeditSegment to finalizeDwarfSegment
  * dsym: add helper for accessing dwarf seg pointer
  * dsym: refactor API - do not store ptr to MachO
  * dsym+dwarf: remove copyRangeAllOverlappingAlloc
  * dsym: recalculate DWARF segment size when finalizing
  * dsym: dummy repush to check the linux CI

  [ Andrew Kelley ]
  * CI: use cache directories local to the CI run
  * Revert "cbe: write more instructions inline"
  * Revert "cbe: reduce amount of temporary locals"
  * std: add move() functions to hash maps
  * wasm codegen: fix some missing Liveness reaps
  * CBE: exploit Liveness analysis to reuse locals
  * CBE: take advantage of switch_br and cond_br liveness
  * CBE: fix clone of freed locals not being deep clone
  * CBE: fix assignment expr and switch free tracking
  * CBE: fix use-after-free of Type keys in free_locals map
  * CBE: avoid curly inits because they don't work in assignments
  * CBE: fix static allocs being double allocated
  * CBE: fix various regressions caught by behavior tests
  * CBE and LLVM: handle unused try instructions
  * CBE: aggregate_init: resolve all operands before processing Liveness
  * CBE: fix union init wrong field name
  * CBE: remove stray comment
  * CBE: fix liveness issue with wrapping optionals
  * disable CBE behavior tests that are not passing in release modes

  [ Jacob Young ]
  * CBE: defer invariant local reuse in loops
  * CBE: revert broken change that got missed

  [ Frank Denis ]
  * std.crypto benchmark: don't use a relative path to import std (#13772)

  [ Martin Wickham ]
  * Allow const ArrayLists to be cloned

  [ Jakub Konka ]
  * dwarf: reuse getDbgInfoAtom helper in all of Dwarf.zig

  [ nc ]
  * std.atomic.Queue: fix unget implementation and add doc

  [ Pyrolistical ]
  * std: added pure functions to StaticBitSet The following functions were added to both IntegerBitSet and ArrayBitSet: fn eql(self: Self, other: Self) bool fn subsetOf(self: Self, other: Self) bool fn supersetOf(self: Self, other: Self) bool fn complement(self: Self) Self fn unionWith(self: Self, other: Self) Self fn intersectWith(self: Self, other: Self) Self fn xorWith(self: Self, other: Self) Self fn differenceWith(self: Self, other: Self) Self

  [ Jason Phan ]
  * std.fmt.formatInt: Use an optimized path for decimals

  [ Jakub Konka ]
  * dwarf: pull out debug line program internals into DeclState helpers

  [ Andrew Kelley ]
  * CI: adjust logic for cancelling workflows

  [ Frank Denis ]
  * treshold -> threshold

  [ Andrew Kelley ]
  * zig cc: support -stack in addition to --stack for linker arg
  * compiler_rt: avoid using weak aliases
  * delete rogue file
  * delete another rogue file

  [ Frank Denis ]
  * wasi-libc: define BULK_MEMORY_THRESHOLD for the bulk_memory feature (#13787)

  [ Andrew Kelley ]
  * zig cc: fix wrong flag name from earlier commit
  * Sema: resolve elem type for non-default aligned ptrs

  [ Pyrolistical ]
  * std: added eql to DynamicBitSet and DynamicBitSetUnmanaged

  [ Andrew Kelley ]
  * remove `-fstage1` option
  * build: introduce -Dwasi-bootstrap option
  * std.fs: fix openDirAbsolute
  * actually remove stage1
  * build.zig: add bulk_memory to -Dwasi-bootstrap
  * WASI: remove absolute path emulation from std lib
  * allow `build-obj` and `build-exe` in -Donly-c builds
  * std: clean up imports in a couple files
  * std.wasm: add Opcode.prefixed and make PrefixedOpcode nonexhaustive
  * stage2: make --color override apply to std.Progress
  * stage2: take advantage of the new WasmAllocator
  * redo CMakeLists.txt to use WASI interpreter
  * interpret the WASI blob to produce zig2.c and compiler_rt.c
  * add zstd v1.5.2
  * zig1.c: decompress zig1.wasm.zst with zstd
  * enable the LLVM backend in stage2
  * zig1.c: autodetect host target triple
  * CMake: use -O1 instead of -O2 for building generated .c code

  [ Matt Knight ]
  * Some fixes for the wasi interpreter for macOS (#13587)

  [ Andrew Kelley ]
  * update zig1.c to latest zig-wasi
  * fix merge conflicts from master branch

  [ Jacob Young ]
  * std.fmt: more descriptive names for impl functions

  [ Andrew Kelley ]
  * CMake: no optimization for zig1.c and zig2.c
  * Sema: queue type resolution for result of `@fieldParentPtr`
  * CI: make Windows build from source like everybody else
  * zig1.c: remove executable bit
  * CMake: rebuild when the wasm blob changes
  * build: remove -Dwasi-bootstrap; add update-zig1 step
  * CMake: use ReleaseSmall instead of ReleaseFast

  [ Jacob Young ]
  * use zig-wasm2c for bootstrapping
  * wasi: implement file truncation

  [ Andrew Kelley ]
  * CMake adjustments
  * CMake: add the bracket-depth workaround for zig1

  [ Jacob Young ]
  * wasm2c: avoid aliasing issues on memory access
  * CBE: fix bad local reuse for volatile memset
  * cmake: fix host target detection
  * test: remove reference to stage1
  * cmake: fix stack size linker argument on mac
  * wasm2c: remove unnecessary brackets to reduce max bracket depth
  * zig.h: fix shift ub for a shlo by 0
  * cc: remove argument parsing from only-c builds
  * zig.h: fix shlo breakage on smaller bitwidths

  [ Andrew Kelley ]
  * CMake: remove --color on
  * translate-c: remove stage1 conditions from tests
  * translate-c: fix wrong logic adjustment
  * std: fix WASI regressions
  * CMake: adjust apple clang compiler check
  * stage2: revert change to handling of --color on

  [ Jacob Young ]
  * wasm2c: support memory.copy with overlapping buffers
  * zig.h: avoid using _Float16 when __builtin_inff16 isn't available

  [ Andrew Kelley ]
  * add std.heap.wasm_allocator
  * langref: update WASI preopens example
  * zig.h: fix f16 has builtin check
  * CMake: remove --color on for compiler_rt too
  * CI: use a patched tarball

  [ Jacob Young ]
  * cmake: fix bootstrap dependencies
  * wasi: add support for windows paths

  [ Andrew Kelley ]
  * CI: update tarballs
  * CI: don't pass -Denable-stage1 when building stage4
  * CI: aarch64-macos tarball patch

  [ Jacob Young ]
  * compiler_rt: don't use the llvm windows v2u64 abi with the C backend
  * CBE: add windows-specific reserved identifiers
  * wasm2c: improve amortized speed of memory.grow
  * CBE: avoid trailing space
  * compiler_rt: remove stack probe functions from c builds
  * cmake: disable stack protector for zig2 to avoid link errors on windows

  [ Andrew Kelley ]
  * CI: revert windows script to master branch version
  * add zig1.wasm.zst
  * CLI: quality of life enhancement for windows CBE behavior tests

  [ Frank Denis ]
  * std.crypto.aes: use software implementation in comptime context (#13792)
  * Update wasi-libc to 8b7148f69ae241a2749b3defe4606da8143b72e0 (#13793)

  [ Andrew Kelley ]
  * add behavior test for while(true) not needing else unreachable
  * remove references to stage1 in behavior tests
  * remove most conditional compilation based on stage1

  [ Frank Denis ]
  * Revert "std.crypto.aes: use software implementation in comptime context (#13792)" (#13798)

  [ Casey Banner ]
  * cache: Fix LockViolation during C compilation paths (#13591)

  [ Jacob Young ]
  * Revert "CI: revert windows script to master branch version"

  [ Andrew Kelley ]
  * build: obtain zigcpp library prefix/suffix from cmake
  * disable failing behavior tests with -ofmt=c -target x86_64-windows

  [ Veikka Tuominen ]
  * AstGen: make `@compileError` operand implicitly comptime
  * Sema: export function instead of the constant referencing it
  * Sema: add error for `@tagName` on empty enum
  * Sema: resolve lazy values in analyzeMinMax
  * compiler-rt: do not export complex arithmetic on ofmt=c

  [ r00ster91 ]
  * std.ComptimeStringMap: use tuple types

  [ Veikka Tuominen ]
  * TypedValue.print: detect string literals
  * remove stage1 specific compile error tests

  [ Andrew Kelley ]
  * build.zig: on windows always link llvm-required system libs
  * CI: windows: fix zig lib dir path

  [ Veikka Tuominen ]
  * tokenizer: detect null bytes before EOF

  [ Andrew Kelley ]
  * CI: test updating the wasm binary

  [ Veikka Tuominen ]
  * Sema: check for uneeded src loc when using `--debug-compile-errors`

  [ Andrew Kelley ]
  * Revert "std.ComptimeStringMap: use tuple types"

  [ r00ster91 ]
  * Re-apply: "std.ComptimeStringMap: use tuple types"

  [ Veikka Tuominen ]
  * TypedValue: fix handling of tuples represented as empty_struct_value

  [ Jakub Konka ]
  * dwarf: specify all referenced zig source files
  * dwarf: track source files via *const Module.File pointers
  * dwarf: fully resolve each path to each file source
  * dwarf: generate list of include dirs and file names like LLVM backend
  * dwarf: refactor routine for precalculating size of dbg line header
  * dwarf: fix incorrect calc of dir index
  * dwarf: refactor object file format and ptr width switches in writeDbgLineHeader
  * dwarf: move SrcFns if debug_line header exceeded its padding
  * dwarf+d_sym: move logic for growing section to d_sym
  * macho: add helper for getting ptr to DebugSymbols
  * dwarf: move another sect growing routine to d_sym
  * dwarf: move growing debug_abbrev section to dsym
  * dsym: finish markDirty helper
  * dwarf: move growing debug_aranges section to dsym
  * dwarf: move any remaining section growth to dsym
  * dsym: reuse growSection where possible
  * elf: add growAllocSection and growNonAllocSection
  * elf: hint linker when file range copy is not necessary
  * dsym: hint linker when file range copy is not necessary
  * wasm: implement moving debug_line program when header too big

  [ Jacob Young ]
  * wasm2c: reuse locals

  [ Ryan Liptak ]
  * std.testing: Fully absorb expectEqualBytes into expectEqualSlices

  [ Jakub Konka ]
  * llvm: resolve all relative paths when creating DIFiles
  * dwarf: resolve all relative paths when generating include_dirs and file_names lists
  * Revert "coff: specify default base path for relative source paths in pdb"

  [ Manlio Perillo ]
  * langref: link "result location" to the "Result Location Semantics" section
  * langref: consistently use comptime-known and runtime-known

  [ Frank Denis ]
  * Improve and remove duplicate doNotOptimizeAway() implementations (#13790)

  [ Evin Yulo ]
  * langref: update anonymous struct naming

  [ Jacob Young ]
  * zig.h: fix and add builtin fallbacks

  [ Jakub Konka ]
  * macho+zld: skip atomless synthetic globals in dead_strip

  [ r00ster91 ]
  * api(std.ascii): remove deprecated decls
  * docs: minor improvements
  * fix(perf): remove LUT
  * isHex, isAlphanumeric: prong reorder
  * std.ascii: more tests
  * DepTokenizer.printUnderstandableChar: consider space printable
  * std.fmt escape functions: reflect printability of space in test

  [ h57624paen ]
  * fix building wasm2c output with msvc

  [ Veikka Tuominen ]
  * AstGen: add check for missing builtin argument
  * Eliminate `BoundFn` type from the language

  [ Andrew Kelley ]
  * remove the zstd mechanism from the build process

  [ Veikka Tuominen ]
  * replace zig1.wasm to the removal of BoundFn

  [ Andrew Kelley ]
  * fix aarch64-windows-gnu libc

  [ Evin Yulo ]
  * Remove unneeded `else unreachable` in docgen.zig

  [ r00ster91 ]
  * behavior: add test coverage for slicing zero length array field of struct
  * aarch64: reenable tests that are no longer regressed
  * behavior and langref: reenable previously-regressed tests on aarch64 and powerpc64le
  * behavior: add test coverage for previous i128 regression on aarch64
  * behavior: add test coverage for corrupted slice in release
  * behavior: add test coverage for slice and array-related issues
  * behavior and cases: more test coverage for old issues

  [ Manlio Perillo ]
  * langref: remove HTML code from a shell node

  [ Koakuma ]
  * stage2: sparc64: Implement get/setUnionTag
  * stage2: sparc64: Implement airErrorName
  * stage2: sparc64: Implement airUnionInit
  * stage2: sparc64: Implement airSplat
  * stage2: sparc64: Implement airTrunc
  * stage2: sparc64: Add extra note about stack_offset MCV
  * stage2: sparc64: Implement airWrapErrUnionPayload
  * stage2: sparc64: Implement stack argument
  * stage2: sparc64: Implement atomic ops
  * stage2: sparc64: Log generated function name for debug purposes

  [ Jacob Young ]
  * CBE: fix compiling for aarch64-windows

  [ Koakuma ]
  * stage2: sparc64: Add more types for genTypedValue
  * stage2: sparc64: Implement airBitReverse
  * stage2: sparc64: Implement airMinMax
  * stage2: sparc64: Skip unimplemented tests

  [ Josh ]
  * fix doc comments in bitset types

  [ Andrew Kelley ]
  * Compilation: revert asking for exclusive locks on cache hits

  [ Jakub Konka ]
  * child_process: add ability to start child suspended on macOS
  * darwin: expose ptrace with errno handling
  * mix_c_files: skip build modes on aarch64-windows due to bug
  * compiler_c test: skip build modes on aarch64-windows

  [ Andrew Kelley ]
  * disable failing CBE behavior tests failing on aarch64-windows
  * CI: add aarch64-windows coverage
  * CMake: add workaround for CMAKE_AR not supporting spaces
  * CMake: fix aarch64-windows target detection
  * update zig1.wasm

  [ Takeshi Yoneda ]
  * wasi: fixes os.isatty on type mismatch (#13813)

  [ Ronald Chen ]
  * std: added pure fns to EnumSet

  [ Jakub Konka ]
  * Remove incorrect assertion in readMachODebugInfo panicking during panic

  [ Der Teufel ]
  * autodoc: Removed BoundFn from indexTypeKinds in main.js

  [ Jakub Konka ]
  * darwin: wrap allocating and deallocating mach ports for a task

  [ Mikael Berthe ]
  * std: Update ArrayList documentation

  [ Pyrolistical ]
  * std: add EnumMultiSet

  [ Jakub Konka ]
  * darwin: wrap mach_port_insert_right kernel call

  [ IntegratedQuantum ]
  * Add a helpful note when using `**` on number types. (#13871)

  [ Andrew Kelley ]
  * std.build: extract steps to separate files
  * std.build.OptionsStep: fix regressed tests
  * std: fix compile error bitrot
  * std.build.InstallRawStep: fix compilation on wasm32-wasi
  * disable failing windows std lib tests

  [ Lee Cannon ]
  * update TracyAllocator for new Allocator changes

  [ Coin ]
  * Revert "mix_c_files: skip build modes on aarch64-windows due to bug"
  * Revert "compiler_c test: skip build modes on aarch64-windows"

  [ Jakub Konka ]
  * darwin: add defs and funcs for Mach exception handling

  [ Ronald Chen ]
  * std: implement subsetOf and supersetOf for DynamicBitSet
  * std: implement subsetOf and supersetOf for EnumMultiset
  * std: added std.mem.window

  [ Jan Philipp Hafer ]
  * std.os.linux: fix timerfd test

  [ yujiri8 ]
  * zig fmt: remove c_void -> anyopaque rewrite

  [ Luuk de Gram ]
  * std: Add Wasm SIMD opcodes and value type
  * wasm: load+store simd immediate values
  * codegen: implement generating vector values
  * wasm: implement the 'splat' instruction part 1
  * wasm: `splat` for vector elements divisible by 8
  * wasm: enable passing vector tests

  [ Jakub Konka ]
  * darwin: add more defs and wrappers

  [ fsh ]
  * std: fix bug in Pcg32 fill function (#13894)

  [ Manlio Perillo ]
  * langref: improve the defer section

  [ Tom Maenan Read Cutting ]
  * Add 0-length buffer checks to os.read & os.write

  [ Cody Tapscott ]
  * stage2: Teach Liveness that safety checks do not modify memory

  [ gettsu ]
  * langref: avoid use of the term "enum variant" in enums.zig (#13847)

  [ Andrew Kelley ]
  * CI: override cache folders on aarch64-windows

  [ r00ster91 ]
  * fix(terminal): handle some possible errors and resolve TODOs
  * cleanup: inline color constants
  * std.debug: use OpenSelfDebugInfoError

  [ Jakub Konka ]
  * darwin: wrap task_threads mach syscall

  [ Veikka Tuominen ]
  * remove `stack` option from `@call`
  * update usages of `@call`
  * update zig1.wasm to `@call` changes

  [ Meghan ]
  * re-enable "signed zeros are represented properly" beahvior tests for f80 and c_longdouble

  [ Jakub Konka ]
  * darwin: add thread_act_t wrapper and helpers
  * darwin: add ability to dealloc obtained thread list for a task

  [ Luuk de Gram ]
  * wasm-linker: Create separate path for one-shot

  [ Frechdachs ]
  * std: Fix update() method in PriorityQueue and PriorityDequeue (#13908)

  [ Manlio Perillo ]
  * langref: update comments in the slices.zig doctest (#13819)
  * langref: fix the slice_bounds.zig doctest
  * langref: improve the test_fn_reflection.zig doctest
  * langref: add missing ReleaseSmall when describing unreachable (#13909)
  * langref: remove the trailing slash from the link element

  [ Ganesan Rajagopal ]
  * Allocator.zig: minor fixes

  [ Meghan ]
  * std: add object format extension for dxcontainer

  [ Manlio Perillo ]
  * langref: document extern variadic functions

  [ Evin Yulo ]
  * Improve tagged union documentation

  [ Jonathan Marler ]
  * add std.mem.reverseIterator

  [ Andrew Kelley ]
  * add `zig objcopy` subcommand

  [ Jakub Konka ]
  * darwin: add even more wrappers for Mach syscalls

  [ jackji ]
  * expose VcpkgRoot so that build script can call exe.addVcpkgPath

  [ IntegratedQuantum ]
  * Fix tautological big_int tests.

  [ Veikka Tuominen ]
  * move stage2 compile errors out of special folder
  * move async compile errors into their own folder
  * Sema: implement missing stage1 errors
  * remove no longer relevant stage1 compile errors
  * Sema: fix memory management of union enum tag int tag
  * Sema: avoid analyzing functions which failed when inlining
  * Sema: display cimport errors from clang
  * parser: fix usage of incorrect error tag

  [ Luuk de Gram ]
  * wasm-linker: Export data symbols as global

  [ Andrew Kelley ]
  * std: remove OOM workarounds

  [ Philippe Pittoli ]
  * std.fs.Dir.statFile: use fstatat

  [ Andrew Kelley ]
  * std.fs.Dir.statFile rework
  * std.c.fstatat64: add noalias attributes
  * std: remove a solved TODO comment
  * stage2: remove `pub` from a private function
  * CI: fix path to langref when running tidy
  * glibc: avoid poisoning the cache namespace with zig lib dir

  [ Ryan Liptak ]
  * ArrayList.toOwnedSlice: Fix potential for leaks when using errdefer

  [ Felix "xq" Queißner ]
  * Implements std.heap.MemoryPool and friends.

  [ Ryan Liptak ]
  * std.debug.TTY: Fix colors not resetting on Windows

  [ Stevie Hryciw ]
  * std: add CompareOperator.reverse
  * test: observe and check note count in error output
  * Sema: elide integer comparisons with guaranteed outcomes
  * Resolve lazy value before comparing

  [ Felix "xq" Queißner ]
  * Improves the comment formatting.

  [ Ryan Liptak ]
  * std.compress: Improve tests, remove reliance on openDirAbsolute

  [ Ivan Velickovic ]
  * std.leb128: Re-enable test for riscv64

  [ Luuk de Gram ]
  * wasm-linker: Fix debug info relocations

  [ Meghan ]
  * std: make builtin.Type.{Int,Float}.bits a u16 instead of comptime_int

  [ Andrew Kelley ]
  * std.debug: disable sporadically failing test

  [ Jakub Konka ]
  * macho: dedup LC emitting logic
  * macho: calculate UUID as a streaming MD5 hash of the file contents
  * macho: generalize parallel hasher; impl parallel MD5-like hash
  * macho: do not assume exe or dylib when flushing module

  [ r00ster91 ]
  * compiler_rt: no longer skip f80 conversion test
  * compiler_rt: remove stage1 switch case
  * compiler_rt: remove workaround for past LLVM optimizer bug

  [ Veikka Tuominen ]
  * port packed vector elem ptr logic from stage1

  [ Travis Staloch ]
  * codegen - lower str_lit to vector

  [ Motiejus Jakštys ]
  * Elf: switch link order of libcompiler_rt and libc

  [ Ganesan Rajagopal ]
  * c.zig: Add definition for pthread_key_t

  [ Evin Yulo ]
  * Add test for #12571
  * Add test for #13366

  [ Jakub Konka ]
  * macho: generate stabs last to aid in deterministic uuid calculation
  * macho: store LC headers to often updated LINKEDIT sections
  * macho: calculate UUID excluding stabs and part of contributing strtab
  * macho: exclude linkedit and symtab/dysymtab load commands from the uuid calc
  * macho: exclude all content of the binary that could cause non-deterministic UUID
  * macho: remove temp debugging routines
  * macho: RingBuffer experiment to crack down the bug
  * macho: move parallel file hashing back to CodeSignature
  * enable testing for stage3 and stage4 being byte-for-byte identical
  * macho: fix 32bit build
  * macho: identifier string in code signature should be just basename

  [ Luuk de Gram ]
  * wasm-linker: Fix archive symbols parsing

  [ Jakub Konka ]
  * macho: add uuid link test

  [ zooster ]
  * std.meta: remove bitCount

  [ yujiri8 ]
  * zig fmt: fix extra whitespace with multiline strings

  [ Jakub Konka ]
  * link-tests: force cross-comp to exclude host differences

  [ Ryan Liptak ]
  * ChildProcess.spawnWindows: Fix PATH search when the ext is in the command
  * ChildProcess.spawnWindows: Drastically reduce the amount of allocation during FileNotFound recovery

  [ Steven Kabbes ]
  * std.IndexedSet.iterator: allow iteration on const EnumSet

  [ Veikka Tuominen ]
  * Sema: make is_non_{null,err} stricter about types
  * Type: fix incorrect usage of `hasRuntimeBits`
  * implement defining C variadic functions

  [ Ryan Liptak ]
  * Add error.InvalidExe to CreateProcessW error set and handle it in ChildProcess.spawnWindows
  * spawnWindows: If an exe is found but fails to exec, retry with PATHEXT values appended
  * spawnWindows: Don't search PATH if app path is absolute

  [ r00ster91 ]
  * std.builtin: rename Type.Fn.Param's arg_type to type
  * std.builtin: rename Type.Fn's args to params
  * std.builtin: rename Type.UnionField and Type.StructField's field_type to type

  [ Luuk de Gram ]
  * wasm-linker: fix type index relocations

  [ Evin Yulo ]
  * Make std.tz namespace accessible

  [ zooster ]
  * compiler_rt: test clzsi2 on zero on CPUs where possible

  [ Evin Yulo ]
  * langref: remove incorrect use of term 'literal'

  [ Techatrix ]
  * fix potential integer underflow in std.zig.Ast.fullCall

  [ Ryan Liptak ]
  * windows: Extract RtlEqualUnicodeString usage into to a helper function

  [ Jacob Young ]
  * rand: add pub to next/jump
  * llvm: fix lowering pointer to final zero-width field of a comptime value

  [ Ryan Liptak ]
  * windows: Map EXE_MACHINE_TYPE_MISMATCH to InvalidExe
  * spawnWindows: Improve worst-case performance considerably
  * standalone tests: Add windows spawn test

  [ r00ster91 ]
  * std.builtin: remove layout field from Type.Enum

  [ Veikka Tuominen ]
  * update zig1.wasm to builtin.Type field changes

  [ shwqf ]
  * Call ensureResultUsed before comptime .call is evaluated.

  [ Jakub Konka ]
  * Add missing clang opts: -install_name and -undefined

  [ Luuk de Gram ]
  * wasm-linker: Fix relocations for alias'd atoms
  * wasm-linker: Add caching + more into zld path

  [ Andrew Kelley ]
  * Revert "llvm: fix lowering pointer to final zero-width field of a comptime value"
  * update gitattributes and move test data into subdir
  * CI: workaround git bug regarding changed attributes
  * std.compress.deflate: re-enable test on windows
  * add behavior test for comptime pointer casting
  * add behavior test for empty error set inference

  [ Jacob Young ]
  * llvm: fix lowering pointer to final zero-width field of a comptime value
  * llvm: avoid creating an invalid llvm type
  * llvm: fix use of invalid alignment
  * codegen: fix taking the address of a zero-bit field in a zero-bit struct
  * cbe: fix type passed to renderParentPtr

  [ Ryan Liptak ]
  * spawnWindows: Fix PATH searching when cwd is absolute

  [ Veikka Tuominen ]
  * Sema: fix condition for non-pointer noalias error
  * llvm: handle vectors in packed structs

  [ Jacob Young ]
  * behavior: disable failing test

  [ Veikka Tuominen ]
  * value: use int tag type when querying for tag value
  * value: remove `indexVectorlike`
  * Sema: print notes and reference traces when using `--debug-compile-errors`

  [ Luuk de Gram ]
  * wasm-linker: consolidate writing to file

  [ Veikka Tuominen ]
  * Sema: fix coercion from `[:0]T` to `[*c]T`

  [ Manlio Perillo ]
  * langref: add section numbers

  [ Jakub Konka ]
  * macho: add missing defs of compact unwind info records

  [ Veikka Tuominen ]
  * Sema: fix crash with generic function with generic function parameter

  [ travisstaloch ]
  * std.zig: fix integer overflows during parsing

  [ Veikka Tuominen ]
  * llvm: fix C ABI for <=256 bit vectors

  [ Andrew Kelley ]
  * Revert "c.zig: Add definition for pthread_key_t"

  [ zenith391 ]
  * compiler_rt: Remove errdefer in ObjectArray.init

  [ Jacob Young ]
  * CBE: fix bitwise not

  [ Luuk de Gram ]
  * wasm: refactor extended instructions

  [ Ganesan Rajagopal ]
  * Fix missing pthread_key_t definition on linux

  [ r00ster91 ]
  * behavior: more test coverage
  * cases: more test coverage

  [ Andrew Kelley ]
  * Revert "CI: workaround git bug regarding changed attributes"

  [ Ryan Liptak ]
  * Dir.openDirAccessMaskW: Add ACCESS_DENIED as a possible error

  [ Frank Denis ]
  * compiler-rt: implement __udivei4 and __umodei4 (#14023)

  [ Jakub Konka ]
  * macho+zld: write code signature padding before commiting LCs
  * link-tests: add macho strict validation test
  * macho+zld: properly deinit code signature object

  [ travisstaloch ]
  * fix overflow found while fuzzing

  [ Frank Denis ]
  * HKDF allow expansion up to, and including <hash size> * 255 bytes (#14051)

  [ Jacob Young ]
  * behavior: disable tests that trigger an llvm 15 bug and assertion

  [ Kim SHrier ]
  * map lower case amd64 to x86_64

  [ Jacob Young ]
  * Sema: support concat of tuple and array
  * Sema: relax undefined checks for concat
  * CBE: fix emitting a partially undefined string literal
  * behavior: disable tests on failing backends

  [ zooster ]
  * delete empty.zig

  [ Frank Denis ]
  * WebAssembly: do not link with --allow-undefined unconditionally

  [ Jacob Young ]
  * Sema: fix missing struct layout for llvm backend

  [ Matt Knight ]
  * @export() with linksection option (#14035)

  [ Jacob Young ]
  * Sema: fix typo
  * Sema: add missing `resolveLazyValue` cases

  [ Veikka Tuominen ]
  * Sema: fix elem ptr type of vector in slice
  * update grammar in langref
  * Sema: add error for recursive inline call

  [ zooster ]
  * std.Target.ObjectFormat: specify dxcontainer file ext

  [ Jacob Young ]
  * llvm: cleanup code no longer needed with opaque pointers
  * llvm: add asserts and behavior tests for #14063

  [ zooster ]
  * langref: more explicitly document how enum overriding works

  [ Veikka Tuominen ]
  * zig fmt: improve handling of comptime tuple fields
  * Sema: make overflow arithmetic builtins return tuples
  * update uses of overflow arithmetic builtins
  * update zig1.wasm to overflow arithmetic builtin changes

  [ joachimschmidt557 ]
  * stage2 AArch64: unify callee-preserved regs on all targets
  * stage2 AArch64: implement field_parent_ptr

  [ Veikka Tuominen ]
  * value: fix bitcasting packed structs with `u0` fields
  * enable test on more targets

  [ Jakub Konka ]
  * macho: add Zig wrapper for compact unwind encoding on arm64
  * macho+zld: align to 8 and pad out dyld info sections
  * zld: align to 8 and pad out function starts and data in code sections
  * macho+zld: align to 8 and pad out dysymtab
  * macho+zld: align to 8 and pad out strtab
  * link-tests: redo macho strict validation test to match libstuff
  * zld: exclude strtab padding from uuid calculation
  * link-tests: test uuid on x86_64-macos too
  * macho+zld: fix 32bit build

  [ Jeremy Volkman ]
  * Add support for -undefined error
  * Handle -undefined error when passed as linker arg

  [ Eric Joldasov ]
  * cmake: check llvm-config in separate function

  [ Andrew Kelley ]
  * add behavior test for optional error union return type
  * add behavior test for comptime pointer casting
  * add behavior test for ptrcasted function pointers
  * Revert "cmake: check llvm-config in separate function"
  * Revert "aarch64: reenable tests that are no longer regressed"
  * disable failing C var arg behavior tests
  * CI: update x86_64 and aarch64 LLVM tarballs with assertions enabled

  [ Luuk de Gram ]
  * WebAssembly: don't append `--export` for functions
  * compiler-rt: Set the symbol visibility
  * std: remove hack in test step
  * test/link: update linker tests

  [ Andrew Kelley ]
  * disable failing compile errors test

  [ Jacob Young ]
  * link: fix memory leaks

  [ Andrew Kelley ]
  * mingw: add missing vscprintf.c file

  [ Walther Chen ]
  * std: stop using LinearFifo in BufferedReader (#14029)

  [ Andrew Kelley ]
  * powerpc does not have a red zone

  [ joachimschmidt557 ]
  * stage2 AArch64: implement errUnion{Err,Payload} for registers

  [ Veikka Tuominen ]
  * add tests for fixed stage1 bugs
  * AstGen: make type sentinel expressions implicitly comptime
  * Type: fix printing of default alignment on non-byte aligned pointers

  [ IntegratedQuantum ]
  * Replace tabs with spaces when printing a line for trace output.

  [ Jason Phan ]
  * std: Expose Int parameter in std.PackedInt[Array,Slice]

  [ Frank Denis ]
  * hkdf: add prk_length and extractInit()

  [ Andrew Kelley ]
  * std.heap.raw_c_allocator: fix illegal alignment cast

  [ Veikka Tuominen ]
  * fix generic function arg debug info referencing wrong parameter
  * AstGen: fix `dbg_block_end` being inserted before last instruction in block
  * llvm: work around lldb bugs

  [ Manlio Perillo ]
  * parser: ensure the documented grammar matches grammar.y

  [ Brendan Burns ]
  * Fix bug in WASI envmap handling.

  [ Veikka Tuominen ]
  * llvm: do not pad vector element debug types

  [ Manlio Perillo ]
  * x86_64: remove extra whitespace
  * ci: remove extra whitespace

  [ Frank Denis ]
  * sha3: define block_length as the rate, not as the state size (#14132)
  * Happy new year! 🎉 (#14143)

  [ Veikka Tuominen ]
  * add tests for fixed stage1 bugs

  [ Ryan Liptak ]
  * ChildProcess: fix false positives in windowsCreateProcessSupportsExtension

  [ Ganesan Rajagopal ]
  * Fix typo (#14149)

  [ kcbanner ]
  * cbe: first set of changes for msvc compatibility
  * cbe: fixup casting to/from 128 bit int types, as they may not have compiler support
  * cbe: handle msvc struct casting quirk
  * cbe: fixup f80 casting on msvc
  * cbe: handle msvc not supporting long double
  * cbe: msvc compatibility for > 64 bit intcasts and truncating from > 64 to < 64 bit
  * cbe: more msvc fixes
  * cbe: msvc compatible int casting inside renderValue .Packed branch
  * temporarily disable asm tests
  * cbe: nan builtins on msvc, fixup C2099 errors in static initializers
  * cbe: more msvc compatibility work
  * cbe: 32 bit fixup for update-zig1
  * cbe: airNot emits zig_not_ calls for integers
  * cbe: add doNotOptimizeAwayC to handle not having __asm support in msvc
  * compiler_rt: fixup divti3 and fixunshfti
  * cbe: implementing 128 bit math functions for !zig_has_int128
  * cbe: msvc atomics
  * cbe: fix shl/shr
  * cbe: fixup incorrect bits value in 128 bit add/sub
  * cbe: fix msvc cmpxchg implementations
  * tests: update "atomicrmw with ints" to test u8 through u64
  * cbe: implement missing atomic builtings using cmpxchg loops
  * cbe: implement 128 bit atomic operations with cmpxchg loops
  * cbe: special float macros passthrough to builtins if available, but fallback to conversion from repr if not
  * tests: disable function alignment test for cbe, add 128-bit atomicrmw tests
  * cbe: all behaviour tests now pass on msvc
  * cbe: add msvc flt atomics, re-enable test
  * stage1: update zig1.wasm
  * cbe: fixup 64 bit float atomics
  * cbe: fixes for compiling zig2.c under msvc
  * cbe: changes to get zig2.c compiling under msvc

  [ Veikka Tuominen ]
  * Sema: `@intToEnum` on non-exhaustive enum at comptime should check int is in range
  * Sema: prevent spurious "depends on itself" errors

  [ Luuk de Gram ]
  * wasm-linker: support export flags
  * test/link: linker tests for all export cases
  * wasm-linker: improve indirect function table
  * test/link: add test case for function table
  * wasm-linker: check for undefined symbols
  * wasm-linker: export symbols by virtual address
  * test/link: add test case for exporting data syms

  [ kcbanner ]
  * cbe: be more explicit about x86 special cases
  * compiler_rt: skip "__udivei4/__umodei4" on cbe due to missing > 128 bit integer support
  * tests: add more coverage for 128 bit operations
  * cbe: use callconv(.C) for zig.g stub functions, use zig.h function for windows teb instead of syscall
  * cbe: fixup cpuid on non-msvc
  * fmt fixups
  * cbe: fixups for -Wstrict-prototypes
  * skip "binary not 128-bit" on non-llvm
  * skip "truncate to non-power-of-two integers from 128-bit" on non-llvm
  * skip "truncate int128" on wasm
  * skip "atomicrmw with 128-bit ints" on linux x64_64 due to linker error
  * skip "atomicrmw with 128-bit ints" on everything except cbe

  [ Andrew Kelley ]
  * add some comments to explain workarounds
  * avoid testing `inline for` in unrelated behavior tests
  * update zig1.wasm for MSVC compatibility
  * fix behavior test compile error
  * Revert "make a .rsp file for `zig clang`"
  * Compilation: fix merge conflict with previous commit
  * Compilation: better error message for file not found
  * remove the experimental std.x namespace
  * std.http reorg; introduce std.crypto.Tls
  * std.crypto.Tls: parse the ServerHello handshake
  * std.crypto.Tls: discard ChangeCipherSpec messages
  * std.crypto.Tls: decrypting handshake messages
  * std.crypto.Tls: add read/write methods
  * std.crypto.Tls: client is working against some servers
  * std.crypto.Tls: handshake fixes
  * std.crypto.Tls: parse encrypted extensions
  * extract std.crypto.tls.Client into separate namespace
  * std.crypto.tls: implement the rest of the cipher suites
  * std.crypto.tls: add some benchmark data points
  * std.crypto.tls.Client: remove unnecessary coercion
  * std.crypto.tls.Client: verify the server's Finished message
  * std.crypto.tls: refactor to remove mutations
  * std.crypto.tls: send a legacy session id
  * std.crypto.tls.Client: avoid hard-coded bytes in key_share
  * std.crypto.tls.Client: support secp256r1 for handshake
  * std.crypto.tls.Client: fix verify_data for batched handshakes
  * std.crypto.tls: rudimentary certificate parsing
  * introduce std.crypto.CertificateBundle
  * std.crypto.CertificateBundle: ignore duplicate certificates
  * std.crypto.tls: certificate signature validation
  * std.crypto.tls: verify the common name matches
  * std.crypto.CertificateBundle: disable test on WASI
  * std.crypto.tls: rename HandshakeCipher
  * std.crypto.tls: validate previous certificate
  * std.crypto.tls: handle the certificate_verify message
  * std.crypto.tls.Client: handle extra data after handshake
  * std.crypto.tls.Certificate: verify time validity
  * std.crypto.tls.Certificate: explicit error set for verify
  * remove std.crypto.der
  * add url parsing to the std lib
  * std.crypto.Certificate.Bundle: fix 32-bit build
  * std.crypto.tls.Certificate: fix parsing missing subsequent fields
  * std.crypto.Certificate: remove subject_alt_name parsing
  * std.crypto.Certificate: support verifying secp384r1 pub keys
  * std.crypto.tls.Client: handle key_update message
  * std.crypto.tls.Client: fix truncation attack vulnerability
  * std.crypto.tls.Client: use enums more
  * std.crypto.tls.Client: fix the read function
  * std.crypto.tls.Client: support SignatureScheme.ecdsa_secp384r1_sha384
  * std.crypto.tls.Client: refactor to reduce namespace bloat
  * std.crypto: make proper use of `undefined`
  * std.crypto.tls.Client: rework the read function
  * crypto.tls: support rsa_pss_rsae_sha256 and fixes
  * std.crypto.tls.Client: fix eof logic
  * add std.http.Headers
  * std.crypto.tls: avoid heap allocation
  * std.crypto.tls.Client: remove debug prints
  * std.crypto.tls: use a Decoder abstraction
  * std.crypto.Certificate: bump RSA needed memory
  * std.os: add missing handling of ECONNRESET in readv
  * std.crypto.tls: add API for sending close_notify
  * std.http.Client: don't send TLS close_notify
  * std.crypto.tls: verify via Subject Alt Name
  * std.crypto.tls.Certificate: make the current time a parameter

  [ Michael Dusan ]
  * link.Elf: resolve CsuObjects TODO
  * cmake: ignore case for TARGET ARCH/OS mapping
  * std.fs: add NAME_MAX for openbsd and netbsd
  * macos: getFdPath: handle E.NOSPC
  * freebsd: getFdPath: < 13.1 fallback impl
  * freebsd: getFdPath: handle NameTooLong
  * freebsd: memfd_create: < 13.0 version check
  * dragonfly: getFdPath: F_GETPATH implementation
  * dragonfly: port libc++
  * netbsd: getFdPath: F_GETPATH implementation
  * std.Target: bump semver max for BSDs
  * build stage3: add more BSD support
  * dragonfly: add `std.c.arc4random_buf`
  * freebsd: add `std.c.arc4random_buf`
  * dragonfly: pass test: lib/std/std.zig

  [ Andrew Kelley ]
  * std.crypto.tls.Client: make close_notify optional

  [ Nguyễn Gia Phong ]
  * autodoc: show binding in lowercase

  [ Andrew Kelley ]
  * zig.h: support GCC compilers that lack __has_builtin

  [ Luuk de Gram ]
  * wasm-linker: Fix & mangle symbol name of imports

  [ mlugg ]
  * std: add meta.FieldType

  [ Chris Boesch ]
  * Add the two functions 'getLast' and 'getLastOrNull' to ArrayListAligned/ArrayListAlignedUnmanaged.

  [ Sizhe Zhao ]
  * docs: Clarify that std.fs.path.resolve doesn't resolve relative path to absolute path

  [ Lee Cannon ]
  * std.log: add functionality to check if a specific log level and scope are enabled

  [ Guillaume Wenzek ]
  * add -fopt-bisect-limit

  [ Evin Yulo ]
  * Document tuple syntax

  [ Jordan Lewis ]
  * math: implement absInt for integer vectors

  [ Andrew Kelley ]
  * stage2: make --color on affect progress bar too

  [ Veikka Tuominen ]
  * docgen: handle 'K' and 'D' escape codes
  * Sema: do not immediately destroy failed generic instantiation

  [ Loris Cro ]
  * autodoc: restore generic function functionality

  [ Michael Dusan ]
  * stage3 macos: enable -headerpad_max_install_names

  [ joachimschmidt557 ]
  * stage2 AArch64: bump up alignment of stack items fitting in regs

  [ Felix Queißner ]
  * Implements std.ArenaAllocator.reset() (#12590)

  [ Maciej 'vesim' Kuliński ]
  * Sema: implement AVR address spaces

  [ kcbanner ]
  * cbe: revert movement of zig_float_from_repr to before float typedefs
  * zig.h: fixup for -Wexpansion-to-defined

  [ Casey Banner ]
  * Fix another LockViolation case on Windows (#14162)
  * debug: replace RtlCaptureStackBackTrace (which was spuriously failing) with a new implementation which uses RtlVirtualUnwind instead (#12740)

  [ Michael Dusan ]
  * behavior: add test for #8277

  [ Andrew Kelley ]
  * std.http.Client: do not heap allocate for requests
  * std.http.Headers.Parser: parse version and status
  * std.simd.iota: make it always called at comptime
  * std.http.Client: support HTTP redirects

  [ kcbanner ]
  * cmake: handle llvm system libraries separately from the llvm libraries themselves, to fix path issues on windows
  * cmake: output binaries to the build directory (ie. instead of Release/Debug subfolders)
  * build: first pass on geting stage3 building under x64_64-windows-msvc
  * windows: supporting changes for boostrapping via msvc
  * fixup: remove leftover log
  * fixup formatting
  * windows: fixes to support using zig cc/c++ with CMake on Windows
  * windows: revert changes made to lld.zig to support the way CMake calls zig cc on Windows-Clang
  * fixup from rebase
  * cmake: /std:c99 isn't a valid cl option
  * rebase fixup
  * cmake: /O0 -> /Od
  * cmake: add /FORCE:MULTIPLE to handle fabsl being defined in compiler_rt as well as libcmpt
  * cmake: fix handling of transitive zstd dependency
  * build: simplify llvm-config provided system library parsing
  * coff: include version and module_definition_file in the hash

  [ Andrew Kelley ]
  * avoid triggering LLVM bug on MIPS

  [ Jens Goldberg ]
  * Don't initialize the static TLS area in single-threaded builds

  [ Michael Dusan ]
  * llvm codegen: fix f16,f32,f64 nan bitcasts

  [ Eric Joldasov ]
  * cmake: move 'continue' statement to avoid cmake bug

  [ Veikka Tuominen ]
  * std: collect all options under one namespace

  [ pluick ]
  * Fix cache-dir specified on the command line (#14076)

  [ Veikka Tuominen ]
  * Sema: improve struct/union field error locations
  * resolve some TODOs
  * Sema: add system for checking backend feature support
  * Sema: only untyped undefined should coerce to all types
  * Sema: remove generic function from `monomorphed_funcs` on any error

  [ Loris Cro ]
  * autodoc: fix links to functions in generic types
  * autodoc: fix bodyless fn type analysis and rendering

  [ kcbanner ]
  * coff: fixup module_definition_file hashing

  [ Veikka Tuominen ]
  * Sema: handle enum expressions referencing local variables

  [ Andrew Kelley ]
  * std.http.Class: classify out-of-range codes as server_error
  * std.http.Client: fail header parsing under more conditions

  [ Michael Dusan ]
  * zig.h: do not assume __GNUC__ is not clang

  [ Jan Philipp Hafer ]
  * tools: build all tools in ci to prevent bitrot

  [ Frank Denis ]
  * ELF linker: support common-page-size and max-page-size lld opts

  [ Andrew Kelley ]
  * std.crypto.tls.Client: fix crash in read()
  * std.http.Client: support transfer-encoding: chunked

  [ Michael Dusan ]
  * zig.h: do not assume __GNUC__ is not clang (#2)

  [ Brendan Burns ]
  * Implement some more environment functions for WASI.

  [ Michael Dusan ]
  * stage3 bsd: support dynamic libstdc++/libc++

  [ Andrew Kelley ]
  * std.http.Client: fix handling of \r\n before next chunk size

  [ Felix "xq" Queißner ]
  * Ports zig-uri to stdlib.
  * Renames Url.zig to Uri.zig

  [ Andrew Kelley ]
  * std.http.Client: update from old std.Url to new std.Uri
  * std.Uri: make scheme non-optional
  * std.crypto.siphash: add finalResult() and peek()
  * add std.build.ConfigHeaderStep
  * std.build.ConfigHeaderStep: stub out cmake style
  * std.build.WriteFileStep: fix regression in this branch

  [ Loris Cro ]
  * autodoc: improve linking of decl references

  [ kcbanner ]
  * windows: rework DebugInfo to use less file operations and fix some memory management issues
  * debug: fixup memory management
  * windows: unexpectedStatus/unexpectedError start the stack trace at the caller

  [ Techatrix ]
  * std: add helper functions to std.zig.Ast for extracting data out of nodes

  [ Felix "xq" Queißner ]
  * Fixes bug in AVR codegen for llvm backend

  [ Veikka Tuominen ]
  * Sema: restore status on layout resolution failure
  * fix errdefers in functions that can't return errors

  [ Clement Espeute ]
  * autodoc: allow function descriptions expansion

  [ Frank Denis ]
  * Update wasi-libc to a1c7c2c7a4b2813c6f67bd2ef6e0f430d31cebad

  [ Techatrix ]
  * langref: fix unclosed and lonely tag (#14250)

  [ kcbanner ]
  * test: fix "chdir smoke test" comparing paths with potentially different drive letter cases

  [ praschke ]
  * std.net: check for localhost names before asking DNS

  [ Der Teufel ]
  * autodoc: Fix function pointers rendering issue

  [ Veikka Tuominen ]
  * Value: implement more pointer eql cases

  [ Loris Cro ]
  * autodoc: scroll up when collapsing long fn description

  [ Veikka Tuominen ]
  * Sema: fix condition for omitting comptime arg from function type
  * parser: add helpful note for missing const/var before container level decl
  * AstGen: add note pointing to tuple field
  * Sema: fix typeInfo decls with usingnamespace

  [ Eckhart Köppen ]
  * zig objcopy: Fix corrupted hex output

  [ Andrew Kelley ]
  * water cooler complaint about gzip stream namespace
  * std.http.Client: support the Reader interface
  * expose std.io.bufferedReaderSize
  * add std.Ini for basic .ini file parsing
  * add std.tar for tar file unpacking
  * compiler: add package manager skeleton
  * std.tar: add strip_components option
  * package manager: compute hash, move tmp dir into global cache
  * disable package manager code when bootstrapping
  * Package: complete the package-fetching logic
  * zig build: support dependencies
  * zig build: support libraries aware of installed headers
  * zig build: add Artifact.installHeadersDirectory
  * fix build failures on 32-bit arm due to u64/usize coercion
  * fix std.io.Reader regression
  * build.zig: use zig-provided libc++ by default on Windows
  * use local cache dir for dependencies-listing package
  * Package: handle Windows PathAlreadyExists error code

  [ antlilja ]
  * UEFI pool allocator changes

  [ Clement Espeute ]
  * autodoc: use js instead of details for collapsing descriptions

  [ Frank Denis ]
  * wasi-libc: use __heap_end if available (#14273)

  [ Luuk de Gram ]
  * wasm-linker: discard symbol when both undefined
  * wasm-linker: Fix symbol name on undefined symbol
  * wasm-linker: implement __wasm_call_ctors symbol
  * wasm-linker: implement `__heap_base` symbol

  [ kcbanner ]
  * ci: run the behaviour tests using the cbe and msvc

  [ Manlio Perillo ]
  * docgen: remove unnecessary and incorrect deallocations

  [ Robert Burke ]
  * Fix buffer overflow in fmt when DAZ is set

  [ Luuk de Gram ]
  * wasm-linker: implement the __heap_end symbol

  [ Manlio Perillo ]
  * docgen: improve command-line argument parsing

  [ Motiejus Jakštys ]
  * zig run/cc: recognize "-x language"

  [ Manlio Perillo ]
  * build.zig: update the docs step

  [ Veikka Tuominen ]
  * also run C ABI tests with -OReleaseFast
  * add C ABI tests for exotic float types
  * llvm: correctly handle C ABI structs with f32/f64 alignment differences

  [ Andrew Kelley ]
  * std.crypto.Certificate: support v1
  * std.crypto.Certificate.Bundle: add more Linux directories

  [ kcbanner ]
  * build: avoid zig's libc++ on *-windows-msvc

  [ Techatrix ]
  * swap align and callconv in function typeName

  [ r00ster91 ]
  * std.Thread: make Id smaller where possible

  [ Michael Bartnett ]
  * Add fromOwnedSliceSentinel to ArrayList ArrayList and ArrayListUnmanaged, add fromOwnedSlice to ArrayListUnmanaged
  * std: Handle field struct defaults in std.mem.zeroInit

  [ Krzysztof Wolicki ]
  * autodoc: Better handling of variable decls (#14301)

  [ Loris Cro ]
  * autodoc: missing fmt on Autodoc.zig

  [ Veikka Tuominen ]
  * Sema: automatically optimize order of struct fields
  * std.os.linux.io_uring: fix ABI error

  [ fn ⌃ ⌥ ]
  * Find system-installed root SSL certificates on macOS (#14325)

  [ Andrew Kelley ]
  * add std.build.LibExeObjStep.installHeadersDirectoryOptions
  * std.http.Client: default to lazy root cert scanning

  [ star-tek-mb ]
  * windows root certificate scanning

  [ Andrew Kelley ]
  * clean up windows cert scanning
  * std.crypto.Certificate: add more object ids
  * std.net.getAddressList: call WSAStartup on Windows
  * std.crypto.Certificate: skip unknown attributes
  * std.crypto.Certificate: add more object id
  * std.build.ConfigHeaderStep: support cmake syntax
  * std.build.LibExeObjStep: change installHeader API

  [ fn ⌃ ⌥ ]
  * std.crypto.Certificate.Bundle: clear bundle before macOS rescan
  * std.crypto.Certificate.Bundle: use parseCert in rescanWindows
  * Add std.os.darwin.cssm

  [ Manlio Perillo ]
  * langref: add the new addrspace keyword

  [ Andrew Kelley ]
  * CI: additionally test debug builds on Windows

  [ Manlio Perillo ]
  * langref: document UTF-8 BOM handling

  [ Veikka Tuominen ]
  * llvm: do not offset packed struct field pointers if they have a host size
  * enable passing compile error test
  * Sema: ignore dependency loops in typeinfo decls
  * Sema: resolve lazy values in switch prong items
  * windows x86_64 C ABI: pass byref structs as byref_mut
  * AstGen: reset source cursor before generating pointer attributes
  * Sema: promote smaller float types passed to variadic functions
  * Sema: fix bad boolean logic for cast to null panic
  * Sema: do not create slices with undefined pointers
  * tokenizer: detect null as non-first byte of a line comment

  [ Andrew Kelley ]
  * CI: give x86_64-linux-debug a little more time

  [ Michael Dusan ]
  * netbsd: add mcontext_t for aarch64

  [ Manlio Perillo ]
  * langref: use the term tuple in the Hello World section

  [ Loris Cro ]
  * autodoc: add support for top-level doc comments

  [ Jakub Konka ]
  * macho+zld: add improved dyld opcodes emitters
  * link-tests: update uuid test with new uuid given dyld ops changes
  * update CMakeLists.txt with new entries
  * macho: port arm64 and x86_64 compact unwind defs verbatim

  [ kcbanner ]
  * llvm: pass non-scalars as byref in .Stdcall

  [ Jakub Konka ]
  * macho: fix 32bit build
  * macho: fix ordering issue with lazy bind pointers

  [ Adrian Cole ]
  * wasm: avoids allocating zero length buffers for args or env

  [ Veikka Tuominen ]
  * llvm: implement Stdcall return types

  [ star-tek-mb ]
  * fix selectSymbol function pointers

  [ IntegratedQuantum ]
  * Mutex deadlock detection in debug

  [ Marco Munizaga ]
  * Add framework paths from NIX_CFLAGS_COMPILE

  [ Manlio Perillo ]
  * langref: always start code on a separate line in a syntax_block

  [ kcbanner ]
  * tests: disable c_abi tests for windows when compiling on linux

  [ 山下 ]
  * Wildcard certs should only validate one level of sub domain

  [ Jarred Sumner ]
  * Make `res` nullable in `getaddrinfo`

  [ mlugg ]
  * std: implement os.mprotect on Windows

  [ Jakub Konka ]
  * macho: require an exclusive lock to the Cache.Manifest
  * macho: revert ordering tweak of lazy bind pointers and add logging
  * macho: use ArrayHashMap for tracking of dyld runtime metadata
  * macho: disable some log messages

  [ Hardy ]
  * added test for bitcast signaled nan float

  [ Jakub Konka ]
  * zld: parse, synthesise and emit unwind records
  * link-tests: test unwind info emitter via c++ exceptions
  * link-tests: update uuid test with new uuid values

  [ Andrew Kelley ]
  * std.build.LibExeObjStep: better handle transitive deps
  * std.build.LibExeObjStep: avoid putting static libs inside static libs

  [ Jakub Konka ]
  * std.macho: add OLD = 0 as valid mode for both arm64 and x86_64
  * macho: synthesise unwind records in absence of compact unwind section
  * macho: properly relocate target symbol address in __eh_frame

  [ fn ⌃ ⌥ ]
  * std.hash.crc: implement algorithms listed in CRC RevEng catalog

  [ Jakub Konka ]
  * macho: fix sorting symbols by seniority
  * zld: fix 32bit build
  * link-tests: do not expect __eh_frame section on x86_64-macos

  [ Stephen Gregoratto ]
  * FreeBSD: add mcontext_t for aarch64

  [ Veikka Tuominen ]
  * Sema: handle lazy values in more places
  * type: correct condition for eliding pointer alignment canonicalization
  * Value: implement `compareAllWithZero` for `bytes` and `str_lit`
  * Sema: resolve fields before checking tuple len
  * Sema: fix unwrapping null when reporting error on member access
  * Sema: fix error message for bad pointer arithmetic
  * llvm: implement explicit Win64 and SysV calling conventions

  [ fn ⌃ ⌥ ]
  * Implement gzip header CRC check.

  [ joachimschmidt557 ]
  * stage2 ARM: add basic debug info for locals

  [ fn ⌃ ⌥ ]
  * Rewrite update_crc_catalog in zig and move tests to separate file

  [ mlugg ]
  * Package: store package name directly
  * AstGen: detect and error on files included in multiple packages

  [ Andrew Kelley ]
  * CI: also test x86_64-macos with a debug zig compiler
  * zig cc: add -Wno-overriding-t-option to clang on darwin
  * update CI tarball for macos

  [ Mateusz Poliwczak ]
  * support P256 in x509

  [ Andrew Kelley ]
  * langref: point 0.10.0 nav link to 0.10.1

  [ Jan Philipp Hafer ]
  * std.os.windows: add possible error NETNAME_DELETED of ReadFile

  [ Manlio Perillo ]
  * build: fix incorrect name in InstallArtifactStep

  [ Isaac Freund ]
  * std: eliminate pointless meta.assumeSentinel() usage

  [ Manlio Perillo ]
  * docgen: make the name required in the Code node

  [ Isaac Freund ]
  * std.net.Address: clarify unix socket getOsSockLen

  [ kcbanner ]
  * cbe: fixes for x86
  * cbe: fixup x86 atomics
  * cbe: fixup zig_export for x86
  * cbe: fixup handling of c_longdouble for msvc abi
  * target: use 16 byte alignment for 128-bit types on x86 and ofmt .c
  * cbe: handle building for -msvc using clang and -gnu using msvc
  * ci: explicitly test the CBE tests with the -msvc abi, as this is the path users will use when bootstrapping
  * ci: update windows debug ci as well
  * zig fmt fixup
  * ci: fixup incorrect paths
  * update zig1.wasm

  [ Manlio Perillo ]
  * langref: remove extra curly bracket in the CSS

  [ kcbanner ]
  * ci: don't run the -msvc cbe tests with the zig test runner

  [ Andrew Kelley ]
  * move CONTRIBUTING.md to the wiki

  [ David Gonzalez Martin ]
  * [UEFI] Delete unnecessary padding and fix number_of_pages type

  [ kcbanner ]
  * debug: re-enable resource management test on x86_64 windows
  * compiler_rt: re-enable divxf3 test on windows/llvm

  [ Loris Cro ]
  * autodoc: init support for guides

  [ Der Teufel ]
  * autodoc: add html tags to "null"
  * autodoc: Add tag handling to enums and unions. Add support for Struct, Enum, Union types in exprName. Anonymous types now work via a hack to ast_nodes.

  [ Isaac Freund ]
  * std: remove meta.assumeSentinel

  [ David Gonzalez Martin ]
  * build: Fix red zone flag

  [ fn ⌃ ⌥ ]
  * Add an xz decoder to the standard library

  [ Andrew Kelley ]
  * std.compress.xz public API cleanup
  * support xz compressed tarballs in the package manager
  * std.compress.xz: fix compile error on 32-bit systems
  * CI: give aarch64-linux-debug a little more time
  * zig build system: add LibExeObjStep.installLibraryHeaders

  [ Jakub Konka ]
  * elf+macho: append null to DWARF strtab to avoid overlapping sects
  * self-hosted: remove unused `externally_managed` prong for Decls code
  * self-hosted: rename codegen Result.appended to Result.ok

  [ Der Teufel ]
  * autodoc: added support for tuple structs

  [ Manlio Perillo ]
  * langref: move paragraph inside the p element
  * langref: improve test_coerce_unions_enums.zig
  * langref: update the documentation of @Type

  [ fn ⌃ ⌥ ]
  * std.compress.xz: fix for big-endian targets

  [ Manlio Perillo ]
  * langref: add missing dot at the end of the paragraph
  * langref: make "Type Coercion" subsections more consistent

  [ Andrew Kelley ]
  * update cmake files to LLVM 16
  * update clang and ar to llvm 16
  * update zig_llvm.cpp and zig_llvm.h to LLVM 16

  [ Jakub Konka ]
  * macho: completely remove allocateDeclIndexes in favor of linker tracking
  * self-hosted: clean up calling logic for x86_64 and aarch64 across linkers
  * elf: pull out logic for allocating a GOT entry into a helper
  * elf: move TextBlock into its own module and rename to Atom
  * elf: migrate to new non-allocateDeclIndexes API
  * coff: migrate to new non-allocateDeclIndexes API

  [ Takeshi Yoneda ]
  * wasm: uses main instead of main2 for test runner
  * wasi: remove unnecessary breakpoint() in abort

  [ Andrew Kelley ]
  * update clang API to 16
  * update C headers to LLVM 16
  * update libcxx to llvm 16
  * update libcxxabi to llvm 16
  * update libunwind to llvm 16
  * update CPU features to LLVM 16
  * update clang options data to LLVM 16
  * cmake: no -Werror on the C++ code we copy from llvm

  [ Luuk de Gram ]
  * wasm: migrate to new non-allocateDeclIndexes API

  [ Jakub Konka ]
  * self-hosted: remove allocateDeclIndexes from the public link.File API

  [ Andrew Kelley ]
  * CI: give x86_64-linux-release a little more time

  [ Jon-Eric Cook ]
  * std.json: check output and source lengths in `std.json`

  [ zigster64 ]
  * On BrokenPipe error during os.sendfile - return error rather than unreachable

  [ Michael Dusan ]
  * netbsd: use versioned __msync13 from libc

  [ Andrew Kelley ]
  * update libcxx to llvm 16.0.0rc1

  [ Krzysztof Wolicki Der Teufel ]
  * autodoc: Implemented struct_init_empty for walkInstruction, fixed variable type with has_init but no type before =

  [ joachimschmidt557 ]
  * stage2 AArch64: move copy-register-arg-to-stack code to fn prologue

  [ Andrew Kelley ]
  * std.debug: disable sporadically failing test
  * build.zig: llvm c++ files require -std=c++17

  [ kcbanner ]
  * cbe: don't emit unused undefined array literals

  [ Yusuf Bham ]
  * std.os.uefi: fix shift in pool allocator

  [ kcbanner ]
  * cbe: fixes for tls, support for not linking libc, and enabling tests
  * build: .c ofmt does not produce a pdb

  [ Isaac Freund ]
  * std: restrict mem.span() and mem.len() to sentinel terminated pointers

  [ Andrew Kelley ]
  * build.zig: update list of llvm libs to llvm 16

  [ Veikka Tuominen ]
  * TypedValue: fix crash when string-like aggregate has undefined element

  [ Jiacai Liu ]
  * std: add expectEqualDeep (#13995)

  [ Techatrix ]
  * zig fmt: fix file ending in a multi line comment

  [ Andrew Kelley ]
  * CI: update tarballs to LLVM 16.0.0-rc1
  * CI: enable checks on llvm16 branch
  * update Findllvm.cmake static lib list to LLVM 16

  [ Veikka Tuominen ]
  * Sema: ensure args to inline comptime args are comptime-known
  * add test for already implemented proposal
  * AstGen: fix crash on invalid decltest
  * Sema: add helpful notes to invalid `@ptrCast` operations
  * Sema: replace backticks with single quotes
  * implement `@qualCast`
  * update zig1.wasm to include `@qualCast`

  [ Jakub Konka ]
  * link: make MachO atoms fully owned by the linker

  [ Techatrix ]
  * wasm: correctly handle optional slices

  [ Andrew Kelley ]
  * std.Target: remove workaround

  [ r00ster91 ]
  * Sema: emit compile error for comptime or inline call of function pointer

  [ Techatrix ]
  * wasm: apply request change

  [ Jakub Konka ]
  * link: make Elf atoms fully owned by the linker

  [ leap123 ]
  * std.os.uefi: fix shift in pool allocator (again) (#14497)

  [ Jakub Konka ]
  * link: make Coff atoms fully owned by the linker

  [ Andrew Kelley ]
  * std.build: implement passing options to dependency packages
  * std.build: eliminate setTarget and setBuildMode
  * update build.zig API usage
  * combine std.build and std.build.Builder into std.Build
  * build.zig: remove dead list of unused source files
  * std.Build: accept host Target in create()
  * langref updates for new std.Build API
  * update test case for new std.builtin.OptimizeMode API
  * fix init-exe, init-lib templates
  * rename std.Build.LibExeObjStep to std.Build.CompileStep
  * std.Build: add deprecated declarations
  * std.Build: avoid use of catch unreachable
  * move compiler's CType logic to std.Target
  * std.Build.ConfigHeaderStep: support more types
  * tests: fix missing target for C ABI tests
  * std.Build.CompileStep: fix API usage in unit test

  [ praschke ]
  * mingw: repair msvcrt-os build flags

  [ Jakub Konka ]
  * link: clean up type resolution in Elf.Atom and MachO.Atom
  * link: make Plan9 atoms fully owned by the linker
  * link: use strtab.StringTable in Dwarf
  * link: decouple DI atoms from linker atoms, and manage them in Dwarf linker
  * link: make SpirV atoms fully owned by the linker
  * link: fix pointer invalidation issues in Elf, MachO and Coff

  [ Luuk de Gram ]
  * link: make Wasm atoms fully owned by the linker

  [ Jakub Konka ]
  * link: remove union types which are now internal to backends

  [ Veikka Tuominen ]
  * Sema: fix error location on comptime arg to typed generic param

  [ ominitay ]
  * fmt: Make default_max_depth configurable

  [ Evan Typanski ]
  * translate-c: Fix types on assign expression bool

  [ Josh Holland ]
  * langref: add paragraph and examples about indexing non-ASCII strings

  [ Veikka Tuominen ]
  * AstGen: fix orelse type coercion in call arguments

  [ Andrew Kelley ]
  * zig build: add executable bit and file path to package hash
  * zig build: use multihash for the hash field

  [ praschke ]
  * mingw: stop using K&R-style function definitions

  [ Kirk Scheibelhut ]
  * remove reference to removed addTestExe

  [ Krzysztof Wolicki Der Teufel ]
  * autodoc: Added `@qualCast` builtin function handling

  [ fn ⌃ ⌥ ]
  * Add LZMA decoder

  [ Jan Philipp Hafer ]
  * compiler_rt: make README visually nice and improve explanations

  [ Andrew Kelley ]
  * introduce ZON: Zig Object Notation
  * use build.zig.zon instead of build.zig.ini for the manifest file

  [ Ryan Liptak ]
  * Add test for optional error set return types

  [ Manlio Perillo ]
  * langref: remove link to closed issue #4026

  [ Loris Cro ]
  * autodoc: fix search regression

  [ Luuk de Gram ]
  * link: remove `FnData` and make it self-owned

  [ Marc Tiehuis ]
  * remove stage1 workaround for big int set

  [ Andrew Kelley ]
  * std.Build: support exposing and depending on zig modules

  [ Manlio Perillo ]
  * compiler_rt: fix and improve documentation

  [ John Schmidt ]
  * std.json: fix parsing of structs with default value const pointers
  * std.json: avoid dangling pointers in ValueTree
  * std.json: don't free struct default values

  [ Suirad ]
  * Add support for mips64/mips64el

  [ Nicolas Goy ]
  * Allow const for ArrayList.getLast, fix #14522

  [ Jonathan Marler ]
  * mark deprecated assumeSentinel as pub

  [ ee7 ]
  * langref, tools: rename --single-threaded to -fsingle-threaded

  [ Stephen Gregoratto ]
  * Update Linux syscall list for 6.1, support Mips64

  [ Andrew Kelley ]
  * make `@embedFile` support module-mapped names the same way as `@import`

  [ David Vanderson ]
  * std.build: support for generated c headers

  [ Andrew Kelley ]
  * std.Build: enhancements to ConfigHeaderStep

  [ Ryan Liptak ]
  * std.compress.xz: Avoid possible integer overflow in a few places

  [ fn ⌃ ⌥ ]
  * Delete redundant `lzma`/`lzma2` prefix in function/struct names
  * Implement std.io.Reader for LZMA1
  * Update block.zig

  [ Jakub Konka ]
  * macho: downgrade alignment requirements for symtab in object files
  * macho: parse and sort data-in-code entries ahead of time
  * macho: ensure local syms buffer is nlist_64 aligned when re-reading from file

  [ dweiller ]
  * fix custom test runner package path resolution

  [ Jakub Konka ]
  * macho: fix incorrect representation of encodings count per page

  [ dweiller ]
  * allow custom test runners to import modules

  [ Dominic ]
  * clone package table into custom test runner

  [ Jakub Konka ]
  * link-tests: do not hardcode UUID when testing the build with/out DI

  [ Krzysztof Wolicki Der Teufel ]
  * autodoc: main.js cleanup and formatting
  * autodoc: anonymous struct type indentation fix

  [ John Schmidt ]
  * translate_c: fix typedeffed pointer subtraction

  [ Asherah Connor ]
  * std.Build.addAssembly: add missing .kind

  [ matu3ba ]
  * compiler_rt: __ashlsi3, __ashrsi3, __lshrsi3 for symbol compatibility

  [ Techatrix ]
  * don't tokenize an invalid string literal

  [ Veikka Tuominen ]
  * Sema: validate inferred error set payload type
  * Sema: add missing peer type resolution for error unions
  * zig fmt: do not consider tuples blocks
  * llvm: fix lowerDeclRefValue for extern function aliases
  * Sema: fix typo in `zirCUndef`

  [ matu3ba ]
  * compiler_rt: __divmodti4 for libgcc symbol compatibility

  [ dweiller ]
  * zig build: add -l, --list-steps option to build_runner.zig

  [ Jan Philipp Hafer ]
  * compiler_rt: add __powihf2, __powisf2, __powidf2, __powitf2, __powixf2

  [ Leo Constantinides ]
  * std: check types of pointers passed to allocator functions

  [ Andrew Kelley ]
  * Revert "std: check types of pointers passed to allocator functions"

  [ matu3ba ]
  * compiler_rt: document math functions (#14552)

  [ Ali Chraghi ]
  * zig fmt: additionally format .zon files

  [ Frank Denis ]
  * std.crypto: add the Ascon permutation

  [ Andrew Kelley ]
  * std.Build.ConfigHeaderStep: support sentinel-terminated strings
  * std.Build: support running build artifacts from packages
  * std.Build.ConfigHeaderStep: support outputting assembly config files
  * std.Build.RunStep: introduce addOutputFileArg API
  * move the cache system from compiler to std lib
  * std.Build.Cache: remove debug log statements
  * std.Build: start using the cache system with RunStep
  * std.Build: make cache_root and global_cache_root relative to cwd
  * std.Build: delete test that doesn't test anything
  * std.Build.OptionsStep: update test case

  [ Leo Constantinides ]
  * std: support deserialising JSON strings containing escape seqences into sentinel slice

  [ Manlio Perillo ]
  * langref: make more examples testable

  [ AdamGoertz ]
  * Add -ferror-tracing and -fno-error-tracing compile options

  [ Andrew Kelley ]
  * build.zig: builder.zig_exe is not relative

  [ Philippe Pittoli ]
  * Add std.c.umask.

  [ Tom Read Cutting ]
  * Zld: Report archive file with cpu arch mismatch

  [ Jakub Konka ]
  * comp: reinstate -fcompiler-rt when used with build-obj as output

  [ Veikka Tuominen ]
  * split `@qualCast` into `@constCast` and `@volatileCast`

  [ Nguyễn Gia Phong ]
  * autodoc: fix md list markers matching
  * autodoc: render ordered lists as such

  [ Chris Boesch ]
  * crypto: add AES-CMAC (RFC 4493) (#14545)

  [ Motiejus Jakštys ]
  * [linker] add --no-undefined, -z undefs

  [ Andrew Kelley ]
  * CLI: remove option from usage text since it doesn't work

  [ Motiejus Jakštys ]
  * [elf linker] add --sort-section
  * [linker] ignore --sort-common

  [ Andrew Kelley ]
  * CLI: detect linker color diagnostics flags

  [ Motiejus Jakštys ]
  * [all linkers] fail hard on unsupported flags

  [ Jonathan Marler ]
  * ignore SIGPIPE by default

  [ Ali Chraghi ]
  * Ast: fix expected_block error message

  [ Jonathan Marler ]
  * add test to ignore sigpipe

  [ Andrew Kelley ]
  * unconditionally pass --no-default-config to clang

  [ flexicoding ]
  * compiler_rt: remove unexported functions

  [ Jonathan Marler ]
  * use std_options for keep_sigpipe and existence of SIG.PIPE to check for support

  [ Matt Knight ]
  * Value: implement writeToMemory for packed unions

  [ Edoardo Vacchi ]
  * wasi: add Preopens.findDir, update tests to preopen `/tmp'
  * skip when builtin.link_libc

  [ Andrew Kelley ]
  * std.Build.RunStep: fix default caching logic

  [ Veikka Tuominen ]
  * parse and render new for loop syntax
  * AstGen: work-in-progress multi-object for loops

  [ Andrew Kelley ]
  * AstGen: rework multi-object for loop
  * AstGen: finish multi-object for loops
  * AstGen: back to index-based for loops
  * make zig fmt perform upgrade to new for loop syntax
  * Sema: implement for_len
  * update existing behavior tests and std lib to new for loop semantics
  * update std lib and compiler sources to new for loop syntax
  * add zig fmt test for upgrading for loop syntax
  * update docgen to new for loop syntax
  * Sema: fix for loops with comptime-known int ranges
  * add passing for loop test: two counters
  * update test-cases for new for loop syntax
  * AstGen: fix ZIR for for loops accessing instruction out of block
  * disable failing x86_64 backend tests
  * Sema: improve error message for mismatched for loop lengths
  * AstGen: add error for discard of unbounded counter
  * fix source location for not-indexable for loop errors
  * improve error message for byref capture of byval array
  * langref: update to new for loop syntax
  * omit safety checks for element access in for loops
  * update compare-output test case to new for loop syntax
  * implement error for unbounded for loops
  * omit safety check when incrementing for loop counter
  * Sema: add missing coercion when checking for loop len
  * add safety test cases for multi-object for loops
  * update zig1.wasm

  [ The Potato Chronicler ]
  * Fix grammatical error in doc comment

  [ Tom Read Cutting ]
  * Correctly handle carriage return characters according to the spec (#12661)

  [ Andrew Kelley ]
  * Revert "Merge pull request #14661 from evacchi/zig-wasi-preopens"

  [ Veikka Tuominen ]
  * implement `writeToMemory`/`readFromMemory` for pointers

  [ Jan Philipp Hafer ]
  * compiler_rt: restructure compiler_rt.zig according to README.md

  [ dweiller ]
  * std.hash: add XxHash64 and XxHash32
  * std.compress: add zstandard decompressor
  * std.compress.zstandard: cleanup decodeBlock
  * std.compress.zstandard: add functions decoding into ring buffer
  * std.compress.zstandard: add decodeZStandardFrameAlloc
  * std.compress.zstandard: cleanup ReverseBitReader
  * std.compress.zstandard: clean up api
  * std.compress.zstandard: clean up integer casts
  * std.compress.zstandard: validate sequence lengths
  * std.compress.zstandard: fix dictionary field size
  * std.compress.zstandard: validate fse table value count
  * std.compress.zstandard: add input length safety checks
  * std.compress.zstandard: properly track consumed count in decodeFrameBlocks
  * std.compress.zstandard: remove debug logging
  * std.compress.zstandard: minor cleanup and add doc comments
  * std.compress.zstandard: add integer casts u64 -> usize
  * std.compress.zstandard: add window size limit param
  * std.compress.zstandard: add doc comments for RingBuffer
  * std.compress.zstandard: clean up error sets and line lengths
  * std.compress.zstandard: verify checksum in decodeFrameAlloc()
  * std.compress.zstandard: add init/deinit for ring buffer, fix len()
  * std.compress.zstandard: add FrameContext and add literals into DecodeState
  * std.compress.zstandard: add `decodeBlockReader`
  * std.compress.zstandard: add `ZstandardStream`
  * std.compress.zstandard: fix crashes
  * std.compress.zstandard: split decompressor into multiple files
  * std.compress.zstandard: improve doc comments
  * std.compress.zstandard: add `decodeFrameAlloc()`
  * std.compress.zstandard: fix capitalisation of Zstandard
  * std.compress.zstandard: free allocated result on error
  * std.compress.zstandard: fix crashes
  * std.compress.zstandard: fix crashes
  * std.compress.zstandard: fix fse decoding crash
  * std.compress.zstandard: add multi-frame decoding functions
  * std.compress.zstandard: make ZstandardStream decode multiple frames
  * std.compress.zstandard: verify content size and fix crash
  * std.compress.zstandard: improve block size validation
  * std.compress.zstandard: validate skippable frame size
  * std.compress.zstandard: fix decodeAlloc() and remove decodeFrameAlloc()
  * std.compress.zstandard: remove UnusedBitSet error
  * std.compress.zstandard: error when FSE bitstream is no fully consumed
  * std.compress.zstandard: add decodeFrameHeader
  * std.compress.zstandard: fix content size check
  * std.compress.zstandard: fix errors and crashes in ZstandardStream
  * std.compress.zstandard: cleanup high-level api docs and error sets
  * std.compress.zstandard: bytes read assert to error in decodeBlockReader
  * std.compress.zstandard: check FSE bitstreams are fully consumed
  * std.compress.zstandard: fix zstandardStream finishing early
  * std.compress.zstandard: remove unneeded branch
  * std.compress.zstandard: fix erroneous literal stream empty checks
  * std.compress.zstandard: add error condition to ring buffer decoding
  * std.compress.zstandard: also check block size when sequence count is 0
  * std.compress.zstandard: fix zstandardStream content size validation
  * std.compress.zstandard: add DictionaryIdFlagUnsupported ZstandardStream.Error

  [ Andrew Kelley ]
  * add test coverage for fixed bug. closes #5410
  * add test coverage for fixed bug. closes #5497
  * add test coverage for fixed bug. closes #5508
  * add test coverage for fixed bug. closes #5516
  * add test coverage for fixed bug. closes #5518

  [ dweiller ]
  * std.compress.zstandard: update for multi-for-loop change

  [ Jakub Konka ]
  * x86: alloc new mcv in bitcast if cannot reuse operand
  * re-enable x86_64-linux self-hosted behaviour test suite
  * aarch64: alloc new mcv in bitcast if cannot reuse operand
  * arm: alloc new mcv in bitcast if cannot reuse operand
  * riscv64+sparc64: alloc new mcv in bitcast if cannot reuse operand

  [ Frank Denis ]
  * Linker: -z<arg> should be equivalent to -z <arg> (#14680)
  * trim(Left|Right): clarify that values_to_strip is a set

  [ dweiller ]
  * std.hash: use std.math.rotl in Xxhash64 and Xxhash32
  * std.compress.zstandard: remove use of usingnamespace
  * std.compress.zstandard: rename ZStandardStream -> DecompressStream
  * std.RingBuffer: add (non-concurrent) RingBuffer implementation

  [ mlugg ]
  * Implement new module CLI
  * Update std.Build to new module CLI, update zig1 and CMakeLists
  * Improve multi-module error messages
  * Add test coverage for some module structures

  [ dweiller ]
  * std.compress.zstandard: clean up streaming API

  [ Jacob Young ]
  * CBE: add CType interning
  * CBE: use CType for type rendering
  * CBE: fix comptime checks
  * CBE: use stdint.h types instead of `zig_` prefixes
  * CBE: remove typedef data structures
  * CBE: use CType for type definitions
  * hash map: remove extra argument
  * zig.h: get no int128 path working on non-msvc
  * MultiArrayList: delete pessimizing vector usage
  * CBE: fix test failures

  [ dweiller ]
  * std.compress.zstandard: fix error sets for streaming API
  * std.compress.zstd: renamed from std.compress.zstandard

  [ Isaac Freund ]
  * Sema: implement @fieldParentPtr for unions

  [ Jacob Young ]
  * behavior: enable passing CBE tests

  [ Komari Spaghetti ]
  * Introduce ChildProcess.collectOutput (#12295)

  [ Alexis Brodeur ]
  * Relax `std.sort.binarySearch` requirements

  [ Jacob Young ]
  * CBE: fix windows test failures

  [ Ken Kochis ]
  * Close files in hashFileFallible

  [ Jacob Young ]
  * CBE: cleanup field access
  * CType: fix lowering of generic function pointer

  [ Andrew Kelley ]
  * std.Build.WriteFileStep: integrate with cache system

  [ Jacob Young ]
  * CBE: implement c varargs
  * CBE: support call attributes
  * CBE: fix MSVC diagnostics generated by the behavior tests
  * CType: cleanup
  * CBE: delete stage1 hacks
  * CBE: simplify always_tail call logic
  * CBE: apply some maybe payload cleanups
  * CBE: implement the future

  [ Gaëtan S ]
  * fix RegQueryValueExW api

  [ matu3ba ]
  * compiler_rt: declutter int.zig, add mulXi3 tests (#14623)

  [ r00ster91 ]
  * std.Thread.setName: use unused code

  [ Frank Denis ]
  * crypto/benchmark.zig: fix pointer capture of non pointer type (#14722)

  [ r00ster91 ]
  * std.Thread: drop is_gnu check

  [ Jacob Young ]
  * CBE: reuse locals with the same `CType` instead of `Type`

  [ Andrew Kelley ]
  * rename std.Build.InstallRawStep to ObjCopyStep

  [ Jacob Young ]
  * CBE: replace locals list with a hash map

  [ r00ster91 ]
  * std.Thread: use pthread_getname_np on musl

  [ Andrew Kelley ]
  * fix package hashes on Windows
  * std.Build.CompileStep.installConfigHeader: add missing step dependency

  [ Jacob Young ]
  * llvm: fix untagged struct names in debug info for llvm (again)
  * tools: implement more lldb pretty printers
  * tools: revert sharing of stage2 pretty printer info
  * codegen: fix test failures

  [ Andrew Kelley ]
  * delete a subtly incorrect Haiku collectOutput implementation
  * std.Target: add xtensa to toCoffMachine
  * std.heap.GeneralPurposeAllocator: add doc comment for deinit
  * add std.io.poll and implement it for POSIX
  * redo std.io.poll with only outputs

  [ Jonathan Marler ]
  * std.io.poll initial windows implementation

  [ John Schmidt ]
  * astgen: do not discard result location in for/while loops

  [ Binary Craft ]
  * Fixes #13893 - some standard library networking tests are failing on Windows

  [ Jonathan Marler ]
  * std.io.zig: fmt
  * std.child_process: use std.io.poll for collectOutput
  * std.io.poll: remove done function

  [ Auguste Rame ]
  * Add --build-runner `zig build` option (#14742)

  [ Andrew Kelley ]
  * packages: avoid creating multiple modules with same build.zig

  [ Frank Denis ]
  * crypto.hash.sha3: make permutation generic and public, add SHAKE (#14756)

  [ Veikka Tuominen ]
  * translate-c: handle more wrapper types in `isAnyopaque`

  [ Frank Denis ]
  * crypto.KeccakF: compute rotations at comptime, add a test with f=800 (#14760)

  [ Andrew Kelley ]
  * add doc comments to std.fs.File.default_mode
  * std: add fchmodat
  * std.process.Child: remove pid and handle, add id

  [ Frank Denis ]
  * crypto.25519.field: de-inline _sq()

  [ Eckhart Köppen ]
  * sema: Place functions on AVR in flash addrspace

  [ Jakub Konka ]
  * codegen: move gen logic for typed values, consts and decl ref to common codegen
  * arm: use common implementation of genTypedValue helper
  * codegen: refactor generating Int as immediate where appropriate
  * arm: skip unimplemented behavior test for @fieldParentPtr

  [ Andrew Kelley ]
  * link: give executable bit to wasm executables sometimes

  [ Jakub Konka ]
  * aarch64: use common implementation of genTypedValue
  * riscv64: use common implementation of genTypedValue
  * sparc64: use common implementation of genTypedValue
  * elf: fully zero out symbol when appending to freelist
  * codegen: rename GenerateSymbolError to CodeGenError

  [ Ali Chraghi ]
  * std.Build.Cache: remove 'test-filetimestamp.tmp' once timestamp returned

  [ r00ster91 ]
  * Zir: move set_cold from Inst.Tag to Inst.Extended
  * Ast: properly handle sentinel-terminated slices in tuple

  [ Andrew Kelley ]
  * std.Build.addModule: return the created module

  [ r00ster91 ]
  * add @trap builtin
  * Wasm @breakpoint: emit unreachable

  [ Jacob Young ]
  * llvm: fix incorrectly annotated DIType

  [ r00ster91 ]
  * AstGen: compile-error on primitive value export

  [ Andrew Kelley ]
  * update CI tarballs to LLVM16
  * add behavior test case for previous commit

  [ tranquillity-codes ]
  * fix doc Build Mode

  [ Jacob Young ]
  * CBE: implement big integer literals
  * CBE: implement big integer and vector comparisons
  * CBE: implement some big integer and vector unary operations
  * CBE: "compute" max int alignment the lazy way
  * CBE: fix behavior test failures on msvc
  * Sema: fix cmp_vector type
  * CBE: implement vector operations
  * CBE: implement vector element pointers
  * CBE: implement vector truncate
  * CBE: implement splat
  * CBE: implement select and shuffle
  * CBE: ensure uniqueness of more internal identifiers
  * behavior: fix comptime issue and disable failing test
  * behavior: disable failing tests
  * CBE: fix reduce of emulated integers

  [ jim price ]
  * std.os: Add DeviceBusy as a possible write error

  [ jiacai2050 ]
  * fix package redeclaration when cache is not found

  [ r00ster91 ]
  * AstGen: ensure certain builtin functions return void

  [ Andrew Kelley ]
  * zig.h: lower trap to SIGTRAP instead of SIGILL
  * langref: small clarification to `@trap`
  * llvm: fix lowering of `@trap`
  * stage2: add zig_backend to ZIR cache namespace
  * update zig1.wasm
  * std.os.abort: take advantage of `@trap`

  [ Jacob Young ]
  * tools: add lldb pretty printer for std.MultiArrayList.Slice
  * std: reenable vectorized code with the C backend

  [ jim price ]
  * std.os: Allow write functions to return INVAL errors

  [ Eric Milliken ]
  * crypto.25519.field: de-inline mul for small builds (#14775)

  [ r00ster91 ]
  * AstGen: remove unnecessary `pub`s
  * Zir: fix outdated comment

  [ Krzysztof Wolicki Der Teufel ]
  * autodoc: Add struct to tryResolveRefPath

  [ Jacob Young ]
  * compiler_rt: fix rare case in udivei4
  * CBE: implement unsigned big int div and mod

  [ Frank Denis ]
  * std.crypto.hash.sha3: add TurboSHAKE (#14824)

  [ Jacob Young ]
  * zig.h: implement zig_breakpoint and zig_trap for more targets

  [ Frank Denis ]
  * std.fmt: add bytesToHex() to encode bytes as hex digits

  [ Gaëtan ]
  * std.os.windows.advapi32: Add RegCloseKey

  [ Jacob Young ]
  * Module: rewrite zir caching logic

  [ Ryan Liptak ]
  * Add comments explaining BUFFER_OVERFLOW during NtQueryInformationFile calls
  * os.isCygwinPty: Fix a bug, replace kernel32 call, and optimize

  [ Frank Denis ]
  * wasm-linker: emit build_id section (#14820)

  [ John Schmidt ]
  * astgen: fill result location with `void` value if no other value

  [ Jan Philipp Hafer ]
  * std.os: add missing mmap errors

  [ r00ster91 ]
  * std.json.parseInternal: use switches instead of ifs
  * std.json.stringify: support [*:0]const u8

  [ Isaac Freund ]
  * build: add -Dpie option

  [ John Schmidt ]
  * sema: add peer type resolution for vectors
  * sema: fix result ptr coercion array -> vector

  [ mlugg ]
  * Sema: check type of comptime try operand

  [ Frank Denis ]
  * Fix incorrect SHA-3 computation with the streaming API (#14852)

  [ Andrew Kelley ]
  * CI: more aggressively check zig1 bootstrapping

  [ Luuk de Gram ]
  * wasm-linker: store symbol's virtual address

  [ Frank Denis ]
  * TurboSHAKE: change default delimiter to 0x1F (#14857)

  [ Nameless ]
  * std.http: add connection pooling and make keep-alive requests by default
  * add error sets to tcpConnect* and tls.Client.init
  * std.http: handle compressed payloads
  * std.http: handle relative redirects
  * std.http: split Client's parts into their own files
  * std.http: rework connection pool into its own type

  [ mlugg ]
  * Fix test case added in 6d7fb8f

  [ antlilja ]
  * Add ability to import dependencies from build.zig

  [ Luuk de Gram ]
  * wasm-linker: remove synthetic segments & atoms

  [ mlugg ]
  * Sema: correctly detect use of undefined within slices in @Type

  [ Lavt Niveau ]
  * Include `signal.h` to define SIGTRAP in Stage 1 compiler (#14867)

  [ Andrew Kelley ]
  * eliminate posix_spawn from the standard library

  [ Andrius Bentkus ]
  * Module: retry ZIR cache file creation

  [ Jakub Konka ]
  * x86_64: downstream table-driven instruction encoder
  * x86_64: truncate immediates
  * x86_64: clean up call semantics in codegen
  * Get more things passing
  * Handle .ah vs .spl register aliases
  * x86_64: all behavior tests passing
  * x86_64: refactor immediate selection logic
  * x86_64: introduce assemble() helper which encodes/decodes into MIR -> Instruction
  * x86_64: split up assemble() into more declarative single-purpose helpers
  * x86_64: handle encoding and decoding Imm64 unsigned
  * x86_64: add helpers for CMOVcc and SETcc at the MIR level
  * x86_64: add helper for Jcc instruction
  * x86_64: handle all instructions without introducing Memory operand
  * x86_64: add RM and MR helpers to codegen
  * x86_64: plug up all RM/MR references
  * x86_64: start converting MI references
  * x86_64: finish rolling out all MIR assembly helpers
  * x86_64: fix CALL emits for ELF and Plan9
  * x86_64: add missing decodings for .movsx
  * x86_64: PtrSize.fromSize() should take into account nonexact sizes too
  * x86_64: apply couple of tweaks and pass behavior tests
  * x86_64: add wrapper for .jmp_reloc
  * x86_64: add .dead pseudo-instruction to mark an unused MIR instruction
  * x86_64: add wrapper for .jcc with relocation
  * x86_64: simplify immediate handling at MIR level
  * x86_64: rename asmNone to asmOpOnly
  * x86_64: clean up
  * x86_64: downstream encoder/assembler tests
  * x86_64: fix 32bit build issues in the encoder

  [ Isaac Freund ]
  * std: Add ArrayList.insertAssumeCapacity()

  [ mlugg ]
  * Sema: improve error message when calling non-member function as method
  * Sema: @extern fixes
  * translate-c: translate extern unknown-length arrays using @extern

  [ Jakub Konka ]
  * x86_64: avoid inline for-loops when scanning the encodings table
  * x86_64: add missing source files to CMakeLists.txt

  [ Techatrix ]
  * langref: add missing comma in assembly expressions

  [ Frank Denis ]
  * crypto.aescrypto.encrypt: do not add the round key in an asm block (#14899)

  [ Ian Johnson ]
  * Sema: avoid panic on callconv(.C) generic return type

  [ Hashi364 ]
  * Resolve docs inconsistency with Overflow builtins

  [ Frank Denis ]
  * Add configurable side channels mitigations; enable them on soft AES (#13739)
  * Move std.crypto.config options to std.options (#14906)

  [ mlugg ]
  * Sema: allow comptime mutation of multiple array elements

  [ Kotaro Inoue ]
  * Fix to use '/' for a empty path (#14884)

  [ DerryAlex ]
  * Implement readFromMemory/writeToMemory for ptrLikeOptional

  [ Frank Denis ]
  * Argon2: properly handle outputs > 64 bytes in blake2Long() (#14914)

  [ Bas Westerbaan ]
  * Add Kyber post-quantum key encapsulation mechanism (#14902)

  [ Jacob Young ]
  * tools: fix typo in lldb command
  * x86_64: fix error code paths to not have extra pops
  * x86_64: fix store of undefined
  * behavior: enable passing behavior tests on stage2_x86_64
  * x86_64: fix lowering of non-pointer optional is null
  * x86_64: use new for loop syntax
  * x86_64: use short union init
  * x86_64: handle duplicate prong deaths
  * x86_64: implement more binary immediate combinations
  * x86_64: turn packed struct crashes into compile errors

  [ Andrew Kelley ]
  * extract some logic from std.Build to build_runner.zig
  * build runner: untangle dependency loop checking from making
  * extract ThreadPool and WaitGroup from compiler to std lib
  * add std.heap.ThreadSafeAllocator
  * build_runner now executes the step graph in parallel
  * build runner: proper threaded dependency management
  * build system: capture stderr and report it later
  * std.Build: improve debugging of misconfigured steps
  * std.Build: further enhance debug message for bad getPath()
  * std.Progress: add lock_stderr and unlock_stderr
  * std.Build: better handling of stderr of child processes
  * build runner: show stderr even on successful steps run
  * update to new for loop syntax
  * zig build: add a -j<N> option for limiting concurrency
  * CI: use -j1 like a coward
  * std.os.linux: add ptrace
  * stage2: hot code swapping PoC
  * link: PTRACE_ATTACH/PTRACE_DETACH
  * hot code swapping PoC working
  * link.Elf: keep the logic for updates but condition on hcs
  * std.mem.copy: update to new for loop syntax
  * progress towards semantic error serialization
  * std.zig.ErrorBundle: rework binary encoding
  * add builtin.zig_version_string
  * std.zig.ErrorBundle: add special representation for empty
  * std.fifo: add toOwnedSlice method
  * integrate the build runner and the compiler server
  * build runner: account for debug builds in cleanExit
  * std.Build.CompileStep: obtain the build output dir from protocol
  * build.zig: remove redundant dependency of install step on zig exe
  * build runner: print a fancy tree with build results on failure
  * std.Build.CompileStep: better default step name
  * std.Build.InstallArtifactStep: better default step name
  * compiler: update function accepts a std.Progress.Node
  * fix UAF in build runner
  * multiplex compiler progress messages into the build runner
  * fix std.Build.TranslateCStep
  * build runner: fix unicode tree printing
  * build system: give RunStep a better default step name
  * build system: better default name for ConfigHeaderStep
  * fix zig fmt crash
  * build runner: make step_stack a map to remove redundant steps
  * std.Build.Step: avoid redundancy in default error message
  * std.Build.RunStep: better default step name
  * build runner: hide repeated steps in the build summary
  * build runner: slight rewording in build summary
  * link: only write manifest if we have the exclusive lock
  * zig build: many enhancements related to parallel building
  * fix Step.evalZigProcess to handle more than 1 message per poll
  * std.Build.Cache.Directory: add a format() method
  * std.debug.TTY.Config: add yellow
  * stage2: avoid linux-only APIs on other operating systems
  * eliminate stderr usage in std.Build make() functions
  * stage2: avoid networking when generating zig2.c
  * stage2: fix compilation on 32-bit targets
  * stage2: avoid bloat when using -Donly-c
  * std.Build.RunStep: work around a miscompilation
  * std: child process API supports rusage data
  * build runner supports reporting cached status and duration
  * std.Build.RunStep: report duration and cached status
  * update test/standalone/sigpipe build.zig script to latest API
  * build runner: add microseconds to elapsed in build summary
  * std.Build.RunStep: add maxrss, duration, and cached status
  * std.Build.Step.cacheHit marks step as cached on hit
  * std.Build.ConfigHeaderStep: integrate with the cache system
  * std.Build.InstallDirStep: avoid std.log
  * std.build.CompileStep: eliminate std.log usage
  * std.Build: audit use of updateFile
  * std.Build.Step: no-op steps report cached if all deps cached
  * build runner: fix typo in max rss display
  * add std.process.totalSystemMemory
  * zig build: add an OOM-prevention system
  * build.zig: annotate std lib tests maxrss
  * re-integrate stack trace tests with the new std.Build API
  * re-enable compare-output test cases
  * re-enable CLI tests
  * re-enable C ABI tests
  * re-enable asm-and-link tests
  * std.Build: add addAnonymousDependency
  * std.Build.CompileStep: tweak the default step name
  * new linker test harness
  * delete link test "static_lib_as_system_lib"
  * std.Build.CheckObjectStep: better error message
  * re-enable wasm linker tests
  * std.Build.CompileStep: add FileSource support to some paths
  * re-enable macho linker tests
  * re-enable the simple standalone tests
  * re-enable standalone tests based on build.zig
  * CI: take advantage of zig build concurrency
  * std.Build.RunStep: support -fqemu solving bad dynamic linker
  * fix ZIR decoding of error notes
  * CLI: fix ast-check printing ZIR errors twice
  * std.Progress.Node: add a setName method
  * std.fs.File.readvAll: fix behavior for 0-length vectors
  * AstGen: skip walking the AST when there are parse errors
  * std.Build.CheckFileStep: add a way to expect exact
  * build runner enhancements in preparation for test-cases
  * re-enable test-cases and get them all passing
  * std.Build: use Cache hash helper for package prefix dirs
  * zig objcopy: support the compiler protocol
  * std.Build.WriteFileStep: add missing step dependencies
  * docgen: don't print progress in dumb terminals
  * std.Build.InstallFileStep: add missing step dependencies
  * build.zig: update docgen to modern build system API
  * make -Dno-lib also skip docgen
  * build runner: communicate TTY conf to child procs via env vars
  * build.zig: fix how test-cases marked is_test=1 are handled
  * build runner: print to stderr in dumb terminals
  * build.zig: bump maxrss upper bound for std lib tests
  * Revert "build runner: print to stderr in dumb terminals"
  * fix wasm bootstrapping compilation errors
  * build.zig: install the langref to $prefix/doc/langref.html
  * standalone tests: avoid running on strange target
  * test-link: add names to headerpad test
  * disable failing aarch64 backend behavior tests
  * std.fifo: make toOwnedSlice support head != 0
  * add std.process.cleanExit
  * getExternalExecutor: fix aarch64 windows
  * make the build runner and test runner talk to each other
  * test-stack-trace: set env to disable color
  * remove bad unit test from std lib
  * std.build.RunStep: clean up some leftover mess
  * test runner: remove one superfluous stack frame
  * fix endianness when using test-runner in qemu
  * add a workaround for miscompilation regarding alignment
  * add the new extern test to standalone tests
  * remove redundant link test
  * add skip_foreign_checks=true on a standalone test
  * build runner: fix compilation errors on windows
  * build runner: tweak progress bar display
  * std.fs.File.writevAll: fix behavior for 0-length vectors
  * Module: handle incremental update from ZIR with AST errors
  * test-cases: fix incorrectly linking libc when backend is llvm
  * std.Build.CompileStep: proper step dependency on headers
  * CLI: remove the experimental --watch flag
  * std.Build.Cache: handle ENOENT on createFile race
  * disable std lib unit tests that hard code port numbers
  * revert a change to C ABI tests
  * std.Build.CompileStep: remove setNamePrefix and add setName
  * use DEC graphics instead of Unicode for box drawing
  * std.Build.Cache: handle ENOENT on createFile race
  * std.Build.RunStep: fix handling spawn failure
  * test-cli: fix expected stderr on windows
  * add compile log output to build runner
  * std.Build.Cache: make unit tests not depend on cwd
  * std.os.windows.OpenFile: handle DELETE_PENDING
  * test-cases: add missing compile log output
  * add std.LinearFifo.readableSliceOfLen
  * std.Build: fix invalid assumption about fifos
  * fix std.fs unit test to not be racey
  * windows_spawn standalone test: test on native OS
  * fix compile log test case expected output
  * test-c-abi: disable LTO on more targets
  * std lib tests: avoid cwd races by using std.testing.tmpDir
  * C ABI tests: don't test aarch64-windows yet
  * fix test-case copy-paste typo from earlier commit

  [ Jakub Konka ]
  * std: move os/darwin.zig and related to c/darwin.zig

  [ InKryption ]
  * Add error for bad cast from `*T` to `*[n]T`

  [ mllken ]
  * std.os: handle EPERM errno for bind

  [ Jakub Konka ]
  * link: move macOS kernel inode cache invalidation to MachO linker

  [ Evin Yulo ]
  * Fix #14901: parseFloat parsing `0x` successfully

  [ Andrew Kelley ]
  * make docgen accept --zig-lib-dir
  * disable bad std lib tests
  * remove standalone test "issue_9812"
  * disable failing standalone test on windows

  [ mlugg ]
  * Sema: allow dereferencing ill-defined pointers to zero-bit types at comptime

  [ Jacob Young ]
  * main: add debug option to dump unoptimized llvm ir

  [ Andrew Kelley ]
  * update-zig1: add --enable-sign-ext to wasm-opt

  [ Motiejus Jakštys ]
  * add BoundedArrayAligned (#14580)

  [ Bas Westerbaan ]
  * tls: use post-quantum secure key exchange (#14920)

  [ Andrew Kelley ]
  * update libcxx to LLVM 16.0.0-rc4

  [ Motiejus Jakštys ]
  * Build.zig_exe: make it sentinel-aware

  [ mlugg ]
  * Sema: make @returnAddress return 0 at comptime

  [ hequn ]
  * Enable IPv4 mapped address conversion in linux version getAddressList (#14916)

  [ Andrew Kelley ]
  * CI: update macos tarball to llvm 16.0.0-rc4

  [ Motiejus Jakštys ]
  * fix copy-paste errors

  [ Jakub Konka ]
  * macho+zld: clean up opening and closing of file descriptors

  [ Luuk de Gram ]
  * wasm-link: fix storing decls in the right segment
  * wasm-link: update bss linker test

  [ Jakub Konka ]
  * macho+zld: clean up how to interface with link.zig and openPath()

  [ square ]
  * delete `--prominent-compile-errors` from help

  [ Nicolas Sterchele ]
  * build-step: remove latest LogStep ref

  [ Luuk de Gram ]
  * wasm-linker: basic TLS support
  * wasm-linker: refactor Limits and add flags
  * wasm-linker: feature verifiction for shared-mem
  * wasm-linker: emit 'data count' & segment flags
  * wasm-linker: create TLS symbols
  * wasm-linker: implement TLS initialization function
  * wasm-linker: implement runtime TLS relocations
  * wasm: add atomics opcodes and refactoring
  * wasm-linker: implement __wasm_init_memory & flag

  [ Jakub Konka ]
  * os.zig: expose ptrace wrapper for darwin and linux
  * link: use std.os.ptrace wrapper on linux
  * darwin: resurrect posix_spawn wrappers
  * macho: add hot-code swapping poc
  * macos: HCS PoC working
  * macho: add wrappers for attaching/detaching from HCS process
  * darwin: put posix spawn constants in POSIX_SPAWN struct

  [ Andrew Kelley ]
  * update C headers to LLVM 16.0.0
  * fix std.Build.OptionsStep

  [ Jakub Konka ]
  * macho: enable hot update state only when on compatible host
  * macho: fix 32bit build

  [ Ryan Liptak ]
  * Remove std.os.windows.QueryInformationFile (a wrapper of NtQueryInformationFile)

  [ Ganesan Rajagopal ]
  * Fix linker segfault adding rpath to sharedlib

  [ Reuben Dunnington ]
  * Fix GetFileInformationByHandle compile error (#14829)

  [ Xavier Bouchoux ]
  * objcopy: add some support for --strip-debug and --strip-all
  * objcopy: fix compilation on 32-bit systems
  * objcopy: add support for `--add-gnu-debuglink` and `--only-keep-debug`
  * objcopy: use defined data for padding ELF sections
  * objcopy: add support for stripping 32bits ELF files
  * objcopy: cleanups and extract helper functions to reduce bloat

  [ Jakub Konka ]
  * macho+zld: relax assumption about dead strip atoms uniqueness

  [ Veikka Tuominen ]
  * std: improve error for formatting a function body type

  [ KOUNOIKE Yuusuke ]
  * add wasm-simd support for suggestVectorSizeForCpu (#14992)

  [ Andrew Kelley ]
  * std.Build.RunStep: fix control flow with qemu+glibc logic

  [ Veikka Tuominen ]
  * llvm: fix lowering packed union initiated to zero-bit value
  * Value: handle comparisons of runtime_values
  * Sema: improve error message of field access of wrapped type

  [ mlugg ]
  * Port some stage1 test cases to stage2

  [ Jacob Young ]
  * tests: add -Dskip-cross-glibc option

  [ Veikka Tuominen ]
  * Value: implement reinterpreting enum field index as integer

  [ Frank Denis ]
  * Remove Gimli and Xoodoo from the standard library (#14928)

  [ Jacob Young ]
  * x86_64: implement min and max as commutative binary ops
  * x86_64: implement basic float ops
  * x86_64: fix OBO
  * x86_64: implement float division intrinsics
  * x86_64: reimplement inline memcpy and memset
  * x86_64: implement clz, ctz, and popCount
  * x86_64: implement @returnAddress and @frameAddress
  * x86_64: improve codegen for neg and not
  * x86_64: implement some error union ops
  * x86_64: (re)implement optional ops
  * x86_64: implement @popCount for older processors
  * x86_64: implement some slice ops
  * codegen: fix backend breakage due to optional layout change
  * x86_64: implement atomic and fence ops
  * x86_64: implement @byteSwap and @bitReverse

  [ Jakub Konka ]
  * macho+zld: save locals from section atoms to symtab too
  * macho+zld: return null rather than error on invalid AbbrevKind
  * macho: use TOOL=0x5 to mean ZIG as the build tool

  [ Xavier Bouchoux ]
  * CBE: implement aggregateInit() for array of array case.

  [ Marcus Ramse ]
  * std.json: support tuples

  [ mlugg ]
  * Sema: implement @export for arbitrary values

  [ r00ster91 ]
  * langref: add missing return types to builtin functions

  [ John Schmidt ]
  * Improve error messages for break type coercion

  [ Roman Frołow ]
  * naming: mid for index and mid_item for item

  [ Jakub Konka ]
  * macho+zld: put __TEXT bound sections in __TEXT segment
  * macho+zld: put locals and globals in function-starts section
  * macho+zld: save all defined globals in the export trie

  [ Veikka Tuominen ]
  * fix broken test cases exposed by ec445fb6b8bb3f3d423cafa4f3a7860da65ca233

  [ Jakub Konka ]
  * macho+zld: when finding by address, note the end of section symbols too
  * macho: collect all exports into the export trie

  [ Frank Denis ]
  * crypto.hmac: set the recommended key size to the block size (#15031)

  [ xEgoist ]
  * Implemented getMaxRss for Windows
  * Implemented Zig wrapper for `GetProcessMemoryInfo`

  [ Jakub Konka ]
  * macho+zld: refactor parsing of relocation target
  * macho+zld: make sure we populate source section index lookup if no undefs

  [ Frank Denis ]
  * TLS: Favor ChaCha over AES-based ciphers on CPUs without AES support (#15034)

  [ Adrian Delgado ]
  * std.math: port int log10 from Rust
  * workaround bootstrapping limitations

  [ Frank Denis ]
  * http.Client: don't prematurely check transfer_{encoding,compression} (#15040)

  [ Phil Eaton ]
  * Two more examples of possible syntax when dealing with errors (#15042)

  [ xEgoist ]
  * Refactored GetProcessMemoryInfo to return `VM_COUNTERS`
  * fmt: lib/std/os/windows/ntdll.zig

  [ Mateusz Poliwczak ]
  * std.base64: don't overflow dest with padding

  [ Jakub Konka ]
  * macho+zld: only check for alias symbols for non-extern relocations
  * build: when parsing rpaths, do not expand special runtime paths on Darwin
  * build: allow for deferred FileSource matching in CheckObjectStep

  [ Jacob Young ]
  * x86_64: fix value tracking bugs
  * x86_64: fix more value tracking bugs
  * x86_64: fix block result value tracking
  * x86_64: canonicalize each br of a block
  * x86_64: try to fix br canonicalization
  * x86_64: detect canonicalisation hazards
  * x86_64: add back assume unused

  [ tjog ]
  * std.process.Child: implement maxrss on Darwin

  [ Jay Petacat ]
  * std.enums.IndexedSet: Add initOne and initMany

  [ Marc Tiehuis ]
  * enable more float-parsing tests

  [ Jacob Young ]
  * x86_64: implement saturating arithmetic
  * codegen: fix ptr-like optional constants
  * x86_64: implement struct_field_ptr for packed containers
  * x86_64: implement struct_field_val for packed containers
  * x86_64: implement large ptr_elem_val
  * x86_64: implement 128-bit shifts
  * x86_64: implement 128-bit intcast
  * x86_64: fix cmpxchg
  * x86_64: implement atomic loops
  * x86_64: implement teb inline assembly for windows
  * behavior: disable multi threaded for the stage2_x86_64 windows target

  [ kcbanner ]
  * coff: change dynamicbase to default to true (to match lld), change it to pass the negation to lld, and add --no-dynamicbase build: expose linker_dynamicbase on CompileStep and map it to emit --no-dynamicbase
  * compilation: fixup linker_dynamicbase default in InitOptions

  [ Jakub Konka ]
  * libc: update macOS libc headers

  [ kcbanner ]
  * build: fixes from review

  [ Jakub Konka ]
  * libc: update macOS libSystem stubs

  [ Jacob Young ]
  * x86_64: remove unused Mir encodings
  * std: remove temporary workarounds for stage2_x86_64

  [ Veikka Tuominen ]
  * Module: fix lazy srcloc resolution for new for loop syntax

  [ kcbanner ]
  * main: recognize --dynamicbase

  [ Techatrix ]
  * wasm: implement float operations with compiler-rt

  [ David CARLIER ]
  * std: add the VM_MAKE_TAG macro for darwin.

  [ Jacob Young ]
  * x86_64: enable mem dst bin ops, and fix uncovered bugs
  * std.MultiArrayList: add set and get to Slice
  * x86_64: factor out lowering from emitting
  * x86_64: add live codegen debug
  * x86_64: implement some binary ops for large values
  * x86_64: fix 64-bit multiply by 32-bit immediate
  * x86_64: implement trunc with large source
  * x86_64: fix popcnt and disable regressed test
  * x86_64: cleanup debug mir dumping

  [ Manlio Perillo ]
  * docgen: remove line support in printShell
  * docgen: improve the termColor function

  [ Jakub Konka ]
  * coff: grow .idata if required
  * link: pass expected lib name as hint in getGlobalSymbol()
  * coff: repurpose value field of import Symbol for lib_name offset
  * coff: do not use atoms for synthetic import address table

  [ Tw ]
  * bpf: add missing *const for helper functions

  [ Jakub Konka ]
  * coff: move import table definition into a separate ImportTable.zig module
  * coff: assert the imports table is not dirty
  * tests: enable multi-threaded x86_64-windows tests with self-hosted
  * coff: resolve relocs on bytes buffer directly
  * coff: use ArrayHashMap if we are iterating over keys

  [ Motiejus Jakštys ]
  * glibc: add backwards compatibility for some symbols
  * glibc compat: add a test and README

  [ Jakub Konka ]
  * coff: put section growing in helper; only mark section if actually resolved
  * macho: remove error_union return from resolveRelocations()

  [ Jacob Young ]
  * Sema: fix empty slice pointer value

  [ dweiller ]
  * tests: enable test_runner_module_imports standalone test

  [ Jacob Young ]
  * llvm: fix crashes when loading a struct field
  * zig.h: fix non-msvc warnings in msvc code

  [ Tw ]
  * llvm/bpf: disable llvm builtins for bpf target

  [ Silver ]
  * Update GDB pretty printers

  [ Robin Voetter ]
  * new builtins: @workItemId, @workGroupId, @workGroupSize

  [ bing ]
  * Change ordering of prep provide buffers args

  [ Jakub Konka ]
  * coff: use copy in zig-cache for child process in HCS
  * coff: first (not-fully-functional) PoC of HCS
  * coff: make sure we correctly slide relocation target when resolving
  * coff: reimplement Read/WriteProcessMemory using our own ntdll wrappers
  * coff: reimplement VirtualProtectEx using our own ntdll wrapper
  * std: move ntdll wrappers to std.os.windows
  * coff: use std.os.windows wrappers; fix relocating in-file
  * std: simplify VirtualProtectEx and fix ntdll signature
  * coff: due to ASLR we need to dupe the code for relocating
  * coff: enable hot-code swapping on a compatible host only

  [ jagt ]
  * docgen: add `additional_option` token; fix wasm-freestanding example

  [ Krzysztof Wolicki ]
  * autodoc: fix Extended builtin functions names rendering
  * autodoc: add new builtins

  [ Jakub Konka ]
  * libc: add missing sys/timex.h to macOS libc headers
  * libc: update macOS libc headers to latest SDK 13.3
  * std: bump max macOS version to 13.3

  [ Carl Åstholm ]
  * std.mem.reverseIterator: accept pointer to array
  * std.mem.reverseIterator: add nextPtr()

  [ Jakub Konka ]
  * tapi: update yaml parser
  * tapi: update to latest Apple changes
  * libc: update macOS libSystem.13.tbd
  * macho: look for entry in archives/dylibs too
  * macho: handle weird case of entrypoint being a stub
  * link-test: add test for entry in a static archive for MachO
  * link-test: add test for entry in a dynamic library for MachO
  * macho: do not assume entrypoint is defined
  * link: handle -u flag in all linkers
  * link-test: skip foreign checks in entry_in_archive MachO test
  * link-test: adjust test/link/bugs/macho/13056 to latest changes on macOS 13.3

  [ Jacob Young ]
  * x86_64: implement aggregate init of a packed struct
  * x86_64: implement calling var args functions
  * x86_64: implement error name
  * x86_64: implement large cmp
  * x86_64: implement struct_field_val for large packed structs
  * x86_64: implement wide multiply
  * x86_64: implement large add/sub with overflow
  * x86_64: implement shl with overflow
  * Sema: defer stores to inferred allocs

  [ Jakub Konka ]
  * macho+coff: remove alignment from Atom as it is unused
  * macho: clean up code responsible for growing sections in file

  [ Jacob Young ]
  * x86_64: implement a more generic assembler for inline assembly
  * x86_64: implement storing large immediates
  * x86_64: implement store to immediate address
  * x86_64: remove returns from naked functions
  * x86_64: canonicalise loops
  * Elf: add program headers for the program header table
  * link: cleanup lazy symbols
  * x86_64: fix typos

  [ Jakub Konka ]
  * elf: preallocate offsets for PT_PHDR and PT_LOAD (empty) segment

  [ Jacob Young ]
  * elf: cleanup phdr tracking
  * x86_64: implement cmp_lt_errors_len
  * start: disable extra start logic on various x86_64 subtargets

  [ David CARLIER ]
  * std: freebsd MAP* constants update, MAP_ALIGNED_SUPER and the MAP_ALIGNED macro.

  [ Ganesan Rajagopal ]
  * GPA: Catch invalid frees

  [ Jakub Konka ]
  * macho+zld: refactor how we resolve dyld_stub_binder symbol

  [ Jacob Young ]
  * cases: disable failing incremental tests

  [ Jakub Konka ]
  * macho: refactor adding GOT and stub entries
  * macho: reapply relocation dirtying logic from coff linker

  [ Jacob Young ]
  * std: fix memory bugs

  [ David CARLIER ]
  * std: add a subset of the apple's QOS api
  * std: add madvise flags to freebsd

  [ Veikka Tuominen ]
  * Sema: implement inline switch capture at comptime
  * Sema: validate array element types

  [ Nikita Ronja ]
  * Add NetBSD termios constants to std.c.netbsd

  [ David CARLIER ]
  * std: add os_log/signpost api (sort of linux's perf event equivalent) subset.

  [ jim price ]
  * std.os: add mincore syscall

  [ Jacob Young ]
  * compiler_rt: attempt to fix f16 abi on mac with llvm 16
  * compiler_rt: change the abi of f16 on mac to depend on the other type

  [ alion02 ]
  * Fix crash on some Windows machines

  [ Andrew Kelley ]
  * update libcxx to LLVM 16.0.1
  * update zig1.wasm
  * CI: update x86_64-macos tarballs to llvm 16.0.1
  * zig.h: f16 fix for compiler_rt
  * CI: update aarch64-macos tarball
  * CI: disable reproducibility check on x86_64-macos

  [ mlugg ]
  * Liveness: defer deaths of externally-scoped instructions in loop bodies

  [ Jacob Young ]
  * cbe: assert there are no unfreed locals

  [ Auguste Rame ]
  * Make self-hosted wasm @returnAddress return 0

  [ mateusz ]
  * std.json: allow returning custom errors from custom stringify

  [ Zach Cheung ]
  * add linker -wrap flag

  [ Andrew Kelley ]
  * zig cc: complete the -wrap flag implementation

  [ Auguste Rame ]
  * Make airShuffle work for unrolled
  * Finish shuffle, fix arrayElemVal for vectors
  * Handle compile time case for vector element access using lane access
  * Enable new tests
  * Fix 32-bit compile errors

  [ Nameless ]
  * tls.Client: don't read if we don't need more data
  * std.http: add http server
  * add buffering to connection instead of the http protocol, to allow passing through upgrades
  * fix bugs, waitForCompleteHead -> do, move redirecting to do instead of read
  * update package manager to use req.do(), fix chunked trailer reading
  * std.http: add documentation
  * std.http: reenable protocol read tests, add missing branch in findHeaders end

  [ David CARLIER ]
  * std: add FreeBSD's procctl api.

  [ Andrew Kelley ]
  * zig.h: fix typo for zig_trap definition
  * zig cc: handle the -r flag

  [ Robin Voetter ]
  * spirv: add Addresses capability for opencl
  * std: add generic target for spirv
  * dont destroy old bin file on link openpath failure
  * spirv: make genericName match target name.
  * spirv: cannot build libc
  * spirv: allow more calling conventions
  * spirv: enum type
  * spirv: make Type.Ref stronger
  * spirv: improve storage efficiency for integer and float types
  * spirv: emit OpName for some primitive types
  * spirv: array, structs, bitcast, call
  * spirv: slice types
  * spirv: add liveness checks
  * spirv: slice operations
  * spirv: add_with_overflow
  * spirv: enum values, struct_field_val, ret_ptr, ret_load
  * spirv: (some) array and struct constants
  * spirv: div, rem, intcast, some strange integer masking
  * spirv: struct field ptr index, ptr elem ptr
  * spirv: left shift
  * spirv: switch_br lowering
  * spirv: some fixes and improvements
  * spirv: make IdResultType and IdRef weak aliases of IdResult
  * spirv: more fixes and improvements
  * spirv: introduce type/value representations
  * spirv: make locals generic pointers
  * spirv: convert bools on load/store
  * spirv: start lowering non-function decls
  * spirv: generate code directly in updateFunc/updateDecl
  * spirv: initial decl_ref pointer generation
  * spirv: generic global pointers
  * spirv: optional types
  * spirv: string literals
  * spirv: slice constants
  * spirv: improve genConstant usage
  * spirv: optional constants
  * spirv: union types/constants
  * spirv: overhaul constant lowering
  * spirv: improve linking globals
  * spirv: implement error set and error unions
  * spirv: temporarily emit test kernels
  * spirv: add decl dependencies for functions also
  * spirv: emit interface variables for entry points
  * amdgpu,nvptx: unify kernel calling conventions
  * spirv: export functions with .Kernel callconv as entry point
  * spirv: deny OpEntryPoint in asm
  * spirv: deny global OpVariable in inline asm
  * spirv: allow global, constant address spaces
  * spirv: minimal start code
  * spirv: Do not generate the Alignment attribute on pointers for now
  * spirv: emit nonsemantic info with zig errors

  [ Andrew Kelley ]
  * std.debug: fix segfault/panic race condition
  * std.os.sendto: use ws2_32 on Windows

  [ GethDW ]
  * std.MultiArrayList: add support for tagged unions.

  [ Piotr Sikora ]
  * glibc: allow linking against external libcrypt.

  [ Jacob Young ]
  * Sema: avoid emitting loops that can't loop

  [ Andrew Kelley ]
  * std.Build.CompileStep: remove redundant dest_builder field
  * std.Build.CompileStep: delete install_step field
  * std.Build.CompileStep: remove run() and install()
  * std.Build.RunStep: don't close stdin
  * init-exe/init-lib template: fix use of install() and run()
  * CLI: remove --enable-cache option
  * std.Build.CompileStep: remove output_dir
  * docgen: avoid use of --enable-cache
  * fix build logic due to state mutations and break the API accordingly

  [ Krzysztof Wolicki ]
  * Add `omit_pkg_fetching_code` option to test_cases (#15244)

  [ Loris Cro ]
  * Autodoc usingnamespace (#15216)

  [ mlugg ]
  * Zir: implement explicit block_comptime instruction

  [ Michael Dusan ]
  * openbsd: fix thread name buffer size

  [ Luuk de Gram ]
  * wasm: generate function to get tag name
  * wasm: generate unnamed constant for tag
  * wasm: make tagName null-terminated
  * wasm: enable `@tagName` behavior tests

  [ Jakub Konka ]
  * macos: add missing getopt.h header

  [ Andrew Kelley ]
  * never use C pointers!!

  [ Jan200101 ]
  * build: add option to not build langref on install

  [ Andrew Kelley ]
  * add c_char type

  [ Jacob Young ]
  * x86_64: fix some of the mass confusion about the meaning of `MCValue`
  * x86_64: fix atomic loop implementation
  * x86_64: fix constant pointers to zero-bit types
  * x86_64: fix clz miscompile

  [ Jakub Konka ]
  * macho: fix incorrect DWARF subprogram generation
  * codegen: use non-debug Type/Value formatting
  * x86_64: remove loadMemPtrIntoRegister in genSetReg
  * x86_64: simplify store() logic when value is in memory
  * x86_64: simplify store() logic when ptr is in memory
  * x86_64: simplify genUnOpMir() when modifying value in memory
  * x86_64: simplify genBinOp() and genBinOpMir() when modifying value in memory
  * x86_64: simplify airArrayElemVal() when pulling array from memory
  * x86_64: simplify isNull() when loading optional from memory
  * x86_64: simplify genSetStackArg() when storing value from memory
  * x86_64: simplify genSetStack() when storing value from memory
  * x86_64: simplify genInlineMemcpy() when copying from memory
  * x86_64: simplify genInlineMemset() when setting value in memory
  * x86_64: remove loadMemPtrIntoRegister() now redundant
  * macho: emit TLS sections
  * macho: refactor relocation type in incremental linker
  * macho: add machinery for emitting TLV refs
  * macho: refactor common logic between synthetic tables
  * macho: improve reporting of missing symbols
  * macho: cleanup dirtying and writing GOT atoms
  * macho: emit TLV pointers and variables
  * macho: reference TLV thunks via GOT table
  * x86_64: emit pointer to TLV for macho
  * x86_64: fix load() and store() to accommodate TLV
  * x86_64: make TLV a separate MCValue
  * ci: let's not skip non native tests on macos!

  [ Loris Cro ]
  * autodoc: make DeclStatus references long-lived
  * autodoc: index in search usingnamespace decls

  [ Krzysztof Wolicki ]
  * autodoc: Handling of default values for struct fields
  * autodoc: Handling of explicit values for enum fields Fixes to frontend handling of structs
  * autodoc: main.js formatting

  [ David CARLIER ]
  * std: add kinfo_vmentry for FreeBSD

  [ Frank Denis ]
  * secp256k1: Endormorphism.splitScalar() can return an error (#15270)

  [ David Carlier ]
  * std add getrandom to solato solaris based systems

  [ Frank Denis ]
  * std.crypto.aegis: support 256-bit tags (#15276)

  [ Luuk de Gram ]
  * wasm: no longer use simplified `start.zig`
  * test-link: update type link test due start.zig

  [ David CARLIER ]
  * std: add shm_create_largepage for FreeBSD, completing MFD* constants.

  [ xEgoist ]
  * windows: replace GetPhysicallyInstalledSystemMemory with ntdll.

  [ Andrew Kelley ]
  * std.Build.CompileStep: fix installLibraryHeaders regression

  [ Luuk de Gram ]
  * fix zig cc linker flags for Wasm

  [ Jakub Konka ]
  * x86_64: split MCValue.tlv_reloc into .load_tlv and .lea_tlv
  * x86_64: cleanup different memory load types

  [ Loris Cro ]
  * autodoc: add support for defining guide sections
  * autodoc: add initial support for linking decls mentioned in markdown

  [ serg ]
  * fix: print targets

  [ Andrew Kelley ]
  * std.Build: add some more init options to CompileStep
  * tests: avoid skipping native tests
  * CI: more C backend test coverage
  * compiler_rt: use default visibility for non-exported symbols
  * disable not-yet-passing test suites
  * disable not-yet-passing C backend tests
  * disable more failing C backend tests

  [ Jakub Konka ]
  * x86_64: fix loading/storing pointers from linker deferred memory locations

  [ Andrew Kelley ]
  * disable x86_64-windows self-hosted backend behavior tests

  [ Krzysztof Wolicki ]
  * autodoc: Fix errors in main.js; add support for defaults in exprName

  [ kcbanner ]
  * DynLib.lookup: cast the pointer to the correct alignment
  * re-enable load_dynamic_library standalone tests

  [ Bogdan Romanyuk ]
  * Removing duplicate word in doc

  [ xEgoist ]
  * windows: use NtSetInformationFile in DeleteFile.
  * fs: Re-enable non-empty dir test on windows

  [ Motiejus Jakštys ]
  * zig build: change "-Drelease" to "-Doptimize"
  * build.zig: default to Debug for wasm32 too

  [ Jacob Young ]
  * x86_64: fix @clz direction
  * x86_64: fix overflow of extended multiply
  * x86_64: implement packed load and store
  * behavior: disable flaky test on x86_64
  * Sema: fix empty infinite loops
  * tests: fix skip_cross_glibc check

  [ Andrew Kelley ]
  * Revert "ci: let's not skip non native tests on macos!"

  [ Ryo Ota ]
  * HTTP client and server send "0\r\n\r\n" when chunked encoding

  [ Jakub Konka ]
  * tapi: fix memory bugs in yaml parser
  * x86_64: clean up formatting functions for Instruction and Operand

  [ Andrew Kelley ]
  * CI: give x86_64-linux a maxrss parameter

  [ Loris Cro ]
  * autodoc: more support for linking decls in docs & guides

  [ kcbanner ]
  * compilation: fix non-zig compilations not using CacheMode.whole main: consume --debug-log argument even when logging is disabled

  [ Nameless ]
  * add explicit error union for Bundle.rescan and associated functions
  * std.http: further curate error set, remove last_error
  * std.http: very basic http client proxy
  * std.http: add Headers
  * std.http: curate some Server errors, fix reading chunked bodies
  * std.http: use 'Field' to describe an individual header

  [ xEgoist ]
  * windows: better error handling for DeleteFile.
  * fs: add test for Windows ready-only file deletion.

  [ David CARLIER ]
  * std: freebsd update proposal

  [ Nameless ]
  * std.http: pass Method to request directly, parse trailing headers

  [ Andrew Kelley ]
  * Cache: fix multi-process race condition on macOS

  [ xEgoist ]
  * windows: Handle `DELETE_PENDING` in `DeleteFile`.

  [ kcbanner ]
  * debug: fix missing stack traces during crashes on windows
  * coff: support allow_shlib_undefined

  [ r00ster91 ]
  * zig fmt: omit extra whitespace after last comment before EOF

  [ serg ]
  * std.target.riscv: fix baseline_rv32 missing feature "32bit"

  [ Erik Arvstedt ]
  * std.Thread.Condition: optimize example

  [ hequn ]
  * Assembly file add soft float option for mips (#15340)

  [ Mateusz Radomski ]
  * math.big.int: remove stale comments

  [ mlugg ]
  * std: fix uses of comptime blocks in non-inline functions
  * doc: clarifications to comptime section in langref after #14819

  [ kcbanner ]
  * compilation: fix generating coff debug info on -gnu

  [ Andrew Kelley ]
  * work around an intermittent io_uring test failure

  [ Ryo Ota ]
  * std.http: add missing InvalidTrailers to ReadError

  [ Tw ]
  * llvm: emit metadata for exported global variables (#15349)

  [ Ryo Ota ]
  * fix http client build error

  [ mlugg ]
  * Sema: allow ptr field access on pointer-to-array
  * Module: mark function body dependencies, don't re-analyze anonymous decls

  [ Ryo Ota ]
  * fix memory leaks and add an HTTP test

  [ mlugg ]
  * Liveness: control flow analysis

  [ Jacob Young ]
  * print_air: allow dumping air without liveness
  * Liveness: add a liveness verification pass

  [ mlugg ]
  * print_air: print new Liveness data
  * Liveness: avoid emitting unused instructions or marking their operands as used
  * cbe: integrate new Liveness behaviour

  [ Luuk de Gram ]
  * wasm: integrate new Liveness behaviour

  [ mlugg ]
  * Begin integrating new liveness analysis into remaining backends

  [ Jacob Young ]
  * x86_64: rewrite inst tracking
  * x86_64: add block death workaround
  * x86_64: instruction tracking cleanup
  * x86_64: disable some behavior tests
  * x86_64: use liveness block deaths
  * x86_64: enable advanced test runner on Linux
  * x86_64: adapt to new isUnused liveness change
  * x86_64: fix merge conflict
  * behavior: fix test disable condition

  [ mlugg ]
  * Unify incremental test cases and disable many

  [ David Gonzalez Martin ]
  * Expose an option for producing 64-bit DWARF format

  [ Andrew Kelley ]
  * fixes to the previous commit

  [ zooster ]
  * std.fs: add linking docs to makeDir*
  * std.math: add lerp (#13002)

  [ Stevie Hryciw ]
  * std.math.big.int: Initialize limbs in addWrap

  [ Jan Philipp Hafer ]
  * compiler_rt: README stubs for arbitrary precision big integer library routines

  [ Ryo Ota ]
  * move the HTTP test to lib/std/http/test.zig
  * create std.http.Server.Response.deinit to handle keepalive connections

  [ Eric Rowley ]
  * Do not use -fPIC when compiling a UEFI application

  [ Krzysztof Wolicki ]
  * autodoc: Handle calling conventions better special case inline cc in exprName

  [ David CARLIER ]
  * std: adding freebsd's elf_aux_info api

  [ Frank Denis ]
  * AEGIS MAC: add support for 128-bit tags (#15379)

  [ Jacob Young ]
  * cbe: enable CI for std tests
  * std: add missing windows libraries when running tests
  * cbe: fix issues with atomic floats
  * cbe: fix remaining aarch64 issues
  * test: exclude the last warning from cbe tests
  * std: add more missing windows libraries when running tests
  * zig.h: fix typos affecting msvc
  * cbe: fix f128 and c_longdouble abi
  * cbe: fix float casts involving f16
  * cbe: fix atomic float min/max
  * behavior: enable a bunch of disabled tests
  * std: disable failing test
  * zig.h: fix msvc abi for f128 with a gnu compiler
  * cbe: implement 128-bit atomics support

  [ Jakub Konka ]
  * elf: do not reserve a GOT slot for every Atom
  * elf: make TableSection a generic construct
  * macho: use generic TableSection for GOT mgmt
  * macho: fix runtime panics
  * macho: correctly dirty the GOT table after memory realloc
  * macho: resolve relocs before writing to memory (fixes HCS)
  * macho: do not allocate atoms for stub entries
  * macho: do not allocate atom for __stub_helper preamble
  * macho: refactor common codepath for collecting bindings from TableSection
  * macho: skip GOT for TLVs; handle them separately when lowering
  * macho: fix dirtying of GOT entries
  * coff: use TableSection for GOT
  * coff: add image base to GOT relocations
  * coff: treat vmaddr of 0 as unallocated when checking if resolvable
  * coff: mark relocs dirty by target when updating GOT
  * macho: mark relocs dirty by target when updating GOT/stubs
  * macho: rebase lazy pointers and apply corrected base offset

  [ Manlio Perillo ]
  * std.Build.RunStep: fix captureStdOut function return type

  [ Krzysztof Wolicki ]
  * autodoc: Change html file destination dirs Each file is now saved with its package index in data.json

  [ Jacob Young ]
  * zig.h: fix float negation
  * cbe: fix local aliasing issues in atomic ops
  * std: remove names from incorrectly named tests
  * zig.h: add missing msvc atomics

  [ -k ]
  * doc: fix minor grammar issues

  [ David CARLIER ]
  * os: expand sched_getaffinity wrapper and update freebsd's cpuset api flags.

  [ Bogdan Romanyuk ]
  * Add doc comments for ComptimeStringMap

  [ David CARLIER ]
  * std: adding netbsd's pthread to cpu affinity api

  [ Borja Clemente ]
  * std: GPA deinit return an enum instead of a bool

  [ David CARLIER ]
  * process: totalSystemMemory freebsd portage

  [ dweiller ]
  * docgen: fix exe_build_err code snippets

  [ Casey Banner ]
  * sema: fix memory corruption caused by resolveStructLayout

  [ Luuk de Gram ]
  * wasm: implement `cmp_lt_errors_len` instruction
  * wasm: enable `@intToError` test
  * wasm: implement `error_set_has_value`
  * wasm: store `__zig_lt_errors_len` in linear data

  [ David CARLIER ]
  * std: add CCRandomGenerateBytes macOs native api.
  * os: getrandom wrapper favoring it for macOs/iOs only

  [ Krzysztof Wolicki ]
  * autodoc: Change package to module to better reflect the new names

  [ Veikka Tuominen ]
  * AstGen: fix debug info for some builtins
  * enable passing test

  [ Jakub Konka ]
  * elf: add missing doc comments to some definitions
  * elf: add helpers for extracting type and bind from symbol def

  [ Veikka Tuominen ]
  * Sema: emit cast to null panics for function pointers

  [ David CARLIER ]
  * std: enriching malloc api on freebsd.
  * std: add a subset of the macOs's libproc api.
  * std: add accept_filter struct to make use of SO_ACCEPTFILTER socket option

  [ David Carlier ]
  * std: mcontext layout for x86 and fixing few x86_64 fields types for FreeBSD

  [ David CARLIER ]
  * std: adding FreeBSD's sched wrappers
  * std: adding sigevent to supported platforms.

  [ xEgoist ]
  * fs.Dir.deleteTree: Fix DirNotEmpty condition

  [ Nicolas Sterchele ]
  * process: add args definition comment

  [ Travis Staloch ]
  * std.tar: make sub dirs + trim spaces

  [ Bogdan Romanyuk ]
  * langref: add documentation for noinline keyword

  [ Hubert Jasudowicz ]
  * std.os.linux: Add new CAP constants

  [ Manlio Perillo ]
  * langref: improve for loop documentation

  [ zooster ]
  * Improvements to docs and text

  [ kcbanner ]
  * translate-c: support brace-enclosed string initializers (c++20 9.4.2.1)

  [ mlugg ]
  * Add `@inComptime` builtin

  [ Andrew Kelley ]
  * update zig1.wasm

  [ Ryan Liptak ]
  * http.Headers: Add `clearAndFree` and `clearRetainingCapacity`
  * std.http: Always initialize `response.headers` in Client.request

  [ David Carlier ]
  * std.os: sysctl* wrappers, better warning at compile time

  [ David CARLIER ]
  * std.process: further totalSystemMemory portage

  [ Andrew Kelley ]
  * tests: add a maxrss for compiling std lib C backend .c file

  [ Ian Johnson ]
  * Sema: allow method calls on optional pointers

  [ Jon ]
  * std.net.StreamServer.Options: add reuse_port

  [ David Carlier ]
  * std.c: add find_path for haiku

  [ Andrew Kelley ]
  * Revert "tests: add a maxrss for compiling std lib C backend .c file"
  * CI: disable compiling std lib C backend test with clang

  [ David CARLIER ]
  * std.os: selfExePath implementation for haiku

  [ Ryo Ota ]
  * fix HTTP server to handle a chunked transfer coding request

  [ Jacob Young ]
  * std: fix windows resource leaks

  [ xEgoist ]
  * std: further windows resource fix

  [ Jacob Young ]
  * cbe: remove unused arena
  * cbe: implement @extern
  * cbe: fix mutability issues with builtin test_functions

  [ David CARLIER ]
  * std.c: adding mincore for freebsd

  [ Andrew Kelley ]
  * change semantics of `@memcpy` and `@memset`
  * update `@memcpy` to require equal src and dest lens
  * C backend: implement new memcpy and inttoptr semantics
  * wasm backend: implement new memcpy/memset and ptrtoint semantics
  * x86 backend: implement new memcpy/memset semantics
  * LLVM backend: support non-byte-sized memset
  * C backend: fix memset for loop lowering
  * Sema: implement comptime `@memset`
  * Sema: implement comptime `@memcpy`
  * add behavior test for `@memset` on slices
  * x86_64 backend: implement `@memset` for element ABI size > 1
  * x86_64 backend: support `@memset` with slices
  * langref: fix compile error
  * update zig1.wasm
  * wasm backend: fix airMemset with slices
  * update test cases for new memcpy/memset semantics
  * C backend: use ++ instead of += for airMemset
  * stage2: introduce store_safe AIR instruction
  * Sema: fix memcpy alias safety incorrect math
  * zig fmt
  * C backend: fix lowering comparison when array ptr meets ptr
  * CI: give aarch64-linux a maxrss parameter

  [ Janne Hellsten ]
  * std: @Vector support for std.json.parse

  [ kcbanner ]
  * sema: add error for coercing a slice to an anyopaque pointer

  [ mlugg ]
  * CBE: minor optimizations to output source
  * Sema: avoid emitting sequential dbg_stmt instructions

  [ Nameless ]
  * std.http: do -> wait, fix redirects

  [ Luuk de Gram ]
  * wasm: implement `cmpxchg{weak/strong}`
  * wasm: use atomic feature for `@cmpxchg` when enabled
  * wasm: implement `@atomicLoad`
  * wasm: implement `@atomicRmw`
  * wasm: implement `@fence`
  * wasm: implement atomic stores
  * wasm: support pointers in `cmpxchg`
  * wasm: enable atomics behavior tests

  [ Casey Banner ]
  * translate-c: fix codegen when C source has variables named the same as mangling prefixes

  [ kcbanner ]
  * add support for .field_ptr in elemValueAdvanced

  [ Loris Cro ]
  * Autodoc: new decl search system (#15475)
  * autodoc: fix sidebar regression and other minor bugs

  [ Meghan ]
  * std.http: fix name of Status field to better match RFC name (#15455)

  [ Jan Philipp Hafer ]
  * compiler_rt: document ARM status

  [ Jacob Young ]
  * x86_64: add frame indices
  * x86_64: fix some floating point encoding errors
  * behavior: update passing cbe tests
  * cases: disable broken backends
  * x86_64: fix rem/mod behavior and hazards
  * x86_64: fix tlv references

  [ Jakub Konka ]
  * macho: invalidate GOT/stub relocs after segment shift in memory
  * coff: invalidate GOT relocs after segment shift in memory

  [ Andrew Kelley ]
  * enable debugging infrastructure when using C backend

  [ kcbanner ]
  * sema: Rework Decl.value_arena to fix another memory corruption issue
  * sema: add `prev` to ValueArena to allow freeing previous arenas when new ones are created during re-analysis

  [ xEgoist ]
  * test: Fix windows_spawn tmp directory cleanup

  [ 朕与将军解战袍 ]
  * fix incorrect struct definition

  [ Tw ]
  * translate-c: deduplicate global declaration

  [ Jacob Young ]
  * std: prevent the possibility of deadlocks in some threaded tests

  [ Andrew Kelley ]
  * llvm backend: fix lowering of memset
  * llvm backend: fix memset with byref element value
  * LLVM backend: optimize memset with comptime-known element
  * C backend: fix memset for structs and arrays
  * disable not yet passing new behavior tests from this branch
  * stage2: avoid panicking for unimplemented compiler code
  * std.ArrayList: mark the appendNTimes methods inline
  * update codebase to use `@memset` and `@memcpy`
  * C backend: fix ptr comparison of array ptrs when one is null-terminated
  * std: update to use `@memcpy` directly
  * compiler: use `@memcpy` instead of `std.mem.copy`
  * C backend: take advantage of Assignment abstraction in airMemset
  * update a couple more callsites to `@memset`
  * std.os.windows: fix overlapping copy
  * Sema: fix false negative Value.isComptimePtr for slices
  * Sema: fix airMemset for comptime slices
  * std.Build.RunStep: show test name on process termination
  * disable 2 failing behavior tests with x86 backend
  * update zig1.wasm

  [ Krzysztof Wolicki ]
  * autodoc: Gather and display decltests

  [ Koakuma ]
  * stage2: sparc64: Skip unimplemented tests
  * stage2: sparc64: Add stub for c_va_*
  * stage2: sparc64: Implement airStructFieldPtr
  * stage2: sparc64: Factor machine offset calculation
  * stage2: sparc64: Implement airByteSwap
  * stage2: sparc64: Implement ASI load/store ops
  * stage2: sparc64: Implement airPtrSliceLenPtr/airPtrSlicePtrPtr stubs

  [ r00ster91 ]
  * std.builtin.CallModifier: add missing word
  * Sema: emit error for always_inline call of noinline function

  [ David CARLIER ]
  * std.c: add mincore api to darwin.

  [ r00ster91 ]
  * Sema: disallow indexing non-tuple struct

  [ cryptocode ]
  * autodoc: Add / as an alternative search key

  [ kcbanner ]
  * main: parse --dynamicbase linker arg

  [ David CARLIER ]
  * std.c:complete further more netbsd's mmap flags
  * std.c: freebsd add procctl exclusive x86_64 flags

  [ Andrew Kelley ]
  * update zig1.wasm
  * fix compilation error on 32-bit LLVM-enabled compiler builds

  [ Eric Joldasov ]
  * cmake: install zig to 'build_dir/stage3' during building

  [ dweiller ]
  * std.Build: detect and disallow top-level step name clashes

  [ kcbanner ]
  * sema: improve the error message when coercing to []anyopaque

  [ Linus Groh ]
  * std: fix a bunch of typos

  [ David CARLIER ]
  * std.c: add essential freebsd's capsicum api subset.

  [ Mason Remaley ]
  * Updates std.meta.intToEnum to support non-exhaustive enums (#15491)

  [ Martin Wickham ]
  * std.windows: use posix semantics to delete files, if available

  [ Jan Philipp Hafer ]
  * apply suggestion by user @xEgoist
  * address review by user @squeek502

  [ jcalabro ]
  * Fix PBKDF2 docstring comment

  [ Jacob Young ]
  * x86_64: use std.log for debug logging
  * x86_64: implement a bunch of floating point stuff
  * behavior: update affected tests for the x86_64 backend
  * x86_64: cleanup unneeded code
  * x86_64: fix emitting f80 globals
  * x86_64: fix stack realignment
  * x86_64: fix 128-bit cmpxchg
  * test_runner: use const to control verbose output
  * x86_64: fix large not and atomicrmw
  * x86_64: implement more forms of wide mul with overflow
  * x86_64: optimize wide mul with overflow
  * x86_64: enable normal start/test_runner logic on more targets
  * link: cleanup lazy alignment
  * link: update decl-specific lazy symbols
  * x86_64: factor out lazy_sym
  * Sema: use trap for backends that don't support panic_fn
  * x86_64: implement tagName
  * x86_64: workaround tagName linker issues

  [ Jakub Konka ]
  * Revert "x86_64: workaround tagName linker issues"
  * link: fix accessing source atom's symbol index in codegen
  * x86_64: disable advanced memset tests on Windows

  [ Jacob Young ]
  * x86_64: fix switch multi-prongs and mul/div flags clobber
  * x86_64: cleanup lazy symbols

  [ r00ster91 ]
  * autodoc: make the help modal toggleable
  * autodoc: type "?" instead of opening help modal if search selected

  [ DraagrenKirneh ]
  * Add a random generated prefix to the unix socket_path to guard against multiple tests/threads running the same test at the same time

  [ mlugg ]
  * Implement multi-argument @min/@max and notice bounds

  [ David CARLIER ]
  * std.c: adding freebsd's CPU_COUNT macro portage.

  [ DraagrenKirneh ]
  * Change compression detection to use content-type instead of the url ending

  [ Arnau ]
  * langref: Documented `extern "..."` use

  [ Tw ]
  * bpf: correct return type of ringbuf_output helper

  [ Nicolas Sterchele ]
  * build: rename std.Build.*Step to std.Build.Step.*

  [ Carl Åstholm ]
  * std.log.defaultLog: remove freestanding compile error

  [ Jacob Young ]
  * x86_64: fix global slices
  * x86_64: implement slice elem ptr for more MCValue tags
  * x86_64: implement fieldParentPtr
  * codegen: fix global nested field_ptr
  * x86_64: fix todo message typo
  * codegen: handle variable and decl_ref_mut consistently
  * x86_64: implement fabs
  * x86_64: fix feature confusion
  * x86_64: optimize code size for double neg/abs
  * x86_64: implement sqrt
  * x86_64: implement movement of more types

  [ cryptocode ]
  * Add new shortcut to help popup

  [ Jonathan Marler ]
  * fix bug and simplify std.crypto.tls.Client.limitVecs

  [ Veikka Tuominen ]
  * std.Build: use Step.* instead of *Step

  [ David CARLIER ]
  * std.c: add os_proc_available_memory for darwin

  [ Motiejus Jakštys ]
  * glibc hacks: also add a few dn_* functions
  * glibc hacks: add another commit to our patches

  [ Krzysztof Wolicki ]
  * autodoc: Better comptimeExpr code for blocks
  * autodoc: Save switches as comptimeExpr with the code instead of analyzing it deeply; simplified getBlockSource;
  * autodoc: main.js exprName cleanup
  * autodoc: Remove debug code

  [ Jacob Young ]
  * main: add debug dump-zir command
  * AstGen: fix branch on undefined
  * AstGen: cleanup previous fix

  [ David CARLIER ]
  * std.c: adding cpu affinity api for macOs (mainly x86_64)

  [ Krzysztof Wolicki ]
  * autodoc: Add gathering of top-level doc comments for imported files

  [ r00ster91 ]
  * Sema: add some missing apostrophes to error messages
  * Sema: fix and improve errors for `for` loop objects and non-indexables
  * Sema: fix @extern empty lib name error message

  [ Jacob Young ]
  * cbe: fix typos

  [ Nameless ]
  * std.http: add simple standalone http tests, add state check for http server
  * std.http.Server: use client recommendation for keepalive
  * std.http.Server: use enum for reset state instead of bool
  * std.http: buffer writes
  * std.http.Server: give Response access to their own allocator
  * fix keepalive and large buffered writes
  * std.http: use larger read buffer to hit faster tls code

  [ dweiller ]
  * zir: add slice_length tag
  * sema: implement slice_length ZIR instruction
  * astgen: lower s[start..][0..len] to slice_length ZIR
  * sema: omit extraneous addition when safety is unwanted
  * autodoc: implement slice_length case in walkInstruction
  * test: add behavior tests for slice-by-length
  * add optional sentinel to slice_length ZIR
  * langref: mention slice-by-length pattern
  * autodoc: fix support for slice_length ZIR instruction
  * convert s[start..start+len] to s[start..][0..len]
  * sema: fix slice by length non-array, non-slice case
  * test: add behavior tests for pointer slice-by-length
  * test: disable by-length slice test on wasm backend

  [ Jakub Konka ]
  * elf: add more missing defs for SHT_* and SHF_*
  * elf: fix typo in def of SHT_LLVM_ADDRSIG

  [ Dominic ]
  * Fix parsing of hexadecimal literals

  [ David CARLIER ]
  * std.c: darwin add host_info based data.

  [ Jacob Young ]
  * fmt: avoid canonicalizing enum fields named `@"_"` to `_`

  [ Dominic ]
  * Disallow named test decls with duplicate names

  [ Jayden ]
  * parse_float: Error when a float is attempted to be parsed into an invalid type

  [ Jacob Young ]
  * x86_64: implement `@floor`, `@ceil`, and `@trunc`
  * x86_64: implement `@ctz` and `@clz` for `u128`
  * x86_64: implement f16 conversions when supported
  * x86_64: implement f16 cmp
  * x86_64: fix unordered float equality
  * x86_64: implement packed floating point fields
  * target: fix typos in x86 feature descriptions
  * x86_64: implement `@mulAdd`
  * x86_64: implement some float and float vector movement
  * x86_64: add missing `movsx` and `movzx` encodings
  * Dwarf: workaround crash
  * x86_64: implement float cast from `f16` to `f64`
  * x86_64: implement `@sqrt` for vectors
  * x86_64: implement `@sqrt` for `f16` scalars and vectors
  * x86_64: implement binary operations for float vectors
  * x86_64: implement `@floor`, `@ceil`, and `@trunc` for float vectors
  * x86_64: implement binary operations for `f16` and `f16` vectors
  * x86_64: optimize mir tag usage
  * x86_64: continue to optimize mir tag usage
  * x86_64: finish optimizing mir tag usage

  [ jcalabro ]
  * Fix langref typo

  [ Krzysztof Wolicki ]
  * autodoc: Remove rendering "tuple" as part of the name in exprName
  * autodoc: Analyze and expose backing integer types for packed structs
  * autodoc: Fix exprName for struct and union types
  * autodoc: Fix tag type for unions; Fix backing int for packed structs

  [ r00ster91 ]
  * fix `[x]u65529` and above overflowing

  [ David CARLIER ]
  * std.c: adding freebsd's kinfo_proc type.

  [ David Carlier ]
  * std.c: openbsd sigcontext/ucontext for arm64.

  [ David CARLIER ]
  * std.c: adding freebsd's domainset api

  [ David Carlier ]
  * std.fs: selfExePath haiku using constants instead

  [ Andrew Kelley ]
  * Autodoc: update favicon to latest logo mark

  [ Pyry Kovanen ]
  * tls: update finishRead2 for new @memcpy semantics

  [ David CARLIER ]
  * std.c: adding freebsd's domainset_t bitset
  * std.c: add freebsd's kinfo_vmobject

  [ Krzysztof Wolicki ]
  * autodoc: Add layout to Struct and Union to properly display packed and extern; Make rendering of types in exprName more similar to zig fmt

  [ 0x5a4 ]
  * fix 'zig build test' crashing with no tests

  [ Meghan ]
  * std.meta: remove tagName

  [ Brett Hill ]
  * Issue 15535. Normalize remainder in math.big.int.Managed.divTrunc

  [ Travis Staloch ]
  * std.enums: add tagName()

  [ Ali Chraghi ]
  * std.Build: support #cmakedefine01 pattern

  [ Bogdan Romanyuk ]
  * std.enums: make Ext parameter optional

  [ Evin Yulo ]
  * Add std.fmt.parseIntSizeSuffix and use for --maxrss

  [ Kyle Coffey ]
  * Add std.mem.indexOfNone

  [ David CARLIER ]
  * std.c: adding freebsd's ioctl base operands.

  [ Meghan ]
  * std.fmt.parseIntSizeSuffix: add R and Q

  [ Loris Cro ]
  * autodoc: fix crash when call syntax has complex callee expression

  [ Jacob Young ]
  * cbe: use `Assignment` in `airSplat`
  * llvm/cbe: fix signed `@mod`/`@divFloor` computations
  * llvm: fix `@max`/`@min` of unsupported float types
  * std: revert `comptime_float` support
  * Cache: fix race condition
  * Cache: fix unnecessary cache misses

  [ David CARLIER ]
  * std.c: darwin adding more host_info api data

  [ John Schmidt ]
  * module: return null if no candidate src

  [ frmdstryr ]
  * compiler_rt: fix ARM memset signatures

  [ Veikka Tuominen ]
  * Sema: return const pointers from ref inits
  * Sema: fix nested call debug info
  * Sema: make `@call` compile errors match regular calls
  * fix formatting in darwin.zig
  * fix incorrect use of mutable pointers to temporary values
  * Sema: add error for resolving inferred error set of generic function
  * Sema: fix crash when generating anon name on invalid code

  [ Gregory Mullen ]
  * Add tc{set,get}pgrp to std.os.linux

  [ Robin Voetter ]
  * opencl: define size of C types
  * spirv: fix use-after-realloc in resolveType()
  * spirv: fix OpFunctionCall parameters interleaving with insts
  * spirv: lower air try
  * spirv: lower air unwrap_error_union_err
  * spirv: lower air wrap_errunion_err
  * spirv: fix invalid code generated by br-with-value
  * spirv: lower air is_null, is_non_null
  * spirv: lower air optional_payload
  * spirv: lower wrap_optional
  * spirv: make decl deps a hash map instead of an arraylist

  [ Ali Chraghi ]
  * setup spirv backend in behavior tests
  * spirv: lower store_safe, trunc and trap

  [ mlugg ]
  * Liveness: simplify logic

  [ InKryption ]
  * std.math.atan: fix mistyped magic constant

  [ Andrew Kelley ]
  * remove the compiler-rt README file

  [ shwqf ]
  * Optimize access of array member in a structure.

  [ Jonta ]
  * Fix typo in langref

  [ Veikka Tuominen ]
  * Sema: handle recursive inferred errors better in analyzeIsNonErrComptimeOnly

  [ David CARLIER ]
  * std.c: adding basic darwin's host_statistics data.
  * std.c: further darwin's host statistics data
  * linux adding some NUMA support

  [ xdBronch ]
  * std.simd.suggestVectorSizeForCpu: fix missing argument in body

  [ Linus Groh ]
  * autodoc: Start search on any search input event, not just keydown

  [ David CARLIER ]
  * std.os: adding linux's sched_setaffinity and its wrapper

  [ Josh Wolfe ]
  * std: Rewrite low-level json api to support streaming (#15602)

  [ Simon A. Nielsen Knights ]
  * add application/tar+gzip unblocking sr.ht packages

  [ Ryan Liptak ]
  * std.mem: Split `split` and `splitBackwards` into 3 versions by delimiter type: full, any, and scalar
  * std.mem: Split `tokenize` into 3 versions by delimiter type: full, any, and scalar
  * Fix SplitIterator and TokenIterator type instantiation
  * Update all std.mem.tokenize calls to their appropriate function
  * Update all std.mem.split calls to their appropriate function
  * std.mem: Rename splitFull/tokenizeFull to splitSequence/tokenizeSequence

  [ DraagrenKirneh ]
  * Improve error handling on dependency download  (#15661)

  [ David CARLIER ]
  * std.os: implementing sched_setaffinity wrapper for freebsd

  [ notcancername ]
  * Remove incorrect statements that the `source` argument to @memcpy needs to be mutable

  [ Ali Chraghi ]
  * spirv: lower float_to_int and int_to_float

  [ David CARLIER ]
  * std.c: add rfork for freebsd

  [ wrongnull ]
  * correct error note and check type of extern variables

  [ Eric Joldasov ]
  * CMakeLists.txt and build.zig: remove deprecated options

  [ Jacob Young ]
  * x86_64: add missing multply of `f16`
  * x86_64: fix crash with logging enabled
  * x86_64: fix issues with getting float fields
  * x86_64: implement union_init
  * codegen: implement global enum_numbered
  * x86_64: fix field_ptr nonsense
  * x86_64: implement `@splat`
  * x86_64: remove scratch data tags
  * x86_64: implement stack probing
  * x86_64: implement integer vector movement
  * x86_64: implement global payload pointers
  * x86_64: implement calling function references
  * Dwarf: fix overflow write byte_size
  * x86_64: add missing encoding feature requirements
  * x86_64: reimplement `@floatToInt`
  * x86_64: redo movement, float negation, and `@fabs`
  * x86_64: enable integer vector registers
  * x86_64: fix struct_field_val crash
  * x86_64: fix `@clz` and `@ctz` of `u8`
  * x86_64: fix sysv vector argument passing
  * x86_64: implement integer vector add/sub
  * x86_64: implement integer vector mul
  * x86_64: implement integer vector bitwise operations
  * x86_64: implement integer vector min/max

  [ Veikka Tuominen ]
  * Sema: ensure dest ptr of memcpy has length
  * Sema: add more type checks to `@mem{cpy,set}`
  * Sema: use `elemPtrOneLayerOnly` in `zirMemCpy`

  [ Tristan Ross ]
  * std: expose fmt methods and structs for parsing

  [ Ali Chraghi ]
  * spirv: implement arithmeticTypeInfo for Enum (`@intToEnum`)
  * spirv: lower ptrtoint & ignore dbg_inline instructions

  [ Roman Frołow ]
  * Add wasi_ prefix to wasm files

  [ David CARLIER ]
  * std.c: add netbsd's accept_filter_data for ACCEPT_FILTER sock opt.

  [ Travis Staloch ]
  * Package: support gitlab tarball urls

  [ Tw ]
  * std.mem.zeroInit: zero hidden padding for extern struct

  [ Veikka Tuominen ]
  * add runtime safety for noreturn function returning
  * Sema: avoid safety slice safety check with comptime-known start and end
  * workaround AstGen's love for copying arrays

  [ Krzysztof Wolicki ]
  * autodoc: Fix rendering of imported modules

  [ David CARLIER ]
  * std.c: add ptrace for freebsd support.

  [ Michael Dusan ]
  * netbsd: restrict PT_LOAD workaround to dlibs only
  * cmake: add ZIG_PIE toggle for -Dpie

  [ Cortex ]
  * std.mem.byteSwapAllFields: add suppport for nested structs (#15696)

  [ Motiejus Jakštys ]
  * zig cc: support reading from non-files

  [ Andrew Kelley ]
  * CLI: fix stdin dumping behavior
  * CLI: remove cleanup logic for stdin temp file

  [ Frank Denis ]
  * crypto.AegisMac: fix a regression from s/mem.copy/@memcpy/ (#15733)

  [ David CARLIER ]
  * std.c: darwin's *copyfile api update.

  [ Motiejus Jakštys ]
  * stage2: implement --build-id styles

  [ Andrew Kelley ]
  * tweaks to --build-id
  * zig cc: implement `-###` (dry run)
  * zig2.c: omit non-essential subcommands
  * rename omit_pkg_fetching_code to only_core_functionality

  [ IntegratedQuantum ]
  * Document the sorting order in `std.sort`.

  [ mlugg ]
  * Deduplicate uses of the same package across dependencies
  * Only add build.zig module dependencies once

  [ Andrew Kelley ]
  * std.crypto.tls.Client.readvAdvanced: fix bugs

  [ zooster ]
  * make `@trap` return unreachable/noreturn (#15749)

  [ Andrew Kelley ]
  * Revert "Sema: handle recursive inferred errors better in analyzeIsNonErrComptimeOnly"

  [ David CARLIER ]
  * std.os: add linux timer api

  [ Jacob Young ]
  * x86_64: fix float min/max behavior
  * x86_64: rewrite casts
  * x86_64: initialize array sentinels
  * x86_64: fix multi-limb compare
  * x86_64: delete some incorrect code
  * x86_64: fix 128-bit atomics on non-linux
  * x86_64: implement integer vector `@truncate`
  * codegen: emit global vector padding
  * x86_64: implement saturating add/sub for weird types
  * x86_64: fix `@bitCast` when the operand dies

  [ Andrew Kelley ]
  * Sema: simplify "duplicate test name" error message

  [ Motiejus Jakštys ]
  * multi-writer: test with a non-comptime stream

  [ Andrew Kelley ]
  * Sema: eliminate `Type.Tag.var_args_param`

  [ Luuk de Gram ]
  * wasm: implement `@frameAddress`
  * wasm: implement mul, shl and xor for big ints
  * wasm: implement `@addWithOverflow` for 64bit ints
  * wasm: implement `@mulWithOverflow` for big ints
  * wasm: fix miscompilation for shifting
  * wasm: fix liveness bugs
  * wasm: more liveness fixes
  * wasm: add `dead` tag to `WValue`
  * wasm: simplify merging of branches
  * wasm: fix double free of locals
  * wasm: fix return `ret_load` with zero-size type
  * wasm: correctly use elem type when lowering
  * wasm: memset - correctly load the ptr for slices
  * wasm: implement `shl` for big integers
  * wasm: support `memset` for elem abi size > 1
  * wasm: fix `div_trunc` for floats
  * wasm: aggregate_init - ensure zeroed result local

  [ David CARLIER ]
  * std.c: adding ptrace for netbsd.

  [ Meghan ]
  * std.meta: allow ArgsTuple to be used on functions with comptime parameters

  [ Ali Chraghi ]
  * spirv: lower get_union_tag

  [ Robin Voetter ]
  * spirv: implement pointer comparison in for air cmp
  * spirv: use intInfo instead of arithmeticTypeInfo in airIntCast
  * spirv: dont use OpIAddCarry
  * spirv: fix some (Ptr)AccessChain uses
  * spirv: use extractField more
  * spirv: ptr_add
  * spirv: lower integer pointer constants
  * spirv: pointer bitcasting
  * spirv: more passing tests
  * spirv: customize module-scope asm test
  * spirv: ptr_sub
  * spirv: ptr_elem_val
  * spirv: don't generate union tag type if it doesnt exist
  * spirv: make constant handle float, errorset, errorunion

  [ mlugg ]
  * Zir: eliminate `field_call_bind` and `field_call_bind_named`

  [ Linus Groh ]
  * docgen: Rename Token.Id enum values to snake case
  * docgen: Rename Tokenizer.State enum values to snake case
  * docgen: Rename ExpectedOutcome enum values to snake case
  * docgen: Rename Code.Id enum values to snake case
  * docgen: Rename Action enum values to snake case

  [ Chris Heyes ]
  * std.crypto: expose Fe isOdd & add basic parity tests for each pcurve (#15734)

  [ Krzysztof Wolicki ]
  * autodoc: Links to private decls now lead to source files

  [ Michael Dusan ]
  * std.c: openbsd sigcontext/ucontext fix enum

  [ David CARLIER ]
  * std.os: gethostname non libc linking using uname like linux
  * std.c: fix freebsd's CPU_ISSET call

  [ yujiri8 ]
  * fix type errors in os.linux (#15801)

  [ Frank Denis ]
  * std.crypto.ff - Alloc-free, constant-time field arithmetic for crypto (#15795)

  [ DraagrenKirneh ]
  * Ignore certificates with unknown OID (#15539)

  [ Veikka Tuominen ]
  * Sema: improve error message when calling optional function

  [ Frank Denis ]
  * std.crypto.chacha: support larger vectors on AVX2 and AVX512 targets (#15809)

  [ Tw ]
  * llvm: also generate metadata for extern global variables

  [ Frank Denis ]
  * Make Poly1305 faster by leveraging @addWithOverflow/@subWithOverflow (#15815)

  [ Bas Westerbaan ]
  * crypto/tls: switch X25519Kyber768Draft00 to new codepoint (#15821)

  [ Frank Denis ]
  * std.crypto.chacha: remove the hack for ChaCha with a 64-bit counter (#15818)
  * crypto.aes: define optimal_parallel_blocks for more CPUs (#15829)
  * Update wasi-libc to 3189cd1ceec8771e8f27faab58ad05d4d6c369ef (#15817)

  [ tison ]
  * make `@boolToInt` always return a u1

  [ Ali Chraghi ]
  * std.sort: add pdqsort and heapsort

  [ Frank Denis ]
  * std.crypto: 2.5 times faster ghash and polyval on WebAssembly (#15835)

  [ Linus Groh ]
  * std.debug: Rename TTY.Color enum values to snake case
  * std: Move std.debug.{TTY.Config,detectTTYConfig} to std.io.tty
  * std.io.tty: Add missing colors to Color enum
  * std.io.tty: Remove unused Config.writeDEC() function

  [ Veikka Tuominen ]
  * Sema: `@memcpy` convert src slice to many ptr

  [ Mason Remaley ]
  * Fixes `WriteFile.getFileSource` failure on Windows (#15730)

  [ DraagrenKirneh ]
  * Improve Content-Disposition filename detection (#15844)

  [ Veikka Tuominen ]
  * llvm: fix vector type in vector_store_elem
  * disable test on C backend

  [ Linus Groh ]
  * std.fmt: Rename Alignment enum values to snake case
  * std.fmt: Rename parseWithSign() sign parameter enum values to snake case
  * std.event.loop: Rename Loop.ResumeNode.Id enum values to snake case
  * std.event.loop: Rename Loop.Request.Finish enum values to snake case
  * std.fs.file: Rename File.Kind enum values to snake case
  * std.fs.file: Rename File.Lock enum values to snake case

  [ David CARLIER ]
  * std.Thread: refining stack size from platform minimum, changes more targetted towards platform like Linux/musl (#15791)

  [ David Carlier ]
  * std.c: haiku also supports malloc_usable_size to benefit zig's heap

  [ David CARLIER ]
  * while at it, adding for dragonflybsd too

  [ Andrew Kelley ]
  * wasm backend: emit a TODO error rather than miscompile

  [ Veikka Tuominen ]
  * std.Target adjustments

  [ Frank Denis ]
  * poly1305: properly cast the mask from u1 to u64 (#15869)

  [ Evin Yulo ]
  * fix #15778: Binary operations on empty vectors crash

  [ Cortex ]
  * std.io.Writer: add support for non-power-of-two int sizes

  [ Mizuochi Keita ]
  * std.math.big.int: Add Sqrt
  * std.math.big.int: Fix typo

  [ Ryan Liptak ]
  * Windows: Support UNC, rooted, drive relative, and namespaced/device paths

  [ mlugg ]
  * std.dwarf: handle DWARF 5 compile unit DW_AT_ranges correctly
  * Sema: return comptime_int if all args to @min/@max are comptime_int

  [ David CARLIER ]
  * std.os: fix uname usage.

  [ Andrew Kelley ]
  * Revert "Windows: Support UNC, rooted, drive relative, and namespaced/device paths"

  [ mlugg ]
  * Prevent analysis of functions only referenced at comptime
  * tests: disable incremental cases for now

  [ Andrew Kelley ]
  * build.zig: bump maxrss upper bound for std lib tests
  * std.debug: disable sporadically failing test

  [ Jacob Young ]
  * x86_64: hotfix for crash during in-memory coercion of large type
  * Revert "Revert "Windows: Support UNC, rooted, drive relative, and namespaced/device paths""

  [ Motiejus Jakštys ]
  * zig ld: handle `--library :path/to/lib.so`

  [ kcbanner ]
  * cache: handle 0-length prefix paths in findPrefixResolved

  [ Frank Denis ]
  * RSA: remove usage of allocators (#15901)

  [ Robin Voetter ]
  * spirv: TypeConstantCache
  * spirv: basic setup for using new type constant cache
  * spirv: cache for floats
  * spirv: cache for ints
  * spirv: cache function prototypes
  * spirv: cache pointers
  * spirv: translate vectors to cache key
  * spirv: translate structs to cache key
  * spirv: cache strings for debug names
  * spirv: translate remaining types
  * spirv: translate remaining types
  * spirv: rename TypeConstantCache -> Cache
  * spirv: eliminate remaining uses of emitConstant

  [ Bogdan Romanyuk ]
  * sema: add compile error for incorrect extern type

  [ yujiri8 ]
  * don't crash when can't evaluate comptime expression with inferred type

  [ Luuk de Gram ]
  * wasm: `memcpy` support elem abi-size > 1
  * wasm: `union_init` correctly store the tag
  * wasm: implement `struct_field_val` for packed unions
  * wasm: support and optimize for all packed unions
  * wasm: `UnwrapErrUnionPayloadPtr` ensure ptr ret
  * wasm: `ptr_elem_val` use pointer type for local
  * wasm: `aggregate_init` store sentinel for arrays
  * wasm: `union_init` support packed unions
  * wasm: `shl_with_overflow` ensure rhs is coerced
  * codegen: Write padding bytes for unions
  * enable passing behavior tests

  [ Evin Yulo ]
  * add missing note "operation is runtime due to this operand"
  * Use the word 'base' consistently instead of 'radix'

  [ Nameless ]
  * std.http.Client: collapse BufferedConnection into Connection
  * std.http: add TlsAlert descriptions so that they can at least be viewed in err return traces
  * std.http.Server: collapse BufferedConnection into Connection

  [ Frank Denis ]
  * Fix std.hash benchmarks (#15917)

  [ mlugg ]
  * AstGen: handle ref_table for errdefer captures

  [ Eric Joldasov ]
  * std.io.reader.Reader: add `streamUntilDelimiter`

  [ DraagrenKirneh ]
  * fix missing insertion of module to all_modules on first download

  [ xEgoist ]
  * Build: fix producesPdbFile logic (#15756)

  [ dweiller ]
  * std.c: fix return type of recv/recvfrom on windows

  [ Krzysztof Wolicki ]
  * autodoc: Fix rendering of some values in main.js

  [ Jakub Konka ]
  * macos+libc: add zlib.h,sys/paths.h,netinet/{ip.h,udp.h}

  [ Frank Denis ]
  * crypto.bcrypt: allow very large passwords to be pre-hashed (#15955)

  [ David Gonzalez Martin ]
  * llvm: stop generating FPU code if there is no FPU

  [ Josh Wolfe ]
  * std: fix parseInt for single-digit signed minInt (#15966)

  [ Marc Tiehuis ]
  * reimplement wyhash v4.1 (#15969)

  [ Ryan Liptak ]
  * Use `iterateAssumeFirstIteration` in `Walker.next` to avoid unnecessary lseek calls
  * Directory iteration: handle `EACCES` returned from `getdents64`
  * Allow recovering from Walker.next errors without continually hitting the same error

  [ sentientwaffle ]
  * std.hash_map: fetchRemove increment available

  [ mlugg ]
  * AstGen: handle ref_table for params
  * Sema: emit error on @intToPtr with slice dest type

  [ Jacob G-W ]
  * os/plan9: fix order of register setting in syscall1

  [ mlugg ]
  * Sema: resolve peer vector types before comparison

  [ Andrew Kelley ]
  * stage2: start the InternPool transition
  * std.builtin: give some enums integer types
  * InternPool: flesh out some of the implementations
  * stage2: add `interned` AIR tag
  * stage2: isGenericPoison InternPool awareness
  * InternPool: implement typeHasOnePossibleValue for simple_type
  * InternPool: implement hasRuntimeBitsAdvanced for simple_type
  * InternPool: implement hasWellDefinedLayout for simple_type
  * InternPool: implement resolveTypeFields
  * InternPool: implement typePtrOrOptionalPtrTy
  * InternPool: implement isSinglePointer
  * stage2: move float types to InternPool
  * stage2: move named int types to InternPool
  * stage2: move most simple types to InternPool
  * stage2: move most simple values to InternPool
  * Type: update to use InternPool for some methods
  * Type.isSlice: make it InternPool aware
  * stage2: move all integer types to InternPool
  * stage2: move many Type encodings to InternPool
  * InternPool: add the missing pointer data
  * stage2: move undef, unreach, null values to InternPool
  * stage2: add a few more Value checks for InternPool
  * std.mem.alignForwardGeneric: manually inline the assertions
  * InternPool: enhance integer values
  * Sema: update core comptime detection logic to be InternPool aware
  * std.builtin.AddressSpace: allocate one more bit to this enum
  * stage2: migrate many pointer types to the InternPool
  * InternPool: add a dump function
  * fill out more InternPool Type methods
  * stage2: add tmp_hack_arena for the InternPool transition
  * fix AIR printing of interned constants
  * stage2: add missing comptimeOnly logic for InternPool
  * InternPool: add a slice encoding
  * Sema: add typeHasOnePossibleValue logic for InternPool
  * InternPool: fix bug in addLimbsExtraAssumeCapacity
  * stage2: fix interned integer value printing
  * LLVM backend: update integer constant lowering for InternPool
  * Sema: update onePossibleValue for InternPool
  * stage2: move integer values to InternPool
  * InternPool: add an encoding for arrays with sentinels
  * InternPool: implement indexToKey and equality for int values

  [ mlugg ]
  * wip: progress towards compiling tests

  [ Andrew Kelley ]
  * InternPool: add getCoercedInt to avoid copy in Sema

  [ mlugg ]
  * Replace uses of Value.zero, Value.one, Value.negative_one

  [ Andrew Kelley ]
  * InternPool: fix UAF in getCoercedInt and add u16 int value encoding
  * stage2: bug fixes related to Type/Value/InternPool
  * stage2: implement intTagType logic
  * stage2: more InternPool-related fixes
  * InternPool: add an int_u8 value encoding
  * stage2: move empty struct type and value to InternPool
  * stage2: more InternPool related fixes
  * Sema: introduce Value.enum_field_0
  * InternPool: add indexToKey for empty struct types
  * InternPool: add ptr-to-int value
  * InternPool: add optional values
  * stage2: move opaque types to InternPool
  * stage2: move struct types and aggregate values to InternPool
  * stage2: move union types and values to InternPool
  * add std.hash.uint32
  * InternPool: ability to encode enums
  * InternPool: fix deinit leaking inner maps
  * stage2: move enum types into the InternPool

  [ mlugg ]
  * InternPool: transition float values

  [ Andrew Kelley ]
  * stage2: remove legacy Type array and array_sentinel
  * stage2: move enum tag values into the InternPool
  * stage2: move anon tuples and anon structs to InternPool
  * stage2: encode one-possible-value tuple specially
  * stage2: move function types to InternPool
  * compiler: move `anyframe->T` to InternPool
  * compiler: eliminate legacy Type.Tag.optional
  * compiler: eliminate legacy Type.Tag.pointer
  * compiler: move error union types and error set types to InternPool

  [ Jacob Young ]
  * InternPool: add repeated aggregate storage
  * Sema: add coerceTupleToStruct result to the InternPool
  * Sema: port reify struct access to use InternPool
  * Sema: port Value.decl_ptr to InternPool
  * Value: add `intern` and `unintern` to facilitate code conversion

  [ Andrew Kelley ]
  * compiler: remove var_args_param_type from SimpleType
  * Module: remove tmp_hack_arena
  * Sema: move `inferred_alloc_const/mut_type` to InternPool
  * InternPool: add missing ensureCapacity call with enums

  [ Jacob Young ]
  * Type: hack around `isNoReturn` queries for the remaining legacy tags
  * InternPool: fix coersion issues
  * InternPool: add more pointer values
  * InternPool: fix logic bugs
  * InternPool: add missing logic
  * TypedValue: fix debug print crashes
  * Value: remove legacy type values
  * InternPool: add lldb pretty printing for indices
  * llvm: fix incorrect slice lowering

  [ Andrew Kelley ]
  * remove the kludges from std.builtin
  * Sema: improve the types_to_resolve mechanism
  * Sema: update zirSliceLength to avoid resolveInst(.none)
  * InternPool: support int->comptime_int in getCoerced

  [ Jacob Young ]
  * InternPool: port most of value tags
  * InternPool: remove more legacy values
  * InternPool: fix crashes up to in progress comptime mutation
  * Air: remove constant tag
  * Sema: fix some issues with the inferred alloc tag change

  [ Andrew Kelley ]
  * Sema: inferred allocations no longer abuse type/value system

  [ Jacob Young ]
  * Module: intern the values of decls when they are marked alive
  * InternPool: fix enough crashes to run `build-obj` on a simple program

  [ Andrew Kelley ]
  * AIR: eliminate the `values` array

  [ Jacob Young ]
  * InternPool: fix more crashes
  * TypedValue: implement more prints

  [ Andrew Kelley ]
  * wasm: fix error union constant lowering
  * llvm: simplify control flow lowering structs
  * codegen: fix lowering of constant structs

  [ Jacob Young ]
  * Module: rename functions to make ownership checks explicit
  * InternPool: fix build-exe and compiler-rt crashes

  [ Andrew Kelley ]
  * InternPool: correct the logic for struct size dump
  * AstGen: generate tests with anyerror!void
  * compiler: fix populateTestFunctions InternPool usage
  * CLI: introduce --verbose-intern-pool
  * C backend: InternPool fixes
  * InternPool: optimize zigTypeTag()

  [ Jacob Young ]
  * behavior: get more test cases passing with llvm
  * behavior: pass more tests on llvm again
  * Module: move memoized data to the intern pool
  * behavior: additional llvm fixes
  * behavior: fix more compiler crashes
  * InternPool: fix various pointer issues
  * x86_64: fix InternPool regressions
  * cbe: fix InternPool regressions

  [ Andrew Kelley ]
  * InternPool: avoid indexToKey recursion for type_slice
  * InternPool: avoid indexToKey recursion for ptr_elem,ptr_field
  * InternPool: avoid indexToKey recursion for only_possible_value
  * InternPool: avoid indexToKey recursion for opt_payload
  * InternPool: avoid indexToKey recursion for ptr_slice

  [ Jacob Young ]
  * Sema: fix pointer arithmetic on single array pointers
  * Sema: fix vector comparison and interning of -0
  * Module: add allowzero canonicalization to pointer types

  [ Andrew Kelley ]
  * InternPool: avoid indexToKey recursion for type_enum_auto
  * InternPool: eliminate indexToKey call graph cycle

  [ Jacob Young ]
  * Sema: port lazy value usage to be InternPool aware
  * Sema: fix sus overflow behavior in RangeSetUnhandledIterator
  * behavior: update for different inferred error set order
  * Type: fix `@typeName` for `undefined`

  [ Andrew Kelley ]
  * InternPool: pass by const pointer
  * std.hash: add xxhash to benchmark and fix its API
  * InternPool: improve hashing performance

  [ Jacob Young ]
  * Sema: fix comptime error set comparisons
  * Type: fix `@sizeOf(?anyerror)`
  * Sema: make sentinel load through array pointer comptime known

  [ mlugg ]
  * InternPool: add representation for value of empty enums and unions

  [ Andrew Kelley ]
  * InternPool: further optimize Key hashing

  [ Jacob Young ]
  * Sema: avoid invalided key access
  * math.big.int: fix ctz of zero
  * Value: fix null test for c pointers
  * Sema: remove opv status from arrays with sentinels

  [ Andrew Kelley ]
  * Sema: elide comptime-checked slice safety
  * InternPool: remove memoized_decl
  * InternPool: debug dump all the data

  [ Jacob Young ]
  * InternPool: fix key for empty array with sentinel
  * InternPool: fix element pointer type computations
  * codegen: fix doubled global sentinels
  * llvm: fix lowering of lazy values
  * Sema: disable repeated aggregate storage use with mismatching sentinel
  * lib: add const to avoid regression

  [ mlugg ]
  * Allocate capture scopes in gpa instead of Decl.value_arena

  [ Jacob Young ]
  * InternPool: fix more key lifetime issues
  * wasm: implement missing case
  * process: add more missing const
  * Sema: fix in-memory coercion during comptime load

  [ mlugg ]
  * Sema: intern values of mutable decls after analysis

  [ Andrew Kelley ]
  * std.hash: auto hash signed ints as bitcasts of unsigned ints
  * compiler: eliminate Decl.value_arena and Sema.perm_arena
  * compiler: avoid use of undefined memory
  * Module: fix populateTestFunctions UAF

  [ Jacob Young ]
  * llvm: fix undefined pointer type
  * InternPool: fix more key lifetime issues
  * InternPool: add optional coercion
  * Sema: rewrite `monomorphed_funcs` usage
  * Sema: hack around UAF

  [ mlugg ]
  * Sema: remove leftover references to value_arena
  * InternPool: avoid aggregate null bytes storage

  [ Jacob Young ]
  * InternPool: optimize previous fix
  * Sema: handle generic types when coercing functions in memory
  * InternPool: fix yet more key lifetime issues

  [ Andrew Kelley ]
  * Sema: reword compile error about LLVM extensions and C import
  * std.hash: improve small-key hashing in Wyhash

  [ mlugg ]
  * stage2: pass most test cases under InternPool
  * Sema: fix int arithmetic overflow checks

  [ Jacob Young ]
  * Sema: fix crashes accessing undefined values
  * wasm: address behavior test regressions
  * langref: fix error set order
  * llvm: fix name lifetime
  * llvm: fix more name lifetimes
  * TypedValue: fix code formatting
  * Sema: fix `std.builtin.Type.EnumField.value` when not auto-numbered
  * link: use `Wasm.string_table` offsets for `Wasm.undefs` keys
  * Sema: fix condition for emitting noreturn safety check

  [ mlugg ]
  * stage2: fix InternPool compile errors on 32-bit targets
  * InternPool: fix dbHelper after 4976b58
  * Autodoc: make it work under InternPool

  [ Jacob Young ]
  * InternPool: avoid as many slices pointing to `string_bytes` as possible
  * InternPool: fix one more compile error on 32-bit targets

  [ mlugg ]
  * std.crypto.tls.Client: fix @memcpy crash in limitedOverlapCopy
  * link: fix compile error with only-c
  * build: add -Dno-bin option
  * std.dwarf: fix findCompileUnit when ranges offset is given by const

  [ Jacob Young ]
  * Sema: redo monomorphed funcs to make more sense

  [ mlugg ]
  * Sema: intern values from resolved inferred allocs
  * tools: add LLDB pretty printer for InternPool.NullTerminatedString

  [ Andrew Kelley ]
  * link/Plan9: fix UAF of symbol names

  [ ypsvlq ]
  * Sema: check runtime safety is enabled when unwrapping error

  [ Erik Arvstedt ]
  * arena_allocator/reset: fix buffer overrun
  * arena_allocator/reset: fix use after free
  * arena_allocator/reset: avoid zero-capacity allocations

  [ mlugg ]
  * Zir: remove unnecessary switch_capture_multi instructions
  * Move switch case value coercion from AstGen to Sema
  * Eliminate switch_capture and switch_capture_ref ZIR tags
  * Sema: minor refactor to switch prong analysis
  * Eliminate switch_capture_tag ZIR instruction
  * Eliminate switch_cond[_ref] ZIR tags
  * Sema: resolve union payload switch captures with peer type resolution
  * Fix bad source locations in switch capture errors

  [ Eric Joldasov ]
  * std.meta: remove `Vector` (deprecated in 0.10)
  * std.math: hard deprecate obsolete constants (soft deprecated in 0.10)
  * std.meta: remove `TagType` (deprecated in 0.9)
  * std.io: remove `FindByteOutStream` and `findByteOutStream` (deprecated in 0.9)
  * std.fifo.LinearFifo: remove `ensureCapacity` (deprecated in 0.9)
  * std.fmt.formatValue: remove `B` and `Bi` specifiers (deprecated in 0.8)

  [ IntegratedQuantum ]
  * Add a compiler error for @mulAdd with int vectors.

  [ Eric Joldasov ]
  * std.fmt: remove `e`, `E`, `z`, and `Z` specifiers (deprecated in 0.8)
  * std.debug: remove `warn` (deprecated in 0.9)
  * std.crypto.sign.Ed25519: remove `sign`, `verify`, `key_blinding.sign`, and `key_blinding.unblindPublicKey` (deprecated in 0.10)
  * std.builtin: remove `TypeInfo` and `Type.FnArg` (deprecated in 0.10)
  * std.Build.Step.Compile: remove `addSystemIncludeDir`, `addIncludeDir`, `addLibPath`, and `addFrameworkDir` (deprecated in 0.10)
  * all: replace `comptime try` with `try comptime`

  [ dweiller ]
  * std.mem.ValidationAllocator: forward free() calls

  [ bfredl ]
  * bpf: expose "syscall" program type and F_SLEEPABLE flag

  [ Evin Yulo ]
  * fix typo in std.Uri

  [ Zapolsky Anton ]
  * Remove CheckObjectStep.runAndCompare (#15973)

  [ Jan200101 ]
  * Never implicitly add rpaths for each lib dir, add NixOS libdir to rpath

  [ Evin Yulo ]
  * os.connect: mark ECONNABORTED as unreachable

  [ Frank Denis ]
  * crypto.pcurves: don't assume that points with X=0 are at infinity (#16017)

  [ Lee Cannon ]
  * allow run step to skip foreign binary execution if executor fails

  [ Evin Yulo ]
  * publicize std.rand.ziggurat

  [ mlugg ]
  * Sema: rewrite peer type resolution
  * Sema: allow in-memory coercion of tuples
  * Sema: move all in-memory coercion logic to InternPool

  [ Niles Salter ]
  * Fix pdqSort+heapSort for ranges besides 0..len (#15982)

  [ jcalabro ]
  * Clarify @sin, @cos, @tan use radians

  [ Marcos O ]
  * windows.sendto fix (#15831)

  [ zooster ]
  * test/behavior/generics.zig: remove outdated TODO

  [ mlugg ]
  * Sema: don't assume slice value is interned when loading from comptime pointer
  * Sema: allow empty end index in zirSliceSentinel

  [ Eric Joldasov ]
  * std.atomic.Atomic: update tests to new for-loop syntax, re-enable test with isel

  [ mlugg ]
  * Sema: allow indexing tuple and vector pointers
  * Sema: fix @intToPtr of zero value to optional pointer

  [ Dumitru Stavila ]
  * target.zig adds ps4 and ps5 type sizes.

  [ Michael Dusan ]
  * freebsd: fix std.c.getdents
  * openbsd: fix std.c.getdents and debitrot
  * dragonfly: fix std.c.getdents

  [ Andrew Kelley ]
  * update-linux-headers: add loongarch and xtensa
  * update linux kernel headers to 6.3.8

  [ Jacob Young ]
  * cbe: add missing cast for `@intToPtr` values

  [ Isaac Freund ]
  * std.Build.Step.Run: add stdin to cache manifest

  [ Jacob G-W ]
  * Plan9: Add support for lazy symbols
  * Elf: fix memory leak with lazy symbols
  * plan9: flesh out stdlib enough to allow not using simplified start logic
  * plan9: revamp the relocation system to allow decl refs

  [ Luuk de Gram ]
  * wasm-linker: correctly resolve exported symbols
  * wasm: fix lowerParentPtr offsets
  * codegen: fix union padding
  * wasm: support calling alias'd function pointers
  * wasm-linker: correctly resolve undefined functions

  [ mlugg ]
  * Sema: consider type bounds when refining result type of `@min`/`@max`
  * Update zig1.wasm

  [ r00ster91 ]
  * migration: std.math.{min, min3, max, max3} -> `@min` & `@max`

  [ mlugg ]
  * Autodoc: fix crash when walking `@min`/`@max` with two operands

  [ Veikka Tuominen ]
  * zig build: add option to only print failed steps

  [ Marc Tiehuis ]
  * optimize udivmod
  * disable udivmod asm divq on windows

  [ Gregory Mullen ]
  * add additional errno (INTR) to tcset,getpgrp calls

  [ John Zhang ]
  * Change outdated filename in langref

  [ Jan Philipp Hafer ]
  * compiler_rt: add missing PPC routines

  [ Evin Yulo ]
  * privatize std.mem.writePackedInt{Big, Little}

  [ Marc Tiehuis ]
  * wyhash: support comptime usage

  [ Motiejus Jakštys ]
  * mem: rename align*Generic to mem.align*

  [ r00ster91 ]
  * std: replace builtin.Version with SemanticVersion

  [ Manlio Perillo ]
  * Langref misc fix and improvement (#14695)

  [ dantecatalfamo ]
  * std: add zlib stream writer

  [ Xavier Bouchoux ]
  * zlib: naming convention

  [ Mizuochi Keita ]
  * std.http: Fix segfault while redirecting

  [ Christofer Nolander ]
  * windows: detect ANSI support in more terminals

  [ Ryan Liptak ]
  * Remove unnecessary isatty call from supportsAnsiEscapeCodes

  [ Krzysztof Wolicki ]
  * autodoc: Handle more InternPool.Index types properly in Autodoc
  * autodoc: Fix rendering of function arguments named `_`

  [ David CARLIER ]
  * std.c: exposing timer api

  [ Arya-Elfren ]
  * Fix a confusing comment in `langref.html.in`

  [ r00ster91 ]
  * std.math.isPowerOfTwo: add tests and doc comment and improve assert

  [ Jan Philipp Hafer ]
  * compiler_rt: fixup exports of PPC routines

  [ Manlio Perillo ]
  * test/src/Cases: fix incorrect code to find zig_lib_directory

  [ Xavier Bouchoux ]
  * objcopy: support some more elf file variants
  * objcopy: add support for `--compress-debug-sections`

  [ Jakub Konka ]
  * macho: extract parallel hasher into a generic helper struct
  * macho: hash the entire file contents for UUID but calc in parallel
  * link-test: remove now obsolete UUID test for MachO
  * macho: calculate UUID chunk size based on available thread count

  [ Josh Wolfe ]
  * std: Support user-provided jsonParse method. Unify json.Parser and json.parse* (#15705)

  [ Jakub Konka ]
  * macho: clean up hasher interface

  [ Andrew Kelley ]
  * std.mem.order: use for loop syntax

  [ Eric Joldasov ]
  * compiler: rename "@XToY" to "@YFromX", zig fmt: rewrite them
  * all: zig fmt and rename "@XToY" to "@YFromX"
  * stage1: update zig1.wasm after renaming "@XtoY" to "YfromX"

  [ Jacob Young ]
  * Module: add support for multiple global asm blocks per decl

  [ Jakub Konka ]
  * macho: exclude code signature padding from uuid calculation

  [ Jacob Young ]
  * Sema: fix type in a `@floatToInt` safety check

  [ dweiller ]
  * std.fmt: fix error set of formatDuration

  [ Evan Haas ]
  * std.Target: Add a function for determining char signedess
  * codegen: Set c_char signedness based on the target

  [ Jakub Konka ]
  * macho: fix 32bit compilation issues

  [ Evan Haas ]
  * std.Target: c_char is unsigned on RISC-V

  [ Jacob Young ]
  * wasm: fix decl alignment

  [ Andrew Kelley ]
  * musl: update headers to v1.2.4
  * musl: deal with zig rename of i386 to x86
  * musl: update src files to v1.2.4
  * std.os: update logic for 64-bit symbol choice
  * musl: update libc.S to v1.2.4

  [ Jacob Young ]
  * std: prevent random CI failures
  * Air: optimize around byval struct passing compiler bug
  * Sema: optimize typeHasOnePossibleValue
  * Value: optimize `isRuntimeValue`
  * Value: optimize `isPtrToThreadLocal`
  * Sema: optimize value resolution
  * Sema: optimize callers of `indexToKey`
  * Type: delete legacy allocation functions

  [ begly ]
  * Fix Typo in langref.html.in

  [ d18g ]
  * Update objcopy.zig

  [ Jakub Konka ]
  * macho: do not skip scanning relocs if the sym is non-extern

  [ Josh Wolfe ]
  * std: json.parseFromValue() (#15981)

  [ IntegratedQuantum ]
  * Fix @enumToInt and @tagName for auto-numbered enums with signed tag type.

  [ Jacob Young ]
  * Sema: fix auto-numbered enums with signed tag types
  * Type: remove arbitrary restrictions on param and return types

  [ Andrew Kelley ]
  * CI: -x86_64-macos-debug, +aarch64-macos-debug

  [ Jan200101 ]
  * std.Build: correctly implement cmakedefine and cmakedefine01
  * std.Build: implement variable substitution
  * test: add standalone test for cmakedefine

  [ dweiller ]
  * std.io.tty: add detectTtyConfigForce for forcing color
  * rename ZIG_DEBUG_COLOR env variable to YES_COLOR

  [ Jacob Young ]
  * cbe: key lifetime?

  [ Piotr Sarna ]
  * http: fix getting Transfer-Encoding value

  [ d18g ]
  * objcopy.zig allow outputting zero length sections (#16121)

  [ Niles Salter ]
  * [priority_deque] simplify & optimize isMinLayer
  * [priority_dequeue] Fix out-of-bounds access

  [ David CARLIER ]
  * std.c: update netbsd/openbsd mman constants

  [ Jacob Young ]
  * Value: handle more legacy tags when writing extern struct to memory

  [ Niles Salter ]
  * [heapsort] Protect against integer overflow

  [ Jacob Young ]
  * Type/Value: garbage collect some methods

  [ Sebastian Bensusan ]
  * Langref: Add example for catching some errors and narrowing the error set

  [ Jacob Young ]
  * build.zig: bump maxrss upper bound for std lib tests

  [ Ed Yu ]
  * std.http: fix the http.Client.wait() hanging when there is 1 more byte left

  [ kcbanner ]
  * llvm: fixup elem_count argument of ZigLLVMCreateDebugArrayType to be i64
  * sema: Fix overflow when analyzing an inline switch prong range  that ends on the maximum value of the switched type

  [ Andrew Kelley ]
  * sema.addConstant: remove type parameter

  [ Zachary Raineri ]
  * Removed unnecessary return switch on void method

  [ Michael Dusan ]
  * openbsd: fix NativeTargetInfo semver

  [ Ali Chraghi ]
  * spirv: fix a few conflicts caused by intern-pool

  [ r00ster91 ]
  * ErrorBundle: fix integer overflow printing caret

  [ Andrew Kelley ]
  * LLVM: move many DeclGen methods to Object

  [ kcbanner ]
  * cbe: fix crash caused by calling `mod.intValue` on `type_inferred_error_set`

  [ Xavier Bouchoux ]
  * update Liveness to detect that safety checks do not modify memory

  [ David CARLIER ]
  * std.c: freebsd fix typo for PROC.PROCCTL_MD_MIN constant.
  * std.c: fix host_basic_info definition for darwin.

  [ Mikko Kaihlavirta ]
  * fix parseInt failing when a correct base is given

  [ Andrew Kelley ]
  * Revert "fix parseInt failing when a correct base is given"

  [ David CARLIER ]
  * std.c: fix few capcisum api calls, following-up on 6ae19fa.

  [ Jacob Young ]
  * cbe: fix another instance of calling `intValue` with an error type

  [ Matteo Briani ]
  * Add support for the "--version" linker argument (#16154)

  [ Jakub Konka ]
  * cmake: fix typo in flag value for single threaded build

  [ mlugg ]
  * compiler: remove destination type from cast builtins
  * fmt: add rewrite for cast builtin type parameters
  * translate-c: update to new cast builtin syntax
  * all: migrate code to new cast builtin syntax
  * langref: update to new cast builtin syntax
  * cbe: codegen int_from_ptr of slice correctly
  * update zig1.wasm

  [ Andrew Kelley ]
  * liveness: fix merge typo logic error
  * compiler: start moving safety-checks into backends

  [ Ryan Liptak ]
  * Recognize the .res extension and link it as if it were an object file

  [ Frank Denis ]
  * wasi-libc: compile emmalloc.c without strict aliasing (#16157)

  [ Josh Wolfe ]
  * std: re-pub new json symbols in json.zig

  [ mlugg ]
  * langref: neaten up @errSetCast example
  * AstGen: use usize as result type of for loop range operands
  * compiler: allow cast builtins to coerce result to error union or optional
  * cases: add tests for errors introduced by cast builtin result type inference
  * behavior: add tests for cast builtins coercing to optional and error union
  * Sema: copy pointer alignment to union field pointers
  * Sema: copy pointer alignment to struct field pointers
  * std.pdb: fix incorrect field alignment in ptrCast

  [ Evin Yulo ]
  * remove mention of stage1 from langref

  [ Jacob Young ]
  * AstGen: add source location to certain const initializers

  [ David CARLIER ]
  * std.c: few freebsd's kinfo api fixes.

  [ Jakub Konka ]
  * macho: add fixes to __eh_frame parsing emitted by Nix C++ compiler

  [ Eric Joldasov ]
  * std.cstr: deprecate namespace

  [ Maciej 'vesim' Kuliński ]
  * update Ascon.zig to use @min builtin

  [ Jacob Young ]
  * x86_64: fix packed store crash
  * x86_64: fix unimplemented type crashes
  * x86_64: fix crash emitting a packed undefined u128
  * x86_64: turn `f80` operation crashes into errors
  * x86_64: add unimplemented error for float `@rem`/`@mod`
  * x86_64: fix global pointers to packed struct fields
  * x86_64: add error for saturating arithmetic
  * x86_64: add missing padding to global unions
  * x86_64: truncate packed field value
  * x86_64: fix incorrect encoding table entries
  * x86_64: fix test failure
  * x86_64: disable failing behavior test
  * x86_64: cleanup `@as` invasion

  [ Roman Frołow ]
  * is has -> has

  [ Jacob Young ]
  * Value: fix incorrect types returned from readFromMemory

  [ Jobat ]
  * Change capacity to take a non-pointer parameter

  [ Jan200101 ]
  * std.Build: omit newline from last line

  [ Meghan Denny ]
  * std.Uri: allow getting the mutable result from (un)escape

  [ Luuk de Gram ]
  * wasm-ld: implement `--export-memory` flag
  * Compilation: allow threads for Wasm when shared-memory is enabled
  * std: implement `Futex` for WebAssembly
  * std: implement `Thread` `spawn` for WASI
  * store allocator & remove global assembly
  * std: implement `join` for WASI-threads
  * free allocated memory upon call `join`
  * std: implement `detach` for WASI-threads
  * default to single-threaded for WebAssembly

  [ Ian Johnson ]
  * Build: make `InstallDirStep` use a `FileSource`

  [ mlugg ]
  * AstGen: fix result locations for elements of typed array init

  [ Ali Chraghi ]
  * std.sort.block: add safety check for lessThan return value

  [ Jacob Young ]
  * crypto: cleanup unneeded uses of `@as` in `tls.Client`
  * crypto: recoup storage in `tls.Client.partially_read_buffer`
  * Sema: fix `@min`/`@max` type resolution with all runtime args
  * Sema: use tmp_hack_arena as a temporary solution for lifetime issues

  [ yujiri8 ]
  * improve documentation of std.sort.*Context functions (#16145)

  [ mlugg ]
  * Air: store interned values in Air.Inst.Ref

  [ Krzysztof Wolicki ]
  * autodoc: Added u0, i0 to correctly indexed types
  * autodoc: walkResultTypeRef returns Zig's undefined instead of 0th type

  [ r00ster91 ]
  * fix u65529 and above overflowing in more places
  * test cases: maximum sized integer literal
  * test cases: taking address of extern var as constant
  * std.builtin.StackTrace: don't print extra newline after stack trace
  * Sema.analyzeBodyInner: fix some spaces
  * addrspace: small cleanups
  * test cases: @intCast on vector
  * behavior: correct alignment for elements and slices of aligned array
  * test cases: taking pointer of global tagged union
  * test cases: returning undefined [:0]const u8
  * test cases: never-inline call of inline function with comptime parameter
  * test cases: array inside of anonymous struct
  * test cases: expected optional type in for loop
  * behavior: if-@as-if chain
  * test cases: fix typo in filename
  * behavior: boolean vector with 2 or more elements

  [ Motiejus Jakštys ]
  * ld: support -version-script

  [ zooster ]
  * behavior: test slicing array of zero-sized values

  [ Alex Kladov ]
  * Sema: preserve extern struct field alignment (closes: #16134)

  [ Bertie Wheen ]
  * langref: correct ordering of @xFromY builtins

  [ Ian Johnson ]
  * Autodoc: add preference for `/` search

  [ Krzysztof Wolicki ]
  * autodoc: Try to handle all InternPool.Index types good enough
  * autodoc: Correct a comment about types from std.builtin

  [ Lauri Tirkkonen ]
  * std.crypto.hash.sha2: require avx2 on x86_64

  [ Evan Haas ]
  * langref: Add c_char to the list of primitive types

  [ Jacob Young ]
  * Revert "Sema: preserve extern struct field alignment"
  * Revert "Merge pull request #15995 from mlugg/fix/union-field-ptr-align"

  [ Michael Dusan ]
  * openbsd: add root certificate scanning

  [ Evan Haas ]
  * translate-c: Use `@constCast` and `@volatileCast` to remove CV-qualifiers

  [ Ryan Liptak ]
  * Add `os.windows.nls.upcaseW`, a cross-platform implementation of `RtlUpcaseUnicodeChar`
  * fs.path: Fix Windows path component comparison being ASCII-only

  [ mlugg ]
  * Sema: copy pointer alignment to union field pointers
  * Sema: copy pointer alignment to struct field pointers
  * std.pdb: fix incorrect field alignment in ptrCast

  [ Jacob Young ]
  * Unrevert "Sema: preserve extern struct field alignment"

  [ Robin Voetter ]
  * spirv: fix up todos & errors from intern pool changes
  * spirv: enable simplified default panic handler
  * testing: disable printing for targets that do not support it

  [ Emile Badenhorst ]
  * Fixed Autodoc rendering of @truncate builtin (#16263)

  [ Loris Cro ]
  * autodoc: fix scoring bug when matching full decl name

  [ Robin Voetter ]
  * spirv: disable new behavior tests that do not pass

  [ David CARLIER ]
  * std.c: msghdr* struct removing prefixes to match linux.

  [ Robin Voetter ]
  * llvm: cast optional null ptr representation to generic address space
  * std: make panic and abort for amdhsa call trap

  [ David Carlier ]
  * std.c: fix haiku's find_path signature. codePointer and subPath are not mandatory.

  [ Ryan Liptak ]
  * Fix `TTY.detectConfig` regression on windows

  [ Michael Dusan ]
  * tls certificates: support more BSDs

  [ Philipp Lühmann ]
  * std: fix doc comment of GPA deinit

  [ Emile Badenhorst ]
  * Autodoc: Javascript port of zig lexer. (#16306)

  [ Loris Cro ]
  * autodoc: wire in js tokenizer to frontend

  [ John Simon ]
  * Smaller memory footprint for BoundedArray (#16299)

  [ r00ster91 ]
  * behavior: test @bitCast of packed struct of bools
  * std.math.big.int: better name for equal function

  [ xdBronch ]
  * check for UEFI in io.StreamSource

  [ yujiri8 ]
  * add docstring to std.json.stringify (#16241)

  [ Evin Yulo ]
  * json: give enums a default stringify implementation

  [ Ian Johnson ]
  * autodoc: use commonmark.js for Markdown rendering

  [ Andrew Kelley ]
  * std.Build.Step.Compile: fix clearing logic for empty cflags

  [ Jacob Young ]
  * bootstrap: support aarch64 in 32-bit mode

  [ Emile Badenhorst ]
  * updated css
  * Fixed names prefix
  * changed identifier to white

  [ Ian Johnson ]
  * Autodoc: implement boolean operations

  [ IntegratedQuantum ]
  * Optimize Allocator functions to create less duplicate code for similar types (#16332)

  [ Jakub Konka ]
  * std: add prefixed versions of addFileSource and addDirectorySource to Step.Run

  [ dec05eba ]
  * Client.zig: support rsa_pss_rsae_sha384 and rsa_pss_rsae_sha512

  [ xdBronch ]
  * implement std.time.sleep for uefi

  [ Nameless ]
  * std.http: fix leaked connections (#16341)

  [ Techatrix ]
  * add `jsonParseFromValue` to `std.json.Value` (#16324)

  [ Luuk de Gram ]
  * llvm: add safety-check for Wasm memcpy
  * llvm: add safety-check for Wasm memset

  [ r00ster91 ]
  * std.os.uefi: use std.os.uefi.cc instead of .C as calling convention
  * Sema: infrastructure for supporting more than .C callconv for variadic functions

  [ Garrett ]
  * std.json: expose innerParse and add .allocate option (#16312)

  [ Niles Salter ]
  * Change math.Order order (#16356)

  [ Krzysztof Wolicki ]
  * Changed Step.Run's stdin to accept FileSource (#16358)

  [ Josh Wolfe ]
  * std.json: add generic hash map that parses/stringifies with arbitrary string keys (#16366)

  [ kcbanner ]
  * type: update optionalReprIsPayload to handle inferred error sets

  [ Ian Johnson ]
  * Sema: resolve field type layout for anon struct type info

  [ Techatrix ]
  * explicitly specify error set of `std.json.stringify`

  [ r00ster91 ]
  * AstGen: make sure for range start and end are usizes

  [ xdBronch ]
  * std.mem.zeroes work with allowzero pointers

  [ Luuk de Gram ]
  * add stand alone test to verify bulk-memory features

  [ Meghan ]
  * std: add mem.SplitIterator.peek() (#15670)
  * std.meta: remove isTag (#15584)

  [ Niles Salter ]
  * Add more sorting functions to MultiArrayList (#16377)

  [ Xavier Bouchoux ]
  * remove arbitrary stderr size limit when spawning a child process tool

  [ Michael Buckley ]
  * std.Build: Add methods for creating modules from a TranslateC object.

  [ Xavier Bouchoux ]
  * test: linking static libraries built from intermediary object files
  * build: avoid repeating objects when linking a static library

  [ dweiller ]
  * std.os.sigprocmask: @bitCast flags parameter

  [ Anton Lilja ]
  * Fixes wrong error location for unionInit when first parameter is not a type (#16384)
  * Fixes crash when a struct is given as the first parameter to the unionInit builtin (#16385)

  [ pseudoc ]
  * feat(list_invert): SinglyLinkedList inversion.

  [ antlilja ]
  * Remove len parameter from splat builtin function
  * Remove len parameter from splat in standard lib
  * Update translate-c to new splat syntax
  * Update tests to new splat syntax
  * Update langref to new splat syntax

  [ Andrew Kelley ]
  * update zig1.wasm

  [ Ryan Liptak ]
  * docs: Fix outdated doc comments about allocating 'at least' the requested size

  [ Jakub Konka ]
  * check-object: dump ELF header
  * elf: add ELF and GNU-specific missing defs
  * check-object: dump some info on SHDRs
  * check-object: dump more info on SHDRs
  * check-object: dump info on PHDRs

  [ kcbanner ]
  * linker tests: add missing dependOn calls for CheckObject steps

  [ xdBronch ]
  * fix alignment error in uefi FileInfo protocol

  [ Casey Banner ]
  * macho: fix __unwind_info sentinel entry not always being the upper bound (#16395)

  [ e4m2 ]
  * std.crypto.sha3: Minor TurboSHAKE/Keccak fixes (#16408)

  [ Loris Cro ]
  * Autodoc tokenizer (#16409)
  * autodoc: improved linking for declrefs

  [ Erik Arvstedt ]
  * SinglyLinkedList: rename `invert` -> `reverse`

  [ Andrew Kelley ]
  * std: reword some comments

  [ George  Zhao ]
  * std.crypto: add finalResult and peek api for Sha1 (#16426)

  [ Mathew R Gordon ]
  * std: Make getenv return 0-terminated slice

  [ Luiz Berti ]
  * Small documentation fixes on `std.crypto` (#16427)

  [ Frank Denis ]
  * Replace hand-written endian-specific loads with std.mem.readInt*() (#16431)

  [ Mathew R Gordon ]
  * getenv: remove unnessary `small key` block

  [ Jacob Young ]
  * cbe: fix pointers to aliases of extern values

  [ Andrew Kelley ]
  * rework generic function calls
  * compiler: begin untangling anonymous decls from source decls
  * compiler: rework inferred error sets
  * InternPool: avoid false negatives for functions with inferred error sets
  * InternPool: implement indexToKey for func_instance and func_decl
  * InternPool: fix getErrorSetType
  * InternPool: implement getExternFunc
  * InternPool: implement getFuncInstance
  * InternPool: fix debug info helpers for changes to functions
  * InternPool: implement getFuncInstanceIes
  * Type.print: fix inferred error set crash
  * InternPool: fix regression in getting error sets
  * frontend: fix inferred error sets of comptime/inline calls
  * frontend: fixes for function regressions in this branch
  * Sema: fix not setting up adhoc inferred error set correctly
  * Sema: fix generic function instance with comptime return type
  * InternPool: unwrap func_coerced when using it as generic_owner
  * Sema: fix access of inactive union field
  * AstGen: idiomatic use of switch
  * Sema: fix analyzeIsNonErrComptimeOnly false positive
  * Sema: fix zirStoreNode crash
  * Sema: restore WipCaptures logic
  * Sema: reset generic_owner for inline/comptime calls
  * InternPool: fix funcAnalysis through func_coerced
  * Sema: resolve inferred error set with function state in_progress
  * compiler: work around slightly different generics semantics
  * compiler: fix branch regressions
  * Sema: use src_decl for exported status
  * Sema: enhance generic call error message
  * Sema: fix crash: array_in_c_exported_function
  * Sema: fix source location crash for function prototypes
  * Sema: fix fn_proto_param LazySrcLoc resolution
  * Sema: fix compile error source location regressions
  * Sema: fix return type of generic function is function pointer
  * Sema: fix generic function instances not respecting linksection
  * Autodoc: fix crash on new InternPool addition

  [ Luuk de Gram ]
  * wasm-linker: allow explicit memory exports
  * wasm-linker: implement TLS relocations
  * wasm-linker: shared-memory fixes
  * wasm-linker: prevent double-free on parse failure
  * test/link: add shared-memory test for WebAssembly
  * wasm-linker: create TLS Wasm globals correctly

  [ Frank Denis ]
  * Be more conservative in the description of Aegis256Mac (#16452)

  [ zooster ]
  * collconv -> callconv (#16453)

  [ notcancername ]
  * cbe: fix bug where empty enum would be generated

  [ Jacob Young ]
  * test: fix cbe execution tests
  * llvm: start tracking more things without relying on the llvm api
  * llvm: compute data layout without help like a grownup compiler
  * llvm: finish converting `lowerType`
  * llvm: remove more usages of `llvm.Type`
  * llvm: convert all calls to `constInt`
  * llvm: finish converting `lowerValue`
  * llvm: cleanup init
  * llvm: cleanup management and implement more const functions
  * llvm: finish converting constants
  * llvm: convert basic block creation
  * llvm: convert cursor positioning
  * llvm: convert most instructions
  * llvm: minor fixes
  * llvm: fix various crashes
  * llvm: fix bootstrap
  * llvm: add Builder trailing extra interface
  * llvm: cleanup LLVM IR dumping

  [ Jakub Konka ]
  * check-object: dump contents of .dynamic section
  * check-object: remove wildcard matchers as they are too clunky
  * check-object: dump PT flags when dumping program headers
  * check-object: format known OS-specific types before doing generic format

  [ xdBronch ]
  * more UEFI alignment fixes

  [ Alex Kladov ]
  * reduce AstGen.numberLiteral stack usage

  [ Linus Groh ]
  * std.hash_map: Fix casing of keyPtr variables

  [ Jakub Konka ]
  * check-object: allow for multiple extractions within one check

  [ Frank Denis ]
  * Include system headers path when targeting assembly_with_cpp

  [ Hao Li ]
  * Remove the SingleThread limitation for ARM (#16442)

  [ kcbanner ]
  * debug: support loading elf debug info from external files
  * add CommonInformationEntry parser
  * begin working on parsing unwind info
  * - add call frame instruction parser - add register printing
  * add VirtualMachine to run CFA instructions
  * - add DWARF expression parser - change read apis to use a stream - add register formatters
  * - fix remember_state - implement def_cfa_register
  * - move writing code to zig-dwarfdump - implement restore_state, restore_extended, offset_extended
  * - implement more opcodes
  * - add default register rule - fixup eh pointer decoding
  * - rework StackIterator to optionally use debug_info to unwind the stack - add abi routines for getting register values - unwding is working!
  * dwarf: implement more register number mappings
  * dwarf: implement more register mappings, fix up macos compile
  * - rework CFI instruction parsing to not use std.meta - move register formatting code to zig-dwardump
  * fmt and cleanup
  * debug: fixup context detection for wasi
  * dwarf: fixup for sort changes
  * debug: use an explicit context type instead of anytype for dumpStackTraceFromBase, update crash_report to use this for exceptions
  * dwarf: fixes for non-64 bit systems
  * debug: fixing more compile errors on arches that I hadn't tested on yet
  * debug: more fixups for mips linux not having ucontext_t
  * debug: fix memory leak when an error occurs opening a pdb file
  * dwarf: add support for .eh_frame_hdr when unwinding
  * dwarf: fixup pointer cast
  * - rebase and update to lastest master
  * add more safety checks when searching for eh_frame entries using findEntry
  * dwarf: use eh_frame length if it's available
  * update to new builtin syntax
  * linux: add getcontext for x86_64
  * dwarf: add support for .debug_frame and CIE version 4
  * debug: enhance writeCurrentStackTrace to use context-based unwinding when available
  * debug: x86 unwinding support, more unwinding fixes
  * linux: rework getcontext to closer match the specification (saved IP/SP match the state after it would return) debug: fixup ucontext_t check
  * debug: fix reading -gdwarf generated debug sections in COFF files
  * c: add getcontext debug: make getContext public
  * test: add standalone test for DWARF unwinding with -fomit-frame-pointer
  * c: musl doesn't implement getcontext, so defer to our implementation in that case
  * c: fixup getcontext debug: supports_context -> have_ucontext, supports_getcontext -> have_getcontext test: rework dwarf_unwind test case to also test the non-libc path
  * debug: de-duplicate some code in macos ModuleDebugInfo
  * dwarf: fix logic error in eh_frame_hdry binary search
  * dwarf: add support for DWARF5 DW_AT_ranges in subprograms, add DebugRangeIterator
  * debug: rework how unwind errors are printed, and add module name lookup for linux
  * dwarf: don't dupe function names, as they are backed by the memory mapped sections dwarf: const-correctness fixups dwarf: implement the remaining register rules dwarf: start implmenting the DWARF expression stack machine
  * debug: fixup base address calculations for macho dwarf: fixup x86 register mapping logic dwarf: change the register context update to update in-place instead of copying debug: always print the unwind error type
  * darwin: update mcontext_t definition for aarch64 to add neon state
  * dwarf: introduce ExpressionContext, add more expression opcodes
  * dwarf: add expression writer
  * dwarf: expression fixups for non-64bit arches, check call_frame_context when writing expressions
  * debug: rename StackTraceContext to ThreadContext dwarf: use ThreadContext instead of os.ucontext_t dwarf: add regBytes impl for windows dwarf: fixup expression types for non-native
  * dwarf: implement constx,addrx, begin adding DWARF expression tests
  * debug: add dupeContext, store a pointer to a copy of ThreadContext on UnwindContext
  * dwarf: fixup regBytes for the case where there is no context support expressions: add more tests, fix tests for mipsel debug: add lookupModuleName implementation for macos
  * dwarf: fixup default endianness in ExpressionOptions, add control flow tests
  * dwarf: skip register tests on unimplemented arch / os, add tests for type convesions debug: dupeContext -> copyContext
  * dwarf: add ExpressionError to work around the compiler not being able to infer it dwarf: implement OP.entry_value, add tests
  * macho: add unwindFrame which can unwind stack frames using the __unwind_info section dwarf: fixup missing error
  * debug: add relocateContext dwarf: fixup tests that used a ThreadContext
  * macho: add aarch64 implementation to unwindFrame dwarf: map the V registers in abi.regBytes test: add test case that exercises the stack-indirect __unwind_info mode in x86_64
  * debug: fix initialization of the optional fields on StackIterator dwarf: documentation fixups target: enable unwind tables on macho
  * debug: fixup last_error being printed too many times
  * debug: fixup have_getcontext
  * dwarf: use cie.return_address_register instead of assuming it's in the IP register
  * tests: use a more portable way of determining the return address in the test code
  * debug: fixup an inconsistency  in the getcontext implementation on aarch64-macos
  * macho: remove unnecessary checks
  * compilation: pass omit_frame_pointer through to builtin.zig
  * dwarf: add abi.stripInstructionPtrAuthCode
  * use eh_frame from the mapped binary if available
  * dwarf: fixup integer overflow in readEhPointer debug: handle the possibility of eh_frame / debug_frame being mapped in memory or loaded from disk
  * debug: load the macho unwind sections from the already-mapped image
  * test: add a test for dwarf embedded in coff
  * dwarf: add explicit_fde_offset to support more optimal __unwind_info dwarf lookups
  * macho: don't scan all eh_frame entries, instead follow the offset from the __unwind_info directly
  * dwarf: write the CFA as SP before the register update, in case the SP itself is updated by a column rule
  * dwarf: fix the unwinder using the incorrect row from the FDE in certain cases
  * dwarf: update the pc register
  * dwarf: fixup rules for setting ip
  * dwarf: implement aarch64 default register rules
  * debug: disable the new unwinder on aarch64-macos
  * test: disable omit_frame_pointer unwinding tests on aarch64-macos dwarf: handle signal frame CIE flag
  * dwarf: move macho unwind code from macho -> dwarf dwarf: fixup unchecked .eh_frame CIE offset subtraction

  [ Loris Cro ]
  * autodoc: avoid recursing reference loops in call instructions

  [ r00ster91 ]
  * langref builtin parameters: []u8 -> []const u8
  * fix some whitespace formatting in `switch`s
  * fix @embedFile("") not giving a proper error

  [ Andrew Kelley ]
  * llvm: fix building for 32-bit targets

  [ Josh Wolfe ]
  * std.json: Unify stringify and writeStream (#16405)

  [ Luuk de Gram ]
  * wasm: correctly intcast signed integers

  [ r00ster91 ]
  * codegen: writer().writeByteNTimes -> appendNTimes

  [ iacore ]
  * zig fmt: additionally auto-fix `@byteSwap` (#16462)

  [ Andrew Kelley ]
  * move installation logic to the build script where it belongs

  [ Krzysztof Wolicki ]
  * autodoc: Fix an issue with aliased functions (#16421)

  [ Andrew Kelley ]
  * cmake: don't ask zig2 to do hard things

  [ Garrett ]
  * std.json: fix key allocation in HashMap for streaming json parsing (#16422)

  [ Josh Wolfe ]
  * std.json.WriteStream: eliminate dead memory in optimized modes (#16485)
  * std.json: support parsing json at comptime using FixedBufferAllocator (#16488)
  * Update CODEOWNERS

  [ Andrew Kelley ]
  * frontend: fix wrong result of Value.getFunction
  * Sema: fix adhoc inferred error sets in analyzeIsNonErrComptimeOnly
  * Sema: handle adhoc inferred error sets in helper functions

  [ Ryan Liptak ]
  * windows.DeleteFile: Use FileDispositionInformationEx if possible, but fallback if not
  * Consolidate 'delete a read-only file on windows' test cases

  [ Eric Joldasov ]
  * std.os.windows.advapi32: add RegGetValueW
  * std.os.windows.advapi32: add RegLoadAppKeyW
  * src/windows_sdk.cpp: port to Zig

  [ protty ]
  * Update CODEOWNERS (#16505)

  [ Luis Cáceres ]
  * std.crypto.Certificate: fix timedate parsing

  [ jim price ]
  * Fix the http.Server test and add it to the set of tests in http.zig

  [ Luis Cáceres ]
  * std.crypto.Certificate: consistent param types for parseTimeDigits

  [ Andrew Kelley ]
  * LICENSE: copyright notices do not need years
  * README makeover
  * build: include README.md in release tarballs

  [ Zachary Raineri ]
  * std.zig.Parse: Fix assertion (#16500)

  [ Andrew Kelley ]
  * InternPool: fix coerced func hash/eql same as uncoerced
  * InternPool: add func_coerced handling to funcIesResolved
  * InternPool: add func_coerced handling to getFuncInstanceIes

  [ Ryan Liptak ]
  * child_process: Fix regression on Windows for FAT filesystems
  * os.renameatW: Handle OBJECT_NAME_COLLISION from NtSetInformationFile
  * Handle INVALID_DEVICE_REQUEST in std.os.windows.DeviceIoControl

  [ Andrew Kelley ]
  * Compilation: fix autodocs CLI
  * Revert "zig fmt: additionally auto-fix `@byteSwap` (#16462)"

  [ Jacob Young ]
  * llvm: convert attributes and non-intrinsic calls
  * llvm: fix datalayout generation for more targets
  * test: test for issues starting codegen on many targets
  * llvm: convert inline assembly
  * llvm: convert global assembly

  [ kcbanner ]
  * fixup inline switch

  [ Andrew Kelley ]
  * CLI: delete dead option -femit-analysis
  * std.Build.Step.Compile: getEmittedDocs API enhancements

  [ kcbanner ]
  * simplify call frame instruction parser

  [ Zachary Raineri ]
  * Use builtin inference over @as where possible

  [ Dominic ]
  * Xxhash perf (#15947)

  [ Andrew Kelley ]
  * add comment to discourage using GitHub issue numbers

  [ Wooster ]
  * langref: update docs for ** and ++

  [ Evin Yulo ]
  * langref: document out of bounds float to integer cast

  [ Validark ]
  * [priority_queue] Simplify sifting & fix edge case

  [ lockbox ]
  * Fix type mismatch for Reader.readIntoBoundedBytes (#16416)

  [ Zachary Raineri ]
  * src.link | Remove unused import

  [ Ian Johnson ]
  * zig fmt: make `--exclude` work on files

  [ mllken ]
  * io_uring: let the OS choose a free local port for all tests

  [ kcbanner ]
  * switch to sortUnstable when sorting FDEs (~16ms improvement)
  * reduce the number of duplicate instantiations due to differing stream parameters

  [ mlugg ]
  * std.Progress: add optional unit to progress indicator

  [ kcbanner ]
  * dwarf: small code size reduction in expression runner

  [ Loris Cro ]
  * autodoc: improve handling of periods in search box and add search explainer
  * autodoc: html page fixes

  [ xdBronch ]
  * add error when passing a non-single-item pointer to allocator.destroy

  [ alex ]
  * test/standalone: reinstate std.ChildProcess tests

  [ Jan Philipp Hafer ]
  * re-enable test "fmt.parseFloat nan and inf" after llvm fix

  [ Zachary Raineri ]
  * std.os.linux | Fix sendmmsg function | Issue #16513

  [ Wooster ]
  * ErrorBundle: remove extra newline

  [ mlugg ]
  * Package: add progress indicator for package fetching

  [ Lauri Tirkkonen ]
  * darwin: drop underscore from SIG._{BLOCK,UNBLOCK,SETMASK}

  [ Jacob G-W ]
  * make `@typeInfo` not return private decls

  [ Xavier Bouchoux ]
  * codegen/llvm: fix memset with vectors smaller than one byte

  [ Andrew Kelley ]
  * remove tools/extract-grammar.zig
  * git: add .mailmap
  * .mailmap: a few more duplicates
  * AstGen: avoid unnecessary mutable local
  * frontend: forbid packed and extern tuples

  [ Jakub Konka ]
  * macho: fix matching target triples for TBDv3
  * tapi: do not log errors using log.err
  * link-test: add test for TBDv3 updated parsing logic

  [ kcbanner ]
  * Add --verbose-generic-instances to provide visibility on the number of generic function instantiations

  [ Jakub Konka ]
  * link-test: adjust TBDv3 test to handle x86_64-macos also
  * macho: create export trie root explicitly with Trie.init
  * link-test: add test case for MachO bug 16308
  * link-test: expect exit code of 0 for TBDv3 test

  [ Jim Price ]
  * Fix counting in SingleThreadedRwLock's tryLockShared (#16560)

  [ Andrew Kelley ]
  * llvm: disable LTO on C ABI tests

  [ Jacob Young ]
  * llvm: fix data layout on ios

  [ Andrew Kelley ]
  * add behavior test for comptime array load

  [ kcbanner ]
  * debug: print unwind errors if they occur on the first iteration, and differentiate between missing info and an actual unwind error in the message
  * compilation: change compiler_rt to inherit `strip` and `want_unwind_tables` from the parent compilation
  * target: emit unwind tables if the platform supports unwinding

  [ Andrew Kelley ]
  * add behavior test for tail calls
  * add behavior test for union with 128 bit integer
  * add behavior test for comptime ptrcast packed struct
  * add behavior test for bitcast packed struct twice
  * add behavior test for switch nested break
  * add behavior test for defer assign

  [ kcbanner ]
  * debug: skip unwind error printing on platforms that don't have_ucontext

  [ Jacob Young ]
  * AstGen: fix missing deferred ref

  [ zhaozg ]
  * build: update cmake_minimum_required to 3.5

  [ Andrew Kelley ]
  * LLVM: always add argument attributes to calls

  [ kcbanner ]
  * test: add a test that verifies no debug handlers get pulled into compiler_rt build: fix CheckObject checkNotPresent only checking a single line of the haystack

  [ Ryan Liptak ]
  * windows.OpenFile/DeleteFile: Add NetworkNotFound as a possible error

  [ Andrew Kelley ]
  * frontend: make fn calls byval; fix false positive isNonErr

  [ Michael Dusan ]
  * linux: do not set stack size hard limit

  [ AnnikaCodes ]
  * std.Uri: Don't double-escape escaped query parameters (#16043)

  [ Rohlem ]
  * `std.coff`: check strtab lengths against `data` length

  [ Ryan Liptak ]
  * Add fs.path.ComponentIterator and use it in Dir.makePath

  [ Josh Wolfe ]
  * std.json: WriteStream.print instead of writePreformatted

  [ techatrix ]
  * add bound check on for and while nodes

  [ Loris Cro ]
  * autodoc: improve styling of new help dropdown

  [ Niles Salter ]
  * Doc nitpick

  [ Jakub Konka ]
  * macos: fix parsing of SDK version string into std.SemanticVersion

  [ Jacob Young ]
  * Sema: don't reorder tuple fields
  * llvm: fix SysV C abi for structs smaller than two eightbytes
  * c-abi: enable passing tests

  [ Zachary Raineri ]
  * std.start | Remove unused import
  * std.target | Remove comment referencing closed proposal

  [ Ryan Liptak ]
  * windows_sdk.zig: Reinstate COM ISetupEnumInstances logic

  [ xdBronch ]
  * suggest using else when '_' is used for exhaustive enums (#16583)

  [ Jacob Young ]
  * Build: use optionals again

  [ mlugg ]
  * package manager: don't show progress indicator on dumb terminals

  [ Ryan Liptak ]
  * windows_sdk: Get the latest installed version when using COM

  [ Xavier Bouchoux ]
  * llvm: partial fix of store undefined to packed result location

  [ Jacob Young ]
  * behavior: add coverage for no longer reproducing issue

  [ Xavier Bouchoux ]
  * codegen: fix access to byte-aligned nested packed struct elems

  [ AdamGoertz ]
  * Allow zero-sized fields in extern structs (#16404)

  [ Jacob Young ]
  * llvm: support read-write output constraints in assembly

  [ Loris Cro ]
  * autodoc: implement typeof support in new rendering system

  [ Evan Haas ]
  * add behavior test for vector bitcast at comptime

  [ Frank Denis ]
  * Remove obsolete comment in wasi_libc.zig

  [ kcbanner ]
  * test: fix missing _start symbol warning by linking libc in compiler_rt_panic

  [ Felix (xq) Queißner ]
  * Build.zig rename orgy (aka: #16353). Renames FileSource to LazyPath and removes functions that take literal paths instead of LazyPath.
  * Introduces `Compile.getEmittedX()` functions, drops `Compile.emit_X`. Resolves #14971

  [ Felix "xq" Queißner ]
  * Introduces Compile.forceBuild() and Compile.forceEmit(…)
  * Rebase + two fixes.
  * Tries to fix Windows DLL linking.

  [ Andrew Kelley ]
  * build system: follow-up enhancements regarding LazyPath
  * link: add more respect for -fno-emit-bin
  * std.Build.Step.InstallArtifact: disable emit-h
  * std.Build.LazyPath: fix resolution of cwd_relative
  * move docgen.zig to tools/

  [ Jacob Young ]
  * std: cleanup asm usage
  * cbe: get behavior tests running on arm
  * Sema: restrict what can appear in a naked function
  * std: finish cleanup up asm

  [ GethDW ]
  * std.Build.Step.WriteFile: fix call to nonexistent function

  [ Andrew Kelley ]
  * Revert "std.c: fix haiku's find_path signature."
  * Revert "std.c: msghdr* struct removing prefixes to match linux."
  * Revert "std.c: few freebsd's kinfo api fixes."
  * Revert "std.c: fix few capcisum api calls, following-up on 6ae19fa."
  * Revert "std.c: fix host_basic_info definition for darwin."
  * Revert "std.c: freebsd fix typo for PROC.PROCCTL_MD_MIN constant."
  * Revert "std.c: update netbsd/openbsd mman constants"
  * Revert "Merge pull request #15867 from devnexen/haiku_malloc_usable_size"
  * Revert "std.c: exposing timer api"
  * Revert "std.os: fix uname usage."
  * Revert "std.Thread: refining stack size from platform minimum, changes more targetted towards platform like Linux/musl (#15791)"
  * Revert "std.c: fix freebsd's CPU_ISSET call"
  * Revert "std.os: gethostname non libc linking using uname like linux"
  * Revert "std.c: adding ptrace for netbsd."
  * Revert "std.os: add linux timer api"
  * Revert "std.c: darwin's *copyfile api update."
  * Revert "std.c: add ptrace for freebsd support."
  * Revert "std.c: add netbsd's accept_filter_data for ACCEPT_FILTER sock opt."
  * Revert "std.c: add rfork for freebsd"
  * Revert "std.os: implementing sched_setaffinity wrapper for freebsd"
  * Revert "std.os: adding linux's sched_setaffinity and its wrapper"
  * Revert "linux adding some NUMA support"
  * Revert "std.c: further darwin's host statistics data"
  * Revert "std.c: adding basic darwin's host_statistics data."
  * Revert "std.c: darwin adding more host_info api data"
  * Revert "std.c: adding freebsd's ioctl base operands."
  * Revert "std.c: add freebsd's kinfo_vmobject"
  * Revert "std.c: adding freebsd's domainset_t bitset"
  * Revert "std.fs: selfExePath haiku using constants instead"
  * Revert "std.c: adding freebsd's domainset api"
  * Revert "std.c: openbsd sigcontext/ucontext for arm64."
  * Revert "std.c: adding freebsd's kinfo_proc type."
  * Revert "std.c: darwin add host_info based data."
  * Revert "std.c: adding cpu affinity api for macOs (mainly x86_64)"
  * Revert "Merge pull request #15317 from devnexen/darwin_rand_nativegen"
  * Revert "std.c: add os_proc_available_memory for darwin"
  * Revert "std.c: adding freebsd's CPU_COUNT macro portage."
  * Revert "std.c: add essential freebsd's capsicum api subset."
  * Revert "std.c: freebsd add procctl exclusive x86_64 flags"
  * Revert "std.c:complete further more netbsd's mmap flags"
  * Revert "std.c: add mincore api to darwin."
  * Revert "std.c: adding mincore for freebsd"
  * Revert "std.os: selfExePath implementation for haiku"
  * Revert "std.c: add find_path for haiku"
  * Revert "std.process: further totalSystemMemory portage"
  * Revert "std.os: sysctl* wrappers, better warning at compile time"
  * Revert "std: adding sigevent to supported platforms."
  * Revert "std: adding FreeBSD's sched wrappers"
  * Revert "std: mcontext layout for x86 and fixing few x86_64 fields types for"
  * Revert "std: add accept_filter struct to make use of SO_ACCEPTFILTER socket option"
  * Revert "std: add a subset of the macOs's libproc api."
  * Revert "std: enriching malloc api on freebsd."
  * Revert "std: adding netbsd's pthread to cpu affinity api"
  * Revert "os: expand sched_getaffinity wrapper and update freebsd's cpuset api flags."
  * Revert "std: adding freebsd's elf_aux_info api"
  * Revert "std: freebsd update proposal"
  * Revert "std: add shm_create_largepage for FreeBSD, completing MFD* constants."
  * Revert "std add getrandom to solato solaris based systems"
  * Revert "std: add kinfo_vmentry for FreeBSD"
  * Revert "std: add FreeBSD's procctl api."
  * std.c.openbsd: add ucontext_t for aarch64
  * std.c.openbsd: add PTHREAD_STACK_MIN
  * std.c.openbsd: remove "msg_" prefixes from structs

  [ antlilja ]
  * Fix integer overflow in field padding calculation

  [ Andrew Kelley ]
  * add behavior test for sub-aligned field access

  [ Jacob Young ]
  * llvm: fix data layout calculation for experimental llvm targets

  [ Kitty-Cricket Piapiac ]
  * std.process.totalSystemMemory: return correct error type on FreeBSD

  [ Andrew Kelley ]
  * CLI: stop special-casing LLVM, LLD, and Clang

  [ Adam Goertz ]
  * Remove math.ln in favor of `@log`

  [ Jakub Konka ]
  * macho: track unwind/dwarf cfi records by symbol rather than atom
  * link-test: add matching test case for unwind info when MH_SUBSECTIONS_VIA_SYMBOLS is not set

  [ Jacob G-W ]
  * langref: fix documentation for @extern
  * Plan9: support linking to external 'special' symbols
  * plan 9: filesystem support
  * Plan 9 linker: don't try to calculate the vaddr before we know it
  * std: add SbrkAllocator and use it for Plan 9

  [ Jakub Konka ]
  * macho: set first and last atom indexes to 0 when marking section for pruning

  [ Jacob G-W ]
  * Plan 9: add more features to std.os.plan9

  [ Jacob Young ]
  * Sema: improve new error messages related to naked functions

  [ Mitchell Hashimoto ]
  * build: dupe library, rpath, and framework LazyPaths

  [ Jacob Young ]
  * cmake: fix early issues when bootstrapping on mingw

  [ Andrew Kelley ]
  * LibCInstallation: no longer depends on LLVM

  [ mlugg ]
  * std.target: mark helper functions inline

  [ Fabio Arnold ]
  * Fix compile error in `addVcpkgPaths`

  [ Andrew Kelley ]
  * compiler: resolve library paths in the frontend
  * frontend: fix linking to Windows DLLs as system libs
  * CLI: add --ambiguous-static-library
  * CLI: remove --ambiguous-static-library
  * cmake: find LLVM libraries unambiguously
  * frontend: update is_libc_lib_name for mingw-w64 crt files
  * CLI: adjust order of operations of system libraries
  * CLI: Windows: system DLLs no longer trigger native paths detection
  * coff: always link uuid.lib as part of mingw libc
  * MachO: put system_libs into libs not positionals
  * CLI: revert -l behavior
  * frontend: make SystemLib.path optional
  * CLI: add -search_paths_first_static to complete the API
  * std.Build.Step.Compile: fine-grained system lib search control
  * build.zig: use InstallArtifact Options instead of mutation
  * CI: fix path to output langref
  * CLI: delete redundant logic and use null instead of undef
  * CLI: reduce code size bloat
  * std.zig.system.NativePaths: simplify and integrate with Darwin SDK
  * zig libc: restore functionality on macOS
  * std.zig.system.darwin: fix redundant names
  * std.zig.system.darwin.isSdkInstalled: fix implementation
  * CLI: add native paths only if ABI is also native
  * Compilation: fix incorrect non-optional assumption
  * darwin: pass -iframework to clang for system frameworks
  * Compilation: detect sysroot from libc installation
  * CLI: fix a typo that made static/dynamic do the opposite

  [ Jakub Konka ]
  * macho: append syslibroot to search dirs when resolving libSystem

  [ Andrew Kelley ]
  * std.zig.system.NativePaths: remove bad framework dir

  [ Krzysztof Wolicki ]
  * autodoc: Added line_comment tokens to ziglexer.js tokenizer

  [ Andrew Kelley ]
  * Release 0.11.0
  * start the 0.12.0 release cycle

  [ Jeremy Volkman ]
  * Fix typo: headerpat -> headerpad

  [ David Gonzalez Martin ]
  * debug: expose module debug info deinitialization

  [ Andrew Kelley ]
  * update .mailmap

  [ Prcuvu ]
  * cmake: Fix typo: elif → elseif

  [ Jacob Young ]
  * Sema: fix issues passing an invalid type to a generic method

  [ Ryan Liptak ]
  * std.testing.expectEqualSlices: On failure, print address for pointer types

  [ none ]
  * wyhash: keep tail bytes on iterative update

  [ Jacob Young ]
  * cbe: don't emit traps in naked functions

  [ antlilja ]
  * Implement fp intrinsics in new LLVM IR builder
  * Use new LLVM builder API in buildFloatOP
  * Implement bitop intrinsics in new LLVM IR builder
  * Use new LLVM IR builder API in bit op lowering

  [ Robin Voetter ]
  * llvm: add const addrspace cast

  [ Jonathan Marler ]
  * std.json: fix roundtrip stringify for large integers

  [ Jacob Young ]
  * json.stringify: properly implement RFC8259 recommendation

  [ Jonathan Marler ]
  * std.json: josh review fixes

  [ Loris Cro ]
  * autodoc: new layout (#16715)

  [ Zachary Raineri ]
  * std: remove some unused imports (#16710)

  [ Stevie Hryciw ]
  * Add behavior test for ptrCast on function pointer
  * Add compile error test for comptime slice-of-struct copy
  * Add behavior test for copying self-referential struct

  [ Philipp Lühmann ]
  * std.json: stringify enum literals (#16742)

  [ Jacob Young ]
  * Builder: fix attribute spacing
  * Builder: fix builtin pseudo-instruction dumping
  * llvm: convert intrinsics to using `Builder`
  * llvm: finish converting attributes to use Builder and the C LLVM API
  * Builder: simplify intrinsic table
  * llvm: convert vector reduction intrinsics
  * llvm: finish converting intrinsics
  * llvm: finish converting instructions
  * llvm: cleanup even more unused LLVM API bindings
  * Builder: fix enough bugs to pass the behavior tests
  * llvm: finish converting globals
  * llvm: fix alias issues
  * llvm: remove dependence on llvm data layout alignment
  * llvm: force strip without libllvm to avoid unimplemented behavior
  * Sema: remove `validateRunTimeType`
  * std.mem.sliceAsBytes: support arrays of zero-bit types
  * llvm: enable even without libllvm linked
  * Sema: fix generic method argument source locations
  * Sema: use the correct decl for generic argument source locations
  * Module: implement `span` for `.call_arg` of a `@call`

  [ mllken ]
  * linux: add setsid

  [ Zachary Raineri ]
  * change uses of std.builtin.Mode to OptimizeMode (#16745)

  [ mlugg ]
  * AstGen: handle `ty` result location for struct and array init correctly
  * compiler: fix crash on invalid result type for `@splat`
  * Sema: refactor generic calls to interleave argument analysis and parameter type resolution
  * Sema: detect invalid field stores in tuple initialization
  * cases: modify error wording to match new errors
  * Sema: add references to generic instantiations

  [ Michael Dusan ]
  * linux: search for system libc++

  [ Ryan Liptak ]
  * fs.Dir.realpathW: Reduce the number of OpenFile calls for directories

  [ Matt Knight ]
  * Compare user input for multiple dependency build variants (#16600)

  [ Xavier Bouchoux ]
  * Sema: fix coerceArrayLike() for vectors with padding

  [ Ali Chraghi ]
  * Build.ConfigHeader: render identifiers

  [ jaina heartles ]
  * std.http.Server: use correct header for Transfer-Encoding

  [ Jacob Young ]
  * Sema: avoid deleting runtime side-effects in comptime initializers

  [ mlugg ]
  * Sema: remove redundant addConstant functions

  [ Ryan Liptak ]
  * Windows: Fix `TooManyParentDirs` handling for paths that shouldn't be cwd-relative
  * fs tests: Add a 'non-cwd .. parent' test

  [ Jacob Young ]
  * AstGen: fix src loc for invalid if expression rls coercions
  * AstGen: fix src loc for invalid coercions in tuple literals
  * AstGen: fix src loc for invalid coercion in breaks
  * AstGen: fix src loc for invalid switch expression rls coercions
  * AstGen: cleanup `@as` invasion

  [ Xavier Bouchoux ]
  * objcpy: preserve the mode when striping an elf file.
  * build/ObjCopy: strip debug info to a separate elf file.

  [ snoire ]
  * Fix incorrect lib search paths in README

  [ Andre Herbst ]
  * libunwind: Remove include for libcxx as its also done in upstream llvm repo

  [ Sahnvour ]
  * std.Build: make number of collected stack frames configurable
  * std.Build: factorize Step stack trace dumping code

  [ Jacob Young ]
  * cmake: fix auto-detection of various host targets

  [ Sahnvour ]
  * std.Build: add support for deps .d file in Step.Run

  [ Krzysztof Wolicki ]
  * Autodoc: remove assumption that slice's lhs is always a declRef

  [ kcbanner ]
  * dwarf: add missing length check in rowColumns

  [ mlugg ]
  * Sema: provide source location when analyzing panic handler

  [ e4m2 ]
  * std.crypto.aead: Consistent decryption tail and doc fixes (#16781)

  [ Xavier Bouchoux ]
  * objcopy: fix typo

  [ e4m2 ]
  * std.rand: Accept ints with >64 bits in `uintLessThanBiased`
  * std.rand: Accept ints with >64 bits in `uintLessThan`
  * std.rand: Cleanup `@as` builtins

  [ mlugg ]
  * Sema: queue type resolution whem emitting array_elem_val
  * InternPool: preserve indices of builtin types when resolved

  [ Ryan Liptak ]
  * std.json: Fix decoding of UTF-16 surrogate pairs (#16830)

  [ kcbanner ]
  * debug: support looking up debug symbols in both PDB and DWARF debug info, instead of only using DWARF if `.debug_info` is present coff: support reading from memory loaded by the loader, or a mapped file
  * coff: handle the case of there being no PDB path

  [ Jakub Konka ]
  * std: fix compilation errors in dwarf/abi.zig when targeting iOS

  [ Ryan Liptak ]
  * Do not skip fs.Dir.access test on WASI

  [ Michael Dusan ]
  * netbsd: std.c.REG: populate indexes for x86_64
  * netbsd: std.dwarf.abi: disable x86_64 regBytes()
  * netbsd: std.c: fix pthread_rwlock_t
  * dragonfly: std.c: more decls
  * bsd: std.c.fs: skip test w/ getFdPath in calltree
  * std.debug: avoid os.getFdPath

  [ Ryan Liptak ]
  * Fix windows.CreateSymbolicLink/ReadLink for non-relative paths
  * windows.GetFinalPathNameByHandle: Support UNC paths

  [ Evan Haas ]
  * translate-c: Flexible array members must be the last field in a struct
  * translate-c: Use canonical type of field for flexible array definition

  [ Jakub Konka ]
  * macho: tie FDEs and unwind records to all symbol aliases
  * macho: add smoke test for re-exports in static libs

  [ Nitin Prakash ]
  * langref: minor documentation fixes to addCSourceFile (#16785)

  [ Jakub Konka ]
  * comp: make --verbose-cc actually thread-safe

  [ mlugg ]
  * std.Build: check for native CPU when serializing CrossTarget

  [ Ryan Liptak ]
  * fs tests: Test multiple different path types in most tests
  * fs tests: Update some testing.expect calls to use the more specific expect functions
  * Fix ntToWin32Namespace and friends on big endian architectures

  [ Ian Johnson ]
  * Autodoc: fix guide path resolution
  * std.json: avoid stale pointers when parsing Value (#16864)

  [ Michael Dusan ]
  * std.debug: openbsd does not have getcontext

  [ Andrew Kelley ]
  * InternPool: safer enum API

  [ Jakub Konka ]
  * cc: disambiguate includes with sysroot in ClangSearchSanitizer
  * build: do not emit -iwithsysroot/-iframeworkwithsysroot implicitly
  * build: remove spurious -iframework flag; use getPath2 for framework path resolution
  * comp: forward -iframework/-iframeworkwithsysroot paths to the backend
  * build: disambiguate system framework path (-iframework) from framework path (-F)

  [ Lewis Gaul ]
  * Make NaNs quiet by default and other NaN tidy-up (#16826)

  [ Jakub Konka ]
  * build: merge FrameworkDir into IncludeDir
  * macho: add helper for accessing tools array in LC_BUILD_VERSION cmd
  * check-object: dump contents of LC_BUILD_VERSION and LC_VERSION_MIN_* cmds
  * build: add build test check for availability of IOS SDK on the host
  * standalone: add iOS smoke test - test ability to target iOS with Zig
  * build: -Denable-ios-sdk implies -Denable-macos-sdk

  [ Ryan Liptak ]
  * fs tests: Use 127.0.0.1 instead of localhost as the server in UNC transformation
  * Add NetworkNotFound to ReadLinkError

  [ Jakub Konka ]
  * macos: add <paths.h> header to Zig shipped libc

  [ Ryan Liptak ]
  * fs.selfExePath: Make the Windows implementation follow symlinks
  * Add self_exe_symlink standalone test
  * os.realpathW: Reduce the number of OpenFile calls for directories
  * Cache: Fix findPrefix when paths are slightly out of the ordinary

  [ Jakub Konka ]
  * macho: we no longer need to resolve framework dirs against sysroot
  * frontend: move framework path resolution from the linker to frontend

  [ mlugg ]
  * AstGen: add result location analysis pass
  * AstRlAnnotate: work around upstream LLVM bug
  * cbe: elide block result allocation for 0-bit types
  * stage1: update zig1

  [ Jacob Young ]
  * Revert "llvm: fix bootstrap"

  [ Jakub Konka ]
  * frontend: directly pass resolved frameworks container to the linker

  [ mlugg ]
  * AstGen: disallow '-0' integer literal

  [ Gregory Mullen ]
  * Update default stack frames for general_purpose_allocator.zig

  [ Carl Åstholm ]
  * compiler_rt: fix f80 comparisons

  [ mlugg ]
  * Sema: check @memset operand provides length
  * Sema: disallow C pointer to slice coercion

  [ Andrew Kelley ]
  * compiler: move unions into InternPool
  * wasm backend: delete dead code in lowerConstant

  [ riverbl ]
  * Implement `@mod` and fix bugs with `divFloor` for wasm
  * Replace `@panic` with `unreachable`, add test

  [ matu3ba ]
  * std.windows: use atomic rename, if possible (#16717)

  [ Andrew Kelley ]
  * std.os.uefi: reorganize namespaces

  [ xdBronch ]
  * fix compile errors introduced by #16953 (#16955)

  [ Jacob Young ]
  * Build: fail tests that log errors, like `zig test` does

  [ kcbanner ]
  * linux: export elf_aux_maybe so that libraries can call getauxval
  * linux: instead of export elf_aux_maybe, export getauxval itself
  * linux: only export getauxval if not linking libc
  * linux: fixup for platforms that don't support extern functions yet

  [ Jay Petacat ]
  * std: Rename `TailQueue` to `DoublyLinkedList`

  [ Jacob Young ]
  * Sema: implement reference trace with called from here notes

  [ mlugg ]
  * Sema: allow cast builtins on vectors
  * compiler: provide result type for @memset value

  [ Jacob Young ]
  * Sema: cleanup `@as` invasion
  * Sema: cleanup to use more enum literals
  * Sema: factor out `NeededComptimeReason` from comptime value resolution
  * Sema: refactor to add a `block` param to `failWithOwnedErrorMsg`
  * Sema: create "called from here" notes before reference traces
  * Sema: revert reference trace changes that are no longer needed

  [ Jay Petacat ]
  * std: Move `TailQueue` alias to correct namespace

  [ Jacob Young ]
  * llvm/cbe: support slice in `@prefetch`

  [ Jakub Konka ]
  * darwin: move inference of SDK version into the linker
  * macho: remove dead code
  * macho: remove page_size field as it can be computed when and where required
  * macho: simplify input file parsing for both drivers
  * macho: unify concept of SymbolWithLoc across drivers
  * macho: add simple error reporting for misc errors
  * macho: unify Section concept across drivers
  * macho: unify more of the linker state
  * macho: unify Atom concept between drivers
  * macho: change dyld_private_sym_index to dyld_private_atom_index in zld
  * macho: use TableSection for GOT entries in zld driver
  * macho: use TableSection for TLV pointer entries in zld driver
  * macho: remove obsolete function createDyldStubBinderGotAtom
  * macho: use TableSection for stub entries in zld driver
  * macho: remove dead code
  * macho: collect rebase data by scanning atoms directly in objects
  * macho: collect bind data by scanning atoms directly in objects
  * macho: assert every global is extern in incremental context
  * macho: remove dead code
  * macho: move symbol resolver into zld driver's state
  * macho: unify entry point handling
  * macho: move getOutputSection into Atom
  * macho: move initSection into MachO from Zld
  * macho: unify writeSegmentHeaders func
  * macho: unify allocating special symbols
  * macho: unify creating atoms
  * macho: unify writeLinkeditSegmentData func
  * macho: unify segment handling
  * macho: unify resolving globals
  * macho: save indexes to all sections of interest
  * macho: merge Zld state with MachO state
  * macho: fix compilation issues
  * macho: fix invalid alignment of stubs for x86_64
  * macho: fix a few regressions in incremental codepath
  * macho: fix overalignment of stubs on aarch64
  * macho: swap sectname with segname typo when allocating sections
  * macho: report undefined via compiler errors in incremental driver
  * macho: fix 32bit compilation issues
  * macho: report symbol collision as compiler error
  * macho: convert log.err when CPU arch is mismatched into actual errors
  * macho: create an explicit error set for parse functions
  * macho: remove MachO.requiresThunks as it is obsolete
  * macho: make MachO.requiresCodeSignature accept link.Options
  * macho: parse platform info from each object file into Platform struct
  * macho: clean up helpers for std.SemanticVersion <-> Apple version formatting
  * link: remove unused darwin_sdk_version field
  * macho: clean up array of supported platforms and versions
  * macho: handle mismatched and missing platform errors

  [ Igor Sadikov ]
  * Optimize std.base64.standard.Encoder.encode

  [ Jakub Konka ]
  * macho: simplify handling and reporting parsing errors
  * macho: format parse error for fat libs to include CPU archs only

  [ Nameless ]
  * std.http: add Client.fetch and improve redirect logic
  * std.http: handle expect:100-continue and continue responses
  * std.http: connectUnix return Unsupported on targets without unix sockets
  * std.http.Server: responses to HEAD not allowed to have a payload

  [ Jakub Konka ]
  * macho: refactor resolving and parsing dependent dylibs
  * macho: convert error.TODOImplementWritingStaticLibFiles into an actual error
  * macho: improve error reporting for re-exports mismatch

  [ Nameless ]
  * std.http: allow for arbitrary http methods

  [ Jakub Konka ]
  * macho: report formatted error for unhandled symbol types
  * macho: remove obsolete error.FailedToResolveRelocationTarget
  * macho: report basic __eh_frame problems as errors
  * macho: remove error.UnhandledDwFormValue from link.File
  * macho: improve formatting of invalid targets in libraries

  [ Jacob Young ]
  * Sema: cleanup `coerceExtra`

  [ Jakub Konka ]
  * macho: check if fallback libSystem.{d}.tbd exists in Zig's installation

  [ Ryan Liptak ]
  * Fix `Dir.statFile` for WASI when linking libc

  [ Jakub Konka ]
  * macho: report missing libSystem/libc system libraries to the user
  * macho: forgot to include dirname when resolving dependencies
  * macho: we actually care about stem and not basename for dependencies

  [ Ryan Liptak ]
  * Temporarily disable Dir.statFile test when linking glibc

  [ Michal Ziulek ]
  * std.coff: Fixed compile error.

  [ Marc Tiehuis ]
  * std/hash: add smhasher verification tests
  * std/hash: add generic tests for idempotency/iterative api
  * std/hash: perform iterative + smhasher tests at comptime

  [ Jakub Konka ]
  * dwarf: fix copy-paste typo in variable lowering code for reg and stack
  * elf: write symbol names into .strtab rather than .shstrtab
  * elf: write all symbols in bulk in flush
  * elf: correctly set symtab's sh_info to first global index

  [ Josh Wolfe ]
  * std.ArrayHashMap.reIndex also recomputes hashes (#17054)

  [ Jakub Konka ]
  * elf: mark dirty .symtab shdr after updating sh_info field
  * elf: add global symbol resolver

  [ Jan Philipp Hafer ]
  * std.os+windows: isAtLeast(.win10_rs5) in renameatW(), DeleteFile() for posix semantics

  [ Michael Dusan ]
  * build stage3: detect system libcxx

  [ Ambareesh "Amby" Balaji ]
  * std.fs: Fix typo in accessAbsoluteW

  [ James Chen-Smith ]
  * autodoc: Extract decl ref style and fix light mode color (#15990)

  [ Loris Cro ]
  * autodoc: better light mode colors
  * autodoc: fix typo

  [ Krzysztof Wolicki ]
  * autodoc: Implement `a[b]`, `a.?`, and `a.*` (#16863)
  * autodoc: Implement `@bitSizeOf` rendering in main.js (#16895)
  * autodoc: Implement `@call`, `@unionInit`, `@mulAdd` support (#16918)

  [ Loris Cro ]
  * autodoc: fix rendering of std.json.ObjectMap

  [ Krzysztof Wolicki ]
  * autodoc: Fix rendering of enum types (#17058)

  [ Jakub Konka ]
  * macho: check if we should emit LC_VERSION_MIN_ if target low enough

  [ Jim Calabro ]
  * Make a Couple Syscall Comments Consistent (#17066)

  [ Jakub Konka ]
  * elf: simplify accessors to symbols, atoms, etc
  * elf: remove dead code

  [ Loris Cro ]
  * autodoc: style links in source code

  [ Michael Dusan ]
  * Compilation: support --verbose_llvm_cpu_features

  [ Jakub Konka ]
  * elf: atom.index of 0 reserved for null atom
  * elf: start porting abstraction of input file

  [ Veikka Tuominen ]
  * AstGen: fix error on missing function prototype name

  [ Marc Tiehuis ]
  * update crc catalog gen script

  [ Carl Åstholm ]
  * translate-c: fix panic when translating long double literals

  [ Luis Cáceres ]
  * std.net: Fix IPv6 address parsing for single digit

  [ Jakub Konka ]
  * elf: make everything upside down - track by Symbol.Index rather than Atom.Index
  * elf: lift-off - get it to compile and run until the error!
  * elf: set atom names

  [ Gregory Anders ]
  * std: enable FailingAllocator to fail on resize

  [ Mustafa Uzun ]
  * fix: panic message typo

  [ Hashi364 ]
  * langref: keyword consistency (between keyword list and grammar)

  [ Techatrix ]
  * wasm: fix finishAir when combining arg into single stack value

  [ Jakub Konka ]
  * elf: write symbtab
  * elf: use zld's update mechanism for symtab for Zig module

  [ Veikka Tuominen ]
  * AstGen: fix missing array type validation

  [ Pascal S. de Kloe ]
  * mem: explicit dupe and dupeZ error on Allocator

  [ Techatrix ]
  * wasm-linker: fix use of invalidated memory in populateErrorNameTable

  [ Jakub Konka ]
  * elf: store GOT index in symbol extra array; use GotSection for GOT

  [ Linus Groh ]
  * std.c.linux: Add getpw{nam,uid}()

  [ xdBronch ]
  * remove outdated error message in std.fs

  [ none ]
  * std.tar: add support for file path in pax attributes

  [ Wooster ]
  * std: clean up top-level namespaces documentation

  [ Jakub Konka ]
  * elf: store Index rather than ?Index in Atom; gen ABS STT_FILE for zig source
  * elf: write $got symbols into the symtab
  * elf: rename program_headers to phdrs

  [ Wooster ]
  * ci: use zig build check-fmt instead of zig fmt --check

  [ Jakub Konka ]
  * elf: clean up naming and remove unused functions

  [ Ian Johnson ]
  * Autodoc: fix search results navigation
  * Autodoc: tweak page layout
  * Autodoc: simplify search text on mobile

  [ Jakub Konka ]
  * elf: create required linker-defined symbols
  * elf: write linker-defined symbols to symtab
  * elf: allocate linker defined symbols

  [ Techatrix ]
  * wasm: implement negation on f80 and f128
  * wasm: implement comparison on f80 and f128
  * wasm: implement common conversions between integers/floats with bitsize larger than 64 bits
  * wasm: implement more math operations on 128 bit integers
  * wasm: enable successful behavior tests

  [ Jakub Konka ]
  * elf: decouple notion of atom free list from shdrs

  [ Michael Dusan ]
  * doc: inline comptime conditional block

  [ Jakub Konka ]
  * elf: simplify handling of relocs for atoms

  [ Arnau ]
  * Documented `linksection`

  [ Jakub Konka ]
  * elf: emit relocation to an extern function
  * elf: report undefined symbols as errors
  * elf: add basic error reporting for positional parsing
  * elf: add prelim impl of Object parsing

  [ Techatrix ]
  * json: respect max_value_len when parsing std.json.Value (#17107)

  [ Jakub Konka ]
  * elf: report undefined symbols in objects

  [ Ruben Dimas ]
  * std.math.asinh: fixed -0.0 evaluating to 0.0
  * std.math.asinh: changed unsigned int to hexadecimal

  [ Jakub Konka ]
  * elf: start fixing symbol resolution
  * elf: add simplistic symbol resolution
  * elf: mark imports-exports; populate symtab with objects
  * elf: claim unresolved dangling symbols that can be claimed
  * elf: add simplistic reloc scanning mechanism
  * elf: set output section index when parsing objects
  * elf: set output section index of a global when resolving
  * elf: allocate objects, currently atom-by-atom
  * elf: resolve and write objects to file
  * elf: include C compilation artifacts on the linker line

  [ Lucas Culverhouse ]
  * std.math.cbrt: fixed -0.0 evaluating to 0.0

  [ Jakub Konka ]
  * elf: clean up and unify symbol ref handling in relocs

  [ Andrew Kelley ]
  * Revert "ci: use zig build check-fmt instead of zig fmt --check"

  [ Jakub Konka ]
  * elf: add u64 to usize casts where required
  * elf: add missing input zig source files to cmake

  [ Andrew Kelley ]
  * InternPool: prevent anon struct UAF bugs with type safety

  [ Ryan Liptak ]
  * Disable flaky part of Dir.rename directories test on Windows

  [ Jakub Konka ]
  * elf: enable linker for non-incremental code paths
  * elf: look for entry point globally if not set by incremental compiler

  [ Pascal S. de Kloe ]
  * mem: explicit Allocator.Error on concat and join

  [ Jakub Konka ]
  * elf: allocate .bss section and matching PHDR
  * x86_64: add simple disassembler interface to the encoder
  * elf: handle more relocs with GOT relaxation
  * elf: parse archives
  * elf: do not store Symbol's index in Symbol
  * elf: re-enable linking compiler_rt
  * elf: allocate locals and globals in objects
  * elf: skip writing non-alloc and zerofill atoms
  * elf: correctly handle overflows on non-64bit hosts
  * cmake: add new zig source files

  [ Jonathan Marler ]
  * std.json: add fmt function (#17055)

  [ Ryan Liptak ]
  * fs tests: Skip UNC path types in Dir.rename tests

  [ Rafael Fernández López ]
  * std: add compile error when using `std.os.getenv` on the wasi target

  [ Ryan Liptak ]
  * ComptimeStringMap: Add version that takes an equality function
  * Add -includes option to zig libc

  [ Federico Stra ]
  * std.math.log_int: implement integer logarithm without using float math

  [ Andrew Kelley ]
  * compiler: rework capture scopes in-memory layout

  [ mlugg ]
  * AstGen: do not forward result pointers through @as

  [ bfredl ]
  * bpf: remove unhelpful "comptime" and fix union order

  [ mlugg ]
  * build: don't skip compiler build with -Dno-bin
  * Sema: add missing compile error for runtime-known const with comptime-only type
  * compiler: implement destructuring syntax
  * langref: apply grammar changes
  * update zig1.wasm
  * compiler: start using destructure syntax
  * package manager: write deps in a flat format, eliminating the FQN concept
  * Sema: mark pointers to inline functions as comptime-only

  [ Ryan Liptak ]
  * ErrorBundle.addOtherSourceLocation: Fix source_line ending up as garbage when source_line is 0
  * ErrorBundle: rename addBundle to addBundleAsNotes, add addBundleAsRoots

  [ Krzysztof Wolicki ]
  * autodoc: Handle `ref` ZIR instruction
  * autodoc: Remove unnecessary Expr tag
  * autodoc: Fix styling of the navbar
  * autodoc: Implement builtin function rendering. Implement unary ops handling. Fix getType in main.js Minor cleanup of builtin function handling.
  * autodoc: Implement various missing expressions in ex (#17129)

  [ Stephen Gutekanst ]
  * std: correct getcontext for Android bionic libc

  [ dundargoc ]
  * Fix minimum cmake version in README

  [ Ryan Liptak ]
  * Add a .rc -> .res compiler to the Zig compiler
  * Add the ATLMFC include directory to the libc include dir list
  * Add a standalone test for Windows resource file compilation
  * Disallow .rc/.res files unless the object format is coff
  * addWin32ResourceFile: Ignore the resource file if the target object format is not coff
  * Only populate rc_include_dirs if there are .rc files in the compilation
  * rc compilation: Use MSVC includes if present, fallback to mingw

  [ mlugg ]
  * AstGen: allow closure over known-runtime values within @TypeOf
  * translate-c: do not translate macros which use arguments as struct/union/enum names

  [ Loris Cro ]
  * autodoc: rename the doctest section in the frontend to 'Usage Examples'
  * autodoc: split json payload per field

  [ Ryan Liptak ]
  * Make `std.os.getenv` always a compile error on Windows
  * Fix rc preprocessing when using the MinGW includes and targeting the GNU abi

  [ Andrew Kelley ]
  * LLVM: cache LLVM struct field indexes

  [ nikneym ]
  * wasi: update `sock_recv` and `sock_send` according to preview1

  [ Banacial ]
  * std.zig.c_translation.zig: fix L suffix with sized ints

  [ mlugg ]
  * translate-c: prevent variable names conflicting with type names

  [ Daniel Guzman ]
  * Return error.WouldBlock when connect returns .WSAEWOULDBLOCK

  [ Meghan Denny ]
  * std: math.absInt: update docs to use fabs for floats

  [ Jay Petacat ]
  * translate-c: Struct fields default to zero value

  [ Andrew Kelley ]
  * x86 backend: don't read bogus safety flag

  [ r00ster91 ]
  * write function types consistently with a space before `fn` keyword

  [ Andrew Kelley ]
  * update cmake files to LLVM 17
  * update ar and clang C++ files to LLVM 17
  * clang patch: update main function
  * llvm-ar patch: update main function
  * update for LLVM 17 new target data
  * update zig_clang C++ API wrapper bindings to LLVM 17
  * update CPU features to LLVM 17
  * update C language headers to LLVM 17
  * LLVM 17 std lib updates and fixes
  * LLVM: update backend to LLVM 17
  * libunwind: update to LLVM 17
  * libcxxabi: update to LLVM 17
  * libcxx: update to LLVM 17
  * zig cc: update clang CLI data to LLVM 17

  [ Jacob Young ]
  * Builder: further constant select cleanup

  [ Andrew Kelley ]
  * update LLVM static library list to 17
  * CI: update x86_64-linux tarball
  * CI: enable for llvm17 branch

  [ Jacob Young ]
  * llvm: update address space definitions to LLVM 17
  * llvm: update data layout computation to LLVM 17
  * behavior: disable test that regressed with LLVM 17
  * start: workaround for LLVM 17 regression
  * llvm: update riscv floating-point c abi for LLVM 17

  [ Andrew Kelley ]
  * disable behavior tests regressed by LLVM 17

  [ Jacob Young ]
  * compiler_rt: fix fp sub being optimized to call itself
  * compiler_rt: fight off `@as` invasion
  * compiler_rt: fix arm hard-float f16 abi
  * behavior: disable another test regressed by LLVM 17 for mips

  [ Andrew Kelley ]
  * libcxx: update for llvm 17.0.0rc3
  * disable failing mips tests due to LLVM 17 regressions
  * disable failing wasm linking tests
  * re-enable passing behavior test
  * CI: update bootstrap tarballs to latest
  * clang: -fno-sanitize=function workaround
  * skip regressed LLVM 17 std lib test on powerpc
  * skip all mips tests due to LLVM 17 regressions
  * CI: update all tarball URLs
  * nvptx: omit sm_90a from the CPU target features for now
  * disable failing test: standalone.shared_library on aarch64-windows
  * disable failing test: standalone.load_dynamic_library on aarch64-windows
  * langref: disable var args example on aarch64-windows
  * c_compiler standalone test: use more descriptive exe names
  * disable failing test: standalone.c_compiler on aarch64-windows
  * update libcxx to latest LLVM release/17.x
  * clang bindings: fix APFloatBaseSemantics enum

  [ Loris Cro ]
  * autodoc: show more doc comments for namespaces and types

  [ Pat Tullmann ]
  * langref: small fixes to wording and examples

  [ Andrew Kelley ]
  * CI: install ninja on windows
  * compiler: move struct types into InternPool proper
  * InternPool: implement getStructType
  * InternPool: implement extraStructType
  * InternPool: implement only_possible_value prong of indexToKey
  * fix regressions from this branch
  * sema: delete dead code
  * Sema: restore master branch field reordering behavior

  [ mlugg ]
  * TypedValue: do not crash when failing to dereference pointer
  * compiler: get codegen of behavior tests working on at least one backend

  [ Andrew Kelley ]
  * Sema: allow users to provide alignment 0 to mean default
  * InternPool: fix nameIndex for tuples
  * Sema: fix dependency loop regression on struct field alignment
  * Alignment: min/minStrict max/maxStrict
  * compiler: make pointer type canonicalization always work
  * Sema: fix struct alignment regressions
  * TypedValue: fix crash for tuples when printing
  * Sema: queue type resolution when adding a struct_field_val instruction

  [ mlugg ]
  * InternPool,Sema,type,llvm: alignment fixes

  [ Andrew Kelley ]
  * Sema: less aggressive type resolution for field_val

  [ mlugg ]
  * type: give empty unions 1-byte alignment
  * Sema: queue type resolution when analyzing ret_ptr during inline call

  [ Andrew Kelley ]
  * compiler: fix compilation for 32-bit targets

  [ mlugg ]
  * Sema: mark transitive failure when @import refers to a failed file

  [ Andrew Kelley ]
  * compiler: fix structFieldName crash for tuples

  [ Ryan Liptak ]
  * classifyFileExt: Use case-insensitive matching for .rc and .res

  [ Andrew Kelley ]
  * LLVM: fix UAF when lowering debug info for structs
  * wasm: fix regression of C ABI
  * CI: update x86_64 windows tarballs
  * CI: update macos tarballs

  [ Wooster ]
  * AstGen: fix @export with undeclared identifier crashing

  [ Aven Bross ]
  * Added basic support for wasm32-emscripten target

  [ Andrew Kelley ]
  * Revert "CI: update x86_64 windows tarballs"

  [ mlugg ]
  * Sema: optimize comptime @memset by setting all elements at once

  [ kcbanner ]
  * build: add --skip-oom-steps

  [ Andrew Kelley ]
  * CI: let's not start using --skip-oom-steps quite yet

  [ mlugg ]
  * TypedValue: print undef @ptrFromInt pointers correctly
  * Sema: refactor detection of comptime-known consts
  * Sema: don't attempt to reinterpret comptime-only types when mutating comptime memory
  * Sema: do not emit dbg_var_val and dbg_var_ptr instructions for comptime-only types

  [ Jakub Konka ]
  * elf: add helper for calculating available VM size for phdr
  * elf: put logic for allocating load segments in a helper
  * elf: improve decl-to-section mapping logic
  * elf: encapsulate logic for creating non-alloc shdrs in a helper
  * elf: implement markLive for ZigModule

  [ kcbanner ]
  * sema: add support for unions in readFromMemory and writeToMemory
  * sema: rework the comptime representation of comptime unions
  * type: resolve packed union type layouts in bitSizeAdvanced

  [ Ryan Liptak ]
  * Fix reportRetryableWin32ResourceError

  [ kcbanner ]
  * codegen/sema: handle unions with unknown tags in more places

  [ Robin Voetter ]
  * spirv: disable failing tests
  * spirv: add type_map to map AIR types to SPIR-V types
  * spirv: construct error union at runtime
  * spirv: assign type names to (error) unions
  * spirv: lower enum_tag constants
  * spirv: lower ptr constants
  * spirv: lower opt constants
  * spirv: lower array aggregate at runtime
  * spirv: lower struct aggregate initialization at runtime
  * spirv: lower union initialization at runtime
  * spirv: put global var initializers in functions
  * spirv: remove indirect constant lowering
  * spirv: fixes
  * spirv: always emit unsigned integers
  * spirv: make construct(Struct|Array) use the Function storage class
  * spirv: fix type_map use-after-realloc issues
  * spirv: also add Float64 by default
  * spirv: fix store of undef
  * spirv: emit OpNot for arithmetic not
  * spirv: emit OpLogical(Not)Equal for comparing bools
  * spirv: add names to globals and initializers
  * spirv: air struct_field_val for unions
  * spirv: air struct_field_ptr for unions
  * spirv: air set_union_tag + improve load()/store()
  * spirv: air union_init
  * spirv: air sub_with_overflow
  * spirv: air array_to_slice
  * spirv: air aggregate_init for array
  * spirv: air array_elem_val using hack
  * spirv: generate module initializer
  * spirv: air is_err, is_non_err
  * spirv: air unwrap_errunion_payload
  * spirv: air wrap_errunion_payload
  * spirv: air slice
  * spirv: constant elem ptr
  * spirv: enable passing tests
  * spirv: fix source line numbers
  * spirv: fix blocks that return no value
  * spirv: air dbg_var_val and dbg_var_ptr
  * spirv: fixes

  [ Jakub Konka ]
  * sema: fix mem leaks in inferred error set handling

  [ Andrew Kelley ]
  * resinator: fix 32-bit builds

  [ travisstaloch ]
  * std.testing: expectEqualDeep() - support self-referential structs

  [ mlugg ]
  * InternPool: do not append sentinel value twice when initializing aggregate of u8
  * Autodoc: prevent infinite recursion when resolving parameter type
  * print_zir: speed up ZIR printing
  * compiler: preserve result type information through address-of operator
  * tests: give explicit stack size to module tests on WASI

  [ Krzysztof Wolicki ]
  * autodoc: Update icon for generated html source views (#17200)

  [ Loris Cro ]
  * autodoc: give explicit width to logo

  [ mlugg ]
  * behavior: disable newly failing tests

  [ Garrett Beck ]
  * Allow Step.TranslateC to not link libc

  [ antlilja ]
  * Support non zig dependencies

  [ mlugg ]
  * resinator: do not include in only_core_functionality builds

  [ Andrew Kelley ]
  * compiler: packed structs cache bit offsets
  * revert "compiler: packed structs cache bit offsets"

  [ Michael Dusan ]
  * cbe: support more symbol attributes

  [ Tomasz Lisowski ]
  * Update LLVM version in README from 16.x to 17.x

  [ Andrew Kelley ]
  * std.MultiArrayList: add test coverage for 0-bit structs
  * InternPool: store_hash=false for FieldMap
  * update zig1.wasm

  [ Jan Weidner ]
  * std.http.Client: add note about resource management

  [ Jay Petacat ]
  * Add embedded SVG favicon to reference doc templates

  [ Garrett Beck ]
  * Prevent hitting a clang assert when dealing with FullSourceLoc

  [ kcbanner ]
  * type: handle the 0-length array case in abiSizeAdvanced

  [ Techatrix ]
  * translate-c: convert clang errors messages into `std.zig.ErrorBundle`

  [ Michael Dusan ]
  * macho: add verbose args for -platform_version
  * macos: discontinue redundant search/link for libc
  * macos: vendored libc: combine headers: part 1
  * macos: vendored libc: combine headers: part 2
  * macos: better SDK version detection
  * macos: update libc names for darwin
  * kubkon review changes: 1
  * kubkon review changes: 2
  * kubkon review changes: 3
  * kubkon review changes: 4

  [ Jakub Konka ]
  * elf: port some of zld's test harness
  * elf: test statically linking libc
  * elf: do not try to create LlvmObject if module is null
  * elf: put libc on the linker line if requested
  * elf: dynamically allocate remaining alloc sections (and segments)
  * elf: test linking against empty C object
  * elf: skip running exe on foreign hosts
  * elf: properly close the output file when linking

  [ Phil Richards ]
  * define `_WIN32_WINNT` for windows compilations based on target minver (#17224)

  [ Chris Burgess ]
  * std.http: add identity to content encodings (#16493)

  [ LinuxUserGD ]
  * Add '--compress-debug-sections=zstd'

  [ Jay Petacat ]
  * std: Reactivate skipped tests w.r.t. llvm/llvm-project#55522

  [ Kai Jellinghaus ]
  * Add new fields to io_sqring_offsets & io_cqring_offsets

  [ Ryan Liptak ]
  * Add myself as a code owner of /src/resinator/

  [ Jakub Konka ]
  * elf: allow expanding segments in virtual memory
  * elf: pre-allocate large VM capacity per segment

  [ kcbanner ]
  * windows: fix not finding system libs when compiling for *-windows-msvc

  [ Andrew Kelley ]
  * C backend: flatten out some of the long-lived state

  [ Jakub Konka ]
  * elf: emit fatal linker error if we run out of VM space with self-hosted backends
  * elf: use new error reporting API
  * elf: do not update globals not defined by the object
  * elf: hint allocateSegment where to put the segment at
  * elf: fix typo in selecting larger addrspace for load segments

  [ antlilja ]
  * Rename `@fabs` to `@abs` and accept integers

  [ Andrew Kelley ]
  * compiler: don't use `@abs` builtin yet
  * Revert "compiler: don't use `@abs` builtin yet"

  [ antlilja ]
  * Remove `@fabs`, fabs and absCast/Int from std lib
  * Replace `@fabs` with `@abs` in behavior tests
  * Add behavior tests for `@abs` builtin
  * Change `@fabs` to `@abs` in langref
  * fmt: add rewrite from `@fabs` to `@abs`

  [ Andrew Kelley ]
  * update zig1.wasm

  [ Veikka Tuominen ]
  * Value: fix assertion failure when mutating extern union

  [ Jakub Konka ]
  * elf: do not assume segments laid out in increasing order in VM space

  [ Stephen Gregoratto ]
  * gen_linux_syscalls: use default max output bytes
  * Update Linux syscalls for kernel 5.5
  * Linux: Add cachestat wrapper.

  [ Ryan Liptak ]
  * resinator: Update to latest, fix for big endian arch

  [ Jakub Konka ]
  * elf: remove explicit load segment alloc - we can replicate programmatically now
  * elf: pre-allocate TLS load segment and PT_TLS phdr

  [ Jonathan Marler ]
  * docs: remove unnecessary nesting in grammar

  [ Emil Lerch ]
  * std.http: introduce options to http client to allow for raw uris

  [ Jonathan Marler ]
  * simplify ContainerDeclarations grammar rule

  [ Jakub Konka ]
  * elf: allocate .tdata and .tbss sections
  * elf: report fatal linker error for unhandled relocation types
  * elf: correctly allocate TLS segment
  * elf: test TLS in static programs

  [ Karl Seguin ]
  * std.mem: use for loop instead of while in indexOf* to reduce bound checking

  [ Jakub Konka ]
  * elf: move logic for extracing atom's code into input files
  * test: add x86_64-linux-musl-no-lld as a test target
  * elf: fix 32bit build

  [ Christofer Nolander ]
  * Allow empty `enum` to be used in `EnumSet`/`EnumMap`

  [ Andrew Kelley ]
  * Compilation: introduce saveState()

  [ Luis Cáceres ]
  * std.Build.ConfigHeader: override include guard option for blank style (#17310)

  [ Philipp Lühmann ]
  * std.math.big.int.Const.order 0 == -0 (#17299)

  [ Adam Goertz ]
  * Support file:/// URIs and relative paths
  * Allow only relative paths.

  [ AdamGoertz ]
  * Purge absolute paths and remove unneeded path processing
  * Fix diamond dependencies with directory packages

  [ Adam Goertz ]
  * Extract logic for directory packages

  [ Jakub Konka ]
  * elf: fix calculating current allocated section size when growing alloc sections

  [ Krzysztof Wolicki ]
  * Step.Run: fix assert of the wrong value (#17303)

  [ Jakub Konka ]
  * elf: simplify logic for growing non-alloc sections
  * elf: set shdr/phdr file size before growing in VM

  [ Lucas Santos ]
  * std.ArrayList: insertSlice avoids extra memcpy

  [ Jakub Konka ]
  * elf: fix setting st_value of _end synthetic symbol
  * elf: dump state for debugging after writing it all out
  * elf: set sh_size to 0 for nobit sections in collision detection

  [ Andrew Kelley ]
  * std.ArrayList: fixups for the previous commit

  [ Krzysztof Wolicki ]
  * Add include_extensions to InstallDir Options (#17300)

  [ Jakub Konka ]
  * elf: skip writing out zerofill atoms to file

  [ Andrew Kelley ]
  * C backend: remove unneeded ordering mechanism
  * C backend: remove ?*Decl from DeclGen
  * C backend: iterate decl_table via slice

  [ Marc Tiehuis ]
  * std.mem: add vectorized indexOfScalarPos and indexOfSentinel
  * std.mem: check backend vector support for indexOfSentinel/indexOfScalarPos
  * fix indexOfSentinel alignment for types larger than 1 byte

  [ Ryan Zezeski ]
  * solaris: add missing registers
  * solaris: ld does not have stack-size option
  * solaris: link libstdc++
  * solaris: hard-code native libc paths
  * solaris: fix path component max
  * solaris: load CA certs file
  * solaris: hard-code ABI and dynamic linker

  [ Lucas Santos ]
  * Improve (Unmanaged)ArrayList.insert

  [ Ian Johnson ]
  * Support fetching dependencies over git+http(s)

  [ Jay Petacat ]
  * std.mem.zeroes: Zero out entire `extern union`, including padding

  [ Veikka Tuominen ]
  * Sema: add `@errorCast` which works for both error sets and error unions
  * update zig1.wasm

  [ Jakub Konka ]
  * x86_64: emit R_X86_64_GOT32 for non-PIC GOT references

  [ Jacob Young ]
  * x86_64: implement and test unary float builtins
  * behavior: cleanup floatop tests
  * x86_64: implement float compare and cast builtins
  * x86_64: add missing caller preserved regs
  * x86_64: implement float round builtins
  * x86_64: implement float arithmetic builtins
  * x86_64: implement float `@sqrt` builtin

  [ Veikka Tuominen ]
  * add compiler flag for selecting C frontend
  * aro-translate-c: translate enums
  * aro-translate-c: move shared types to a common namespace
  * aro translate-c: update to cast builtin changes
  * add Aro sources as a dependency

  [ kcbanner ]
  * air_print: fix panic when printing .abs

  [ Andrew Kelley ]
  * CLI: fix -fno-clang

  [ kcbanner ]
  * sema: support reinterpreting extern/packed unions at comptime via field access
  * sema: handle big-endian when bitcasting between different-sized union fields

  [ Stephen Gregoratto ]
  * solaris: set correct target tuple in CMake
  * Add illumos OS tag

  [ Ryan Zezeski ]
  * illumos does not have versions
  * illumos: fix dynamic linker path

  [ Carl Åstholm ]
  * std.Build: expose `-idirafter` to the build system

  [ Andrew Kelley ]
  * std.tar: support symlinks
  * compiler: extract package hashing logic to separate file
  * std.fs: give readLink an explicit error set
  * introduce the 'zig fetch' command + symlink support
  * zig fetch: enhanced error reporting

  [ kcbanner ]
  * union: skip failing tests on ppc

  [ Ian Johnson ]
  * Support symlinks for git+http(s) dependencies

  [ Ryan Liptak ]
  * Treap: Add InorderIterator

  [ Xavier Bouchoux ]
  * codegen: fix field offsets in packed structs
  * codegen: fix byte-aligned field offsets in unaligned nested packed structs

  [ xdBronch ]
  * correctly detect apple a15 and a16 chips

  [ Veikka Tuominen ]
  * Sema: fix issues in `@errorCast` with error unions

  [ Ryan Liptak ]
  * GeneralPurposeAllocator: Considerably improve worst case performance
  * Treap: do not set key to undefined in `remove` to allow re-use of removed nodes

  [ Frank Denis ]
  * valgrind.memcheck: fix makeMem*()

  [ Ian Johnson ]
  * Add behavior test for empty tuple type

  [ ocrap7 ]
  * llvm: remove extra copy of wrapped payloads

  [ Krzysztof Wolicki ]
  * Add `-fno-stack-protector` to flags when building libzigcpp

  [ Andrew Kelley ]
  * compiler: start handling anonymous decls differently
  * C backend: start handling anonymous decls
  * C backend: render anon decls
  * link: stub out getAnonDeclVAddr

  [ Jakub Konka ]
  * codegen: separate getAnonDeclVAddr into lowerAnonDecl and the former
  * macho: implement lowering anon decls
  * coff: implement lowering anon decls
  * elf: assert llvm_object is null in getAnonDeclVAddr

  [ Luuk de Gram ]
  * wasm: implement lowering anon decls

  [ Jacob G-W ]
  * plan9: implement linking anon decls

  [ Andrew Kelley ]
  * std: add type-erased reader; base GenericReader on it
  * std.macho: remove alignment from LoadCommandIterator
  * update zig1.wasm

  [ Kai Jellinghaus ]
  * Update IORING_OP to reflect upstream (#17388)

  [ Ryan Liptak ]
  * GeneralPurposeAllocator.searchBucket: check current bucket before searching the list

  [ nikneym ]
  * linux: add fanotify API

  [ Krzysztof Wolicki ]
  * autodoc: Add handling for array_cat, array_mul, struct_init_empty_result. (#17367)
  * autodoc: Add `hidden` class to [src] link when starting renderApi to only show it for functions (#17322)

  [ Jakub Konka ]
  * comp: add support for -fdata-sections

  [ Jacob Young ]
  * behavior: reenable passing x86_64 tests
  * x86_64: fix various crashes
  * x86_64: implement C abi for 128-bit integers
  * x86_64: implement 128-bit integer comparisons
  * x86_64: fix abi bit/byte mixups
  * plan9: refactor debug info
  * x86_64: refactor calling convention checks
  * x86_64: implement C abi for f128
  * x86_64: implement C abi for everything else

  [ Jakub Konka ]
  * std: fix memory bug in getExternalExecutor
  * docgen: update use of getExternalExecutor

  [ castholm ]
  * std.math: add nextAfter (#16894)

  [ Ratakor ]
  * Add filled_sigset to os.linux
  * Add filled_sigset to os.zig
  * Add pause() to linux.zig

  [ Becker A ]
  * Update Server.zig:{listen, do} to specify error enums

  [ Karl Seguin ]
  * std.unicode.utf8ValidateSlice: optimize implementation (#17329)

  [ Jacob Young ]
  * x86_64: fix C abi typos
  * x86_64: implement `f80` movement
  * x86_64: implement negation and `@abs` for `f80`
  * x86_64: implement C var args
  * x86_64: improve inline assembly support
  * x86_64: hack around silent `f80` miscompilations
  * cbe: fix crash on error
  * x86_64: fix bitcast from `f80`
  * x86_64: implement `@abs` for some integer vector types
  * x86_64: fix conversions between floats and 128-bit integers
  * x86_64: fix undersized vector binary operations
  * x86_64: fix `@divTrunc` and `@divFloor` of `f16`
  * x86_64: implement `@rem` for floats
  * x86_64: implement `@mulAdd` of floats for baseline

  [ Xavier Bouchoux ]
  * test: add behaviour test for casting accross 32-bits boundary
  * codegen/wasm: fix intcast accross 32-bits boundary

  [ Jacob Young ]
  * llvm: fix load of packed struct that was initialized through pointers

  [ Xavier Bouchoux ]
  * codegen/llvm: truncate padding bits when loading a non-byte-sized value
  * codegen/llvm: add workarounds to loadTruncate() for llvm codegen bugs
  * test: add a pair of cases from bug reports

  [ Luuk de Gram ]
  * wasm: correctly lower signed value in `@tagName`
  * add behavior test `@tagName` with signed values

  [ Andrew Kelley ]
  * std.tar: add option for omitting empty directories
  * std.zig.ErrorBundle: add some explicit error sets
  * Manifest: add top-level `paths` field for inclusion rules
  * add basic build.zig.zon documentation
  * rework package manager
  * get `zig fetch` working with the new system
  * require inclusion directives in root manifest but not deps
  * CLI: finish updating module API usage
  * fix Fetch.JobQueue.consolidateErrors
  * fix inverted logic for allowing/disallowing paths field
  * fix recursive package fetching logic
  * std: add unstable sorting to array hash maps
  * make Package.Path support string escape formatting
  * package fetching: generate dependencies.zig file
  * fix detection of build.zig file inside packages
  * finish implementing the auto-generated dependencies.zig module
  * more fixes related to previous commits Package/Module API
  * finish hooking up new dependency tree logic
  * std.tar: fix creation of symlinks with omit_empty_directories
  * dependencies.zig: omit modules without build.zig as deps
  * dependencies.zig: omit deps without hashes
  * zig build: add `--fetch` argument
  * CLI: fix only_core_functionality logic
  * Package.Fetch: resolve instead of join relative paths
  * Package.Fetch: fix handling of relative paths
  * Manifest: fix not initializing token locations
  * give build.zig modules access to their dependencies' build.zig modules
  * use long-lived arena for `@cImport`-generated Module
  * Package.Fetch: fix not making directory paths for symlinks
  * zig fetch: require 'paths' field in the manifest
  * fix dependencies.zig generation with no dependencies
  * move some package management related source files around
  * Package.Fetch: tighten up check for path outside root
  * fix using the wrong allocator for modules
  * std.fs.path.resolve: add test cases for empty string
  * Package.Fetch: apply inclusion rules from build.zig.zon
  * Package.Fetch: improved deletion algorithm
  * give modules friendly names for error reporting
  * restore progress reporting for package fetching

  [ Jacob Young ]
  * x86_64: implement 128-bit integer shifts in registers
  * x86_64: implement struct field value for register pairs
  * x86_64: implement `@abs` of 128-bit integers
  * x86_64: implement `@min` and `@max` for 128-bit integers
  * x86_64: implement 128-bit integer multiply and divide

  [ Pat Tullmann ]
  * lib/std/fs/test.zig: cleanup (#17443)

  [ Karl Seguin ]
  * std.mem: use indexOfScalarPos when indexOf is called where needle.len == 1

  [ Jonathan Marler ]
  * Grammar: Use `ContainerDeclaration*` instead of `ContainerDeclarations`

  [ Eric Joldasov ]
  * std.cstr: remove deprecated namespace

  [ Veikka Tuominen ]
  * Sema: fix `dbg_inline` instructions not being emitted

  [ Andrew Kelley ]
  * Package.Fetch: allow relative paths outside project root
  * Package.Fetch: fix inclusions not working for directories
  * compiler_rt: no need to put it in a static library
  * Compilation: default to self-hosted backend when not using libllvm

  [ Jakub Konka ]
  * macho: test for presence of _abc as export in 16308 test

  [ Andrew Kelley ]
  * revert compiler_rt: no need to put it in a static library

  [ Krzysztof Wolicki ]
  * Step.Compile: add options struct for `addCSourceFiles` (#17420)
  * Step.Run: change `cwd` to `?Build.LazyPath` (#17418)

  [ mlugg ]
  * Sema,type: unify type query functions

  [ Ryan Liptak ]
  * Package: Fix path separator not being escaped between root_dir and sub_path

  [ Andrew Kelley ]
  * disable flaky test
  * move two TODO comments to a github issue

  [ Alexander Heinrich ]
  * Update docs of PriorityQueue.iterator() and PriorityDeque.iterator()

  [ Krzysztof Wolicki ]
  * Package.Fetch: wrap operations involving tmp_directory in a block This makes tmp_directory close before calling renameTmpIntoCache which fixes occurences of those AccessDenied errors that aren't synonymous with PathAlreadyExists on Windows

  [ Kai Jellinghaus ]
  * Fix compilation failure in valgrind.zig

  [ Andrew Kelley ]
  * Package.Fetch: fix empty path and "." not including all
  * Package.Manifest: fix error message for paths

  [ JustinWayland ]
  * Fix minor typo in the description of Progress

  [ Koakuma ]
  * lib: Fix asm code in _start for SPARC

  [ Ryan Liptak ]
  * Add `zig rc` subcommand, a drop-in replacement for rc.exe

  [ Andrew Kelley ]
  * Sema: fix crash when coercion dest is var args
  * Sema: fix crash when ref coercion dest is var args
  * llvm: fix incorrect file paths in debug info
  * drop for loop syntax upgrade mechanisms

  [ Veikka Tuominen ]
  * Sema: fix `@Vector` source locations being swapped
  * std.simd: return comptime_int from `suggestVectorSize`

  [ radar roark ]
  * remove redundant use of pathFromRoot

  [ Andrew Kelley ]
  * glibc: update abilists file
  * tools/update_glibc: exempt some more files
  * update glibc start files to 2.38
  * glibc: update libc-modules.h to 2.38
  * it's unclear which zig target glibc sparcv9 maps to
  * update glibc headers to 2.38
  * glibc patch: don't hardcode __GLIBC_MINOR__
  * glibc patch: version-gate _DYNAMIC_STACK_SIZE_SOURCE

  [ Motiejus Jakštys ]
  * glibc patch: add backwards compatibility for some symbols
  * glibc patch: add a few dn_* functions

  [ Andrew Kelley ]
  * glibc patch: inline x86-lp_size.h
  * glibc patch: make fstatat.c and fstatat64.c compile
  * glibc patch: add missing includes for inttypes.h
  * glibc patch: don't check __LIBC macro
  * glibc patch: remove some static asserts from fstatat
  * LLVM: work around `@floatFromInt` bug
  * reapply "CI: update x86_64 windows tarballs"
  * these tests are failing on x86_64-windows too

  [ JustinWayland ]
  * Add a missing period in Future's description

  [ Xavier Bouchoux ]
  * codegen/wasm: fix tuple member offset computation
  * codegen/wasm: fix non-byte-sized signed integer comparison
  * tests: enable already passing behaviour tests for self-hosted wasm

  [ Ryan Barth ]
  * update build.zig examples from current stdlib

  [ Peng He ]
  * translate-c: fix crash when last stmt of stmt expr is a decl

  [ joadnacer ]
  * std.base64: Improve Encoder/Decoder performance

  [ Tom Read Cutting ]
  * Fix some frameworks not linking macos

  [ Robin Voetter ]
  * spirv: opaque types
  * spirv: lower pointers to zero-bit types as undef
  * spirv: constant elem ptr fix
  * spirv: cast result of .elem pointers to right type if needed
  * spirv: anon decl refs
  * spirv: get rid of SpvModule arena
  * spirv: use CacheString for source_file_names instead of []const u8
  * spirv: put linkery bits in Object
  * spirv: aggregate_init for structs
  * spirv: properly skip comptime function parameters
  * spirv: fix float unequality
  * spirv: make bitcasts between the same spirv type a no-op
  * spirv: fix incorrect repr of some optional operations
  * spirv: make air is_null not emit OpPtr(Not)Equal
  * spirv: generate *void as pointer to opaque
  * spirv: override function return type to void if it has no runtime bits

  [ Ali Chraghi ]
  * spirv: `fpext` and `fptrunc` instructions

  [ Robin Voetter ]
  * spirv: handle zero-sized arrays
  * spirv: allow generation of *i0
  * spirv: fix air is_null optional slice field type
  * spirv: air bitcast for non-numeric non-pointer types
  * spirv: air min/max
  * intern pool: fix float equality
  * std.testing: allow print() at comptime
  * spirv: sign-extension for strange integers
  * spirv: intcast, trunc for strange ints
  * std.testing: disable expectEqualSlices printing for spirv
  * spirv: handle errors in switch
  * spirv: optional comparison
  * add Snektron to CODEOWNERS for SPIR-V

  [ Ali Chraghi ]
  * spirv: emit vectors as arrays

  [ Robin Voetter ]
  * wasm: lower min/max for floats to compiler_rt

  [ Ali Chraghi ]
  * spirv: simple binary and comparison vector operations

  [ Robin Voetter ]
  * spirv: work around OpSource parsing issue in llvm-spirv

  [ Tom Read Cutting ]
  * Add search for extension-less libraries (MachO)

  [ Robin Voetter ]
  * spirv: update failing / passing tests
  * wasm: disable division test

  [ Johan Jansson ]
  * std.heap.ArenaAllocator: fix doc comment typo

  [ Ryan Liptak ]
  * Add preliminary support for Windows .manifest files
  * Add warning if .xml file is used, since it's likely intended to be a Windows manifest file

  [ Bogdan Romanyuk ]
  * Sema: fix `@extern` error on function pointer

  [ Jacob Young ]
  * Build: fix some issues with ConfigHeader step

  [ Veikka Tuominen ]
  * make distinct error limit configurable
  * Sema: fix missing check for tuple default initializers

  [ joadnacer ]
  * std.mem: Improve writeIntSlice performance

  [ Jakub Konka ]
  * elf: move initializing string buffers out of populateMissingMetadata
  * elf: do not prealloc space for .symtab
  * elf: reuse addSection in alloc functions
  * elf: for now always update .shstrtab and .strtab sections
  * elf: update .strtab with GOT symbols
  * elf: clean up generating GOT symbol names
  * elf: increase Atom.Index resolution to u32
  * elf: check for null atom in ZigModule
  * elf: write .got in bulk after scanning objects
  * elf: write shdr_table in flush
  * elf: run populateMissingMetadata only if ZigModule exists
  * elf: initialize output sections from input objects in a separate step
  * elf: sort sections by their rank to combine them by segment flags
  * elf: create atom lists indexed by section index
  * elf: update section sizes accumulated from objects
  * elf: remove dirty from synthetic .got section
  * elf: port zld's allocation mechanism
  * elf: get hello-world with LLVM in Zig working
  * elf: refactor object.shdrContents to never error out
  * elf: handle .eh_frame and non-alloc sections
  * elf: add symbols to .got section directly
  * elf: add more prepwork for linking c++ objects
  * elf: link hello-world in c++
  * elf: temporarily disable non-llvm linker tests
  * elf: add hello-world c++ link test
  * elf: add incomplete handling of build-obj -fllvm -fno-lld
  * elf: test garbage collection of sections
  * elf: add garbage collection of sections
  * elf: fix COMDAT deduping logic
  * elf: re-enable dynamic linking codepaths
  * elf: fix synthetic section handling and actually parse DSOs
  * elf: add missing generators for special dynamic sections
  * elf: implement --verbose-link, and other fixes
  * elf: hook up common symbols handler
  * elf: test common symbols handling
  * elf: test common symbols in archives
  * elf: test basic DSO generation and linking
  * elf: emit .got.plt when emitting .plt
  * elf: more DSO tests
  * elf: override default dynamic linker path with system\`s dl when appropriate
  * elf: test large alignment of funcs in DSO
  * elf: test large alignment of funcs in exe
  * elf: add --as-needed test
  * elf: port more linker tests
  * elf: populate symtab with symbols coming from DSOs
  * elf: fix alignment of .eh_frame_hdr section
  * elf: fix generating .plt.got indirection
  * elf: refactor canonical PLT test
  * elf: test various copyrel edge cases
  * elf: test entry point
  * elf: test --export-dynamic flag
  * elf: test exporting symbols in exes
  * elf: refactor tests and disable currently impossible combinations
  * elf: make init/fini sorting deterministic
  * elf: port more linker tests
  * elf: port more linker tests
  * elf: port more linker tests
  * elf: fix GotSection.write in presence of TLSLD symbol
  * elf: port more linker tests
  * elf: port more linker tests
  * elf: fix testTlsOffsetAlignment test
  * elf: fix conflicts after rebase gone bad
  * elf: rename Zig-specific section handles to _zig_ infixed
  * elf: move creation of PT_PHDR out of initPhdrs and initMetadata
  * elf: create and allocate special PHDRs out of the loop
  * elf: always write PHDR table, at least for now
  * elf: always write SHDR table, at least for now
  * elf: bring back PT_LOAD for PT_PHDR for incremental codepath
  * elf: split allocating sections/segments into alloc and non-alloc
  * elf: assume only one TLS segment for now
  * elf: allocate non-alloc sections using incremental mechanism
  * elf: clean up logic for allocating TLS segment
  * elf: dynamically allocate SHDR table
  * elf: use findFreeSpace mechanics to allocate object-extracted segments
  * elf: refactor
  * elf: exclude Zig special sections from bulk alloc
  * elf: create new synthetic section ZigGotSection
  * elf: re-enable self-hosted backends
  * elf: emit (broken) debug sections
  * elf: fix section sorting logic
  * elf: emit dynamic base relocs for .zig.got entries when required
  * x86_64: add -fPIC support targeting ELF
  * elf: make .zig.rodata writeable
  * codegen+elf: lower imported data refs
  * codegen+elf: check if extern is a variable ref
  * elf: add self-hosted tests
  * elf: sort phdr table
  * elf: sort the entire shdr table the usual way
  * elf: do not allocate zerofill segment in file offsets
  * elf: emit empty TLS phdr when linking against musl libc even if unneeded
  * codegen: refactor .actual_got into .extern_got
  * elf: sort PT_LOAD by address in PHDR table
  * elf: correctly copy and write out debug sections
  * elf: refactor logs
  * elf: fix 32bit build
  * elf: skip tests on foreign architectures

  [ Xavier Bouchoux ]
  * glibc patch: add backwards compatibility for strtol-family functions
  * build.zig: add support for using "zig c++" as the bootstrap c++ compiler

  [ Jakub Konka ]
  * elf: do not open file if emitting object file for LLVM and elf linker

  [ Andrew Kelley ]
  * std: disable flaky test on aarch64-windows
  * Package.Fetch: normalize path separators in symlinks
  * std.fs.openDir: handle OBJECT_NAME_INVALID

  [ Ali Chraghi ]
  * spirv: fieldParentPtr

  [ Andrew Kelley ]
  * zig fetch: add `--debug-hash` argument
  * CI: bump aarch64-linux-debug timeout to 8 hours

  [ Veikka Tuominen ]
  * sync Aro dependency
  * tests: translate-c and run-translated-c to the test harness
  * add c_frontend to translate-c cache hash

  [ Ali Chraghi ]
  * sema: emit logical and/or for safety checks

  [ Jakub Konka ]
  * elf: ensure we build with -fPIE when testing init array order

  [ Ali Chraghi ]
  * spirv: memcpy

  [ Andrew Kelley ]
  * std.fs: fix relative symbolic links on Windows

  [ Jacob Young ]
  * x86_64: fix C abi argument passing in memory

  [ Jakub Konka ]
  * elf: fix use-after-move

  [ kcbanner ]
  * windows: fix ReadLink not using a synchronous file handle

  [ Andrew Kelley ]
  * CI: bump aarch64-linux-release timeout to 8 hours

  [ David ]
  * XXH3 Implementation for Zig STD (#17530)

  [ Bogdan Romanyuk ]
  * Sema: disallow `@intFromPtr` for comptime-only types

  [ Jakub Konka ]
  * elf: add native libc* system libraries to the invocation

  [ David ]
  * Deflate: fix missing value in reset

  [ Andrew Kelley ]
  * disable two flaky link tests

  [ Ali Chraghi ]
  * spirv: switch on bool

  [ dweiller ]
  * package fetching: support .tar.zst archives

  [ Tobias Simetsreiter ]
  * Fix rendering ast in zon mode (#17547)

  [ Ben Crist ]
  * return error.AlreadyTerminated from std.ChildProcess.kill when necessary
  * Double check that child processes have really exited when

  [ Manlio Perillo ]
  * zig env: remove the json output

  [ Andrew Kelley ]
  * rework zig env
  * disable flaky linker test

  [ Jakub Konka ]
  * elf: parse GNU ld script as system lib indirection
  * elf: increase resolution of Atom.relocs_section_index to u32
  * elf: increase resolution of Atom.input_section_index to u32
  * elf: store shndx to Zig module atoms out-of-band

  [ Andrew Kelley ]
  * std certs: solaris can use the BSD path

  [ Jacob Young ]
  * x86_64: improve inline assembly support

  [ Andrew Kelley ]
  * CI: -Dskip-release on x86_64-windows-debug
  * compiler: better default for valgrind
  * compiler: fix LTO availability logic
  * zig env: back to json output

  [ Krzysztof Wolicki ]
  * std.ChildProcess: fix error in killWindows

  [ Andrew Kelley ]
  * std.Build: make dependencies inherit `--search-prefix`

  [ Ryan Liptak ]
  * Sync resinator with upstream and fix INCLUDE env var handling
  * Error if an .rc file uses the 'preprocess only' or 'no preprocess' flags

  [ Jakub Konka ]
  * elf: fix flaky link tests

  [ DraagrenKirneh ]
  * Package.Manifest: add minimum_zig_version field

  [ Andrew Kelley ]
  * Package.Manifest: fix bitrotted unit tests
  * doc: add minimum_zig_version field reference

  [ Qusai Hroub ]
  * std.fs.Dir.makeOpenPath: optimize when path already exists

  [ Ryan Liptak ]
  * path.ComponentIterator: Add peekNext and peekPrevious functions

  [ Andrew Kelley ]
  * Revert "Never implicitly add rpaths for each lib dir, add NixOS libdir to rpath"

  [ Jacob Young ]
  * Builder: fix incorrect type for 32-bit systems

  [ Krzysztof Wolicki ]
  * std.os: unlinkW shouldn't return error.DirNotEmpty

  [ Jakub Konka ]
  * elf: actually check for dynamic executables
  * elf: force pie in tests affected by QEMU bug

  [ Sahnvour ]
  * std.Build: add --seed argument to randomize step dependencies spawning

  [ Andrew Kelley ]
  * build system: fixups to --seed mechanism

  [ Jakub Konka ]
  * dwarf: remove obsolete sentinels from abbrev table
  * dwarf: clean up and fix writing include dirs and files to debug line header
  * dwarf: introduce Dwarf.Format to be able to select 32/64bit format at whim
  * dwarf: revert adding spurious and incorrect +1 to getDebugInfoEnd()
  * dwarf: bring back realpath resolution of include dirs

  [ Jacob Young ]
  * link: initialize llvm before calling the llvm API

  [ Prokop Randacek ]
  * gettimeofday takes nullable pointers

  [ Michael Dusan ]
  * llvm: set PIE only for executables

  [ dweiller ]
  * std.Build: do not assume custom test runners support client-server mode

  [ matu3ba ]
  * compiler_rt: add tests for arm routines (#17573)

  [ dbandstra ]
  * langref: bring build.zig examples up to date

  [ Pat Tullmann ]
  * glibc headers: reallocarray added to glibc in v2.26

  [ Constantin Bilz ]
  * std.hash_map: add `const` attribute to StringIndexContext.bytes and ...

  [ Andrew Kelley ]
  * Revert "make distinct error limit configurable"
  * InternPool: fix incomplete hash of pointer values
  * std.Target: update default Linux cross-compiling version

  [ joadnacer ]
  * linux.io_uring: Implement splice functions

  [ Andrew Kelley ]
  * build.zig: annotate max_rss for building the compiler
  * build.zig: building on macos takes more memory
  * build.zig: adjust max_rss again
  * build.zig: it takes even more ram to build zig apparently
  * build.zig: bump max_rss again

  [ Ryan Liptak ]
  * Dir.makeOpenPathAccessMaskW: Use path.ComponentIterator
  * Improve Dir.makePath and Dir.makeOpenPathAccessMaskW doc comments

  [ Frank Denis ]
  * crypto.ff: faster exponentiation with short/public exponents (#17617)

  [ matu3ba ]
  * compiler_rt: arm frsub, drsub with tests (#17629)

  [ LordMZTE ]
  * std.os: do nothing when calling fchdir with AT_FDCWD

  [ Veikka Tuominen ]
  * make distinct error limit configurable

  [ snoire ]
  * std.Build: use create() instead of init() for Step.RemoveDir

  [ Jacob Young ]
  * x86_64: fix crashes
  * x86_64: disable difficult std tests and hack around more zero-bit types
  * x86_64: fix bugs and disable erroring tests
  * x86_64: disable failing tests, enable test-std testing
  * x86_64: disable failing tests, enable test-compiler-rt testing
  * x86_64: enable fixed behavior test

  [ Robin Voetter ]
  * spirv: replace most use of spv.ptrType with self.ptrType
  * spirv: make load() and store() accept MemoryOptions
  * spirv: improve union operations
  * spirv: make constructStruct also use self.ptrType
  * spirv: self-referential pointers via new fwd_ptr_type

  [ Michael Bradshaw ]
  * Return zero for NaN-to-int lossy casts

  [ joadnacer ]
  * std.RingBuffer: Implement more efficient read/write methods
  *  compress: Improve RingBuffer usage

  [ Andrew Kelley ]
  * link.Elf: report file not found error

  [ JustinWayland ]
  * Fix simple doc mistakes. (#17624)

  [ Lee Cannon ]
  * fix `std.Build.addAssembly`

  [ Andrew Kelley ]
  * migrate make_ptr_const to new anonymous decl mechanism
  * std.elf: remove some unneeded `@as`
  * InternPool: store alignment of anon decls
  * Sema: migrate zirResolveInferredAlloc to new anon decl mechanism

  [ mlugg ]
  * AstGen: omit make_ptr_const for resolve_inferred_alloc

  [ Jacob Young ]
  * codegen: implement lowering aligned anon decls

  [ Jakub Konka ]
  * dwarf: fix false assumption that ptr-deref requires GOT-indirection

  [ Nameless ]
  * std.http.Client: enhance proxy support
  * std.http.Client: store *Connection instead of a pool node, buffer writes
  * std.http.Client: add option to disable https
  * std.http: use loadDefaultProxies in compiler
  * std.http.Client: make transfer-encoding priority over content-length as per spec
  * std.http: make encoding fields non-null, store as enum variant
  * std.http.Client: improve documentation
  * std.http.Server: improve documentation, do -> start
  * std.http: rename start->send and request->open to be more inline with operation
  * std.http: fix crashes found via fuzzing
  * std.http.Client: ignore unknown proxies, fix basic proxy auth
  * std.http.Client: documentaion fixes

  [ Michael Dusan ]
  * libtsan: do not set PIE

  [ Veikka Tuominen ]
  * remove uses of non-configurable `err_int`

  [ Kirk Scheibelhut ]
  * langref: update to document --error-limit flag

  [ Krzysztof Wolicki ]
  * autodoc: Display type kinds for containers (#17667)
  * autodoc: Add support for struct_init_empty_ref_result (#17476)

  [ Jacob Young ]
  * std: slightly improve codegen of `std.unicode.utf8ValidateSlice`

  [ Jan Philipp Hafer ]
  * child_process + Build: rename exec to run + all related code

  [ Andrew Kelley ]
  * Revert "Merge pull request #17657 from Snektron/spirv-recursive-ptrs"
  * Revert "Merge pull request #17637 from jacobly0/x86_64-test-std"

  [ Jacob Young ]
  * Revert "Revert "Merge pull request #17637 from jacobly0/x86_64-test-std""
  * std: disable failing test

  [ Niles Salter ]
  * Fix typo in docs

  [ Eric Joldasov ]
  * std.zig.system.NativeTargetInfo: fix glibc version parsing

  [ Robin Voetter ]
  * Revert "Revert "Merge pull request #17657 from Snektron/spirv-recursive-ptrs""

  [ Jakub Konka ]
  * dwarf: add missing struct_type sentinel - make DWARF data valid again!
  * elf: when looking for system libs, check .so and .a, and access path
  * elf: reuse accessLibPath when checking rpaths

  [ Andrew Kelley ]
  * delete dead code
  * frontend: rework `@embedFile` for incremental compilation
  * frontend: slightly simplify memory management
  * rename behavior test to better describe what it does
  * Sema: make `@src().line` comptime-known
  * tracy: protect source info via global constant

  [ Jacob Young ]
  * x86_64: implement enough to pass unicode tests
  * x86_64: implement `@mod` for floating-point types
  * x86_64: implement 128-bit builtins
  * x86_64: implement inline asm GOT reference for PIC targets

  [ mlugg ]
  * InternPool: remove runtime_value representation
  * Value: remove unused function
  * Sema: rename value resolution functions
  * Sema: don't allow undef values through resolveDefinedValue in typeof block

  [ XXIV ]
  * build.zig.zon.md: remove duplicate word

  [ Jakub Konka ]
  * elf: improve parsing of ld scripts and actually test linking against them

  [ Tobias Simetsreiter ]
  * add Fetch support for short compressed tar ext

  [ Jakub Konka ]
  * build: match and ignore /?/ in expected compile errors
  * elf: test unresolved symbol reference error
  * elf: test path errors in ld script parsing
  * elf: test mismatched cpu architecture error
  * elf: test unknown file type error

  [ Nameless ]
  * std.Uri: prevent crash with strange authority section

  [ frmdstryr ]
  * Update comment on Tag value assign_mod  in  Ast.zig

  [ Jakub Konka ]
  * elf: use std.math.maxInt(u64) as signal that shdr/phdr not allocated yet
  * elf: allocate PHDR table always succeeding the EHDR
  * elf: estimate max number of phdrs that can be emitted

  [ Jacob Young ]
  * x86_64: pass more tests

  [ Jakub Konka ]
  * Step.Compile: differentiate between fuzzy and exact matches for compile errors

  [ Jacob Young ]
  * builtin: implement `default_panic` for `plan9`
  * Coff: fix use after free

  [ frmdstryr ]
  * Update comment on for_range in Ast

  [ Andrew Kelley ]
  * Sema: migrate `@src` to new anon decl mechanism
  * Sema: move some TODO comments to an issue
  * Sema: move `@typeInfo` anon decls to new mechanism
  * Sema: rework addConstantMaybeRef
  * Sema: replace refValue with simpler implementation

  [ Jacob Young ]
  * cbe: update `DeclGen.decl_index` to support anon decls

  [ Andrew Kelley ]
  * C backend: remove some `@as`
  * link.Elf: fix UAF in lowerAnonDecl
  * link: Coff, MachO, and Wasm all had the same UAF bug

  [ Krzysztof Wolicki ]
  * Step.Options: `@typeName` gives a fully qualified name so the test needs to reflect that

  [ Michael Dusan ]
  * std.target: bump some OS max versions

  [ joadnacer ]
  * std.linux: Update io_uring structs and consts for kernel 6.3.8
  * std.io_uring: Improve splice implementation

  [ Andrew Kelley ]
  * sema: remove source location logic in zirExportValue

  [ Jacob Young ]
  * x86_64: implement `@divFloor` and `@mod` for `i128`
  * main: enable debug modes in build scripts
  * x86_64: fix behavior of `getValue`
  * test: enable `c-abi-tests` for the x86_64 backend
  * x86_64: add missing spills

  [ Andrew Kelley ]
  * link: support exporting constant values without a Decl

  [ Jacob Young ]
  * x86_64: add missing spill
  * x86_64: fix `@memset`
  * x86_64: fix `cond_br`

  [ Nameless ]
  * std.http.Client: add proxy scheme guessing, fix typo

  [ Travis Staloch ]
  * GenericReader error set fixes

  [ frmdstryr ]
  * Update comment on while
  * Update slice_sentinel comment

  [ Linus Groh ]
  * std.json: Parse -0 as a float instead of an integer (#17729)

  [ Andrew Kelley ]
  * categorize globals behavior tests
  * categorize fn ptr behavior test
  * categorize nan behavior test
  * split export behavior test into export_keyword and export_builtin

  [ expikr ]
  * Doc: elaborate on Slice section

  [ Jacob Young ]
  * x86_64: fix c abi test failures

  [ mlugg ]
  * Sema: do not assume switch item indices align with union field indices

  [ XXIV ]
  * compiler_rt/emutls: remove unnecessary `@ptrCast` (#17755)

  [ Jakub Konka ]
  * x86_64: do not hardcode memory passed by Elf linker
  * x86_64: rename load/lea_memory to load/lea_symbol
  * elf: set needs_got on generated extern vars
  * x86_64: no more load/lea_symbol weirdness
  * x86_64: pass behavior tests PIC and non-PIC
  * x86_64: refactor Lower.zig
  * x86_64: assert fixes are ._ for linker_reloc
  * x86_64: handle .load_symbol in mul_with_overflow and mul_div

  [ Jacob Young ]
  * x86_64: handle .load_symbol in more places

  [ Andrew Kelley ]
  * frontend: make Decl.zir_decl_index typed
  * std.mem.minMax: make it return a tuple
  * make Zir.Inst.Index typed
  * delete std.os.windows.user32
  * std: delete psapi, gdi32, and winmm

  [ Kamil T ]
  * std.os.windows additions and fixes

  [ Jacob Young ]
  * x86_64: fix hazard between pic call and sysv cc
  * tests: change some x86_64 backend targets to pic for more coverage
  * x86_64: refactor codegen memory repr
  * x86_64: fix compiler rt test failures

  [ Jakub Konka ]
  * elf: add partial implementation of exporting anon decls
  * elf: implement exporting anon decls
  * macho: implement exporting anon decls
  * coff: implement exporting anon decls

  [ DilithiumNitrate ]
  * Fix hasRuntimeBitsAdvanced lazy case for pointers and optionals

  [ Jakub Konka ]
  * macho: implement enough of extern handling to pass comptime export tests
  * coff: implement enough of extern handling to pass comptime export tests
  * elf: rename ZigModule to ZigObject
  * elf: move incremental codegen bits into ZigObject.zig
  * elf: put init logic of ZigObject in init function
  * elf: encapsulate ZigObject-specific logic in flushModule hook

  [ Karl Seguin ]
  * Fix http.Headers.initList

  [ Krzysztof Wolicki ]
  * autodoc: Some support for field_call (#16853)

  [ Andrew Kelley ]
  * langref: clarify struct memory layout

  [ kcbanner ]
  * sema: Add union alignment resolution
  * sema: when guessing union alignment, save the result and check if the guess was correct
  * Add compile error test case for union layout depending on pointer alignment

  [ XXIV ]
  * std/Thread: remove unnecessary `@ptrCast` (#17766)

  [ Ryan Liptak ]
  * std.unicode: Add ASCII fast path to UTF-8 -> UTF-16 conversion functions
  * std.unicode: Add ASCII fast path to UTF-16 -> UTF-8 conversion functions

  [ XXIV ]
  * std.fs: remove unnecessary `@ptrCast` (#17805)

  [ Jacob Young ]
  * Sema: fix incorrect error comptime-mutating empty array
  * mem: fix ub in writeInt
  * mem: delete `readIntSlice` and `writeIntSlice`

  [ Andrew Kelley ]
  * std.builtin.Endian: make the tags lower case

  [ Jacob Young ]
  * cbe: fix `@bitCast` warnings

  [ Kai Jellinghaus ]
  * Use ArenaAllocator.reset in MemoryPool

  [ Jordyfel ]
  * std.http: account for renames in docs

  [ Kai Jellinghaus ]
  * Fix regressing #17290 from #17734

  [ Andrew Kelley ]
  * CI: disable MSVC C backend checks

  [ Luuk de Gram ]
  * wasm: fix bitcasting to -and from arrays
  * wasm: re-enable regressed tests

  [ XXIV ]
  * std.os.windows: remove unnecessary `@ptrCast` (#17816)

  [ Ali Chraghi ]
  * print_zir: fix crash in writeRestoreErrRetIndex

  [ Ryan Liptak ]
  * start: Make wWinMain nCmdShow setting match Windows better

  [ Andrew Kelley ]
  * mingw-w64: add shcore def files

  [ Evan Haas ]
  * mingw: Use aro instead of clang for preprocessing import libs
  * mingw: Don't implement buildImportLib in only-c mode
  * mingw: Check for only_c, not only_core_functionality
  * mingw: remove "aro" literal from from cache hash
  * mingw: remove stage2_c check for buildImportLib
  * sync Aro dependency

  [ Luuk de Gram ]
  * wasm-linker: implement `-fno-entry` flag
  * wasm-linker: correctly pass --shared and --pie
  * update linker tests
  * docs: update WebAssembly freestanding example
  * cli: consolidate entry point flags

  [ Ryan Liptak ]
  * start.zig: Replace kernel32 usage with ntdll

  [ xdBronch ]
  * dont assume apple chips are macos exclusive

  [ XXIV ]
  * std.Atomic: remove unnecessary `@ptrCast` (#17825)

  [ Evan Haas ]
  * aro: Add stub definitions to enable bootstrapping
  * comp: remove CBE guards for aro

  [ mlugg ]
  * Sema: use correct error bit length when emitting error_set_has_value safety checks

  [ Andrew Kelley ]
  * frontend: rip out Decl dependencies

  [ dweiller ]
  * zstandard: fix incorrect RLE decompression into ring buffer

  [ Andrew Kelley ]
  * add zig reduce subcommand
  * std.zig: move render state to struct; add fixups
  * add a transformation for gutting the body of a function
  * accept a transformation index
  * zig reduce proof of concept
  * std.zig.render: fix iteration over parameters
  * zig reduce: check once upfront to verify interestingness
  * std.BitSet: add setAll and unsetAll methods
  * build runner: fix missing newline in error message
  * zig reduce: redesign
  * fix compilation regression

  [ Jacob Young ]
  * x86_64: fix std test failures
  * x86_64: reduce `RegisterManager` performance regression

  [ Andrew Kelley ]
  * fix bootstrap
  * zig reduce: add "delete unused globals" transform
  * zig reduce: add transformation of replacing var init with undefined

  [ Jacob Young ]
  * print_zir: fix more crashes during printing

  [ Jakub Konka ]
  * elf: redo strings management in the linker
  * elf: implement --gc-sections for non-LLVM Zig source
  * elf: generate invalid object file but with almost correct header
  * elf: remove now obsolete allocateSegment helper
  * elf: rename .rodata to .data.rel.ro and remove allocateAllocSection helper
  * elf: remove now obsolete allocateNonAllocSection helper
  * elf: emit valid section headers table when building an object file
  * elf: emit .rela shdrs for output sections
  * elf: update .rela section sizes; skip .got.zig when emitting object
  * elf: improve Symbol to handle emitting relocatable object files
  * elf: write out contents of .rela sections
  * elf: fix properly updating .got.zig section
  * elf: make sure we never emit .got.zig relocs when linking object files
  * elf: emit STT_SECTION symbols
  * elf: claim unresolved dangling symbols as undef externs when emitting object
  * elf: fix r_offset when emitting relocs for the linker
  * elf: use StringTable for strtab management in ZigObject
  * elf: postpone creation of .got.zig entry until code emit
  * x86_64: rewrite .got.zig movs to standard loads when emitting objects
  * elf: enable static-lib flush path
  * elf: collect exports from ZigObject into AR symtab
  * elf: generate pretty rudimentary archive
  * elf: fix writing symtab to an archive
  * elf: align ar_hdr to at least 2 bytes
  * x86_64: rewrite call r/m64 to call rel32 for .got.zig refs when object
  * link: commit missing source StringTable.zig

  [ Andrew Kelley ]
  * Compilation: refactor logic for library-building capabilities

  [ Jakub Konka ]
  * elf: do not align end of archive to 2bytes; fix archive parser
  * elf: store ar state per input object file
  * elf: do not store filename in strtab unless longer than 15 chars
  * elf: add link smoke tests covering emitting obj and static lib
  * elf: fix 32bit build
  * elf: fix more int resolution issues
  * elf: flag errors on hitting unimplemented codepaths
  * elf: actually capture positionals when linking static library

  [ Jacob Young ]
  * x86_64: fix ub that the llvm backend was hiding
  * x86_64: fix miscompilations

  [ Jakub Konka ]
  * Compilation: take into account if LLVM is available in lib-building logic

  [ Andrew Kelley ]
  * zig reduce: add transformation for inlining file-based `@import`
  * std.ArrayHashMap: add init function
  * zig reduce: rename identifiers when inlining an `@import`
  * std.zig.render: support fixing unused parameter
  * zig reduce: run results through astgen
  * zig reduce: add transformation for removing container fields
  * zig reduce: delete statements from blocks
  * zig reduce: some adjustments to make it go faster
  * zig reduce: don't try to remove discard statements
  * std.zig.render: ability to omit variable declarations
  * zig reduce: add reduction for removing var decls
  * Sema: fix memory leak in zirTypeInfo

  [ Bogdan Romanyuk ]
  * Sema: fix error notes with wrong extern type

  [ Jacob Young ]
  * x86_64: fix tracking during `br`

  [ Jakub Konka ]
  * elf: actually save correct object names in the archive

  [ Jacob Young ]
  * x86_64: fix indirect return of `f80`

  [ Jakub Konka ]
  * elf: init objects after parsing them
  * elf: add hooks for archiving Objects
  * elf: hook up saving object files in an archive
  * test/link/elf: enable our ELF archiver

  [ Jacob Young ]
  * build: add option to specify whether to use the llvm backend
  * src: fix memory leaks
  * behavior: enable test passing with x86_64 backend

  [ Igor Anić ]
  * io_uring: add multishot accept operation

  [ kcbanner ]
  * Revert "CI: disable MSVC C backend checks"
  * cbe: avoid collisions with builtins and intrinsics
  * cbe: add DeclVisibility and zig_extern_mangled to handle exporting mangled symbols under a different name
  * cbe: handle underscore prexfix on macos, don't mangle extern function names
  * cbe: fix builtins not being used by zig_import when they are available
  * cbe: skip std.math.lerp test that fails when compiler_rt fma is used

  [ Adam Goertz ]
  * zig-reduce: Reduce `if` expressions

  [ kcbanner ]
  * cbe: fixup __asm style exports, re-enable 12680 on macos now that alias isn't used

  [ Andrew Kelley ]
  * frontend: fix -fsingle-threaded default detection logic

  [ Jakub Konka ]
  * Compilation: unconditionally close open file handles for writable dance
  * elf: clearly separate updating and writing symtab from only ZigObject
  * test/link/elf: improve test linking with static lib

  [ Bogdan Romanyuk ]
  * Sema: emit error when pointer to extern function is called

  [ Jacob Young ]
  * x86_64: fix passing register-sized payload as non-reigster-sized union

  [ Jakub Konka ]
  * CheckObject: support parsing and dumping archive symtab for ELF

  [ XXIV ]
  * langref: fix malloc return type

  [ Andrew Kelley ]
  * tests: skip native CPU std tests on Windows

  [ kcbanner ]
  * sema: analyze field init bodies in a second pass
  * cbe: support rendering union values that have no defined tag type
  * wasm: support rendering unions using their backing type if they have no defined tag type

  [ Adam Goertz ]
  * Apply same reductions to while

  [ mlugg ]
  * Sema: allow destructuring vectors
  * Sema: emit @intCast safety check correctly for vectors

  [ Jakub Konka ]
  * elf: create skeleton of required changes for supporting -r mode
  * elf: generate section symbols when writing symtab

  [ David Rubin ]
  * fix sqrt(0)

  [ Jakub Konka ]
  * elf: update .rela section sizes
  * elf: create link between .rela and output section
  * elf: emit .rela.eh_frame section header if required
  * elf: allocate alloc sections when emitting relocatable

  [ dweiller ]
  * sema: allow slicing [*]T without end

  [ Jakub Konka ]
  * elf: actually track output symtab index of symbols

  [ tison ]
  * std.math.big: fix sqrt with bits > limb_bits

  [ mlugg ]
  * Sema: fix source location for untyped array init with result type

  [ Jakub Konka ]
  * elf: reference .rela sections via output section index
  * elf: claim unresolved dangling symbols as undef externs in -r mode

  [ Frank Denis ]
  * Curve25519.fromEdwards25519(): don't assume normalized coordinates (#17920)

  [ Jakub Konka ]
  * elf: adjust r_addend with offset of the original input section ref'd via STT_SECTION

  [ Jacob Young ]
  * x86_64: fix optional comparison
  * MachO: support `-fsingle-threaded` mode
  * x86_64: fix signed not of more than 64 bits

  [ Jakub Konka ]
  * elf: LLVM emits relocs to undef local symbols - color me surprised!
  * elf: streamline codepaths for different linker modes (object, ar, exe/dyn)
  * elf: emit SHN_COMMON symbols in -r mode

  [ Igor Anić ]
  * fix io_uring timeout_remove test on kernel 5.4

  [ Jakub Konka ]
  * elf: test emitting relocatable
  * elf: fix 32bit build

  [ Igor Anić ]
  * fix io_uring tests on kernel 5.4

  [ Jacob Young ]
  * Sema: implement vararg integer promotions
  * Sema: don't allow passing non-extern types to varargs parameters

  [ Luuk de Gram ]
  * wasm-linker: ensure symbol fields are set for decls

  [ frmdstryr ]
  * Speed up ast.tokenLocation

  [ mlugg ]
  * Sema: do not force resolution of struct field inits when calling function pointer field
  * Sema: optimize runtime array_mul

  [ Linus Groh ]
  * std.math: Add isPositiveZero() and isNegativeZero()

  [ Jakub Konka ]
  * elf: misc fixes
  * test/link/elf: verify we can output a valid relocatable with .eh_frame section
  * elf: track .rela.eh_frame section and emit .eh_frame section symbol
  * elf: calculate required size for .rela.eh_frame
  * elf: emit .rela.eh_frame section contents
  * elf: correctly format output .eh_frame when emitting relocatable
  * test/link/elf: fix .eh_frame test
  * elf: separate logic for reseting shdr indexes into a separate fn

  [ Bogdan Romanyuk ]
  * replace deprecated std.math.absCast

  [ Jakub Konka ]
  * elf: init output COMDAT group sections
  * elf: write out COMDAT groups to file

  [ Bogdan Romanyuk ]
  * preserve 'undefined' in @bitCast

  [ Jakub Konka ]
  * elf: format shdr flags when dumping state
  * elf: add SHF_INFO_LINK flag to any emitted SHT_RELA section

  [ Jacob Young ]
  * Compilation: forward clang diagnostics to error bundles

  [ Jakub Konka ]
  * elf: fix overflowing designated capacity when writing COMDAT groups
  * test/link/elf: make .eh_frame relocatable test also verify COMDATs we emit

  [ Jacob Young ]
  * stage1: implement wasi seek shim

  [ mlugg ]
  * Sema: remove unused function
  * Sema: do not allow comptime-only pointer fields in packed structs

  [ Jakub Konka ]
  * macho: resolve special section/segment boundary symbols
  * macho: check for null Module before creating llvm_object
  * test/link: spawn ELF and MachO tests from the same root test/link/link.zig
  * test/link: refactor common bits between ELF and MachO tests

  [ Igor Anić ]
  * io_uring: add zero-copy send operation

  [ Bogdan Romanyuk ]
  * disallow calling @trap at comptime

  [ Andrew Kelley ]
  * Compilation: fix logic regarding needs_c_symbols
  * stage1: we don't need have_stage1 config option anymore
  * move libssp into libcompiler_rt
  * compiler_rt: provide strncpy impl for ssp

  [ dweiller ]
  * zstandard: fix division by zero when using RingBuffer

  [ Jacob Young ]
  * llvm: workaround SROA misoptimizations in LLVM
  * behavior: add testing for LLVM SROA bugs
  * Module: fix use of `undefined` during decl cleanup
  * Sema: detect unneeded source locations earlier
  * BitcodeReader: followup cleanup

  [ kcbanner ]
  * sema: pass sema through if available for the array_type case in bitSizeAdvanced

  [ Jacob Young ]
  * Dwarf: improve x86_64 backend debug info

  [ Bogdan Romanyuk ]
  * Sema: fix comparison with undefined

  [ Ian Johnson ]
  * Package.Fetch.git: handle optional pkt-line LF

  [ Andrew Kelley ]
  * Revert "Sema: fix comparison with undefined"

  [ Jakub Konka ]
  * elf: lower TLS data into appropriate TLS section
  * elf: check for empty relocs buffers in ZigObject before emitting section
  * elf: fix typo in initial section offsets
  * x86_64: get something going for the local exec model
  * elf: fix allocating local TLS symbols
  * x86_64: emit TLS local dynamic model when PIC
  * elf: dump PLT entries
  * x86_64: seems like we will need to keep track of rax and reserve rax+rdi for TLS
  * elf: set symbol flags such as needs_zig_got in ZigObject
  * x86_64: remove unreachable Elf prong
  * x86_64: use .rax for local exec as prescribed by the spec

  [ Jacob Young ]
  * x86_64: resolve tlv references on first use and spill to the stack

  [ kcbanner ]
  * sema: fixup underflows during struct / ptr array init when using -fstrip

  [ Andrew Kelley ]
  * add bootstrap.c for building from source without LLVM
  * README: make note of what features are missing without LLVM
  * bootstrap.c: update aro module
  * CI: test building from source without LLVM

  [ Jacob Young ]
  * zig.h: workaround for gcc `f128` miscompilations

  [ Andrew Kelley ]
  * bootstrap.c: add -pthread if the compiler is gnu
  * rework memory management of Module.Namespace hash maps

  [ xdBronch ]
  * expose  to build system

  [ Jakub Konka ]
  * elf: setting offset to maxInt for non-allocated non-incremental sections is bad

  [ Michael Dusan ]
  * compilation: forbid PIE for dynamic libraries

  [ Jakub Konka ]
  * coff: mark dirty any reloc target at [addr,..) inclusive
  * coff: revert .rdata to be read-only again

  [ Andrew Kelley ]
  * adjust building from source without LLVM process

  [ Jakub Konka ]
  * elf: do not pointlessly store zerofill data for TLVs
  * std: disable failing test

  [ Jacob Young ]
  * x86_64: actually track state during `@divFloor` of `i128`

  [ Veikka Tuominen ]
  * aro-translate-c: translate function types
  * aro-translate-c: start work on translating statements
  * sync Aro dependency

  [ Jakub Konka ]
  * elf: actually write synthetic globals to output symtab
  * elf: we were writing too many symbols in the symtab
  * elf: create .got.plt unconditionally
  * elf: fix emitting start/stop synthetic symbols

  [ Krzysztof Wolicki ]
  * Sema: Add error for non-power of 2 field alignment when reifying Unions, Structs, Pointers

  [ Jakub Konka ]
  * elf: test -r mode with archive on the linker line
  * elf: test -r mode does not create unneeded .eh_frame section

  [ David ]
  * Move duplicate field detection for struct init expressions into AstGen
  * Sema: include sentinel in type of pointer-to-array `ptr` field

  [ Veikka Tuominen ]
  * aro-translate-c: update to upstream changes

  [ Igor Anić ]
  * io_uring: add direct operations
  * io_uring: simplify tests by checking kernel version
  * io_uring: use kernel version test in send_zc test
  * io_uring: include review comments

  [ Jakub Konka ]
  * std.macho: fix LoadCommandIterator to work with underaligned data

  [ Igor Anić ]
  * io_uring: make Linux version check runtime instead od comptime
  * io_uring: try to pass windows/macos tests
  * io_uring: fix ci failing test

  [ Lucas Santos ]
  * Faster implementation of intToEnum.

  [ Curtis Tate Wilkinson ]
  * Add struct declaration location to empty root struct field member error

  [ Eric Joldasov ]
  * std.enums: allow non-exhaustive enums in EnumIndexer and make `count` comptime_int instead of usize

  [ dweiller ]
  * test: check compile errors when compilation has no errors

  [ mlugg ]
  * compiler: add error for unnecessary use of 'var'
  * lib: correct unnecessary uses of 'var'
  * test: update translate-c tests to match new discard format
  * test: update cases to silence 'var is never mutated' errors
  * test: update behavior to silence 'var is never mutated' errors
  * test: update remaining code to fix 'var is never mutated' errors
  * tools: correct unnecessary uses of 'var'
  * langref: correct unnecessary uses of 'var'
  * link: fix MachO boundary symbol resolution
  * compiler: correct unnecessary uses of 'var'
  * cases: add compile error test for never-mutated local variable
  * AstGen: preserve result type in comptime block
  * translate-c: work around unnecessary uses of 'var'
  * std: correct faulty test
  * behavior: work around LLVM bug

  [ Tw ]
  * linux/bpf: update helper definitions

  [ Maciej 'vesim' Kuliński ]
  * std.tar: trim also spaces from the beginning of file size

  [ Andrew Kelley ]
  * merge `zig init-exe` and `zig init-lib` into `zig init`
  * zig init: also create a build.zig.zon

  [ Bogdan Romanyuk ]
  * value: update isDeclRef for anonymous declarations

  [ Ryan Liptak ]
  * std.unicode: Disable utf8 -> utf16 ASCII fast path on mips

  [ expikr ]
  * langref: emphasize the use of dereferencing string literals

  [ Naboris ]
  * std.RingBuffer.zig: Fix typo in readLastAssumeLength

  [ Veikka Tuominen ]
  * Sema: fix bad error location on field init with field access
  * InternPool: handle `funcZirBodyInst` for `func_coerced`

  [ expikr ]
  * replace qpf and qpc

  [ Carl Åstholm ]
  * translate-c: translate 80/128-bit long double literals

  [ Wooster ]
  * std.debug: detect general protection faults on x86_64-linux

  [ mataha ]
  * Reorder fields in `build.zig.zon.md`

  [ salo-dea ]
  * Do not assume that FILE_BOTH_DIR_INFORMATION is correctly aligned

  [ Michael Pfaff ]
  * std.heap: Use @alignOf(T) rather than 0 if not manually overridden for alignment of MemoryPool items

  [ Garrett ]
  * translate-c: skip blank macros when translating defines

  [ Jan Philipp Hafer ]
  * std.net: enable forcing non-blocking mode for accept

  [ Mikko Kaihlavirta ]
  * add missing timeval struct

  [ Hong Shick Pak ]
  * std.Uri: fix parsing edge case panic

  [ Andrew Kelley ]
  * std: remove meta.trait
  * std.ArrayList: add initBuffer to the unmanaged array list
  * std.fs: make deleteTree use ArrayList instead of BoundedArray
  * std.crypto.ff: simplify implementation
  * resinator: use ArrayList instead of BoundedArray
  * tools/gen_spirv_spec: fix wrong use of BoundedArray
  * aro: use std.fmt.bufPrint rather than BoundedArray
  * aro: avoid BoundedArray in text_literal
  * aro: use ArrayList in GCCDetector instead of BoundedArray
  * Revert "Merge pull request #12060 from Vexu/IterableDir"
  * std.atomic: remove some APIs
  * update for the std.fs.Dir changes
  * std.fs: extract Dir into separate file
  * std.fs: extract AtomicFile to separate file
  * std.fs.File: flatten struct
  * std: remove atomic.Stack
  * std: remove atomic.Queue

  [ Bogdan Romanyuk ]
  * Sema: disallow call to undefined function

  [ Andrew Kelley ]
  * rework std.atomic
  * std.os.windows: remove volatile from inline asm

  [ Ryan Liptak ]
  * Remove unnecessary branch on absolute path
  * Replace shell32.SHGetKnownFolderPath usage with LOCALAPPDATA env var
  * std.os.windows: Add HKEY_CLASSES_ROOT

  [ Jacob Young ]
  * x86_64: optimize compile time of `mnemonic_to_encodings_map`

  [ Ryan Liptak ]
  * windows_sdk: Replace COM with what the COM code was doing under-the-hood
  * Remove std.os.windows.ole32/shell32

  [ David Rubin ]
  * fix spelling

  [ John Benediktsson ]
  * Deprecate math.doNotOptimizeAway, use mem.doNotOptimizeAway (#18011)

  [ Robin Voetter ]
  * spirv: disable failing tests
  * spirv: fix memory leak in SpvModule
  * spirv: always emit mask constants even if no bits are set
  * spirv: add -fstructured-cfg option

  [ Luca Ivaldi ]
  * std.fmt: fix overflow when formatting comptime_float

  [ Robin Voetter ]
  * spirv: structured control flow

  [ Garrett ]
  * translate-c: use struct_init_one for empty struct initializer

  [ Justus Klausecker ]
  * std.SinglyLinkedList: add sort function

  [ Meghan Denny ]
  * AstGen: remove calls to tracy
  * frontend: move BuiltinFn to std.zig namespace
  * frontend: move AstRlAnnotate to std.zig namespace
  * cmake: fix location of AstRlAnnotate.zig

  [ Veikka Tuominen ]
  * sync Aro dependency

  [ Andrew Kelley ]
  * Revert "std.SinglyLinkedList: add sort function"

  [ Techatrix ]
  * convert `toType` and `toValue` to `Type.fromInterned` and `Value.fromInterned`

  [ Veikka Tuominen ]
  * translate-c: use Aro's tokenizer

  [ Tw ]
  * Zir: add missing extra index for linksection_or_addspace

  [ Bogdan Romanyuk ]
  * Sema: ensure tuple fields is resolved and fix internal out-of-bounds access
  * Compiler: move checking function-scope-only builtins to AstGen
  * AstGen: check allowed non-function builtins with declarative field (#18120)

  [ Meghan Denny ]
  * move Module.Decl.Index and Module.Namespace.Index to InternPool

  [ David Rubin ]
  * complete todo

  [ Michael Dusan ]
  * bsd: debitrot atomic and debug

  [ Meghan Denny ]
  * build.zig: remove an unneeded 'else unreachable'

  [ Daniel A.C. Martin ]
  * fix: Prevent segfault when using add.Module()

  [ Lauri Tirkkonen ]
  * os: expect ETIMEDOUT, ECONNRESET, ENOTCONN from recvfrom & read family

  [ Andrew Kelley ]
  * std.zig.render: add ability to append strings after nodes
  * add Package.Manifest.copyErrorsIntoBundle
  * `zig fetch`: add `--save` flag

  [ Bogdan Romanyuk ]
  * value: handle lazy_align and lazy_size in writeToPackedMemory

  [ Carter Snook ]
  * std.zig.system: remove explicit `usize` cast
  * std.net: replace `@ptrCast` with slice syntax

  [ Andrew Kelley ]
  * package fetching: catch relative paths that resolve into cache dir

  [ Luuk de Gram ]
  * wasm-link: ensure TLS global when resolved
  * wasm-linker: mark symbols and its references
  * wasm-linker: do not merge unreferenced symbols
  * wasm-linker: parse symbols into atoms lazily
  * wasm-linker: deduplicate aliased functions
  * wasm-linker: Only emit name of referenced symbols
  * wasm-linker: handle debug info during gc
  * wasm-linker: support gc for wasm backend code
  * wasm-linker: support `--no-gc-sections`
  * test/link: update wasm linker tests

  [ tjog ]
  * std.debug: optimized printLineFromFileAnyOs (#18142)

  [ David Rubin ]
  * Remove all usages of `std.mem.copy` and remove `std.mem.set` (#18143)

  [ Veikka Tuominen ]
  * Sema: improve error location for array cat/mul

  [ Jacob Young ]
  * test: test with `-fstrip` and fix failures

  [ Frank Denis ]
  * TLS: The 0x1306 TLS identifier was updated to TLS_AEGIS_256_SHA512
  * verify_buffer is not expected to be sentinel-terminated

  [ Jacob Young ]
  * Air: use typesafe `Air.Inst.Index`
  * x86_64: implement more atomic ops
  * x86_64: implement more compliant vectors
  * x86_64: implement some todos
  * print_air: fix printing of instruction indices
  * x86_64: "implement" `aggregate_init` for vectors
  * Coff: minor fixes
  * x86_64: implement movement for pointer vectors
  * x86_64: implement more operations on vectors with 1-bit elements
  * x86_64: fix vector comparisions
  * x86_64: fix packed struct field reuse

  [ Nan Zhong ]
  * langref: fix incorrect reference to string literal

  [ Jakub Konka ]
  * elf: report error at the point where it is happening
  * elf: do not write ELF header if there were errors
  * elf: move basic parse error reporting to SharedObject
  * elf: re-instate basic error reporting for LD script parser
  * elf: report malformed archive when parsing errors
  * elf: upcast e_shnum to u64 to check for valid ranges
  * elf: escape invalid token string when reporting an error
  * test/link/elf: adjust tests for new errors
  * elf: refactor
  * elf: exit early with an error when parsing or init failed
  * elf: exit early with an error when parsing or init failed when flushing object/archive
  * elf: copy out committed ZigObject to a buffer when creating static lib
  * elf: fix typo
  * elf: return error.FlushFailure in flushObject and flushStaticLib codepaths when found errors
  * lib/std/macho: add missing LC defs and missing N_NO_DEAD_STRIP desc for nlists
  * macho: rename flag to EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION

  [ Gordon Cassie ]
  * Add cross references for optional documentation and another example of optional capture in while loop.
  * Add comment. Split up if docs for optionals.

  [ xdBronch ]
  * add getName helper to inotify_event
  * switch to mem.span

  [ Meghan Denny ]
  * std: make std.unicode.initComptime() a comptime-known function

  [ yunsh1 ]
  * fmt: Skip extra newline if doc_comment exists

  [ Carter Snook ]
  * std.os.dl_iterate_phdr: remove `u16` error cast

  [ Jakub Konka ]
  * lib/std/Build/CheckObject: dump Mach-O header

  [ Veikka Tuominen ]
  * AstGen: add error for using inline loops in comptime only scopes

  [ Jakub Konka ]
  * lib/std/Build/CheckObject: dump Mach-O symbol attributes
  * lib/std/Build/CheckObject: dump Mach-O dyld_info_only exports data
  * lib/std/Build/CheckObject: dump Mach-O dyld_info_only rebase data
  * lib/std/Build/CheckObject: dump Mach-O dyld_info_only bind, weak-bind and lazy-bind data

  [ xdBronch ]
  * use linux.perf_event_open directly

  [ Travis Staloch ]
  * fmt.parseWithSign(): prevent edge case overflows

  [ Bogdan Romanyuk ]
  * Sema: forbid @breakpoint from being called at comptime

  [ Andrew Kelley ]
  * Revert "Sema: forbid @breakpoint from being called at comptime"

  [ Eric Eastwood ]
  * Add `getPtrConstAssertContains(...)` for compatibility with a `const` `std.EnumMap`

  [ Loris Cro ]
  * std.Build.Cache: add HexDigest type

  [ loris ]
  * allow sqe entries up to 32768

  [ Jakub Konka ]
  * lib/std/Build/CheckObject: fix parsing and dumping special dylib lookup values
  * lib/std/Build/CheckObject: introduce scoped checks; implement for MachO
  * lib/std/Build/CheckObject: implement for ELF
  * lib/std/Build/CheckObject: implement for Wasm
  * lib/std/Build/CheckObject: update all tests to new API
  * lib/std/Build/CheckObject: split dyld info into subsections for easier scoped testing

  [ Andrew Kelley ]
  * Compilation: remove parent_compilation_link_libc

  [ Jan Philipp Hafer ]
  * std.net.test: cleanup socket stream

  [ Carl Åstholm ]
  * Expose `-f(no-)formatted-panics` to the build system

  [ Artem Kolichenkov ]
  * std.net: add explicit error sets for IP parsing

  [ Carl Åstholm ]
  * Update `ArgIterator` on Windows to follow standard Windows parsing rules
  * More accurate argv-to-command-line serialization when spawning child processes on Windows

  [ Andrew Kelley ]
  * build: pass --abbrev to git rather than relying on global config
  * std: disable flaky tcp server test

  [ Lateef Jackson ]
  * Add FreeBSD to bootstrap.c to make building from source easier in FreeBSD 14

  [ Ryan Liptak ]
  * File.stat: Support detection of Kind.sym_link on Windows

  [ Tristan Ross ]
  * os.uefi: add time to epoch conversion

  [ Maximilian ]
  * Grammar fixes (#18320)

  [ Tristan Ross ]
  * time: add uefi support

  [ Ryan Liptak ]
  * Fix `Stat.ctime` docs, and correct its value on Windows

  [ Tristan Ross ]
  * os.uefi: add ns to epoch

  [ Ryan Liptak ]
  * Make 'stat of a symlink' test case not rely on OpenDirOptions.no_follow behavior

  [ Meghan Denny ]
  * test: add coverage for index into comptime-known vector is comptime-known

  [ Carl Åstholm ]
  * Correct `CreateProcessW` parameter types

  [ Ryan Liptak ]
  * fs: Add tests for deleteTree not following symlinks

  [ Vitalijus Valantiejus ]
  * std.fmt: fix formatting of array pointers

  [ Stefan Su ]
  * use `casted_rhs` instead of `rhs` so `icmp` works correctly for `airShlSat`

  [ Frank Denis ]
  * std.crypto.kem.kyber: mitigate KyberSlash (#18316)

  [ Jacob Young ]
  * Sema: ensure `slice_ptr` produces the correct type
  * cbe: fix memory leaks

  [ AlliedEnvy ]
  * std.hash_map: clarify error when Context is missing pub hash/eql

  [ Marcius ]
  * refact: rectifified a typo in docs of stringify.zig

  [ cfillion ]
  * Sema: fix merging stores instructions from a comptime struct value with `-fstrip`

  [ amp-59 ]
  * Sema: Initialise `want_safety` for switch prong child block

  [ fn ⌃ ⌥ ]
  * std.zig.Ast: Fix docs for FnProto and FnProtoOne
  * std.zig.Parse: Miscellaneous cleanup
  * std.zig.Parse: Add parseFor helper method
  * std.zig.Ast: Reorder fields to reflect position in source

  [ Mason Remaley ]
  * Update formatFloat* docs to reflect limitation w/ large floats

  [ Leonardo Gatti ]
  * doc: possible typo at `std.Thread.spawn` comment

  [ dweiller ]
  * sema: add compile error for OOB by-length slice of array
  * prevent by-length slice compile error in static json parsing

  [ Carl Åstholm ]
  * Prevent reading over a page boundary in `mem.indexOfSentinel`
  * Deprecate `suggestVectorSize` in favor of `suggestVectorLength`
  * Change `<` to `<=` in `indexOfSentinel` SIMD path

  [ Jacob Young ]
  * Compilation: cleanup hashmap usage

  [ davideger ]
  * Updated Utf8View example to format the single codepoint UTF-8 slice with {s} (#18288)

  [ Andrew Kelley ]
  * Revert "Merge pull request #17824 from kcbanner/fixup_msvc_fmax"
  * std.Uri: default some fields to null
  * move is_libcpp_lib_name and is_libc_lib_name to std.Target
  * introduce std.Build.Module and extract some logic into it
  * zig build system: remove vcpkg integration
  * zig build system: change target, compilation, and module APIs
  * spelling fixes
  * fix std lib tests
  * build runner: print subtree of failed nodes context
  * fix linker test regressions
  * std.Build: handle ResolvedTarget in userInputOptionsFromArgs
  * fix windows-only test case not upgraded to new build API
  * fix infinite loop in Run step
  * std.Target: flatten
  * rename std.zig.CrossTarget to std.Target.Query
  * std.Target: add DynamicLinker
  * std.Target.Query: remove deprecated API
  * std.Build: fix userInputOptionsFromArgs ResolvedTarget
  * resinator: update std.Target.Query usage
  * compiler: get the dynamic linker from the target
  * std.Target.Query: fix regression with windows os version range
  * update docgen for std Target.Query API breaks
  * std.Build.ResolvedTarget: rename target field to result
  * WIP: move many global settings to become per-Module
  * move a large chunk of linker logic away from "options"
  * linker: update references to module
  * linker: update output_mode references
  * linker: update link_mode references
  * linker: update options references of CsuObjects
  * linker: update target references
  * frontend: fix stack protector option logic
  * compiler: update references to single_threaded
  * update image_base references
  * linkers: update references to "options" field
  * remove parent_compilation_link_libc
  * update references to module (to be renamed to zcu)
  * update libunwind references to bin_file.options
  * compiler: update references to target
  * update bin_file.options references in Module (Zcu)
  * compiler: update many references to bin_file.options
  * Compilation: redo whole vs incremental logic in create and update
  * compiler: miscellaneous branch progress
  * fix a round of compile errors caused by this branch
  * linker: remove bad NvPtx flushModule implementation
  * musl: update references to bin_file.options
  * update bin_file.options references in Sema
  * libcxx: update to new Compilation API
  * tsan: update to new Compilation API
  * glibc: update to new Compilation API
  * update codegen.llvm references to bin_file.options
  * move dll_export_fns and rdynamic to Compilation.Config
  * fix more compilation errors introduced by this branch
  * linker: fix some allocator references
  * fix remaining compile errors except one
  * MachO: rip out the caching mechanism
  * Compilation: oops! used comp before init
  * std.fs.Dir.atomicFile: provide an option for make path
  * fix population of builtin.zig not making the parent dir
  * Elf: fix createEmpty not creating the file
  * Elf: fix invalid free of path field
  * compilation: fix build artifact communication from sub-compilation
  * fix compilation errors when enabling llvm
  * Compilation: don't store arena until it's done being used
  * linker: rename intermediary_basname to zcu_object_sub_path
  * fix entry symbol name on mips
  * fix memory leak in addModuleTableToCacheHash
  * fix --show-builtin when no positional argument is provided
  * frontend: fix handling of special builtin module
  * fix compilations without zig compilation units
  * std.Build.Step.Compile: restore previous step name
  * CLI: mark any_dyn_libs=true when encountering a shared object
  * CLI: fix regressed logic for any_dyn_libs
  * resolve error tracing logic at module creation time
  * std.Build.Step.Options: update unit test to new API
  * CLI: better error messages for bad args
  * CLI: rename clang_argv to cc_argv
  * zig build: pass resolved_target to Module.create
  * zig build: fix logic for extracting executable file from Compilation
  * CLI: fix not respecting module remappings
  * CLI: fix logic for sending output file path
  * CLI: update main usage text
  * update bootstrap scripts to new zig CLI
  * Compilation.Config.resolve: explicit error set
  * Package.Module: fix typo in default red-zone setting
  * Zcu: mark outdated decl handling as unreachable from only_c builds
  * link.Elf: truncate=true in createEmpty
  * link.Wasm: fix relationship between createEmpty/open
  * fix logic for default entry point
  * compiler: fix UAF when writing builtin.zig
  * frontend: skip astgen for builtin.zig
  * link.File.Coff: fix relationship between createEmpty/open
  * fix MachO linking
  * CLI: fix logic for zig test error message
  * link.File.Elf: bump 32-bit image_base default to 64K
  * frontend: fix "any" default resolution ambiguity
  * frontend: avoid spurious error when no zcu
  * frontend: remove deprecated field from Compilation
  * compiler: push entry symbol name resolution into the linker
  * Compilation: several branch regression fixes
  * std.Build.Step.Compile: support modules with different args
  * update zig1.wasm
  * zig build: reintroduce --prominent-compile-errors
  * std.Build: add error_tracing field to addExecutable and friends
  * update stack trace tests to account for new defaults
  * move force_undefined_symbols into Compilation
  * move eh_frame_hdr from link.File to Compilation
  * Compilation: consolidate module hashing code
  * Compilation: fix whole mode cache hash
  * glibc: fix crash from not setting owner module
  * Compilation: inline the flush function
  * frontend: make dll_export_fns=false on non-windows
  * move misc_errors from linker to Compilation
  * std.Build.Module: default CSourceFile flags to empty list
  * test.link.glibc_compat: fix invalid build system API usage
  * frontend: fix incorrect WebAssembly hasDebugInfo=false
  * link.File.Wasm: remove dead condition
  * Compilation: don't add importlib jobs when outputting C code
  * CLI: fix compilation on Windows
  * restore -fno-emit-bin -femit-llvm-ir functionality
  * std.Build.Step.Compile: fix search prefix lowering
  * frontend: fix populateTestFunctions accessing the wrong module
  * fix stack_iterator test build script
  * compiler: Compilation.Config: trivial refactor
  * std: disable failing test on macos
  * frontend: add logging to help troubleshoot builtin.zig write failures
  * Compilation: make create() take an arena allocator
  * Compilation: fix cache hash of incremental builds
  * frontend: ignore AccessDenied when writing builtin.zig
  * Compilation: rename before flush during whole cache mode
  * CI: update windows scripts to new CLI module syntax
  * CLI: introduce global -I args for C include paths
  * link: accept the update arena in flush
  * add standalone test for depending on the main module
  * disable standalone coff_dwarf test on aarch64-windows

  [ Samuel Nevarez ]
  * langref: order comment to align with code example

  [ arbrk1 ]
  * Liveness: fix branch operands becoming aliased

  [ Loris Cro ]
  * std.Build.Step.Run: fix depfile support

  [ sammy j ]
  * add support for lists when parsing user args

  [ Meghan Denny ]
  * std.ComptimeStringMap: allow getting kv index

  [ PanSashko ]
  * Fix std.enums.values

  [ Andrew Kelley ]
  * std.Build.Step.Compile: fix passing wrong Builder to getPath

  [ amp-59 ]
  * Sema: Added logic to avoid unchecked operations calling `preparePanicId` (#18416)

  [ Jacob Young ]
  * Reapply "Merge pull request #17824 from kcbanner/fixup_msvc_fmax"
  * cbe: fix non-msvc externs and exports

  [ xdBronch ]
  * add missing resolveStructFieldInits

  [ Karl Böhlmark ]
  * doc: Fix typos in bpf docs

  [ Carl Åstholm ]
  * Update `std.testing.expectEqual` and friends to use peer type resolution
  * Fix compile errors from the `expectEqual` change
  * Remove some `@as` coercions from assertions
  * Correct expected/actual parameter order of some assertions

  [ Andrew Kelley ]
  * compiler: fix build runner not added to cache hash

  [ Krzysztof Wolicki ]
  * Fix std.Build.findProgram

  [ amp-59 ]
  * Sema: fix crash compiling `@shlExact`

  [ Andrew Kelley ]
  * `@shlExact` fixups
  * build system: fix missing step dependencies on lib

  [ Ryan Liptak ]
  * Use `std.fs.path.relative` for `@import` and `@embedFile` sub paths

  [ Anubhab Ghosh ]
  * Enable gnu_f16_abi on x86_64

  [ xdBronch ]
  * speed up sliceTo when end == sentinel
  * fallback to zigs DynLib when static linking musl

  [ Carl Åstholm ]
  * sema: Prevent reifying non-empty union with empty tag type

  [ Abhinav Gupta ]
  * build/LazyPath: Add dirname (#18371)

  [ Kang Seonghoon ]
  * glibc: get correct files compiled into libc_nonshared.a
  * glibc: remove unused stat-related files for 2.33+

  [ Pat Tullmann ]
  * glibc: restore "weak_hidden_alias" macro for older glibc versions
  * std/fs/test.zig: Remove work-around for stat() failures on glibc
  * test/link/glibc_compat: test various older glibc versions
  * lib/libc/glibc/: Add README.md
  * src/target: Restrict usable glibc versions
  * glibc: strlcpy and strlcat arrived in glibc 2.38
  * test glibc_runtime_check: add strlcpy() check

  [ Andrew Kelley ]
  * minor cosmetic fixups

  [ Pat Tullmann ]
  * std.CompTimeStringMap*: support empty initialization list
  * std.fs: Add several more tests for makePath.

  [ Krzysztof Wolicki ]
  * autodoc: Reimplement array_mul after ZIR changes. Change some `var`s to `const` where possible. (#17939)

  [ Ryan Liptak ]
  * Dir.makePath: Document/test platform differences around .. component handling

  [ Veikka Tuominen ]
  * categorize `behavior/bugs/<issueno>.zig` tests

  [ Tristan Ross ]
  * Compilation: pass code model in buildOutputFromZig
  * std.Build: pass code model in various compile steps

  [ Carl Åstholm ]
  * Make `@typeInfo` return null-terminated strings
  * Work around stage1 not yet returning null-terminated `@typeInfo` strings
  * Fix failing type reifications
  * InternPool: Fix rare buffer overflow when initializing aggregate with sentinel

  [ Andrew Kelley ]
  * remove tool: update-license-headers

  [ Veikka Tuominen ]
  * llvm: optional slices cannot be passed in parts when they allowzero

  [ Eric Eastwood ]
  * Add approxEqAbs support for comptime_float

  [ Scott Schwarz ]
  * langref: reword Hello World section (#18458)

  [ Wooster ]
  * general-use std.debug.hexdump for printing hexdumps
  * std.testing.expectEqualSlices: some improvements

  [ Andrew Kelley ]
  * fixups from previous commit

  [ Jeremy Volkman ]
  * Use a fixed chunk size when calculating MachO UUID

  [ Andrew Kelley ]
  * update mingw-w64 headers to latest git commit
  * add tool for updating mingw crt files
  * mingw-w64: update CRT files to latest git commit
  * mingw: update from msvcrt to ucrt
  * mingw: add comments so that I don't regress this code later
  * Compilation: add definition to prefer ucrt for windows C/C++ files
  * add config.h
  * update-mingw tool: add config.h to whitelist
  * Compilation: only add __MSVCRT_VERSION__ for -lc
  * mingw: add the mingw stdio functions back
  * mingw: add the build logic for the previous commit
  * CI: update windows tarballs for mingw upgrade
  * mingw: remove pow.c from aarch64-windows mingw builds
  * CI: update aarch64-windows tarball
  * lift artificial restriction on minimum glibc version

  [ Amir Alawi ]
  * fix std.fs.Dir.makePath silent failure (#16878)

  [ Carl Åstholm ]
  * Build: Use `LazyPath` for version scripts

  [ Ali Chraghi ]
  * add type safety to ZIR for null terminated strings

  [ Andrew Kelley ]
  * compilation: fix bad path in error message
  * std.Build.Step.Compile: fix link object paths
  * langref: update target section

  [ dweiller ]
  * zir: remove unused zir as instruction
  * zir: add switch_block_err_union
  * sema: refactor error set switch logic
  * astgen: use switch_block_err_union
  * sema: implement switch_block_err_union on comptime operands
  * sema: extract runtime switch AIR generation to function
  * sema: implement runtime switch_block_err_union
  * sema: allow maybeErrorUnwrap to handle err_union_code
  * sema: fix err union switch with inferred empty error sets
  * fix x86_64 crashes for switch_block_err_union
  * astgen/sema: use switch_block_err_union for if-else-switch
  * langref: mention error union switch peer resolution
  * astgen/sema: fix source locations for switch_block_err_union
  * test: add tests for switch_block_err_union
  * sema: inherit block want_safety for err switch union
  * fixup! astgen: use switch_block_err_union

  [ David Rubin ]
  * Optimized `std.mem.eql` with SIMD (#18389)

  [ joachimschmidt557 ]
  * stage2 AArch64: get empty file compiling again

  [ dhash ]
  * Add support for `--(no-)undefined-version`

  [ Carl Åstholm ]
  * Add tests for `--undefined-version`
  * update_cpu_features: Support omitting deps
  * Override incorrect ARM Cortex-M series CPU feature definitions
  * Re-run update_cpu_features (LLVM 17)

  [ Joel Gustafson ]
  *  ignore charset and boundary directives in content-type headers when fetching dependencies

  [ PauloCampana ]
  * Add std.math.gamma and lgamma (#18449)

  [ Bogdan Romanyuk ]
  * AstGen: add error for redundant comptime var in comptime scope (#18242)

  [ Matthew Wozniak ]
  * add ability to open dlls with platform-specific flags (#18370)

  [ Veikka Tuominen ]
  * std.heap: add runtime safety for calling `stackFallback(N).get` multiple times

  [ Andrew Kelley ]
  * std.mem: fix simd.suggestVectorLength merge conflict
  * Compilation: fix tsan error reporting
  * libcxx: fix not passing any_sanitize_thread correctly
  * tsan: update rtl files to LLVM 17.0.6
  * tsan: update build logic for tsan from llvm 17.0.6
  * tsan: use explicit error set

  [ february cozzocrea ]
  * translate-c: float cast from boolean expr fix

  [ Andrew Kelley ]
  * zig build: handle stderr more elegantly
  * langref: document inline functions
  * LLVM: fix lowering of extern anyopaque
  * langref: fix typo

  [ Luuk de Gram ]
  * wasm-linker: ensure custom sections are parsed
  * wasm-linker: delay code atom allocation till write
  * wasm-linker: fix debug info relocation

  [ Meghan Denny ]
  * std: make c.versionCheck() a comptime-known function

  [ Chris Boesch ]
  * Fixed verbatim copy of trailing '%' in unescapeStr

  [ Meghan Denny ]
  * sema: forbid asm output to const locals

  [ Michael Scott ]
  * Update styles in std docs to correct display glitch

  [ Jacob Young ]
  * std.io.GenericReader: add missing error annotations

  [ Igor Anić ]
  * tar: refactor code to be more testable
  * tar: refactor Buffer
  * tar: add initial test cases
  * tar: add pax linkpath attribute parsing
  * tar: refactor reader and iterator
  * tar: add parsing size in gnu extended format
  * tar: fix import path
  * tar: add header chksum checking
  * tar: handle pax null attrs and pax attr ending
  * tar: add gnu path and link extensions handling
  * tar: refactor reading pax attributes
  * tar: use scratch buffer for file names
  * tar: use Go test cases path from env variable
  * tar: prefix test cases with 'tar'
  * tar: add file mode to result of tarbal iteration
  * tar: add pax file reader tests
  * tar: add module comment and references
  * tar: replace custom buffered reader with std.io
  * tar: refactor pax attribute
  * tar: remove stratch from  tar reader
  * tar: use file word in less places
  * tar: reorganize file, functions before tests
  * tar: add Go test case files to the project
  * tar: move test cases to std/tar/testdata
  * tar: fix tests on 32-bit platforms
  * tar: use @embedFile in tests
  * tar: rename reader to iterator
  * tar: improve diagnostic reporting

  [ Andrew Kelley ]
  * build.zig: don't install testdata

  [ Guillaume Wenzek ]
  * fix #17142, wrong comptime log_int computation

  [ Nameless ]
  * std.Uri: fix implementation of resolve with trailing slashes
  * std.http: add missing documentation and a few examples

  [ vinnichase ]
  * Fix fmt UTF-8 characters as fill (#18533)

  [ Ryan Liptak ]
  * std.ArrayList: Clarify that ensureTotalCapacity/ensureTotalCapacityPrecise will never shrink the array

  [ F3real ]
  * Don't crash or CR/LF line endings in docgen

  [ Carl Åstholm ]
  * Expose `-f(no-)formatted-panics` to the build system (again)

  [ Andrew Kelley ]
  * Revert "Merge pull request #18410 from dweiller/by-length-slice-bug"

  [ Stephen Gregoratto ]
  * Add `fchmodat2` to the Linux syscall list
  * Add fchmodat2 bits to os/linux.zig
  * Linux: Add fchmodat fallback when `flags` is nonzero
  * Rework fchmodat tests

  [ Andrew Kelley ]
  * std.os: proper use of inline

  [ Krzysztof Wolicki ]
  * autodoc: Rename Module (Compilation Module) to Zcu in preparation for big rename

  [ emberfade ]
  * langref: Fix example for Generic Data Structures

  [ jimying ]
  * libcxx:  only pass -DHAVE___CXA_THREAD_ATEXIT_IMPL for glibc >=2.18
  * Fix minor error: std.ChildProcess.exec() already rename to run()

  [ Krzysztof Wolicki ]
  * mingw: Add missing misc/mingw-access.c and misc/ucrt-access.c

  [ Jakub Konka ]
  * elf: check for and report duplicate symbol definitions
  * test/link/elf: trigger build system bug testing relocatable mode
  * std/Build/Step/Compile: do not propagate deps of complex addObject step

  [ Jan200101 ]
  * std.zig.system.NativePaths: add NixOS lib dirs to the rpath
  * compiler: move each_lib_rpath to frontend

  [ Jakub Konka ]
  * test/link/elf: patch up relocatable test

  [ dweiller ]
  * sema: allow slicing *T with comptime known [0..1]

  [ expikr ]
  * std.math: add `wrap` function (#18154)
  * Update atan2.zig (#17840)

  [ Tristan Ross ]
  * mem: add byteswap array support (#17959)

  [ expikr ]
  * use Peer Type Resolution for standalone complex fn
  * Update pow.zig

  [ Andrew Kelley ]
  * std.os.linux.io_uring: fix compilation errors
  * Sema: fix compilation errors

  [ David Rubin ]
  * add `SHT_NOBITS` check

  [ Jacob Young ]
  * Sema: fix `@extern` decls

  [ Andrew Kelley ]
  * update test case for new const/var compile error

  [ Stephen Gregoratto ]
  * Linux: Update syscalls for the 6.7 release
  * Linux: Add syscall bindings, enhance documentation.

  [ dweiller ]
  * sema: fix OOM bug when constructing error messages
  * test/behavior: replace all 'comptime expect' with 'comptime assert'
  * test/behavior: fix test type check for multi-ptr slice

  [ cipharius ]
  * Accepts generic application/x-compressed in package fetch
  * Permits tar directory path without trailing slash

  [ Techatrix ]
  * AstGen: add error message for capture error by ref in switch on error
  * AstGen: properly handle ill-formed switch on error

  [ notcancername ]
  * std.array_list: Document and reduce illegal behavior in ArrayLists

  [ Andrew Kelley ]
  * std.ArrayList: pedantic rewordings of documentation and unit tests

  [ Krzysztof Wolicki ]
  * Allow multiple options using the same enum type

  [ xEgoist ]
  * child_process: Add write access to the null handle
  * child_process: Use security attributes while creating handle.

  [ Andrew Kelley ]
  * std: remove deprecated API

  [ february cozzocrea ]
  * translate-c: Fix for compound assign implicit cast error
  * translate-c: Explicit cast bool from float fix

  [ travisstaloch ]
  * AstGen: use correct token_src for switch, if and while exprs

  [ Piotr Szlachciak ]
  * Add missing != null operator
  * Move the extern paragraph to a more logical place
  * Move the paragraph to under variables

  [ Purrie ]
  * tls client interface consistency fix

  [ Pat Tullmann ]
  * std/fs/test.zig: quote . and .. in test names
  * std/fs/test.zig: Factor out the symlink-creation wrappers
  * std/fs/test.zig: Try harder to clean up locking files
  * std/fs/test.zig: Add statFile() tests of dangling symlink

  [ melonedo ]
  * Fix TLS record overflow by limiting inner record length to 2^14

  [ ocrap7 ]
  * Skip all dbg instructions

  [ Jay Petacat ]
  * byos: Ease `GeneralPurposeAllocator` integration

  [ Loris Cro ]
  * Build: add namedWriteFiles to Build

  [ Techatrix ]
  * sema: fix safe integer arithmetic operations on undefined values

  [ dweiller ]
  * astgen: fix error return trace on error union switch

  [ David Rubin ]
  * add type check to `zirSwitchBlockErrUnion`

  [ dweiller ]
  * test/stack_traces.zig: add err union switch case

  [ Krzysztof Wolicki ]
  * std.Uri: change specifier for printing with scheme to semicolon `;`

  [ Nameless ]
  * std.http.Client: read response messages with no length until eof

  [ Sebastien Marie ]
  * openbsd: add proper support for aarch64

  [ Erik Arvstedt ]
  * std.ArrayList: remove `+ 1` overflow checks
  * std.ArrayList.replaceRange: remove unneded overflow checks

  [ Andrew Kelley ]
  * langref: delete Nested Container Tests section
  * langref: avoid the ambiguous word "safe"
  * langref: update Zig Build System section
  * zig build: add doc comments for functions related to options
  * langref: extract code comments into paragraphs

  [ Emil Tywoniak ]
  * libcxx: fix C++ builds with glibc <2.16 without aligned_alloc

  [ David Rubin ]
  * return optional state to `zirPtrCastNoDest`

  [ Gordon Cassie ]
  * std.ArrayList: add replaceRangeAssumeCapacity method

  [ Andrew Kelley ]
  * std.ArrayList: pedantic fixups to previous commit

  [ Meghan Denny ]
  * do not enforce function parameters to be marked comptime if only called at comptime

  [ Elaine Gibson ]
  * mingw-w64: add missing CRT sources
  * mingw-w64: remove msvcrt sources
  * mingw: update build logic

  [ Andrew Kelley ]
  * Compilation: avoid caching root source file twice
  * CLI: introduce -M; deprecate --mod
  * std.Build.Compile: handle modules sans root source files

  [ hdert ]
  * std/math/pow: Fix #18553, isOddInteger: Return false if float value is greater than 1 << 53 (see comment), add test cases

  [ Xavier Bouchoux ]
  * zig cc: expose clang precompiled C header support

  [ expikr ]
  * std.math: make hypot infer type from argument (#17910)

  [ David Rubin ]
  * AstGen: detect duplicate field names

  [ Veikka Tuominen ]
  * Sema: replace uses of `toUnsignedInt` with `toUnsignedIntAdvanced`

  [ MrDmitry ]
  * Fix last_index after variable substitution
  * Extend test cases

  [ Christiano Haesbaert ]
  * Handle all errors on std.net.Ipv4address.resolveIP

  [ Ian Johnson ]
  * langref: add information about doctests

  [ Andrew Kelley ]
  * langref: explicitly mention inline combined with multiple cases
  * std.fmt: clarify the use of "character"
  * Revert "langref: emphasize the use of dereferencing string literals"
  * langref: simplify Hello World section
  * Revert "langref: add section numbers"
  * langref: remove line numbers from code samples
  * langref: reduce verbosity of string literal section
  * langref: clean up the table of operators
  * langref: make more consistent

  [ Tristan Ross ]
  * std.io: replace readStructBig with readStructEndian

  [ Littleote ]
  * Free threads in std.Thread.Pool.init only with pool.join

  [ ndbn ]
  * Fix wrong if condition for windows (#18637)

  [ Veikka Tuominen ]
  * Sema: implement comptime error return traces

  [ jacwil ]
  * objcopy ofmt=hex iterates through segments instead of sections

  [ Tristan Ross ]
  * std.process: return u64 in totalSystemMemory

  [ Andrew Kelley ]
  * Sema: use Sema.typeAbiSize rather than Type.abiSize

  [ Khang Nguyen Duy ]
  * std.fmt: fix unecessary deref on user-defined format function

  [ mlugg ]
  * Zir: represent declarations via an instruction
  * InternPool: introduce TrackedInst

  [ Winter ]
  * std.zig.system.NativePaths: ignore linkage directives in `NIX_LDFLAGS`

  [ Andrew Kelley ]
  * NativePaths: support -L and -l arguments in NIX_LDFLAGS

  [ Krzysztof Wolicki ]
  * os.windows: Fix error 258 name in Win32Error

  [ Rahul Prabhu ]
  * Don't assume a write if an operand is not in function parameters

  [ Andrew Kelley ]
  * Revert "Don't assume a write if an operand is not in function parameters"

  [ Jakub Konka ]
  * macho: copy over new implementation sources from zld
  * macho: get the ball rolling!
  * macho: re-enable --verbose-link
  * macho: parse an input object file!
  * macho: create scaffolding for parsing different input objects
  * macho: parse archives
  * macho: parse dylibs
  * macho: parse tbds
  * macho: prep for dylib deps (no resolution yet)
  * macho: init InternalObject and add forced undefined globals
  * macho: resolve symbols and mark files live
  * macho: resolve synthetic symbols
  * macho: convert tentative defs and create objc sections
  * macho: claim unresolved symbols
  * macho: handle dead stripping of atoms
  * macho: mark imports and exports
  * macho: dead strip dylibs
  * macho: set dylib ordinals after pruning
  * macho: report undefined symbols to the user
  * macho: init output and synthetic sections
  * macho: sort sections; use Atom.Alignment for alignment; init segments
  * macho: allocate sections, segments and atoms
  * macho: write to file
  * macho: report duplicate symbols
  * macho: re-instate build-obj codepath
  * macho: fix dead stripping logic to exclude debug sections
  * macho: parse dependent dylibs
  * macho: fix section boundary symbols test
  * macho: preserve section name for code sections
  * test/link/macho: migrate entry_in_dylib test to new test format
  * macho: fix invalid generation of FDE records
  * test/link/elf: make invalid input file test less janky
  * test/link/macho: upgrade and migrate dead_strip test
  * test/link/macho: fix naming in entry-in-dylib test
  * test/link/macho: test segment boundary symbols
  * test/link/link: pass build options to elf and macho tests
  * test/link/macho: upgrade and migrate needed_library test
  * test/link/macho: test for correct handling of __mh_execute_header symbol
  * test/link/macho: test for correct handling of large __bss sections
  * test/link/macho: test hello world in Zig
  * test/link/macho: test hello world in C
  * test/link/macho: test setting correct weak* flags in the header
  * test/link/macho: upgrade and migrate headerpad test
  * test/link/macho: test weak binding
  * test/link/macho: upgrade weak library test
  * test/link/macho: upgrade weak framework test
  * test/link/macho: test -u flag handling (forceUndefinedSymbol)
  * test/link/macho: test large .tbss section
  * test/link/macho: test twolevel namespacing
  * test/link/macho: test thunks on arm64
  * test/link/macho: upgrade tls test
  * test/link/macho: test tentative definitions
  * test/link/macho: test -r mode
  * test/link/macho: upgrade dead_strip_dylibs test
  * macho: print all definitions of symbols when printing duplicates
  * macho: remove all rpath parsing from the linker
  * test/link/macho: upgrade dylib test
  * test/link/macho: upgrade empty object test
  * test/link/macho: upgrade entry and entry in archive tests
  * test/link/macho: upgrade strict validation of layout test
  * test/link/macho: test attribute "used" on vars in presence of dead_strip
  * test/link/macho: test no exports in a dylib
  * test/link/macho: test force-loading objects containing ObjC from archives
  * test/link/macho: use .root_module. instead of wrappers where possible
  * test/link/macho: test objc msgsend selector stubs
  * test/link/macho: revert testing objc msgsend stubs - no way of enabling in clang
  * test/link/macho: test pagezero size
  * test/link/macho: remove converted standalone tests
  * test/link/macho: test re-exports in zig
  * test/link/macho: upgrade search strategy test
  * test/link/macho: test stacksize option
  * test/link/macho: upgrade unwind info tests
  * test/link/macho: upgrade tbdv3 test
  * test/link/macho: migrate all tests to the new test matrix
  * macho: introduce ZigObject
  * macho: move all unimplemented function stubs into ZigObject
  * macho: patch up more holes with ZigObject
  * macho: forward parsed -compatibility_version to the linker
  * macho: split symbol.flags.got into needs_got and has_got
  * macho: create Atom for Decl in ZigObject
  * macho: init metadata and partially implement updateDecl
  * macho: re-implement updateDeclCode
  * macho: add __zig_got section implementation
  * macho: init metadata for incremental linking
  * macho: set alignment of pre-allocated sections
  * macho: implement more self-hosted primitives
  * macho: implement growSection mechanism
  * macho: fill in more blanks in ZigObject
  * macho: fill in more blanks in ZigObject
  * macho: fill the rest of ZigObject
  * codegen: re-enable MachO support in genDeclRef
  * codegen: re-implement enough of codegen to error out instead panic
  * codegen: implement more missing bits
  * macho: implement ZigObject.flushModule
  * macho: let us dump some state and debug!
  * macho: set atom_index for newly created Atom in ZigObject
  * macho: implement resolveSymbols in ZigObject
  * macho: fix symbol index dereference in codegen wrt ZigObject
  * macho: again fix symbol index dereference in codegen wrt ZigObject
  * macho: fix '_' prefixing rules for exports
  * macho: allocate sections and segments that need it
  * macho: init linkedit segment separately
  * macho: allocate __LINKEDIT in a separate pass
  * macho: reserve space for __got_zig rebase opcodes
  * macho: re-read atom code from ZigObject when resolving relocs
  * macho: resolve relocs pointing at __got_zig
  * macho: fix not resetting __got_zig sect index after sorting headers
  * macho: refactor segment creation logic
  * macho: move incr Zig sections in file if overlap nonincr sections
  * macho: get rid of allocateSegments
  * macho: prep for lowering TLS variables
  * macho: get start index of Zig sections when allocating other sections
  * macho: save TLS variables in ZigObject
  * x86_64: save TLS to stack for MachO
  * x86_64: emit MachO TLV sequence
  * macho: fix wrong symbol type for TLV vars
  * macho: actually lower TLS variables
  * macho: ensure we zero-out regions after copying them over
  * build: bump maxrss
  * macho: do not enforce platform check for now
  * macho: fix 32bit compilation issues
  * test/link/macho: ensure we do not run testStackSize on foreign host
  * build: bump max_rss for building the compiler again
  * macho: allocate segments in sep step and tweak sorting logic
  * macho: synthesise unwind records from __eh_frame even if no __compact_unwind
  * macho: exclude symbols from empty sections when parsing unwind info
  * macho: skip -r when single input object file
  * macho: set filename as ident in code signature
  * build: bump max_rss for building the compiler again
  * macho: add misc fixes targeting macos 11
  * macho: clean up logic for deciding if needs __stub_helper
  * std.macho: add segment flags
  * macho: set __DATA_CONST* segments flags to SG_READ_ONLY
  * macho: print tried paths for unresolved dylib deps
  * macho: try frameworks before libs non-exclusive
  * macho: dump print search lib and framework dirs in --verbose-link
  * macho: refactor resolving libs and frameworks when searching dependent dylibs
  * macho: unify accessLibPath with accessLibPath2

  [ Markus F.X.J. Oberhumer ]
  * glibc: move __GLIBC__ version defines to the top of the file
  * glibc: use __GLIBC_USE_DEPRECATED_SCANF for glibc versions < 2.7

  [ Jakub Konka ]
  * elf:  merge all mergeable string rodata sections into one

  [ Jacob Young ]
  * Compilation: preserve "builtin" as the first dependency

  [ Krzysztof Wolicki ]
  * Sema: tuples have no names to be used for reporting errors in finishStructInit

  [ Zachary Raineri ]
  * std.os.wasi | Fix comment links

  [ Tobias Simetsreiter ]
  * align naming and fix module creation from TranslateC

  [ Meghan Denny ]
  * test: add behavior coverage for global setter in function liveness

  [ MrDmitry ]
  * Extend standalone tests for cmakedefine
  * Rewrite replace_variables with CMake-specific version
  * Remove unused test file
  * Add escaped character processing
  * Minor formatting, removed duplicate test case
  * Get rid of direct dependency on std.fmt

  [ Pavel Verigo ]
  * parser: fix "else" followed by "comptime"

  [ Krzysztof Wolicki ]
  * os.windows: Fix missing correction from #18657

  [ Veikka Tuominen ]
  * std: remove meta.globalOption

  [ Jakub Konka ]
  * macho: do not allocate input files in full
  * macho: move getAtomData switch into Atom
  * build: reduce max rss back down to 7GB
  * macho: insert global symbol name into the correct strtab
  * macho: fix 32bit builds

  [ Pavel Verigo ]
  * Sema: fix casting runtime value to enum with comptime int tag type

  [ Jakub Konka ]
  * macho: dedup -o flag from --verbose-link output
  * macho: re-enable emitting empty dSYM bundle
  * macho: re-enable dSYM but don't write anything to it yet
  * macho: re-instate writing DWARF into dSYM
  * macho: reset Zig-tracked section handles

  [ Veikka Tuominen ]
  * Sema: do not emit `@errorCast` safety check when dest is adhoc inferred error set
  * Value: expand `canMutateComptimeVarState`
  * llvm: fix alignment of array ptr when bitcasting vector

  [ Jakub Konka ]
  * macho: flush Dwarf module before flushing dSYM
  * ci: re-enable reproducibility for x86_64-macos

  [ Christian Flicker ]
  * std.Thread: fix off-by-one in PosixThreadImpl (#18711)

  [ Veikka Tuominen ]
  * llvm: revert bad array access optimization

  [ SuperAuguste ]
  * Fix some comptime packed struct issues

  [ Ian Johnson ]
  * Apply cflags from pkg-config to all dependent modules

  [ Jacob Young ]
  * gzip: implement compression

  [ Ian Johnson ]
  * Add type-erased writer and GenericWriter
  * Eliminate generic duplication in `allocPrint`
  * Introduce type-erased writers to C backend codegen

  [ Veikka Tuominen ]
  * llvm: ensure returned undef is 0xaa bytes when runtime safety is enabled

  [ Krzysztof Wolicki ]
  * std.os: fix chdirZ to compile on Windows (#18695)

  [ Constantin Pestka ]
  * std: add docs about return value of submit() (#18721)

  [ Jiacai Liu ]
  * fix(autodoc): avoid panic when module not found (#18699)

  [ Pavel Verigo ]
  * Sema: fix union init with zero size field

  [ Jakub Konka ]
  * macho: improve weak-ref symbols handling
  * macho: fix parsing versions from TBDs if parsed as floats

  [ Gustavo C. Viegas ]
  * std.Build.Step.TranslateC: fix use of outdated Module in createModule

  [ danielsan901998 ]
  * Use mem.zeroes for empty union initializer list

  [ Jakub Konka ]
  * macho: improve error msg when relaxing GOT fails
  * x86_64+macho: emit .got instead of .got_load relocs

  [ Jacob Young ]
  * http: support basic access authentication
  * http: avoid allocator use when encoding basic authorization
  * http: optimize allocations for proxy basic authorization

  [ Veikka Tuominen ]
  * std: make options a struct instance instead of a namespace
  * std.start: remove event loop integration
  * Module: remove dependency handling of test function array
  * std: change return type of `wasiCwd`
  * remove std.event
  * remove std.io.Mode
  * langref: fix error set order

  [ mlugg ]
  * std: eliminate some uses of `usingnamespace`

  [ Andrew Kelley ]
  * std: remove garbage being printed to stderr during unit tests

  [ mlugg ]
  * InternPool: use separate key for slices

  [ Jakub Konka ]
  * cli+build: handle -ObjC flag and route it to MachO linker

  [ Jacob Young ]
  * tls: support ed25519 signatures

  [ Ryan Liptak ]
  * fs tests: Make path type show up in stack traces of testWithAllSupportedPathTypes

  [ Andrew Kelley ]
  * build system: introduce system library integration
  * CLI: add --host-target, --host-cpu, and --host-dynamic-linker
  * std.Target.Query: avoid using builtin.target.abi
  * std.Build: implement --host-target, --host-cpu, --host-dynamic-linker
  * std.Build: revert moving some fields to Graph
  * std.Build: make system library integrations more general
  * std.Build.resolveTargetQuery: fix ignoring ofmt for native
  * build system: implement --release[=mode]
  * build system: implement --system [dir]
  * std.Build: make systemIntegrationOption take a default
  * std.process.Child: use unreachable instead of `@panic`
  * build system: implement lazy dependencies, part 1
  * CLI: implement 'zig build' lazy dependency fetching
  * Compilation: delete clang diag files afterwards
  * zig build: avoid using stdout for communication with runner
  * std.Build: use a runtime panic for wrong dependency API
  * CLI: use dummy http client when bootstrapping

  [ Jakub Konka ]
  * macho: emit incomplete object file
  * macho: pre-alloc sections in -r mode
  * macho: allocating space in .o
  * macho: use findFreeSpace for all sections
  * macho: emit relocs for ZigObject
  * macho: make atom address relative wrt defining section
  * macho: minor fixes and sanitize input *_zig segment/sections names
  * macho: fix remaining references to Atom.value
  * macho: migrate thunks to use new relative addressing mechanism
  * macho: refactor growSection logic; remove -r limitation for ZigObject
  * macho: refactor section/segment handle tracking logic
  * test/link/macho: add some smoke tests for self-hosted MachO
  * test/link/macho: test for signals only when running on the host

  [ David Rubin ]
  * Add error hint when looping over `ErrorUnion`
  * Fix OOB when enum field out of order in different file

  [ Chadwain Holness ]
  * std.fmt: fix formatting slices of structs with custom formatting

  [ lockbox ]
  * fix typo in wasm atomic opcodes doc comment

  [ Jacob Young ]
  * Cache: fix logic for retrying cache hits
  * stage1: implement fd_fdstat_get
  * bootstrap.c: allow overriding the host triple

  [ Jakub Konka ]
  * macho: sanitize Zig sections segment names before emitting a relocatable

  [ Robin Voetter ]
  * std: use simple eqlBytes for spirv
  * spirv: sh[rl](_exact)?
  * spirv: element-wise operation helper
  * spirv: use new vector stuff for arithOp and shift
  * spirv: vectors for air not
  * spirv: shlWithOverflow
  * spirv: reduce, reduce_optimized
  * spirv: vectorize add/sub overflow
  * spirv: wrap strange its before instead of after operation
  * spirv: clean up arithmeticTypeInfo a bit
  * spirv: air int_from_bool
  * spirv: air mul_add
  * spirv: air is_(non_)null_ptr, optional_payload_ptr
  * spirv: vectorize int_cast, trunc
  * spirv: vectorize max, min
  * spirv: fix shuffle properly
  * spirv: air abs
  * spirv: air splat
  * spirv: update tests
  * spirv: air vector_store_element

  [ mlugg ]
  * compiler: re-introduce dependencies for incremental compilation
  * Zir: store extra source hashes required for incremental
  * Zcu: more dependency tracking logic
  * Zcu: incremental compilation improvements
  * Zcu: refactor Decl.analysis field
  * compiler: lock incremental dependency tracking behind --debug-incremental

  [ Jakub Konka ]
  * macho: add <cpu_arch>-macosx to target strings as a fallback target

  [ Jacob Young ]
  * x86_64: fix errors compiling the compiler
  * x86_64: fix miscompilations on baseline
  * compiler_rt: avoid referencing symbol on versions where it doesn't exist

  [ Ali Chraghi ]
  * spirv: basic shader support
  * spirv: emit vectors whenever we can
  * spirv: support enum integer values in Assembler
  * std: add gpu namespace

  [ Samuel Fiedler ]
  * Make EfiPhysicalAddress in std/os/uefi/tables.zig public

  [ Andrew Kelley ]
  * compiler: flatten Value struct
  * compiler: rename value.zig to Value.zig
  * compiler: make Value's self reference non pub
  * delete bad behavior test

  [ David Rubin ]
  * add the `clflush` mnem

  [ iwVerve ]
  * langref: fix missing word typo

  [ Jakub Konka ]
  * macho: store open file descriptors in a global array
  * x86_64+macho: pass more behavior tests

  [ David Rubin ]
  * Make `@intFromEnum` an error for empty enums

  [ Pyry Kovanen ]
  * x86: remove final vestiges of mir_to_air (#18836)

  [ Manlio Perillo ]
  * compiler: remove unnecessary pub declarations in main.zig

  [ Jacob Young ]
  * Builder: fix memory leaks

  [ Andrew Kelley ]
  * std.os.linux.MAP: use a packed struct
  * std.c.MAP: use a packed struct

  [ Jacob Young ]
  * Elf: fix memory leaks
  * link: report function failures in `FuncAnalysis`

  [ Ian Kerins ]
  * doc: fix typo in getEnvMap

  [ Jakub Konka ]
  * macho: move static lib flushing logic into Archive
  * macho: refactor markExports, markImportsExports and claimUnresolved
  * macho: move static lib emitting logic to relocatable.zig
  * macho: read-in committed ZigObject to memory from file
  * macho: populate output archive symtab
  * macho: emit an archive
  * macho: fix writing SYMDEF symtab size
  * macho: fix invalid ZigObject size calculation
  * macho: parse input object files specifically for incl in archive
  * macho: remove fallback to llvm-ar

  [ Craig O'Connor ]
  * Add lowerBound/upperBound/equalRange

  [ John Schmidt ]
  * Changes to lowerBound/upperBound/equalRange

  [ Jakub Konka ]
  * macho: fix 32bit builds
  * macho: use preadAll to read in object files when emitting archive

  [ Jacob Young ]
  * http: protect against zero-length chunks

  [ Jakub Konka ]
  * macho: move Dwarf handle to ZigObject from DebugSymbols
  * macho: in relocatable mode, macho emit __DWARF directly
  * macho: couple small fixes
  * macho: alloc improvement for relocatable

  [ e4m2 ]
  * std.rand: Move to std.Random
  * Replace std.rand references with std.Random
  * Update rand.zig source file name for CMake
  * Fixup filename casing

  [ Jakub Konka ]
  * macho: fix incorrect skip conditions for zig and dwarf sections
  * test/link/macho: -fstrip is no longer needed for self-hosted

  [ John Schmidt ]
  * Preserve field alignment in union pointer captures
  * Improvements after code review
  * Polish a few tests in switch.zig

  [ Jakub Konka ]
  * builtin: enable panic handler on self-hosted macho
  * macho: do not close file on error - it will happen automatically anyhow
  * macho: fix alignment of objects in archive
  * test/link/macho: more self-hosted tests
  * macho: align memory size with file size when emitting relocatable

  [ Ali Chraghi ]
  * spirv: merge `construct(Struct/Vector/Array)` into `constructComposite`
  * spirv: make rusticl the primary testing implementation

  [ Jakub Konka ]
  * macho: undo invalid fix for allocating sections for relocatable
  * ci: enable testing of non-llvm bootstrapping on x86_64-macos

  [ Ali Chraghi ]
  * spirv: emit vectorized operations

  [ Tristan Ross ]
  * test.link.macho: fix for non-x86 and arm architectures

  [ Ryan Liptak ]
  * Mark .zon as eol=lf

  [ cdrmack ]
  * remove unused local variables

  [ Veikka Tuominen ]
  * Sema: catch runtime stores to comptime variables through calls

  [ Prokop Randacek ]
  * Buffer the logging function

  [ Ali Chraghi ]
  * spirv: remove now-redundant isUnused calls from AIR handler functions

  [ Jakub Konka ]
  * macho: include compiler-rt in static lib if requested

  [ Vlad Pănăzan ]
  * linux: add missing io_uring opcodes
  * io_uring: add waitid operation

  [ Luuk de Gram ]
  * wasm: correctly lower packed structs in arguments

  [ Andrew Kelley ]
  * some API work on std.c, std.os, std.os.wasi
  * TypedValue: fix printing some nested things
  * CI: update wasmtime to v10.0.2
  * add behavior test for recently fixed wasm backend bug

  [ Jacob Young ]
  * x86_64: implement mul, div, and mod of large integers
  * x86_64: fix incorrect alignment check
  * x86_64: implement `ret_safe`
  * x86_64: fix packed load
  * x86_64: fix assert location
  * x86_64: implement `@abs` of big integers
  * x86_64: implement c abi for bool vectors
  * x86_64: fix register clobber
  * x86_64: implement shifts of big integers
  * x86_64: fix compiler_rt tests
  * x86_64: implement `@byteSwap` of big integers
  * x86_64: implement `@clz` and `@ctz` of big integers

  [ Andrew Kelley ]
  * std.c.O: fix illumos regression

  [ Veikka Tuominen ]
  * Sema: add declared here notes in `fail`

  [ CPestka ]
  * Replaced loop with memcpys

  [ Jakub Konka ]
  * elf: do not prealloc input objects, pread selectively
  * elf: move code paths responsible for emitting object and archive into relocatable module

  [ Andrew Kelley ]
  * std: add type safety to cc_t
  * std.c.cc_t: consolidate same OS values
  * std.c.NCSS: consolidate and correct

  [ Jakub Konka ]
  * elf: refactor archive specific object parsing logic

  [ Andrew Kelley ]
  * std.os.termios: consolidate and correct
  * std.os.termios: add type safety to iflag field
  * std.os.termios: add type safety to oflag field
  * std.os.termios: add type safety to cflag field
  * std.os.termios: add type safety to lflag field
  * std.os.speed_t: add type safety
  * std.c.speed_t: consolidate common across os
  * std.os.termios: move it to be with the group

  [ Jakub Konka ]
  * elf: fix 32bit build

  [ Felix Kollmann ]
  * Add `timedWait` to `std.Thread.Semaphore` (#18805)

  [ Jakub Konka ]
  * elf: scrap reader for preads when parsing archives
  * macho: scrap reader for preads when parsing archives
  * elf: store relative offsets in atom and symbol
  * elf: use u32 for all section indexes

  [ Andrew Kelley ]
  * std.posix.termios: bring V back

  [ Paul Berg ]
  * wasm: allow non-int vectors

  [ Loris Cro ]
  * autodoc: fix analysis of closure_get instructions

  [ Igor Anić ]
  * add deflate implemented from first principles
  * set testdata as binary

  [ Jacob Young ]
  * x86_64: fix crash loading a packed value from a spilled pointer

  [ Igor Anić ]
  * fix reading input stream during decompression
  * fix wording in comment
  * fix top level docs comments
  * skip calculating struct sizes on 32 bit platforms

  [ Andrew Kelley ]
  * std.os.windows.OpenFile: add missing error

  [ Igor Anić ]
  * remove testing struct sizes
  * preserve valuable tests from v1 implementation
  * remove v1 deflate implementation
  * reorganize compress package root folder

  [ Jakub Konka ]
  * lib/std/elf: add aarch64 relocation kinds

  [ Igor Anić ]
  * skip failing wasm tests

  [ Tim Culverhouse ]
  * std.os: export T struct and winsize struct

  [ Michael Dusan ]
  * bsd: debitrot type-safe std.c.O
  * std.os.termios: fix tc flag types for macos
  * std.os.termios: add/fix std.c.TCSA for BSDs

  [ tjog ]
  * std.Build: fix wrong variable used in `parseTargetQuery`

  [ Jacob Young ]
  * llvm: fix lowering of recursive debug info

  [ Paul Berg ]
  * wasm: enable bool vectors tests for stage2_llvm
  * c_abi: add vector tests for floats

  [ Ali Chraghi ]
  * spirv: use extended instructions whenever possible
  * spirv: add capability to compile with x86_64 backend
  * test: skip new failing tests for spirv

  [ Andrew Kelley ]
  * disable flaky C backend test
  * std.os.windows: add error.UnrecognizedVolume

  [ Jacob Young ]
  * InternPool: make more use of `NullTerminatedString.Slice`
  * build.zig: support multiple args in `cxx_compiler_arg1`

  [ mlugg ]
  * AstGen: avoid emitting multiple `ret_type` instructions
  * AstGen: fix elision of unnecessary `dbg_stmt` instructions
  * Sema: eliminate `src` field
  * AstGen: migrate `ty` result locations to `coerced_ty`
  * Zir: make src_node of type declarations non-optional
  * Sema: correct source location for return value coercion errors
  * Sema: improved source location for @panic operand coercion error
  * cases: account for changed compile errors

  [ Jakub Konka ]
  * elf: enable adding support for additional cpu archs
  * elf: add riscv reloc types
  * lib/std/elf: use enums for relocs
  * elf: add riscv64 dynamic relocs mapping

  [ Michael Dusan ]
  * cbe: do not set execute bits on emitted file

  [ Jakub Konka ]
  * elf: add riscv dynamic relocs
  * elf: add new R_RISCV_TLSDESC reloc type
  * elf: create Zig specific reloc type shared across ISAs
  * lib/std/elf: fix typo in R_RISCV_TLSDESC
  * elf: fix formatting of relocs when reloc can be Zig specific
  * lib/std/elf: refactor reloc enum values
  * elf: @"64" is equivalent to GLOB_DAT on riscv
  * elf: fix typo in resolving @"32" and @"32S" relocs on x86_64

  [ Igor Anić ]
  * fix flate regression

  [ Alex Kladov ]
  * std: fix copy-paste typo in spawnWindows

  [ Carl Åstholm ]
  * zig fmt: Preserve trailing comma after single-item switch case

  [ Jacob Young ]
  * Dwarf: use a user tag for padding
  * dwarf: optimize dwarf parsing for speed

  [ Tristan Ross ]
  * std.zig.system.linux: detect risc-v

  [ Ian Johnson ]
  * Package.Fetch: fix Git package fetching

  [ mlugg ]
  * Sema: validate that runtime-known inferred alloc does not have comptime-only type

  [ Jacob Young ]
  * cbe: make more use of `InternPool.Index.Slice`

  [ mlugg ]
  * Liveness: do not elide safety-checked instructions

  [ Techatrix ]
  * json: make std.json.stringifyAlloc return a mutable slice (#19013)

  [ Jacob Young ]
  * c_import: extract behavior tests that use `@cImport`
  * llvm: fix c abi for structs not passed in registers

  [ garrison hinson-hasty ]
  * Sema: fix peer type resolution for arrays of coercible elements

  [ antlilja ]
  * LLVM: Assign correct values to enum/union tags
  * LLVM: Make sure child types get added first
  * LLVM Builder: Make Type.Simple reflect LLVM codes
  * LLVM Builder: Add strtab helper to String
  * LLVM Builder: Add toLlvm helper to Alignment
  * Fixed values in AtomicOrdering enum
  * Added values to AtomicRmw.Operation enum fields
  * Added opcode functions to Instruction/Constant.Tag
  * Builder: Add function_attributes_set
  * Made .block = false in WipFunction.hasResultWip
  * Added value_indices and valueIndex to Function
  * Fix FastMath packed struct
  * LLVM Builder: Add integer values to more enums fields
  * LLVM Builder: Add dbg.declare and dbg.value intrinsics
  * Add LLVM bitcode writer
  * LLVM IR specific bitcode
  * LLVM: Add toBitcode to Builder
  * LLVM Builder: Add debug/metadata system
  * LLVM Builder: Add debug locations to instructions
  * LLVM: Emit bitcode even if libllvm is not present
  * Add LLVM bindings for parsing LLVM bitcode
  * codegen/llvm: Remove use of DIBuilder and output bin by parsing bitcode
  * LLVM: Add Metadata/Debug bitcode IR
  * LLVM Builder: Emit debug info and metadata
  * LLVM: Remove use of LLVM in Builder
  * LLVM: Remove unused from llvm/bindings.zig and zig_llvm.h/.cpp

  [ Jakub Konka ]
  * elf+riscv: resolve synthetic __global_pointer$ symbol
  * elf: simplify logic for handling scanning relocs on different arches

  [ Jacob Young ]
  * llvm: fix builds that don't link with libllvm
  * MachO: fix `calcLoadCommandsSize` computation

  [ Igor Anić ]
  * add BufferedTee

  [ Jakub Konka ]
  * elf: simplify logic for resolving alloc relocs on different arches

  [ Igor Anić ]
  * cleanup tests

  [ Jakub Konka ]
  * elf: simplify logic for resolving nonalloc relocs on different arches
  * elf: simplify logic for resolving .eh_frame relocs on different arches
  * elf: make GOT arch aware when resolving relocs

  [ antlilja ]
  * LLVM Builder: Rework MetadataString to not rely on String

  [ Jakub Konka ]
  * link: introduce common set of aarch64 abstractions
  * elf+aarch64: implement some scanReloc logic
  * elf+aarch64: implement some resolveRelocAlloc logic
  * elf+aarch64: implement some resolveRelocNonAlloc logic
  * elf+aarch64: resolve .eh_frame relocs
  * test/link/elf: test static linking C aarch64-musl
  * elf: sort input relocs if targeting riscv64
  * link: commit missing files
  * elf: skip STT_NOTYPE only if SHN_UNDEF from symtab inclusion
  * elf+riscv: skip parsing .riscv.attributes section for now
  * elf+riscv: implement enough to get basic hello world in C working
  * test/link/elf: test static linking C riscv64-musl

  [ antlilja ]
  * LLVM Builder: Correctly emit debug subranges
  * LLVM Builder: Emit debug vector types with DIVector flag

  [ Jakub Konka ]
  * link+riscv: use riscv64/bits.zig to implement write helpers
  * link+riscv: simplify bitSlice helper
  * elf+riscv: return an error for unimplemented HI20 forward lookup

  [ antlilja ]
  * LLVM Builder: Fix on 32-bit systems

  [ Andre Weissflog ]
  * std.os.emscripten: fix regression caused by code cleanup in std.os.wasi (Closes #19019)

  [ Jacob Young ]
  * Builder: support printing metadata in llvm ir

  [ Igor Anić ]
  * refactor according to Ian's review
  * use BufferedTee in Fetch/git.zig

  [ antlilja ]
  * LLVM Builder: Emit type for debug subprogram
  * LLVM Builder: Emit metadata kinds and function metadata attachments
  * LLVM: Set new debug location after inlining

  [ Igor Anić ]
  * return few previous fixes

  [ Jacob Young ]
  * Builder: fix llvm ir value names

  [ antlilja ]
  * Revert build.zig to old 7GB value

  [ Jacob Young ]
  * Builder: fix bitcode strtab

  [ Jae B ]
  * update root.os.system override to require "system" field, this allows easier overriding of os.heap.page_allocator

  [ Jacob Young ]
  * Module: fix `@embedFile` of files containing zero bytes
  * Builder: fix float constants in llvm ir
  * Builder: fix debug location of the first instruction in a block

  [ antlilja ]
  * LLVM Builder: Formatting
  * LLVM Builder: Make some Metadata no longer be distinct

  [ Igor Anić ]
  * fix crash in tar found by fuzzing

  [ Jacob Young ]
  * Builder: sync distinct bits with previous implementation
  * Builder: fix inconsequential llvm ir metadata syntax
  * llvm: revert bad cleanup
  * Builder: change tuple metadata to not be inlined in llvm ir
  * Builder: implement opaque structs in bitcode
  * Builder: fix minor llvm ir syntax errors
  * Builder: fix x86_fp80 constants in bitcode

  [ Andrew Kelley ]
  * std.tar: remove abuse of inline fn

  [ Jakub Konka ]
  * ci: bump QEMU to 8.2.1 on x86_64-linux machines

  [ Andrew Kelley ]
  * std.http.Server: don't emit Server HTTP header
  * std.http.Server: fix error set
  * std.http: remove the ability to heap-allocate headers
  * std.http.Server: protect against zero-length chunks
  * std.mem: take advantage of length-based slicing
  * std.http: remove 'done' flag
  * std.http.Server: remove source code from doc comments
  * std.http.Client.fetch: add redirect behavior to options
  * std.http: remove Headers API
  * std.http.Client: disable zstd for now
  * git fetching: fix redirect handling
  * std.http.Client.Response.ParseError: remove OutOfMemory
  * std: convert http trailers test to unit test
  * Revert "std.http: remove 'done' flag"
  * std.http: parser fixes
  * std.http: fields at the top of the struct
  * std.http.Client.connect: case insensitive host comparison
  * std.http: fix parsing incorrect tokenization
  * std.http: remove format() method of Method
  * std.http.Client: remove advisory file lock on fetch
  * std.http.Client.fetch: remove inappropriate seek
  * std.http.Client: remove bad decisions from fetch()
  * std.Uri: refactor std.mem.Allocator -> Allocator
  * std.http.Client: eliminate arena allocator usage
  * std.http: skip tests on wasi and single-threaded
  * std.http.Client.connectUnix: handle unsupported OS at compile time

  [ dweiller ]
  * std.compress.zstandard: fix buffer sizes
  * std.compress.zstd: fix decompressStreamOptions
  * std.compress.zstd: remove allocation from DecompressStream
  * std.compress.zstd: disable failing wasm32 tests

  [ Andrew Kelley ]
  * std.http.Client: remove invalid use of refAllDecls

  [ dweiller ]
  * std.compress.zstd: make DecompressStream options runtime

  [ Andrew Kelley ]
  * fix zstd compilation errors from previous commit
  * std.http.Server.accept can no longer fail from OOM
  * std.net, std.http: simplify
  * std.http.Server: move closing bool
  * std.http.Server.Connection: remove dead code
  * full send
  * std.http.Server: no more dynamic allocation
  * std.ArrayList: add writerAssumeCapacity
  * std.http.Server: rework the API entirely
  * std.net.listen: fix Windows API use
  * std.io.Reader: add discard function
  * std.net: fix std lib test regression. fixup
  * std.http.Server: reimplement chunked uploading
  * std.http.Server: fix seeing phantom request
  * std.ArrayList: fixedWriter
  * update standalone http test file to new API
  * std.http.Server: fix handling of HEAD + chunked
  * std.http.Client: add keep_alive option to fetch
  * std.http.Server.Request.Respond: support all transfer encodings
  * std.http.Server: handle expect: 100-continue requests
  * std.http: refactor unit tests
  * std.http.Server: implement respondStreaming with unknown len
  * std.http: assert against \r\n in headers
  * std.http: migrate remaining test/standalone/http.zig to std lib
  * wasi: don't try to test http
  * std.http: disable the test that was never passing on windows
  * std.http.Server: expose arbitrary HTTP headers

  [ Jacob Young ]
  * Builder: fix aliases in bitcode
  * Builder: fix llvm ir/bc difference with allocas
  * llvm: optimize i32 constants
  * Builder: fix inconsequential llvm ir flag syntax
  * llvm: revert debug file path resolution changes

  [ Igor Anić ]
  * std.tar fix parsing mode field in tar header
  * std.tar fix integer overflow in header size parse

  [ antlilja ]
  * Builder: Emit metadata attachment for globals

  [ Jae B ]
  * setup PATH_MAX for emscripten

  [ Brandon Botsch ]
  * std.hash_map: Fix integer overflow bugs (#19048)

  [ Jae B ]
  * use @trap instead of system.abort for emscripten
  * fix compilation issues

  [ Andrew Kelley ]
  * std.http tests: wait for server response
  * std: map NETNAME_DELETED to error.ConnectionResetByPeer

  [ Jacob Young ]
  * Builder: fix bitcode widths
  * BitcodeWriter: cleanup type widths

  [ Michael Dusan ]
  * std: fix macos x86_64 to link stat$INODE64

  [ David Rubin ]
  * change `addCSourceFiles` to use `LazyPath` instead `Dependency` (#19017)

  [ Igor Anić ]
  * std.tar fix assert exploited by fuzzing

  [ Ryan Liptak ]
  * std.unicode: Refactor and add WTF-16/WTF-8 functions
  * Update deprecated `std.unicode` function usages
  * Add std.unicode.fmtUtf8 that can handle ill-formed UTF-8
  * Fix handling of Windows (WTF-16) and WASI (UTF-8) paths
  * Use stack fallback allocator to usually avoid extra heap allocation in getEnvVarOwned
  * Add std.fs.path.fmtAsUtf8Lossy/fmtWtf16LeAsUtf8Lossy

  [ Jacob Young ]
  * Revert "tests: add -Dskip-cross-glibc option"

  [ Igor Anić ]
  * std.tar don't overwrite existing file

  [ Robinson Collado ]
  * std.compress.flate: fix typo in function name (#19002)

  [ antlilja ]
  * Builder: Improve debug location system
  * Builder: Fix llvm ir debug location output

  [ Michael Dusan ]
  * std: re-enable most of setrlimit test on macos

  [ Igor Anić ]
  * std.tar add case sensitive file name test

  [ SuperAuguste ]
  * Add pollTimeout for non-blocking/timeout-having polls

  [ Jacob Young ]
  * x86_64: fix incorrect mnemonic selection
  * x86_64: implement `@select`
  * x86_64: fix inline asm match constraints
  * x86_64: implement `@shuffle`
  * Sema: implement vector coercions
  * x86_64: fix avx2 `@truncacte`
  * x86_64: fix alignment of bool vectors
  * x86_64: implement optional comparisons
  * x86_64: implement more shuffles

  [ Igor Anić ]
  * std.tar improve error reporting

  [ Techatrix ]
  * fix integer overflow in indexOfPosLinear when needle.len > haystack.len
  * http: handle header fields with empty value

  [ Jacob Young ]
  * llvm: remork memory management in emit

  [ Andrew Kelley ]
  * std.heap.raw_c_allocator: use malloc_size for resize

  [ Igor Anić ]
  * std.tar skip test on windows

  [ Jacob Young ]
  * llvm: implement per-module stripping
  * llvm: free llvm data before running llvm optimizations

  [ Andrew Kelley ]
  * package management: fix regression of printing expected hash

  [ Marc Tiehuis ]
  * fix large f128 values being incorrectly parsed as inf

  [ Jae B ]
  * fix crash when calling StackIterator.isValidMemory with emscripten

  [ Igor Anić ]
  * std.tar fix refactored function

  [ antlilja ]
  * Builder: Use BlockInfo block to reduce size of bitcode
  * Builder: Reduce size of DebugLoc abbrev

  [ Jakub Konka ]
  * macho: actually set SG_READ_ONLY on __DATA_CONST segment
  * macho: fix section to segment mapping
  * macho: count rebases for synthetic __objc_selrefs

  [ Jacob Young ]
  * test: rework how filtering works

  [ John Schmidt ]
  * AstGen: fix OoB crash on `ast-check -t`

  [ Andrew Kelley ]
  * std.http.Client: fix UAF when handling redirects

  [ mlugg ]
  * compiler: decide dbg_var scoping based on AIR blocks

  [ Andrew Kelley ]
  * change default WASI stack size
  * std.http.Server: fix use case of streaming both reading and writing

  [ Ryan Liptak ]
  * Remove redundant test name prefixes now that test names are fully qualified
  * Change many test blocks to doctests/decltests

  [ John Schmidt ]
  * Sema: evaluate generic instantiations in fn decls capture scope
  * Sema: fix compile error for switching on undefined union
  * Check for inactive union field when calling fn at comptime
  * Fix tuple default values

  [ Jacob Young ]
  * http: fix fetching a github release

  [ Andrew Kelley ]
  * move Zcu.LazySrcLoc to std.zig.LazySrcLoc
  * Zir: decouple from InternPool
  * move Zir to std.zig.Zir
  * rearrange std.zig
  * move AstGen to std.zig.AstGen
  * compiler: JIT zig fmt
  * std.zig: don't try to unit test a separate exe
  * compiler: JIT zig reduce
  * move lazily compiled source files to lib/compiler/
  * back out the build_runner.zig moving change
  * introduce ZIG_DEBUG_CMD to choose debug mode

  [ dweiller ]
  * std.compress.zstd: enable tests for wasm32

  [ Travis Staloch ]
  * testing.expectFmt() - reuse expectEqualStrings()

  [ Ryan Liptak ]
  * Eliminate `error.InvalidHandle` from OpenError and RealPathError

  [ Jacob Young ]
  * posix: fix socket fd leaks

  [ Igor Anić ]
  * compress: activate tests in wasm32

  [ Jacob Young ]
  * posix: `@as` and other general cleanup

  [ IntegratedQuantum ]
  * Expand the memcpy fast path in flate.CircularBuffer.writeMatch to allow for overlapping regions.

  [ Andrew Kelley ]
  * move `zig libc` command to be lazily built
  * CLI: strip lazy built commands by default
  * wasi.c: report no environment variables available

  [ antlilja ]
  * LLVM: Implement more efficient blob writing
  * Builder: Implement StrtabString and use it for Global names
  * LLVM: Don't create a debug lexical block when inlining

  [ Andrew Kelley ]
  * make aro-based translate-c lazily built from source
  * zig fmt: off in the generated files

  [ Nameless ]
  * std.http: clear confusing trailer check, add sanity check for invalid field name
  * std.http: header whitespace is optional, and not part of value
  * std.http: add tests against regressions for conforming fields

  [ Igor Anić ]
  * std.tar: fix unconditional error return

  [ Andrew Kelley ]
  * std.tar: avoid dependency on file system
  * std.tar.iterator: make the buffers configurable
  * add missing export symbol names to whole mode wasm cache hash
  * use hash.addListOfBytes where applicable
  * build.zig: fix typo in extension exclusion list

  [ Igor Anić ]
  * std.tar: disable test failing on windows

  [ Luuk de Gram ]
  * wasm: move Zig module-linkage to ZigObject
  * wasm: move incremental Dwarf info into ZigObject
  * wasm: initialize a `ZigObject` when required
  * wasm: create linking objects in correct module
  * wasm: store `File.Index` on the Atom
  * wasm: use `File` abstraction instead of object
  * wasm: fix symbol resolution and atom processing
  * wasm: Add `File` abstraction
  * wasm: Use `File.Index` for symbol locations
  * wasm: Move `createFunction` to `ZigObject`
  * wasm: update `freeDecl` and `finishDecl`
  * wasm: re-implement `updateExports`
  * wasm: reimplement `deleteDeclExport`
  * wasm: ensure unique function indexes
  * wasm: reimplement Zig errors in linker
  * wasm: correctly generate relocations for type index
  * wasm: consolidate flushModule and linkWithZld
  * wasm: make symbol indexes a non-exhaustive enum
  * wasm: integrate linker errors with `Compilation`
  * wasm: gc fixes and re-enable linker tests
  * fix memory leaks

  [ antlilja ]
  * LLVM Builder: Fix emission of enum debug enumerator info bitcode

  [ mlugg ]
  * AstGen: avoid unnecessary coercion instructions
  * AstGen: elide block instruction when already in empty body
  * AstGen: do not generate defers at unreachable end of block
  * Sema: simplify and clarify analyzeBodyInner and wrapper functions
  * codegen: handle dbg_var scoping correctly after eliding more ZIR blocks

  [ Ryan Liptak ]
  * Fix symLink's handling of `/` path separators on Windows
  * Re-enable and fix tar pipeToFileSystem test on Windows

  [ mlugg ]
  * Autodoc: do not rely on redundant block within function body

  [ Ryan Liptak ]
  * fs/test: Make testWithAllSupportedPathTypes also test all supported path separators

  [ mlugg ]
  * AstGen: optimize ZIR for `-1` literal
  * Autodoc: handle more direct int value Refs

  [ Jakub Konka ]
  * macho: correctly find N_GSYM symbols when parsing symbol stabs

  [ binarycraft007 ]
  * objcopy: support multiple only sections

  [ mlugg ]
  * AstGen: fix latent bug causing incorrect elision of `dbg_stmt` instructions

  [ Jacob Young ]
  * tools: add lldb pretty printer for stage2 inst indices

  [ Roman Frołow ]
  * typo: http_proxy -> https_proxy

  [ Jacob Young ]
  * compiler: audit debug mode checks

  [ antlilja ]
  * LLVM: Add enableBrokenDebugInfoCheck and getBrokenDebugInfo
  * LLVM: Fail to emit if LLVM encounters broken debug info
  * Add comment explaining LLVM bug and linking tracking issue

  [ Jacob Young ]
  * Air: replace `.dbg_inline_*` with `.dbg_inline_block`

  [ Andrew Kelley ]
  * move `zig objcopy` command to be lazily built

  [ Igor Anić ]
  * flate: 32 bit BitReader
  * flate: option to fill BitReader
  * flate: use 4 bytes lookahead for zlib
  * compress.zlib: add overshoot test cast
  * zlib: fix missing comptime attribute

  [ Ryan Liptak ]
  * Use the global cache dir for the manifests of generated mingw `.lib`s

  [ Michael Ortmann ]
  * Fix doc - Language Reference - Table of Operators

  [ crayon ]
  * langref now sets color-scheme

  [ OK Ryoko ]
  * std.os.linux: enforce null-terminated path arguments

  [ Meghan Denny ]
  * cli: add `--rpath` and `-R` linker arg aliases

  [ garrison hinson-hasty ]
  * Sema: fix compiler crash `@ptrCast`ing optional slice

  [ Veikka Tuominen ]
  * Sync Aro sources (#19199)

  [ mlugg ]
  * compiler: change representation of closures
  * InternPool: create specialized functions for loading namespace types
  * compiler: represent captures directly in InternPool
  * compiler: namespace type equivalence based on AST node + captures
  * compiler: treat decl_val/decl_ref of potentially generic decls as captures
  * behavior: correct tests after #18816
  * behavior: add tests for #18816
  * Fix incorrectly resolved merge conflicts
  * cases: correct after #18816
  * Sema: do not destroy enum type if field analysis fails
  * Package.Module: deduplicate identical builtin modules

  [ Jacob Young ]
  * grammar: remove gratuitous ambiguity

  [ Dillen Meijboom ]
  * feat: add support for --enable-new-dtags and --disable-new-dtags

  [ mlugg ]
  * Package.Module: actually set File.path_digest for builtin modules
  * std.os.linux: remove unnecessary use of `usingnamespace`
  * std.os.linux: do not use `usingnamespace` to define getauxval
  * std.enums: remove IndexedMap, IndexedArray, IndexedSet
  * std.c: do not use `usingnamespace` to define getcontext
  * std.c.openbsd: remove nop `usingnamespace`
  * std.c: remove unnecessary use of `usingnamespace`
  * std.os.windows: eliminate usage of `usingnamespace`
  * std.os.linux: rework io_uring support

  [ february cozzocrea ]
  * test manifest key checking and other fixes

  [ mlugg ]
  * Sema: reset block error return trace index between cases

  [ Jakub Konka ]
  * elf+aarch64: implement enough to link dynamically with gcc as the driver
  * elf+aarch64: implement .plt.got
  * elf+aarch64: use correctly offset tp address
  * elf+aarch64: resolve TLS LE model
  * link: refactor common aarch64 helpers
  * elf+aarch64: handle TLSDESC non-relaxed
  * elf+aarch64: relax TLSDESC for executables
  * elf+aarch64: set _GLOBAL_OFFSET_TABLE_ to .got section
  * elf+aarch64: fix incorrectly emitted TLSDESC relocs
  * elf+aarch64: handle gottp and .tls_common
  * elf+aarch64: handle TLS GD model
  * elf+aarch64: handle PREL32 reloc
  * elf+aarch64: implement basic thunk support

  [ Marc Tiehuis ]
  * std.fmt: add ryu floating-point formatting
  * std.fmt: add ryu upstream unit tests
  * std.json: update tests to match new floating point formatting

  [ mlugg ]
  * Sema: perform codegen for anon decl created by `@extern`

  [ Marc Tiehuis ]
  * replace errol with ryu in CMakeLists.txt
  * std.fmt: fix std-cases and perform round-trip check in ryu unit tests

  [ Jakub Konka ]
  * elf+aarch64: fix 32bit build
  * test/link/elf: enable tests for aarch64 cpu arch
  * elf+aarch64: handle PREL64 reloc

  [ Minsoo Choo ]
  * CI: update actions/checkout to v4 (#19228)

  [ Marc Tiehuis ]
  * wasm/codegen: add "and" + "or" impl for big ints

  [ dweiller ]
  * std.RingBuffer: improve doc comments and assertions
  * std.RingBuffer: use sliceAt/sliceFirst in read*AssumeLength

  [ Jakub Konka ]
  * test/link/elf: remove pie hack due to QEMU bug that is now fixed

  [ Frank Denis ]
  * std.crypto: add support for ML-KEM
  * Fix typo in an old comment, and avoid useless hash

  [ Techatrix ]
  * std: expose Config struct of GeneralPurposeAllocator

  [ Andrew Kelley ]
  * no
  * better to use AST than ZIR for doc generation
  * upstream new autodocs implementation
  * add `zig std` subcommand
  * add skeleton of `zig std` command impl
  * zig std: implement serving the wasm binary
  * zig std: use threads for the http server
  * std.io.Writer: add writeFile method
  * zig std: implement sources.tar endpoint
  * zig std: implement tar format
  * slightly better error name when wasm compilation fails
  * frontend: skeleton for creating autodocs
  * -femit-docs: creating sources.tar
  * std.Thread.WaitGroup: add spawnManaged
  * -femit-docs: create main.wasm artifact
  * build: don't include std lib docs by default
  * autodocs: fix root name and missing dir close
  * build: spend a lot less time generating std docs
  * remove the autodoc issue template
  * cmake: remove -Dno-autodocs
  * autodoc has a new code owner. it's me
  * fix 32 bit compilation
  * update autodocs web application to latest
  * improve documentation in std
  * add missing field to module creation

  [ Frank Denis ]
  * std.crypto.pcurves fixes (#19245)

  [ Igor Anić ]
  * std.tar: add tests for file and symlink create
  * std.tar: test buffers provided to the iterator
  * std.tar: remove redundant test name prefixes
  * std.tar: don't return in iterator init
  * std.tar make iterator interface more ergonomic
  * std.tar: document iterator interface with example
  * std.tar: fix build on 32 bit platform
  * std.tar: fix path testing on windows
  * disable test which is hanging on windows in ci
  * std.tar: fix test hanging on windows
  * std.tar: use doctest
  * std.tar: fix broken public interface

  [ Ryan Liptak ]
  * Lazily compile the `zig rc` subcommand and use it during `zig build-exe`
  * Integrate resinator errors with Zig using std.zig.Server and ErrorBundle
  * ErrorBundle: Add support for reference traces in addOtherSourceLocation
  * Report the progress of lazily building zig rc
  * ErrorBundle: Fix potential writes to stale/freed memory
  * Fix progress when multiple zig rc child processes are building resinator
  * resinator: Fix auto-detected includes only being used during preprocessing

  [ Igor Anić ]
  * docs: make docs work with recent tar changes

  [ Tristan Ross ]
  * std.builtin: make container layout fields lowercase
  * std.builtin: make link mode fields lowercase
  * std.builtin: make float mode fields lowercase
  * std.builtin: make global linkage fields lowercase
  * std.builtin: make atomic order fields lowercase

  [ Carl Åstholm ]
  * std.enums: Increase eval branch quotas

  [ Igor Anić ]
  * package: remove git fetch zlib lookahead fix

  [ tinusgraglin ]
  * math.big.int: fix incorrect `bitAnd` behavior

  [ Carl Åstholm ]
  * Move big enum tests to a standalone test case
  * Avoid comptime concatenation in `EnumFieldStruct`

  [ Jakub Konka ]
  * elf+aarch64: actually write out thunks, and add a proper link test
  * test/link/macho: remove redundant 'macho-' prefix from case names
  * elf+aarch64: fix off-by-one in converging on groups interleaved with thunks
  * elf: re-use output buffer for emitting thunks

  [ Frank Denis ]
  * ml_kem.zig: inLen -> in_len (#19269)
  * {aegis,aes_gcm}: fix overflow with large inputs on 32-bit systems (#19270)

  [ Michael Dusan ]
  * macho: log.debug dylib path
  * zig libc: allow non-native targets
  * macos: add tbd-v3 zippered support

  [ Jakub Konka ]
  * test/link/elf: do not check for $thunk in thunks tests for now

  [ Igor Anić ]
  * compress.xz: remove copyForwards from tight loop
  * compress.xz: make reader loop little more readable
  * compress.xz: remove unnecessary variable

  [ Adrià Arrufat ]
  * Fix emscripten exports

  [ pancelor ]
  * remove `math.lerp` bounds for t

  [ Carl Åstholm ]
  * autodoc: Use `code` for keyboard events

  [ Jonathan Marler ]
  * std.os.windows: handle OBJECT_NAME_INVALID in OpenFile (#19288)

  [ mlugg ]
  * compiler: detect duplicate test names in AstGen
  * Zcu: rename implicitly-named decls to avoid overriding by explicit decls
  * Zcu: remove old decls after scanning namespace
  * Zcu: convert Decl.zir_inst_index to a TrackedInst.Index.Optional
  * Zcu: handle incremental updates (more) correctly when scanning namespaces
  * Zcu: handle updates to file root struct
  * compiler: progress towards incremental
  * compiler: add `func_ies` incremental dependencies
  * Zcu: perform orphan checks against uncoerced function
  * Zcu: preserve ordering of `usingnamespace` decls

  [ Luuk de Gram ]
  * std: make std.dwarf.FixedBufferReader public

  [ Andrew Kelley ]
  * remove std.io.PeekStream

  [ Motiejus Jakštys ]
  * reduce garbage for repeated `zig cc -` calls

  [ Ahmed ]
  * chore: Fix some typos

  [ Michael Dusan ]
  * bsd: add missing os.IFNAMESIZE

  [ Elaine Gibson ]
  * coff: only store PDB basename

  [ mlugg ]
  * langref: add basic documentation of RLS

  [ Michael Dusan ]
  * dragonfly: debitrot std.c
  * bsd: debitrot AtomicOrder renames
  * bsd: debitrot std.c

  [ Jakub Konka ]
  * macho: fix a sad typo in calculating the address of a TLV pointer

  [ paoda ]
  * fix(math): eval isPowerOfTwo at comptime in rotl/rotr

  [ expikr ]
  * make `math.degreesToRadians` and `math.radiansToDegrees` infer type from argument

  [ Paul Jimenez ]
  * langref: bit-aligned -> byte-aligned

  [ garrisonhh ]
  * std.mem: use destructurable tuple for indexOfMinMax return type

  [ Meghan Denny ]
  * test: reenable some behavior vector tests

  [ Nguyễn Gia Phong ]
  * Fix stuttering stderr in Zig test log

  [ Loris Cro ]
  * build runner: add --summary new

  [ Andrew Kelley ]
  * langref: caution against default field values

  [ Igor Anić ]
  * io_uring: ring mapped buffers (#17806)

  [ zhylmzr ]
  * macos: archive size fix

  [ Andreas Herrmann ]
  * Fix "unable to generate DLL import .lib file"

  [ Stephen Gregoratto ]
  * Windows: Replace CreatePipe with ntdll implementation
  * Windows: Add wrappers for `GetCurrent(Process|Thread)` via NT_TIB
  * Windows: make FILE_INFO_BY_HANDLE_CLASS a tagged enum

  [ Jari Vetoniemi ]
  * std: do not use inferred errors in dynamic_library
  * std: use expectError in dynamic_library tests

  [ Andrew Kelley ]
  * std: introduce pointer stability locks to hash maps (#17719)

  [ Veikka Tuominen ]
  * std: adjust DynLib API

  [ Leo Emar-Kar ]
  * std.fmt: fix incorrect rounding on 0 precision of a decimal

  [ Jacob Young ]
  * AstGen: disallow alignment on function types
  * Revert "back out the build_runner.zig moving change"
  * update zig1.wasm

  [ Veikka Tuominen ]
  * std: define error set of `toPosixPath`

  [ Anton Lilja ]
  * LLVM lowerDebugType: Lower union types without a layout into an empty namespace

  [ Veikka Tuominen ]
  * Sema: fix printing of inferred error set of generic fn
  * Sema: fix spurious type has no namespace error
  * Sema: allow param instructions to clobber inst_map

  [ Robin Voetter ]
  * Revert "spirv: merge `construct(Struct/Vector/Array)` into `constructComposite`"

  [ antlilja ]
  * LLVM: Fix reaching unreachable code when emitting fast call
  * LLVM: Fix incorrect fast constant in FastMath packed struct
  * LLVM: Use fast math when requested
  * LLVM: Add test for calling reduce with float mode set to optimized

  [ Veikka Tuominen ]
  * add behavior test for optimized float math

  [ Jacob Young ]
  * Ast: fix comptime destructure

  [ kcbanner ]
  * cbe: rework StringLiteral to decide between string literal or array initializator syntax

  [ Reokodoku ]
  * Implementing structs and better enums in build options

  [ SuperAuguste ]
  * Add 64bit byteswap case, use fewer locals

  [ Frank Denis ]
  * Unbreak support for WASI threads

  [ Robin Voetter ]
  * spirv: update spec generator
  * spirv: update spec to SPIRV-Headers/8b246ff
  * spirv: update assembler with new spec
  * spirv: make IdResult an enum
  * spirv: add zig-specific ext inst
  * spirv: make generic globals invocation-local
  * spirv: unused instruction pruning linker pass
  * spirv: fix optional comparison
  * spirv: skip test that miscompiles on Intel
  * spirv: enable passing tests

  [ Christofer Nolander ]
  * `zig fetch`: resolve branch/tag names to commit SHA

  [ Linus Groh ]
  * langref: Rename std.fs.wasi.{PreopenList => Preopens}

  [ Andrew Kelley ]
  * langref: add naming guide
  * std.Build.Step.Run: documentation for addFileArg and friends

  [ Frank Denis ]
  * WASI-thread: panic if no allocator is given

  [ Andrew Kelley ]
  * extract std.posix from std.os
  * compiler: fix wrong detection of rlimit
  * fix compilation failures found by CI
  * std: fix inconsistent errno size on linux
  * std: don't do BYOS at the POSIX API layer

  [ Ryan Liptak ]
  * Fix CODEOWNERS path to resinator source files

  [ Andrew Kelley ]
  * mingw-w64 updater: don't omit win32 def files
  * mingw-w64: update to reflect latest tool changes
  * mingw-w64 updater: don't include windowsapp or onecore APIs
  * mingw-w64: update to latest master

  [ Michael Dusan ]
  * bsd: followup to std.posix extraction from std.os

  [ Elaine Gibson ]
  * mingw: define _WIN32_WINNT when building CRT

  [ Andrew Kelley ]
  * frontend: add missing bounds check for slice-by-length arrays
  * frontend: comptime array slice-by-length OOB detection
  * std.hash_map: fix pointer lock safety false positive
  * std: work around compiler unable to evaluate condition at compile time
  * Revert the last two commits in this branch

  [ Igor Anić ]
  * std.io: remove BufferedTee

  [ Christofer Nolander ]
  * `zig fetch`: resolve ref to commit by default

  [ Michael Ortmann ]
  * std.os.windows: add POLL.IN and POLL.OUT

  [ Marc Tiehuis ]
  * rename ryu128 -> format_float

  [ Andrew Kelley ]
  * std.Build.addTest: add doc comments
  * std: remove one layer of redundant parse_float namespace
  * std: promote tests to doctests
  * add std.debug.inValgrind
  * std.mem.indexOfScalarPos: valgrind integration
  * std.mem.indexOfSentinel: valgrind integration

  [ Elaine Gibson ]
  * main: set subsystem version from target windows version
  * mingw: link to api sets instead of ucrtbase

  [ Sean ]
  * Update frexp.zig (#19370)

  [ Andrew Kelley ]
  * disable failing behavior test: "bitcast packed union to integer"
  * extract std.Build.Cache.Directory into separate file
  * move Package.Path to std.Build.Cache.Path
  * std.array_hash_map: enhance doc comments
  * disable failing behavior test: "comptime bitcast with fields following f80"
  * std.array_hash_map: remove meta context verification
  * std.Build.Cache: use an array hash map for files
  * std.Build.Cache: bump manifest_file_size_max to 100M
  * disable failing behavior test: "reinterpret extern union"

  [ regeliv ]
  * Change std.os.exit to std.process.exit

  [ Jakub Konka ]
  * lib/std/coff: allow for unhandled enum values
  * lib/std/coff: add undocumented machine type ARM64EC
  * lib/std/coff: add ImportHeader, and Relocation metadata

  [ Ian Johnson ]
  * Autodoc: implement Markdown autolinks
  * Autodoc: recognize Markdown links in plain text

  [ Jacob Young ]
  * Build.Cache: fix UAF during `unhit`
  * WasmAllocator: fix safety panic during OOM
  * wasm2c: fix allocation failure result
  * haiku: debitrot

  [ Ben Sinclair ]
  * std.fmt.fmtIntSize{Bin,Dec}: Don't add .0... to bytes

  [ Marc Tiehuis ]
  * fix comptime float formatting

  [ Jacob Young ]
  * reduce: fix compile errors
  * Build.Cache: fix UAF during `unhit`

  [ Jakub Konka ]
  * dwarf: actually write out well-defined placeholder bytes for relocs

  [ Simon Brown ]
  * std.enums: fix EnumSet.init and EnumMap.init for non-exhaustive enums

  [ Jakub Konka ]
  * codegen: actually write out padding for packed structs upfront

  [ mlugg ]
  * compiler: implement analysis-local comptime-mutable memory
  * behavior: skip newly failing test
  * llvm: update current debug location scope when entering debug scope

  [ HydroH ]
  * autodoc: better indentation handling when rendering source code (#19422)

  [ Jakub Konka ]
  * dwarf: actually write zeroed out unresolved relocs into emitted DWARF in initDeclState
  * dwarf+codegen: use appendNTimes instead of writer().writeByteNTimes

  [ Luis Cáceres ]
  * std.Build: dupe provided paths for Step.Fmt.create()

  [ Prokop Randáček ]
  * valgrind client request wrappers take const pointers (#19237)

  [ David Rubin ]
  * make `addCSourceFiles` assert `options.files` are relative

  [ mlugg ]
  * Zcu.Decl: remove `ty` field
  * Sema: introduce separate `MutableValue` representation for comptime-mutable memory
  * compiler: eliminate legacy Value representation
  * compiler: audit uses of `ptr.addr` in the frontend
  * Zcu: eliminate `Decl.alive` field
  * compiler: minor cleanups
  * Zcu.Decl: replace `typedValue` with `valueOrFail`
  * Zcu: use `Value` instead of `TypedValue` when initializing legacy anon decls
  * compiler: eliminate most usages of TypedValue
  * compiler: eliminate TypedValue
  * print_value: improve value printing
  * Value: fix underflow reading large `u64` values from packed memory
  * cases: necessary changes from branch
  * Zcu: remove some unused functions

  [ HydroH ]
  * translate-c: handle string concatenation of function calls

  [ Jacob Young ]
  * haiku: fix poll definitions
  * std.zig: remove extraneous newlines in log messages

  [ Elaine Gibson ]
  * mingw: support -municode

  [ Ryan Liptak ]
  * Build.Step.Compile: Add `mingw_unicode_entry_point` field
  * Add standalone test for all possible MinGW exe entry points

  [ Ian Johnson ]
  * Autodoc: add all modules to sources.tar
  * std-docs: include builtin module in sources.tar

  [ HydroH ]
  * allow `@errorcast` to cast error sets to error unions

  [ Veikka Tuominen ]
  * remove `test/cbe.zig`
  * std.PackedInt: remove workaround for stage1 bug
  * add tests for fixed stage1 bugs
  * Sema: check error union payload types in `@errorCast`

  [ Jakub Konka ]
  * macho: fix double free

  [ Veikka Tuominen ]
  * Sema: allow .ptr on pointer to array

  [ Sean ]
  * std.math: rework modf

  [ Jakub Konka ]
  * lib/std/coff: add ImportNameType.NAME_EXPORTAS variant

  [ Marc Tiehuis ]
  * implement ryu 64-bit backend

  [ Robin Voetter ]
  * spirv: deduplicate prototype
  * spirv: avoid copying operands in dedup pass
  * spirv: handle annotations in deduplication pass
  * spirv: clz, ctz for opencl
  * spirv: disable failing tests

  [ Jacob Young ]
  * cbe: fix bugs revealed by an upcoming commit
  * cbe: rewrite `CType`
  * Sema: rework `@fieldParentPtr` to accept a pointer type
  * Update uses of `@fieldParentPtr` to pass a pointer type
  * AstGen: use RLS to infer the first argument of `@fieldParentPtr`
  * Update uses of `@fieldParentPtr` to use RLS
  * x86_64: cleanup comptime mutable memory change
  * cbe: fix uncovered bugs
  * update zig1.wasm

  [ Igor Anić ]
  * io_uring: add failing test
  * io_uring: fix copy_cqes logic
  * io_uring: simplify copy_cqe logic

  [ Jacob Young ]
  * Sema: fix crash accessing array of opv types

  [ Nguyễn Gia Phong ]
  * grammar: fix ASCII range typo

  [ Michael Lynch ]
  * Refactor ArrayList replaceRange tests

  [ Igor Anić ]
  * std.tar: implement executable bit only
  * fetch: fix failing test
  * package manager: don't strip components in tar
  * fix typo
  * fetch: find package root only for archives
  * fetch: save syscall, and add comment
  * tar: find package root dir in pipeToFileSystem
  * fetch: remove one openDir in runResource
  * fetch: update comments
  * fetch: use package root detection pipeToFileSystem
  * fetch: fix manifest included paths filtering

  [ Ali Chraghi ]
  * spirv: make behavior tests passing
  * spirv: implement `@divFloor`, `@floor` and `@mod`
  * spirv: OpExtInstImport in assembler
  * spirv: implement `@mulWithOverflow`

  [ Alex ]
  * langref: Fix example typo

  [ Josh Wolfe ]
  * json.WriteStream.objectFieldRaw() (#19553)
  * fix number of arguments preallocation in zig jit subcommand

  [ Robin Voetter ]
  * spirv: id range helper
  * spirv: remove cache usage for constants
  * spirv: remove cache usage for types
  * spirv: remove cache usage from assembler
  * spirv: yeet cache
  * spirv: add link progression
  * spirv: fix some recursive pointers edge cases in dedup pass
  * spirv: enable passing tests

  [ antlilja ]
  * LLVM Builder: Emit binary op optional flags for exact and no wrap

  [ Josh Wolfe ]
  * zig std accepts --port and --no-open-browser (#19559)

  [ Jacob Young ]
  * Builder: fix encoding big integers in bitcode
  * Sema: fix non-`pub` `usingnamespace` in `@typeInfo`

  [ Igor Anić ]
  * package manager: set executable bit

  [ Jacob Young ]
  * x86_64: fix abi of nested structs

  [ Jakub Konka ]
  * lib/std/macho: update PLATFORM enum with VISIONOS tags

  [ Ian Johnson ]
  * Fix first-time package fetches

  [ Carl Åstholm ]
  * std.zig.fmtId: conditionally escape primitives/`_`
  * Update usages of `fmtId`/`isValidId`
  * Sema: fix runtime call of inline fn with comptime-known comptime-only ret type
  * std.Build: add `lazyImport` (`@import` for lazy dependencies)
  * std.Build: correct behavior of `Step.Compile.installHeader`
  * Remove `dest_builder` field from `InstallDir/File`
  * Update `addInstallHeaderFile` to take a `LazyPath`
  * Create an include tree of installed headers for dependent modules
  * Implement `WriteFile.addCopyDirectory`
  * Add standalone tests for `Compile.installHeaders`
  * `WriteFile.addCopyDirectory` should include all files by default
  * Fix install_headers test on macOS (and possibly Linux)
  * Oops, forgot to dupe installations in `installLibraryHeaders`
  * Document added/updated functions
  * Account for dependency boundaries when duping headers
  * Use `@TypeOf` instead of `std.meta` in test_runner.zig

  [ Andrew Kelley ]
  * langref: update async functions section

  [ Carl Åstholm ]
  * Sema: support coercing ref to anonymous array init to many-pointer
  * std.Build: add dependencyFromBuildZig
  * Promote standalone test cases to packages
  * Move "simple" standalone test cases to a new directory
  * Don't add standalone test cases until we've built stage3
  * Turn "simple" standalone test cases into a package
  * Promote linker test cases to packages
  * std.Build: Remove unused `c_std` field
  * Remove `std.Build.anonymousDependency`
  * Make `std.Build.dependencyInner` private

  [ Ian Johnson ]
  * Autodoc: fix Markdown indented lists (#19577)

  [ Andrew Kelley ]
  * std.Build: fix regression in Step.ConfigHeader

  [ Jacob Young ]
  * cbe: remove threadlocal variables in single threaded mode
  * cbe: fix struct field location computation
  * haiku: fix directory iteration
  * haiku: fix linking issues
  * haiku: fix abi and dynamic linker detection
  * haiku: default to single threaded to work around tls bugs

  [ Jakub Konka ]
  * link/elf: propagate Haiku requirement of always passing -shared for images

  [ Jacob Young ]
  * InternPool: remove slice from byte aggregate keys
  * update zig1.wasm

  [ Jakub Konka ]
  * link/elf: actually emit DYN when targetting haiku
  * link/elf: handle symbols to begin/end of .eh_frame section
  * link/elf: do not set soname unless only dynlib (reverts for haiku exec)

  [ Igor Anić ]
  * fetch: make failing test
  * tar: store diagnostic errors into UnpackResult
  * fetch: return UnpackResult from unpackResource
  * fetch: filter unpack errors
  * fetch: remove absolute path from tests
  * fetch: update comments
  * fetch.git: collect file create diagnostic errors
  * fetch: add pathological packages test
  * add comments
  * fix zig fmt
  * fetch: remove test with mount and net dependencies
  * fetch: fix test tarball
  * fetch: remove root_dir from error messages
  * fetch: use empty string instead of null for root_dir
  * fetch: save test cases
  * fetch: refactor package root in errors
  * fetch: add executable bit test
  * fetch: use arena allocator for diagnostic/UnpackResult

  [ Frank Denis ]
  * crypto.sha3: implement constructions from NIST SP 800-185 (#19533)

  [ Andrew Kelley ]
  * std.crypto.Certificate: support 3072 bits RSA certificate (#19591)

  [ Jacob Young ]
  * Uri: propagate per-component encoding

  [ Andrew Kelley ]
  * introduce std.Build.path; deprecate LazyPath.relative

  [ andrewkraevskii ]
  * autodoc: fix tokenizer

  [ travisstaloch ]
  * translate-c: support macro with 'assert(false && "error message")'

  [ Andrew Kelley ]
  * remove deprecated LazyPath.path union tag
  * std.Build: revert the breaking changes only

  [ leap123 ]
  * Fix stack iterator on UEFI

  [ Brandon Black ]
  * std.hash.crc: get rid of usingnamespace

  [ Nguyễn Gia Phong ]
  * Document packed struct's backing int declaration

  [ Jeremia Dominguez ]
  * Document lazy dependency in init build.zig.zon

  [ Igor Anić ]
  * fetch: combine unpack error validation in a single function

  [ Andrew Kelley ]
  * std.debug.panic: pass the args

  [ travisstaloch ]
  * translate-c: allow str literals in bool expressions

  [ Jacob Young ]
  * cbe: fix optional codegen

  [ Andrew Kelley ]
  * std.http.Client: pass port to server based on user input
  * std.http.Client: always omit port when it matches default
  * Revert "std.http.Client: always omit port when it matches default"

  [ Ian Johnson ]
  * Autodoc: fix root module name in sources.tar

  [ Андрей Краевский ]
  * std: fix big int llshr to respect aliasing (#19612)

  [ Andrew Kelley ]
  * std.Build.Step.ConfigHeader: better error message

  [ Frank Denis ]
  * std.crypto.pcurves.*: simpler, smaller, faster u64 addition with carry (#19644)

  [ Jacob Young ]
  * Target: cleanup
  * wasi: change default os version to `0.1.0`

  [ Andrew Kelley ]
  * std.fs.Dir.Walker: maintain a null byte in path names
  * fix namespacing of std.fs.Dir.Walker.Entry

  [ Jacob Young ]
  * WindowsSdk: fix for new x86_64-windows CI
  * ci: add self-hosted x86_64 windows

  [ Ryan Liptak ]
  * ArgIteratorWindows: Match post-2008 C runtime rather than CommandLineToArgvW
  * windows_argv standalone test: Only test against MSVC if it's available

  [ jd ]
  * std.Build.Step.ConfigHeader: better error message

  [ Linus Groh ]
  * zig init: Replace deprecated LazyPath.path with Build.path()

  [ Jakub Konka ]
  * lib/std/Build/Step/CheckObject: dump section as string

  [ Alex Kladov ]
  * std: improve std.once tests

  [ Jacob Young ]
  * x86_64: fix miscompilation regression in package fetching code

  [ mlugg ]
  * compiler: rework comptime pointer representation and access
  * test: disable newly failing test
  * compiler: un-implement #19634
  * Value: fix out-of-bounds slice access writing zero-bit undef value
  * Value: convert undefined values to 0xAA for bitwise operations

  [ Liviu Dudau ]
  * std.zig.system.linux: Use arm.zig detection for AArch64 CPU features

  [ David Rubin ]
  * Sema: correctly make inferred allocs constant

  [ mlugg ]
  * Sema: cap depth of value printing in type names

  [ Andrew Kelley ]
  * std.Build: revert --host-target, --host-cpu, --host-dynamic-linker

  [ Meghan Denny ]
  * std: fix and add test for Build.dependencyFromBuildZig
  * do more robust import

  [ Erik Arvstedt ]
  * cmake: support setting the dynamic linker

  [ Andrew Kelley ]
  * std.fs.Dir.openFile: use wasi libc API when -lc

  [ cryptocode ]
  * The Mach-O header flags gained two new members at some point, and these are missing in the Zig std library. This PR adds these.

  [ Meghan Denny ]
  * define std.crypto.sha2.Sha512224 (#19697)

  [ Jacob Young ]
  * llvm: fix debug info when running tests

  [ Andrew Kelley ]
  * update .mailmap

  [ GethDW ]
  * std: fix Thread.Pool.spawn

  [ Andrew Kelley ]
  * Release 0.12.0
  * start the 0.13.0 release cycle
  * disable flaky std.fs test
  * disable RISC-V CI testing due to LLVM's O(N^2) codegen

  [ Jacob Young ]
  * Revert "disable flaky std.fs test"
  * Elf: fix unaligned segments on non-linux
  * Elf: fix missing dynrelocs on haiku

  [ Jakub Konka ]
  * link/elf: introduce Atom extras for out-of-band storage
  * link/elf: port macho symbol extras handling
  * link/elf: move fde record indexes into Atom extras
  * link/elf: move relocs indexes into Atom extras
  * link/elf: implement string merging
  * link/elf: skip empty merge sections when resolving
  * link/elf: fix generating invalid section symbol index for merged sections
  * link/elf: actually commit merge sections
  * link/elf: fix parsing SHF_STRINGS section
  * link/elf: remove link.link.build as unused; add some merge strings tests
  * link/elf: keep track of sh_entsize per MergeSubsection
  * test/link/elf: enhance merge strings tests
  * test/link/elf: add merge strings test for -r mode
  * link/elf: populate current Zig version in .comment; test
  * link/elf: create .comment section for build-lib and no-llvm
  * link/elf: fix 32bit build

  [ Linus Groh ]
  * std.fs.Dir.openDir: use wasi libc API when -lc

  [ Frank Denis ]
  * Rename der_encoded_max_length to der_encoded_length_max

  [ Marco F ]
  * update list of missing features in no-LLVM built zig2

  [ Jared Baur ]
  * Fix usage of `unexpectedErrno`

  [ Jakub Konka ]
  * link/macho: introduce Atom extras for out-of-band data
  * link/macho: make --verbose-link represent the actual linker line

  [ Jacob Young ]
  * x86_64: fix C abi for unions

  [ Frank Denis ]
  * Fix WASI threads, again

  [ Travis Staloch ]
  * ComptimeStringMap: return a regular struct and optimize

  [ clickingbuttons ]
  * std.meta: give TagPayloadByName unreachable a better @compileError message

  [ Carl Åstholm ]
  * std.Build: Install Windows DLLs to `<prefix>/bin/` by default

  [ Ryan Liptak ]
  * std.unicode: Fix ArrayList functions when using populated ArrayLists
  * std.process.Child: Mitigate arbitrary command execution vulnerability on Windows (BatBadBut)

  [ David Rubin ]
  * error on `undefined` end index

  [ clickingbuttons ]
  * std.crypto: make ff.ct_unprotected.limbsCmpLt compile (#19741)

  [ Eric Joldasov ]
  * std.zig.system: fix ELF file search

  [ Sean ]
  * Update fmt.zig tests

  [ IntegratedQuantum ]
  * Clarify the blocking behavior of `RwLock.lockShared()`. (#19752)

  [ Ryan Liptak ]
  * windows.GetFinalPathNameByHandle: Support volumes mounted as paths

  [ Andrew Kelley ]
  * migrate langref documentation generation to the build system

  [ zhylmzr ]
  * fix: object size error in archive

  [ antlilja ]
  * LLVM: Remove deprecated or soon to be deprecated constant expressions

  [ Nameless ]
  * std.posix.iovec: use .base and .len instead of .iov_base and .iov_len

  [ Marc Tiehuis ]
  * std.hash.crc: simplify api
  * std.hash.crc: update legacy crc usage in std

  [ Alexandre Janon ]
  * Fix ELF alignment for freestanding targets (#19766)

  [ clickingbuttons ]
  * std.crypto.hash.sha2: cleanup add add more docs (#19744)

  [ Julian ]
  * Sema+llvm:  properly implement `Interrupt` callconv

  [ daurnimator ]
  * test/link/glibc_compat: fix incorrect strlcpy result

  [ Alain Greppin ]
  * NetBSD: avoid ldd error on executables. zig cc produce 4 PT_LOAD segments, wheras on NetBSD, only 2 PT_LOAD are usually produced by other compilers (tested with host gcc and clang).

  [ Andrew Kelley ]
  * C backend: avoid memcpy when len=0
  * std.Build.Step.CheckObject: fix parseDumpNames

  [ Jacob Young ]
  * cbe: fix ub with integer `@abs`

  [ Igor Anić ]
  * std.tar: fix finding tar root_dir (#19829)

  [ Antonio Gomes ]
  * Sema: Don't generate runtime instructions on zirSplat if dest_ty doesn't have runtime bits

  [ Anton Lilja ]
  * LLVM: Fix panic when using tagged union backed by enum with negative values

  [ reokodoku ]
  * Change `std.os` to `std.posix` in error messages

  [ Ryan Liptak ]
  * Build system: Allow specifying Win32 resource include paths using LazyPath

  [ Travis Staloch ]
  * std.StaticStringMap: bump eval branch quota

  [ Jacob Young ]
  * lld: use a response file on `NameTooLong`

  [ Ryan Liptak ]
  * Delete compile errors for deprecated decls
  * Rename Dir.writeFile2 -> Dir.writeFile and update all callsites

  [ Jonathan Marler ]
  * add std.zip and support zip files in build.zig.zon

  [ Andrew Kelley ]
  * add std.Thread.Pool.spawnWg
  * introduce std.process.raiseFileDescriptorLimit

  [ Jacob Young ]
  * link: restore lost passthrough behavior

  [ mlugg ]
  * InternPool: eliminate `var_args_param_type`

  [ Jacob Young ]
  * Run: add lazy path file inputs This replaces `extra_file_dependencies` with support for lazy paths.
  * Build: cleanup
  * Run: add output directory arguments
  * fs: handle `OBJECT_NAME_COLLISION` in `makeOpenPath`
  * cmake: make static curses configurable
  * standalone: support relative cache path

  [ Andrew Kelley ]
  * update CMake files to LLVM 18
  * update ar and clang C++ files to LLVM 18
  * clang patch: update main function
  * llvm-ar patch: update main function
  * update C language headers to LLVM 18
  * update for LLVM 18 new target data
  * update zig_clang C++ API wrapper bindings to LLVM 18
  * update CPU features to LLVM 18
  * LLVM 18 std lib updates and fixes
  * add missing clang static library to the build
  * zig cc: update clang CLI data to LLVM 18
  * LLVM 18 update: avoid passing vectors sometimes
  * LLVM 18 uses 16 byte alignment for x86_64 i128
  * libunwind: update to LLVM 18
  * libcxxabi: update to LLVM 18
  * libcxx: update to LLVM 18
  * add detect-cpu subcommand for debugging CPU features
  * update detectAMDProcessor to detect znver4
  * add M68kRTD to clang calling conventions
  * suppress C++ type-limits warnings
  * zig cc: -Wno-overriding-t-option was renamed
  * libc++: patch tz impl to crash on windows instead of FTBFS
  * update CI tarballs for LLVM 18
  * CI: download tarball if not already present on macos runners
  * libcxx, libtsan, libunwind: fix error reporting
  * CI: fix tarball prefix path to be shared across all users
  * CI: fix windows paths for fetching tarball
  * apparently LLVM depends on ws2_32.dll now
  * std.Target.maxIntAlignment: move to compiler implementation
  * CI: revert the changes to aarch64-windows script
  * update zig1.wasm
  * refresh cmake list of compiler source files
  * link.Wasm: add missing CPU feature
  * std.Target: add spirv to toCoffTarget
  * disable regressed test from LLVM 18 upgrade
  * update maxIntAlignment for x86 to 16
  * disable regressed test from LLVM 18 upgrade

  [ Evan Haas ]
  * translate-c: update UnaryExprOrTypeTrait enum for LLVM 18

  [ Andrew Kelley ]
  * x86_64 sysv C ABI: fix f128 param and return types
  * LLVM backend: no more signext on aarch64
  * add a debug subcommand for printing LLVM integer type alignment
  * LLVM: fix x86 and x86_64 datalayout string calculation
  * Type.intAbiAlignment: update for LLVM 18 changes
  * LLVM: zeroext/signext does happen on macos

  [ Jacob Young ]
  * x86_64: fix C abi of incomplete sse register

  [ Andrew Kelley ]
  * restructure unit test to be easier to debug
  * disable x86_64-macos -OReleaseSmall tests
  * fix wrong int alignment for i65..i127 on x86 arch
  * CI: update x86_64-macos tarball
  * libcxxabi patch: respect NDEBUG
  * update tarballs to 0.13.0-dev.130+98a30acad

  [ Jakub Konka ]
  * link/macho: add support for VisionOS
  * handle visionos target OS tag in the compiler
  * link/macho: look in lib dirs (-L) for libSystem too
  * codegen/llvm: handle missing Apple targets
  * test/llvm_targets: add watchos, tvos and visionos to test matrix

  [ february cozzocrea ]
  * aro translate-c: support for record types added

  [ Pavel Verigo ]
  * std.compress.flate: fix panic when reading into empty buffer

  [ Karl Bohlmark ]
  * fix integer overflow in IoUring buffer ring size calculation

  [ Pyry Kovanen ]
  * llvm: always include debug information for global variables

  [ Garfield Lee ]
  * lib/std/os/windows/kernel32: add signature for SetConsoleMode (#18715)

  [ Ryan Liptak ]
  * WindowsSdk: Fix finding the _Instances directory when it's not in the default location
  * WindowsSdk: Fix every registry key being opened with KEY_WOW64_32KEY

  [ Veikka Tuominen ]
  * define an error set for `std.io.tty.Config.setColor`

  [ expikr ]
  * std.os.windows: add compileError warning against `TCHAR` & their corresponding string/pointer types (#18741)

  [ Abhinav Gupta ]
  * ChildProcess: document StdIo behaviors (#17553)

  [ Lucas Santos ]
  * Avoid unnecessary operation in PageAllocator.

  [ Pyrolistical ]
  * [docs] add examples of array/slice init using result location

  [ Andrew Kelley ]
  * Revert "Merge pull request #19349 from nolanderc/save-commit"

  [ 190n ]
  * Do not run asserts for WASI alignment when not targeting WASI

  [ Dominic ]
  * astgen: fix result info for catch switch_block_err_union

  [ David Rubin ]
  * riscv: initial cleanup and work
  * riscv: basic function arguments
  * riscv: update `start.zig` and restore ra from the proper stack offset
  * riscv: implement `@abs`
  * riscv: implement basic branching
  * riscv: basic struct field access
  * riscv: add `cmp_eq` MIR instruction
  * riscv: implement basic logical shifting
  * riscv: 16 bit `@byteSwap`
  * riscv: implement 64 bit immediate into register loading
  * riscv: progress toward arrays
  * riscv: update builtin names
  * riscv: remove an allocation from `dwarf.zig`
  * riscv: reorganize `binOp` and implement `cmp_imm_gte` MIR
  * riscv: change up how we do args
  * riscv: pointer work
  * riscv: correct the order of the return epilogue
  * riscv: add `allocReg` helper, and clean up some comparing logic
  * riscv: correctly index struct field access
  * riscv: fix how we calculate stack offsets. allows for pass by reference arguments.
  * riscv: change `load_symbol` psuedo instruction size to 8
  * riscv: fix overflow checks in addition.
  * riscv: add a custom panic function
  * riscv: implement a basic `@intCast`
  * riscv: switch `default_panic` to use the message
  * riscv: totally rewrite how we do loads and stores
  * riscv: implement slices
  * riscv: correctly derefence `load_symbol` in genSetReg
  * riscv: pass optionals by register_pair for resolveCallingConventionValues
  * riscv: implement `structFieldPtr` and `retLoad`
  * riscv: implement `airNot`
  * riscv: add enough components to get a test runner working
  * riscv: almost `@errorName` but not loading correctly
  * riscv: big rewrite to use latest liveness
  * riscv: spill args immediately to prevent clobbers
  * riscv: back to hello world panics
  * riscv: actually working test runner
  * riscv: add stage2_riscv to test matrix and bypass failing tests
  * riscv: mutable globals
  * riscv: math progress
  * riscv: by-value structs + `@min`
  * riscv: finally fix bug + `airAggregateInit`
  * riscv: intcast `got_addr`
  * riscv: update behaviour tests again

  [ Jordan Yates ]
  * Bump required LLVM version in README.md

  [ Andrew Kelley ]
  * std.Build.Step.Run: add missing call to writeManifest

  [ Christofer Nolander ]
  * `zig fetch`: resolve branch/tag names to commit SHA (#19941)

  [ Georgijs ]
  * windows: use permissive file share flags everywhere (#19505)

  [ Ronald Chen ]
  * [std] Fixed bug missing optional for lpName param on CreateEventExW. fixes #19946 https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-createeventexw

  [ Jakub Konka ]
  * test/standalone: fix iOS smoke test
  * Step.CheckObject: put MachO object parsing logic in ObjectContext wrapper
  * Step.CheckObject: support dumping raw section contents for MachO

  [ r00ster91 ]
  * Sema error: talk about discarding instead of suppressing
  * Sema: remove periods from the few error messages that have them
  * Sema: add error note for !?Type types when optional type is expected
  * Sema: improve error set/union discard/ignore errors

  [ Wooster ]
  * Sema: suggest using try/catch/if on method call on error union

  [ Eric Joldasov ]
  * CMake: bump minimum required version to "3.15"
  * CMake: remove unused variables `EXE_LDFLAGS` and `ZIG_LIB_DIR`
  * CMake: refactor "zigcpp" target logic
  * build.zig: sync "exe_cflags" with CMake
  * CMake: remove C/C++ flags override for static executable
  * CMake: clean `CMAKE_{SOURCE,BUILD}_DIR`
  * CMake: refactor `ZIG_PIE` and `ZIG_BUILD_ARGS`
  * CMake: remove `ZIG_USE_CCACHE` option
  * CMake: try to fix CI failures

  [ clickingbuttons ]
  * std.crypto: Add ASN1 module with OIDs and DER
  * std.crypto.asn1: add short comments and der tests
  * std.crypto.asn1: add lapo.it url for all_types.der

  [ Hampus Fröjdholm ]
  * gpa: Add helper to calculate size class of empty buckets
  * gpa: Fix GeneralPurposeAllocator double free stack traces

  [ Wes Koerber ]
  * fix: incorrect field sizes in std.os.linux.ifmap

  [ february cozzocrea ]
  * Minor follow-up improvements to PR #19227 for aro translate-c

  [ Jacob Young ]
  * Build.Step.Run: fix cache management when there are side effects

  [ Veikka Tuominen ]
  * Target: add OpenHarmonyOS ABI

  [ Alex Kladov ]
  * std: align PriorityQueue and ArrayList API-wise

  [ Andrew Kelley ]
  * update libcxx and libcxxabi to llvm 18.1.6

  [ Ridai Govinda Pombo ]
  * cmake/llvm: Don't unset LLVM_CONFIG_EXE

  [ Simon Brown ]
  * Implement addManyAsSlice for BoundedArray

  [ poypoyan ]
  * std.math.big.int.Managed: adjust size of arg for limbs_buffer in format()

  [ orvit ]
  * use constant in formatType

  [ Veikka Tuominen ]
  * llvm: lower ptr to int constants with correct address spaces
  * llvm: fix lowering of packed structs with optional pointers

  [ Hampus Fröjdholm ]
  * gpa: Fix GeneralPurposeAllocator crash when deallocating metadata
  * gpa: Add never_unmap and retain_metadata test

  [ wooster0 ]
  * Sema: add missing declared here note

  [ Jiacai Liu ]
  * std-docs: use `open` for macOS.

  [ Jakub Konka ]
  * test/link: actually run tests requiring symlinks on non-Win

  [ Veikka Tuominen ]
  * llvm: fix `@wasmMemory{Size,Grow}` for wasm64

  [ Andrew Kelley ]
  * std autodocs server: don't trim all URLs

  [ Jacob Young ]
  * Compilation: better cleanup of temporary files

  [ David Rubin ]
  * implement `@expect` builtin (#19658)

  [ Andrew Kelley ]
  * Revert "implement `@expect` builtin (#19658)"

  [ Jakub Konka ]
  * link/macho: dedup literals in objects and internal object file
  * link/macho: apply fixes to deduping logic
  * link/macho: test merging literals targeting ObjC
  * test/link/macho: clean up merge literals tests on aarch64
  * test/link/macho: test merge literals on x86_64
  * link/macho: print error message when hitting unexpected remainder error
  * link/macho: ensure we set alignment of literals to max alignment
  * link/macho: fix 32bit build
  * link/macho: fix perf bug in DWARF parsing

  [ kcbanner ]
  * cmake: add /Zc:preprocessor to handle new OptTable macros

  [ Jakub Konka ]
  * Step/CheckObject: handle stab entries when dumping MachO symtab
  * test/link/macho: add symbol stabs smoke test
  * link/macho: fix 32bit build

  [ Andrew Kelley ]
  * Revert "cmake/llvm: Don't unset LLVM_CONFIG_EXE"
  * std: restructure child process namespace

  [ Ryan Liptak ]
  * std.process.Child: Improve doc comments of Windows argv -> command line functions

  [ Jacob Young ]
  * Compilation: fix regressed assembly diagnostics
  * EnumMap: fix init

  [ Matthew Lugg ]
  * std.process.Child: prevent racing children from inheriting one another's pipes

  [ Sean ]
  * hash_map.zig: Pass `self` by value and less pointer-int conversion

  [ Andrew Kelley ]
  * test cases: try running foreign binaries
  * start reworking std.Progress
  * progress progress
  * rework std.Progress again
  * fix terminal repainting
  * keep the cursor at the end instead of beginning
  * fix clearing and sibling iteration
  * std.Progress: truncate trailing newline
  * std.Progress: child process sends updates via IPC
  * std.Progress: include subtrees from child processes
  * std.Progress: save a copy of IPC data
  * std.process.Child: fix ZIG_PROGRESS env var handling
  * std.Progress: fix using saved IPC data
  * update the codebase for the new std.Progress API
  * test runner: update to new std.Progress API
  * std.Build.Step: don't create an empty progress node
  * std.debug.Trace: follow the struct default field guidance
  * Compilation: only create progress nodes for work actually being done
  * main: avoid creating multiple std.Progress instances
  * std.Progress: fixes
  * compiler: show decl name in progress node
  * zig build: lock stderr while executing the build runner
  * std.Progress: skip printing root node when it is empty
  * std.Progress: fix race condition with IPC nodes
  * std.Build.Step.Run: don't create empty progress node

  [ mlugg ]
  * std.process.Child: prevent racing children from inheriting progress pipes
  * Module: fix and improve progress reporting

  [ Jacob Young ]
  * Progress: fix compile errors on windows

  [ Andrew Kelley ]
  * std.Progress: correct the top level doc comments
  * std.process.Child: comptime assert to protect prog_fileno
  * Compilation: fix sub-compilations given wrong progress node
  * std.process: fix compilation on 32-bit targets
  * frontend: fix use of undefined progress node
  * std.Progress: move global preallocations to thread memory
  * std.Progress: move more global preallocations to thread memory
  * std.Progress: truncate IPC data exceeding preallocated buffers
  * std.Progress: avoid scrolling the PS1 off the terminal
  * std.Progress: smaller type for parents and robustify
  * std.Progress: use std.log.debug rather than warn
  * zig build: give a root progress name
  * std.Progress: keep cursor on newline
  * std.Progress: handle when terminal write buffer too small
  * std.Progress: count newlines more accurately
  * std.Progress: elide root node if empty
  * CLI: add missing call to root progress node end()
  * std.process.cleanExit: lock stderr before exiting
  * build runner: use "configure" for the progress name
  * resinator: update to new progress API
  * std.Build.Step.Run: account for new environment variable
  * std.Progress: adjust the timings a little bit
  * std.Progress: handle big-endian targets
  * std.Progress: handle short writes
  * fix zig translate-c creating root progress node twice
  * translate-c tests: skip_foreign_checks=true
  * std.Progress: fix race condition with setIpcFd
  * zig build: respect --color argument
  * std.process.Child: fix spawning child proc with new cwd fd
  * CLI: actually fix translate-c creating root progress node twice
  * std.Progress: relax some of the atomic orderings

  [ Ryan Liptak ]
  * std.Progress: Use Windows console API calls when ANSI escape codes are not supported

  [ Andrew Kelley ]
  * std.Progress: better Windows support

  [ Linus Groh ]
  * std.Build.step.Compile: Fix lib{c,cpp} mixup in dependsOnSystemLibrary()

  [ T. M ]
  * std: Avoid overflowing in the midpoint calculation in upperBound

  [ Tim Culverhouse ]
  * init: clarify .paths usage in build.zig.zon

  [ Ryan Liptak ]
  * std.Progress: Fix Windows console API implementation

  [ Andrew Kelley ]
  * zig fmt: ignore hidden files and directories
  * rename zig-cache to .zig-cache
  * update .gitignore to account for .zig-cache rename

  [ Vahur Sinijärv ]
  * mark anondecls as constants in llvm ir

  [ expikr ]
  * math.hypot: fix incorrect over/underflow behavior (#19472)

  [ Manlio Perillo ]
  * std/math: import "math/float.zig" only once

  [ George Thayamkery ]
  * not android check on std.debug.getContext

  [ Andrew Kelley ]
  * std.Progress: IPC fixes
  * std.Build.Step.Run: global lock when child inherits stderr
  * std.Progress: keep the cursor at the beginning

  [ koenditor ]
  * Support Vectors in std.math.clamp

  [ Veikka Tuominen ]
  * llvm: disable constant anons on Darwin
  * pass `-fno-builtin` when testing `lib/c.zig`, `lib/compiler_rt.zig`
  * remove std.Ini

  [ Ryan Liptak ]
  * Progress: Emit \r\n on Windows, include new line bytes in line_upper_bound_len

  [ Veikka Tuominen ]
  * Sema: add missing error for runtime `@ptrFromInt` to comptime-only type
  * Sema: validate function signature for Signal calling convention

  [ Andrew Kelley ]
  * zig run: finish progress node before executing child
  * std.Progress: fix line upper bound calculation

  [ Carl Åstholm ]
  * Replace YES_COLOR with CLICOLOR_FORCE

  [ Garfield Lee ]
  * lib/std/fs/File: enable VT seq support for Windows Console

  [ Meghan Denny ]
  * std.meta.hasUniqueRepresentation: better support packed structs

  [ Ryan Liptak ]
  * Add `File.getOrEnableAnsiEscapeSupport` and use it

  [ Frank Denis ]
  * sha3.keccak: allow Keccak[f=200] (#20181)
  * crypto.edwards25519: add the ability to check for group membership (#20175)

  [ Andrew Kelley ]
  * update musl headers to v1.2.5
  * update musl source files to v1.2.5

  [ Ryan Liptak ]
  * Dir.makeOpenPathAccessMaskW: Fix leaking intermediate directory handles
  * fs tests: Fix leaking a directory handle in "makepath existing directories" test

  [ Andrew Kelley ]
  * update musl libc.S to v1.2.5
  * LLVM backend: loongarch64 support

  [ freakmangd ]
  * translate-c: promote macros that reference var decls to inline functions

  [ Michael Dusan ]
  * ld.lld: fix -m option for big-endian arm/aarch64

  [ Ryan Liptak ]
  * File.getOrEnableAnsiEscapeSupport: Do not attempt to set DISABLE_NEWLINE_AUTO_RETURN

  [ Andrew Kelley ]
  * seriously people, don't put "zig-" in your package names

  [ YANG Xudong ]
  * generate loongarch64 Linux syscalls

  [ wooster0 ]
  * objcopy build step: don't accept multiple sections

  [ Andrew Kelley ]
  * update glibc headers to 2.39
  * musl: add missing entry to available_libcs
  * glibc: add riscv32 and loongarch64
  * glibc patch: don't hardcode __GLIBC_MINOR__
  * glibc patch: version-gate _DYNAMIC_STACK_SIZE_SOURCE

  [ Motiejus Jakštys ]
  * glibc patch: add backwards compatibility for some symbols
  * glibc patch: add a few dn_* functions

  [ Xavier Bouchoux ]
  * glibc patch: add backwards compatibility for strtol-family functions

  [ Pat Tullmann ]
  * glibc headers: reallocarray added to glibc in v2.26
  * glibc: strlcpy and strlcat arrived in glibc 2.38

  [ Markus F.X.J. Oberhumer ]
  * glibc: move __GLIBC__ version defines to the top of the file
  * glibc: use __GLIBC_USE_DEPRECATED_SCANF for glibc versions < 2.7

  [ Andrew Kelley ]
  * glibc: update abilists file
  * update glibc start files to 2.39

  [ Motiejus Jakštys ]
  * glibc patch: add backwards compatibility for some symbols

  [ Andrew Kelley ]
  * glibc patch: inline x86-lp_size.h
  * glibc patch: make fstatat.c and fstatat64.c compile
  * glibc patch: add missing includes for inttypes.h
  * glibc patch: don't check __LIBC macro
  * glibc patch: remove some static asserts from fstatat

  [ Kang Seonghoon ]
  * glibc patch: get correct files compiled into libc_nonshared.a

  [ Pat Tullmann ]
  * glibc: restore "weak_hidden_alias" macro for older glibc versions

  [ Andrew Kelley ]
  * glibc: add min version annotation for riscv32 and loongarch64

  [ Maciej 'vesim' Kuliński ]
  * Add support for []enum in Build.option

  [ Pat Tullmann ]
  * test/link/glibc_compat: Add C test case for glibc versions
  * target.zig: Constrain aarch64 to glibc version 2.17 or later

  [ Andrew Kelley ]
  * disable failing IoUring test

  [ Ben Crist ]
  * Build system: Support Windows depfiles with unquoted, backslash escaped spaces (#20100)

  [ Andrew Kelley ]
  * Release 0.13.0

  [ Clay Risser ]
  * Debian unstable initial commit
  * Update license in debian/copyright from Expat to Apache-2.0, including full license text and additional comments for Debian systems.

 -- Clay Risser <clay@clayrisser.com>  Sat, 05 Jul 2025 15:39:15 -0500
