Andrew Kelley
5e242f0551
Merge pull request 'libc: use common ctype.h implementation' ( #30763 ) from GasInfinity/zig:libc-ascii-ctype into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30763
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-01-09 22:38:06 +01:00
Andrew Kelley
721bdb6256
Merge pull request 'crypto.scrypt: accept an std.Io parameter instead of direct entropy' ( #30738 ) from jedisct1/zig:scryptfixes into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30738
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-01-09 09:39:35 +01:00
Andrew Kelley
7c0b42ba0c
Merge pull request 'crypto.ed25519.Signer: get an std.io parameter rather than entropy' ( #30736 ) from jedisct1/zig:edsigned into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30736
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
2026-01-09 09:38:44 +01:00
Linus Groh
27039a014c
std.c: Make clock_nanosleep available on serenity
...
Follow-up to https://codeberg.org/ziglang/zig/pulls/30746 .
The TIMER_ABSTIME value was adjusted to match other systems in
https://github.com/SerenityOS/serenity/pull/26543 .
2026-01-09 09:37:49 +01:00
Kevin Primm
b929078dac
std.Io.Threaded: Raise specific error when DNS lookup returns no A/AAAA records
...
closes #25948
2026-01-08 20:44:47 -08:00
Jon Parise
efe649b13e
std.Io.net: make HostName.validate RFC 1123-compliant
...
The implementation of HostName.validate was too generous. It considered
strings like ".example.com", "exa..mple.com", and "-example.com" to be
valid hostnames, which is incorrect according to RFC 1123 (the currently
accepted standard).
Reviewed-on: https://github.com/ziglang/zig/pull/25710
2026-01-08 20:40:32 -08:00
Matthew Lugg
aebd84b525
build runner: refactor step evaluation logic
...
The previous logic was made really messy by the fact that upon entry to
the step eval worker, the step may not be ready to run, we may be racing
with other workers doing the same check, and we had already acquired our
RSS requirement even though we might not run. It also required iterating
all dependencies each time we were called to check whether we were even
ready to run yet.
A much better strategy is for each step to have an atomic counter
representing how many of its dependencies are yet to complete. When a
step completes (successfully or otherwise), it decrements this value for
all of its dependants, and if it drops any to 0, it schedules that step
to run. This means each step is scheduled exactly once, and only when
all of its dependencies have finished, reducing redundant checks and
hence contention. If the step being scheduled needs to claim RSS which
isn't available, then it is instead added to `memory_blocked_steps`,
which is iterated by the step worker after a step with an RSS claim
finishes.
This logic is more concise than before, simpler to understand, generally
more efficient, and fixes a bug in the RSS tracking. Also, as a nice
side effect, it should also play a little bit nicer with `Io.Threaded`'s
scheduling strategy, because we no longer spawn extremely short-lived
tasks all the time as we previously did.
Resolves: https://codeberg.org/ziglang/zig/issues/30742
2026-01-09 03:16:39 +01:00
Luna Schwalbe
04e73d03bd
android: detect native ABI and API level correctly
...
ABI detection previously did not take into account the non-standard
directory structure of Android. This has been fixed.
The API level is detected by running `getprop ro.build.version.sdk`,
since we don't want to depend on bionic, and reading system properties
ourselves is not trivially possible.
2026-01-09 02:47:13 +01:00
Khitiara
e8af0f2cc0
Fix format on uefi guid type, was hitting unreachable
2026-01-09 02:42:22 +01:00
GasInfinity
e558e64ca0
feat(std.ascii): add isGraphical and isPunctuation
2026-01-09 02:27:31 +01:00
Andrew Kelley
ecea8cc16d
std.Io.Threaded: refactor some error handling
2026-01-08 13:35:47 -08:00
Andrew Kelley
09028bac29
std.Io.Threaded: fix init for single-threaded
2026-01-08 12:36:41 -08:00
Andrew Kelley
20baf049aa
std.Io: add doc comments
2026-01-08 12:36:07 -08:00
Andrew Kelley
70af303a2b
std.Io: move some decls around
...
This file has changed a lot since the previous release, and I resisted
the urge to do this until the conflicts would be minimized.
2026-01-08 12:35:57 -08:00
Andrew Kelley
b0570b807f
Merge pull request 'std.Io.Threaded: clock_nanosleep is not linux-only' ( #30746 ) from clock_nanosleep into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30746
2026-01-08 21:00:36 +01:00
Andrew Kelley
1face9ad78
std.c.SIG: make it non-exhaustive
...
54a84964f8 did this for std.os.linux.SIG
but I neglected to also do it for std.c.SIG
2026-01-08 20:52:42 +01:00
Alex Rønne Petersen
d1be8b138e
Merge pull request 'enable x86_64-openbsd CI' ( #30733 ) from alexrp/zig:openbsd-ci into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30733
2026-01-08 12:35:11 +01:00
Ian Johnson
ac91799332
std.meta.hasUniqueRepresentation: consider enum tag type
...
Closes #30731
2026-01-08 09:24:12 +01:00
Andrew Kelley
6f7968f165
Merge branch "remove many std.posix functions"
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30741
2026-01-08 00:19:12 -08:00
Andrew Kelley
130fc7ef75
std.c: use {} rather than void for absent functions
2026-01-07 21:13:16 -08:00
Andrew Kelley
4319c8924e
std.Io.Threaded: clock_nanosleep is not linux-only
...
clock_nanosleep is specified by POSIX but not implemented on these
hereby shamed operating systems:
* macOS
* OpenBSD (which defines TIMER_ABSTIME for some reason...?)
2026-01-07 21:13:16 -08:00
moriazoso
514b103edb
std.Io.Threaded: correctly initialize PosixAddress/WsaAddress from sockaddr ( #30722 )
...
Resolves ziglang/zig#30672 - UB caused by `std.Io.Threaded.netLookupFallible` incorrectly initializing `PosixAddress`/`WsaAddress` from `*sockaddr`.
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30722
Co-authored-by: moriazoso <greysonmurray.dev@gmail.com >
Co-committed-by: moriazoso <greysonmurray.dev@gmail.com >
2026-01-08 06:01:44 +01:00
Andrew Kelley
6a5bb3ede3
std: find a better home for the "preopens" concept
2026-01-08 05:06:31 +01:00
Andrew Kelley
ce89006035
std.Io.Kqueue: fix bitrot
2026-01-07 18:00:36 -08:00
Andrew Kelley
c0092f5394
std.Io: expose Kqueue and IoUring directly
2026-01-07 17:33:07 -08:00
Andrew Kelley
cbd75b484f
std.posix: remove recvfrom, recvmsg
...
see #6600
2026-01-07 17:33:07 -08:00
Andrew Kelley
d96d735338
posix: remove send, sendto, sendmsg
...
see #6600
2026-01-07 17:33:07 -08:00
Andrew Kelley
791baefff2
goodbye posix.nanosleep
...
see #6600
2026-01-07 17:33:07 -08:00
Andrew Kelley
45b931a23f
goodbye posix.fork
...
see #6600
nobody should be using fork anyway, especially Redis
2026-01-07 17:33:07 -08:00
Andrew Kelley
3961fe3de9
std: move posix.kevent to Io.Kqueue
2026-01-07 17:33:07 -08:00
Andrew Kelley
2c6304efc7
std: move posix.kqueue to Io.Kqueue.createFileDescriptor
2026-01-07 17:33:07 -08:00
Andrew Kelley
be0a4dc299
goodbye posix.fstatat
...
see #6600
2026-01-07 17:33:07 -08:00
Andrew Kelley
829afe98d1
std.posix: remove getsockopt, getsockoptError
...
see #6600
2026-01-07 17:33:07 -08:00
Andrew Kelley
02c260dd06
goodbye posix.getsockname
...
see #6600
2026-01-07 17:33:07 -08:00
Andrew Kelley
1b43f27a91
std.posix: delete epoll APIs
...
see #6600
2026-01-07 17:33:07 -08:00
Andrew Kelley
55ad03e261
goodbye posix.accept
...
see #6600
2026-01-07 17:33:06 -08:00
Andrew Kelley
c89df809b9
goodbye posix.listen
...
see #6600
2026-01-07 17:33:06 -08:00
Andrew Kelley
4a49546f59
goodbye posix.bind
...
see #6600
2026-01-07 17:33:06 -08:00
Andrew Kelley
ed4dfdcff0
goodbye posix.shutdown
...
see #6600
2026-01-07 17:33:06 -08:00
Andrew Kelley
d10a730480
goodbye posix.socket
...
see #6600
2026-01-07 17:33:06 -08:00
Andrew Kelley
ceae9600e3
std.posix: remove setuid, seteuid, setgid, setegid, getuid, etc
...
applications and libraries should reach for the lower level APIs instead
2026-01-07 17:33:06 -08:00
Andrew Kelley
213ef95346
goodbye posix.open
...
see #6600
2026-01-07 17:33:06 -08:00
Andrew Kelley
2f372b3dc0
goodbye posix.write
...
see #6600
2026-01-07 17:33:06 -08:00
Andrew Kelley
7248b4a4e4
std.fs: deprecate base64 APIs
...
100% of std.fs is now deprecated.
2026-01-07 17:33:06 -08:00
Andrew Kelley
c44e12dcd3
std: find a better home for the "preopens" concept
2026-01-07 17:33:06 -08:00
Steven Casper
52e0f78706
byteSwapAllFieldsAligned: use std.mem.Alignment API ( #30724 )
...
Following up on #30571
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30724
Reviewed-by: Andrew Kelley <andrew@ziglang.org >
Co-authored-by: Steven Casper <sebastiancasper3@gmail.com >
Co-committed-by: Steven Casper <sebastiancasper3@gmail.com >
2026-01-08 00:44:08 +01:00
Frank Denis
cd8f0aa4ca
Add signerWithBaseNonce
2026-01-07 23:02:46 +01:00
Frank Denis
22380c78b1
crypto.ed25519.Signer: get an std.io parameter rather than entropy
...
This is consistent with what all other similar functions now do,
and is less dangerous.
2026-01-07 23:02:24 +01:00
Frank Denis
3ee092536e
Allow the salt to be passed as a parameter in bcrypt
2026-01-07 22:44:37 +01:00
Frank Denis
4a29a6e432
Add scrypt.createWithSalt
2026-01-07 23:14:37 +01:00