Matthew Lugg
8eefe86939
std: remove default values from ArrayList
...
These were deprecated in the 0.14.0 release cycle almost a year ago, so
they can definitely be deleted now.
2026-03-10 10:26:08 +00:00
hemisputnik
99229ceb55
std.Io.{Writer|Duration}: move duration formatting to a format method
...
Remove the `{D}` format specifier. It is moved into `std.Io.Duration` as
a format method.
Migration plan:
```diff
-writer.print("{D}", .{ns});
+writer.print("{f}", .{std.Io.Duration{ .nanoseconds = ns }});
```
All instances where `{D}` was used have been changed to use
`std.Io.Duration` and `{f}`.
Fixes #31281
2026-02-28 02:46:04 +01:00
Andrew Kelley
922ab8b8bc
std: finish moving time to Io interface
...
Importantly, adds ability to get Clock resolution, which may be zero.
This allows error.Unexpected and error.ClockUnsupported to be removed
from timeout and clock reading error sets.
2026-02-02 23:02:31 -08:00
Ryan Liptak
05346e123b
Add process.Child.Cwd, use it for cwd and remove cwd_dir field
...
The user must now explicitly choose between inheriting the current CWD, passing a path for the CWD, or passing a Dir for the CWD.
2026-02-02 01:41:35 -08:00
Matthew Lugg
f8828e543a
std.Build: fully upgrade Step.Run to std.Io timing (and fix a typo)
2026-01-30 22:03:14 -08:00
Andrew Kelley
6a1fd3c69d
std.Io.File.MultiReader: make checkAnyError exclude EndOfStream
2026-01-30 22:03:14 -08:00
Andrew Kelley
efa502a1cd
std.Build.Step.Run: gracefully handle test runner misbehavior
...
specifically if it misbehaves after sending a message header but not the
body
2026-01-30 22:03:14 -08:00
Andrew Kelley
523aa213c9
std.Io.Threaded: batchWait and batchCancel for Windows
2026-01-30 22:03:14 -08:00
Andrew Kelley
e56563ce3f
std.Io.File.MultiReader: implementation fixes
2026-01-30 22:03:14 -08:00
Andrew Kelley
12cfc96e1b
std: update rest of build runner to new File.MultiReader API
2026-01-30 22:03:14 -08:00
Pablo Alessandro Santos Hugen
ad0458f582
std.Build: Fix wrong error enum
...
Signed-off-by: Pablo Alessandro Santos Hugen <phugen@redhat.com >
2026-01-30 06:19:49 +01:00
Andrew Kelley
81a35a86ea
std.Io: introduce random and randomSecure
...
and use a thread-local CSPRNG for the former.
2026-01-07 11:03:36 -08:00
Andrew Kelley
2fee64ceb0
update init template for new main API
2026-01-04 00:27:09 -08:00
Andrew Kelley
1070c2a71a
rename env_map to environ_map
...
For naming consistency with `std.process.Environ.Map`.
2026-01-04 00:27:09 -08:00
Andrew Kelley
e149c0e2aa
std.Build.Step.Run: fix wrong environment passed
2026-01-04 00:27:08 -08:00
Andrew Kelley
af164b3f3c
std.Build.Step.Run: no need to sort the environment
...
since we now use ArrayHashMap, the order is deterministic, and in fact,
observable by applications.
2026-01-04 00:27:08 -08:00
Andrew Kelley
08447ca47e
std.fs.path: make relative a pure function
...
Instead of querying the operating system for current working directory
and environment variables, this function now accepts those things as
inputs.
2026-01-04 00:27:08 -08:00
Andrew Kelley
32af0f6154
std: move child process APIs to std.Io
...
this gets the build runner compiling again on linux
this work is incomplete; it only moves code around so that environment
variables can be wrangled properly. a future commit will need to audit
the cancelation and error handling of this moved logic.
2026-01-04 00:27:08 -08:00
Andrew Kelley
d6a1e73142
std: start wrangling environment variables and process args
...
this commit is unfinished. It marks a spot where I wanted to start
moving child process stuff below the std.Io.VTable
2026-01-04 00:27:07 -08:00
Matthew Lugg
d024d9f005
std.Build: crashes in the test runner are fatal errors
2026-01-03 14:52:11 +00:00
Andrew Kelley
a8088306f6
std: rename other Dir "make" functions to "create"
2025-12-23 22:15:11 -08:00
Andrew Kelley
608145c2f0
fix more fallout from locking stderr
2025-12-23 22:15:10 -08:00
Andrew Kelley
1925e0319f
update lockStderrWriter sites
...
use the application's Io implementation where possible. This correctly
makes writing to stderr cancelable, fallible, and participate in the
application's event loop. It also removes one more hard-coded
dependency on a secondary Io implementation.
2025-12-23 22:15:09 -08:00
Andrew Kelley
c4cefd6835
std.Build.Step.Run: restore Color.inherit logic
2025-12-23 22:15:09 -08:00
Andrew Kelley
b042e93522
std: update tty config references in the build system
2025-12-23 22:15:09 -08:00
Andrew Kelley
4a53e5b0b4
fix a handful of compilation errors related to std.fs migration
2025-12-23 22:15:08 -08:00
Andrew Kelley
ebdbbd20ac
update makeDir() sites to specify permissions
2025-12-23 22:15:08 -08:00
Andrew Kelley
4be8be1d2b
update all rename() to rename(io)
2025-12-23 22:15:08 -08:00
Andrew Kelley
4218344dd3
std.Build.Cache: remove readSmallFile and writeSmallFile
...
These were to support optimizations involving detecting when to avoid
calling into LLD, which are no longer implemented.
2025-12-23 22:15:08 -08:00
Andrew Kelley
950d18ef69
update all access() to access(io)
2025-12-23 22:15:08 -08:00
Andrew Kelley
9ccd68de0b
std: move abort and exit from posix into process
...
and delete the unit tests that called fork()
no forking allowed in the std lib, including unit tests, except to implement child process spawning.
2025-12-23 22:15:08 -08:00
Andrew Kelley
f53248a409
update all std.fs.cwd() to std.Io.Dir.cwd()
2025-12-23 22:15:08 -08:00
Andrew Kelley
8328de24f1
update all occurrences of openFile to receive an io instance
2025-12-23 22:15:08 -08:00
Andrew Kelley
3204fb7569
update all occurrences of std.fs.File to std.Io.File
2025-12-23 22:15:07 -08:00
Andrew Kelley
aafddc2ea1
update all occurrences of close() to close(io)
2025-12-23 22:15:07 -08:00
Alex Rønne Petersen
aa0249d74e
Merge pull request 'std.ascii: rename indexOf functions to find' ( #30101 ) from adria/zig:indexof-find into master
...
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/30101
Reviewed-by: Andrew Kelley <andrewrk@noreply.codeberg.org >
Reviewed-by: mlugg <mlugg@noreply.codeberg.org >
2025-12-22 12:50:46 +01:00
Adrià Arrufat
02c5f05e2f
std: replace usages of std.mem.indexOf with std.mem.find
2025-12-05 14:31:27 +01:00
Linus Groh
39fa831947
std: Remove a handful of things deprecated during the 0.15 release cycle
...
- std.Build.Step.Compile.root_module mutators -> std.Build.Module
- std.Build.Step.Compile.want_lto -> std.Build.Step.Compile.lto
- std.Build.Step.ConfigHeader.getOutput -> std.Build.Step.ConfigHeader.getOutputFile
- std.Build.Step.Run.max_stdio_size -> std.Build.Step.Run.stdio_limit
- std.enums.nameCast -> @field(E, tag_name) / @field(E, @tagName(tag))
- std.Io.tty.detectConfig -> std.Io.tty.Config.detect
- std.mem.trimLeft -> std.mem.trimStart
- std.mem.trimRight -> std.mem.trimEnd
- std.meta.intToEnum -> std.enums.fromInt
- std.meta.TagPayload -> @FieldType(U, @tagName(tag))
- std.meta.TagPayloadByName -> @FieldType(U, tag_name)
2025-11-27 20:17:04 +00: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
Benjamin Jurk
4b5351bc0d
update deprecated ArrayListUnmanaged usage ( #25958 )
2025-11-20 14:46:23 -08:00
Matthew Lugg
bc524a2b1a
std.Build: fix crashes running fuzz tests
2025-11-20 10:42:21 +00:00
Alex Rønne Petersen
e09ba67161
std.Build.Step.Run: read/write messages as little endian
2025-11-19 01:42:45 +01:00
Matthew Lugg
c6b5945356
std.Build: don't force all children to inherit color option
...
The build runner was previously forcing child processes to have their
stderr colorization match the build runner by setting `CLICOLOR_FORCE`
or `NO_COLOR`. This is a nice idea in some cases---for instance a simple
`Run` step which we just expect to exit with code 0 and whose stderr is
not being programmatically inspected---but is a bad idea in others, for
instance if there is a check on stderr or if stderr is captured, in
which case forcing color on the child could cause checks to fail.
Instead, this commit adds a field to `std.Build.Step.Run` which
specifies a behavior for the build runner to employ in terms of
assigning the `CLICOLOR_FORCE` and `NO_COLOR` environment variables. The
default behavior is to set `CLICOLOR_FORCE` if the build runner's output
is colorized and the step's stderr is not captured, and to set
`NO_COLOR` otherwise. Alternatively, colors can be always enabled,
always disabled, always match the build runner, or the environment
variables can be left untouched so they can be manually controlled
through `env_map`.
Notably, this fixes a failure when running `zig build test-cli` in a
TTY (or with colors explicitly enabled). GitHub CI hadn't caught this
because it does not request color, but Codeberg CI now does, and we were
seeing a failure in the `zig init` test because the actual output had
color escape codes in it due to 6d280dc .
2025-11-14 21:50:24 +01:00
Ryan Liptak
e0898f4e05
Step.Run: Fix for convertPathArg when cwd and path args are on different drives
...
Fixes #25805
2025-11-06 03:40:33 -08:00
Matthew Lugg
0dde70ef76
std.Build: fix '--webui' crash
...
Using '--webui' without '--time-report' when there are Run steps in the
graph was regressed by https://github.com/ziglang/zig/pull/25029 .
2025-10-30 09:31:30 +00:00
Andrew Kelley
47aa5a70a5
std: updating to std.Io interface
...
got the build runner compiling
2025-10-29 06:20:48 -07:00
Matthew Lugg
50056a5b3a
compiler: rename --test-timeout-ms to --test-timeout
...
The unit can now be specified in the argument.
2025-10-18 09:28:43 +01:00
mlugg
a7251e4191
ci: bump unit test timeouts
2025-10-18 09:28:43 +01:00
mlugg
a388a8e5a7
std.Build: separate errors from failed commands
...
Recording the command in a separate field will give the build runner
more freedom to choose how and when the command should be printed.
2025-10-18 09:28:42 +01:00