Alex Rønne Petersen
a8f9b5dc06
ci: apply workaround for #22213 to x86_64-linux scripts
2025-11-28 22:06:46 +01:00
Alex Rønne Petersen
713716770e
README: github -> codeberg for some links
2025-11-28 18:29:05 +01:00
Andrew Kelley
e19c61a16e
issue templates: use anchors in URLs
2025-11-28 07:38:24 -08:00
jedisct1
e6d19a07d2
Merge pull request 'std.crypto: add hybrid post-quantum/traditional key encapsulation' ( #30010 ) from jedisct1/zig:hybridkem into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30010
2025-11-28 09:10:20 +01:00
Alex Rønne Petersen
fbafbd4262
ci: pin actions/checkout to current ziglang/checkout@HEAD
2025-11-27 21:07:58 +01:00
Purple
7af412b6b4
Update std.zig.system.NativePaths.detect to support some more flags on NixOS like environment.
...
Basically detect `-idirafter` flag in `NIX_CFLAGS_COMPILE` and treat it like `-isystem`, also detect `NIX_CFLAGS_LINK` environment variable and treat it like the `NIX_LDFLAGS` .
Reference:
74eefb4210/pkgs/build-support/build-fhsenv-chroot/env.nix (L83)
2025-11-27 20:49:55 +01:00
Andrew Kelley
e427ba9cd5
std.sort.partitionPoint: faster implementation ( #30005 )
...
Migrated from https://github.com/ziglang/zig/pull/21419
Co-authored-by: Jonathan Hallstrom <lmj.hallstrom@gmail.com>
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30005
2025-11-27 20:48:54 +01:00
Frank Denis
ca96d853ff
std.crypto: add hybrid post-quantum/traditional key encapsulation
...
Hybrid KEMs combine a post-quantum secure KEM with a traditional
elliptic curve Diffie-Hellman key exchange.
The hybrid construction provides security against both classical and quantum
adversaries: even if one component is broken, the combined scheme remains
secure as long as the other component holds.
The implementation follows the IETF CFRG draft specification for concrete
hybrid KEMs:
https://datatracker.ietf.org/doc/draft-irtf-cfrg-concrete-hybrid-kems/
2025-11-27 12:10:17 +01:00
Frank Denis
854774d468
http.requestHasBody: a PUT response can have a body
...
HEAD/TRACE are bodyless, but PUT responses are body-capable
per RFC 7231.
2025-11-26 20:08:14 -08:00
Jacob Young
a1827d5977
x86_64: fix abi of a struct that partially fits in registers
...
Closes #26035
2025-11-27 05:05:59 +01:00
Alex Rønne Petersen
51bb2b3d2d
remove zig-cache from .gitignore
...
It's been a while since this was renamed to .zig-cache.
2025-11-26 23:36:11 +01:00
Alex Rønne Petersen
9b752cb989
adjust issue templates for Codeberg
2025-11-26 23:36:11 +01:00
Alex Rønne Petersen
4d58fafaf2
ci: remove GitHub Actions
2025-11-26 23:36:11 +01:00
Alex Rønne Petersen
43b4368b94
ci: bump riscv64-linux-debug timeout by 1 hour
...
A very recent change seems to have made this slower.
2025-11-26 19:29:36 +01:00
Alex Rønne Petersen
c969ef7cbe
ci: make the workflow file a bit more readable
2025-11-26 19:29:06 +01:00
Andrew Kelley
fc8a51ece3
README: enhance plain text readability
...
this file is first and foremost plain text, and rendered markdown
second.
2025-11-26 09:55:00 -08:00
Alex Rønne Petersen
2e328beaa5
Merge pull request #26005 from jedisct1/kt128r
...
Add std.crypto.hash.sha3.{KT128,KT256} - RFC 9861. (#25593 )
2025-11-26 17:24:13 +01:00
Jay Petacat
b6e1a100b8
std.Progress: Terminate progress escape codes with ST not BEL
...
`ST` is the "string terminator" and what is actually prescribed in the
standard for escape codes. Use of `BEL` as a terminator is apparently a
historical oddity that persists for compatibility. Unfortunately, not
all terminals support using `BEL`, including Ubuntu's new default
terminal, Ptyxis. Using `ST` should make it work in more terminals.
Further reading:
- https://en.wikipedia.org/wiki/ANSI_escape_code#Operating_System_Command_sequences
- https://ecma-international.org/wp-content/uploads/ECMA-48_5th_edition_june_1991.pdf
2025-11-26 14:16:08 +01:00
Giuseppe Cesarano
0b5b35c696
std.elf implemented DynamicSectionBufferIterator
2025-11-26 11:30:03 +01:00
Frank Denis
5f73c01368
crypto.blake3: sequentially process larger small tree layers ( #26046 )
...
Improves performance by spawning less threads.
2025-11-26 10:16:20 +01:00
Frank Denis
846082fdf2
std.crypto.kt128: add support for threads
...
Allow KT128 and KT256 to use multiple threads to quickly process
very large inputs.
2025-11-26 10:08:09 +01:00
Frank Denis
9ede8ee135
Add std.crypto.hash.sha3.{KT128,KT256} - RFC 9861. ( #25593 )
...
KangarooTwelve is a family of two fast and secure extendable-output
functions (XOFs): KT128 and KT256. These functions generalize
traditional hash functions by allowing arbitrary output lengths.
KangarooTwelve was designed by SHA-3 authors. It aims to deliver
higher performance than the SHA-3 and SHAKE functions defined in
FIPS 202, while preserving their flexibility and core security
principles.
On high-end platforms, it can take advantage of parallelism,
whether through multiple CPU cores or SIMD instructions.
As modern SHA-3 constructions, KT128 and KT256 can serve as
general-purpose hash functions and can be used, for example, in
key-derivation, and with arbitrarily large inputs.
RFC9861: https://datatracker.ietf.org/doc/rfc9861/
2025-11-26 10:08:09 +01:00
IOKG04
e23af9d31d
Build.Step.Options: add comptime_float support
...
It seems to me this was simply forgotten.
Or there is some reason I don't know why this code doesn't work for `comptime_float`.
For a more comprehensive fix, https://github.com/ziglang/zig/pull/24057 is the place to look.
2025-11-26 09:57:49 +01:00
Mateusz Poliwczak
f3270ceca4
std.zig.AstGen: rename token_bytes parameter to ident_name_raw
...
This method is called on an identifier token, so let's rename the parameter to make this clear.
This is also how it's named on most of the caller's sides.
2025-11-26 09:49:50 +01:00
Eamon Burns
5cb72fce91
docs: fix up some README links
...
- https://github.com/ziglang/zig-bootstrap -> https://codeberg.org/ziglang/zig-bootstrap
- https://github.com/ziglang/qemu-static -> https://codeberg.org/ziglang/qemu-static
- Add <...> around bare URLs
- Link to tips inside README.md, rather than in CONTRIBUTING.md
2025-11-26 09:36:58 +01:00
Jacob Young
6ef3af4c1c
ci: remove hardcoded paths in aarch64-macos scripts
2025-11-25 22:24:19 +01:00
Alex Rønne Petersen
f50b0d7136
ci: add aarch64-macos to Forgejo Actions
2025-11-25 22:21:25 +01:00
Andrew Kelley
0f1a6ae943
fetch: update from std.Thread.Pool to std.Io
2025-11-25 09:40:27 -08:00
Mateusz Poliwczak
d0ba6642b5
std.Zig.AstGen: handle properly .inferred_ptr and .destructure in enum_literal handling
...
rl.resultType() returns null for inferred_ptr and destructure, so move
that to the unreachable block.
2025-11-25 05:58:30 -08:00
Nir Lahad
14ba3bd9a1
std.testing: Fix expectEqualDeep formatted enum ( #25960 )
2025-11-25 05:39:07 -08:00
Zihad
e4be00f949
std.Io.Threaded: fix QueryPerformanceCounter usage
...
Co-authored-by: Andrew Kelley <andrew@ziglang.org>
2025-11-25 03:46:24 -08:00
Andrew Kelley
5816646aa0
Merge pull request #26037 from ziglang/build-runner-std.Io
...
build runner: update from std.Thread.Pool to std.Io
2025-11-25 02:49:37 -08:00
Ryan Liptak
53e615b920
Merge pull request #25993 from squeek502/windows-paths
...
Teach `std.fs.path` about the wonderful world of Windows paths
2025-11-24 15:27:24 -08:00
Andrew Kelley
84353183c7
build runner: fix recursive locking of max_rss_mutex
2025-11-24 14:34:18 -08:00
Andrew Kelley
ece62a0223
frontend: introduce error.Canceled
2025-11-24 14:34:18 -08:00
Andrew Kelley
3f34f5e433
build runner: update Mutex and Condition usage to std.Io
2025-11-24 14:34:18 -08:00
Andrew Kelley
a242292644
build runner: update from std.Thread.Pool to std.Io
2025-11-24 14:34:18 -08:00
Andrew Kelley
32dc46aae5
std.Io: add Group.concurrent
...
A function that participates in a group but guarantees allocation of one
unit of concurrency, or returns an error.
2025-11-24 14:33:16 -08:00
Giuseppe Cesarano
476d7d939c
std.Io.File.readPositional fixed buffer type
2025-11-24 21:32:18 +01:00
Frank Denis
3c647ca6bb
crypto.ml_kem: avoid redundant assignment & fix K-PKE.KeyGen ( #26031 )
...
FIPS-203 algorithm 13 for deterministic key generation uses
(𝜌, 𝜎) ← G(𝑑 ‖ 𝑘) , not (𝜌, 𝜎) ← G(k ‖ d)
2025-11-24 18:45:48 +00:00
Ryan Liptak
289f2f0d34
Merge pull request #17541 from moosichu/fix/wine-get-final-path-name-by-handle
...
Windows: Deal with NT namespaced paths in GetFinalPathNameByHandle
2025-11-24 07:17:30 -08:00
Andrew Kelley
66fe584ead
README: update some links
2025-11-24 06:39:28 -08:00
Ryan Liptak
ccc5e581a8
Merge pull request #26030 from squeek502/windows-cleanup
...
Cleanup some Windows stuff, delete unused functions and kernel32 bindings
2025-11-24 06:14:21 -08:00
Ryan Liptak
bf25816067
Move Windows rename implementation from std.posix to windows.RenameFile
...
This also unifies the rename implementations, since previously `posix.renameW` used `MoveFileEx` while `posix.renameatW` used `NtOpenFile`/`NtSetInformationFile`. This, in turn, allows the `MoveFileEx` bindings to be deleted as `posix.renameW` was the only usage.
2025-11-23 23:38:01 -08:00
Ryan Liptak
17ecc77fc4
os.windows: Delete unused functions and kernel32 bindings
2025-11-23 23:38:01 -08:00
Alex Rønne Petersen
b31173179b
ci: bump riscv64-linux-release timeout to 8 hours on Forgejo Actions
2025-11-24 06:29:53 +01:00
Ryan Liptak
d48faf1a32
windows.GetFinalPathNameByHandle: add links to bugs tracking the Wine workaround
2025-11-23 19:10:23 -08:00
fkobi
9082b004b6
README: use HTTPS for releases.llvm.org
2025-11-23 20:54:20 +01:00
meowjesty
755a3d957c
langref: convert to unmanaged ArrayList in example
2025-11-23 18:32:05 +00:00
Justus Klausecker
e5c2df9f17
std.math.big.int: fix format functions
2025-11-23 09:52:43 -08:00